Диссертация (1090013), страница 24
Текст из файла (страница 24)
Под синфазностью синхросигналов эмуляции во всех ПЛИСпрототипа считается их одновременное переключение в пределах одного тактавысокой частоты синхронизации, как это показано на рисунке 4.1.2.Рис. 4.1.2. Синхронность ПЛИС прототипа.Необходимойявляетсядиагностикафункционированияпрототипа,интенсивность отказов которого может быть достаточно большой. Для этогопроводится тестирование с применением шаблонного набора тестов смаксимальным использованием всех линий связей между ПЛИС.
Несмотря натакое тестирование, только работоспособность в течении длительного времени,148покрывающего запуск и исполнение набора тестов проверки архитектуры,позволят сказать о надёжность прототипа.Имеются особенности разделения RTL описания процессора на части дляих эмуляции в различных ПЛИС. Необходима адаптация несинтезируемых вПЛИС элементов RTL описания процессора. В этом случае требуетсядополнительная работа по замене таких элементов на их аналог в ПЛИС. Врезультате работ по созданию прототипов процессора создана специальнаябиблиотека,содержащаяаналогивсехнесинтезируемыхэлементовRTL описания процессора.
Достоверность полученных аналогов доказываетсясравнением результатов моделирований исходного RTL описания процессора иего эмуляции на прототипе при выполнении соответствующих тестов. При этомбольшая часть заменяемых элементов является конечными устройствами:блоки памяти, физические уровни интерфейсов каналов ввода/вывода ивнешней памяти, что сохраняет потактовую эмуляцию при функциональнойверификации.Наличие ПЛИС разных типов и разного набора ввода/вывода в одномпрототипе, увеличивает трудоемкость реализации прототипа процессора.Подготовка проектов ПЛИС включает выделение в каждом проекте трехотдельных программных модуля: блок процессора, блоки каналов вводавывода,блоксинхронизации.Далеевыполняетсяоптимизацияэтихпрограммных модулей с учетом того, что для связи между ПЛИС могутприменяться различные типы и число каналов ввода/вывода. В каждом ПЛИСформируется модуль интерфейсов, который включает блоки каналов передачиданных с сериализацией и десериализацией данных, а также блокисинхронизации.
Такой модуль интерфейсов показан на рисунке 4.1.3. Внешнийинтерфейс данного модуля для блоков процессора абстрактный.В результате представленной компоновки проекта ПЛИС создаётсяосновадлядиагностикифункционированияаппаратурыпрототипа.Необходимо отметить, что тестирование высокочастотных схем, вынесенных в149модуль интерфейсов, может быть трудоемким. После наладки модуляинтерфейсов подключение к нему генератора тестовых данных позволяетпровести тестирование всех линий связи между ПЛИС прототипа.
В случаенеработоспособности линий связи достаточно изменить блоки интерфейсов безизменения остальной структуры проектов ПЛИС.Рис. 4.1.3. Схема унификации интерфейса взаимодействия между ПЛИС.Введение модулей интерфейсов позволяет автоматизировать переход оттестирования аппаратуры прототипа к эмуляции процессора, как это показанона рисунке 4.1.4.
Это обеспечивает возможность одновременной подготовкивсех проектов ПЛИС и сокращает сроки подготовки прототипов процессоровдля проведения этапа функциональной верификации.Рис. 4.14 Схема перехода от тестов к конфигурационным файлам.4.1.6 Разработки прототиповДляфункциональнойверификацииRTL описаниямногоядерныхпроцессоров были разработаны и реализованы прототипы четырёхъядерного ивосьмиядерногопроцессоров.Техническиехарактеристикисозданныхпрототипов приведены в таблице 16. Из таблицы видно, что характеристики150полученных прототипов сопоставимы с аналогами по частоте эмуляции. Опытприменения метода оптимизации программных модулей для прототипа показал,что увеличение оборудования прототипа в два раза приводит к увеличениюдлительность разработки всего в 1,1 раза.ПараметрЭмулируемыйпроцессорКоличествотранзисторов, млн.шт.Количество ядер,процессора, шт.Частота эмуляции напрототипе, МГцКоличество ПЛИС,шт.Количествоэлементов(блоков)ПЛИС, млн.
шт.Количество/типканалов памятиПрототип«Эльбрус-4С»Прототип«Эльбрус-8С»Intel MCEMIBM TwinstarsystemЭльбрус-4СЭльбрус-8СNehalem Core i7Bluegene/Q111230007741470484168,3910410214528 - 608,11785,8 - 133 канала / DDR34 канала / DDR318 каналов /DDR28 каналов /DDR2Таблица 16. Технические характеристики специализированных прототиповпроцессоров.Разделение RTL описания процессоров реализовывалось в САПР DesignCompiler фирмы Synopsys Inc.с применением набора командных файлов ипрограммных модулей для унификации интерфейса подключения эмулируемойлогики к каналам передачи данных.
Сроки ввода прототипа в эксплуатациюобусловлены количеством транзисторов в процессоре и особенностямиприменения новых серий ПЛИС.Унификация интерфейса передачи данных между ПЛИС, позволяетсущественно упростить набора командных файлов, предназначенный дляразделения RTL описания процессора. Основная трудоемкость заключается вразделении RTL описания процессора в части подсистемы памяти. Именнопоэтому унификация только модуля ядра не сильно снижает трудоемкостьразработки нового прототипа. Альтернативным решением проблемы можетстать унификация модуля подсистемы памяти, на основе которого также может151бытьреализованимодульпроцессорногоядра.Даннаяреализацияобеспечивает возможность масштабируемости. Определение характеристикперспективного масштабируемого прототипа на основе унифицированногомодуля проводилось на основе опыта реализации прототипов процессора,созданных с учётом его структуры, и методе расчета частоты эмуляциипроцессора в прототипе [79].
На основе данных оценок можно сделать вывод отом, что реализация масштабируемого прототипа существенно увеличитскорость его запуска в эксплуатацию при сохранении приемлемой частотыэмуляции. При этом обеспечивается высокая степень ремонтопригодности ивозможно эффективное повторное использование создаваемых прототипов дляследующих проектов, чего не получилось достичь при их структурнозависимой реализации.4.2 Стенд тестирования и разбраковкиВ данном разделе рассмотрены успешно примененные решения дляодного из стендов тестирования и разбраковки однотипных многоядерныхпроцессоров. Также представлены достоинства и недостатки этих решений,выявленные при создании стендов для нескольких поколений процессоров.Стендспроектировандлявосьмиядерногопроцессораспиковымэнергопотреблением более 100 Вт.
Основным компонентом стенда являетсяматеринская плата, с возможностью установки до четырех процессоров снеоднородным доступом к оперативной памяти NUMA (non-uniform memoryaccess). Каждый процессор устанавливается в сокет на основе эластомера.Стенд также используется при наладке и тестировании программногообеспечения.4.2.1 Структурная схема многопроцессорного модуляВ процессе проектирования многоядерных процессоров АО «МЦСТ»применяетсявспомогательныестенды152тестированияопытныхобразцовмикросхем процессоров и разбраковки изготавливаемых серий. Как правило,такие стенды для многоядерных процессоров с каналами межпроцессорногообмена имеют оригинальную конструкцию и решения для ее реализации.На данный момент на рынке высокопроизводительных вычислительныхкомплексовширокопредставленымногопроцессорныерешенияснеоднородным доступом к оперативной памяти NUMA (non-uniform memoryaccess).
Процессоры для реализации таких решений имеют межпроцессорныеканалы повышенного быстродействия для соединения друг с другом [80, 81].Пример подобной структурной схемы для многопроцессорного модуля сканалами межпроцессорного обмена представлен на рисунке 4.2.1.Рис. 4.2.1. Схема на основе процессоров Эльбрус-8С или Opteron.Наличие каналов межпроцессорного обмена с неоднородным доступом кобщей памяти крайне важно для развития каждой архитектуры процессоров иих применения в серверных решениях [82]. Традиционными являютсясерверныерешениянаосновеоднойдвухпроцессорнойиличетырехпроцессорной материнской платы с установкой в корпус-шасси(chassis).
Для тестирования такого традиционного серверного решения ипроцессораЭльбрус-8Свыполненаразработкастенданаосновечетырехпроцессорной материнской платы. Пригодность этого стенда для153тестирования различных по количеству процессоров серий определяется типомсокета или контактирующего устройства с системой охлаждения. Для малыхсерий достаточно применить сокеты с ручной установкой и заменой микросхем.Микросхема процессора Эльбрус-8С имеет основные характеристики,представленные в таблице 17.
Значительное энергопотребление, множествоканалов памяти и топология каналов межпроцессорного обмена вызываютпроблемы при создании успешного серверного решения. В данной работепредлагаются решения вышеперечисленных проблем.ПараметрЗначениеПримечаниеАрхитектура ядрапроцессора«Эльбрус»Количество ядер8Кэш-память второго уровня8 * 512 КБКэш-память третьегоуровняРабочая частотаПроизводительность16 МБКоличество и типконтроллеров памятиПоддержкамногопроцессорных системКаналы межпроцессорногообмена (пропускнаяспособность)Номиналы питанияпроцессораDDR3-1600 – 4 шт.Количество вычислительныхустройств с плавающейзапятой равно 6Потребление при полнойзагрузке всех ядер около 100ВтОтдельная кэш-память длякаждого ядраРазделяемая память междувсеми ядрамиУточняется при разбраковкеНа операциях с одинарнойточностью (FP32)С поддержкой ECC1,3 ГГц~250 ГФлопсТехнологический процессдо 4 процессоров3 (16 ГБ/с)0,9 В (ядра),1,5 В (память),1,8 В (ввод-вывод)28 нмКогерентная кэш-памятьпроцессоровКаналы дуплексные(пропускная способность вкаждую сторону – 8 ГБ/с)Основное потребление пономиналу ядра 0,9 ВФабрика TSMC (Тайвань)Таблица 17.