Процессорная архитектура Sun SPARC.
SPARC T3
Процессор SPARC T3 имеет интерфейсы когерентных связей, что позволяет обеспечить взаимодействие до четырех процессоров SPARC T3 в системе, без дополнительных внешних микросхем концентратора. В процессоре имеется 6 когерентных связей, каждая с 14 битами в каждом направлении, достигающем 9.6 Гбит/с. Каждый кадр имеет 168 битов, таким образом, максимальная частота кадров — 800 миллионов кадров… Читать ещё >
Процессорная архитектура Sun SPARC. SPARC T3 (реферат, курсовая, диплом, контрольная)
МОСКОВСКИЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ
(ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ) Факультет КИБЕРНЕТИКИ Кафедра «Компьютерные системы и технологии»
РЕФЕРАТ по курсу «Архитектура вычислительных систем»
на тему:
Процессорная архитектура Sun SPARC. SPARC T3
Студент гр. К9 — 122 Савин Никита Игоревич Преподаватель Чепин Евгений Валентинович
2011 г.
- Структурная нотация
- Введение
- Общая информация
- Архитектура процессора SPARC T3
- Ядро процессора SPARC T3
- Особенности конвейера
- Интегрированные сети
- Потоковый Процессор
- Интегрированная поддержка PCI Express второго поколения
- Управление электропитанием
- Список литературы
Структурная нотация
P (SPARC T3) = 16Core <-> X (8*9 Crossbar) <-> 2Coherence Plane
· Core — ядро процессора;
· Crossbar — коммутатор для взаимодействия ядер с разделяемыми ресурсами;
· Coherence Plane — когерентный уровень.
Coherence Plane = Csh2 <-> 2COU <-> {MC, 3LFU}
· Csh2 — кэш-память второго уровня;
· COU (Coherence and Ordering Unit) — модуль когерентности и упорядочивания;
· MC (Memory Controller) — контроллер памяти;
· FLU (Link Framing Unit) — модуля структурирования связей.
Core = Csh1 — Rg — Ep{2Bp64, Fp64}
· Csh1 — кэш-память первого уровня;
· Rg — регистры;
· E — исполнительное устройство;
· B — устройство исполнения целочисленных операций;
· F — устройство исполнения операций с плавающей точкой;
· p (Pipeline) — конвейер (Ep, Bp, Fp).
Rg = {320Rg1 (IRF) 64, 64Rg2 (FPRF) 64,}
· IRF (Integer Register File) — целочисленный регистровый файл;
· FPRF (Floating-Point Register File) — регистровый файл с плавающей точкой.
Csh1= Csh1i (16KB, iTLB) — Csh1d (8KB, dTLB)
· Csh1i — кэш-память команд первого уровня;
· Csh1d — кэш-память данных первого уровня;
· iTLB — буфер ассоциативной трансляции команд;
· dTLB — буфер ассоциативной трансляции данных.
Сразу же после покупки компании Sun со стороны корпорации Oracle многие пользователи стали делать предположения о том, что процессорная архитектура Sun SPARC вскоре погибнет, так как Oracle сосредоточится на развитии северной архитектуры x86. Масло в огонь подлили и заявления главы Oracle Ларри Эллисона, утверждавшего, что чипы SPARC совершенно неконкурентны из-за их заоблачной цены. И, тем не менее, тогда Oracle заявляла, что продолжит развитие аппаратных решений Sun. Впервые о разработке чипов SPARC T3, также известных как Rainbow Falls, представители Sun рассказали еще на мероприятии Hot Chips весной 2010 года, а на конференции Oracle OpenWorld 2010 компания презентовала законченные версии. Они ориентированы на пользователей из среды крупного и среднего бизнеса и в большей степени ориентированы на работу с приложениями Oracle.16-ядерные процессоры SPARC T3 могут одновременно обрабатывать 128 потоков данных, а кроме того имеют встроенную аппаратную поддержку виртуализации, что позволяет на одном сервере включать несколько работающих экземпляров ОС. Как и в случае с чипами T2 и T2+, обращаться к новым процессорам можно будет напрямую, без использования внешних чипсетов, усложняющих серверную архитектуру и стоимость оборудования. Впрочем, практика показывает, что снижение стоимости архитектуры с лихвой окупается дороговизной самих центральных процессоров. Оригинальные чипы Niagara T1 не могли работать синхронно в одной системе, точно также чипы T2 поставлялись также только в однопроцессорных серверах. Для того, чтобы все-таки начать продажу многопроцессорных машин, Sun выпустила T2+, которые в 2009 году начали в поставляться 2 — и 4-процессорных системах. В случае со SPARC T3 производитель говорит, что один сервер штатно сможет управляться с 256 потоками данных. Все 16 ядер Rainbow Falls имеют интерфейсы для 16 выделенных банков кеш-памяти второго уровня. При всем этом, кеша третьего уровня у процессора нет. В Sun говорят, что для процессора можно будет покупать отдельную плату кеш-памяти третьего уровня, как это делала IBM в процессорах Power 4 и 5. SPARC T3 получил новинку: 4 дополнительных кеширующих модуля, которые смогут подключаться для синхронизации потоков в серверах, где имеется больше одного процессора. Модули также будут управлять локальным и удаленным доступом к памяти. По словам представителей компании, вся архитектура T3 выполнена по 40-нм техпроцессу. В дополнение к новому FPU (floating point unit) в процессоре появится секьюрити-сопроцессор третьего уровня. Первые версии этих сопроцессоров использовались на 8 ядер, сейчас он будет применяться на все 16 ядер. Прошлые версии сопроцессоров использовались для массового шифрования, создания хэшей, шифрования на базе эллиптических кривых. В новой версии появится еще и поддержка алгоритма шифрования SHA-2.
процессор архитектура ядро интерфейс
Общая информация
Процессор SPARC T3 является первой в мире масштабируемой, поточной и наиболее высоко интегрированной системой на кристалле с шестнадцатью ядрами в данной отрасли, поддерживая большинство ядер и потоков любого доступного процессора общего назначения и интегрируя все ключевые системные функции. Он избавляет от необходимости в дорогостоящих пользовательских аппаратных и программных разработках благодаря интеграции вычислений, безопасности и ввода-вывода на один кристалл. Бинарная совместимость с более ранними процессорами SPARC и отсутствие другого процессора обладающего такой большой производительностью на таком небольшом пространстве и с такими небольшими требованиями питания позволяют организациям быстро расширять доступ к новым сетевым службам с максимальной производительностью и предсказуемостью.
Разрабатывая следующее поколение многопроцессорных/многопоточных процессоров Oracle, внутренняя команда разработчиков начала с ключевых задач:
Увеличение вычислительных возможностей, чтобы встретить растущий спрос со стороны веб-приложений, обеспечивая двойную пропускную способность процессоров UltraSPARC T2 и T2 Plus
Поддержка больших и более разнообразных рабочих нагрузок с большей производительностью с плавающей точкой
Включение более быстрых сетей, чтобы обеспечить новый интенсивный сетевой контент:
Обеспечение непрерывного шифрования информационного центра.
Увеличение уровней обслуживания и уменьшение времени простоя.
Улучшение емкости информационного центра, при уменьшении затрат.
Многопроцессорная/многопоточная архитектура Oracle в конечном счете очень гибка, представляющая различные модульные комбинации процессоров, ядер и интегрированных компонентов. Упомянутые выше соображения управляли внутренним техническим усилием, которое сравнило разные подходы относительно создания улучшений на успешной UltraSPARC T2 и T2 Plus архитектуре. Например, просто увеличение числа ядер получило бы дополнительную пропускную способность, но не имело бы указанной производительности с плавающей точкой.
Увеличение числа ядер, поддерживаемых каждым процессором, разработка нового конвейера с плавающей точкой и дальнейшее увеличение сетевой пропускной способность позволило обеспечить приблизительно двойною пропускную способность процессоров UltraSPARC T2 и T2 Plus.
Каждый процессор SPARC T3 поддерживает до 16 ядер, при этом каждое ядро в состоянии переключаться между восемью потоками (128 потоков на процессор), используя измененный алгоритм LRU для выбора потока. Кроме того, каждое ядро поддерживает два целочисленных конвейера выполнения команд, что позволяет выполнять два потока за один раз. На рисунке 1 показан упрощенный высокоуровневый пример модели потока, поддерживаемой базовыми процессорами SPARC T3 с 16 ядрами, а на рисунке 3 — краткая характеристика и особенности данной архитектуры.
Рисунок 1. Упрощенный высокоуровневый пример модели потока, поддерживаемой базовыми процессорами SPARC T3 с 16 ядрами.
Краткое сравнение SPARC T3 и SPARC T2
Особенности | SPARC T3 | UltraSPARC T2 | UltraSPARC T2 PLUS | |
Ядра/Процессор | до 16 | до 8 | до 8 | |
Потоки/Ядро | ||||
Потоки/Процессор | ||||
Гипервизор | Да | Да | Да | |
Поддерживаемые сокеты | 1, 2, 4 | 2, 4 | ||
Память | — Два контролера памяти — До 64 DDR3 DIMM | — Четыре контролера памяти — До 16 FB-DIMM | — Два контролера памяти — До 32 FB-DIMM | |
Кэши | — Кэш инструкций 16 Кбайт — Кэш данных 8 Кбайт — Общий кэш L2 6 Мбайт (16 банков, множественноассоциативный с 24 каналами) | — Кэш инструкций 16 Кбайт — Кэш данных 8 Кбайт — Общий кэш L2 4 Мбайт (8 банков, множественноассоциативный с 16 каналами) | — Кэш инструкций 16 Кбайт — Кэш данных 8 Кбайт — Общий кэш L2 4 Мбайт (8 банков, множественноассоциативный с 16 каналами) | |
Технология | Технология 40 нм | Технология 65 нм | Технология 65 нм | |
Плавающая точка | — 1 FPU с Mul/Add на ядро — 16 FPU на кристалл | — 1 FPU на ядро — 8 FPU на кристалл | — 1 FPU на ядро — 8 FPU на кристалл | |
Целочисленные источники | 2 целочисленных исполнительных модуля/ядро | 2 целочисленных исполнительных модуля/ядро | 2 целочисленных исполнительных модуля/ядро | |
Криптография | — Потоковый процессорный модуль/ядро — 12 наиболее популярных шифров | — Потоковый процессорный модуль/ядро — 10 наиболее популярных шифров | — Потоковый процессорный модуль/ядро — 10 наиболее популярных шифров | |
Дополнительные ресурсы на кристалле | — Двойной PCIe интерфейс (х8) — Двойной 10 GbE интерфейс — Когерентная логика и связи (6×9,6 Гбит/сек) | — Двойной 10 GbE интерфейс — PCIe интерфейс (х8) | — Двойной 10 GbE интерфейс — PCIe интерфейс (х8) — Когерентная логика и связи (4,8 Гбит/сек) | |
Архитектура процессора SPARC T3
Процессор SPARC T3 расширяет многопроцессорную/многопоточную инициативу Oracle с помощью изящной и устойчивой архитектуры, которая поставляет реальную производительность приложениям. На рисунке 2 представлена блок-схема процессора SPARC T3, а на рисунке 3 — расположение элементов на кристалле.
Рисунок 2. Блок-схема процессора SPARC T3.
Рисунок 3. Процессор SPARC T3.
Процессор SPARC T3 имеет интерфейсы когерентных связей, что позволяет обеспечить взаимодействие до четырех процессоров SPARC T3 в системе, без дополнительных внешних микросхем концентратора. В процессоре имеется 6 когерентных связей, каждая с 14 битами в каждом направлении, достигающем 9.6 Гбит/с. Каждый кадр имеет 168 битов, таким образом, максимальная частота кадров — 800 миллионов кадров в секунду. SPARC T3 имеет два контроллера когерентных связей (Coherence Unit). Каждый включает два модуля когерентности и упорядочивания (COU), три модуля структурирования связей (LFU) и перекрестную панель (CLX) между COU и LFU. Каждый COU взаимодействует с двумя парами банка L2. Когерентные связи запускают протокол когерентности кэша по FB-DIMM, как физический интерфейс. Скорость обращения к памяти в SPARC T3 была увеличена до 6.4 Гбит/с, в то время как у процессора UltraSPARC T2 Plus — 4.8 Гбит/с и 4.0 Гбит/с — у UltraSPARC T2.
Процессор SPARC T3 может поддерживать реализации с одним, двумя и четырьмя сокетами. Два сокета SPARC T3, также как и четыре сокета, соединяются шестью когерентными связями процессоров, не требуя при этом никакой дополнительной схемы.
Ядро процессора SPARC T3
На рисунке 6 показана блок-схема одного SPARC ядра в процессоре SPARC T3. До 16 ядер поддерживаются в процессоре.
Рисунок 4. Блок-схема ядра процессора SPARC T3.
Компоненты, реализованные в каждом ядре, включают следующие.
Логическое устройство прерывания. Логическое устройство прерывания (TLU) обновляет машинное состояние, а также обрабатывает исключения и прерывания.
Модуль вызова команды. Модуль вызова команды (IFU) включает кэш инструкции на 16 Кбайт (32-байтовые строки, ассоциативный набор с 8 каналами) и полностью ассоциативный буфер поиска преобразования инструкции с 64 записями (ITLB).
Целочисленный модуль выполнения. Два целочисленных модуля выполнения (EXU) предоставляются на ядро с четырьмя потоками, совместно использующими каждый модуль. Восемь регистровых окон предоставляются на поток со 160 целочисленными регистровыми файлами (IRF) записи на поток.
Плавающая точка / графический модуль. Плавающая точка / графический модуль (FGU) предоставляется в пределах каждого ядра и это совместно используется всеми восемью потоками, присвоенными ядру. Тридцать две записи регистрового файла с плавающей точкой предоставляются на поток. Реализуется сплавленная инструкция Mul/Add с плавающей точкой.
Потоковый процессор. Каждое ядро содержит потоковый процессор (SPU), который обеспечивает криптографическую совместную обработку.
Блок управления памятью. Блок управления памятью (MMU) обеспечивает аппаратный табличный обход (HWTW) и поддерживает страницы на 8 Кбайт, на 64 Кбайта, на 4 Мбайта и на 256 Мбайт.
Блок загрузки-сохранения. Блок загрузки-сохранения (LSU) включает в себя кэш данных на 8 Кбайт (16-байтовые строки, ассоциативный набор с 4 каналами) и полностью ассоциативный буфер поиска преобразования данных с 32 записями (DTLB).
Особенности конвейера
Восьмиэтапный целочисленный конвейер и новый девятиэтапный конвейер с плавающей точкой предоставляются ядру процессора SPARC T3 (рисунок 5). Существует стадия выбора конвейера, чтобы выбрать два потока (из восьми, возможных на ядро), чтобы выполнить каждый цикл.
Рисунок 5. Восьмиэтапный целочисленный конвейер и двенадцатиэтапный конвейер с плавающей точкой.
Для иллюстрации, как работает двойная целочисленная конвейерная функция, приведён рисунок 6, изображающий целочисленный конвейер с модулем хранилища загрузки (LSU). Потоки чередуются между стадиями конвейера с очень небольшими ограничениями (показан целочисленный конвейер, буквы изображают стадии конвейера, числа изображают различные запланированные потоки), Кэш инструкции совместно используется всеми восемью потоками в пределах ядра. Для выбора следующего потока используется алгоритм Least-Recently-Fetched. Каждый поток пишется в особый потоковый буфер инструкций (IB), и каждый из восьми потоков статически присваивается одной из двух групп потока в пределах ядра.
Рисунок 6. Целочисленный конвейер с модулем хранилища загрузки (LSU).
Стадия выбора выбирает один поток каждый цикл в пределах каждой группы потока. Выбор в пределах каждой группы потока независим от другой, и используется алгоритм Least-Recently-Picked, чтобы выбрать следующий поток для выполнения. Состояние декодирования разрешает конфликты ресурса, которые не обрабатываются во время этапа выбора. Как показано на иллюстрации, потоки чередуются между стадиями конвейера с очень небольшими ограничениями. Любой поток может быть при выборке или этапе кэша, прежде, чем быть разделенным на любую из двух групп потока. Модули загрузки/хранения и плавающей точки совместно используются всеми восемью потоками. Только один поток от любой группы потока может быть запланирован на такой совместно используемый модуль.
Интегрированные сети
Обеспечивая интегрированные сети на кристалле, процессор SPARC T3 в состоянии обеспечить лучше сетевую производительность. Все сетевые данные снабжаются напрямую и до оперативной памяти. Размещение сети так близко к памяти уменьшает задержку, обеспечивает более высокую пропускную способность и устраняет свойственную неэффективность преобразования протокола ввода-вывода. Процессор SPARC T3 снабжен двумя портами 10 Gigabit Ethernet с интегрированной схемой параллельно-последовательного/последовательно-параллельного преобразования (SerDes), предполагая пакетную классификацию частоты строчной развертки до 30 миллионов пакетов в секунду (основано на 14 уровне стека протокола). Множественные DMA механизмы (16 передач и 16 приёмников DMA каналов) сопоставляют DMA каналы и отдельные потоки, обеспечивая обязательную гибкость между портами и потоками. Поддержка виртуализации включает условия для восьми разделов и прерывания, которые могут быть связаны с различными аппаратными потоками.
Потоковый Процессор
SPU на каждом ядре работает параллельно с ядром на той же самой частоте. Модуль шифрования/хеширования поддерживает RC4, DES/3DES, AES-128/192/256, MD5, SHA-1, SHA-256. Также были добавлены к процессору SPARC T3 SHA-384/SHA-512, блочный шифр Kasumi и операции с полями Галуа. SPU разрабатывался, чтобы достигнуть проводной скорости шифрования и дешифрования на процессорных портах 10 GbE.
Интегрированная поддержка PCI Express второго поколения
Процессоры SPARC T3 поддерживают два интерфейса PCIe второго поколения на кристалле. Каждый работает в 5 Gtps на x1 маршрут двунаправлено через двойное симплексное межсоединение кристалла «точка-точка», подразумевая, что каждый x1 маршрут состоит из двух однонаправленных соединений шириной в бит, один для движущегося на север и другого для движущегося на юг трафика. Интегральный IOMMU поддерживает виртуализацию ввода-вывода и изоляцию процессорного устройства при использовании номера шины/устройства/функции PCIe (BDF). Полная теоретическая пропускная способность ввода-вывода (для x8 маршрута) составляет 4 Гбайт/с с максимальным размером полезной нагрузки 256 байтов на интерфейс PCIe второго поколения. Фактическая осуществимая пропускная способность, более вероятно, составит приблизительно 2.8 Гбайт/с. x8 интерфейс SerDes обеспечивается для интеграции с переключателями PCIe вне кристалла.
Управление электропитанием
Помимо неоспоримой эффективности многопроцессорного / многопоточного проекта Oracle, процессор SPARC T3 включает в себя уникальные функции управления электропитанием и в ядре, и в уровнях памяти процессора. Эти функции выражаются в уменьшенных уровнях инструкций, режим ожидания неактивных потоков и ядер и возможности выключить часы во всех ядрах и памяти, чтобы уменьшить расход энергии. Существенное новшество присутствует и в следующих областях:
Ограничение предположения, такого как не используемые условные переходы.
Обширное пропускание часов в информационном канале, управляющих блоках и массивах
Регулируемое питание, которое позволяет очень маленьким циклам быть введенными в этап декодирования
1. Документация компании Oracle «Oracle's SPARC T3−1, SPARC T3−2, SPARC T3−4 and SPARC T3−1B Server Architecture» от февраля 2011 года.
http://www.oracle.com/technetwork/articles/systems-hardware-architecture/sparc-t3-server-architecture-176 017. pdf
2. Oracle Data Sheet. http://www.oracle.com/us/products/servers-storage/servers/sparc-enterprise/t-series/sparc-t3-chip-ds-173 097. pdf
3. Статья «Oracle показала работающие процессоры Sparc T3» от 22.09.2010.
http://lenta. mk.ua/article/290 928.html
4. Википедия http://en. wikipedia.org/wiki/SPARC_T3