Введение
Проект VLSI был программой DARPA, инициированной Робертом Каном в 1978 году, которая предоставляла финансирование для исследований широкому кругу университетских групп с целью улучшения современного уровня в области разработки микропроцессоров, тогда известной как интеграция сверхбольшой степени (Very Large Scale Integration, VLSI). Проект VLSI является одним из самых влиятельных исследовательских проектов в современной истории вычислительной техники. Среди его результатов – Berkeley Software Distribution (BSD) Unix, концепция процессора с упрощенным набором команд (RISC), множество инструментов автоматизированного проектирования (CAD), используемых и сегодня, 32-битные графические рабочие станции, компании, специализирующиеся на разработке и производстве полупроводников без собственного производства, а также собственное производство полупроводников (fab) MOSIS, запущенное в 1981 году. Похожий проект DARPA, реализованный в партнерстве с промышленностью, VHSIC, оказал незначительное или вообще никакого влияния. Проект VLSI сыграл ключевую роль в распространении революции Мида и Конвея в промышленности.
Новые правила проектирования
В 1975 году Карвер Мид, Том Эверхарт и Иван Сазерленд из Калифорнийского технологического института написали доклад для ARPA на тему микроэлектроники. За последние несколько лет Мид ввел термин «закон Мура», чтобы описать предсказание Гордона Мура 1965 года о темпах роста сложности, а в 1974 году Роберт Деннард из IBM отметил, что уменьшение масштаба, лежащее в основе закона Мура, также влияло на производительность систем. Эти совместные эффекты подразумевали, что в отрасли вскоре произойдет резкий скачок вычислительной мощности. В докладе, опубликованном в 1976 году, предлагалось, чтобы ARPA финансировала разработки в ряде областей для решения проблем, связанных со сложностью, которая должна была возникнуть в связи с этими «сверхбольшими интегральными схемами». Позже в том же году Сазерленд написал письмо своему брату Берту, который в то время работал в Xerox PARC. Он предложил совместную работу между PARC и Caltech для изучения этих вопросов. Берт согласился сформировать команду, пригласив Линн Конвей и Дага Фейрберна присоединиться. Ранее Конвей работала в IBM над проектом суперкомпьютера, известного как ACS 1. После изучения заметок Мида Конвей поняла, что быстрое масштабирование CMOS позволит ему превзойти более быстрые системы ECL, используемые в более крупных системах, по мере уменьшения размеров элементов и вступления в силу прогнозов Деннарда о скорости. Это также подразумевало, что весь мейнфрейм ACS 1 однажды поместится на одном чипе. В 1976 году Сазерленд и Мид опубликовали статью в Scientific American о проблемах, связанных с новой сложностью. В то время разработка микропроцессоров достигла плато на уровне 100 000 транзисторов, поскольку инструменты, доступные разработчикам, просто не могли справиться с более сложными конструкциями. На рынок выходили 16-битные и 16/32-битные модели, но дальнейшее развитие казалось слишком сложным и дорогим. Мид и Конвей считали, что нет теоретических проблем, препятствующих прогрессу, а лишь ряд практических, и приступили к их решению, чтобы сделать возможными гораздо более сложные конструкции. Проще говоря, решение заключалось в упрощении всего, изобретении новых практических правил для разработчиков и применении компьютеров для решения более масштабных задач. Этому процессу способствовало недавнее внедрение логики NMOS с каналом обеднения, которое значительно упростило концептуальную модель активных элементов. Середина 1970-х годов была периодом быстрых изменений, когда новые процессы внедрялись в различных компаниях быстрыми темпами. Каждый новый процесс приводил к набору правил проектирования, который часто насчитывал 40 страниц. Они включали в себя такие детали, как «не размещайте параллельные линии на слое металлизации (MET) ближе, чем на 2 микрометра друг к другу». Для каждого слоя были разработаны десятки таких правил, чтобы добиться максимальной производительности. В начале 1977 года Конвей начала разрабатывать новый набор полностью универсальных правил. Они не обеспечивали бы максимальную производительность для любой конкретной системы, но ее идея заключалась в том, что это значительно сократит время проектирования, что позволит адаптировать их к новым технологиям производства с минимальными или нулевыми изменениями, и такой шаг принесет во много раз больше преимуществ в производительности, чем использование всех опубликованных приемов существующих правил. Начиная с трех цветных маркеров для доски, представляющих каждый тип слоев – MET, POLY, DIFF, Конвей разработала набор правил проектирования, которые работали на каждом текущем процессе. Дальнейшая разработка привела к пониманию того, что все размеры можно выразить как кратные некоторому фундаментальному минимальному размеру элемента, достижимому с использованием этого процесса, который стал известен как λ (греческая буква лямбда). λ была установлена равной половине минимальной ширины линии POLY или DIFF, и правила выражались в этих терминах: «линия должна быть шириной два λ», «две линии на одном слое должны быть на расстоянии не менее трех λ», «линии на разных слоях должны быть на расстоянии один λ» и так далее. В результате получился короткий набор правил проектирования, применимых в любом масштабе. Конвей позже отметила: «Я отчетливо помню, как челюсть Мида отвисла тем весенним утром 1977 года, когда я представила свою стратегию правил на основе λ на своей доске в PARC».
Интернет-процесс
Одной из основных задач в рамках VLSI было создание аппаратного и программного обеспечения, необходимого для автоматизации процесса проектирования, который к тому времени оставался преимущественно ручным. Для проекта, содержащего сотни тысяч транзисторов, не существовало машины, кроме суперкомпьютера, обладающей достаточной памятью и производительностью для работы с проектом в целом. Чтобы решить эту проблему и сделать автоматизированные инструменты доступными для "средних" компаний, VLSI профинансировала проекты Geometry Engine и Pixel Planes в Стэнфордском университете и Университете Северной Каролины в Чапел-Хилл (соответственно) для создания подходящего графического оборудования настольного уровня. Первый из них развился в попытку создать сетевую CAD-рабочую станцию, известную как Stanford University Network. Сегодня она более известна под аббревиатурой SUN, как в Sun Microsystems, которая коммерциализировала эту разработку. Для обеспечения общей программной платформы для работы с этими новыми инструментами VLSI также профинансировала проект в Беркли по созданию стандартизированной реализации Unix, известной сегодня как Berkeley Software Distribution (BSD). Почти все ранние рабочие станции использовали BSD, включая разработки, которые привели к созданию Sun, SGI, Apollo Computer и других. BSD впоследствии породила несколько производных дистрибутивов: OpenBSD, FreeBSD, NetBSD и DragonFlyBSD. Программное обеспечение CAD было важной частью усилий VLSI, что привело к существенным улучшениям в технологиях CAD для трассировки, проверки правил проектирования и моделирования. Инструменты, разработанные в рамках этой программы, широко использовались как в академических исследованиях, так и в промышленности. Компании VLSI Technology, Cadnetix и Synopsis разработали коммерческие реализации этих идей. Благодаря этим инструментам другие проекты, финансируемые VLSI, смогли добиться значительного прогресса в сложности проектирования, положив начало RISC-революции. Два основных проекта, связанных с VLSI, — Berkeley RISC и Stanford MIPS, оба из которых в значительной степени опирались на инструменты, разработанные в предыдущих проектах VLSI. Чтобы проектные команды могли создавать тестовые образцы, проект также профинансировал строительство собственного производственного предприятия MOSIS (Metal Oxide Semiconductor Implementation Service), которое получало проектную документацию в электронном виде. MOSIS продолжает функционировать и сегодня. Важной частью производственного процесса MOSIS стала разработка многочиповых пластин, позволяющих использовать одну кремниевую пластину для одновременного производства нескольких проектов чипов. Ранее пластина обычно использовалась для производства одного проекта, что означало наличие определенного минимального объема производства для начала. В отличие от этого, многочиповая пластина позволяла изготовить небольшую партию дизайна чипа в рамках более крупного производственного цикла, значительно снижая затраты на запуск и этап прототипирования.