ЦП размером с комнату

При тестировании Pentium Pro, Intel добавил третий этап предварительного тестирования, известный как emulation - эмуляция. Хотя с тех пор он не использовался, это показательно для оценки времени и средств, затрачиваемых на процесс проверки. Эмуляция состоит в построении аппаратной модели чипа из дискретных элементов и создании, дословно, процессора размером с комнату, который присоединятся к стандартному компьютеру, и работает на стандартном программном обеспечении.

"Существует возможность", говорит Budelman, "составить большую стойку перепрограммируемых матриц логических элементов, которую можно запрограммировать так, чтобы она работала подобно настоящему
процессору". Стоившая приблизительно 8 миллионов долларов, эмуляция Pentium Pro, работавшая на тактовой частоте в целых 150 КГц, была присоединена к жесткому диску и подсистеме памяти, и на этой системе запускались большинство современных операционных систем. Хотя загрузка длилась несколько часов, и неделя уходила на перезапуск, это была, по словам Budelman, "самая большая эмуляция процессора на Земле".

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

Если вы нашли ошибку в эмуляции, вы обычно можете перенастроить модель за неделю с небольшими затратами. Если вы нашли ошибку в образце кристалла, требуются 8 недель и 2 миллиона долларов на ее исправление. Intel не эмулировал Pentium II и последующие чипы семейства, но возможно будет эмулировать будущие процессоры.

На подходах к кристаллу

После того, как многомесячное тестирования с помощью RTL, Arcsim и эмуляции показало, что архитектура не содержит просчетов, можно перейти к созданию настоящего кремниевого чипа. Программные тесты настолько основательны, что первый образец кристалла, вышедший из фабрики (fab), всегда работоспособное устройство. "За десять лет", говорит Budelman, "не припомню, чтобы на процессоре не запускалась операционная система в версии кристалла A0" (первая версия чипа, имеющая начальный степпинг, поколение).

Такого стараются избежать всеми силами. Менять готовый кристалл и сложнее и дороже в экспоненциальной прогрессии, чем настраивать программную модель или эмуляцию. Каждый раз, когда обнаруживают ошибку и процессор исправляют, ему присваивают новую двухбуквенную комбинацию. Незначительным степпингам (те, что включают малые изменения) назначают новую цифру, тогда как значительным назначают уже новую букву (например, за A0 следуют A1 и A2, за которыми вдруг могут последовать B1, B2, B3, затем C1 и т.д.)

Тем не менее, в некоторых случаях, Intel может внести изменения в процессор без выпуска нового степпинга. Каждый чип содержит ПЗУ микрокода, постоянную память, которая является переходным звеном между машинной инструкцией и физической схемой чипа. Это позволяет разработчикам процессора легко добавлять новые инструкции без встраивания в чип новых логических схем. Хотя для изменения микрокода обычно требуется и новый степпинг, Intel недавно разработала способ внесения незначительных изменений в микрокод без переработки кристалла. Область ПЗУ микрокода теперь заполнена прерывистыми кусками ОЗУ, которые могут быть перезаписаны на этапе загрузки системы через процедуру BIOS Update (обновление BIOS). Изменение, требовавшее ранее нескольких недель работы и миллионов долларов, теперь можно сделать в течение нескольких дней с небольшими затратами. (Подробнее про обновление микрокода можно прочитать здесь).

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