Программно эмулируемый процессор

Проверка до получения первого кристалла начинается с RTL модели процессора (register transfer logic - логическая схема регистровых переходов), программы высокого уровня, созданной, чтобы работать в точности так, как это делал бы настоящий процессор. "Это модель, которая точно описывает функционирование настоящего чипа", говорит Budelman, "но не представляет его в виде транзисторов и логических схем". Процессоры обычно моделируют с помощью фирменного языка RTL известного как IHDL (Intel High-Level Description Language - высокоуровневый язык описания Intel), а чипсет - набор устройств, которые постоянно сопровождают процессор - изготавливается с помощью стандартного промышленного языка, известного как VHDL (VHSIC Hardware Description Language - язык аппаратного описания сверхскоростных ИС, или очень высокоуровневый язык описания).

Процессор в замедленном движении

Intel начинает тестировать RTL модель чипа за несколько месяцев до появления первого кристалла, используя рабочие станции с Unix или Windows NT. Функции процессора симулируются на довольно низких скоростях, от 2 до 5 Гц, по причинам легкости управления и наблюдения. В то время как Pentium II 400 МГц совершает 400 миллионов тактовых циклов в секунду, его RTL модель достигает по максимуму 5 циклов в секунду. "Windows не загрузится в течение всей вашей жизни", говорит Budelman.

Это похоже на Сизифов труд, но определенно является лучшим решением для получения детальных предварительных результатов. На частоте 5 Гц не только проще создать и провести каждый тест, но также и проще обнаружить потенциальные ошибки, а затем определить их причины. "Плохо то, что работа идет медленно", говорит Budelman. "Хорошая сторона заключается в том, что можно наблюдать и контролировать все вплоть до мелочей".

Эта медленная симуляция требует, тем не менее, неординарного объема вычислительных мощностей. И если вы хотите закончить тестирование
в разумное время, требуются неординарное количество компьютеров. Так что, в дополнение к основному парку выделенных рабочих станций, в процессе тестирования Intel применяет автоматизированный процесс, известный как NetBatch, чтобы использовать вычислительные мощности рабочих станций своих работников. Когда инженер Intel прерывается на чашечку кофе или идет домой вечером, NetBatch немедленно получает доступ к его рабочей станции и запускает RTL тесты - неважно, работает этот инженер в лаборатории в Folsom, California или Haifa, Israel. В час пик, проверочное тестирование использует более 1000 рабочих станций по всему миру. "Ко времени создания реальных кристаллов", говорит Budelman, "мы в среднем успеваем провести 300 миллионов циклов симуляции в неделю. Средняя загрузка всех рабочих станций Intel составляет 87% каждые 24 часа 7 дней в неделю". И даже при 300 миллионов циклов в неделю, за эти семь дней симулируется только 1 секунда работы 300 МГц процессора.