Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Щербина Николай Александрович

Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R
<
Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Щербина Николай Александрович. Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R: диссертация ... кандидата технических наук: 05.13.05 / Щербина Николай Александрович;[Место защиты: Институт электронных управляющих машин им.И.С.Брука - ОАО].- Москва, 2014.- 118 с.

Содержание к диссертации

Введение

Глава 1 Сетевые методологии взаимосвязи в микропроцессорах

1.1Сети межсоединений в вычислительной технике 11

1.2 Различные домены IN 11

1.3 Возникновение сетевых методологий взаимосвязи в СнК 14

1.4 Задачи решаемые внедрением сетевых методологий взаимосвязи блоков СнК 16

1.5 Цели представленной работы 18

1.6 Области внедрения СМ взаимосвязи блоков микропроцессора 20

1.7 Особенности реализации СМ в микропроцессорах 24

Глава 2 Уровневая организация взаимосвязи блоков микропроцессора

2.1 Предпосылки формирования 29

2.2 Обеспечение качества обслуживания при пересылке сообщений через коммутационное поле 32

2.3 Обмен между оконечными объектами системы взаимосвязи блоков 33

2.4 Синхронизация 41

2.5 Иерархия функций взаимосвязи блоков микропроцессора МЦСТ-R1000 43

2.6 Введение микроархитектурных слоев в общую функциональную иерархию ОВ 44

Глава 3 Реализация уровней взаимосвязи блоков в микропроцессоре МЦСТ-R1000

3.1 Общая характеристика базового микропроцессора 47

3.2 Транзакции между блоками 49

3.3 Оборудование уровней взаимосвязи функциональных блоков 51

3.4 Реализация функций сетевого уровня 52

3.5 Пересылка транзакций при реализации функций транспортного уровня 67

3.6 Реализация функций сеансового уровня 71

Глава 4 Анализ эффективности разработанного оборудования взаимосвязи блоков

4.1 Измерительный стенд 78

4.2 Требования QoS 80

4.3 Производительность механизмов сетевого уровня 82

4.4 Анализ общей производительности оборудования взаимосвязи блоков микропроцессора 88

Глава 5 Перспективы развития сетевых методологий взаимосвязи блоков в микропроцессора семейства «Эльбрус» будущих поколений

5.1 Развитие технологических уровней ОВ 93

5.2 ОВ СнК МЦСТ-R1000 при интеграции новых функциональных блоков 93

5.3 Перспективы развития ОВ СнК МЦСТ-R1000 в сеть на кристалле... 97

5.4 Направления исследований для перехода процесса проектирования микропроцессоров семейства «Эльбрус» к созданию сетей на кристаллах 105

Заключение 107

Список литературы

Возникновение сетевых методологий взаимосвязи в СнК

В высокопроизводительных СнК сети на кристалле применяются для объединения до нескольких десятков процессорных ядер общего назначения. Так например, в Intel TeraFLOPS [13], на одном кристалле взаимодействуют 80 ядер, в Tilera TILE64 [14] интегрированы 64 ядра. Представителями данного класса СнК также являются Intel Single-Chip Cloud Computer (SCCC) [15] (48 процессорных модулей на кристалле), Godson [16 ] (64 процессорных модуля на кристалле). Помимо этого NoC применяются для построении СнК для встроенных систем, где на одном кристалле объединяются, помимо ядер общего назначения, специализированные вычислительные модули, такие как сигнальные процессоры DSP, графические ядра GPU и всевозможные ускорители. В таких микросхемах обычно IN объединяет около десятка устройств. Примерами таких чипов могут служить Freescale QorIQ Qonverege [17][18] [19], объединяющие на одном кристалле ядра общего назначения и DSP ускорители; Marvell Armada [20] и TI OMAP [21], в которых на одном чипе объединяются процессорные модули, криптографический ускорители, LCD адаптеры и ряд периферийных контроллеров. Понятно, что все узлы IN в данном домене располагаются на расстоянии порядка сантиметра.

На рис. 1.1 представлено отношение разных доменов сетей межсоединений в терминах количества устройств, которые они объединяют, и расстояния, на которых эти устройства располагаются друг от друга.

В данной работе речь пойдет о самом молодом домене IN, а именно о Сетях на кристалле. В связи с технологической возможностью интегрировать множества ядер на одном кристалле и создавать гетерогенные СнК, состоящие из большого количества разнородных вычислительных модулей, технологии IN, как средства взаимосвязи блоков одной микросхемы выглядят весьма привлекательно. Эффективность их использования при проектировании СБИС подтверждена многими успешными зарубежными проектами.

По сравнению с другими доменами IN, сети на кристалле очень молодое понятие и его концепции находятся на раннем этапе своего развития. В конце 1990х традиционные пути взаимосвязи таких блоков микропроцессора, как кэш-памяти, регистровые файлы, арифметические устройства, сводились либо к использованию выделенных (deicated) каналов, предназначенных для передачи определенного типа сообщений между конкретной парой устройств, либо обшей шине [11]. Первое имело цель минимизировать задержки передачи сообщений, второе — упростить межмодульное взаимодействие. C ростом степени интеграции оборудования на одной микросхеме и с приходом парадигмы системы на кристалле

увеличивается количество устройств, взаимодействующих друг с другом на одной СБИС, длины и задержки проводов, мощность потребления чипа, связанная с коммуникацией на кристалле. Становится необходимо более эффективно использовать физические возможности чипа по передаче информации между его модулями. Появляются аспекты того, что уже через несколько лет будет называться сетями на кристаллах. Одними из первых обративших на это внимание были A. Agarwal — 1997 [27] и W. Dally — 1999 [28], 2001 [6]. Они и другие утверждают, что сеть на чипе, оперирующая пакетами сообщений, позволяет эффективнее разделять ресурсы проводов микросхемы между различными коммуникационными потоками и улучшает модульность архитектуры СБИС и устраняет проблемы, связанные с длинными связями на кристалле [29].

Сети на кристалле были представлены как коммуникационная архитектура, обеспечивающая более высокую устойчивость к ошибкам, за счет их изолированности. Задачи проектирования подобной NoC были описаны M. Taylor и др. — 2005 [35]. Процесс проектирования NoC, представляющий собой полностью автоматизированный маршрут синтеза сети на кристалле, был предложен D. Bertozzi и др. — 2005 [36]. Отталкиваясь от этих первых работ множество ученных и инженеров продолжили исследования в сфере сетей на кристаллах, сделав эту область одной из важных в микроархитектуре СнК.

К середине 2000х NoC начинают активно проявлять себя в промышленной реализации. Современные примеры микропроцессоров, использующих идеи NoC, упомянуты в пункте 1.2 данной работы, а обзор более ранних можно найти у T. Pinkston и J. Shin — 2005 [37]. Популярность сетевых методологий взаимосвязи блоков микросхем вызвана тем, что их применение позволяет сократить время проектирование микропроцессора на уровне СнК. Время выхода чипов на рынок (time to market) и умение придерживаться строгого проектного расписания одни из решающих факторов успеха, компаний в мировой микропроцессорной индустрии. Это стало одной из причин активной экспансии сетевых методологий в СнК.

Объединение модулей СнК

Основная задача, стоящая перед СМ в микропроцессорах, исходит из проблемы интеграции множества блоков (процессоров, ускорителей, контроллеров, элементов памяти) на кристалл и обеспечения их взаимодействия в виде обмена данными. СМ решают такую задачу, предоставляя коммуникационную платформу внутри чипа обладающую рядом достоинств: модульностью, масштабируемостью, гибкостью, возможностью наследования между проектами. Если первые два свойства не нуждаются в разъяснении, то смысл последних не столь ясен и нуждается в более развернутом изложении.

В то время как цена разработки и производства полупроводниковой техники растет, все более привлекательной становится возможность переиспользования блоков ранее разработанных микросхем либо лицензированных IP-блоков. Свойство модульности проекта упрощает этот процесс и является приоритетным в современных СнК. Однако, существует ситуация когда необходимо в сжатые сроки и с минимальными затратами модифицировать уже спроектированную СнК. Скажем, добавить или убрать какой-либо сопроцессор, ускоритель периферийный контроллер. Такое часто требуется на рынке микропроцессоров для встроенного применения.

Обеспечение качества обслуживания при пересылке сообщений через коммутационное поле

Аппаратная реализация функций маршрутизации и коммутации сообщений между блоками потребовала специальных мер для обеспечения качества обслуживания трафика (Quality of Service, QoS),. Процесс взаимодействия блоков связан с пересылкой сообщений, характеризуемой несколькими классами трафика. В первую очередь они свойственны операциям обращения к памяти, выполняемым в пределах одного микропроцессора или многопроцессорной NUMA-системы. Каждому классу соответствуют свои параметры трафика, которые бывает трудно или даже невозможно без дополнительных мер совместить при реализации запросов от нескольких источников к памяти, связанных с использованием одних и тех же коммуникационных ресурсов. В этом случае возможны ситуации типа deadlock, либо длительной блокировки системы, когда трафик одного класса может замедлить до критического уровня или полностью остановить пересылку трафика других классов. Например в [7] к таким ситуациям относятся: Deadlock (сообщение не может достичь получателя вследствие блокирования его на некотором сетевом ресурсе), Livelock (сообщение не в состоянии достичь получателя вследствие вхождения его в замкнутый цикл обработки сетевым оборудованием), Starvation (сообщение не может достичь получателя вследствие того, что оно не в состоянии получить грант на использование того или иного сетевого ресурса, так как он в это время занят другими сообщениями).

Обмен между оконечными объектами системы взаимосвязи блоков Абстракция пересылки транзакций В общем виде процесс обмена endo-end можно представить системой на рис 2.3, которая включает в себя K инициаторов обращений (masters) и один приемник (target) — общий разделяемый инициаторами ресурс. Будем считать, что приемник не является узким местом системы, то есть способен одновременно обрабатывать все переданные ему запросы. Таким образом количество приемников не повлияет на ход дальнейших рассуждений, а следовательно и на их общность.

Положим, что инициатор не испытывает недостатка в запросах на обращения к ресурсам приемника, то есть он всегда имеет доступ к конечному множеству этих запросов.

Каждая из операций чтения или записи заключается в пересылке по обеим направлениям последовательности сообщений, называемой транзакцией. В функциональной классификации эталонной модели OSI/ISO транзакции выполняются на транспортном уровне.

Протоколы с нераздельным выполнением фаз

Протоколы обращений вычислительных модулей СнК в память состоят из нескольких фаз (стадий). В элементарном случае для транзакции чтения необходимо отправить запрос с адресом и получить в ответ находящиеся по этому адресу данные. В случае записи нужно отправить адрес с данными и получить ответ об успешном выполнении операции. В дальнейших рассуждениях без ограничения общности чтения и записей различаться не будут.

В ранних вариантах взаимосвязи блоков в микропроцессорах все фазы одной транзакции были нераздельными: инициатор получал в пользование канал пересылки сообщений, тем самым становясь активным, осуществлял все стадии транзакции и только затем освобождал его. То есть, во время выполнения одной транзакции активного инициатора другой инициатор не мог осуществлять транзакции по этому каналу, более того, активный инициатор мог одновременно выполнять лишь одну транзакцию. Положим ТЇ — время1 исполнения z-ой транзакции, где i=1,Nk,Nke\N , k-го инициатора, где таком случае полное время выполнения всех транзакций только k-го инициатора равно

Так как в каждый момент времени может осуществляться лишь одна транзакция одним инициатором, то полное время выполнения всех транзакций Tbase определяется как

Всвязи с растущими требованиями к производительности формат транзакций обращения в память изменялся. Были предложены конвейеризированные протоколы, позволяющие одному инициатору более эффективно использовать канал передачи данных во время ожидания ответов на уже инициированные запросы. То есть, если считать, что любая транзакция завершается за одно и тоже время: \/k=0,K-1: V/= 1,Nk:Tk1 = Tk0 , то при транспортировке сообщений можно организовать конвейер. В таком случае время выполнения всех транзакций k-го инициатора при условии неактивности других инициаторов сведется к

Из (2.6) видно, что положительный эффект от конвейеризации тем больше, чем дольше исполняется одна транзакция. В предельном случае, при i?V/Y — 0 он стремится к гиперболической зависимости от 7 0. Также (2.6) указывает на то, что частые смены активного инициатора уменьшают выигрыш в производительности от перехода к конвейерной обработке транзакций. Следовательно, условиями, способствующими введению конвейеризованных протоколов, возросшее время выполнения отдельной транзакции и малое количество инициаторов в системе.

Оптимизация конвейеризованных протоколов В приведенном выше режиме инициатор все еще захватывает канал на всю длину непрерывной серии транзакций и является в этот период времени активным. Тем не менее, фазы транзакций уже становятся раздельными в том смысле, что между фазами одной транзакции могут выполнятся фазы другой. То есть, один инициатор может обрабатывать несколько транзакций одновременно.

Переход к конвейеризованным протоколам был осуществлен в допущении, что время выполнения всех транзакций одинаково. Его невыполнение приводит к неоптимальному использованию коммуникационных ресурсов при выбранном типе протоколов. Рассматривая работу только одного активного инициатора, можно удалить из рассуждений неблагоприятное влияние смены инициаторов на производительность. То есть, использовать выражение (2.3) для определения быстродействия системы. Если время ответа на какой-либо запрос превышает 7 0, то вся системы блокируется. Ситуация совпадает со старой, когда в протоколах с нераздельным выполнением стадий транзакций активный инициатор не освобождает канал, только в этом случае активным следует называть не инициатора, а транзакцию, которая в данный момент ожидает выполнения финальной фазы. Это приводит к модификации выражения (2.3) для времени выполнения всех транзакций одного инициатора. Более точным будет выражение.

Естественным решением относительно второго фактора деградации производительности было бы избежание блокировки системы при длительном ответе из приемника путем освобождения канала активным в данный момент инициатором и передачи его другому. До того момента, как ответ на длительную транзакцию не придет из приемника, возможность доступа к каналу должна быть для соответствующего инициатора исключена. То есть, за время «простоя» инициатора, долго ждущего ответа на активный запрос, другие инициаторы могут исполнять свои транзакции.

Оборудование уровней взаимосвязи функциональных блоков

Транзакции пересылки данных состоят из фаз. Каждая фаза заключается в отправке либо приеме определенного сообщения при взаимодействии с системным коммутатором или вышележащим блоком. Контроль за ходом выполнения транзакции заключается в соблюдении определенной последовательности ее фаз. Вторая задача предполагает декодирование пришедшего из вышележащего уровня запроса, определение типа транзакции, которой он соответствует, и формирование сообщений, необходимых в рамках этой транзакции, для передачи в коммутатор.

Для увеличения общей производительности микропроцессора необходимо введение большего параллелизма в процесс обработки транзакций. По этой причине при транспортировке обеспечивается одновременное выполнение нескольких транзакций. Для осуществления передачи сообщения в рамках той или иной фазы транзакции конкурируют за доступ к интерфейсу со смежным уровнем, при этом конфликты решаются при помощи арбитража. Транзакции, соответствующие входящим сообщениям, определяются в результате декодирования их полей. Общая структура выполнения транспортных функций представлена на рис. 3.11.

Здесь TRN_REG — регистр транзакции, оборудование, обрабатывающее одну транзакцию. Оно включает в себя конечный автомат, контролирующий ход выполнения последней и механизмы, формирующие сообщения для отправки их смежным слоям. Конфликты между TRN_REG за право использования внешних интерфейсов разрешаются при помощи арбитров ARB_LL и ARB_HL, соответствующих двум смежным уровням. Входящие сообщения проходят декодирования в блоках DEC_LL и DEC_HL. Буфер данных DATABUF служит для хранения данных отправляемых как в системный коммутатор, так и к вышележащему функциональному блоку

Подобное оборудование размещено в контроллере кэш-памяти второго уровня L2, CC и в модуле HB, связывающем системный коммутатор с контроллеров ввода/вывода.

Число одновременно обрабатываемых транзакций Для определения максимального количества параллельно обрабатываемых транзакций рассмотрим обращения L2 к памяти. Обработка этого вида трафика критична для СнК, так как напрямую влияет на ее производительность. Тактовая частота R1000 Fdock = 1ГГц; объем данных, передаваемый за одну транзакцию обращения к памяти Str = 64Байта; пропускная способность канала памяти В = 6,4Гбайт/с. Принимая во внимание частоты синхронизации оборудования сетевого уровня равную 1ГГц, ожидаемую конкуренцию сообщений различных транзакций за общие коммуникационные ресурсы в SC, увеличения задержки обработки запросов контроллером памяти была сделана оценка среднего времени выполнения одной транзакции обращения к памяти, как (130 +/- 20) тактов. Пользуясь (2.14), в данных условиях можно получить число параллельно обрабатываемых транзакций, необходимое для загрузки пропускной способности канала памяти

Этот протокол обеспечивает когерентный доступ к данным, описанный в [5][64]. На рис. 3.12 приведен пример когерентного чтения данных в кэшпамять L2 из оперативной памяти. Такая транзакция может быть инициирована в результате промаха при чтении из L2.

После проверки тегов и обнаружения промаха кэш L2 посылает пакет, инициирующий транзакцию (Request packet), в контроллер когерентности. Модуль СС запускает чтение памяти (Memory read) и посылает широковещательный снуп-запрос (Snoop request packet) во все кэш-контроллеры системы. Далее MC производит чтение запрашиваемого блока и посылает через CC источнику транзакции пакет с данными из оперативной памяти (Memory read response). Одновременно с этим кэш-памяти L2 различных узлов системы получают снуп-запросы и посылают источнику транзакции снуп-ответы (Snoop response packet). После получения всех снуп-ответов и ответа из MC источник транзакции посылает в контроллер когерентности пакет, сигнализирующий о завершении транзакции (Finished at the initiator packet), а запросчику выдает ответ с данными (Read response).

Вследствие не одновременного завершения одной транзакции на приемнике и инициаторе в условиях протокола транспортного уровня, возможна ситуация, в которой какой-либо регистр инициатора послал запрос приемнику на начало очередной транзакции, в то время как предыдущая транзакция этого же регистра не была завершена этим же приемником. В таких условиях возможно возникновение состояния гонок между пакетами указанных транзакций. Данный подуровень синхронизации отвечает за предотвращения такой ситуации. Поточный: механизм синхронизации, гарантирующий правильный порядок выполнения операций обращения к памяти от одного инициатора.

Этот подуровень необходим для обеспечения корректности данных, находящихся в какой-либо локации памяти, которая может быть нарушена в следствии изменения порядка обращений к этой локации. Межпоточный: механизм синхронизации PIO-обращений и DMA потока.

В R1000 данный уровень синхронизации необходим для гарантии корректной работы с устройствами Южного моста. Функции сеансового уровня в модуле НВ

В модуле HB (Host Bridge), обеспечивающем связь микропроцессора c устройствами Южного моста, реализованы все подуровни синхронизации. Его структура представлена на рис. 3.13. Как отмечалось, в нем интегрировано оборудование, выполняющего функции транспортного и сеансового уровней. НВ является одновременно инициатором и приемником транзакций, вследствие чего он включает два экземпляра описанного выше оборудования транспортировки: HB_TARGET и HB_MASTER, первый из которых обрабатывает PIO-обращения, второй — DMA-запросы. HB_TARGET и HB_MASTER разделяют между собой общие интерфейсы с системным коммутатором н контроллером канала ввода-вывода IOCC. Конфликты при обращении к общим интерфейсам разрешаются при помощи арбитров ARB_SC и ARB_IOCC.

Анализ общей производительности оборудования взаимосвязи блоков микропроцессора

В главе 1 приведено общепринятое представление функций оборудования взаимосвязи блоков СнК в виде уровневой иерархии. В главе 2 это представление дополнено автором двумя новыми слоями (см. рис 2.4). При разработке R1000, который был выбран для первой реализации сетевых методологий ОВ в семействе микропроцессоров «Эльбрус», принято решения сконцентрироваться на развитии функций микроархитектурных уровней. Данная задача успешно выполнена, чему свидетельствуют выводы анализа главы 4 и результаты государственных испытаний микропроцессора. Незатронутую тематику нижних технологических уровней функциональной иерархии ОВ необходимо проработать в будущих проектах и исследованиях компании.

В рамках упрощенного представления блоков микропроцессора и связей между ними из главы 2 (см. рис. 2.2) был проведен анализ задач ОВ. На основе данного анализа была получена модель функций взаимосвязи, впоследствии реализованная в ОВ СнК МЦСТ-R1000. Можно утверждать, что полученные микроархитектурные решения применимы в системах на кристалле, укладывающихся в упомянутое представление. К данному множеству микропроцессоров можно отнести чипы с небольшим количеством ядер (от 1 до 4х), общей кэш-памятью последнего уровня с однородным доступом к ней. Число каналов памяти и периферийных модулей ограничивается в данном представлении лишь размерами коммутационного поля NBCF. Суммарное количество элементов домена периферийных устройств, сопроцессоров и домена контроллеров памяти можно оценить как

Здесь N — число внешних портов NBCF, М — количество каналов оперативной памяти, С — вспомогательных сопроцессоров, Р — периферийных интерфейсов. Единица в правой части равенства — резервирование одного порт NBCF для Cores & LLC domain. N, как правило, ограничивается топологией NBCF. В микропроцессорах обычно не используют коммутаторы с размерами большими 8x8. Это потребовало бы неоправданно большого количества физических ресурсов кристалла. Таким образом, в рамках топологии crossbar N 8. Для увеличения N необходим переход к более сложным топологиям. Часто используются каскады коммутаторов [20] или кольца [47].

Разработанное оборудование транспортного и сеансового слоев может быть полностью переиспользовано в модификациях R1000, не выходящих за рамки упрощенного представления блоков микропроцессора. Более того в модификациях может быть использована аппаратура сетевого уровня — системный коммутатор. В этом случае N = 6. Без значительных затрат инженерных ресурсов ширина SC может быть увеличины до 7 — 8 внешних портов. Дальнейшее расширение, как уже отмечалось, нецелесообразно.

Сопроцессорами могут быть графическое ядро, криптографический ускоритель, DSP процессор и.т.д.. В парк периферийных контроллеров могут входить PCIe, SATA, USB, Ethernet и.т.д. В представленных вариантах в SC добавлен еще один порт (N = 7). Таким образом выражение (5.1) здесь принимает вид

Все приведенные варианты СнК соответствую модели из рис. 2.2. В рамках этой модели основным свойством, позволяющим интегрировать перечисленные устройства в состав СнК, является возможность без изменения протоколов транспортного слоя, интерфейсов и форматов пакетов сетевого уровня добавлять элементы доменов сопроцессоров, периферийных устройств и контроллеров памяти, в качестве абонентов ОВ.

На рис. 5.1 изображена модификация СнК МЦСТ-R1000, предполагающий интеграцию в состав микропроцессора вспомогательного вычислительного модуля. Им может быть графическое ядро (GPU), сигнальный процессор (DSP) либо крипто-ускоритель (Crypto), взаимодействующие с основными ядрами микросхемы через общую память. Сопроцессор в таком случае для подсистемы памяти является DMA-генератором, что позволяет его логически объединить с остальными модулями СнК, так же как HB. Возможно, для него придется доработать оборудование транспортного уровня. Это вызвано возможной разницей в интерфейсах с введенным блоком и c IOCC.

СнК на рис. 5.2 отличается от предыдущей модификации введением в его состав двух периферийных контроллеров (PCIe и Ethernet). Чтобы не увеличивать число портов SC, здесь оставлен всего один IPCC. Такое решение уменьшит масштаб многопроцессорной конфигурации на базе данной СнК, зато добавит функциональность микросхеме, ориентированной на встроенные применения. Добавление новых DMA-генераторов в систему потребует разработки нового оборудования транспортного уровня. Этих нежелательных трат инженерных ресурсов можно избежать, используя стандартизованный интерфейс с вводимыми модулями. Применение же здесь международных стандартов, таких как AMBA, позволило бы без изменений ОВ интегрировать в состав микросхемы лицензированные IP-блоки.

Введение второго канала памяти, контроллера MC1 в состав СнК (см. рис. 5.3) для ОВ подразумевает создание дубликата соответствующего оборудования транспортного и сеансового уровней — СС1, которое идентично оригинальному контроллеру когерентности. Приведенные в данном пункте примеры модификации СнК МЦСТ-R1000 демонстрируют гибкость разработанного оборудования взаимосвязи блоков.

Перспективы развития ОВ СнК МЦСТ-R1000 в сеть на кристалле

В главе 2 из общего представления блоков микропроцессора и их связей было вычеркнуто коммутационное поле LLC (см. рис. 2.1). Таким образом, было получено упрощенное представление, являющееся моделью СнК, описанных в предыдущем пункте. В современных микропроцессорах возросшее число процессорных ядер (от 8 и выше), обладающих собственной кэш-памятью второго уровня, которые расположены по всему чипу; большой объем LLC, организованный для увеличения пропускной способности в виде нескольких независимых банков (от 4х и больше), которые распределены по кристаллу и занимают до половины его площади — ведет к необходимости организации сложной коммуникационной структуры для обеспечения взаимосвязи между кэшами последнего и предпоследнего уровней. Для обособление этой структуры вводится LLCCF. Вместе с коммуникационным полем NB оно представляет собой ОВ СнК в общем представлении блоков микропроцессора. Примерами чипов, укладывающихся в это представление, являются Oracle Sparc T5 [48], Intel Xeon E5 [46], IBM Power8 [24].

Организация ОВ таких масштабов возможна на базе коммутаторов — традиционного подхода. Примером может служить Oracle SPARC T5. Здесь стоит учесть, что в состав микропроцессора входят 16 ядер с агрессивной многопоточной архитектурой (multithread), для которой пропускная способность памяти — критична. Можно отметить, что компания уже прорабатывала подобные решения для Sun Rock. Другие два примера используют более сложные топологии ОВ, а именно комбинацию колец. Безусловно такой подход проигрывает в производительности, однако дает ряд преимуществ сетевых методологий взаимосвязи, о которых много раз упоминалось в представленной работе.

Топология NoC в условиях нерегулярной структуры блоков СнК Развитие семейства МЦСТ-R, предусматривающее наращивание количества процессорных ядер столкнется с необходимостью внедрения указанных выше решений, а следовательно добавлению LLCCF. При масштабировании как числа ядер, так и многопроцессорной конфигурации предполагаемая СнК будет содержать до 20 модулей, требующих обеспечения взаимодействия каждый с каждым. Таким образом, масштаб проблем коммуникаций на чипе увеличится в разы. Реализация СМ в ОВ МЦСТ-R1000 подразумевает indirect-топологию и централизацию коммуникационного оборудования. В следствие увеличения числа взаимодействующих через ОВ блоков, придется рассмотреть возможность применения direct-топологий и распределенной организации коммуникационного оборудования

Похожие диссертации на Разработка системы взаимосвязи блоков для микропроцессоров семейства МЦСТ-R