Непрерывное тестирование
тестирование МП – действие, в процессе которого каждый новый процессор проверяется на отсутствие дефектов в конструкции, отсутствие ошибок в производственном процессе и на совместимость с программным обеспечением. Intel тратит сотни миллионов долларов в год на проверки, тестируя каждый чип, начиная с его концепции и заканчивая последним днемднём производства.
ЕщеЕщё до воплощения в кремнии, новая архитектура моделируется программно и тестируется на протяжении месяцев, ежеминутно в разных странах. Отдельные тесты часто запускаются на огромных аппаратных моделях процессора, занимающих целые комнаты. Предварительные образцы проверяются на специально собранных компьютерах со специальным оборудованием, каждый комплект которого стоит в среднем 250 тысяч долларов. Тесты на совместимость прогоняются на сотнях моделей периферийных устройств и тысячах программных приложений. Intel даже посылает процессоры своим партнерампартнёрам и конечным пользователям для дальнейшего тестирования. Тем не менее, до сих пор процессоры Intel содержат ошибки.
Хотя, например, с начала продаж у процессора Pentium-II было найдено более 50 ошибок (незначительные ошибки не влияют на повседневную работу компьютера), нельзя сказать, что Intel использует неадекватные технологии тестирования.
Рассмотрим Pentium Pro, первый процессор архитектуры Р6. Этот процессор для серверов и рабочих станций, представленный в конце 1995 года и теперь закончивший свой жизненный цикл, содержит 5.5 миллионов транзисторов. Если попытаться проверить каждое возможное состояние даже этого процессора (сейчас число транзисторов в БИС достигает нескольких сотен миллионов), придетсяпридётся проверить 50 000 000 комбинаций. Кроме этого, процессор должен взаимодействовать с чипсетом, кэшем 2-го уровня, подсистемой памяти, сотнями периферийных устройств, сотнями тысяч программных пакетов и миллионами конкретных пользователей. Поэтому полная проверка оказывается почти невозможной задачей.
Рассмотрим только инструкцию ADD, одну из сотен используемых инструкций процессора. ADD вычисляет сумму двух 32-битных чисел – одного из заданного регистра и другого из любой ячейки оперативной памяти. С 232 возможных значений для одного числа и таким же количеством для другого, возможны 264 различных комбинации данных. Кроме того, первое число может находиться в любом из восьми регистров, а второе число, если разрядность виртуального адресного пространства равна 48 бит, может находиться по любому из 248 возможных адресов памяти.
Это 251 различных комбинаций по размещению и 264 различных вычислений. Если бы у вас был миллион компьютеров и каждый проверял бы миллион вычислений в секунду, проверка всех возможных состояний заняла бы 1015 лет. Напомним, возраст Вселенной оценивается всего в 1012 лет. Невозможно проверить процессор, проверяя каждую возможную инструкцию.
Тестирование на стадиях проектирования и производства (до и после кристалла)
тестирование сложных БИС начинается на следующий день после появления идеи нового микропроцессора и продолжается до конца жизненного цикла. Общий процесс тестирования разделенразделён на две главные составляющие – тестирование при проектировании и во время производства - до и после первого экземпляра кристалла. Предварительное тестирование оперирует программными моделями, а иногда и аппаратными моделями, собранными из дискретных элементов. На втором этапе тестируются готовые кристаллы, работающие в обычных компьютерах или на специальных стендах.
Любые потенциальные ошибки протоколируются в главной базе данных и подразделяются на четыре категории:
- ложная тревога (ошибка самой процедуры тестирования),
- новые ошибки,
- ранее известные ошибки
- не воспроизводимые случайные ошибки (т.е. те, которые нельзя повторить).
Как только ошибка исправлена либо внесением изменений в модель процессора, либо производством нового кристалла, нужно провести тестирование снова, чтобы убедиться в отсутствии новых ошибок. Процесс тестирования, нахождения ошибок и дополнительного тестирования требует не только наличия быстро перестраиваемых тестов, но и быстро настраиваемой системы обработки огромных объемовобъёмов данных, накапливаемых в результате этих тестов.
Проверка до получения первого кристалла начинается с RTL модели процессора (register transfer logic - логическая схема регистровых переходов), программы высокого уровня, созданной, чтобы работать в точности так, как это делал бы настоящий процессор. "Это модель, которая точно описывает функционирование настоящего чипа, но не представляет его в виде транзисторов и логическихсхем. Процессоры обычно моделируют с помощью фирменного языка RTL известного как IHDL (Intel High-lewellevel Description Language), а чипсет - набор устройств, которые постоянно сопровождают процессор, - моделируется с помощью стандартного промышленного языка, известного как VHDL (VHSIC Hardware Description Language - язык аппаратного описания сверхскоростных ИС, или очень высокоуровневый язык описания).
функции процессора симулируются на довольно низких скоростях, от 2 до 5 Гц, по причинам легкостилёгкости управления и наблюдения. RTL модель процессора достигает по максимуму 5 циклов в секунду , в то время как реальный Pentium-II 400 МГЦ совершает 400 миллионов тактовых циклов в секунду, – "Windows не загрузится в течение всей вашей жизни". Этот трудоемкийтрудоёмкий подход является лучшим решением для получения детальных предварительных результатов. На частоте 5 Гц не только проще создать и провести каждый тест, но также и проще обнаружить потенциальные ошибки, а затем определить их причины. Можно наблюдать и контролировать все вплоть до мелочей. Недостаток – крайняя медлительность процесса тестирования. Эта медленная симуляция требует, тем не менее, неординарного объемаобъёма вычислительных мощностей. И если вы хотите закончить тестирование в разумное время, требуется большое количество компьютеров. Так что, в дополнение к основному парку выделенных рабочих станций, в процессе тестирования Intel применяет автоматизированный процесс, известный как NetBatch, чтобы использовать вычислительные мощности рабочих станций своих работников. Когда инженер Intel идет домой, NetBatch немедленно получает доступ к его рабочей станции и запускает RTL тесты - неважно, работает этот инженер в Калифорнии или Израиле. В час пик проверочное тестирование использует более 1000 рабочих станций по всему миру. В этой связи, не абсолютно бескорыстной является программа Intel, в рамках которой фирма предоставляет своим сотрудникам по всему миру бесплатно компьютеры, доступ в Интернет и услуги. Компьютеры доставляются сотрудникам на дом, обеспечивается бесплатное периодическое обновление программных и аппаратных компонентов; базовые услуги бесплатны, но подлежат налогообложению. Ко времени создания реальных кристаллов Intel в среднем успевает провести 300 сотни миллионов циклов симуляции в неделю. Средняя загрузка всех рабочих станций Intel составляет 87% каждые 24 часа 7 дней в неделю. И даже при 300 миллионов циклов в неделюпри этом за эти семь дней симулируется только 1 секунда работы реального 300 МГц процессора.
Хотя тесты случайны в том смысле, что они генерируются на удачу, их граничные условия заданы по определенномуопределённому алгоритму и часто меняются. В процессе тестирования Intel проверяет результаты тестов, чтобы убедиться, что каждые новые условия удовлетворяют общему принципу. Если тест получает ошибочные или ранее проверенные условия, он перезапускается.
Эмуляция
При тестировании Pentium Pro, Intel добавила новый этап предварительного тестирования, известный как emulation - эмуляция. Эмуляция состоит в построении аппаратной модели чипа из дискретных элементов и создании макета процессора (размером с комнату) который присоединятся к стандартному компьютеру и работает на стандартном программном обеспечении.
Существует возможность составить большую стойку перепрограммируемых матриц логических элементов, которую можно запрограммировать так, чтобы она работала подобно настоящему процессору. Стоившая приблизительно 8 миллионов долларов, эмуляция Pentium Pro, работавшая на тактовой частоте 150 КГц, была присоединена к жесткомужёсткому диску и подсистеме памяти, и на этой системе запускались большинство современных операционных систем. Хотя загрузка длилась несколько часов и неделя уходила на перезапуск, это была, по словам Budelman "самая большая и успешная эмуляция процессора наЗемле".
Эмуляция не настолько просто изучаема и управляема, как модель раздельного тестирования, но она менее абстрактна и работает быстрее. Она не так быстра, как моделируемый кристалл, но ее легче изучать и изменять. Если обнаружена ошибка в эмуляции, то модель можно перенастроить при относительно малых затратах.
Каждый раз при исправлении кристалла МП ему присваивают новую двухбуквенную комбинацию - – назначают новую цифру, тогда как значительным назначают уже новую букву (например, за А0 следуют А1 и А2, за которыми вдруг могут последовать В1, В2, ВЗ, затем С1 и т.д.). Хотя уже и начальная версия А0 является вполне работоспособной, на которой запускается операционная система. Тем не менее, в некоторых случаях, Intel может внести изменения в процессор без выпуска нового степпинга. Каждый чип содержит ПЗУ микрокода, постоянную память, которая является переходным звеном между машинной инструкцией и физической схемой чипа. Это позволяет разработчикам процессора легко добавлять новые инструкции без встраивания в чип новых логических схем. Область ПЗУ микрокода заполнена прерывистыми блоками, которые могут быть перезаписаны на этапе загрузки системы через процедуру BIOS Update (обновление BIOS). Изменение, требовавшее ранее нескольких недель работы и миллионов долларов, теперь можно сделать в течение нескольких дней с небольшими затратами. Технология focused ion beam (сфокусированный ионный луч) совместно со сканирующим электронным микроскопом позволяет не только просматривать, но и изменять внутренние логические схемы процессора.
Затем Intel начинает процесс проверки системы (systems validation SV,), использующий специально собранные и настроенные компьютеры для проверки на соответствие особенностей, режимов, операций и машинных инструкций процессора описанию в его документации. Это включает в себя широкий набор тестов, от специфических тестов особенностей МП и стресс-тестов температурного режима до случайных тестов машинных инструкций и помех по шине. SV выполняется на нескольких специально оснащенныхоснащённых проверочных платах- специально собранных компьютерах. (Стоимость каждой такой системы для тестирования Pentium II Intel более 150000$). Каждая специальная система, получившая имя Diamondback, оснащена процессорами числом до 4х включительно, объединеннымиобъединёнными мостом/подсистемой памяти, чипсетом в сокетах, программируемым интерфейсом шины и встроенными разъемамиразъёмами для подключения контрольных приборов. Эти инструменты используются не только для проверки данных, проходящих через систему но также и для дополнительной нагрузки на машину. В целом, огромное количество аппаратуры для SV работая 24 часа в сутки, позволяет обнаружить около 40 процентов всех ошибок в кристалле.
Простая проверка факта, что процессор действует, – недостаточна. Он должен работать с реальным оборудованием, программным обеспечением и операционными системами, которые не всегда следуют промышленным стандартам. Проверка совместимости начинается с тестирования программ, в котором процессор устанавливается в обычный компьютер и на этой системе выполняется запуск операционной системы и множества приложений. тестовые стенды Intel могут автоматически перегрузить систему, инсталлировать ОС и приложение, запустить это приложение и сравнить его работу с эталоном, на уровне побитной точности.
Intel параллельно тестам программ проводит тщательные тесты оборудования, проверяя, чтобы новый чип был совместим с большей частью распространенныхраспространённых на рынке жесткихжёстких дисков, графических плат, сетевых плат и других устройств. Проверяются тысячи периферийных устройств - архаичных, старых и новых.
Затем, Intel проводит тесты производительности на отдельных системах и стресс- тесты на сетевых серверных конфигурациях, используя все наборы тестов и все операционные системы. В дополнение к специализированному автоматизированному тестированию, проверка совместимости включает в себя ручное тестирование с использованием популярных игр и мультимедиа приложений. игры – одни из самых "стрессовых" программ, особенно для графических подсистем. Они игнорируют BIOS. Они игнорируют ОС. Они производят грубые и неестественные действия.
Только 6 процентов всех ошибок после выхода кристалла обнаруживаются при проверке на совместимость, но зато они самые скользкие. Например, во время серверных стресс- тестов ошибки могут накапливаться днями или неделями. Серверная тестовая платформа "будет работать 20 дней, а затем умретумрёт на 21 день". ПричемПричём, место, в котором произошелпроизошёл сбой, обычно не имеет ничего общего с непосредственной причиной ошибки. Это вообще могло случиться несколькими днями раньше".
Современная лаборатория Intel для проверки на совместимость стоит более 20 миллионов $ и имеет срок службы всего 18 месяцев. Программы нужно обновлять каждые 3 года, а оборудование – каждые 12…36 месяцев.
Различают тестирование, которое воспроизводит условия реального мира, и тестирование в реальном мире. После получения исправленного кристалла процессора, Intel посылает чипы к независимым производителям аппаратного обеспечения (independent hardware vendors, IHVs) и независимым разработчикам программного обеспечения (independent software vendors, ISVs). Для бета- тестирования Intel попросила провести предварительное тестирование Pentium Pro конечных пользователей.
Особенностью микропроцессорных контроллеров является то, что они сами интегрируются в некоторый объект (embedded controllers). Это предполагает, что перед разработчиком микропроцессорной системы такого рода стоит задача полного цикла проектирования, начиная от разработки алгоритма функционирования и заканчивая комплексными испытаниями в составе изделия, а возможно и сопровождением при производстве.
Дата добавления: 2017-02-20; просмотров: 490;