Выпуск #9/2018
Мороз Ярослав Николаевич, Токарев Дмитрий Сергеевич
Особенности топологического планирования ядер высокопроизводительных процессоров семейства Эльбрус
Особенности топологического планирования ядер высокопроизводительных процессоров семейства Эльбрус
Просмотры: 2337
В данной статье представлены некоторые методы по проектированию отдельных частей сложно-функциональных цифровых СБИС на уровне кристалла на примере проектирования ядер микропроцессоров семейства «Эльбрус». Отмечены особенности физического проектирования микропроцессоров с архитектурой «ELBRUS».
УДК 004.3’142.22
DOI: 10.22184/1993-8578.2018.82.103.109
УДК 004.3’142.22
DOI: 10.22184/1993-8578.2018.82.103.109
ВВЕДЕНИЕ
Важной задачей конструкторско-технологического проектирования сложно-функциональных микросхем микропроцессоров является планирование топологии кристалла. Для решения данной задачи применяются разнообразные средства САПР. На начальном этапе важно создать правильную иерархию микропроцессора с учетом дальнейшей реализации в рамках физического проектирования.
Также необходимо уделить особое внимание организации систем питания, синхронизации и отвода тепла для всего микропроцессора. Для увеличения вычислительной мощности зачастую используют подход реализации многоядерных сложных систем на кристалле (СнК) [9–12]. На этапе архитектурного планирования нужно определить количество ядер микропроцессора и конкретный функционал каждого ядра. Далее, на этапе физического проектирования, необходимо реализовать конкретную конфигурацию, учитывая особенности технологии проектирования и режимов эксплуатации конкретной микросхемы.
Сотрудниками компании МЦСТ накоплен большой опыт реализации многоядерных систем на кристалле [11]. За долгие годы работы был выработан определенный маршрут проектирования, написаны многочисленные скрипты для САПР. Это позволяет повысить эффективность и уменьшить временные затраты этапов проектирования и предпроизводственной проверки топологии микропроцессора в целом.
Современное проектирование сложно-функциональных высокопроизводительных цифровых СБИС включает в себя несколько стадий. Одной из таких стадий является физическое проектирование СБИС.
Маршрут физического проектирования в компании МЦСТ предполагает проектирование СБИС, используя подход полузаказного физического проектировании, то есть проектирования на основе библиотек готовых IP-блоков и логических элементов с использованием средств САПР. Основные этапы (рис. 1):
планирование топологии СБИС;
синтез — перевод СБИС с уровня регистровых передач (Register transfer level — RTL), реализованного в виде абстрактных моделей на языках описания аппаратуры (Verilog/VHDL), на уровень описания СБИС на основе реальных логических элементов и их взаимодействия (gate-level).
проектирование системы питания;
размещение всех элементов СБИС, оптимизация по ключевым параметрам;
проектирование системы синхронизации;
трассирование всех связей СБИС, оптимизация по ключевым параметрам;
физическая «верификация» — проверка норм проектирования (DRC), выявление и устранение электрических и схемотехнических нарушений (ERC/ARC), проверка эквивалентности между физической реализацией СБИС и ее схемотехническим описанием (LVS) и другие проверки проектируемой интегральной схемы перед этапом изготовления.
Строгая последовательность этапов обеспечивает прогнозируемость результатов. Как правило, оптимизация осуществляется по ключевым параметрам — быстродействию, занимаемой площади, энергопотреблению. Так как проектирование СБИС происходит на основе технологий «глубокого субмикрона», на первый план, помимо быстродействия, выходят такие параметры, как целостность сигнала, устранение шумов и помех [6], устранение нежелательных эффектов электромиграции, снижение активного омического падения напряжения [8]. Неправильно организованная система питания и синхронизации может вообще привести к неработоспособности всей СБИС или отдельных ее частей. Согласно недавним исследованиям процессов проектирования, производства и эксплуатации СБИС, проблеме организации и оптимизации систем питания и синхронизации на уровне кристалла уделяется все большее внимание [3–5].
КРАТКИЙ ОБЗОР МНОГОЯДЕРНЫХ МИКРОПРОЦЕССОРОВ СЕМЕЙСТВА «ЭЛЬБРУС»
На физическое проектирование и на планирование топологии микросхемы существенное влияние оказывает архитектурная сложность и сложность реализации, связанная с технологическими процессами полупроводникового производства.
В современных приложениях, оптимизированных под многопоточность, наблюдается прирост производительности на многоядерном процессоре [9–12]. Конечно, если приложение не оптимизировано, то оно не будет получать практически никакой выгоды от дополнительных ядер, а может даже выполняться медленнее, чем на процессоре с меньшим количеством ядер, но с большей тактовой частотой. Большинство операционных систем позволяют выполнять несколько приложений одновременно. При этом достигается выигрыш в производительности, даже если приложения однопоточные.
На сегодня многими производителями процессоров, в частности Intel, AMD, IBM, ARM, дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности. Компания МЦСТ движется в этом же направлении.
Организация многоядерных процессоров может быть устроена по-разному. Одним из важных вопросов является использование памяти. Поддержка когерентности (общей) кэш-памяти между ядрами: процессоры с такой поддержкой и без нее устроены по-разному. Также важный вопрос это организация связи между ядрами:
разделяемая шина;
сеть (Mesh) на каналах точка-точка;
сеть с коммутатором;
общая кэш-память.
Все существующие на сегодня многоядерные процессоры содержат кэш-память 1-го уровня для каждого ядра в отдельности, а кэш-память 2-го (иногда и 3-го) уровня существует в нескольких вариантах:
разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объеме. Используется в процессорах семейств Intel Core, а также в процессорах МЦСТ R500S и МЦСТ R1000 с архитектурой SPARC;
индивидуальная — кэш-память интегрирована в каждое из ядер. Обмен данными из кэша 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода). Индивидуальная кэш-память 2-го уровня широко используется в микропроцессорах «Эльбрус-2С+» (рис. 2), «Эльбрус-4С» (рис. 3), «Эльбрус-8C» (рис. 4, 4а).
Современные требования к универсальности или специализации вычислений также разделяют многоядерные процессоры: они могут иметь гомогенную или гетерогенную архитектуру.
Гомогенная архитектура предполагает, что все ядра процессора одинаковы и выполняют одни и те же задачи. Типичные примеры: Intel Core Duo, Sun SPARC T3, AMD Opteron, «Эльбрус-4С», «Эльбрус-8C», МЦСТ R500S (рис. 5) и МЦСТ R1000 (рис. 6).
Гетерогенная архитектура — это универсальность микропроцессора, когда ядра процессора выполняют разные задачи. Например, процессор Cell альянса IBM, Sony и Toshiba. В этом процессоре одно из девяти ядер является ядром процессора общего назначения PowerPC, а восемь остальных — специализированными процессорами, оптимизированными для векторных операций, которые используются в игровой приставке Sony PlayStation 3. В компании МЦСТ к такому классу микропроцессоров можно отнести «Эльбрус-2С+» и «Эльбрус-1С+» (рис. 7).
Микропроцессор «Эльбрус-2С+» (1891ВМ7Я) — гетерогенный многоядерный процессор с архитектурой «Эльбрус» на основе архитектуры широкого командного слова (VLIW). Это система на кристалле. Работает на тактовой частоте 500 МГц при технологических нормах 90 нм. Содержит 2 ядра архитектуры «Эльбрус» и 4 ядра цифровых сигнальных процессоров (DSP) производства ОАО НПЦ «Элвис». Микропроцессор декодирует и отправляет на исполнение до 23 операций за такт. Основная сфера применения микропроцессора «Эльбрус-2С+» — системы цифровой интеллектуальной обработки сигнала, такие как радиолокаторы, анализаторы изображений [13] (рис. 5).
«Эльбрус-1С+» — экономичный микропроцессор. Содержит одно ядро с архитектурой «Эльбрус» и одно графическое ядро с поддержкой аппаратного ускорения 3D-графики и поддерживает стандарты OpenGL 2.1 OpenCL 1.1. Это система на кристалле работает на тактовой частоте 1 ГГц при технологических нормах 40 нм. «Эльбрус-1С+» содержит порядка 375 млн транзисторов (рис. 6).
Малое энергопотребление (не более 10 ВТ) позволяет применять микропроцессор в ноутбуках, тонких клиентах, промышленной автоматике и встраиваемых системах.
ПЛАНИРОВАНИЕ ТОПОЛОГИИ
В планировании топологии широко применяются два подхода: с использованием иерархии (hierarchical), без использования иерархии (flat). Основные достоинства и недостатки каждого подхода рассмотрены в докладе [1].
Высокая интегральная сложность современных микропроцессоров с архитектурой «Эльбрус» вынуждает использовать оба подхода. Ярким примером этому является реализация микропроцессора «Эльбрус-8С». Это микропроцессор серверного класса, содержит 8 ядер с архитектурой «Эльбрус» [14]. Кэш-память разделена на 3 уровня: кэш-память 1-го и 2-го уровня реализована в каждом ядре, а 3-й уровень кэш-памяти общий для каждой пары ядер. Для взаимодействия между ядрами и кэш-памятью 3-го уровня выполнялось проектирование устройства коммутирования (SIC). Также в процессор интегрирован четырехканальный контроллер памяти DDR3-1600, 3 межпроцессорных канала для построения многопроцессорных машин (ccNUMA) и канал ввода-вывода для подключения южного моста КПИ-2 (рис. 4). Микропроцессор содержит 2,73 млрд транзисторов, площадь кристалла составляет 321 мм2. Пиковая производительность составила 250 ГФлопс, тактовая частота системного синхросигнала 1,3 ГГц. Проектирование данной системы на кристалле осуществлялось по технологическим нормам 28 нм.
Для планирования топологии верхнего уровня микропроцессора «Эльбрус-8С» использовался метод иерархического планирования: весь процессор разбивался на отдельные блоки-устройства, которые соединялись между собой оптимальным, с точки зрения временных ограничений, способом (рис. 2–7).
Внутренние блоки ядра уже можно было реализовать без использования иерархии, в так называемом flat-подходе проектирования: блок реализуется целиком, начиная с синтеза и заканчивая трассировкой сигнальных связей (рис. 4, 4а, 4б.).
Основные проблемы физического проектирования микропроцессора «Эльбрус-8С» и их решения кратко освещены в статье [15]. Приведенный пример планирования топологии дал возможность реализовать процессор «Эльбрус-8С», существенно экономя программные (средства САПР) и аппаратные (вычислительные серверы) ресурсы. Как показала дальнейшая реализация, такой топологический план оптимален для достижения ключевых параметров по быстродействию и энергоэффективности, а также для быстрого исправления логических и физических (DRC, LVS) ошибок на топологическом уровне во время этапа предпроизводственных проверок микросхемы.
Для увеличения быстродействия микропроцессора «Эльбрус-8С», учитывая полученные данные после изготовления и тестирования готовой микросхемы, было принято решение существенно переработать логику ядра на уровне RTL-описания, а также изменить топологию ядра (рис. 4а). Например, все арифметические устройства объединялись в один большой блок, также буфер команд (IB) и блок управления (CU_CU) были объединены и реализованы единым блоком. Кроме этого, существенно изменены размеры и внутреннее размещение элементов кэш-памяти первого уровня (l1tlb) с целью оптимизации транзитных связей между арифметическими устройствами и кэш-памятью второго уровня. Для кэш-памяти первого уровня были разработаны новые элементы памяти. Это позволило существенно сократить потери времени на межблочных передачах, а также сократить используемое оборудование, ширина ядра уменьшилась на 200 мкм.
Как отмечалось выше, микропроцессоры «Эльбрус-4С» (рис. 3), «Эльбрус-8C» (рис. 4), МЦСТ R500S (рис. 5) и МЦСТ R1000 (рис. 6) обладают гомогенной организацией архитектуры, то есть все ядра процессора одинаковы и выполняют одни и те же задачи. Для реализации процессорных вычислений основные трудности связаны с физическим проектированием одного универсального ядра и коммутирующего устройства между ядрами. Немного иначе дела обстоят, если речь идет о реализации гетерогенных многоядерных микропроцессоров.
Например, при разработке микропроцессора «Эльбрус-2С+» (рис. 2) был острый дефицит разработчиков и вычислительных ресурсов. Было принято решение не делать отдельную топологию для иерархии ядра архитектуры «Эльбрус», а использовать готовые блоки такого же ядра опытного микропроцессора «Эльбрус-2С» — одноядерного микропроцессора с архитектурой «Эльбрус». Топологию кластера обработки цифровой сигнальной информации, состоящего из четырех DSP-ядер с архитектурой ElCore (разработка ФГУП НПЦ «Элвис»), решено было делать одним блоком с применением flat-проектирования. Такой подход существенно сократил сроки реализации всей системы на кристалле. Контроль над ключевыми параметрами: быстродействие, энергопотребление, временные и топологические нарушения (DRC,LVS), осуществлялся как для отдельных блоков, так и для всего чипа целиком.
Стоит отдельно отметить реализацию топологии ядер микропроцессора «Эльбрус-1C+» (рис. 7). Основное вычислительное ядро архитектуры «Эльбрус» было разбито на два блока: кэш второго уровня (l2_com) и вычислительная часть (core_top). В дальнейшем каждый из блоков реализовывался с применением flat-проектирования.
Впервые была реализована СнК, содержащая ядро архитектуры «Эльбрус» и графическое ядро. Данный микропроцессор получился достаточно производительным (тактовая частота вычислительного ядра 1Ггц и 800Мгц частота графического ядра) и обладающим низким энергопотреблением. Ключевыми моментами экономии энергии являются организация многодоменного, отключаемого питания и возможность отключения синхросигнала от отдельных устройств.
Графическое ядро данного микропроцессора является сложно-функциональным блоком Vivante GPU2500С, которое содержит порядка 3 млн стандартных ячеек и 300 элементов памяти. Физическое проектирование этого ядра осуществлялось сотрудниками компании МЦСТ, используя техническую документацию и все исходные данные компании Vivante Corporation. Для правильного планирования такого устройства был выполнен комплексный анализ иерархии. В устройстве было выделено девять крупных иерархических блоков, что позволило значительно сократить общее время проектирования. Логическая иерархия, форма устройства и расположение IP-блоков в каждом блоке определялись в соответствии с временными характеристиками и планом размещения верхнего уровня микропроцессора. В частности, большинство блоков имеют сложную форму. Это обусловлено необходимостью создания больших каналов для трассировки межблочных связей и внешних связей графического ядра. Дополнительной сложностью являлась непростая структура синхросигнала, который доставляется как напрямую с выводов верхнего уровня, так и через специальное устройство, отвечающее за гейтирование. В результате экспериментов с планированием было выбрано расположение блоков (рис. 7), отвечающее временному бюджету и возможностям трассировки (САПР ICcompiler, Synopsys).
В настоящее время для планирования топологии ядра микропроцессоров семейства «Эльбрус» применяется иерархический маршрут проектирования, основанный на использовании black boxes вместо полноценных блоков из состава ядра. Под black box (далее BB) понимается некоторая абстрактная модель логического блока-устройства, которая содержит минимальную информацию для физического проектирования: размеры, расположение интерфейсов, систему питания, расположение элементов памяти. При этом отсутствует логический функционал устройства и информация о временных характеристиках.
Такой подход позволяет существенно экономить вычислительные ресурсы и время реализации топологии верхнего уровня ядра, т. к. нет нужды анализировать логику и временные характеристики внутри блоков. Кроме этого, работу по реализации топологии ядра можно вести параллельно с разработкой логического функционала отдельных блоков-устройств на уровне RTL-описания. Также возможно параллельно выполнять физическое проектирование верхнего уровня ядра, главным образом реализуя межблочные связи, и физическое проектирование блоков-устройств из его состава.
Стремительный рост рабочей частоты, высокая интегральная сложность, уменьшение технологических размеров — все эти факторы накладывают дополнительные ограничения на надежность систем на кристалле. Кроме задачи достижения высокой производительности, как никогда становится актуальной задача обеспечения целостности сигнала. Паразитные емкости, индуктивности и их воздействие на соединения, и элементы СБИС, сейчас играют основную роль в правильности функционирования и производительности СБИС [2, 7]. Очень много времени и ресурсов было потрачено на организацию межблочных связей с приемлемым уровнем помех и различных шумовых эффектов. Так как отсутствует информация о временных характеристиках блоков-устройств, стандартные методы САПР не всегда позволяют оптимально реализовать межблочные связи. Для этого используется ряд скриптов, разработанный инженерами компании «МЦСТ», для прокладки и буферизации наиболее критичных шин. Основной принцип — обеспечение эквидистантной передачи данных с минимальным уровнем перекрестных помех. Строго фиксируются слои металла и направление для прокладки трасс, также в качестве усилителей сигналов используется пара инверторов. Шаг следования и тип усилителей выбираются под конкретную технологию проектирования, исходя из нужных временных и мощностных характеристик. Вставка усилителей в соседние шины осуществляется в «шахматном порядке» — это позволяет уменьшить величину перекрестных помех соседних проводов (рис. 8).
Для максимального устранения перекрестных помех используется экранирование сигнальных проводов шинами земли. Особенно широко такой метод применяется в системе распределения синхросигнала. Однако при массовом использовании существенным недостатком такого подхода является уменьшение трассировочной способности, что приводит к большому числу нарушений по трассировке сигнальных проводов (DRC).
РЕЗУЛЬТАТЫ И ВЫВОДЫ
Авторы считают, что в данной работе новыми являются следующие положения и результаты:
освоено проектирование систем на кристалле по технологическим нормам 90–28 нм;
методические и технологические решения, принятые и опробованные при создании микропроцессоров семейства «Эльбрус», рассматриваются как проектный базис физического проектирования нового поколения многоядерных высокопроизводительных микропроцессоров. Выработан определенный маршрут проектирования, написаны многочисленные скрипты для САПР, позволяющие повысить эффективность и уменьшить временные затраты этапов проектирования и предпроизводственной проверки топологии микропроцессора в целом;
реализованы как гомогенные, так и гетерогенные многоядерные микропроцессоры, микропроцессоры с разделяемой и индивидуальной кэш-памятью;
в рамках данной работы, на примере реализации ядер разных микропроцессоров компании МЦСТ, показывается успешное физическое проектирование с учетом иерархии и без таковой. В работе отмечены основные задачи планирования топологии ядра микропроцессора, а также методы их решения;
выполнен обзор существующих методов проектирования ядер и других устройств микропроцессоров семейства «Эльбрус», которые с успехом могут быть применены в физическом проектировании СБИС отличной архитектуры с использованием других технологических процессов полупроводникового производства.
ЛИТЕРАТУРА
1. Мороз Я. Н. Оптимальное планирование топологии кристалла на этапе физического проектирования. Тр. 54-й научной конференции МФТИ. «Проблемы фундаментальных и прикладных естественных и технических наук в современном информационном обществе». — М.: МФТИ, 2011. — С. 30–32.
2. Воробушков В. В., Рябцев Ю. С. «Методы конструирования помехозащищенной системы питания для подложки современных микропроцессоров», Вопросы радиоэлектроники, сер. ЭВТ, Вып. 3, 2010. — С. 20–25.
3. Chiprout E. Fast Flip-chip Power Grid Analysis Via Locality and Grid Shells, Proceedings of the 2004 IEEE/ACM International Conference on Computer-aided Design,pp. 485–488, November 07–11, 2004.
4. Berridge R., Averill R. M., Barish A. E. “IBM POWER6 Microprocessor Physical Design and Design Methodology”. IBM Journal of Research and Development Vol. 51,I. 6, pp. 685–714. Nov. 2007.
5. Chawla Vipul. Power Line Communications in Microprocessors — System Level Study and Circuit Design. Master’s Thesis. Blacksburg, VA. Sep. 23, 2009.
6. Vijay Janapa Reddi, Svilen Kanev, Wonyoung Kim. Voltage Noise in Production. Computer Architecture Conferences. Harvard University, 2011.
7. Воробушков В. В. Диссертация «Обеспечение целостности сигналов при разработке современных вычислительных устройств»URL:http://www.ineum.ru/downloads/aref15.pdf (дата обращения: 8.06.2011).
8. Мороз Я. Н. Особенности методов создания надежных систем питания современных сложно-функциональных цифровых СБИС на уровне кристалла. Особенности разработки систем питания для микропроцессоров с архитектурой «ELBRUS» или «SPARC» на уровне кристалла. МЭС-2012. Россия, Москва, октябрь 2012. © ИППМ РАН.
9. Kunle Olukotun. Chip Multiprocessor Architecture — Techniques to Improve Throughput and Latency. — Morgan and Claypool Publishers, 2007. — 154 p. — ISBN159829122X. (англ.).
10. Хеннесси Д., Паттерсон Д. «Компьютерная архитектура. Количественный подход». Издание 5-е. Москва: Техносфера, 2016.
11. Ким А. К., Перекатов В. А. Учебное пособие «Микропроцессоры и вычислительные комплексы семейства «Эльбрус».СПБ.: Издательство «Питер». 2013 г.
12. Mario Nemirovsky, Dean M. Tullsen. Multithreading Architecture. — Morgan and Claypool Publishers, 2013. — 1608458555 p. — ISBN 1608458555. (англ.).
13. Исаев М. В., Кожин А. С., Костенко В. О., Поляков Н. Ю., Сахин Ю. Х. Двухъядерная гетерогенная система на кристалле «Эльбрус-2С+» // Вопросы радиоэлектроники, серия ЭВТ, Выпуск 3, 2012. — С. 42–52.
14. Альфонсо Д. М., Деменко Р. В., Кожин А. С., Кожин Е. С., Колычев Р. Е., Костенко В. О., Поляков Н. Ю., Смирнова Е. В., Смирнов Д. А., Смольянов П. А., Тихорский В. В. Микроархитектура восьмиядерного универсального микропроцессора «Эльбрус-8C» // Вопросы радиоэлектроники. — 2016. — № 3 — Сер. ЭВТ. — С. 6–13.
15. Мороз Я. Н. Основные этапы и методы физического проектирования микропроцессора «Эльбрус-8С» // Вопросы радиоэлектроники. — М.: 2016. — Выпуск 3. — Серия ЭВТ.
Важной задачей конструкторско-технологического проектирования сложно-функциональных микросхем микропроцессоров является планирование топологии кристалла. Для решения данной задачи применяются разнообразные средства САПР. На начальном этапе важно создать правильную иерархию микропроцессора с учетом дальнейшей реализации в рамках физического проектирования.
Также необходимо уделить особое внимание организации систем питания, синхронизации и отвода тепла для всего микропроцессора. Для увеличения вычислительной мощности зачастую используют подход реализации многоядерных сложных систем на кристалле (СнК) [9–12]. На этапе архитектурного планирования нужно определить количество ядер микропроцессора и конкретный функционал каждого ядра. Далее, на этапе физического проектирования, необходимо реализовать конкретную конфигурацию, учитывая особенности технологии проектирования и режимов эксплуатации конкретной микросхемы.
Сотрудниками компании МЦСТ накоплен большой опыт реализации многоядерных систем на кристалле [11]. За долгие годы работы был выработан определенный маршрут проектирования, написаны многочисленные скрипты для САПР. Это позволяет повысить эффективность и уменьшить временные затраты этапов проектирования и предпроизводственной проверки топологии микропроцессора в целом.
Современное проектирование сложно-функциональных высокопроизводительных цифровых СБИС включает в себя несколько стадий. Одной из таких стадий является физическое проектирование СБИС.
Маршрут физического проектирования в компании МЦСТ предполагает проектирование СБИС, используя подход полузаказного физического проектировании, то есть проектирования на основе библиотек готовых IP-блоков и логических элементов с использованием средств САПР. Основные этапы (рис. 1):
планирование топологии СБИС;
синтез — перевод СБИС с уровня регистровых передач (Register transfer level — RTL), реализованного в виде абстрактных моделей на языках описания аппаратуры (Verilog/VHDL), на уровень описания СБИС на основе реальных логических элементов и их взаимодействия (gate-level).
проектирование системы питания;
размещение всех элементов СБИС, оптимизация по ключевым параметрам;
проектирование системы синхронизации;
трассирование всех связей СБИС, оптимизация по ключевым параметрам;
физическая «верификация» — проверка норм проектирования (DRC), выявление и устранение электрических и схемотехнических нарушений (ERC/ARC), проверка эквивалентности между физической реализацией СБИС и ее схемотехническим описанием (LVS) и другие проверки проектируемой интегральной схемы перед этапом изготовления.
Строгая последовательность этапов обеспечивает прогнозируемость результатов. Как правило, оптимизация осуществляется по ключевым параметрам — быстродействию, занимаемой площади, энергопотреблению. Так как проектирование СБИС происходит на основе технологий «глубокого субмикрона», на первый план, помимо быстродействия, выходят такие параметры, как целостность сигнала, устранение шумов и помех [6], устранение нежелательных эффектов электромиграции, снижение активного омического падения напряжения [8]. Неправильно организованная система питания и синхронизации может вообще привести к неработоспособности всей СБИС или отдельных ее частей. Согласно недавним исследованиям процессов проектирования, производства и эксплуатации СБИС, проблеме организации и оптимизации систем питания и синхронизации на уровне кристалла уделяется все большее внимание [3–5].
КРАТКИЙ ОБЗОР МНОГОЯДЕРНЫХ МИКРОПРОЦЕССОРОВ СЕМЕЙСТВА «ЭЛЬБРУС»
На физическое проектирование и на планирование топологии микросхемы существенное влияние оказывает архитектурная сложность и сложность реализации, связанная с технологическими процессами полупроводникового производства.
В современных приложениях, оптимизированных под многопоточность, наблюдается прирост производительности на многоядерном процессоре [9–12]. Конечно, если приложение не оптимизировано, то оно не будет получать практически никакой выгоды от дополнительных ядер, а может даже выполняться медленнее, чем на процессоре с меньшим количеством ядер, но с большей тактовой частотой. Большинство операционных систем позволяют выполнять несколько приложений одновременно. При этом достигается выигрыш в производительности, даже если приложения однопоточные.
На сегодня многими производителями процессоров, в частности Intel, AMD, IBM, ARM, дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности. Компания МЦСТ движется в этом же направлении.
Организация многоядерных процессоров может быть устроена по-разному. Одним из важных вопросов является использование памяти. Поддержка когерентности (общей) кэш-памяти между ядрами: процессоры с такой поддержкой и без нее устроены по-разному. Также важный вопрос это организация связи между ядрами:
разделяемая шина;
сеть (Mesh) на каналах точка-точка;
сеть с коммутатором;
общая кэш-память.
Все существующие на сегодня многоядерные процессоры содержат кэш-память 1-го уровня для каждого ядра в отдельности, а кэш-память 2-го (иногда и 3-го) уровня существует в нескольких вариантах:
разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объеме. Используется в процессорах семейств Intel Core, а также в процессорах МЦСТ R500S и МЦСТ R1000 с архитектурой SPARC;
индивидуальная — кэш-память интегрирована в каждое из ядер. Обмен данными из кэша 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода). Индивидуальная кэш-память 2-го уровня широко используется в микропроцессорах «Эльбрус-2С+» (рис. 2), «Эльбрус-4С» (рис. 3), «Эльбрус-8C» (рис. 4, 4а).
Современные требования к универсальности или специализации вычислений также разделяют многоядерные процессоры: они могут иметь гомогенную или гетерогенную архитектуру.
Гомогенная архитектура предполагает, что все ядра процессора одинаковы и выполняют одни и те же задачи. Типичные примеры: Intel Core Duo, Sun SPARC T3, AMD Opteron, «Эльбрус-4С», «Эльбрус-8C», МЦСТ R500S (рис. 5) и МЦСТ R1000 (рис. 6).
Гетерогенная архитектура — это универсальность микропроцессора, когда ядра процессора выполняют разные задачи. Например, процессор Cell альянса IBM, Sony и Toshiba. В этом процессоре одно из девяти ядер является ядром процессора общего назначения PowerPC, а восемь остальных — специализированными процессорами, оптимизированными для векторных операций, которые используются в игровой приставке Sony PlayStation 3. В компании МЦСТ к такому классу микропроцессоров можно отнести «Эльбрус-2С+» и «Эльбрус-1С+» (рис. 7).
Микропроцессор «Эльбрус-2С+» (1891ВМ7Я) — гетерогенный многоядерный процессор с архитектурой «Эльбрус» на основе архитектуры широкого командного слова (VLIW). Это система на кристалле. Работает на тактовой частоте 500 МГц при технологических нормах 90 нм. Содержит 2 ядра архитектуры «Эльбрус» и 4 ядра цифровых сигнальных процессоров (DSP) производства ОАО НПЦ «Элвис». Микропроцессор декодирует и отправляет на исполнение до 23 операций за такт. Основная сфера применения микропроцессора «Эльбрус-2С+» — системы цифровой интеллектуальной обработки сигнала, такие как радиолокаторы, анализаторы изображений [13] (рис. 5).
«Эльбрус-1С+» — экономичный микропроцессор. Содержит одно ядро с архитектурой «Эльбрус» и одно графическое ядро с поддержкой аппаратного ускорения 3D-графики и поддерживает стандарты OpenGL 2.1 OpenCL 1.1. Это система на кристалле работает на тактовой частоте 1 ГГц при технологических нормах 40 нм. «Эльбрус-1С+» содержит порядка 375 млн транзисторов (рис. 6).
Малое энергопотребление (не более 10 ВТ) позволяет применять микропроцессор в ноутбуках, тонких клиентах, промышленной автоматике и встраиваемых системах.
ПЛАНИРОВАНИЕ ТОПОЛОГИИ
В планировании топологии широко применяются два подхода: с использованием иерархии (hierarchical), без использования иерархии (flat). Основные достоинства и недостатки каждого подхода рассмотрены в докладе [1].
Высокая интегральная сложность современных микропроцессоров с архитектурой «Эльбрус» вынуждает использовать оба подхода. Ярким примером этому является реализация микропроцессора «Эльбрус-8С». Это микропроцессор серверного класса, содержит 8 ядер с архитектурой «Эльбрус» [14]. Кэш-память разделена на 3 уровня: кэш-память 1-го и 2-го уровня реализована в каждом ядре, а 3-й уровень кэш-памяти общий для каждой пары ядер. Для взаимодействия между ядрами и кэш-памятью 3-го уровня выполнялось проектирование устройства коммутирования (SIC). Также в процессор интегрирован четырехканальный контроллер памяти DDR3-1600, 3 межпроцессорных канала для построения многопроцессорных машин (ccNUMA) и канал ввода-вывода для подключения южного моста КПИ-2 (рис. 4). Микропроцессор содержит 2,73 млрд транзисторов, площадь кристалла составляет 321 мм2. Пиковая производительность составила 250 ГФлопс, тактовая частота системного синхросигнала 1,3 ГГц. Проектирование данной системы на кристалле осуществлялось по технологическим нормам 28 нм.
Для планирования топологии верхнего уровня микропроцессора «Эльбрус-8С» использовался метод иерархического планирования: весь процессор разбивался на отдельные блоки-устройства, которые соединялись между собой оптимальным, с точки зрения временных ограничений, способом (рис. 2–7).
Внутренние блоки ядра уже можно было реализовать без использования иерархии, в так называемом flat-подходе проектирования: блок реализуется целиком, начиная с синтеза и заканчивая трассировкой сигнальных связей (рис. 4, 4а, 4б.).
Основные проблемы физического проектирования микропроцессора «Эльбрус-8С» и их решения кратко освещены в статье [15]. Приведенный пример планирования топологии дал возможность реализовать процессор «Эльбрус-8С», существенно экономя программные (средства САПР) и аппаратные (вычислительные серверы) ресурсы. Как показала дальнейшая реализация, такой топологический план оптимален для достижения ключевых параметров по быстродействию и энергоэффективности, а также для быстрого исправления логических и физических (DRC, LVS) ошибок на топологическом уровне во время этапа предпроизводственных проверок микросхемы.
Для увеличения быстродействия микропроцессора «Эльбрус-8С», учитывая полученные данные после изготовления и тестирования готовой микросхемы, было принято решение существенно переработать логику ядра на уровне RTL-описания, а также изменить топологию ядра (рис. 4а). Например, все арифметические устройства объединялись в один большой блок, также буфер команд (IB) и блок управления (CU_CU) были объединены и реализованы единым блоком. Кроме этого, существенно изменены размеры и внутреннее размещение элементов кэш-памяти первого уровня (l1tlb) с целью оптимизации транзитных связей между арифметическими устройствами и кэш-памятью второго уровня. Для кэш-памяти первого уровня были разработаны новые элементы памяти. Это позволило существенно сократить потери времени на межблочных передачах, а также сократить используемое оборудование, ширина ядра уменьшилась на 200 мкм.
Как отмечалось выше, микропроцессоры «Эльбрус-4С» (рис. 3), «Эльбрус-8C» (рис. 4), МЦСТ R500S (рис. 5) и МЦСТ R1000 (рис. 6) обладают гомогенной организацией архитектуры, то есть все ядра процессора одинаковы и выполняют одни и те же задачи. Для реализации процессорных вычислений основные трудности связаны с физическим проектированием одного универсального ядра и коммутирующего устройства между ядрами. Немного иначе дела обстоят, если речь идет о реализации гетерогенных многоядерных микропроцессоров.
Например, при разработке микропроцессора «Эльбрус-2С+» (рис. 2) был острый дефицит разработчиков и вычислительных ресурсов. Было принято решение не делать отдельную топологию для иерархии ядра архитектуры «Эльбрус», а использовать готовые блоки такого же ядра опытного микропроцессора «Эльбрус-2С» — одноядерного микропроцессора с архитектурой «Эльбрус». Топологию кластера обработки цифровой сигнальной информации, состоящего из четырех DSP-ядер с архитектурой ElCore (разработка ФГУП НПЦ «Элвис»), решено было делать одним блоком с применением flat-проектирования. Такой подход существенно сократил сроки реализации всей системы на кристалле. Контроль над ключевыми параметрами: быстродействие, энергопотребление, временные и топологические нарушения (DRC,LVS), осуществлялся как для отдельных блоков, так и для всего чипа целиком.
Стоит отдельно отметить реализацию топологии ядер микропроцессора «Эльбрус-1C+» (рис. 7). Основное вычислительное ядро архитектуры «Эльбрус» было разбито на два блока: кэш второго уровня (l2_com) и вычислительная часть (core_top). В дальнейшем каждый из блоков реализовывался с применением flat-проектирования.
Впервые была реализована СнК, содержащая ядро архитектуры «Эльбрус» и графическое ядро. Данный микропроцессор получился достаточно производительным (тактовая частота вычислительного ядра 1Ггц и 800Мгц частота графического ядра) и обладающим низким энергопотреблением. Ключевыми моментами экономии энергии являются организация многодоменного, отключаемого питания и возможность отключения синхросигнала от отдельных устройств.
Графическое ядро данного микропроцессора является сложно-функциональным блоком Vivante GPU2500С, которое содержит порядка 3 млн стандартных ячеек и 300 элементов памяти. Физическое проектирование этого ядра осуществлялось сотрудниками компании МЦСТ, используя техническую документацию и все исходные данные компании Vivante Corporation. Для правильного планирования такого устройства был выполнен комплексный анализ иерархии. В устройстве было выделено девять крупных иерархических блоков, что позволило значительно сократить общее время проектирования. Логическая иерархия, форма устройства и расположение IP-блоков в каждом блоке определялись в соответствии с временными характеристиками и планом размещения верхнего уровня микропроцессора. В частности, большинство блоков имеют сложную форму. Это обусловлено необходимостью создания больших каналов для трассировки межблочных связей и внешних связей графического ядра. Дополнительной сложностью являлась непростая структура синхросигнала, который доставляется как напрямую с выводов верхнего уровня, так и через специальное устройство, отвечающее за гейтирование. В результате экспериментов с планированием было выбрано расположение блоков (рис. 7), отвечающее временному бюджету и возможностям трассировки (САПР ICcompiler, Synopsys).
В настоящее время для планирования топологии ядра микропроцессоров семейства «Эльбрус» применяется иерархический маршрут проектирования, основанный на использовании black boxes вместо полноценных блоков из состава ядра. Под black box (далее BB) понимается некоторая абстрактная модель логического блока-устройства, которая содержит минимальную информацию для физического проектирования: размеры, расположение интерфейсов, систему питания, расположение элементов памяти. При этом отсутствует логический функционал устройства и информация о временных характеристиках.
Такой подход позволяет существенно экономить вычислительные ресурсы и время реализации топологии верхнего уровня ядра, т. к. нет нужды анализировать логику и временные характеристики внутри блоков. Кроме этого, работу по реализации топологии ядра можно вести параллельно с разработкой логического функционала отдельных блоков-устройств на уровне RTL-описания. Также возможно параллельно выполнять физическое проектирование верхнего уровня ядра, главным образом реализуя межблочные связи, и физическое проектирование блоков-устройств из его состава.
Стремительный рост рабочей частоты, высокая интегральная сложность, уменьшение технологических размеров — все эти факторы накладывают дополнительные ограничения на надежность систем на кристалле. Кроме задачи достижения высокой производительности, как никогда становится актуальной задача обеспечения целостности сигнала. Паразитные емкости, индуктивности и их воздействие на соединения, и элементы СБИС, сейчас играют основную роль в правильности функционирования и производительности СБИС [2, 7]. Очень много времени и ресурсов было потрачено на организацию межблочных связей с приемлемым уровнем помех и различных шумовых эффектов. Так как отсутствует информация о временных характеристиках блоков-устройств, стандартные методы САПР не всегда позволяют оптимально реализовать межблочные связи. Для этого используется ряд скриптов, разработанный инженерами компании «МЦСТ», для прокладки и буферизации наиболее критичных шин. Основной принцип — обеспечение эквидистантной передачи данных с минимальным уровнем перекрестных помех. Строго фиксируются слои металла и направление для прокладки трасс, также в качестве усилителей сигналов используется пара инверторов. Шаг следования и тип усилителей выбираются под конкретную технологию проектирования, исходя из нужных временных и мощностных характеристик. Вставка усилителей в соседние шины осуществляется в «шахматном порядке» — это позволяет уменьшить величину перекрестных помех соседних проводов (рис. 8).
Для максимального устранения перекрестных помех используется экранирование сигнальных проводов шинами земли. Особенно широко такой метод применяется в системе распределения синхросигнала. Однако при массовом использовании существенным недостатком такого подхода является уменьшение трассировочной способности, что приводит к большому числу нарушений по трассировке сигнальных проводов (DRC).
РЕЗУЛЬТАТЫ И ВЫВОДЫ
Авторы считают, что в данной работе новыми являются следующие положения и результаты:
освоено проектирование систем на кристалле по технологическим нормам 90–28 нм;
методические и технологические решения, принятые и опробованные при создании микропроцессоров семейства «Эльбрус», рассматриваются как проектный базис физического проектирования нового поколения многоядерных высокопроизводительных микропроцессоров. Выработан определенный маршрут проектирования, написаны многочисленные скрипты для САПР, позволяющие повысить эффективность и уменьшить временные затраты этапов проектирования и предпроизводственной проверки топологии микропроцессора в целом;
реализованы как гомогенные, так и гетерогенные многоядерные микропроцессоры, микропроцессоры с разделяемой и индивидуальной кэш-памятью;
в рамках данной работы, на примере реализации ядер разных микропроцессоров компании МЦСТ, показывается успешное физическое проектирование с учетом иерархии и без таковой. В работе отмечены основные задачи планирования топологии ядра микропроцессора, а также методы их решения;
выполнен обзор существующих методов проектирования ядер и других устройств микропроцессоров семейства «Эльбрус», которые с успехом могут быть применены в физическом проектировании СБИС отличной архитектуры с использованием других технологических процессов полупроводникового производства.
ЛИТЕРАТУРА
1. Мороз Я. Н. Оптимальное планирование топологии кристалла на этапе физического проектирования. Тр. 54-й научной конференции МФТИ. «Проблемы фундаментальных и прикладных естественных и технических наук в современном информационном обществе». — М.: МФТИ, 2011. — С. 30–32.
2. Воробушков В. В., Рябцев Ю. С. «Методы конструирования помехозащищенной системы питания для подложки современных микропроцессоров», Вопросы радиоэлектроники, сер. ЭВТ, Вып. 3, 2010. — С. 20–25.
3. Chiprout E. Fast Flip-chip Power Grid Analysis Via Locality and Grid Shells, Proceedings of the 2004 IEEE/ACM International Conference on Computer-aided Design,pp. 485–488, November 07–11, 2004.
4. Berridge R., Averill R. M., Barish A. E. “IBM POWER6 Microprocessor Physical Design and Design Methodology”. IBM Journal of Research and Development Vol. 51,I. 6, pp. 685–714. Nov. 2007.
5. Chawla Vipul. Power Line Communications in Microprocessors — System Level Study and Circuit Design. Master’s Thesis. Blacksburg, VA. Sep. 23, 2009.
6. Vijay Janapa Reddi, Svilen Kanev, Wonyoung Kim. Voltage Noise in Production. Computer Architecture Conferences. Harvard University, 2011.
7. Воробушков В. В. Диссертация «Обеспечение целостности сигналов при разработке современных вычислительных устройств»URL:http://www.ineum.ru/downloads/aref15.pdf (дата обращения: 8.06.2011).
8. Мороз Я. Н. Особенности методов создания надежных систем питания современных сложно-функциональных цифровых СБИС на уровне кристалла. Особенности разработки систем питания для микропроцессоров с архитектурой «ELBRUS» или «SPARC» на уровне кристалла. МЭС-2012. Россия, Москва, октябрь 2012. © ИППМ РАН.
9. Kunle Olukotun. Chip Multiprocessor Architecture — Techniques to Improve Throughput and Latency. — Morgan and Claypool Publishers, 2007. — 154 p. — ISBN159829122X. (англ.).
10. Хеннесси Д., Паттерсон Д. «Компьютерная архитектура. Количественный подход». Издание 5-е. Москва: Техносфера, 2016.
11. Ким А. К., Перекатов В. А. Учебное пособие «Микропроцессоры и вычислительные комплексы семейства «Эльбрус».СПБ.: Издательство «Питер». 2013 г.
12. Mario Nemirovsky, Dean M. Tullsen. Multithreading Architecture. — Morgan and Claypool Publishers, 2013. — 1608458555 p. — ISBN 1608458555. (англ.).
13. Исаев М. В., Кожин А. С., Костенко В. О., Поляков Н. Ю., Сахин Ю. Х. Двухъядерная гетерогенная система на кристалле «Эльбрус-2С+» // Вопросы радиоэлектроники, серия ЭВТ, Выпуск 3, 2012. — С. 42–52.
14. Альфонсо Д. М., Деменко Р. В., Кожин А. С., Кожин Е. С., Колычев Р. Е., Костенко В. О., Поляков Н. Ю., Смирнова Е. В., Смирнов Д. А., Смольянов П. А., Тихорский В. В. Микроархитектура восьмиядерного универсального микропроцессора «Эльбрус-8C» // Вопросы радиоэлектроники. — 2016. — № 3 — Сер. ЭВТ. — С. 6–13.
15. Мороз Я. Н. Основные этапы и методы физического проектирования микропроцессора «Эльбрус-8С» // Вопросы радиоэлектроники. — М.: 2016. — Выпуск 3. — Серия ЭВТ.
Отзывы читателей