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

Организация ЭВМ и систем

Тема: Анализ развития процессоров фирмы Intel

• Конвейерная обработка данных в процессорах IA-32


• Организация и режимы работы процессоров

семейства P6 и NetBurst (P7)


• Обзор процессоров фирмы AMD
Конвейерная обработка данных
Конвейерная организация процессора означает,
что многие сложные действия разбиваются на
этапы с небольшим временем выполнения.
Каждый этап выполняется в отдельном устройстве
(блоке).
Конвейеризация позволяет нескольким
внутренним блокам МП работать одновременно,
совмещая дешифрование команды, операции
АЛУ, вычисление эффективного адреса и циклы
шины нескольких команд.
Конвейерная обработка данных
Можно выделить два наиболее важных проявления
конвейерной организации процессора:
прохождение инструкции от момента считывания
из кэша инструкций до полного завершения (отставки)
прохождение операции через функциональное
устройство.
Первое проявление обычно называют «конвейером
процессора» либо «конвейером непредсказанного
перехода» (что более правильно). Длина этого конвейера
влияет на производительность только в случае
неправильного предсказания перехода в программе, когда
происходит отмена работы, выполненной во всех этапах,
начиная с этого перехода (сброс конвейера).
Конвейерная обработка данных
•Длина конвейера функционального устройства
определяет время ожидания результатов операции
другой операцией, использующей эти результаты в
качестве операндов.

•Такое старт-стопное время выполнения операции в


функциональном устройстве называют латентностью.

•Обращение к кэшам всех уровней и к оперативной


памяти также производится конвейерным образом.
Большинство простых операций целочисленной
арифметики и логики имеют латентность, равную
единице — то есть они выполняются в функциональных
устройствах синхронно, без конвейеризации.
Конвейерная обработка данных
в ЦП 80286
В составе МП 80286 есть 4 конвейерных устройства:
 BU (Bus Unit) – шинный блок (считывание из памяти и
портов ввода/вывода);
 IU (Instruction Unit) – командный блок (дешифрация
команд);
 EU (Executive Unit) – исполнительный блок
(выполнение команд);
 AU (Address Unit) – адресный блок (вычисляет все
адреса, формирует физический адрес).
Латентность
1 2 3 4 5 6 7
BU - считывание К1 К2 К3 К4
IU - дешифрация К1 К2 К3 К4
EU - исполнение К1 К2 К3 К4
AU — вычисление адреса К1 К2 К3 К4
1 2 3 4 5 6

Считыва K 0 K1 K2 K3
ние BU

Дешифр K0 K1 K2 K3
ация IU

Вычисле K0 K1 K2 K3
ние
адреса
операнд
а AU

Выборка K0 K1 K2 K3
операнд
а BU

Выполн K0 K1 K2 K3
ение EU

Запись K0 K1 K2 K3
результ
ата BU
ЦП 80486
Основные нововведения:
Гибридное CISC/RISC-ядро (простые команды
выполняются за такт, сложные
интерпретируются по обычной технологии
CISC). Работает медленнее чистого RISC, но
сохраняет совместимость со старым ПО.
Встроенный математический сопроцессор
5-ступенчатый конвейер
Конвейерная обработка данных
в ЦП 80486
В ЦП 80486 – пятиступенчатый конвейер для обработки
данных:
 Предвыборка команд (PF – Prefetch);
 Декодирование команды (D1 – Instruction Decode);
 Формирование адреса (D2 – Address Generate);
 Выполнение команды в АЛУ и доступ к кэш-памяти (EX –
Execute);
 Обратная запись (WB – Write Back).
1 2 3 4 5 6 7 8
PF К1 К2 К3 К4
D1 К1 К2 К3 К4
D2 К1 К2 К3 К4
EX К1 К2 К3 К4
WB К1 К2 К3 К4
ЦП Pentium
Основные отличия:
Увеличен размер страничной памяти.
(Возможность работы со страницами до 4 Мб,
одновременно со страницами размером 4 Кб)
64-разрядная ШД
Конвейеризация машинного цикла
Конвейер в FPU
Суперскалярная архитектура
Контроль четности адреса и данных
Раздельные блоки кэш-памяти для данных и
кода
Блок прогнозирования ветвлений
Средства управления питанием
ЦП Pentium (P5)
Микроархитектура Pentium и более поздних процессоров
базируется на идее суперскалярной обработки

Суперскалярная архитектура – это способ построения


процессора с двумя или более конвейерами, позволяющий
выполнять параллельно 2 или более выбранные команды.
PF
U–конвейер, основной (любые команды).
V–конвейер (простые команды). D1

D2 (U) D2 (V)

E (U) E (V)

WB (U) WB (V)
Спаривание – это процесс параллельного выполнения 2-х
команд, не зависящих друг от друга по данным или ресурсам.
Какие команды являются простыми
Простыми являются следующие команды:
MOV reg, reg/mem/imm Команды
MOV mem, reg/imm пересылки
ALU reg, reg/mem/imm Арифметические и
ALU mem, reg/imm логические операции
INC reg/mem Увеличение и
DEC reg/mem уменьшение на 1
PUSH reg/mem Операции
POP reg над стеком
LEA reg, mem Загрузка адреса
JMP/CALL/JCC near Команды передачи управления
NOP Пустая команда
Простые команды выполняются аппаратным способом и
исполняются за один такт, за исключением команд ALU mem, reg и
ALU reg, mem, которые требуют для выполнения два итри такта
соответственно, и их выполнение обеспечивается специальными
компонентами процессора.
Условные и безусловные переходы могут выступать только как
вторая команда в паре. SHIFT на 1, ROT на 1, SHIFT imm могут быть
лишь первой командой в паре.
Конвейеры ЦП Pentium
Пусть К1 и К2 — две последовательные команды. Оба
конвейера будут использоваться одновременно только при
выполнении следующих условий:
К1 и К2 — простые целочисленные инструкции.
К1 — не команда перехода.
Адрес назначения К1 не равен адресу источника К2.
Адрес назначения К1 не равен адресу назначения К2.
Если хотя бы одно из условий не выполняется, К1
отправляется в конвейер U, а конвейер V не используется.
Конвейерная обработка данных
в ЦП Pentium
1 2 3 4 5 6 7 8
PF К1 К3 К5 К7
К2 К4 К6 К8
D1 К1 К3 К5 К7
К2 К4 К6 К8
D2 К1 К3 К5 К7
К2 К4 К6 К8
EX К1 К3 К5 К7
К2 К4 К6 К8
WB К1 К3 К5 К7
К2 К4 К6 К8
Предсказание переходов
Согласно статистике, переходы встречаются в среднем
через каждые 6 команд. Условные переходы снижают
общую производительность процессора, так как в ожидании
этого перехода конвейер работает вхолостую. Поэтому
имеется специальный буфер адресов перехода, который
хранит статистику о последних 256 переходах. Почти в
любой программе имеются циклы, в ходе выполнения
которых периодически необходимо принимать решение
либо о выходе из цикла, либо о переходе на его начало.
Специальный блок предсказания адреса перехода
прогнозирует, какое решение будет принято программой.
При этом он основывается на предположении, что ветвь,
которая была пройдена, будет использоваться снова, и
загружает соответствующую команду перехода на
конвейер. Точность такого предсказания – примерно 80%.
ЦП Pentium (P5)
Схема
КЭШ команд, 8К предсказания
перехода

Конвейерный
Буфер предвыборки, 32 бита блок
V (5 ступ.)
FPU
U (5 или 8 ступ.)

АЛУ АЛУ
(целочисл.) (целочисл.)

Блок регистров Умножитель


шяан дярз ар – 46

Сложитель
Делитель

КЭШ данных, 8К
ЦП Pentium Pro (P6)
Основные нововведения:
Кэш-память 2-го уровня размером в 256 Кбайт
сопряжена с ЦП в виде второго кристалла
Двойная независимая шина (DIB - Dual Independent
Bus). Два отдельных канала:
Back Side Bus для кэша 2 уровня
Front Side Bus для чипсета
Динамическое исполнение
Внутренняя RISC архитектура (Сложные CISC-
команды разбиваются на группы простых,
выполняющихся за один такт RISC-команд)
Три 14-ступенчатых конвейера
ЦП Pentium Pro (P6)
Динамическое исполнение программы
Динамическое исполнение программы
представляет собой комбинацию трёх технологий
обработки данных:
Глубокое предсказание ветвлений (с
вероятностью > 90% можно предсказать 10 - 15
ближайших переходов)
Анализ потока данных (на 20-30 шагов вперед
посмотреть программу и определить зависимость
команд по данным или ресурсам)
Опережающее (внеочередное) исполнение
команд
Dual Independent Bus — DIB
При наличии двух независимых шин данных для
ввода-вывода процессор получает доступ к данным с
любой из них одновременно и параллельно. Основная
шина реализует интерфейс процессора и материнской
платы или набора микросхем системной логики. Вторая,
или фоновая (backside), входная шина процессора с DIB
применяется кэш-памятью второго уровня
Шина FSB соединена с системной платой, а шина кэш-
памяти второго уровня — напрямую с ядром процессора.
Для реализации архитектуры DIB кэш-память второго
уровня объединена в один корпус с процессором, что
позволило приблизить её быстродействие к скорости
встроенной кэш-памяти.
Структура микропроцессора
Pentium Pro
Кэш 2-го уровня, 256 Кбайт Буфер
(монтируется в один корпус с ЦП) запросов
Внешняя
64-разрядная Синхронная
синхронная 64-разрядная
шина шина

Буфер
Интерфейс памяти данных Блок интерфейса с памятью
За 1 такт выбираются 2 строки кэша
(строка – 32 байта)
Блок формирования адреса
Блок выборки Буфер команд,

Блок резервирования
инструкций 8 Кбайт Блок формирования адреса
Блок
предсказания Арифметическое устройство
переходов с фиксированной точкой
(512 входов)
Дешифратор команд
Арифметическое устройство
с фиксированной точкой
Дешифратор, Дешифратор, Дешифратор,
1 микро- 1 микро- 4 микро- Блок
операция операция операции микропрог- Арифметическое устройство
за такт за такт раммного с плавающей точкой
управления

Пул инструкций

Таблица переименования регистров Блок удаления


Структурная организация
Pentium Pro (P6)
Кэш второго
Системная шина уровня

Интерфейс шины

Кэш команд Кэш данных


первого уровня первого уровня

Устройство Устройство Устройство


выборки/декодирования диспетчеризации/выполнения отката

Пул команд
ЦП Pentium Pro (P6)
Внеочередное исполнение команд
Внеочередное исполнение операций означает,
что операции не обязаны выполняться в
функциональных устройствах строго в том порядке,
который определён в программном коде. Более
поздние (по коду) операции могут исполняться
перед более ранними, если не зависят от
порождаемых ими результатов.
Отставка выполненных машинных инструкций
после их выхода из подсистемы внеочередного
исполнения производится строго последовательно
для восстановления изначального порядка
следования операций. Процессор должен
гарантировать, что результаты «внеочередного»
выполнения программы совпадают с результатами
«правильного» последовательного выполнения.
ЦП Pentium Pro (P6)
Внеочередное исполнение команд
Внутренняя организация Pentium Pro
соответствует архитектуре RISC, поэтому блок выборки
команд, считав поток инструкций IA-32 из L1 кэша
инструкций, декодирует их в серию микроопераций.
Поток микроопераций попадает в буфер
переупорядочивания (пул инструкций). В нем содержатся
как еще не выполненные микрооперации, так и уже
выполненные, но еще не повлиявшие на состояние
процессора.
Для декодирования инструкций предназначены три
параллельных дешифратора: два для простых и один для
сложных инструкций. Каждая инструкция IA-32
декодируется в 1-4 микрооперации.
ЦП Pentium Pro (P6)
Внеочередное исполнение команд
Блок исполнительных устройств способен
выбирать инструкции из пула в любом порядке.
При этом благодаря блоку предсказания ветвлений
возможно выполнение инструкций, следующих за
условными переходами.
Блок резервирования постоянно отслеживает в
пуле инструкций те микрооперации, которые готовы к
исполнению, и направляет их на свободное
исполнительное устройство соответствующего типа.
Предсказание переходов
Pentium Pro, в отличие от Pentium проверяет
зависимость команды от результата предыдущих команд
не на один, а на много шагов вперед. Этот механизм
называется «анализом потока данных». Pentium Pro
обычно просматривает программу на 20-30 шагов вперед
относительно текущей команды и может выполнять уже
не две, а в среднем три инструкции одновременно.
Пиковая производительность «опережающего»
выполнения может достигать 5 инструкций в одном такте.

Механизм предсказания переходов работает


одновременно с декодером инструкций и независимо от
него.
Спекулятивное исполнение
Результат опережающего выполнения записывается в
специальные регистры временного хранения. Иногда
такая поспешность может оказаться не только
бесполезной, но и вредной. Перед командами,
выполненными с опережением, среди еще не
выполненных команд может оказаться «неучтенная»
команда. В этом случае все преждевременные команды
оказываются выполненными зря. В большинстве случаев
эта авантюра приносит свои плоды: в среднем удается
правильно предсказать более 90% переходов (а именно
здесь трудно предсказать порядок выполнения команд).
Intel так и называет этот метод выполнения программы -
«спекулятивный» или «авантюрный»
Подтверждение выполнения
инструкций
Взаимная зависимость команд от значения регистров
архитектуры IA-32 может требовать ожидания
освобождения регистров. Для решения этой проблемы
предназначены 40 внутренних регистров общего
назначения, используемых в реальных вычислениях.
Блок удаления отслеживает результат спекулятивно
выполненных микроопераций. Если микрооперация более
не зависит от других микроопераций, ее результат
переносится на состояние процессора, и она удаляется из
буфера переупорядочивания.
Блок удаления подтверждает выполнение
инструкций (до трех микроопераций за такт) в порядке
их следования в программе, принимая во внимание
прерывания, исключения, точки останова и промахи
предсказания переходов.
Сброс конвейера
При неправильном предсказании перехода все
последующие инструкции будут отменены, и начнётся
считывание инструкций из I-кэша по правильному
адресу. Такую процедуру называют сбросом конвейера,
а время (в тактах), которое было потрачено на
выполнение инструкции перехода с момента её
считывания из кэша, называют длиной конвейера
непредсказанного перехода. Это время характеризует
чистую потерю в идеальных условиях, когда инструкция
проходила через все этапы «гладко» и нигде не
задерживалась по внешним причинам. В реальных
условиях потеря на неправильно предсказанный переход
может оказаться выше.
Длина конвейера непредсказанного перехода не
всегда указывается в документации и известна весьма
приблизительно.
Как работает обычный Pentium?
- Выполнение команды; -Обращение к памяти
За 1-ый такт выполняются 2
№ команды 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 команды. Во 2-ом такте
1 начинается выполнение еще 2-х
2 команд, но команда 3 не может
3
выполниться сразу, т.к. для ее
4
выполнения необходимы
5
6
данные, которых не оказалось в
кэш-памяти. Получение данных
42 из основной памяти занимает
43 несколько тактов, в это время
44 оба конвейера простаивают.
45 Аналогично выполняются
46 команды 5, 6 и в подпрограмме
47
команды 42, 43, затем 44 и 45, где
вновь идет обращение к памяти,
7 и затем команды 46 и 47.
8 Команда 8 не может
9
10
выполняться одновременно с 7-
11 ой, т.к. в ней используется
12 результат действия последней –
13
пока неизвестный. Далее
Pentium выполнил 17 команд за 19 тактов выполняются команды 8 и 9, а
затем 11 и 12.
Как работает Pentium Pro?
- Выполнение команды Выполнение команды
№ команды 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 - Обращение к памяти
1 - Команды, прошедшие
2 подтверждение
3
4
- Зависимость команды
5 от результата предыдущих
команд
42
Pentium Pro проверяет
43
44 зависимость команды от
45 результата предыдущих
46 команд на много шагов
47 вперед. Так, для выполнения
7 команды 3 требуется
8 результат команды 1,
9 аналогично команда 5
10
зависит от результата
11
12 команды 4, команда 44 от
13 результата 43 и т.д. Поэтому
14 в 1-ом такте выполняются
15
16 команды 1, 2 и 4 –
17 опережающее выполнение
18 команд.
19
ЦП Pentium MMX (P5)
В Pentium MMX отсутствует введённая в Pentium Pro
двойная независимая шина DIB, но добавлен
дополнительный набор инструкций MMX, позволяющих
быстро выполнять операции, связанные с
кодированием/декодированием аудио и видео данных.
Основные черты технологии MMX (MultiMedia eXtensions) :
SIMD архитектура (одна команда над многими
данными);
57 новых инструкций;
8 64-разрядных регистра MMX (ММ0-ММ7 – это
мантиссы 8 регистров блока арифметики с плавающей
точкой);
4 новых 64-битных типа данных:
упакованный байт 64=8х8
упакованное слово 64=4х16
упакованное двойное слово 64=2х32
учетверенное слово 64=1х64
ЦП Pentium II (P6)

Ядро Pentium II представляет собой


модифицированное ядро P6. Процессор Pentium II
можно рассматривать как комбинацию Pentium Pro и
технологии MMX. У него такие же многопроцессорные
возможности, интегрированный кэш второго уровня и
двойная независимая шина как у Pentium Pro +
поддержка MMX. Также увеличены кэши:
2 кэша I уровня (16 + 16 Кб)
Кэш II уровня (512 Кб)
ЦП Pentium III (P6)
Оптимизирована работа с памятью
Введён 64-битный уникальный номер. (Впоследствии убран
из-за жалоб пользователей на нарушение приватности)
Некоторыми моделями Pentium III преодолён рубеж
тактовой частоты 1 ГГц (хотя в «битве за гигагерц» AMD
одержала победу)
Добавлены расширения SSE (Streaming SIMD Extensions)
– потоковые SIMD расширения для вещественных чисел:
70 новых инструкций.
8 новых 128-разрядных регистров данных: XMM0-
XMM7.
32-битный регистр управления/состояния MXCSR
используется для маскирования исключений, выбора
режимов и определения состояния флагов.
Новый тип данных - упакованные числа с плавающей
точкой одинарной точности. (четыре
последовательно расположенных 32-разрядных
числа с плавающей точкой одинарной точности)
Все команды SSE доступны из любых режимов работы
ЦП: реального, защищенного и виртуального.
Инструкции SSE могут выполнять операции над
«пакетами» вещественных чисел, т. е. одна инструкция
выполняет операцию над пакетом из четырех пар
вещественных чисел.

X1 X2 X3 X4

Y1 Y2 Y3 Y4

OP OP OP OP

X1 op Y1 X2 op Y2 X3 op Y3 X4 op Y4
ЦП Pentium IV (NetBurst)
Pentium 4 построен на совершенно новой архитектуре
— NetBurst (P7). За более чем 5 лет было выпущено
множество ядер и моделей Pentium 4. Ниже приведены
некоторые отличительные особенности оригинальной
архитектуры NetBurst (некоторые из них в последующем
были изменены):
Длина конвейера увеличена до 20 ступеней, что
позволяет легче наращивать тактовую частоту
Улучшена схема предсказания ветвлений (до 95%)
Частота новой шины 100 МГц (против 133 у Pentium
3), но за такт передаётся 4 пакета, то есть эффективная
частота — 400 МГц
АЛУ работает на удвоенной частоте ядра
Новый набор SIMD-расширений SSE2 (144 новые
инструкции)
Трассировочный кэш
Трассировочный кэш (Trace cache,
T-cache)
Важнейшим элементом процессора Intel Pentium 4
является трассировочный кэш (Trace cache, Т-кэш),
который выполняет ту же функцию, что и кэш инструкций
в классических микропроцессорах. Необходимость
создания такого устройства была связана с тем, что
разработчики процессора столкнулись с трудностями
реализации обычного кэша инструкций, эффективно
работающего на повышенных тактовых частотах. Эти
трудности обусловлены сложностью декодирования и
обработки машинных инструкций процессоров
архитектуры x86 (x86-инструкций), имеющих переменную
длину и неудобный формат. В процессоре Pentium 4 был
сделан следующий шаг - кэш разместили после блока
декодирования инструкций, и теперь в нём хранятся
микрооперации с регулярной структурой.
Архитектура NetBurst

Системная шина

Интерфейс шины

Кэш L2 Кэш L1

Выборка/ Трассировочный Исполнение Удаление


декодирование кэш исп. команд

Предсказание Обновление истории предсказаний


ветвлений
SSE2
SSE2 дополняет SSE новыми типами данных и
новыми инструкциями с целью полностью заменить MMX.
Добавлено 144 инструкции (68 целочисленных и 76 с
плавающей точкой). Инструкции SSE2 также оперируют
128-битными регистрами XMM0-XMM7, но при этом
добавлены пять новых типов данных:
упакованные двойной точности (2 х 64 бит IEEE-754
double precision),
упакованные байты (16 x 8 бит),
упакованные слова (8 х 16 бит),
упакованные двойные слова (4 х 32 бит),
упакованные четверные слова (2 х 64 бит).

Все команды MMX, SSE и SSE2 доступны в любом


режиме работы процессора: реальном, защищенном,
виртуальном.
Гиперпотоковая технология
(Hyper-Threading)
Технология, впервые появившаяся в серверных
процессорах Xeon, позднее была добавлена в некоторые
модели Pentium 4. Каждый физический процессор может
хранить состояние сразу двух потоков, что для
операционной системы выглядит как наличие двух
логических процессоров. У каждого из логических
процессоров свой набор регистров и контроллер
прерываний. Все остальные элементы являются
общими. Два потока инструкций выполняются
одновременно. Переключение между ними определяется
алгоритмом, который пытается оптимизировать нагрузку
между слотами исполнения и свести к минимуму
возможность простоев; этот алгоритм также стремится
равномерно распределять ресурсы между потоками
инструкций
Гиперпотоковая технология
(Hyper-Threading)
Поток 1 Поток 2
1 2 3 4 5 1 2 3 4 5
ALU ALU
ALU ALU
FPU FPU
S/L S/L

Выполнение на Выполнение на
процессоре без HT процессоре с HT
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5
ALU ALU
ALU ALU
FPU FPU
S/L S/L
Многоядерная технология
Технология HyperThreading всего лишь имитирует
наличие двух процессоров, но если даже имитация
нескольких процессоров принесла свои плоды, то
наличие двух и более процессоров в одном корпусе
принесут еще больший прирост производительности.
Многоядерные процессоры обладают всеми теми
же преимуществами, которые дают многопроцессорные
системы, однако стоят намного дешевле.
В 2005 году компании AMD и Intel представили
свои первые двухъядерные процессоры.
В ноябре 2006 года компания Intel представила
свои первые четырехядерные процессоры Core 2 Extreme
QX и Core 2 Quad. Свой первый четырехядерный
процессор компания AMD назвала Phenom X4.
Преимущества многоядерных
процессоров
• Реальная параллельная обработка
• Сниженное энергопотребление
• Компактность всей системы
Восьмое поколение процессоров (64-
разрядных). Core 2 архитектура. 65 nm.
• Широкое динамическое выполнение
• Интеллектуальная система энергоснабжения.
Интерактивная система включения внутренних
подсистем процессора только в случае их
необходимости
• Общий интеллектуальный кэш. Многоядерный
оптимизированный кэш увеличивает вероятность того,
что данные, необходимые каждому из ядер, будут
доступны в общем кэше второго уровня
• Интеллектуальный доступ к памяти. Включает
средство так называемого “устранения противоречий в
памяти”, которое содержит специальные алгоритмы,
позволяющие с достаточно высокой вероятностью
устанавливать зависимость последовательных команд
сохранения и загрузки данных
Восьмое поколение процессоров (64-
разрядных). Core 2 архитектура.
• Расширенная обработка цифрового мультимедиа.
Повышение производительности выполнения
потоковых инструкций SIMD (SSE) в два раза за счет
обработки всей 128разрядной инструкции за один такт.
• Intel VT - Аппаратная виртуализация позволяет
запускать на одном физическом компьютере (хосте)
несколько экземпляров операционных систем
(гостевых ОС) в целях обеспечения их независимости
от аппаратной платформы и эмуляции нескольких
(виртуальных) машин на одной физической.
• Execute Disable Bit - атрибут страницы памяти в
архитектурах x86 и x86-64, который может
применяться для более надежной защиты системы от
программных ошибок, а также использующих их
вирусов, троянских коней и прочих вредоносных
программ.
Intel Nehalem. 45 nm.
Архитектура построена на базе Core, но содержит
следующие кардинальные изменения:
•Встроенный контроллер памяти, поддерживающий 2
или 3 канала DDR3 SDRAM
•Новая шина QPI - последовательная кэш-
когерентная шина типа точка-точка для соединения
процессоров между собой и с чипсетом, пришла на
смену FSB.
•Возможность выпуска процессоров со встроенным
графическим процессором
•Добавлен кэш 3-его уровня
•Добавлена поддержка SMТ (организация 2-х
логических ядер из 1 физического)
Intel Sandy Bridge. 32 nm.
Чип Sandy Bridge – это четырёхъядерный 64-битный
процессор с изменяемой (out-of-order)
последовательностью исполнения команд,
поддержкой двух потоков данных на ядро (HT),
исполнением четырёх команд за такт; с
интегрированным графическим ядром и
интегрированным контроллером памяти DDR3; с
новой кольцевой шиной, поддержкой 3- и 4-
операндных (128/256-битных) векторных команд
расширенного набора AVX (Advanced Vector
Extensions); производство которого налажено на
линиях с соблюдением норм современного 32-нм
технологического процесса Intel.
Intel Sandy Bridge. 32 nm.
Структуру чипа Sandy Bridge
можно условно разделить на
следующие основные элементы:
1.процессорные ядра
2.графическое ядро
3.кеш-память L3
4.«Системный агент» - включает
в себя контроллер памяти DDR3,
модуль управления питанием
(Power Control Unit, PCU),
контроллеры PCI-Express 2.0,
DMI, блок видеовыхода и пр.
Intel Sandy Bridge. 32 nm.
Все перечисленные элементы объединены с помощью
256-битной кольцевой шины, которая состоит из 4-х 32-
байтных колец:
•шины данных (Data Ring);
•шины запросов (Request Ring);
•шины мониторинга состояния (Snoop Ring);
•шины подтверждения (Acknowledge Ring).

Основные преимущества кольцевой топологии шины:


•высокая масштабируемость (до 20 ядер на кристалл);
•снижение задержки кэша 3-го уровня, и перевод его на
частоту процессора;
•использование графическим ядром кэша 3-го уровня.

Производительность кольцевой шины достигает 96 Гбайт


в секунду на соединение при тактовой частоте 3 ГГц.
Intel Ivy Bridge. 22 nm.
• 16 графических исполнительных блоков
• встроенная поддержка USB 3.0
• встроенная поддержка технологии Thunderbolt
• новый двухканальный контроллер DDR3,
поддерживающий память до DDR3-1600
• GPU с API DirectX 11, ускоренное декодирование видео
• Первый процессор, построенный на 3D-транзисторах
Intel Ivy Haswell. 16 nm.
• Возможен полный редизайн архитектуры(как NetBurst
после P6)
• Техпроцесс — 16 нм
• Базовое количество ядер — 8
• Полностью новый дизайн кэша
• Улучшенные механизмы энергосбережения
• Возможен интегрированный векторный сопроцессор
• Добавление инструкций FMA (Fused Multiply Add)
• Будет реализована возможность работы сразу с
четырьмя операндами, за одну инструкцию совершать
сразу две операции умножения и сложения/вычитания.
Процессоры компании AMD
Развитие современных микроархитектур в компании
AMD началось с создания в 1999 г. процессора Athlon
(K7). Это был первый полноценный суперскалярный
конвейерный микропроцессор с внеочередным
исполнением операций, разработанный в компании.
В микроархитектуре процессора K7 нашли отражение
все те основные принципы, которые были до этого
реализованы в процессоре Intel Pentium Pro (P6). Однако
конкретные подходы разработчиков AMD отличались
большей простотой и изобретательностью,
направленной на снижение сложности процессора и
увеличение его производительности.
Разработчики частично пожертвовали гибкостью и
динамическими элементами архитектуры, но при этом
уделили внимание скорости выполнения многих
инструкций (в особенности операций арифметики с
плавающей точкой), значительно увеличили размер кэшей
1-го уровня (ограничившись при этом низким уровнем
ассоциативности) и ввели важный механизм объединения
адресной и арифметической микрооперации в один общий
МОП (Load-Op, Op-Store, Load-Op-Store). Благодаря этому
процессор K7 сразу обогнал по производительности своего
конкурента P-III, и в дальнейшем, с появлением
процессора P-4, достойно ему противостоял на некоторых
применениях. В процессе своего развития процессор K7
подвергался усовершенствованиям.
Следующий процессор компании Athlon 64 / Opteron (K8),
увидевший свет в 2003 г., мало отличается от своего
предшественника K7 по микроархитектуре. При его создании
основной упор был сделан на две ключевые технологии:
64-битный режим целочисленной и адресной
арифметики AMD64 (x86-64), и интегрированный
контроллер оперативной памяти, встроенный в
процессорный чип. Создание расширенной архитектуры
x86-64 позволило снять ограничения по адресации памяти,
сдерживающие развитие десктопных процессоров, а
реализация встроенного контроллера существенно
снизила латентность доступа к оперативной памяти, тем
самым, дав значительный прирост в производительности на
многих задачах. В дальнейшем архитектура x86-64 стала стандартной
и была реализована в процессорах Intel P-4E и P8. Внедрение
встроенного контроллера памяти в процессорах компании Intel также
предполагается в ближайшие годы.
Помимо этих ключевых технологий, в процессоре K8 имеется
ряд менее значимых отличий от K7:
 усовершенствован декодер машинных инструкций,
большинство «сложных» инструкций, порождающих 2 МОПа,
переведены в разряд «простых»;
 добавлены режимы SSE2 и (чуть позднее) SSE3;
 несколько улучшена подсистема предсказания переходов;
 увеличена длина очередей планировщика, проведены
некоторые модификации в подсистеме внеочередного
исполнения и в функциональных устройствах;
 расширена шина L2-кэша и уменьшено время доступа;
 обеспечено комплексирование в многопроцессорные
конфигурации через интерфейс HyperTransport без
использования внешней логики (чипсета);
 реализована двухъядерность с раздельными L2-кэшами и
общим контроллером памяти (в процессоре K8 X2).
Однако в архитектуре процессора K8 имеется и ряд недостатков,
часть из которых обусловлена базовыми ограничениями
микроархитектуры:
статическое разбиение потока МОПов на группы по 3
элемента с привязкой очередей и функциональных устройств
ALU/AGU к позициям этих элементов;
слабая система предсказания переходов, использующая
устаревшие алгоритмы;
недостаточно совершенная аппаратная предвыборка из
памяти;
отсутствие механизмов переупорядочения обращений к
памяти;
взаимно эксклюзивная организация кэшей, ограничивающая
скорость выборки из L2-кэша и увеличивающая время доступа;
недостаточная ассоциативность L1-кэшей, снижающая их
эффективность.
В целом процессор K8 составил хорошую конкуренцию
процессорам P-4 и P-4E. Благодаря меньшей длине конвейеров и
более эффективной реализации многих инструкций он оказался
не столь требователен к оптимизации кодов и в ряде применений
имеет более высокую производительность.
Однако K8 значительно уступает новому процессору P8 (Intel
Core), особенно в игровых и десктопных применениях. Превосходство
процессора P8 в производительности обусловлено в первую очередь
динамической организацией его архитектуры, имеющей увеличенную
ширину запуска и обработки инструкций, полночастотным
выполнением упакованных 128-битных операций SSE, увеличенным
размером L2-кэша, более совершенным предсказателем переходов и
улучшенной подсистемой предвыборки данных.
В связи с появлением столь серьёзного конкурента, компания AMD
объявила о планах создания нового процессора с улучшенной и
расширенной микроархитектурой, известного под названием K8L.
В целом новый процессор повторяет идеологию своего
предшественника, однако имеет множество
усовершенствований и отличительных признаков. Наиболее
важными из них являются:
 реализация полночастотного 128-битного режима
выполнения упакованных операций SSE (в двух каналах
исполнения);
 увеличение ширины и пропускной способности доступа к
L1-кэшу — теперь в каждом такте могут выполняться две 128-
битные загрузки за такт либо одна загрузка и одна выгрузка (в
процессоре P8 — только одна такая загрузка и одна выгрузка);
 увеличение длины выборки из кэша инструкций до 32
байтов;
 усовершенствование механизма предсказания переходов,
добавление предсказателя косвенных переходов;
 появление механизма внеочередной выборки данных из
памяти;
 некоторое расширение системы команд.
Кроме того, изменилась структура и внешние интерфейсы
процессора. Теперь базовый вариант содержит 4 процессорных
ядра, имеющих раздельные L2-кэши по 512 Кбайт и общий кэш
3-го уровня размером 2 Мбайта (в последующих версиях
процессора L3-кэш увеличится). Коммуникационные интерфейсы
HyperTransport, используемые для ввода-вывода и для
объединения в многопроцессорную систему с общей памятью,
перешли на стандарт HT-3.0, обеспечивающий повышенную
скорость обменов и улучшенную функциональность.
Максимальная частота интерфейсов выросла до 2.6 ГГц, а
пиковая скорость передачи данных - до 10.4 Гбайт/с (в каждом
направлении). Число интерфейсов увеличилось с трёх до
четырёх, что позволяет реализовывать полносвязные системы
из 4 процессоров (сокетов) и повысить степень интеграции
систем из 8 процессоров (сокетов).
Самым принципиальным отличием процессорного
ядра K8L от ядра K8 является удвоение скорости
работы блока арифметики с плавающей точкой (для
упакованных режимов SSE).
Таким образом, противостояние процессоров компаний
Intel и AMD в настоящее время перешло из плоскости
войны революционных концепций и новаций (P-4 против
K7/K8) в плоскость борьбы эволюционных расширений и
реализаций (P8 против K8/K8L). В рамках этого
противостояния компания AMD, безусловно, должна будет
разработать новую, продвинутую микроархитектуру, более
широкую и динамическую по своей природе. В сочетании с
удачными наработками из предыдущих поколений
процессоров (гибкий механизм предварительного
декодирования инструкций, эффективные функциональные
устройства, широкий доступ к L1-кэшам, низколатентный
встроенный контроллер памяти и быстрые интерфейсы
HyperTransport) это позволит будущей архитектуре
достигнуть всестороннего паритета либо превосходства
над процессорами конкурента.
Вопросы для самоконтроля
1. Какие блоки составляют конвейер ЦП 80286?
2. Какой блок и почему был добавлен в конвейер ЦП
80486?
3. За сколько шагов выполнятся 10 простых команд в
ЦП Pentium?
4. Что понимают под суперскалярной архитектурой?
5. Какие команды могут быть спаренными?
6. Какие способы обработки данных объединяет
термин «динамическое исполнение программы»?
7. В чем состоит внутренняя RISC-архитектура ЦП
Pentium Pro?
Вопросы для самоконтроля
1. В работе какого процессора наблюдается отклонение
от принципов фон Неймана? В чем это проявляется?
2. В чем состоит преимущество использования двойной
независимой шины?
3. Что нового появилось в архитектуре процессора
Pentium III по сравнению с Pentium MMX?
4. Какие особенности имеет Net-Burst – архитектура?
5. В чем состоит отличие кэш-команд ЦП Pentium IV от
всех предыдущих?
Задача. Рассчитайте пропускную
способность шины данных для указанного
МП.
Вариант 1. Pentium 4 2,67 ГГц, системная шина
133х4 МГц.
Вариант 2. Pentium 66 МГц, системная шина 66 МГц
Вариант 3. AMD 5x86 133 МГц, системная шина 33 МГц
Ответы:

1. Ответ: 133х4х8=4, 26 Гбайт/с


2. Ответ: 66х8=528 Мбайт/с
3. Ответ: 33х4=132 Мбайт/с

Оценить