37
Примеры суперскалярных микропроцессоров

Примеры суперскалярных микропроцессоров

Embed Size (px)

DESCRIPTION

Примеры суперскалярных микропроцессоров. Pentium III. The AMD Athlon (K7 ). Шина AMD Athlon. Проблемы архитектуры х86. Ограниченное адресное пространство Ограниченное число РОН Неудовлетворительные способности к масштабируемости Несовместимость 32- и 64-битных архитектур и приложений. - PowerPoint PPT Presentation

Citation preview

Page 1: Примеры суперскалярных микропроцессоров

Примеры суперскалярных микропроцессоров

Page 2: Примеры суперскалярных микропроцессоров

Pentium III

Page 3: Примеры суперскалярных микропроцессоров

The AMD Athlon (K7)

Page 4: Примеры суперскалярных микропроцессоров

Шина AMD Athlon

Page 5: Примеры суперскалярных микропроцессоров

Проблемы архитектуры х86

• Ограниченное адресное пространство• Ограниченное число РОН• Неудовлетворительные способности к

масштабируемости• Несовместимость 32- и 64-битных

архитектур и приложений

Page 6: Примеры суперскалярных микропроцессоров

AMD Opteron

Page 7: Примеры суперскалярных микропроцессоров

На процессорах AMD Opteron™ построен суперкомпьютер Red Storm – Sandia,

занимающий VI место в списке top500 (Ноябрь 2007)

• Название: Red Storm• Компьютер: Sandia/ Cray Red

Storm, Opteron 2.4 GHz dual core

• Процессор: AMD x86_64 Opteron Dual Core 2400 MHz (4.8 GFlops)

• Количество процессоров: 26569

• Производительность (GFlops):– Максимальная: 102200 (Linpack)– Пиковая: 127531

Page 8: Примеры суперскалярных микропроцессоров

Свойства AMD64 Ядро AMD64 (х86-64)• Одновременное исполнение 32-разрядного и 64-

разрядного кода. • Преодолен барьер 4 Гбайт для памяти, присущий 32-

разрядным системам. Интегрированный контроллер памяти DDR• Увеличенная скорость выполнения приложений за

счет существенного сокращения латентности ОП. Канал HyperTransport™• Пиковая пропускная способность до 19 Гбайт/с на

процессор, что уменьшает узкие места в системе ввода/вывода.

• Технология HyperTransport масштабируется в зависимости от количества процессоров.

Page 9: Примеры суперскалярных микропроцессоров

AMD Athlon64/Opreron

Page 10: Примеры суперскалярных микропроцессоров

Подсистема памяти

• 64-разрядная виртуальная адресация• Плоское адресное пространство• 64-битные регистры

– 8 новых РОН (R8-R15)– 8 новых регистров SSE (xmm8-xmm15)

• КЭШ L1: 64+64 Кбайт, 2-ассоциативный• КЭШ L2: 1024 Кбайт, 16-ассоциативный

Page 11: Примеры суперскалярных микропроцессоров

x86-64 Programmer’s Model

Added by x86-64

XMM8XMM8

XMM15XMM15

R8R8

R15R15

RAX

63

63

xx8877

079

In x86

XMM0XMM0

XMM7XMM7

SSSSEE

127 0

EIPEIP031

Program Program CounterCounter

AHEAX AL

GGPPRR

31 0715

EAXEAX

EDIEDI

EAX AH AL

Page 12: Примеры суперскалярных микропроцессоров

Микроархитектура ядра

• Конвейер 12/17 стадий (int/fp)– 3 устройства FPU: FAdd, FMul, FStore

• Поддержка x86, MMX, AMD64, 3DNow!, SSE, SSE2• 128 бит контроллер памяти (+16 бит ECC)• 3 шины HyperTransport (до 6.4 Гбит/с)• Встроенная многопроцессорная логика• TLB L1: 32 записи (общий, 2-ассоциатив- ный)• TLB L2: 512 записей (общий, 4-ассоциатив- ный)

Page 13: Примеры суперскалярных микропроцессоров

Работа конвейера• Выборка (FETCH) 16 байт/такт• Распределение по 3 OP в планировщики из

декодировщика (буфер 24 OP)• Производительность FPU:

– x87: 1 MUL + 1 ADD (1.9 FLOP/c max)– 3DNow: 2 MUL + 2 ADD (3.4 FLOP/c max)

• Целочисленная производительность:– 32 бита: 1 ADD + 1 MUL (3 такта)– 64 бита: 1 ADD или 1 MUL (4 такта)

• Предсказание ветвлений: локальное + глобальное

Page 14: Примеры суперскалярных микропроцессоров

Технология HYPERTRANSPORT

• HyperTransport – это высокопроизводи-тельный интерфейс, соединенный по принципу «точка-точка».

• Масштабируемая пропускная способность при обмене информацией с другими процессорами, подсистемами ввода/вывода и прочими устройствами.

• Поддержка до трех согласованных каналов HyperTransport™ (до 19,2 Гбайт/с).

• Пропускная способность одного канала (6,4 Гбайт/с) достаточна для PCI-X, DDR, InfiniBand, 10G Ethernet.

• Низкое энергопотребление (1,2 В) уменьшает общее тепловыделение.

Page 15: Примеры суперскалярных микропроцессоров

Технология HYPERTRANSPORT

• 1 -- системная шина процессора;

• 2 -- интерфейс памяти;

• 3 -- межчиповое соединение;

• 4 -- интерфейсы ввода-вывода для шин.

Page 16: Примеры суперскалярных микропроцессоров

Технология HyperTransport

Page 17: Примеры суперскалярных микропроцессоров

Многопроцессорная система

Page 18: Примеры суперскалярных микропроцессоров

Интегрированный контроллер памяти

• Изменяет порядок доступа центрального процессора к ОП, в результате чего увеличивается пропускная способность, уменьшается латентность памяти и увеличивается производительность процессора.

• Доступная пропускная способность памяти масштабируется вместе с числом процессоров.

• 128-разрядная шина памяти и интегриро-ванный контроллер памяти с поддержкой до 8 модулей памяти на процессор.

• Доступная полоса пропускная способность памяти до 5,3 Гбайт/с на процессор.

Page 19: Примеры суперскалярных микропроцессоров

Интегрированный контроллер памяти

Page 20: Примеры суперскалярных микропроцессоров

Power PC 970 FX

(Performance Optimization With Enhanced RISC)

Page 21: Примеры суперскалярных микропроцессоров

Архитектура POWER сохраняет наиболее важные

особенности RISC:

• фиксированную длину команд, • архитектуру регистр-регистр, • простые способы адресации и

команд, • большой регистровый файл, • трехоперандный формат

инструкций.

Page 22: Примеры суперскалярных микропроцессоров

Архитектура PowerPC 970FX

• 64-разрядный микропроцессор,• тактовая частота до 2,5 ГГц , • пиковая производительность до 10

GFLOPS,• основой Power 970 является

процессор Power 4, • система команд AltiVec.

Page 23: Примеры суперскалярных микропроцессоров

Организация памяти

• «Плоское» адресное пространство (4TB).• Кэш команд 1-го уровня составляет 64 Кбайт

(прямоадресуемый) .• Кэш данных 1-го уровня имеет емкость 32 Кбайт и

является двухканальной наборно-ассоциативной. Эта кэш-память блокируется.

• Кэш 2-го уровня имеет емкость 512 Кбайт. • 32 целочисленных регистра, AltiVec-регистра и

регистра с плавающей точкой. • Регистры AltiVec-расширения и соответствующие

пути данных - 128-разрядные. Остальные регистры 64-разрядные.

• 48 регистров каждого типа для переименования.

Page 24: Примеры суперскалярных микропроцессоров

Ядро PowerPC 970FX

Page 25: Примеры суперскалярных микропроцессоров

Front End 970FX• Выборка из кэша до 8

инструкций за такт и размещение в буфер.

• Декодирование PPC инструкций во внутренние инструкции (IOPs).

-- PPC инструкция транслирует в одну IOP,

-- некоторые PPC инструкции (групповая записи из регистров в память) транслируется (crack (взламывать)) в две IOPs и более (милликодирование),

• Организация групп по 5 инструкций (4 обычные + 1 ветвления).

Предварительная обработка занимает 9

ступеней конвейера. (Причина: выявление зависимости команд (например, по данным), препятствующих одновременному исполнению, и планирование объединения команд в группы диспетчеризации. )

Page 26: Примеры суперскалярных микропроцессоров

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

• Таблица ветвлений на 16 тысяч записей.• Дополнительная таблица ветвлений на 16 тысяч

записей.• С каждой записью дополнительной таблицы

связан 11-битный вектор, в котором записывается путь исполнения, выбранный для последних одиннадцати групп.

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

Page 27: Примеры суперскалярных микропроцессоров

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

Таблицаветвлений

(16 тысяч)

ДополнительнаяТаблица

ветвлений

(16 тысяч)

11 – битный вектор

11 – битный вектор

Таблица выбора

(16 тысяч)

группа 1группа 2

…группа 10группа 11

Page 28: Примеры суперскалярных микропроцессоров

Execution core

Диспетчер распределяет IOPs из группы по шести очередям ИУ, причем пятую IOP всегда в устройство ветвления.

Page 29: Примеры суперскалярных микропроцессоров

Функциональные устройства

• 2 целочисленных устройства

• 2 устройства записи/чтения

• 1 устройство ветвлений

• 1 устройство регистра условий

• 2 устройства с плавающей точкой

• 4 не универсальных векторных

устройства для AltiVec

Page 30: Примеры суперскалярных микропроцессоров

Конвейеры

• Целочисленный конвейер в PowerPC 970 – имеет 16 ступеней, 9 ступеней приходятся на выборку и декодирование команд.

• Конвейер загрузки регистров/записи в память имеет 17 ступеней,

• Конвейер для арифметики с плавающей точкой - 21 ступень,

• AltiVec-конвейеры - до 25 ступеней.

Page 31: Примеры суперскалярных микропроцессоров

Конвейеры

Page 32: Примеры суперскалярных микропроцессоров

Векторное расширение Power PC 970

Устройство AltiVec Устройство перестановки Простое целочисленное устройство Комплексное целочисленное устройство Вещественное устройство

Регистры 16 128-битных регистра 16 дополнительных под переименование

Page 33: Примеры суперскалярных микропроцессоров

Векторное расширение Power PC 970

В AltiVec-блоке две очереди.• Первая (16 строк) в блок

команд перестановок и слияния,

• Вторая (20 строк) к трем устройствам, выполняющим целочисленные SIMD-коман-ды и команды с плавающей точкой.

128 бит данных используются при работе с векторами, имеющими элементы длиной 8, 16 или 32 бит для целых чисел и 32 бит для чисел с плавающей точкой.

Page 34: Примеры суперскалярных микропроцессоров

Отличие комбинации PowerPC + AltiVec

Важное отличие комбинации PowerPC + AltiVec от Opteron + SSE2 или Pentium 4 + SSE2 состоит в том, что PowerPC обладает «полноценными» FPU с тридцатью двумя 64-разрядными регистрами, и ему не требуется расширение для чисел с такой точностью. AltiVec, как и SSE, работает с векторами чисел с максимальной точностью лишь 32 бита, в то время как SSE2 поддерживает 64-битные числа. В противоположность этому Pentium 4 и в меньшей степени Opteron, из-за совместимости с ранними процессорами (вплоть до 8087), имеют весьма неэффективный блок плавающей точки в худших традициях CISC, и для его замены потребовалось создавать SSE2. В итоге в большинстве вычислительных задач PowerPC использует свой RISC-FPU, а Opteron и Pentium 4 — SSE2, что дает PowerPC несколько большую гибкость.

Page 35: Примеры суперскалярных микропроцессоров

Шины

Двунаправленная шина данных с пиковой пропускной способностью до 7,2 Гбайт/с. Одна шина шириной в 32 бита предназначена только для чтения, другая шириной в 32 бита — только для записи. Шины работают на частоте, в четыре раза меньшей частоты процессорного ядра.

Недостаток двунаправленной шины состоит в том, что во многих приложениях процессору приходится считывать большие объемы данных, и в этом режиме пиковая пропускная способность достигнет только 3,6 Гбайт/с.

Page 36: Примеры суперскалярных микропроцессоров

Характеристики ядра PowerPC

За такт PowerPC может • предсказать до двух переходов, • выбирать до восьми команд, • диспетчерезировать до пяти команд, • выдать в исполнительные устройства до

восьми команд и

• завершить выполнение до пяти команд.

Page 37: Примеры суперскалярных микропроцессоров

Сравнение характеристик