Вы находитесь на странице: 1из 23

МИКРОПРОЦЕССОРЫ INTEL С АРХИТЕКТУРОЙ

1 SANDY BRIDGE

2 12.1.
BRIDGE
ОСНОВНЫЕ ОСОБЕННОСТИ АРХИТЕКТУРЫ SANDY

Развитие микропроцессорной техники подчиняется «закону маятника»:


за разработкой новой микроархитектуры следует переход на новый
технологический процесс (продолжает действовать и закон Мура). Затем
цикл «микроархитектура — техпроцесс» с периодичностью 2-3 года
повторяется. В настоящее время в микропроцессорах Intel на смену
микроархитектуре Nehalem с технологическими нормами 45 нм и
процессорам Westmere, выполняемым по техпроцессу с нормами 32 нм,
пришла новая микроархитектура Sandy Bridge.
Появление новой микроархитектуры обусловлено рядом недостатков,
присущих Nehalem. Во-первых, — неудобство производства процессоров
последнего поколения Westmere, которые строятся на двух заключенных в
единой процессорной упаковке полупроводниковых кристаллах, которые
производятся с применением разных техпроцессов. Во-вторых, процессоры
Nehalem достигли своего «частотного потолка», и дальнейший их разгон
без выхода тепловыделения и энергопотребления за принятые для
современных платформ рамки сильно затруднен.
Одним из главных направлений развития современных микропро-
цессоров, связанных с увеличением возможностей технологических
средств их производства, является растущая интеграция средств на
микропроцессорном кристалле, т.е. переход к «системе на кристалле»,
причем эта система становится все более мощной.
В микроархитектуре Nehalem сначала появился встроенный контроллер
памяти, затем к нему добавился и контроллер шины РС1 Express, после
чего появилось и встроенное графическое ядро, правда, реализованное
отдельным полупроводниковым кристаллом.
Sandy Bridge в этой последовательной интеграции ставит некоторую
точку — в процессорах с новой микроархитектурой в едином чипе
присутствует все сразу: процессорные ядра, графическое ядро, контроллер
памяти и контроллер шины PCI Express.
Значительной переработке подверглась и микроархитектура вы-
числительных ядер, которые получили ряд улучшений, обеспечивающих
повышение производительности по сравнению со своими пред-
шественниками даже при работе на одинаковых тактовых частотах.
Параллельно были внедрены усовершенствования, направленные на
снижение тепловыделения, так что Sandy Bridge могут работать и просто на
более высоких частотах.

15
4
В процессорах добавились поддержка нового набора векторных
инструкций AVX (Advanced Vector Extensions), их принципиальное отличие
от векторных инструкций семейства SSE заключается в увеличении
разрядности операндов со 128 до 256 бит. Выполнена поддержка на
аппаратном уровне ускоренной обработки инструкций шифрования AES
(Advanced Encryption Standard) и алгоритмов шифрования RSA и SHA.
Таким образом, микропроцессор Sandy Bridge представляет собой
четырехъядерный 64-разрядный процессор с поддержкой двух потоков на
ядро, обладающий следующими особенностями:
• новая кольцевая внутренняя шина;
• интегрированное графическое ядро;
• интеллектуальный системный агент для работы с оперативной памятью
и внешними устройствами, который содержит также блок управления
питанием, обеспечивающий сокращение энергопотребления;
• интегрированная кэш-память третьего уровня;
• поддержка расширенного набора команд AVX;
• аппаратный модуль ускоренной обработки инструкций шифрования AES
и алгоритмов шифрования RSA и SHA;
• новая версия технологии Turbo Boost, направленной на снижение
тепловыделения, что позволяет работать на более высоких частотах. В Intel
не стали отказываться от зарекомендовавшей себя на рынке марки Core,
поэтому Sandy Bridge официально считается вторым поколением
микроархитектуры Core. С этим связаны некоторые изменения в
наименованиях процессоров — новые модели должны четко отличаться от
старых. Для этого перед цифровым индексом каждой модели ставится
цифра «2», обозначающая второе поколение. Пример: чип Intel Core 15-
2500К. «Intel Core» — марка, «i5» — серия, «2» — поколение, «500» —
индекс модели, а «К» — буквенный индекс. Индексы определяют в
основном назначение процессора и TDP (от англ. thermal design power,
иногда thermal design point — величина, показывающая, на отвод какой
тепловой мощности должна быть рассчитана система охлаждения
процессора) модели. Индекс «S» присваивается чипам, ориентированным
на домашние мультимедийные машины. В штатном режиме они
экономичнее, а их система охлаждения тише, чем у «стандартных»
моделей. Микропроцессоры, не имеющие индекса, потребляют 95 Вт, а с
индексом «S» — 65 Вт.
Модификации с индексом «Т» работают на еще более низкой тактовой
частоте, чем «базовые», при этом «турбочастота» у них тоже ниже. TDP
таких процессоров составляет всего 35—45 Вт, что вполне сравнимо с
ТОРсовременных мобильных чипов. Индекс «К» означает
разблокированный множитель, что позволяет беспрепятственно разгонять
процессор, повышая его тактовую частоту. Используемая в про- ueccopax
Sandy Bridge частота базового тактового генератора установлена в 100 М
Гц. Генератор позволяет варьировать значения этой частоты в очень
широких пределах с шагом 0,1 МГц. Однако так как от этого генератора
работают все блоки процессора, то попытки ее повышения очень быстро
упираются в нестабильность работы системы. Модели с индексом «К» не
имеют заблокированного множителя и теоретически способны разгоняться
до 5,7 ГГц (57 — максимальное значение множителя, заложенное в
микроархитектурс). Однако такие процессоры отнесены к верхней ценовой
категории. Некоторые соотношения между индексами и TDP моделей
микропроцессоров представлены в табл. 12.1.
Таблица 12.1
Тепловыделение микропроцессоров Sandy Bridge
Индекс модели ТОР модели
Безындексные модели 95 Вт
X Более 75 Вт
Е До 45 Вт
Т До 35 Вт
Р До 25 Вт
1 До 17 Вт
и До 10 Вт
SP До 25 Вт
SL До 17 Вт
SU До 10 Вт
Характеристики некоторых моделей микропроцессоров с архитектурой
Sandy Bridge представлены в табл. 12.2.
Таблица 12.2
Характеристики микропроцессоров Sandy Bridge
Параметры Corei 7-2600 Corei7-2600S Corei5-2500 Corei5-2500S Corei5-2500T
Ядра/потоки 4/8 4/8 4/4 4/4 4/4
Тактовая частота, 3.4 2.8 3.3 2.7 2.3
ГГц

Частота в турбо- До 3.8 До 3.8 До 3.7 До 3,7 До 3.3


режиме, ГГц

Частота графи- До 1.35 До 1.35 До 1.1 До 1.1 До 1.25


ческого ядра, ГГц
Емкость кэша 8 8 6 6 6
L3, МБ
ТОР, Вт 95 65 95 65 45
12.2. СТРУКТУРА МИКРОПРОЦЕССОРА

12.2.1. Обобщенная структура


Структуру чипа Sandy Bridge можно условно разделить на следующие
основные элементы (рис. 12.1): процессорные ядра (Core), графическое
ядро (Graflcs), кэш-память L3, обозначаемая LLC (Last Level Cache — кэш-
память последнего уровня), и так называемый системный агент (System
Agent).

Рис. 12.1. Обобщенная структура микропроцессора Sandy Bridge

Такое объединение большого числа разноплановых модулей в одном


кристалле имеет множество положительных сторон и позволяет поднять
производительность за счет сокращения задержек при обмене данными.
Однако чем больше различных блоков присутствует в процессоре, тем
сложнее становится реализация взаимосвязей между ними на
электрическом уровне. И наиболее серьезную проблему в этом плане
представляет соединение разделяемого кэша третьего уровня с
процессорными ядрами, особенно в свете перспективы дальнейшего
увеличения их числа. Иными словами, работая над микроархитектурой
процессоров Sandy Bridge, разработчики были вынуждены серьезно
задуматься об организации удобной схемы взаимодействия между
функциональными узлами, находящимися в процессоре.
В микропроцессоре Sandy Bridge вычислительные ядра, кэш, гра-
фическое ядро и элементы северного моста объединены специальной
кольцевой шиной, которая позволила существенно сократить число
внутрипроцессорныхсоединений, необходимых для маршрутизации
сигналов. Технология такой шины была испытана в 8-ядерных серверных
процессорах предыдущего поколения Nehalem-ЕХ.
Шина состоит из четырех 32-битных колец — шин:
• данных;
• запросов;
• мониторинга состояния и
• подтверждения.
Структура кольцевой шины позволяет разделить доступ к 64-битному
интерфейсу кэша L3 на 2 пакета. Управление шинами осуществляется с
помощью коммуникационного протокола распределенного арбитража, при
этом конвейерная обработка запросов происходит на тактовой частоте
процессорных ядер. Производительность кольцевой шины оценивается на
уровне 96 Гбайт/с на соединение при тактовой частоте 3 ГГц, что в 4 раза
превышает показатели процессоров предыдущего поколения.
Кольцевая шина физически располагается непосредственно над
блоками кэш-памяти L3 в верхнем уровне металлизации, что упрощает
разводку при масштабировании числа ядер и позволяет сделать чип более
компактным.
Преимущества кольцевой шины:
• хорошая масштабируемость при росте числа процессорных ядер (в
перспективе к кольцевой шине может быть подключено до 20
процессорных ядер на кристалл);
• снижение латентности кэша L3 с 35—40 циклов у Nehalem до 26— 31
цикла в Sandy Bridge за счет использования кратчайшего маршрута. При
этом следует учитывать, что вся кэш-память в Sandy Bridge работает на
частоте процессора, то есть она стала быстрее и за счет этого в том
числе;
• возможность подключения к общим путям пересылок данных ин-
тегрированного в процессор графического ядра. То есть графика в
Sandy Bridge работает с памятью не напрямую, а аналогично про-
цессорным ядрам — через кэш-память третьего уровня. Это повышает
ее производительность, а также позволяет снизить ущерб, который
встроенная графика способна нанести обшей производительности
системы, «борясь» за шину памяти с вычислительными ядрами.
12.2.2. Процессорное ядро
Структура процессорного ядра Sandy Bridge представлена на рис. 12.2.
В микропроцессоре Sandy Bridge сделан новый шаг в развитии об-
работки данных по схеме SIMD. В марте 2008 г. Intel предложила новое
расширение системы команд AVX, предоставляющее различные
улучшения, новые инструкции и новую схему кодирования машинных кодов.
Это принесло следующие улучшения:
• размер векторных регистров SI М D увеличился с 128 (ХМ М) до 256 бит
(регистры YM МО — YM М15). Существующие 128-битные инструкции
используют младшую половину новых YM М регистров. В будущем
возможно расширение разрядности до 512 или 1024 бит;
• появилась возможность использовать трехадресные команды для
работы с регистрами YM МО—YM М15. Однако AVX не поддерживает
неразрушаюшие трехадресные формы операций над такими обычными
регистрами общего назначения, как ЕАХ, нотакая поддержка, возможно,
будет добавлена в последующих расширениях;
• ослаблены требования выравнивания данных для операндов SI М D в
памяти.
Рис. 12.2. Структура ядра микропроцессора Sandy Bridge

Новая система кодирования машинных кодов VEX предоставляет новый


набор префиксов кода, которые расширяют пространство возможных
машинных кодов. Добавлены инструкции с количеством операндов более
трех. Примеры некоторых новых инструкций приводятся в табл.12.3.
Таблица 12.3
Примеры команд AVX
Инструкция Описание
VBROADCASTSS,
VBROADCASTSD, Копирует 32-, 64- или 128-разрядный операнд из памяти во все элементы
VBR0ADCASTF128 векторного регистра ХММ или YMM

VINSERTF128 Замещает младшую или старшую половину 256-раэрядного регистра


YMM значением 128-разрядного операнда

VEXTRACTF128 Извлекает младшую или старшую половину 256-битного регистра YMM и


копирует в 128-битный операнд-назначение
Окончание табл. 12.3
Инструкция Описание

VPERMILPS, VPERMILPD Переставляет 32- или 64-разрядные элементы вектора согласно


операнду-селектору (из памяти или из регистра)

VZEROUPPER
Обнуляет старшие половины всех регистров YMM. Используется при
переключении между 128-разрядным режимом и 25Б-раз- рядным
Для эффективного исполнения 256-разрядных инструкций испол-
нительные устройства процессора были подвергнуты специальному
перепроектированию. Суть изменений сводится к тому, что для работы с
256-разрядными данными 128-разрядные исполнительные устройства
объединяются попарно. Так как каждый из 3 исполнительных портов Sandy
Bridge имеет устройства для работы одновременно с тремя видами данных
— 64-разрядными, 128-разрядными целыми или 128-разрядными числами с
плавающей запятой, то такое попарное объединение SIMD устройств в
рамках одного порта является вполне логичным.
Регистры YMM требуют поддержки со стороны операционной системы.
Недооценка этого обстоятельства привела, в частности, в свое время к
необходимости отображения регистров М MX в первых микропроцессорах,
использующих эту технологию, на регистры с плавающей точкой. В
настоящее время регистры YMM поддерживают следующие операционные
системы и их более поздние версии:
• Linux: с версии ядра 2.6.30 выпущена 9 июня 2009 г.;
• Windows?: поддержка добавлена в Service Pack 1;
• Windows Server 2008 R2: поддержка добавлена в Service Pack.
AVX-инструкции подходят для интенсивных вычислений с плавающей
точкой в мультимедиа, научных и финансовых задачах.
Благодаря существенной доработке, нацеленной на удвоение про-
изводительности при работе с 256-битными векторными инструкциями AVX
и возможности исполнения большинства из них как единой микрокоманды,
исполнительные блоки микроархитектуры Sandy Bridge стали вдвое
мощнее, чем у чипов Nehalem. Они способны обрабатывать 8 операций
двойной точности с плавающей точкой (FP) или 16 FP-операний одинарной
точности затакт. Таким образом, ядро Sandy Bridge способно исполнять за
каждый такт 256-битное FP-ум- ножение, 256-битное FP-сложение и 256-
битное смещение.
Тогда же, в марте 2008 г., компанией Intel с целью ускорения работы
приложений, использующих шифрование и дешифрование информации по
алгоритму AES, было предложено расширение системы команд AES.
Примеры новых команд этого набора и их назначение представлены в табл.
12.4.
Таблица 12.4
Примеры команд AES
Инструкция Описание
AESENC Выполнить один раунд шифрования AES
AESENCLAST Выполнить последний раунд шифрования AES
AESDEC Выполнить один раунд расшифрования AES
AESDECLAST Выполнить последний раунд расшифрования AES
AESKEYGENASSIST Поспособствовать в генерации раундового ключа AES
AESIMC Inverse Mix Columns

Несмотря на увеличение разрядности исполнительных блоков ядра до


256 бит, увеличения ширины шины данных не произошло. Для исполнения
256-битных микрокоманд в ядре Sandy Bridge объединяются возможности
имеющихся в наличии 128-битных трактов для работы с целочисленными
данными и данными с плавающей точкой по схеме SIMD.
Новая архитектура использует оптимизацию для более эффективной
виртуализации и исполнения серверных приложений. На этапе
декодирования происходит преобразование х86-инструкций в более
простые процессорные микрооперации. Блок декодирования входного
потока команд обеспечивает обработку до четырех инструкций за такт и
делает выходной поток инструкций более равномерным с точки зрения
сложности его выполнения.
Декодированные в процессорные микрокоманды инструкции кэ-
шируются. Для этого, в дополнение к обычному 32-килобайтному кэшу
команд первого уровня (LI Instruction Cache), в Sandy Bridge добавлен еще
один добавочный кэш микрокоманд — цОР-кэш (кэш нулевого уровня L0) —
аналог Execution Trace Cache в микроархитектуре NetBurst
микропроцессора Pentium 4. Кэш L0 в какой-то мере можно считать частью
кэша L1, в который он, кстати, интегрирован, но отдельной и очень быстрой
его частью. Кэш результатов декодирования имеет объем порядка 6 Кбайт
и вмещает до 1500 микрокоманд. При работе с большей частью
приложений вероятность удачного «попадания» в кэш декодированных
микрокоманд очень велика и может достигать 80%.
Он кэширует на выходе декодеров все предварительно декодиро-
ванные микрокоманды. Как только поступает на обработку новая
инструкция, блок упреждающей выборки первым делом производит сверку
с цОР-кэшем, и в случае обнаружения совпадений загрузка конвейера по
четыре микрокоманды за такт в обход декодеров осуществляется уже из
этого кэша. Незадействованные и простаивающие цепи декодеров, кстати,
весьма сложные, а потому и достаточно энергоемкие, в этот момент просто
отключаются от питания. В противном случае, когда кэш декодированных
микрокоманд оказывается невостребованным, продолжается обычная
работа по выборке и декодированию команд, а рОР-кэш переводится в
режим экономии энергии.
Для повышения производительности функциональных устройств
загрузки и выгрузки данных при работе с 256-битными векторными
инструкциями используются 3 порта загрузки данных. С целью увеличения
их КПД были унифицированы 2 порта, которые ранее были предназначены
для сохранения адресов и загрузки данных. Теперь они стали
равноценными, и оба могутлибо загружать адреса и данные, либо
выгружать адреса. Третий же порт остался без изменений и пред-
назначается для сохранения данных. Учитывая, что каждый порт способен
пропускать до 16 байт за цикл, суммарная пропускная способность кэша
данных первого уровня в новой микроархитектуре возросла на 50%. В
результате процессоры с микроархитектурой Sandy Bridge могут загружать
до 32 байт данных и сохранять 16 байт данных за такт.
Блок переупорядочивания инструкций Out-of-Order
В процессор Net Burst возвращен физический регистровый файл,
который в Core и Nehalem был упразднен в пользу централизованного
обособленного регистрового файла. Однако если ранее при переупо-
рядочивании микрокоманд в буфере сохранялись полные копии ис-
пользуемых ими регистров для каждой обрабатываемой команды, то
теперь используются лишь ссылки на значения регистров, хранящиеся в
физическом регистровом файле. Фактически на буфер переупорядочивания
в ядре Sandy Bridge возложена функция «трассировки» инструкций,
обрабатываемых в данный момент времени, в то время как функции
хранения данных возложены на независимый физический регистровый
файл PRF (Physical Register File).
Иными словами, факт исполнения операции в Out-of-OrdercTpyK- туре
Sandy Bridge приводит к тому, что регистр просто указывает иное значение
в PRE а не перемешает 32-, 64-, 128- или 256-битные данные.
Достоинства новой организации регистрового файла:
• ликвидируются лишние пересылки данных;
• устраняется многократное дублирование содержимого регистров, что
позволяет сэкономить место в регистровом файле;
• обеспечивается высокая производительность при работе с 256-бит-
ными регистрами новых AVX-инструкций;
• распределение процессов между двумя регистровыми структурами
вместо одной значительно разгружает буфер переупорядочивания,
постоянно перегруженный в Nehalem.
Буфер переупорядочивания способен обрабатывать до 168 микро-
команд одновременно. Целочисленный физический регистровый файл
Sandy Bridge хранит 160 отдельных 64-битных записей; физический
регистровый файл для векторно-вещественных данных с плавающей
точкой хранит 144 56-разрядные записи, то есть регистры YMM с новыми
векторными х86-64 командами AVX целиком.
Недостаток — исполнительный конвейер приобретает дополнительные
стадии, необходимые для разыменования указателей. Изменение состава и
количественных характеристик буферных регистровых файлов в последних
моделях микропроцессоров Intel представлены в табл. 12.5.
Таблица 12.5
Емкость компонентов исполнительного Out-of-Order кластера
Поколение микроархитектур Intel Core Merom Core Nehalem Core II Sandy Bridge
Буфер переупорядочивания — ROB [Re- Order
96 128 168
Buffer]
Физический регистровый файл — Physi- cal — — 160
Register File IPRF1, Integer
Физический регистровый файл — Physical — — 144
Register File IPRFJ, FP/Vector
Буфер декодированных, но еще не вы- 32 36 54
полненных команд — Reservation Station [RS)
Буферы записи — Load Buffers 32 48 64
Буферы чтения — Store Buffers 20 32 36

Загрузка микрокоманд всех типов — SIMD, целочисленных и с


плавающей точкой — проводится единым унифицированным плани-
ровщиком (scheduler), динамически распределенным между всеми
потоками. Планировщик загружается сразу 54 переименованными и
готовыми к исполнению микрокомандами.
Улучшения блока предсказания ветвлений является постоянной
заботой разработчиков современных микропроцессоров. В Sandy Bridge все
буферы, хранящие адреса переходов и их историю, были спроектированы
заново с целью уплотнения содержащейся в них информации. В результате
без увеличения размеров структур данных, которыми оперирует блок
предсказания переходов, Intel в этой модели удалось добиться сохранения
более глубокой истории ветвлений, что положительно сказалось на работе
предсказателя, чья результативность напрямую связана с объемом
используемой им статистической информации о выполняемых условных
переходах.
Буфер предсказания результата ветвления ВТ В в Sandy Bridge вме-
щает в 2 раза больше адресов результатов ветвления и вдвое большую
историю комбинаций команд, чем аналогичный буфер Nehalem. Число
правильно прогнозируемых ветвлений выросло в Sandy Bridge по
сравнению с предшественником более чем на 5%.
12.2.3. Графическое ядро
Одной из главных особенностей данного микропроцессора являются
встроенные графические ядра. Они тоже претерпели определенные
изменения:
• графическое и вычислительные ядра находятся на одном полупро-
водниковом кристалле и соединены общей кольцевой шиной, через
которую равноправно используют все остальные ресурсы процессора;
• используются, как и раньше, 12 исполнительных (шейдерных)
процессоров, однако их быстродействие увеличилось почти в 2 раза на
ряде операций, улучшился параллелизм в работе;
• добавлены новые специализированные блоки, поддерживающие DirectX
10.1;
• предусмотрены инструменты воспроизведения ЗО-контента: аппаратный
модуль декодирования способен обрабатывать сразу 2 независимых
потока М PEG2, VC 1 или AVC в разрешении Full Н D;
• за счет использования 32-нм технологии тактовая частота увеличилась
до 1,35 ГГц.
Технология аппаратного ускорения кодирования и декодирования
видеоконтента высокого разрешения в графических ядрах Intel HD Graphics
3000/2000 получила название Quick Sync. В процессорах Sandy Bridge
используется принципиально иной подход к аппаратному ко-
дированию/декодированию видео. Дело в том, что все другие графические
процессоры и графические ядра для работы с видео применяют
унифицированные шейдерные процессоры, то есть штатные ис-
полнительные устройства. Технология Quick Sync подразумевает
включение в процесс кодирования и декодирования узкоспециали-
зированных вычислительных блоков. Иными словами, в дополнение к
традиционным исполнительным устройствам в графическом ядре Sandy
Bridge есть выделенные аппаратные видеокодек и видеодекодер.
Использование таких узкоспециализированных устройств обеспечивает
более высокую производительность и качество кодирования/
декодирования по сравнению с решениями AMD и NVIDIA.
12.2.4. Структура кэш-памяти
Кэш-памятьтретьего(ЬЗ), или последнего (LLC), уровня в микро-
процессорах Sandy Bridge для эффективной реализации взаимодействия
функциональных блоков посредством кольцевой шины делится на
равноправные банки объемом по 2 Мбайта. Исходная организация
предполагает, что число этих банков соответствует числу процессорных
ядер. Каждое из четырех процессорных ядер имеет прямой доступ к
«своему» сегменту кэша L3. Каждый сегмент кэша L3 предоставляет
половину ширины своей шины для доступа кольцевой шины данных, при
этом физическая адресация всех четырех сегментов кэша обеспечивается
единой кэш-функцией. Каждый блок кэша L3 обладает собственным
независимым контроллером доступа к кольцевой шине, он отвечает за
обработку запросов по размещению физических адресов. Кроме того,
контроллер кэша постоянно взаимодействуете системным агентом на
предмет неудачных обращений к L3, контроля межкомпонентного обмена
данными и некэшируемых обращений.
Без ущерба для целостности кэша его отдельные банки могут от-
ключаться от шины, сокращая, таким образом, общий объем кэшпамяти.
Хотя каждый банк кэш-памяти управляется собственным арбитром, все они
работают в тесном взаимодействии — информация в них не дублируется.
Разделение на банки не означает дробления кэша L3, оно просто позволяет
увеличить его пропускную способность, которая в результате
масштабируется с ростом числа ядер и соответственно банков L3.
Кэш L3 распределен не только между четырьмя ядрами процессора, но,
благодаря кольцевой шине, также между графическим ядром и системным
агентом. При этом специальный трассировочный механизм упреждает
возникновение конфликтов доступа между ядрами процессора и графикой.
12.2.5. Интеллектуальный системный агент
Интеллектуальный системный агент — функциональный узел про-
цессоров Sandy Bridge, который объединяет контроллеры внешних
интерфейсов процессора: PCI Express, DMI (Direct Media Interface —
последовательная шина Intel для подсоединения южного моста к северному
или процессору), памяти и дисплейные интерфейсы, а также блок
управления питанием PCU (PowerControl Unit).
Системный агент содержит:
• двухканальный контроллер памяти стандарта DDR3 SDRAM с частотой
до 1333 МГц;
• модуль аппаратного ускорения графики и блок видеовыхода;
• контроллер шины PCIE, поддерживающий 16 линий PCI Express 2.0,
которые могут группироваться либо в одну шину PCIE 16х, либо вдве
PCIE 8х. Она позволяет собирать полноскоростные видеоподсистемы,
объединяющие по несколько GPU, соединенных шиной PCIE с
максимальной пропускной способностью;
• дисплейные интерфейсы, имеющие возможность использования HDMI
версии 1.4, ключевой особенностью которого является поддержка
передачи 3D-изображения.
Входящий в состав системного агента блок управления питанием PCU
играет важную роль в свете стремления разработчиков микропроцессоров
сокращать потребление энергии. В частности, Агентство передовых
оборонных исследовательских проектов (Defense Advanced Research
Projects Agency, DARPA) Министерства обороны США в программе UНРС
(исполнители: Intel, Nvidia, MIT, SNL) заказало фундаментальное
исследование, одним из основных направлений которого является
энергоэффективные вычисления с достижением показателей 50 Гфлопс/Вт.
Блок PCU представляет собой программируемый микроконтроллер,
который собирает информацию о температуре и потребляемом токе
различных узлов процессора и имеет возможность интерактивно управлять
их частотой и напряжением питания. Силами PCU реализуются как
энергосберегающие функции, так и турбо-режим (технология Turbo Boost).
Данный механизм представляет собой принципиально новый подход к
решению проблемы энергопотребления микропроцессоров, поэтому
остановимся на нем подробнее.
Технология Turbo Boost позволяет работать ядрам процессора и
встроенной графике на повышенных тактовых частотах со значительным
превышением величины расчетного тепловыделения TDP, но без каких-
либо побочных последствий. PCU получил возможность управлять
частотами более интеллектуально, ориентируясь на реальные температуры
отдельных блоков микропроцессора, а не только на их энергопотребление.
Это означает, что в тех случаях, когда процессор работает в благоприятных
температурных условиях, энергопотребление может выходить за границу,
задаваемую TDP.
При типичной повседневной работе процессорная нагрузка имеет
скачкообразный характер. Большую часть времени процессор находится в
энергосберегающих состояниях, а высокая производительность требуется
лишь в течение небольших промежутков времени. За такие промежутки
нагрев процессора не успевает достигнуть серьезных величин —
сказывается инерционность, обеспечиваемая теплопроводностью кулера.
При этом управляющий частотами блок PCU допускает увеличение
тактовой частоты больше, чем может позволить теоретическая величина
расчетного тепловыделения. Когда же температура процессора начнет
приближаться к критическим значениям, частота будет снижена до
безопасных значений.
Максимальная продолжительность работы в состоянии «за гранью
TDP» аппаратно ограничена 25 с.
В Sandy Bridge реализовано полностью аппаратное решение, которое
взаимосвязанно управляет частотами вычислительных и графических ядер,
учитывая их текущее потребление. Это позволяет получить более
серьезный (реализуемый через турбо-режим) разгон процессорных ядер во
время простоя графического ядра, и наоборот — сушествен- ный разгон
графического ядра во время неполной загрузки вычислительных ядер.
Все функциональные модули, составляющие процессоры Sandy Bridge,
разделены на три домена, использующие независимую схему тактирования
и подключения питания.
Первый домен объединяет процессорные ядра и кэш L3, которые
работают на единой частоте и напряжении. Второй домен — графическое
ядро, которое использует собственную частоту. Третий домен — сам
системный агент.
Каждое из четырех ядер Sandy Bridge может быть при необходимости
независимо переведено в режим минимального энергопотребления,
графическое ядро также можно перевести в очень экономичный режим.
Кольцевая шина и кэш L3 (в силу их распределения между другими
ресурсами) не могут быть отключены, однако для кольцевой шины
предусмотрен специальный экономичный «ждущий» режим, когда она не
нагружена, а для кэш-памяти L3 применяется традиционная технология
отключения неиспользуемых транзисторов. Таким образом, процессоры
Sandy Bridge в составе мобильных ПК обеспечивают длительную
автономную работу при питании от аккумулятора.
Частота процессора может увеличиваться на четыре шага относительно
номинальной частоты, а вариация в частоте графического ядра может
достигать и шесть-семь шагов.
Интересно, что технология автоматического разгона Turbo Boost будет
реализована в процессорных и графическом ядрах, причем изменение
частоты ядер будет осуществляться независимо. К примеру, если для
сложных вычислений требуются мощности центрального процессора, то
будет увеличиваться именно его частота, а в играх, наоборот, будет
повышаться частота графического ядра (до 1100— 1350 МГц), не
затрагивая частоты ЦП. Такая схема обеспечивает определенную гибкость
при оптимизации тепловыделения, поскольку одновременно разогнанные
ядра существенно повысили бы тепловыделение.
Для пользователей ординарных моделей процессоров будет предложен
искусственно ограниченный разгон — такие процессоры также допускают
увеличение коэффициента умножения, но не более чем на четыре шага
относительно штатного значения. Причем речь идет именно о разгоне,
изменение множителя никак не повлияет на технологию Turbo Boost,
которая в дополнение к такому ручному повышению частоты добавит еше и
свое, автоматическое. Кроме того, во всех процессорах Intel не будет
ограничивать множители, формирующие частоту работы графического ядра
и памяти. Иными словами, разгон графического ядра и памяти будет
доступен в системах с любыми модификациями Sandy Bridge.
У мобильных Sandy Bridge есть и неожиданные отличия от «на-
стольных» моделей. Прежде всего, во всех чипах интегрированы условно
двухъядерные графические ускорители с 12 универсальными
процессорами, тогда как в десктопные модели могут встраиваться и
одноядерные графические процессоры с 6 исполнительными блоками. При
этом, хотя номинальная тактовая частота мобильной графики ниже, — она
составляет 650 М Гц, в турборежиме ядро разгоняется больше — до 1150
или 1300 М Гц в зависимости от модели.
Подводя итоги, можно утверждать, что новая микроархитектура Sandy
Bridge обеспечивает на 5—10% более высокое реальное быстродействие,
чем процессоры предыдущего поколения с тем же числом ядер и с той же
тактовой частотой. Так как тактовые частоты моделей Sandy Bridge
превосходят частоты равноценных процессоров предыдущего поколения
примерно на 10%, то можно предположить, что вся новая платформа
быстрее предшествующей как минимум на 25%. При этом
энергопотребление процессоров Sandy Bridge оказывается примерно на
20% ниже, то есть по показателю «производительность на ватт» новые CPU
шагнули далеко вперед.
На отдельных классах задач микропроцессоры Sandy Bridge ока-
зываются на порядок лучше своих предшественников за счет новых
структурных блоков. Значительный прирост быстродействия ожидается во
многих утилитах для перекодирования видео, для нужд которых в новых
CPU добавлены специальные аппаратные кодеки и декодеры. Также
существенно быстрее на новых CPU смогут работать мультимедийные,
криптографические, научные или финансовые алгоритмы, привлекающие
для своих целей новые наборы инструкций AES-NI иАУХ.
Однако, как и в первых М MX-микропроцессорах, все эти преимущества
можно будет получить лишь при специальной оптимизации программного
обеспечения.
В настоящее время Intel готовит к выпуску двухъядерный процессор Ivy
Bridge. Первая модель этого ряда получила название Core i5- 3470Т. Ее
характеристики:
• частота — 2,9 ГГц;
• частота в режиме Turbo — 3,6 ГГц;
• частота графической части — 650 М Гц;
• частота графической части в режиме Turbo —1,1 ГГц;
• объем кэша — 3 МБ;
• TDP- 35 Вт.
МИКРОПРОЦЕССОРЫ С АРХИТЕКТУРОЙ IA-64

13.1. МИКРОПРОЦЕССОРЫ ITANIUM, ITANIUM 2


Типичным представителем архитектуры EPIC является микропроцессор
Itanium фирмы Intel. Данный микропроцессор относится к новой 64-
разрядной архитектуре 1А-64. Часто пользователи путают архитектуру Intel
64 с IA-64, ошибочно скачивая ПО для первой вместо второй (хотя на
микропроцессорах с разной архитектурой одно и то же ПО выполняться не
будет), а затем обнаруживают, что программа не запускается. Во
избежание ошибок следует помнить, что Intel 64 и IА-64 — совершенно
разные и несовместимые между собой микропроцессорные архитектуры.
Представители Intel 64 — последние модели Pentium 4, ряд моделей
Celeron D. семейство Core 2, Core i3, Core i5, Core i7 и некоторые модели
Intel Atom.
Микропроцессоры семейства IA-64 — Itanium и Itanium 2. Itanium был
впервые представлен 29 мая 2001 г. В июле 2002 г. производство Itanium
было прекращено в связи с выходом микропроцессоров Itanium 2. Однако в
ноябре 2007 г. Intel переименовала серию процессоров Itanium 2 обратно в
Itanium.
Структура микропроцессор Itanium показана на рис. 13.1.
Системная шина Itanium позволяет соединить между собой до 4
микропроцессоров без дополнительных мостов. Ее шина данных имеет
ширину в 64 разряда плюс 8 разрядов для коррекции ошибок. Тактовая
частота шины равна 133 МГц, но возможны 2 передачи за такт. Это
обеспечивает пропускную способность 2,1 Гбайт/с. Адресная шина
содержит 44 разряда.
Основные исполнительные ресурсы Itanium включают устройства
четырех типов: В-устройства для обработки команд переходов, М-
устройства для выполнения команд загрузки регистров / записи в память, I-
устройства для обработки целочисленных данных и данных в формате
ММХ и F-устройства для обработки чисел с плавающей точкой.
Всего в Itanium содержится 4 целочисленных АЛУ (IU), 4 мульти-
медийных исполнительных устройства (ММХ), 3 устройства обработки
команд перехода (BU), 2 устройства обработки чисел с плавающей точкой,
работаюшихс данными расширенной точности, и 2 устройства с плавающей
точкой одинарной точности. Кроме того, имеются 2 устройства загрузки
регистров/записи в память.
Рис. 13.1. Структура микропроцессора Itanium

После трансляции на исполнение команды поступают в виде 128-


разрядных связок, каждая из которых содержит 3 команды и маску (рис.
13.2).
5 41 41 41
— — —
Маска Команда 1 Команда 2 Команда 3
Рис. 13.2. Структура связки команд микропроцессора Itanium

В маске указывается, какой тип исполнительных устройств требуется


для той или иной команды, то есть команды компонуются таким образом,
чтобы они не конфликтовали между собой за ресурсы микропроцессора.
Каждая команда имеет следующий формат (рис. 13.3):

14 „ 6 7 7 7
••

коп Предикат R1 R2 R3
Рис. 13.3. Формат команды микропроцессора Itanium

В микропроцессоре имеется 9 портов четырех типов: 2 порта — для


команд группы М, 2 — для команд 1,2 — для команд F и 3 — для команд
группы В. Они играют роль шлюзов к устройствам, выполняющим
соответственно операции: с памятью, целочисленные, перехода и с
плавающей точкой. Поле маски связки команд позволяет не выдавать на
одновременное выполнение больше команд, чем имеется исполнительных
ресурсов микропроцессора. Поскольку разного типа команды направляются
для выполнения в разные порты, это позволяет эффективно организовать
параллельное выполнение команд. Подобный параллелизм с учетом
выдачи на выполнение до 6 команд за такт охватывает не одну связку, а
пару смежных связок.
Архитектура IA-64 характеризуется большими емкостями файлов
регистров. Файл регистров общего назначения G R в IА-64 имеет емкость в
128 строк. Каждый из этих регистров содержит дополнительный разряд NaT
(Nota Thing), который указывает, является ли значение в регистре
достоверным. Установку этого разряда могут производить команды
исполнения по предположению. Регистровый файл имеет 8 портов чтения и
6 портов записи. Эти порты позволяют поддерживать одновременно 2 М-
операции и 2 1-операции за такт.
Файл регистров с плавающей точкой FR имеет ту же емкость, что и
файл регистров общего назначения, и обеспечивает одновременную
работу двух М-операций и двух команд FMAC («умножить-и-сло- жить»).
Наконец, PRF-файл однобитных регистров-предикатов (их всего 64) имеет
15 портов чтения и 11 портов записи.
Для обеспечения более полной загрузки ресурсов Itanium в состоянии
выдавать на выполнение до 6 команд затакт. При прохождении через порты
осуществляется отображение виртуальных номеров регистров из
программного кода в физические регистры. Эффективность работы
функциональных устройств увеличена за счет возможности прямой подачи
результата выполнения на вход другой команды, минуя запись в регистры
(продвижение данных).
Глубина конвейера в МП Itanium составляет Юстадий, что во многом
определяет частоту работы микропроцессора. Она составляет от 800 МГц
до 1 ГГц.
Конвейер обрабатывает команды в порядке их расположения в про-
грамме и функционально разделен на 4 блока:
1. Блок выборки команд обеспечивает выборку и предвыборку до 6
команд за такт, устанавливает иерархию ветвлений, связывает буфера и
содержит три ступени.
2. Блок доставки команд обеспечивает диспетчеризацию до 6 команд
на 9 портах, переименование регистров, управление регистровым стеком;
содержит две ступени.
3. Блок доставки операндов: обеспечивает связь блока регистров с
памятью и АЛУ, наблюдение и управление состоянием регистров,
предсказание зависимостей; содержит две ступени.
4. Блок исполнения, состоящий из трех ступеней, управляет работой
нескольких комплектоводнотактных АЛУ и устройств обращения к памяти.
Кроме того, блок исполнения обеспечивает упреждающую выборку данных,
обработку предикатов, выполнение ветвлений.
Двухпортовый кэш данных первого уровня является 4-канальным и
имеет емкость 16 Кбайт с длиной строки 32 байта. В нем используется
алгоритм сквозной записи. Благодаря наличию двух портов он может
выполнять одновременно 2 операции загрузки регистров/за- писи в память
в любом сочетании. Загрузка операндов с плавающей точкой всегда
начинается с кэша второго уровня. Это связано с малой емкостью кэша
данных первого уровня. Кэш команд первого уровня емкостью 16 Кбайт
также является 4-канальным.
Двухпортовый кэш второго уровня емкостью 96 Кбайт содержит и
команды, и данные. Он является 6-канальным с длиной строки 64 байта.
Как и кэш данных первого уровня, он может выполнять 2 операции с
памятью за такт, но в нем используется уже алгоритм обратной записи.
Внешний кэш третьего уровня имеет емкость 4 Мбайт и длину строки 64
байта. Он является 4-канальным и может работать на частоте ядра
микропроцессора.
В микроархитектуре Itanium поддерживается широкий спектр возможных
размеров страниц памяти: 4/8/16/64/256 Кбайт, 1/4/16/64/256 Мбайт.
Itanium имеет очень мощную систему предсказания переходов, которая
использует практически все имеющиеся в этом направлении разработки.
Во-первых, традиционные таблицы предсказания переходов; в Itanium
имеется два типа таких таблиц — ВРТ (Branch Prediction Table) и М ВРТ
(Multiway Branch Prediction Table). Обе таблицы устроены, по сути,
одинаково и являются 4-канальной множественно-ассоциативной кэш-
памятью на основе адресов связок. В них применяется двухуровневый
предиктор с 4-разрядным полем истории (счетчики последних переходов).
Емкость ВРТ — 512 строк для обычных переходов, а МВРТ — всего 64
строки, но для переходов с ветвлением на несколько направлений. Строки
МВРТ включают соответственно информацию о трех слотах переходов, а
не об одном, как в ВРТ. МВРТ целесообразно применять именно для EPIC-
кодов со спекулятивной выборкой и предикатами, что делает более часто
употребляемыми переходы со многими ветвями.
Кроме МВРТ/ВРТдля предсказания переходов используются кэш
адресов перехода ТАС (Target Address Cache), содержащий по одной
строке на связку, емкостью в 64 строки, регистр адресов перехода TAR
(Target Address Register), содержащий по одной строке на пару связок,
емкостью в 4 строки, буфер адресов возврата RSB (Return Stack Buffer),
используемый для команд перехода с возвратом и емкостью в 8 строк. Для
переходов относительно счетчика команд IP имеется два блока
корректоров адреса перехода.
Содержимое TAR устанавливается командой предсказания перехода
Ьгр с суффиксом imp. Если в TAR указан соответствующий признак
попадания, переход будет выполнен безотносительно к тому, что имеется в
ВРТ/МВРТ TAR содержит не только признак, но и адрес перехода.
Предсказание TAR может игнорироваться только предиктором циклов (то
есть когда счетчик цикла указывает, что нужно выйти из цикла).
Кэш ТАС заполняется командами перехода или аппаратурой пред-
сказания переходов Itanium. Если в МВРТ/ВРТ имеется признак попадания,
ТАС предоставляет соответствующий адрес перехода. Таким образом, от
МВРТ/ВРТ зависит, должен ли переход происходить, а адрес берется из
ТАС. Если же переход отсутствует в МВРТ/ВРТ, но в ТАС есть признак
попадания, переход будет осуществлен. Если данные о переходе в
ВРТ/МВРТ отсутствуют, то может использоваться статическое
предсказание, кодируемое в команде перехода.
Структура микропроцессора Itanium 2 представлена на рис. 13.4.

Рис. 13.4. Микропроцессор Itanium 2

Микропроцессоры Itanium 2 обладают рядом преимуществ по


сравнению с предшествующими моделями. В Itanium 2 стало больше
функциональных устройств, чем было у Itanium. Этот микропроцессор
использует 6 /АЛ У, в то время как Itanium может использовать л ишь 4 за
такт. В Itanium 2 имеется 4 порта памяти, позволяющие выполнять по 2
целочисленные загрузки и сохранения за такт, в то время как в Itanium —
только 2 порта.

В Itanium 2 применяются 64-разрядные инструкции непосредственно на


аппаратном уровне, чего не было на процессорах Itanium.
При определенных условиях Itanium 2 может перенаправлять вы-
полнение инструкций на непрофильные функциональные элементы. При
обработке операций Itanium 2 учитывает многократно повторяющиеся
операции. Itanium 2 использует большое адресное пространство: 50-битная
адресация физической памяти / 64-битная адресация виртуальной памяти.
Itanium 2 содержит на кристалле достаточно большую кэш-память третьего
уровня L3.
В производительности Itanium 2 имеются скрытые составляющие. IA-64
предоставляет возможности аппаратной эмуляции кодов х86. Однако
производительность системы на базе Itanium 2 в режиме эмуляции х86
недостаточно эффективна. Поддержка совместимости х86 себя не
оправдывает. Программная трансляция кодов РА-RISC, применяемая в IA-
64, является более простой. Это объясняется тем, что IA-64 больше
приближен к архитектуре RISC, чем к х86.
Основные отличительные черты микропроцессоров с архитектурой IА-
64 представлены в табл. 13.1.
Таблица 13.1
Отличительные черты архитектуры IA-64
CISC RISC IA-64
Явный параллелизм в машинном коде. Код
Отсутствие явного параллелизма. Код последовательный содержит указания о взаимосвязях между
инструкциями
Распараллеливание возлагается на
Распараллеливание возлагается на процессор, оно весьма компилятор. Процессор получает готовый к
ограничено и требует больших аппаратных ресурсов исполнению код

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


ветвления и сократить длину кода

Переменная длина и большое Фиксированная длина и малое число типов команд упрощают
число команд разных типов декодирование
усложняют декодирование

Инструкции разнообразны, что Сокращенный набор команд Инструкции довольно разнообразны, что
уменьшает потребность в приводит к большому числу уменьшает потребность в условных
условных ветвлениях и условных ветвлений, что ветвлениях и повышает эффективность
повышает эффективность снижает эффективность спекулятивного выполнения
спекулятивного выполнения спекулятивного выполнения
Несколько наиболее известных компаний в области профессиональных
вычислений объединились в альянс, чтобы проводить согласованную
разработку и поддержку решений на базе процессоров Intel Itanium. Среди
участников альянса такие компании, как Fujitsu, Hitachi, HP, Intel, NEC, SGI,
Microsoft, Novell, Oracle, Red Hat, SAP, SAS. Альянс предлагает обширные
ресурсы для поставщиков ПО и корпоративных IT-организаций,
заинтересованных в разработке и внедрении решений на базе процессоров
Intel Itanium.
Как отмечалось ранее, в ноябре 2007 г. Intel переименовала серию
процессоров Itanium 2 обратно в Itanium. В настоящее время процессорам
Itanium присваиваются четырехзначные номера. Последняя разработка в
этом направлении — процессор Intel Itanium 9560 — изготавливается по
технологическому процессу 32 нм и имеет следующие характеристики:
• число ядер —8;
• число потоков — 16;
• тактовая частота — 2,53 ГГц;
• емкость кэш-памяти — 32 Мбайт;
• максимальное тепловыделение — 170 Вт.
Процессор использует технологию Intel Platform Protection Technology,
включающую бит отмены выполнения, — аппаратную функцию
безопасности, которая позволяет уменьшить уязвимость к вирусам и
вредоносному коду, а также предотвратить выполнение вредоносного ПО и
его распространение на сервере или в сети.
Itanium 9560 ориентирован на решение наиболее требовательных к
ресурсам задач планирования ресурсов предприятия, управления
цепочками поставок, управления взаимоотношениями с клиентами, а также
для других рабочих нагрузок высокой готовности.

13.2. НАБОР МИКРОСХЕМ HPZX1 И МИКРОПРОЦЕССОРНАЯ СИСТЕМА


НА ИХ ОСНОВЕ
Архитектура микропроцессора Itanium разрабатывалась совместно
компаниями Intel и Hewlett-Packard и была ориентирована на сегмент
серверов. Она хорошо подходит для создания вычислительных систем,
содержащих от 4 до 32 процессоров в сервере. Компьютеры на базе Itanium
2, а также соответствующих комплектов микросхем HP zxl, вероятно,
относятся к числу самых продаваемых в классе недорогих SMP-систем,
состоящих на платформе IA-64.
Особый интерес к SMP-системам на базе Itanium 2 и zxl объяснятся
двумя принципиальными причинами. Первая причина обусловлена
существующей тенденцией сокращения микропроцессоров с классической
RISC-архитектурой. Вторая причина связана с распространением
концепции «набора микросхем», известной по ПК на базе х86, на широкий
диапазон компьютеров, включая многопроцессорные системы.
Набор zxl содержит три типа микросхем: a zxl MIO (Memory &
Input/Output), является аналогом северного моста в обычных чипсетах.
Вместо аналога южного моста используются адаптеры ввода- вывода
отдельных микросхем— zxl ЮА. Третьим типом микросхем,
представленным в zxl, являются микросхемы расширителя памяти (SME —
Scalable Memory Expander), с помощью которых осуществляется
построение 4-процессорных серверов, обеспечивается увеличение емкости
оперативной памяти и ее пропускной способности (рис. 13.5).
Рис. 13.5. Структурная схема четырехпроцессорного сервера на базе МП Itanium 2 и чипсета HPzxl

Микросхемой MIO обеспечивается интерфейс с 128-разрядной


системной шиной Itanium 2, имеющей пиковую пропускную способность,
равную 6,4 Гбайт/с, с оперативной памятью и контроллером ввода-вывода.
Микросхема MIO поддерживает 8 каналов ввода-вывода с пропускной
способностью 500 Мбайт/с на канал. Внутренняя шина в МЮ осуществляет
минимизацию трафика ввода/вывода на процессорной шине, в который
включаются данные, записываемые из кэша микропроцессоров на внешние
устройства. Процессорная шина не захватывается DMA-передачей данных.
Контроллер ввода-вы вода отвечает за передачу данных в рамках
интерфейса шины Itanium 2. Конструкция М10 использует до четырех
соответствующих шин ввода-вывода, позволяющих работать на частотах от
100до266 МГц.
При необходимости присоединения адаптера IOA, функционирующего с
высокоскоростными шинами, имеется возможность объединения каналов
ввода-вывода. Данное объединение позволяет создавать различные
конфигурации подсистемы ввода-вывода. Для адаптеров ввода-вы вода zxl
IOA базовым является подключение 4 мостов РС1/ РС1-Х с пропускной
способностью I Гбайт/с каждый к контроллеру MIO. В ЮА содержатся
средства повышения производительности: буферы чтения/записи,
аппаратура для предварительной выборки при чтении, переупорядочение
очереди запросов.

Вам также может понравиться