Выработка концепции и проектирование высокопроизводительного микропроцессора - это настоящее приключение из области компьютерной инженерии. Тем не менее, дорога в неизвестность и в новые технологии вполне хорошо проторена. Своим опытом делятся разработчики микропроцессора Alpha.

Тем, кому хотя бы раз приходилось участвовать в крупных проектах, знает, что это можно сравнить разве что с бешеной гонкой на «русских горках». Поначалу все испытывают лихорадочное нетерпение - а нередко и раздражение - пока проект не стронется с места. Затем темп работы заметно вырастает, и участники группы осознают, что назад дороги нет. В середине пути движение становится более плавным, организационный механизм «выходит на режим», и перспективы просматриваются как нельзя яснее. И, наконец, путешествие подходит к концу, впереди виднеется посадочная полоса. Темпы стремительно растут и коллеги оказываются лицом к лицу с неотвратимым - необходимостью завершать работу.

Проектные группы, ныне входящие в состав корпорации Compaq Computer, разрабатывали и выпускали микропроцессоры около 20 лет. В течение последних 10 лет они работали над процессорами Alpha, всякий раз ставя перед собой цель поддерживать лучшую в отрасли производительность в каждом поколении устройств. В процессе этой деятельности была создана и схема организации работы, позволяющая добиваться поставленной цели.

По мере развития технологии изменялась и эта схема. Группы становились крупнее и сложнее. Траектория проектов видоизменялась со временем, с тем, чтобы соответствовать техническим условиям и требованиям рынка, однако цель оставалась прежней - создание микропроцессоров, первая пробная партия которых уже могла бы работать.

Разработка микропроцессоров Alpha состоит более чем из десятка этапов, которые в значительной степени перекрывают один другого. Некоторые могут выполняться параллельно. Тем не менее, сравнение хода работы над проектом с траекторией полета вполне обосновано. Правда, в отличие от ракеты, проект, двигаясь по своей траектории, наращивает массу. Однако в целом аналогия верна.

Выработка концепции проекта

В самом начале работы над проектом небольшая группа, состоящая из старших технических специалистов и специалистов по маркетингу, проводит обзор рынка, анализирует текущее состояние научно-исследовательских работ, планы конкурентов и основные направления развития технологии. Эта группа определяет основные целевые характеристики нового микропроцессора и оптимальный набор функций. Задача этой группы очень непроста, поскольку им приходится иметь дело с движущейся мишенью - рынком. Между первым этапом разработки - планированием - и моментом, когда потребители получат реальный процессор, может пройти до пяти лет. Прогнозирование состояния рынка нередко имеет гораздо больше общего с гаданием на кофейной гуще, нежели с научной дисциплиной. Будут ли через пять лет процессоры для крупных серверов принципиально отличаться от процессоров для персональных систем? Какая будет требоваться рабочая нагрузка? Станут ли системы распознавания речи основными компонентами настольных систем? Или главное, что будет требоваться пользователям таких компьютеров, - анимация в реальном времени? Как важны будут многопроцессорные платформы? И что, наконец, вообще понадобится клиентам?

Из года в год организации направляют инженеров, исследователей и руководителей на десятки конференций, семинаров и рабочих групп. Большая часть полученной на этих мероприятиях информации включается в требования и характеристики нового поколения процессоров.

Уровень конкуренции на рынке микропроцессоров чрезвычайно высок. Клиентам нужно знать направления развития микропроцессоров, которые они планируют покупать. Тяга к самой свежей информации, конкуренция между группами разработчиков за присутствие на рынке и даже за квалифицированные кадры, удивительным образом побуждают компании рассуждать о продуктах, которые должны появиться только через несколько лет. Это имеет весьма полезный побочный эффект - оно замыкает петлю обратной связи. Закон Мура работает, потому что так утверждают производители полупроводников. Если, например, компания «АтасКомпьютерс» заявит, что через четыре года поставит свой процессор «SuperAtas» VX90, с которым производительность настольных компьютеров станет ни много ни мало 4,000 триллионов Mips, - можно не сомневаться, что руководство хотя бы той же Compaq потребует от разработчиков ответа, что они собираются предпринимать перед лицом такой угрозы.

И, наконец, полупроводниковая отрасль регулярно выдает свои собственные прогнозы. Эти прогнозы, которые влияют на размер матрицы, размер подложки, расходы на производство, производительность и функции устройств, характеристики межсоединений, а также ряд других технических и финансовых показателей, служат руководством для производителей оборудования.

Кроме того, они служат ориентирами при планировании продуктов. Кривая развития технологии определяет (или хотя бы предполагает)какое сырье и комплектующие понадобятся для выпуска того или иного продукта. В конце этого этапа, проект приобретает вид, более или менее похожий на разумную инструкцию. Группа, занятая выработкой концепции продукта, формулирует задание на проектирование, перечисляет целевые рынки, предлагает желательные технологические возможности и ресурсы и (разумеется) показатели производительности и функциональные возможности. Большинство сотрудников, участвовавших в выработке концепции продукта, работали в группах проектирования процессоров Alpha в качестве специалистов по проектированию схем, архитектуре, анализу рынка и входили в состав научно-исследовательских групп. Богатый опыт имеет здесь решающее значение, поскольку только он позволяет соблюсти баланс между тенденциями рынка, доступными технологиями и сроками создания готового решения.

Разведка территории проектирования

Когда первая группа закончила работу, формируется следующая, архитектурная группа, которая будет вырабатывать организационную форму проекта. Она должна дать ответы на следующие вопросы. Как наилучшим образом использовать ограниченную площадь кристалла для реализации требований к продукту? Как много будет в нем функциональных модулей? Как велика будет память на плате? Какие правила, структуры и алгоритмы в наибольшей степени будут использовать ресурсы процессора?

На начальной стадии этой работы группа сравнительно невелика - не более пяти-шести специалистов. Однако они пользуются помощью более многочисленных групп разработки и научно-исследовательских коллективов, а также содействием исследовательских центров Compaq. Они работают параллельно с группой выработки концепции проекта (а некоторые специалисты являются членами обеих групп).

Архитектурная группа тестирует многочисленные коммерческие и новые, разработанные ими концепции на функциональной модели. Эта модель представляет собой высокоуровневую имитацию, компоненты которой - основные рассматириваемые структуры и функции. Разработка архитектуры и поддержка этой модели - это, по существу, самостоятельный полноценный проект. Но анализ с использованием этой модели на дает ответа на все вопросы. Большая часть исследований на этом этапе происходит на системных платах, технических конференциях и обсуждениях со специалистами по разработке схем. В числе основных аспектов, требующих прояснения, например, количество модулей целочисленной обработки, которые должен иметь новый процессор. Аналогичный вопрос - сколько нужно модулей обработки операций с плавающей точкой и портов памяти, или как должен быть устроен конвейер. Когда ответы на эти вопросы получены, группа приступает к созданию этажного плана, топографической блок-схемы процессора.

Результатом этой работы становится полная модель работы процессора и ясная картина его структуры на уровне модулей. Эта информация подлежит фиксации в виде различных документов - спецификаций модулей, функциональных схем, диаграмм, таблиц, пояснительных записок и определений интерфейса. На этом этапе архитектурная группа подразделяет процессор на «блоки». Каждый блок выполняет определенную функцию. Например, простейший процессор может состоять из блока IBox, функцией которого является вызов и синтаксический разбор инструкций, EBox, которые выполняет целочисленные операции, FBox - для выпонения операций с плавающей точкой и MBox, на который возложено выполнение операций работы с памятью. Разделив процессор на такие «зоны ответственности», архитектурная группа проделывает то же самое с самой собой. Результатом такого распределения «ролей» и выделения под них самостоятельных коллективов становится формирование группы проектирования схем, макета и проверки. Каждый блок «получает» своих специалистов, ответственных за разработку, проектирование и тестирование. Подобное разделение больших групп на более мелкие подгруппы имеет решающее значение для того, чтобы сохранить работоспособность при растущей сложности проектов. Разделение процессора на блоки создает интерфейсные ограничения. Если выбор оказался недостаточно удачным или области ответственности каждого блока недостаточно хорошо определены, эти зоны соприкосновения становятся настоящим рассадником ошибок. Распределение специалистов по конкретным блокам также представляет собой любопытную управленческую задачу: необходимо связать людей, обладающих бесконечно разнообразными интересами, опытом и темпераментами, с характеристиками, сложностью и масштабом каждого блока.

Разделение процессора на блоки создает структуру, опираясь на которую можно разрешить глобальные архитектурные вопросы. Разумеется, попутно формируется почва для, как правило, здорового соперничества между группами и периодических дискуссий по поводу пересекающихся требований и возможных будущих конфликтов. Например, реализация функции направления потока операционным блоком может потребовать поддержки блока вызова инструкций. Группа, занимающаяся последним, имеет перед собой вполне определенные цели и видит, каких промежуточных результатов требуется достичь, дабы успешно справиться со всей работой. Если реализовывая новую функцию эта группа рискует не получить желаемого результата, у ее специалистов возникает справедливое стремление сбалансировать свои риска с рисками группы, занимающейся операционным блоком. В большинстве случаев подобные конфликты улаживаются путем разумных обсуждений на равных, путем обмена электронной почтой, корректировки графиков. Можно прибегнуть при этом к анализу моделей, что занимает иногда часы, иногда дни, или к общим дискуссиям, атмосфера которых бывает что и накаляется.

Как правило, член архитектурной группы имеет научную степень в области компьютерного проектирования. Они могут обладать различным опытом, но в большинстве своем либо имеют опыт работы в области проектирования схем, верификации или разрабтке системной архитектуры в промышленности, либо степень доктора компьютерных наук.

Разработка технологии и спецификация процесса производства

В то время, как группа, занятая проектированием, вырабатывает свои требования, архитектурная группа создает организационную схему проекта
Группы, занимающиеся разработокой технологии и процессов, приступают к работе нередко еще до того, как начинается деятельность по определению концепции продукта. Они проектируют новые «корпуса» реальных микропроцессорных схем. Кроме того, они взаимодействуют с производителями для выработки новых процессов производства, как правило основанных на технологии КМОП. Цель этой работы состоит в том, чтобы обеспечить если не готовость, то по крайней мере продуманность технологии производства, к моменту создания первого прототипа нового процессора.

Хотя Alpha Design Group корпорации Compaq придерживается безфабричной модели (при которой компания не имеет своих мощностей или «фабрик» по производству микропроцессоров), производители редко предлагают полностью специфицированный процесс, который можно было бы принять в предлагаемом виде, или отказаться от него. Реальный процесс для произоводства процессоров Alpha становится плодом сотрудничества проектировщиков схем, технологической группы Compaq и производственных процессоров. Разработка спецификаций процесса производства сопровождает практически весь процесс проектирования и не завершается даже после начала поставок процессора.

Технологическая группа собирает требования проектировщиков схем, специалистов по архитектуре и менеджеров по продукту. Она рассматривает результаты исследований как своих групп, так и независимых коллективов. Они выпускают серии документов, описывающих процесс все более и более подробно, и, наконец, приходят к набору технологических спецификаций и низкоуровневых правил проектирования. То есть, издается документ, определяющий диэлектрические постоянные всех изолирующих слоев, номинальную толщину каждого слоя проводника, сопротивление и емкости межсоединений процессора и характеристики транзисторов. Эти технологические спецификации определяют рамки процесса, к примеру, минимальное расстояние между проводниками и их толщину в каждом слое или минимальное расстояние между транизсторами. Эти детали фиксируются в технологическом томе (как правило, объемом с книгу). Здесь собраны габариты элементов устройства, правила проектирования макета, спецификации, связанные с электричеством, и характеристики тразисторов.

Технологическая группа создается из людей различных профессий, занимающихся теорией материалов, инженеров-электриков, физиков, химиков и специалистов других дисциплин. Они работают с производителями, которые, как правило, обладают большим опытом разработки процессов. (Это взаимодействие значительно облегчается, если заказчик уже не в первый раз «имеет дело» с производителем.)

Анализ выполнимости

На ранней стадии процесса проектирования и параллельно с работами над созданием архитектуры, специалисты по проектированию схем тестируют новые концепции устройства. Например, какой рационально использовать тип элементов постоянной памяти: триггеры или переключатели, зависящие от уровня сигнала? Можно ли создать новые типы схем, опираясь на усовершенствования технологического KMOP-процесса? Реально ли произвести структуры, предложенные архитектурной группой? Анализ выполнимости следуют за выработкой функциональной диаграммы процессора и графиков конвейеров. Как только начинают вырисовываться архитектурные формы кристалла, становится возможным определить критические функции и архитектурные циклы, реализация которых может оказаться затруднена.

Например, структуры переименования на базе регистра часто реализуют такие алгоритмы, в которых результат цикла N зависит от результата цикла N-1. Схема, реализовывающая этот алгоритм должна завершать свою работу в пределах определенного времени цикла. Иногда анализ выполнимости позволяет выявить, что некая структура не может быть реализована средствами доступных технологий и все же соответствует целевому времени цикла.

В другом случае удается подтвердить, что схема соответствует требованиям к длине цикла.

В результате анализа может быть выработано предупреждение, что данная схема может подвергнуть проект риску либо не уложиться в намеченные сроки (может потребоваться больше времени на проектирование, выработку макета или проверку), либо привести к недостаточно надежному результату (надежность нельзя считать гарантированной, пока не будет выпущено несколько тысяч новых процессоров). Если анализ показывает, что архитектурные функции невыполнимы, специалисты по архитектуре возвращаются к этапу работы «на грифельной доске», чтобы предложить достойную альтернативу.

В конце работы по анализу выполнимости, группа, отвечающая за это, должна иметь абсолютно ясную картину основных структур процессора. Кроме того, ее члены становятся отличными экспертами по новой технологии и архитектуре. Эта информация оказывает влияние на авторов руководства по проектированию, которое, как правило, имеет вид руководства (или нескольких руководств), которое проектировщики схем и макета будут использовать при создании чертежей и выработке схематических диаграмм процесса.

Группа, работавшая над анализом выполнимости, формирует костяк группы проектировщиков. Как правило эти люди имеют степени инженеров-электриков или специалистов по проектированию компьютеров. Некоторые из них, правда, могут быть и вчерашними выпусниками, но работать под руководством более опытных специалистов.

Разработка инструментария

С каждым новым поколением процессоров Alpha совершенствуется стиль устройств - группы могут добавлять новые типы схем или осваивать новые правила проектирования. Кроме того, с уменьшением геометрии от 2 нм до менее чем 0,18 нм, физические эффекты второго и третьего порядка (такие, как шум или перекрестные помехи) стали оказывать существенное влияние на характер и даже правильность работы процессоров.

На ранней стадии процесса проектирования и параллельно с работами над созданием архитектуры, проектировщики тестируют новые концепции устройства

Для того, чтобы соответствовать изменяющимся условиям - влиянию новых эффектов и растущей сложности - Compaq прикладывает значительные усилия для разработки новых средств автоматизированного проектирования. Диапазон этих систем весьма широк - от инструментария для генерации схем и макетов до программ проверки правил проектирования как для схем, так и для макетов. Проектирование специализированных высокопроизводительных микропроцессоров требует специализированных наборов инструментов проектирования, большинство которых группы САПР должны создавать сами, либо модифицировать специально для данной работы. За время работы над проектом группа САПР разрабатывет новые инструменты, основанные на проектных предположениях, собственых исследованиях, тенденциях развития отрасли и технологических требованиях.

Как правило, члены группы САПР имеют степени инженеров-электриков или специалистов по проектированию компьютеров или вычислительной технике.

Модель RTL

Перед тем, как приступать к производству процессора, группа должна убедиться, что он действительно будет работать. Уже некоторое время группы проектировщиков опираются на результаты компьютерного моделирования для тестирования своих предложений перед их производством. Однако современные микропроцессоры слишком сложны для того, чтобы создавать их модели на уровне схемы - уровне каждого транзистора или вентиля. Хотя некоторые компоненты подлежат моделированию, весь микропроцессор можно моделировать только с достаточно высоким уровнем абстракции. Даже модели на уровне перемычек слишком медленны для процессоров с миллионами транзисторов.

Поэтому в основном контроль архитектуры состоит в контроле высокоуровневого описания процессора. Это описание служит также в качестве компонента спецификации микропроцессора.

Высокоуровнеове описание имеет вид исполняемой модели передачи на уровне регистра (register-transfer-level - RTL), программы, написанной на языке описания аппаратного обеспечения. RTL описывает каждый разряд состояния процессора и все операции, которые могут происходить в данном состоянии. Она описывает каждый регистр, массив оперативной памяти, сумматор и логический блок. Модель RTL создается архитектурной группой, которой в этом оказывают существенную помощь группа по проектированию схем. Модель становится кульминацией работы группы над функциональными диаграммами, анализом выполнимости, выработкой требований к продукту и исследованию архитектуры.

Когда модель RTL начинает принимать отчетливые очертания, у групп, работающих над проектом, начинает, наконец, создаваться впечатление, что проект обретает некую цельность. Каждому знакомо ощущение, которое испытываешь, когда впервые видишь только что разрекламировнное средство для похудания. Большинство специалистов по архитектуре испытывают нечто подобное, когда модель RTL обрабатывает свою первую программу. Однако до того момента, когда на горизонте замаячит первый реальный процессор - еще могие месяцы работы.

Функциональная проверка

Будучи программой, которая описывает процессор Alpha, модель может выполнять программы для процессора Alpha. Группа, выполняющая фунции контроля, разрабатывает набор инструментов и структуру, в которой создает тестовые программы. Эти программы выполняются на модели RTL, после чего состояние модели RTL сравнивается с состоянием эталонной модели процессора Alpha. Эталонная модель основывается на спецификации процессора и руководстве Alpha System Reference Manual. Большинство эталонных моделей заимствуются из предшествующих проектов, но эталонная модель для каждого нового микропроцессора должна содержать дополнительные инструкции и корректно имитировать зависящее от реализации поведение, которое характерно для нового процессора.

Определенные в соответствии с архитектурой состояния двух моделей должны находиться в идеальном соответствии в каждом такте. Это означает, что модель RTL описывает процессор, который точно исполняет инструкции Alpha.

Кроме того, специалисты по архитектуре используют многие из этих тестов для демонстрации того, что проект схемы соответствует модели RTL. Они выполняют ту же программу на модели RTL, и на имитации схем уровня вентиля. Сравнивая основные сигналы, получаемые в обоих случаях, можно подтвердить, что схемы являются корректным переводом модели RTL.

К сожалению, тестирование ни одной модели не дает исчерпывающего представления о корректности проекта процессора. Поэтому контролирующая группа уделяет особое внимание разработке тестовых программ, которые подвергали бы процессор как можно большему числу испытаний прежде чем будет создан первый реальный кристалл.

Цель функциональной проверки - убедиться с известной степенью уверенности, что модель RTL действительно описывает процессор Alpha. Над этим работает группа, примерно такой же численности, что и архитектурная группа. Она создает инфраструктуру для проведения тестов, отслеживает результаты тестирования, сообщает об ошибках и проверяет собственные заключения. Большинство членов этой группы должны иметь компьютерное образование или быть специалистами по проектированию компьютеров.

Создание схематического проекта

Контролирующая группа уделяет особое внимание разработке тестовых программ, которые подвергали бы процессор как можно большему числу испытаний
Модель RTL обладает достаточно степенью детализации, чтобы описывать процессор для механизма моделирования, но она все еще слишком абстрактна для выработки макета для процессора. Необходим этап перевода - создания схематического проекта - для того, чтобы с проектом могли работать специалисты по созданию физического макета.

Схематические диаграммы, разработанные для процессоров Alpha, как правило описывают как соединения транзисторов, так и относительное положение сигнальных проводников. Группа создания макета должна принять их как руководство. Эти схемы с топографической организацией снижают вероятность того, что проблемы с целостностью сигнала заставят впоследствии вносить исправления в физический макет.

Группа проектирования схем преобразует модель RTL в схематические чертежи. Временами, специалисты по схематическому проекту используют модель RTL за основу. Иногда эта модель отвергается, и вырабатывается структура эквивалентная или лучшая с функциональной точки зрения. В этих случаях архитектурная группа вносит изменения в модель RTL для того, чтобы корректно отразить поведение измененной структуры.

Группы, проектирующие процессоры Alpha, не видят принципиальной разницы между проектом уровня вентиля и проектом уровня транзистора. Специалисты по проектированию схем для описания логических функций могут прибегать к наиболее удобному уровню абстракции.

Опытные специалисты по проектированию схем нередно предлагают такие неожиданные и элегантные решения, которые бывает трудно реализовать при автоматизированном производстве. Группам по проектированию компании Compaq удалось найти золотую середину между преимуществами автоматической генерации и достоинствами проектов, порожденных смелой инженерной мыслью. Именно по этой причине, при создании процессоров Alpha синтезируется большая часть управляющей логики процессора, а большая часть маршрутов передачи данных проектируется вручную. Эффективная быстрая логика передачи данных становится результатом аккуратного планирования межсоединений, настройки размеров компонентов и учета эффектов третьего порядка, которые не «входят в компетенцию» инструментов синтеза. Проектирование марштура передачи данных - это более искусство, нежели наука, поэтому именно с этой задачей лучше может справиться человек, а не машина.

В то время, как проектировщики схем вычерчивают схематические планы, другие специалисты занимаются их проверкой. Кроме того, эти планы подлежат критическому анализу комплекта программ САПР, разработанных специально для того, чтобы выявлять отклонения от принятой практики проектирования. Эти программы также выявляют контура, которые наиболее вероятно могут подвергаться воздействиям внешних эффектов, таких как перекресные помехи.

Растущей уровень сложности - миллионы транзисторов, которые требуется внести в схему, и километры проводников, которые требуется уложить - обуславливают и повышенную численность группы проектирования схем. Она превышает архитектурную группу в два-три раза. Работа по созданию схематического плана занимает примерно треть времени, которое проходит от начала моделирования RTL до поставки трафаретов на производство. По мнению большинства членов этой группы, во время этой работы течение проекта отличается наибольшей плавностью. На этом этапе выявляются проблемы в исходной схеме архитектуры. Они разрешаются в сотрудничестве с архитектурной группой и группой реализации. Как и любое другое сотрудничество, это требует усилий и приносит порой весьма полезные плоды.

ПРОВЕРКА ЛОГИКИ

В процессе функционального контроля участники работы пытаются доказать корректность модели RTL. Но модель RTL переводится (причем нередко переводится людьми) в более детализированное описание. Этот перевод труден и чреват ошибками, поэтому доказательством корректности модели RTL дело не заканчивается. Архитектурная группа отвечает за достоверность перевода из RTL в схемы. Они проверяют соответствие схема за схемой, для каждой разрабатывая модели уровня вентилей и выполняя их параллельно с моделями RTL для той же самой схемы. Одинаковое входное воздействие оказывается как на модель RTL, так и на логические модели. Выходы обеих моделей должны совпадатать с ожидаемой точностью в каждом цикле. Группа разрешает несоответствия, либо внося исправления в схемы, либо в модель RTL. Поскольку модель RTL - это только канва для проектировщика схем, именно она меняется чаще всего, чтобы соответствовать схемам.

Помимо моделирования на уровне RTL и на логическом уровне, Compaq в последнее время все чаще применяет инструменты, которые осуществляют аналитическое сравнение схем и RTL. Такое сравнение может автоматически дать определенное доказательство достоверности перевода из модели RTL.

МАКЕТ

Этап перевода - создания схематического проекта - необходим для того, чтобы с проектом могли работать специалисты по проектированияю физического макета
Хотя схемы вычерчиваются с учетом топографии, они все еще недостаточны для детального описания физического макета процессора.

Когда разработка схем завершена, группа, занимающаяся проектированием макета, приступает к формированию на их основе фактической геометрии кристалла. На практике это означает, что каждый транзистор на каждой схеме вводится в базу данных в виде набора многоугольников - хотя бы девять треугольников, в том случае, если транзистор имеет контакты истока, стока и затвор. В базу данных вносится также и каждый проводник.

В процессе этой работы, каждый элемент макета в базе данных сравнивается со схемой, которую он представляет. Соответствие должно быть стопроцентным. Специалисты Compaq установили, что машинная генерация макета полезна только для некоторых элементов. Для большей части компонентов квалифицированные специалисты создают лучшие, более компактные макеты, причем делают это быстрее.

На выходе этапа проектирования макета - процессор, описанный с максимальным уровнем детализации. После этого макет может быть преобразован в трафареты для производства. Но прежде, на основании макета производятся расчеты емкости и сопротивления для каждого проводника микропроцессора. Они используются в качестве входов на этапе проверки синхронизации и проверки схем.

В наиболее ответственные моменты работы, группа проектирования макета сравнивается по численности с группой проектирования схем. Впрочем, эта численность «макетной» группы меняется даже в течение недели, в зависимости от изменений требований проекта. Члены этой группы должны иметь специальную подготовку по проектированию высокопроизводительных макетов СБИС. Только немногие здесь имеют квалификацию инженеров-электриков, и все имеют опыт решения задач размещения конструкции в пространстве. Специалисты по проектированию макета должны преобразовать схематические описания в оптимальные двумерные конструкции, состоящие из многоугольников ни много ни мало для десяти слоев. Сложные наборы правил (описанные в технологическом томе) задают ограничения на размещение многоугольников друг относительно друга на одном слое и на различных слоях.

ПРОВЕРКА СХЕМ

Продемонстрировать логическое соответствие между схемами и моделью RTL - еще не значит получить гарантии того, что реальная схема будет работать. Контроль логики происходит в пространстве, по законам которого транзисторы либо закрыты, либо открыты, сигналы имеют только два значения: истина - ложь, и электрический ток распространяется с постоянной скоростью. В реальном мире на транзисторах происходит утечка, на сигнал воздействуют шум или другие эффекты, сигналы передаются от блока формирования до блока приема с задержкой.

Когда разработка схем завершена, группа, занимающаяся проектированием макета, приступает к формированию на их основе действительной геометрии кристалла

Специалисты по проектированию схем используют целый набор инструментов САПР специального назначения, разработанных группой САПР корпорации Compaq для контроля поведения сигнала во времени. Для каждой схемы проверяется время отправки сигнала и соответствие времени его реального прибытия ожидаемому времени. Этот инструментарий позволяет также убедиться, что сигналы, испорченные перекрестными помехами по-прежнему выявляются по высокому или, наоброт, низкому уровню, и не приводят к постоянным или временным отказам схемы. Эти инструменты автоматизированного проектирования позаволяют также гарантировать, что процессор рассчитан на тот ток, который будет протекать по нему, что сигналы синхронизации подаются на каждый элемент процессора в пределах допусков для диапазоноа отклонения и учета краевых эффектов, и что каждая схема соответствует принятой практике проектирования. Большинство тестов, проводимых на этом этапе требуют полного описания проводников, которые соединяют транзисторы, поскольку при анализе учитывается сопротивление каждого, а также емкость, образуемая ими с системой заземления или с соседними проводниками. Комплект средств САПР извлекает данные о емкости и сопротивлении из базы данных макета. Эта информация используется при анализе синхронизации (для медленных участков наряду с анализом отклонений), при проверке на влияние перекрестных помех и электромагнитных эффектов.

На этот этап уходит не менее года напряженной работы. Контроль схем происходит параллельно с решением окончательных задач, связанных с макетом, и всеми этапами проверки логики и функционального контроля.

В последние несколько месяцев работы, гонка становится просто безумной. Десятки заданий в десятках областей сливаются, и участники групп вносят постоянные исправления в графики всего проекта и сумятицу в кабинеты, коридоры и конференц-залы. Достаточно представить себе компьютерную лабораторию института за день до сдачи зачета по программированию, чтобы составить представление о том, что происходит за несколько месяцев до представления процессора производственникам.

ПРОИЗВОДСТВО

Группа, занимавшаяся проектированием процессоров, предоставляет результат своих трудов производственной группе только после того, как окончательно уверится в том, что произведенный процессор будет выполнять программы для систем Alpha. Этот шаг является важной вехой для всей проектной группы. От момента передачи до создания первых тестовых экземпляров процессоров может пройти всего три недели. Это время просто необходимо группе проектировщиков, чтобы перевести дух после изматывающей гонки.

ОТЛАДКА

Наконец, подложки - каждая из которых содержит десятки микропроцессоров - выходят с конвейера и поступают на станцию тестирования. По мере того, как группа, проводящая испытания, набирает все больше сведений о проекте, отобранные процессоры компонуются и направляются для прохождения другого набора тестов, и в конечном итоге, они проходят испытания на реальном компьютере. При этом процессор выполняет тысячи тестовых программ, ни одна из которых, пожалуй не отличается такой сложностью, как операционные системы, поддерживаемые процессорами Alpha - OpenVMS, Tru64 Unix, Windows NT и Linux.

Загрузка операционной системы - это следующая важная веха; электронная почта, направляемая прототипной системой извещает, что новый процессор «жив». Каждое поколение процессоров Alpha поддерживало загрузку операционной системы первыми тестовыми экземплярами процессоров. Это достижение составляет предмет особой гордости групп разработчиков Alpha. Это позволяет выполнять большую часть этапа отладки, ориентируясь на операционные системы и используя реальные программные приложения для тестирования проекта. Выявлненные ошибки проекта можно исправить уже во второй или третьей тестовой партии. Для каждой партии повторяются этапы проектирования, создания макета, многочисленные проверки, производства и отладки.

ПОЧЕМУ ЖЕ ВСЕ ВЕРТИТСЯ?

Анонс каждого нового процессора Alpha побуждает всех, кто присутствует на презентациях: руководителей проектов и специалистов по маркетингу, задавать один и тот же вопрос - каким образом получается, что самые высокопроизводительные в отрасли процессоры создает группа проектировщиков из небольшого городка Шросбери штата Массачусетс. Вряд ли кому-нибудь под силу дать полное исчерпывающее объяснение этому, однако можно сделать несколько предположений, перечислить наиболее характерные обстоятельства, выделяющие эту группу из числа многих других.

Технологические факторы

Прежде всего, архитектура набора команд Alpha была в числе новейших представленных наборов RISC-команд. Ей предшествовали как минимум два других предложения, выработанные еще корпорацией Digital Equipment. (Эта компания является прародителем процессоров Alpha. В 1998 году она была куплена корпорацией Compaq Computer.) В этом наборе команд нашел свое отражение опыт других групп по проектированию, работавших как в самой компании, так и в других фирмах. В результате, набор инструкций как нельзя лучше соответствует требованиям высокопроизводительных реализаций. Однако проект набора инструкций ни в коем случае нельзя считать главным фактором успеха. Процессоры Alpha обладают первоклассными компиляторами, и компания инвестирует немалые средства в развитие технологии компиляторов. Группа разработки компиляторов тесно сотрудничает с группой, занятой созданием архитектуры процессоров, для того, чтобы в максимальной степени опираться на возможности устройств нового поколения. Свой вклад в успех делает и взаимодействие с основным потребителем - группой системного проектирования корпорации Compaq. Эта группа создает поле деятельности для подразделений планирования продуктов, управления графиком работ и, разумеется, выработки новых наборов функций.

От момента передачи проекта «производственникам» до создания первых тестовых экземпляров процессоров может пройти всего три недели

С самого начала, группы разработчиков Alpha приложили много усилий к тому, чтобы использовать только самые передовые инструменты и процессы САПР. Руководители верхнего звена отдают себе отчет в том, что проектирование высокопроизводительных процессоров - настолько сложная задача, что требует обеспечение и инструментарий, которые нельзя просто купить на рынке средств автоматизированного проектирования. Группа САПР создает усовершенствованные средства всех уровней - от средств моделирования высокоуровнего аппаратного обеспечения до систем проверки правил проектирования специального назначения. Изощренные инструменты часто требуют искушенных пользователей, но низкая текучесть кадров в группе проектирования аппаратного обеспечения позволяет эффективно использовать эти сложные средства автоматизации проектирования специального назначения.

Культурные факторы

Разумеется, необходимо поддерживать тесные контакты между группами, занимающимися архитектурой, проектированием схем и разработкой базовых технологий. При этом полностью исключается расслоение, и гарантируется корректность при открытых обсуждениях той или иной проблемы. Таким образом формируется рабочая атмосфера, в которой легко находится общий язык и достигаются компромиссы, а, с другой стороны, отлично раскрываются таланты и используется опыт сотрудников.

Группы проектировщиков Alpha всегда отличал трезвый взгляд на развитие технологий. Хотя за последние 10 лет, со времени начала работы над первыми процессорами Alpha, бизнес-модели претерпели радикальные изменения, неизменной оставалась цель - создавать самые быстрые в мире процессоры. Приступая к очередному проекту, группа считала это своей основной задачей. Эта цель приводила к весьма немаловажному побочному результату - снижению стоимости разработки. Побивать очередной рекорд, как правило удавалось... следующему процессору Alpha.

Многие из тех, кто имеет дело с группами разработчиков Alpha, выражали удивление количеством сотрудников со стажем работы в этих группах в восемь, десять и даже пятнадцать лет. Такая сравнительно низкая текучесть кадров позволяет корпорации вкладывать средства в карьерный рост каждого нового члена группы. Гораздо проще объяснить начальству необходимость двух- или трехлетнего повышения квалификации нового сотрудника под руководством опытного наставника, если знать, что вновь принятый на работу сотрудник скорее всего еще долго будет работать в компании. По мере того, как инженеры набираются опыта, они все меньше и меньше нуждаются в придирчивом руководстве. Этим специалистам можно доверить принимать решения самостоятельно. Такая самостоятельность дает сотрудникам возможность осваивать новые сферы приложения своих сил на другом этапе процесса проектирования. Подобно тому, как низкая текучесть кадров способствует совершенствованию обучения, она и помогает квалифицированным специалистам приобретать новые знания. Хотя здесь процесс проектирования рассматривался в виде отдельных этапов, руководство Compaq видит серьезные преимущества в том, чтобы не было раз и навсегда установленной связи между определенными заданиями и конкретными сотрудниками.

Таким образом, специалист может найти себе дело, даже если текущий этап не связан напрямую с его квалификацией. Например, специалист по проектированию схем, может принимать участие в создании модели RTL (считается, что это - работа специалиста по архитектуре) или в разработке инструментария САПР. Специалист по архитектуре может участвовать в разработке схем или помогать при контроле схем. Это не только способствует повышению квалификации каждого сотрудника, но и усиливает связи между группами. В результате, проект вбирает в себя все лучшее, чем обладают члены группы, из знания в области схем, логики, архитектуры и проектирования инструментария.

Пожалуй, наиболее впечатляющим свойством групп, занимающихся проектированием процессоров Alpha, является единство коллективов. Процесс проектирования подкрепляется не только бумажными документами, но и своего рода ритуалами. Опытные специалисты постепенно передают ответственность своим более молодым коллегам.

Проектирование процессора - от создания коллектива до создания кристалла напоминает танец. Танцоры все хорошо знают, как будут двигаться во время следущих тактов, и все же ни один танец не похож на другой. Как бы хорош не был танец сам по себе, истинное совершенство ему придает именно эта неповторимость.

Литература

[1] J. Edmondson and M. Reilly, Performance Simulation of an Alpha Microprocessor, Computer, May 1998, pp. 50-58.

Designing an Alpha Microprocessor, Matt Reilly. IEEE Computer, July 1999, pp.25-34, Reprinted with permission, Copyright IEEE CS, 1999, All rights reserved.