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

advertisement
Примеры
суперскалярных
микропроцессоров
Pentium III
The AMD Athlon (K7)
Шина AMD Athlon
Проблемы архитектуры х86
• Ограниченное адресное
пространство
• Ограниченное число РОН
• Неудовлетворительные способности
к масштабируемости
• Несовместимость 32- и 64-битных
архитектур и приложений
AMD Opteron
На процессорах 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
Свойства AMD64
Ядро AMD64 (х86-64)
• Одновременное исполнение 32-разрядного и 64разрядного кода.
• Преодолен барьер 4 Гбайт для памяти, присущий 32разрядным системам.
Интегрированный контроллер памяти DDR
• Увеличенная скорость выполнения приложений за
счет существенного сокращения латентности ОП.
Канал HyperTransport™
• Пиковая пропускная способность до 19 Гбайт/с на
процессор, что уменьшает узкие места в системе
ввода/вывода.
• Технология HyperTransport масштабируется в
зависимости от количества процессоров.
AMD Athlon64/Opreron
Подсистема памяти
• 64-разрядная виртуальная адресация
• Плоское адресное пространство
• 64-битные регистры
– 8 новых РОН (R8-R15)
– 8 новых регистров SSE (xmm8-xmm15)
• КЭШ L1: 64+64 Кбайт, 2-ассоциативный
• КЭШ L2: 1024 Кбайт, 16-ассоциативный
x86-64 Programmer’s Model
In x86
Added by x86-64
127
S
S
E
XMM0
XMM7
XMM8
63
31
RAX
EAX
EAX
0
G
P
R
15
EAX
7
0
AH AL
AL
79
0
x
8
7
EDI
R8
Program
Counter
63
XMM15
R15
31
0
EIP
Микроархитектура ядра
• Конвейер 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-ассоциативный)
Работа конвейера
• Выборка (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 такта)
• Предсказание ветвлений: локальное +
глобальное
Технология
HYPERTRANSPORT
• HyperTransport –
•
•
•
•
это высокопроизводительный интерфейс, соединенный по принципу
«точка-точка».
Масштабируемая пропускная способность при
обмене информацией с другими процессорами,
подсистемами ввода/вывода и прочими
устройствами.
Поддержка до трех согласованных каналов
HyperTransport™ (до 19,2 Гбайт/с).
Пропускная способность одного канала (6,4 Гбайт/с)
достаточна для PCI-X, DDR, InfiniBand, 10G Ethernet.
Низкое энергопотребление (1,2 В) уменьшает общее
тепловыделение.
Технология
HYPERTRANSPORT
•
•
•
•
1 -- системная
шина процессора;
2 -- интерфейс
памяти;
3 -- межчиповое
соединение;
4 -- интерфейсы
ввода-вывода
для шин.
Технология HyperTransport
Многопроцессорная
система
Интегрированный
контроллер памяти
• Изменяет порядок доступа центрального
процессора к ОП, в результате чего
увеличивается пропускная способность,
уменьшается латентность памяти и
увеличивается производительность
процессора.
• Доступная пропускная способность памяти
масштабируется вместе с числом
процессоров.
• 128-разрядная шина памяти и интегрированный контроллер памяти с поддержкой
до 8 модулей памяти на процессор.
• Доступная полоса пропускная способность
памяти до 5,3 Гбайт/с на процессор.
Интегрированный
контроллер памяти
Power PC 970 FX
(Performance Optimization
With Enhanced RISC)
Архитектура POWER
сохраняет наиболее важные
особенности RISC:
• фиксированную длину команд,
• архитектуру регистр-регистр,
• простые способы адресации и
команд,
• большой регистровый файл,
• трехоперандный формат инструкций.
Архитектура PowerPC 970FX
• 64-разрядный микропроцессор,
• тактовая частота до 2,5 ГГц ,
• пиковая производительность до 10
GFLOPS,
• основой Power 970 является
процессор Power 4,
• система команд AltiVec.
Организация памяти
• «Плоское» адресное пространство (4TB).
• Кэш команд 1-го уровня составляет 64 Кбайт
(прямоадресуемый) .
• Кэш данных 1-го уровня имеет емкость 32 Кбайт и
является двухканальной наборно-ассоциативной.
Эта кэш-память блокируется.
• Кэш 2-го уровня имеет емкость 512 Кбайт.
• 32 целочисленных регистра, AltiVec-регистра и
регистра с плавающей точкой.
• Регистры AltiVec-расширения и соответствующие
пути данных - 128-разрядные. Остальные регистры
64-разрядные.
• 48 регистров каждого типа для переименования.
Ядро PowerPC 970FX
Front End 970FX
•
•
•
Выборка из кэша до 8
инструкций за такт и размещение
в буфер.
Декодирование PPC инструкций
во внутренние инструкции (IOPs).
-- PPC инструкция транслирует в
одну IOP,
-- некоторые PPC инструкции
(групповая записи из регистров в
память) транслируется (crack
(взламывать)) в две IOPs и более
(милликодирование),
Организация групп по 5
инструкций (4 обычные + 1
ветвления).
Предварительная обработка занимает 9
ступеней конвейера. (Причина: выявление
зависимости команд (например, по данным),
препятствующих одновременному
исполнению, и планирование объединения
команд в группы диспетчеризации. )
Механизм предсказания
перехода
• Таблица ветвлений на 16 тысяч записей.
• Дополнительная таблица ветвлений на 16 тысяч
записей.
• С каждой записью дополнительной таблицы
связан 11-битный вектор, в котором
записывается путь исполнения, выбранный для
последних одиннадцати групп.
• Таблица выбора отслеживает эффективность
первых двух схем для каждой инструкции
ветвления, и по ее данным делается выбор в
пользу той или иной схемы предсказания в
каждом отдельном случае.
Механизм предсказания
перехода
Таблица
ветвлений
Таблица
выбора
(16 тысяч)
(16 тысяч)
Дополнительная
Таблица
ветвлений
(16 тысяч)
11 – битный
вектор
…
11 – битный
вектор
…
группа 1
группа 2
…
группа 10
группа 11
…
Execution core
Диспетчер распределяет IOPs из группы по
шести очередям ИУ, причем пятую IOP
всегда в устройство ветвления.
Функциональные устройства
•
•
•
•
•
•
2 целочисленных устройства
2 устройства записи/чтения
1 устройство ветвлений
1 устройство регистра условий
2 устройства с плавающей точкой
4 не универсальных векторных
устройства для AltiVec
Конвейеры
• Целочисленный конвейер в PowerPC 970 –
имеет 16 ступеней, 9 ступеней приходятся
на выборку и декодирование команд.
• Конвейер загрузки регистров/записи в
память имеет 17 ступеней,
• Конвейер для арифметики с плавающей
точкой - 21 ступень,
• AltiVec-конвейеры - до 25 ступеней.
Конвейеры
Векторное расширение
Power PC 970
Устройство AltiVec
Устройство перестановки
Простое целочисленное устройство
Комплексное целочисленное устройство
Вещественное устройство
Регистры
16 128-битных регистра
16 дополнительных под переименование
Векторное расширение
Power PC 970
В AltiVec-блоке две очереди.
• Первая (16 строк) в блок
команд
перестановок и
слияния,
• Вторая (20 строк) к трем
устройствам, выполняющим
целочисленные SIMD-команды и команды с плавающей
точкой.
128 бит данных используются
при работе с векторами,
имеющими элементы длиной
8, 16 или 32 бит для целых
чисел и 32 бит для чисел с
плавающей точкой.
Отличие комбинации 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 несколько большую гибкость.
Шины
Двунаправленная шина данных с
пиковой пропускной способностью до 7,2
Гбайт/с. Одна шина шириной в 32 бита
предназначена только для чтения, другая
шириной в 32 бита — только для записи.
Шины работают на частоте, в четыре раза
меньшей частоты процессорного ядра.
Недостаток двунаправленной шины состоит в том, что во
многих приложениях процессору приходится считывать
большие объемы данных, и в этом режиме пиковая
пропускная способность достигнет только 3,6 Гбайт/с.
Характеристики ядра
PowerPC
За такт PowerPC может
•
•
•
•
предсказать до двух переходов,
выбирать до восьми команд,
диспетчерезировать до пяти команд,
выдать в исполнительные устройства до
восьми команд и
• завершить выполнение до пяти команд.
Сравнение характеристик
Download