У 1980-х, в той час як індустрія переживала бум домашніх комп'ютерів, в науковій частині галузі відбувалися інші не менш захоплюючі події.
Загальновідомо, що інтернет був придуманий в Агентстві з перспективних оборонних науково-дослідних розробок США (DARPA), однак це не єдиний проект DARPA, що зробив сильний вплив на всю індустрію. VLSI Project якраз з таких розробок: його відносно мала популярність просто непорівнянна з його важливістю. VLSI розшифровується як Very-large-scale integration - надвелика інтегральна схема, або НВІС. На початку вісімдесятих все йшло до переходу на такі схеми, але при їх розробці інженери зіткнулися з серйозними проблемами.
З ростом числа транзисторів, що вміщується на кристалі інтегральної схеми, проектувати процесори ставало все складніше, і, коли число транзисторів стало перевищувати сотню тисяч, старі методи почали приводити до появи помилок. Був потрібен новий спосіб проектування, і навряд чи когось здивує, що рішення полягало у використанні комп'ютера.
Професор Каліфорнійського технологічного інституту Карвер Мід і програміст з лабораторії Xerox PARC Лін Конвей запропонували створити систему автоматизованого проектування (САПР), яка б допомагала робити процесори фактично будь-якої складності. На той момент для роботи з такою програмою знадобився б суперкомп'ютер. так що DARPA довелося профінансувати не тільки створення САПР, але і все навколо: розробку робочих станцій і навіть операційної системи. Пізніше з цих проектів виростуть фірми Sun Microsystems і Silicon Graphics. а в якості ОС буде створена нова гілка UNIX - Berkley Distribution Software (BSD).
Мід і Конвей вважали, що якщо розробка процесорів буде краще автоматизована, то робити їх зможуть невеликі фірми або навіть студенти в ході навчання. Ідея виявилася не тільки вірною, але і дуже вдалою: за допомогою нових інструментів процесори стало набагато легше проектувати і з'явилася можливість робити це у відриві від виробництва. Мало того, новий софт дозволив виявити досі приховані особливості будови процесорів.
Ранні восьмібітних процесори начебто Intel 8080 або Motorola 6800 вміли виконувати лише кілька простих інструкцій. Наприклад, не було спеціальної інструкції для перемноження чисел, це дія вимагало декількох процесорних команд - зсувів і додавань. Такий підхід здається незручним, і тому рішення додати більш ємкі інструкції було інтуїтивним.
Вважалося до того ж, що операції, втілені безпосередньо в залозі, будуть виконуватися набагато швидше, ніж виконані у вигляді програм. Так що в наступних розробках творці процесорів стали додавати підтримку все нових і нових інструкцій. Множення двох чисел, наприклад, перетворилося в одну команду, зате пристрій мікросхеми ускладнилося, оскільки стало включати в себе окрему підсистему, призначену для множення. Так з'явилися процесори з комплексним набором команд. До цього сімейства ставляться і наступні чіпи Intel. і інші процесори, які користувалися популярністю в 1980-і роки.
Не сказати, що у комплексного набору команд немає своїх достоїнств, але за них довелося заплатити хорошу ціну. Якщо перші процесори за один тик генератора тактової частоти виконували одну просту інструкцію, то більш складні інструкції стали вимагати по кілька тактів.
В рамках все того ж проекту VSLI професор Каліфорнійського університету в Берклі Девід Паттерсон провів дослідження, в ході якого намацав інший підхід до процесоробудування, який він назвав RISC. З'ясувалося, що якщо обмежити набір інструкцій лише тими, які можуть бути виконані за один такт, то можна збільшити швидкість їх виконання і таким чином підвищити загальну продуктивність. Життєва логіка підказує, що такого бути не повинно: програми адже виходять довше! Але коли мова йде про системи із сотень тисяч компонентів, життєва логіка може відпочити, а вірну відповідь дадуть моделювання та симуляція.
Заодно Паттерсон вдалося значно знизити вплив «пляшкового горлечка» фон-неймановской архітектури - повільного каналу між процесором і оперативною пам'яттю. RISC відрізняється великим числом регістрів, ніж CISC, і це дозволяє рідше звертатися до оперативної пам'яті - особливо якщо програма пропущена через оптимізуючий компілятор і вигідно використовує ресурси. Ще краще такий підхід працює в багатоядерних або багатопроцесорних системах, де до однієї і тієї ж пам'яті звертаються кілька обчислювачів. Чим рідше вони це роблять, тим рідше кожному з них доводиться чекати своєї черги і, відповідно, тим більше приріст продуктивності.