автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.05, диссертация на тему:Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R
Автореферат диссертации по теме "Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R"
На правах рукописи
005552698
Щербина Николай Александрович
Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-Ы
05.13.05 — Элементы и устройства вычислительной техники и систем
управления
Автореферат диссертации на соискание ученой степени кандидата технических наук
Москва - 2014
1 8 СЕН 2Щ
005552698
Работа выполнена в ОАО «ИНЭУМ им. И.С. Брука» и ЗАО «МЦСТ».
Научный руководитель: доктор технических наук,
старший научный сотрудник,
заместитель директора ОАО «ИНЭУМ им. И.С. Брука» Фельдман Владимир Марткович
Официальные оппонешы: Бобков Сергей Геннадьевич доктор технических наук, старший научный сотрудник, заместитель директора НИИСИ РАН
Бутузов Александр Валерьевич
кандидат технических наук,
руководитель подразделения по разработке микроархигеюуры ЗАО «Интел А/О»
Ведущая организация. Институт проблем проектирования в микроэлектронике
Российской академии наук (ИППМ РАН)
Защита состоится « 12 » ноября 2014 г. в 15 ч. 00 мин. на заседании диссертационного совета Д 409.009.01 при ОАО «Институт электронных управляющих машин имени И.С. Брука» по адресу: 119334, г. Москва, ул. Вавилова, д. 24.
С диссертацией можно ознакомится в библиотеке ОАО «Институт электронных управляющих машин имени И.С. Брука» и на официальном сайте www.ineum.ru.
Автореферат разослан «-Л> 'г.
Ученый секретарь диссертационного совета, кандидат технических наук, профессор
Красовский В.Е.
Общая характеристика работы
Актуальность работы
Современные микропроцессоры являются системами на кристаллах (СнК), состоящими из вычислительных ядер, иерархии кэш-памятей, контроллеров памяти, контроллеров периферийных шггерфейсов и других компонентов. Многие компании-производители в рамках одного поколения микропроцессоров выпускают ряд СнК, различающихся набором перечисленных компонентов, в то время как микроархитектура самих блоков не меняется. Данная стратегия, в силу ее универсального подхода, используется как производителями микропроцессоров для встроенных применений, к которым можно отнести такие компании, как Freescale, Qualcomm, TI, Marvell, Broadcom и др., так и компаниями, специализирующимися на выпуске серверных микропроцессоров, среди которых стоит отметить Intel и IBM.
Даже при наличии разработанных блоков важную задачу составляет их объединение в составе одной СнК. На протяжении последних десяти лет методы объединения блоков СнК, то есть организации их взаимосвязи, активно развиваются. Сравнительно недавно группа ученых во главе с профессором Стэнфордского университета W.J. Dally, предложила использовать принципы организации взаимосвязи блоков, подобные применяемым в компьютерных сетях. Эта принципы нашли отражение во многих реализациях микропроцессоров и в данный момент являются доминирующими в проектировании системы взаимосвязи блоков СнК.
Актуальность диссертационной работы обусловлена необходимостью освоения методов взаимосвязи блоков для отечествегашх СнК. Эти методы дадут возможность создавать серии СнК для различных сегментов рынка вычислительной техники (ВТ), отличающиеся составом вычислительных блоков, интегрированных на одной и той же микроархитектурной платформе.
Подобные методы включают в себя общие принципы разработки системы взаимосвязи СнК. Конкретные аппаратные решения могут быть получены на основе этих принципов для определенного семейства микропроцессоров. В данной работе речь идет о серии микропроцессоров МЦСТ-R. Это семейство на данный монет включает в себя микропроцессоры: МЦСТ-1Ш0, МЦСТ-К500 и многоядерные СнК: MIJCT-RSOOS, МЦСТ-RIOOO и МЦСТ-Rl000М1. Все микросхемы реализуют архитектуру SPARC.
В данной работе предложенные автором принципы объединения компонентов СнК применяются при разработке системы взаимосвязи блоков четырехъядерной СнК
1 В данный момент осуществляется тестирование опытных образцов СнК МЦСТ-RIOOOM
МЦСТ-RIOOO. Заложенные в этой разработке свойства позволяют использовать ее как в указанной СнК, так и в будущих микропроцессорах серии МЦСТ-R.
Автор предлагает разделить функции, реализация которых необходима в СнК для обеспечения эффективного взаимодействия блоков, на три уровня: сетевой, транспортный и сеансовый. Такой шаг упрощает анализ и проектирование системы взаимосвязи, обеспечивает свойство ее модульности за счет прямого соответствия определенных аппаратных решений выделенным функциональным уровням. Приведенный подход разбиения микроархитектуры системы взаимосвязи, являясь научной новизной представленной работы, дополняется некоторыми методами обеспечения взаимодействия блоков в СнК, предложенными группой W.J. Daily. На основе этого формируется теоретическая база исследования. Практические результаты работы, состоящие в разработке системы взаимосвязи СнК МЦСТ-RIOOO, серийно выпускаемой в настоящее время, подтверждают эффективность решений, основанных на представленных автором теоретических выводах.
Цель диссертациоппого исследования состоит в
• разработке системы аппаратных средств, обеспечивающей эффективную взаимосвязь блоков в СнК МЦСТ-RIOOO;
• адаптации микроархитектуры микропроцессоров семейства МЦСТ-R к возможности унифицированного введения новых типов блоков;
• определении и реализации механизмов взаимодействия блоков, приемлемых для перспективных микропроцессоров с многоузловой топологией системы взаимосвязи.
Для достижения поставленной цели решаются следующие задачи:
• формирование иерархии функций, необходимых для взаимодействия блоков СнК;
• разработка аппаратных средств СнК, соответствующих каждому выделенному функциональному уровню иерархии;
• анализ характеристик оборудования каждого уровня и системы взаимосвязи в целом;
• выработка рекомендаций по развитию представленных принципов построения системы взаимосвязи и разработанных микроархитеюурных элементов в будущих поколениях микропроцессоров серии МЦСТ-R.
Методы исследования, выбранные для решения поставленных задач, базируются на компьютерном моделировании, а также на теории и технологиях проектирования микропроцессоров.
Научная новизна исследования
К составляющим научную новизну диссертационной работы решениям следует отнести:
• введение уровневой иерархии функций системы взаимосвязи блоков в СнК;
• рассмотрение организации транзакций обмена данными между блоками и обеспечения необходимого уровня параллелизма в их выполнении, как функций транспортного уровня системы взаимосвязи;
• выделение функций синхронизации транзакций обмена данными в сеансовый уровень системы взаимосвязи блоков в СнК.
Практическая цеплость исследования состоит в реализации микроархитектурной платформы взаимосвязи блоков микропроцессора, на базе которой возможно создание серии СнК, отличающихся составом компонентов и соответствующих различным сегментам рынка DT.
Указанные принципы внедрены в микроархитектуру СнК МЦСТ-RIOOO, серийно выпускаемой в настоящее время. Апробация работы
Результаты работы докладывались на различных научно-технических конференциях:
• 52-ая и 54-ая щечные конференции МФТИ (2009,2011 гг.);
• Научно-техническая конференция «Перспективные направления развития средств вычислительной техники» (Москва, ОАО «Концерн «ВЕГА», ОАО «НИЦЭВТ», 2011 г);
• XXXVII Международная молодежная научная конференция «Гагаринские чтения» (Москва, МАТИ, 2011 г.);
• Всероссийская научно-техническая конференция «Прикладные научно-технические проблемы современной теории управления системами и процессами» (Москва, ОАО «Концерн «Вега», 2012 г.).
Публикации
По теме диссертационной работы опубликованы 8 печатных работ, в том числе 3 в гадании, рекомендованном ВАК РФ. Структура и объем диссертации
Диссертация состоит га введения, гагги глав, заключения и списка литературы, насчитывающего 64 наименования. Работа изложена на 114 страницах, содержт 23 рисунка и 4 таблицы.
Основное содержание работы
Во введении дана общая характеристика работы, раскрыта ее актуальность, сформулированы основные задачи и цели исследования, определены научная новизна и практическая значимость полученных результатов, а также основные результата, выносимые на защиту.
В первой главе определяется назначение системы взаимосвязи блоков в СнК МЦСТ-ЯЮОО и требования к ней. Раскрываются принципы, используемые при ее проектировании. Анализируются методы, применяемые для решения подобных задач в других работах, выделяются те из них, которые целесообразно применить при разработке СнКМЦСТ-ШООО.
СО С1 С2 СЗ
NB
Processor Link2
ГТ1
L2
„Link
Рисунок 1: Структурная схема CilK МЦСТ-RIOOO
Структурная схема СнК МЦСТ-RIOOO, представленная на рисунке 1, включает в себя четыре процессорных ядра (С0...3); общую кэш-память второго уровня (L2); контроллер оперативной DDR2 SDRAM памяти (МС); три контроллера межпроцессорных каналов (IPCC0...2); контроллер канала ввода-вывода (ЮСС) для связи с «южным мостом». Оборудование системы взаимосвязи (Interconnection Equipment, IE) обеспечивает взаимодействия L2, ЮСС, МС между собой и их доступ к межпроцессорным каналам IPCC0..2 для построения многопроцессорного ccNUMA-комплекса (поддерживаются любые связные топологии с числом СнК до четырех). Таким образом, в многопроцессорном комплексе IE и IPCC0..2 четырех СнК обеспечивают взаимодействие 12 блоков. Структурно IE является составной частью подсистемы памяти СнК, которая также включает L2 и МС.
Производительность IE должна быть достаточной для загрузки пропускной способности внешних интерфейсов СнК. В первую очередь это касается канала оперативной
памяти. К такому требованию производительности добавляется требование минимизации физических ресурсов микросхемы (площадь, рассеиваемая мощность), потребляемых IE. Необходимость использования микроархитектурной платформы IE в модификациях СнК МЦСТ-RIOOO требует универсальности аппаратных решений, принимаемых при проектировании IE. Микроархитектура IE должна быть применима для объединения блоков СнК вне зависимости от их функционального назначения. Прогнозируемое увеличение количества функциональных компонентов в составе микропроцессоров будущих поколений семейства МЦСТ-R требует возможности развития системы взаимосвязи, разработанной для СнК МЦСТ-RIOOO. Это развитие предполагает как увеличение числа объединяемых блоков, так и топологическую эволюцию IE.
Для обеспечения универсальности аппаратных решений в IE анализ функций взаимосвязи должен производится на некоторой модели блоков СнК. В этой модели не должно конкретизироваться назначение объединяемых блоков. Общее количество интегрируемых на кристалле компонентов хотя и нуждается в ограничении, однако, не должно быть фиксированным. Кроме того, микроархитектурные элементы IE необходимо разделить на общие ресурсы и те, которые непосредственно обслуживают только одного абонента. Такое разделение может быть выполнено путем разбивши всех функций взаимосвязи на уровни. Возможность масштабирования числа объединяемых блоков в СнК и дальнейшего развития топологии IE требует определения границ между функциональными уровнями таким образом, чтобы при топологических изменениях затрагивалась аппаратура, реализующая функции только одного уровня.
Необходимый уровень производительности IE должен обеспечиваться за счет параллельного выполнения транзакций обмена данными между блоками СнК. Степень параллелизма может быть определена из времени реализации одной транзакции и величины пропускной способности, которую должно гарантировал. IE.
В литературе встречаются примеры использования методов объединения блоков микропроцессоров, позволяющих улучшить его физические характеристики (Dally W., Towles В.: «Route packets, not wires: On-chip interconnection networks»; Micheli G., Benini L.: «Networks on chips»; Kumar S., Jantsch А.: «А network on chip architecture and design methodology» и др.). Путем внедрения многоузловых регулярных топологий коммуникационных фабрик (Communaction Fabric, CF) — оборудования, отвечающего за доставку сообщений между блоками, ограничиваются дайны межблочных связей в СнК. Это приводит к улучшению временных характеристик микросхемы. Однако, многоузловые топологии в микропроцессорах целесообразно применять при объединении на одном кристалле большого числа блоков. В СнК МЦСТ-RIOOO рациональнее реализовать более
простую топологию СЕ Применение пакетной передачи данных и использование общих разделяемых физических каналов позволяют повысить степень утилизации межблочных связей микропроцессора, сокращая ресурсы микросхемы, необходимые на их реализацию. Предположим, что для передачи объема данных 5 между определенной парой абонентов им необходимо обменяться Р типами сообщений через СЕ В случае использования отдельной шины шириной и',, где р = О.Р-1, для отправки сообщения р-го типа за 1Р тактов утилизация межблочных соединений и определяется как
Я-1 Р-1 Р-1
«—1 р р р р п "
и - Р-ч - Д р-о т г» р-1 яг5Р р''
' Е -5- £ 2
где / — общее время (в тактах синхросигнала) транспортировки объема данных определяющееся пропускной способностью абонента-приемника данных В и тактовой частотой Переход от использования выделенных шин для каждого типа сообщения к применению общего канала передачи пакетов преобразует (1) в
Здесь 1Р — время передачи сообщения р-то типа по общему каналу. В предельном случае можно получить оценку повышения степени утилизации межблочных связей при переходе к указанному методу
ТГ~Р (V-
Выражение (2) верно, если суммарное время передачи всех сообщений по одному каналу, не превышает /, то есть
г~1 се-
(4)
р-о в
В результате анализа требований к проектируемой СнК МЦСТ-ШООО были сделаны выводы о том, что условие (4) может быть удовлетворено. Это позволяет повысить утилизацию межблочных связей разрабатываемой СнК путем перехода от использования выделенных шин к общим каналам передачи сообщений.
Указана стратегия проектирования, необходимая для удовлетворения предъявленным требованиям. Она заключается в анализе функций взаимосвязи некоторой модели СнК, разбиении необходимых для реализации функций на уровни и независимой разработке аппаратных решений, соответствующих каждому выделенному функциональному уровню.
Принято решение использовать пакетную передачу данных через общие коммуникационные каналы для повышения степени утилизации межблочных связей СнК.
Во второй главе на основе обобщенного представления блоков СнК анализируются функции, реализация которых необходима в системе взаимосвязи СнК МЦСТ-ЯЮОО. Результатом анализа является формирование функциональной иерархии 1Е.
Interrupt Cammuaieetiùn fabric
NB Communication fabric
Peripherals & coprocessors; Memory controllers f
domain domain
Ctrl CommviUC2tlon iabrit
Рисунок 2: Обобщенное представление конфигурации блоков СнК и связей между ними
На рисунке 2 показано обобщенное представление традиционной конфигурации блоков СнК и связей между ними. В этой модели процессорный домен содержит основные вычислительные ядра (Cores) и общую кэш-память последнего уровня (Last Level Cache, LLC). Множество контроллеров оперативной памяти (Memory controllers) выделены в отдельный домен. Сопроцессоры (Coprocessors) и периферийные адаптеры (Peripherals) представлены в виде одной структуры, так как предполагается, что они взаимодействуют с другими компонентами СнК по одинаковому сценарию — через общую память, как управляемые генераторы обращений прямого доступа к памята (Direct Memory Access, DMA). В таком представлении блоков СнК не конкретизируются их функциональные сущности и не фиксируется их количество. Коммуникационная инфраструктура представлена в виде трех коммутационных фабрик. Задача коммуникационной фабрики «северного моста» (NBCF) — связь процессорного домена, домена периферийных контроллеров и сопроцессоров с доменом контроллеров памяти. Управляющая коммуникационная фабрика (CtrlCF) предназначена для доступа к управляющим и конфигурационным регистрам
устройств СнК. Коммуникационная фабрика прерываний (InteruptCF) обеспечивает обмен сообщениями о прерываниях между блоками СнК. Все три коммуникационные фабрики могут иметь пересечения. CtriCF и InteruptCF в данной работе не рассматриваются. Многопроцессорная конфигурация также может быть рассмотрена в рамках представленной модели с той лишь разницей, что NBCF в ней помимо собственного оборудования СнК будет включать и межпроцессорные каналы передачи сообщений.
Задача NBCF заключается в пересылке сообщений нескольких типов — классов трафика (КТ), которыми блоки обмениваются в процессе своего взаимодействия. Для этого NBCF необходимо выполнять набор сетевых функций, таких как маршрутизация и коммутация сообщений. При использовании одних и тех же коммуникационных ресурсов для обработки различных КТ возможны ситуации блокировки системы, когда обработка сообщений одного КТ может замедлить до критического уровня или полностью остановить пересылку сообщений других КТ, вследствие нехватки ресурсов. Для предотвращения подобных ситуаций необходимо выполнение функции обеспечения качества обслуживания (Quality of Service, QoS), гарантирующей определенную скорость обработки сообщений каждого КТ. Три перечисленные функции: маршрутизация, коммутация и обеспечение качества обслуживания — формируют отдельный сетевой функциональный уровень системы взаимосвязи. Этот уровень соответствует коммутационной фабрике северного моста (NBCF). Обособление перечисленных функций позволяет изолировать остальные элементы IE от топологических особенностей NBCF, которые влияют только на микроархитектурные решения, соответствующие сетевому функциональному уровню.
Процесс обмена регламентированной единицей данных между блоками СнК состоит из последовательности фаз, называемой транзакцией. Фаза заключается в пересылке определенного сообщения через NBCF. Транзакции выполняются на транспортном уровне системы взаимосвязи СнК. Каждому блоку СнК (Unit), взаимодействующему с другими через IE, соответствует свой экземпляр оборудования, реализующего функции транспортного уровня (Transport LE) (см. рисунок 3). Эти функции включают контроль хода транзакций и преобразование протокола обмена данными соответствующего блока СнК во внутренний протокол подсистемы памяти. Таким образом, каждый блок может взаимодействовать с окружением по своему протоколу, вне зависимости от протоколов обмена данными других блоков. Переход на транспортном уровне к внутреннему протоколу подсистемы памяти также позволяет ввести единый интерфейс доступа к оборудованию сетевого уровня (Network LE), которое, как уже упоминалось, представляет собой NBCF. Это еще больше изолирует топологические аспекты NBCF и вопросы числа объединяемых блоков от микроархитектуры оборудования, реализ)ТОщеш функции других уровней IE.
Unit
juniTU.
Уишшммам' ■■южжжтвтьь
Unit I*.
Рисунок 3: Взаимодействие блоков СнК с оборудованием сетевого и транспортного уровней системы взаимосвязи
Для повышения производительности подсистемы памяти и максимально эффективного использования ресурсов ЫВСЯ, функции транспортного уровня реализуются с использованием протокола с раздельным выполнением фаз. Каждый экземпляр оборудования транспортного уровня способен параллельно обслуживал, некоторое число транзакций, которые в рамках выполнения своей текущей фазы конкурируют друг с другом за право доступа к ЫВСЕ Грант на использование ресурсов ЫВСР выдается транзакции для осуществления только одной фазы, после чего происходит очередной раунд арбитража.
Для оценки необходимого числа параллельно обрабатываемых транзакций N на транспортном уровне рассмотрим взаимодействие блоков как обращения инициаторов транзакций к общему разделяемому ресурсу. Оценка времени реализации I транзакций одного инициатора при протоколе с раздельным выполнением фаз составлеят
TL„
Y.T,
N
(5),
где 7"„ 1 = 0,Ь-1 — количество тактов синхросигнала, требующееся для выполнения ¿-ой транзакции. Определяя производительность В^-как количество транзакций, выполняемых за один такт,
I _ Ш _ N
2г;-<п (6).
В классических терминах пропускной способности (объем данных в единицу времени) выражение (5) принимает вид
Вге/~Т ~ L-1
1 СГГ
(Г)
где В — пропускная способность системы, Гсм — тактовая частота синхросигнала, Т — количество тактов, необходимое для обрабогки одной транзакции ¿V — объем данных, передаваемый за одну транзакцию. Из (7) следует, что N компенсирует среднюю длину транзакции для достижения требуемой пропускной способности и определяется, как
В{Т)
JV=
(8).
Далее выражение (8) используется для оценок необходимого числа одновременно выполняемых транзакций к 1Е СнК МЦСТ-ЯЮОО.
Для корректного обмена данными между блоками СнК необходимо соблюдение определенного порядка выполнения транзакций в рамках этого обмена. В функции транспортного уровня не входит контроль порядковых отношений между транзакциями. Гарантия соблюдения подобных отношений в системе взаимосвязи — функция синхронизации, выделяемая в сеансовый функциональный уровень 1Е.
j bèMKift I
L_ü_J
Network LE
Transport
Unit
cession .. le
Рисунок 4: Взаимодействие оборудования сеансового уровня с другими компонентами IE
Блоки, объединяемые IE, делятся на инициаторов транзакций и их приемников. Первые входят в состав процессорного домена, вторые — домена контроллеров памяти. Домен периферийных контроллеров и сопроцессоров содержит блоки, являющиеся как инициаторами транзакций (DMA-обращения), так и их приемниками (транзакции, генерируемые процессорным доменом для управления ходом DMA). Внутренний протокол подсистемы памяти требует синхронизации обращений к блокам-приемникам. Протокол обмена данными определенного блока-инициатора может требовать соблюдения порядка выполнения транзакций, генерируемых им. Сопроцессор или периферийный контроллер требует синхронизации DMA-обращений, генерируемых им с запросами от процессора, управляющими ходом его DMA. Для выполнения отношений порядка в трех описанных
J
случаях вводятся три подуровня синхронизации: протокольный, поточный, и межпоточный. С соответствующим какому-либо блоку оборудованием транспортного уровня взаимодействует свой собственный экземпляр оборудования сеансового уровня (Session LE). Взаимодействие между экземплярами оборудования сеансового уровня отсутствует (см. рисунок 4). Разделение функций организации транзакций и соблюдения порядка их выполнения упрощают разработку системы взаимосвязи блоков в СнК.
Для представленной модели СнК необходимые функции системы взаимосвязи блоков были разделены натри уровня: сетевой, транспортный и сеансовый
В третьей главе раскрываются детали реализации микроархитектурных элементов системы взаимосвязи СнК МЦСТ-RIOOO, соответствующих функциям каждого выделенного уровня.
Рисунок 5: Структурная схема СнК МЦСТ-RIOOO с системой взаимосвязи
На рисунке 5 изображена структурная схема СнК МЦСТ-RIOOO с системой взаимосвязи. В нее входит системный коммутатор (SC), реализующий функции сетевого уровня (Network Layer); контроллер СС, выполняющий функции транспортного и сеансового уровней (Session and Transport Layer) для MC; контроллер НВ, осуществляющий функции транспортного и сеансового уровней для ЮСС. Оборудование, реализующие функции двух верхних уровней для L2, интегрировано в состав его контроллера. IPCC0...2 напрямую соединяются с SC, так как они не являются ни инициаторами, ни приемниками транзакций (IPCC0..2 — расширение коммуникационной фабрики СнК, позволяющее строить многопроцессорные системы, как показано на рисунке 6).
Системный коммутатор обслуживает четыре класса трафика: первичные
запросы,когерентные запросы, ответы, данные. Для передачи сообщений первых трех КТ используется единый формат пакетов (командный пакет). Данные передаются пакетами другого формата (пакет данных), существенное отличие которого — разбиение на несколько посылок (flit). Основным квантом передачи данных в подсистеме памяти является юш-строка — 64 байта, которая передается за 8 посылок. В соответсвии с идеями 2-ой главы интерфейс системного коммутатора с блоками, выполняющими функции транспортного и сеансового уровня (арбитр L2, СС и НВ) и IPCC0...2 унифицирован. В каждом направлении, к коммутатору и от коммутатора, он представляет собой два порта - один для командных пакетов, другой для пакетов данных. Контроль ресурсов принимающей стороны осуществляется при помощи кредитного механизма. Введение унифицированного интерфейса с оборудованием сетевого уровня позволяет изолировать детали реализации последнего, включая топологические, от остальных компонентов СнК как на уровне одной СнК так и на уровне многопроцессорной системы.
SoCO i i Л 1 jiPCCOj*^. A. ♦ SoCl
se ¡lüífiH SC i s
\ /;|H>CC2[«. yL «_______ 1
SoC2
Y IipccgU*. -1
SC 1
|lPCC2j«.
♦ SoC3
Рисунок 6: Коммуникационная фабрика в случае многопроцессорной системы
В SC реализована статическая конфигурируемая маршрутизация. Идентификатором блока в системе является совокупность идентификатора блока в пределах одной СнК (unit id) и идентификатора СнК, в которой расположено устройство (nodejd). unit_id жестко привязан к каждому блоку: L2, МС, ЮСС. Во время выполнения ПНЗ определяется node_id каждого СнК многопроцессорной системы и формируются карта памяти и соответствующие таблицы маршрутизации. unit_id и nodejd блока-приемника транзакции определяются исходя из того, в какую область карты памяти попадает адрес запроса, инициирующего транзакцию. Необходимость передачи пакета блоку локального СнК или в один из трех межпроцессорных каналов определяется исходя из node_id и таблицы маршрутизации.
Í2
Описанные решения позволяют создавать многопроцессорные конфигурации с любым количеством СнК до четырех с произвольной связной топологией.
В SC реализована сквозная коммутация пакетов (cut-through packet switching) традиционная для коммуникационных фабрик в составе СнК, где время передачи пакетов между абонентами является критичным параметром. SC разделен на два коммутатора. Первый — коммутатор команд (SCC) обрабатывает командные пакеты. Второй — коммутатор данных (SCD) передает пакеты данных. Это решение позволяет устранить конфликты за коммуникационные ресурсы между классом трафика данных и другими КТ и упростить микроархитектуру обоих коммутаторов, исключив из нее необходимость поддержки пакетов различной длины. SCC реализует архитектуру коммутатора с несколькими буферами на входном порте, каждый из которых соответствует выходному порту (multiple input cross-point buffer switch architecture). Каждый буфер статически разделен . между пакетами трех КТ. Разделение конфигурируется во время выполнения ПНЗ, что позволяет оптимальным образом распределить буферное пространство между пакетами трех КТ. Равноправное распределение пропускной способности каналов передачи данных к выходным портам регулируется на основе раздельного алгоритма назначения (separable allocator). Принятые меры гарантируют равномерное распределите коммуникационных ресурсов SCC между тремя КТ и исключают возможность их захвата пакетами только одного класса трафика. Это необходимо для обеспечения качества обслуживания. SCD реализует архитектуру коммутатора с одним буфером на каждом входе, формирующим единую очередь пакетов (single buffer single queue switch architecture). Это архитектура проще реализованной в SCC, так как SCD обрабатывает пакеты одного КТ, безусловно принимаемые блоками СнК (iданные освобождают ресурсы блоков, в то время, как сообщения других КТ их захватывают).
На рисунке 7 представлена структурная схема оборудования, выполняющего функции транспортного уровня IE СнК МЦСТ-RIOOO. Оборудование спроектировано единообразно для всех блоков, объединяемых IE. Различия определяются разницей интерфейсов и протоколов обмена данными этих блоков (если такие имеются). TRN_REG ■— оборудование, обрабатывающее одну транзакцию, конечный автомат, контролирующий ход ее выполнения. TRN_REG преобразует протокол обмена данными блока во внутренний протокол подсистемы памяти; контролирует последовательность фаз обрабатываемой транзакции; формирует сообщения для отправки смежным модулям (SC или обслуживаемый блок) в рамках той или иной фазы. Конфликты между TRN_REG за право использования внешних интерфейсов разрешаются при помощи арбитров (ARB_LL и ARB_HL). Входящие сообщения декодируются в блоках DEC LL и DEC_HL. Буфер данных (DATA_BUF) служит для
хранения данных, передаваемых в рамках как транзакций чтения, так и транзакций записи. Число параллельно обрабатываемых транзакций N определяется количеством TRN_REG в экземпляре оборудования. Подобная структура модуля, реализующего функции транспортного уровня, позволяет параметризовать степень параллелизма при обработке транзакций в IE.
Higher Uiyer (HL) OATA сна то Pitot*
CMD TO
Lower Layer (LL)
cmd FROM
Рисунок 7: Структурная схема оборудования, выполняющего функции транспортного уровня
Определение числа параллельно обрабатываемых транзакций N основывается на необходимости утилизации пропускной способности канала памяти В = 6,4 Гбайт/с. Тактовая частота оборудования системы взаимосвязи Fchct — 1 ГТц, объем данных, передаваемый за одну транзакцию обращения к памяти 5V = 64 байга. Принимая во внимание высокую частоту синхронизации, конкуренцию сообщений различных транзакций за общие коммуникационные ресурсы в SC, задержки обработки запросов в МС, оценка среднего времени выполнения одной транзакции обращения к памяти была сделана как (130 +/- 20) тактов. В таких условиях N определяется из (8) как
Р clock rr
В СнК МЦСТ-RIOOO на транспортном уровне одновременно обрабатываются 16 транзакций.
Аппаратура, реализующая функции сеансового уровня для определенного блока СнК, занимает малую площадь по сравнению с соответствующим оборудованием транспортного уровня и взаимодействует только с ним. Чтобы не усложнять структуру СнК МЦСТ-RIOOO
оборудование, выполняющее функции двух верхних уровней для определенного блока (МС, IOCC, L2), интегрировано в составе одного модуля (СС, НВ, контроллер L2). Функции сеансового уровня реализуются в механизмах трех подуровней синхронизации.
Протокольный (Protocol Synch Level, PSL) — механизм синхронизации приемника, гарантирующий, что в любой момент времени приемником обрабатывается только одна транзакция с определенным идентификатором (требуется в силу специфики внутреннего протокола подсистемы памяти). Приемниками транзакций в СнК МЦСТ-RIOOO являются МС и IOCC. IOCC в качестве приемника обрабатывает процессорные запросы к устройствам «южного моста» (Processor Input-Output, PIO). В случае МС идентификатором является адрес запроса, инициировавшего транзакцию. В случае ЮСС — совокупность node_id, unitid блока, инициировавшего транзакцию, и номера TRNREG, обрабатывающего данную транзакцию в этом блоке.
Поточный (Stream Synch Level, SSL) — механизм синхронизации, гарантирующий порядок выполнения транзакций блока-источника, диктуемый собственным протоколом обмена данными этого блока. Механизм реализуется в оборудовании сеансового уровня блоков-источников. В случае СнК МЦСТ-RIOOO только ЮСС требует соблюдения некоторого порядка выполнения транзакций (DMA-обращений), генерируемых им. Механизм, контролирующий данный порядок, основывается на гарантии выполнения транзакций, инициированных до определенного события, раньше транзакций, инициированных после этого события. Рассматриваемое событие называется точкой синхронизации. В НВ введено несколько точек синхронизации. Наиболее существенная из них — генерация транзакции чтения после транзакции записи. Ее введение позволяет разрешить конфликты запись-чтения обращений к оперативной памяти.
SC ( Network Layer 1
IOCC { Terminal Layer )
Рисунок 8: Структурная схема НВ
Межпоточный (Interstream Sytich Level, 1SL) — механизм синхронизации, необходимый для корректной работы блоков домена периферийных контроллеров и сопроцессоров. В СнК МЦСТ-RÎOOO этот домен представлен IOCC. Следовательно, механизм ISL реализован только в НВ, где они синхронизируют РЮ-запросы и DMA-обращения. Данный механизм частично основывается на SSL, вводя точку синхронизации, соответствующую приходу из ЮСС ответа на PIO-чтение. Этот ответ не выдается процессору до завершения всех DMA-обращений, инициированных до введенной точки синхронизации. Такая синхронизация необходима для корректной работы с устройствами «южного моста».
Структурная схема НВ изображена на рисунке 8. Как отмечалось, НВ является одновременно инициатором и приемником транзакций. Он включает два экземпляра оборудования транспортировки, обрабатывающих РЮ-обращения — HBTARGET и DMA-запросы — HBMASTER. Механизмы PSL, согласно назначению, взаимодействует только с HB_TARQET, SSL — с HBMASTER. Механизмы ISL, обеспечивая синхронизацию двух потоков, взаимодействует и с тем и с другим.
Таким образом в системе взаимосвязи СнК МЦСТ-RIOOO реализованы микроархитектурные элементы, соответствующие каждому выделенному функциональному уровню.
В четвертой главе дан количественный и качественный анализ эффективности решений, принятых при проектировании системы взаимосвязи блоков СнК МЦСТ-RIOOO, представлены сравнительные характеристики разработанной системы и ее зарубежных аналогов.
Эксперименты проведены на базе двух стендов: исполнения тестовых программ на синтезируемой rlt-модели всего микропроцессора; автономного моделирования поведения системного коммутатора при сингетических нагрузках на него. Предметом измерений являлись время выполнения транзакций обращения к памяти, задержки прохождения сообщений через SC, относительная пропускная способность системного коммутатора (throughput). Последняя определялась как
(Ю),
at in—> oui
где ANin-w, — приращение количества пакетов прибывших от входа in к выходу out за время измерения At. — темп генерации сообщений на входе in, местом назначения которых
является out. Темп генерации является управляемой — известной величиной.
С помощью первого стенда получены значения задержек прохождения пакетов через SC. Измерения производились при выполнении процедуры массового копирования. Данная
задача является наиболее критичной для производительности подсистемы памяти и 1Е, как ее составной части. Полученные результаты представлены на рисунке 9. При выполнении указанной процедуры средняя задержка — 13 тактов. Около 75% пакетов обрабатывается 8С за три такта. Таким образом, подавляющее большинство пакетов проходит коммутатор за минимальное время. 80,00 -70,00 -
1 2 3 4 5 6 7 8 9 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 Врема прохождения пакета через коммутатор, такт.
Рисунок 9: Распределение времени прохождения пакетов через ЗС
90.00
80,00 -
70,00
60,00
г:
50,00
л
со
40,00
м-
к с 30,00
гЧ
20,00
10,00-
0,00
-
1 ь...........
О 20 40 60 80 100 120140160 180200 220240260280300320 340 360 380400 420440460480500520 Время выполнения транзакции чтения, такт.
■ Инициатор 13 Приемник
Рисунок 10: Распределение времени выполнения транзакций чтения памяти Одновременно были произведены замеры времени реализации транзакций обращения
к памяти. Измерения производились как в инициаторе (Ь2), гак и в приемнике (МС) транзакций. Распределение времени обработки транзакций чтения представлено на рисунке 10. Из него следует, что среднее время чтения — 85 тактов. Полученные результаты подтверждают корректность оценки длительности транзакций обращения к памяти, сделанные в главе 3.
1,00 ••¡г
0,30 0,40 0,50 0,60 0,70 Нагрузка на БС пакеты/такт
к 45: р
о 40
со
о:
; 35»
щ
30 25 20 1 15 < 10 « 5
1
1
*
1
1 .1 ,1
1 /
1 тешгя0> У
_
0,00 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,50 0,90 1,00 Нагрузка на БС, пакеты/гакт.
Рисунок 11: Параметры производительности БС
При помощи второго измерительного стенда были получены параметры производительности одного канала БС при фоновой нагрузке на остальные каналы (см. рисунок 11). Зависимость пропускной способности одного канала ЭС от нагрузки на него — линейная до значения аргумента, равного (0,83+/-0,02), что определят предельную пропускную способность коммутатора. Факт состояния насыщения ЭС также отображается в
графике зависимости задержек прохождения пакетов от нагрузки, который имеет вертикальную асимптоту Х=(0,83+/-0,02). Снижение предельной пропускной способности до 0,83 объясняется фоновой нагрузкой на порты SC, не превосходящей 0,1, и неоптимальным в некоторых случаях решением задачи назначения в коммутаторе, что характерно для аппарагао реализуемых алгоритмов. Так как нагрузка на SC ограничивается пропускной способностью интерфейса с памятью, можно показать что она не превосходит 0,4. Таким образом, SC всегда находится в состоянии ниже точки насыщения.
В таблице 1 сравниваются характеристики подсистемы памяти СнК МЦСТ-RIOOO и аналогичных систем: ARM CCI-400 и Freescale CoreNet. Первая является IP, предоставляемым ARM вместе с лицензируемыми ядрами Coterx-A15, Cortex-A7 и т.п.. CoreNet — внутренняя платформа Freescale, на базе которой созданы такие многоядерные СнК, как QorlQ Р4040, Р4080, Т4160, Т4240. Кроме МЦСТ-RIOOO в таблице приведены характеристики расширенного варианта этой СнК — МЦСТ-RIOOOE, проработанного на данный момент в ЗАО «МЦСТ». В МЦСТ-RIOOOE два четырехъядерных кластера и два канала памяти.
чкм (41-400 Frcescale Con Net МЦСТ шооо , МЦС 1 III 110(11
Количество объединяемых ядер, число 4-х ядерных кластеров. 2 2t 1 2
Пропускная способность на один 4-х ядерный кластер, Гбайт/с 14,4 25 6,8 27,2
Характеристики каналов памяти 2x32 бит DDR3-1600* 2x64 бит DDR3-2133f 64бит DDR2-800 2х64бит DDR3-1600
Ширина шин данных, байт 16 32 8 16
Тактовая частота. ГГц 0,9* 0,9t 1 2
Технология производства 28нм* 28ш4 90 нм 28нм
Поддержка многопроцессорных конфигураций Нет Нет Да Да
Таблица 1: Сравнительные характеристики подсистем памяти ARM CCI-400, Freescale CoreNet, СнК МЦСТ-RIOOO и СнК МЦСТ-RIOOOE. * — на примере СнК Allwinner UltraOcta А80. t — на примере СнК Freescale QorlQ Т4169.
Из таблицы 1 видно, что подсистема памяти МЦСТ-RIOOOE соответствует представленным зарубежным аналогам. За счет более высокой тактовой частоты требуемая пропускная способность в ней достигается при вдвое меньшей ширине шин данных. Необходимо отметить, что подсистема памяти МЦСТ-RIOOO (R1000E) поддерживает многопроцессорные конфигурации в то время, как представленные зарубежные аналоги лишены этого свойства.
Анализ характеристик разработанной системы взаимосвязи показал, что она
удовлетворяет изначально поставленным требованиям производительности. Время прохождения пакетов через коммутатор в большинстве случаев близко к минимальному. Это подтверждает выполнение сетевым уровнем функций обеспечения качества обслуживания трафика. Сравнение характеристик разработанной системы с ее зарубежными аналогами показывает, что она соответствует уровню разработок передовых западных компаний.
В пятой главе рассматриваются варианты развития СнК МЦС'Г-К I ООО и перспективы внедрения коммуникационных фабрик с многоузловыми топологиями в будущие поколения многоядерных микропроцессоров
со Cl С2 СЗ
t 1 1
__"____
Ethernet TontreoHei
sç
Рисунок 12: Вариант модификации СнК МЦСТ-КЮОО на базе разработанной системы взаимосвязи
Разработанное оборудование может быть использовано в модификациях СнК МЦСТ-RIOOO, не выходящих за рамки модели СнК из главы 2. На рисунке 12 представлен вариант микропроцессора на основе СнК МЦСТ-RIOOO с интегрированным сопроцессором и набором контроллеров современных периферийных интерфейсов. Сопроцессором может быть графическое ядро (GPU), сигнальный процессор (DSP), крипто-ускоритель (Crypto) и т.п., взаимодействующие с процессорными ядрами микросхемы через общую память. Сопроцессор является DMA-генератором, что позволяет его логически объединить с остальными модулями СнК, так же как НВ.
В состав СнК включены два периферийных контроллера (PCfe и Ethernet), интегрирование которых в состав микропроцессора является общепринятой практикой в СнК для встроенных применений. Введение второго канала памяти (контроллера MCI) в состав СнК подразумевает создание дубликата соответствующего оборудования транспортного и сеансового уровней (CCI), которое идентично оригинальному контроллеру когерентности. Создание описанной СнК возможно на базе уже разработанной системы взаимосвязи блоков.
IPL phy
IPL phy
| i^ici j
SPARC core* • SPARC ¿•ores SPARC| row 6 j SPARC ¡ tbré'f
SL-..... ЬЧ
Рисунок 13: Вариант модификации СнК МЦСТ-ЮООО, использующий многоузловую топологию коммуникационной фабрики
Развитие СнК МЦСТ-RIOOO, предполагающее наращивание количества процессорных ядер и увеличение масштабов многопроцессорных конфигураций столкнется с необходимостью обеспечения взаимосвязи до 20 блоков в СнК и перехода к многоузловым топологиям коммутационной фабрики СнК. В отличие от CMP (Chip Multi Processor), которые являются популярным примером рассмотрения многоузловых топологий сетей на кристаллах (Network on Chips, NoC), микропроцессоры общего назначения обладают нерегулярной компоновкой блоков и характеризуются несимметричным шаблоном нагрузок со стороны модулей на систему взаимосвязи. Таким образом, топологии коммуникационных фабрик СнК с нерегулярной структурой блоков становятся ключевой темой исследования, открывающего пути применения NoC в серверных микропроцессорах.
На рисунке 13 представлен вариант СнК, включающей 16 процессорных ядер (согеО. .15), разделенных на четыре домена, с общей кэш-памятью второго уровня (L2S0...3) в каждом. Разделяемая всеми ядрами кэш-память третьего уровня организована в виде четырех независимых банков (L3S В0...3). Устройство поддержки когерентного состояния кэш-памяти (CCU0...3) логически распределено в структуре микропроцессора. В состав СнК также входят четыре контроллера DDR3 SDRAM памяти (MCU0...3) и четыре контроллера
межпроцессорных каналов (IPLC0...3), при помощи которых возможно построение многопроцессорного комплекса с шестнадцатью СнК. В представленной СнК топология коммуникационной фабрики — 3x3 решетка (mesh). В ее узлах располагаются 9 коммутаторов трех различных видов. Четыре коммутатора 2x2: RNE, RSE, RSW и RNW. Четыре — 2x3: RN, RE, RS и RW. Один — 4x4, RC. Разбиение L3 на четыре банка дает возможность эффективно использовать выбранную топологию, размещая ее ребра между блоками СнК. Распределение оборудования CCU и симметричное расположение остальных абонентов сети обеспечивают равномерную нагрузку на коммуникационную фабрику.
Система взаимосвязи представлегаюй СнК строится на основе IE СнК МЦСТ-RIOOO. В последней сетевые функции изолированы на одноименном уровне. Это решение позволяет оградить влияние топологии коммуникационной фабрики СнК на оборудование транспортного и сеансового уровней IE. Благодаря этому в приведенном примере возможно использование микроархитектурных элементов двух верхних уровней IE СнК МЦСТ-RIOOO, в то время как оборудование сетевого уровня здесь претерпевает кардинальные изменения.
Приведены варианты модификации СнК МЦСТ-RIOOO, построенные на базе разработанной системы взаимосвязи блоков. Показан пример использования разработанной системы для реализации NoC в будущих поколениях семейства микропроцессоров МЦСТ-R.
Основные результаты работы
Представленная работа направлена на исследование принципов построения системы аппаратных средств, обеспечивающих взаимодействие блоков СнК. Целью работы является разработка системы взаимосвязи, позволяющей объединять блоки СнК вне зависимости от их конкретного назначения. Результаты работы дают возможность на базе микроархигектурной платформы, разработанной в рамках одного поколения микропроцессоров, проектировал, ряд СнК, соответствующих различным сегментам рынка ВТ.
Апробация результатов исследования произведена в процессе проектирования СнК МЦСТ-RIOOO. Для этого микропроцессора разработана микроархитектура системы взаимосвязи блоков, элементы которой могут быть использованы как для модификации СнК МЦСТ-RIOOO, так и в будущих поколения микропроцессоров серии МЦСТ-R.
В процессе выполнения работы были получены следующие основные результаты, выносимые на защиту.
• Спецификация иерархической структуры функций системы взаимосвязи блоков в СнК.
Выделены сетевой, транспортный и сеансовый уровни. Указаны функции, соответствующие этим уровням.
• Разработка микроархитектурпых элементов применительно к каждому из выделенных функциональных уровней.
Получены аппаратные решения, соответствующие каждому функциональному уровшо системы взаимосвязи. Спроектированные механизмы реализованы в составе СнК МЦСТ-RIOOO.
• Определение принципов построения микроархитектуры системы взаимосвязи СнК, на основе которой возможно объединение блоков вне зависимости от их конкретного функционального назначения.
На базе рассмотренной модели СнК определены принципы формирования системы взаимосвязи ее блоков, применимые доя СнК, соответствующих указанной модели. Данные принципы реализованы в СнК МЦСТ-RIOOO. Приведены примеры модификации этой микросхемы, заключающиеся в интеграции дополнительных вычислительных модулей на базе разработанной микроархитектуры системы взаимосвязи.
• Исследование вариантов применения разработанной системы взаимосвязи блоков в будущих поколения микропроцессоров, использующих многоузловые топологии коммутационных фабрик.
Произведен анализ проблем, возникающих при использовании многоузловых топологий коммуникационных фабрик в перспективных микропроцессорах семейств МЦСТ-R. Рассмотрен вариант применения подобных топологий в рамках развития СнК МЦСТ-RIOOO, предусматривающего масштабирование количества процессорных ядер.
Список работ, опубликованных по теме диссертации
• Щербина H.A. Разработка системного коммутатора для микропроцессора MHCT-4R // Труды 52-й научно конференции МФТИ, Часть 1, Том 1, М.:МФТИ, 2009, С. 77-79.
• Щербина H.A. Системный коммутатор для микропроцессора «MHCT-4R» // Вопросы радиоэлектроники, серия ЭВТ, Выпуск 3,2010, С. 93-102.
• Щербина H.A. Факторы обеспечения качества обслуживания в сетях на кристалле // Научно-техническая конференция «Перспективные направления развития средств вычислительной техники». Сборник тезисов и докладов. М.: ОАО «Концерн «Вега», 2011, С. 45-46.
• Щербина H.A. Проблемы реализации сетевых подходов при создании СнК и NUMA-
систем на их основе (на примере микропроцессора «MLJCT-4R») // XXXVII Гагаринские чтения. Научные труды Международной молодежной научной конференции в 8 т. Т. 4, М.: «МАТИ»-РГГУ, 2011, С. 125-126.
Волин B.C., Щербина H.A. Анализ потребляемой мощности СнК «МЦСТ-4Л» // Труды 54-й научной конференции МФТИ, Радиотехника и кибернетика, Том 1, М.:МФТИ, 2011, С. 31-32.
Щербина H.A., Черепанов С.А. Применение концепций сетей межсоединений при проектировании СБИС // Всероссийская молодежная научно-техническая конференция «Прикладные научно-технические проблемы современной теории управления системами и процессами». Сборник тезисов и докладов. М.: ФНПЦ ОАО «Концерн «Вега», 2012, С. 88-89.
Волин B.C., Черепанов С.А., Щербина H.A. Организация поддержки когерентности в системе на кристалле «МЦСТ-RIOOO» // Вопросы радиоэлектроники, серия ЭВТ, Выпуск 3,2012, С. 14-27.
Волин B.C., Щербина H.A. Анализ потребляемой мощности для опытных образцов СнК «МЦСТ-RIOOO» // Вопросы радиоэлектроники, серия ЭВТ, Выпуск 3, 2013, С. 135-143.
Подписано в печать:
02.09.2014
Заказ № 10177 Тираж - 100 экз. Печать трафаретная. Типография «11-й ФОРМАТ» ИНН 7726330900 115230, Москва, Варшавское ш., 36 (499) 788-78-56 www.autoreferat.ru
-
Похожие работы
- Встречное тестирование высокопроизводительных микропроцессоров
- Методы и средства программного моделирования для обеспечения процесса проектирования микропроцессорных систем
- Методы и средства прогнозирования радиационной стойкости микропроцессорных СБИС
- Высокопроизводительные RISC-микропроцессоры для встраиваемых применений с оптимизированной структурой конвейера команд
- Разработка специализированных прототипов на основе программируемой логики для эффективной функциональной верификации многоядерных микропроцессоров
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность