Примеры суперскалярных микропроцессоров
DESCRIPTION
Примеры суперскалярных микропроцессоров. Pentium III. The AMD Athlon (K7 ). Шина AMD Athlon. Проблемы архитектуры х86. Ограниченное адресное пространство Ограниченное число РОН Неудовлетворительные способности к масштабируемости Несовместимость 32- и 64-битных архитектур и приложений. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/1.jpg)
Примеры суперскалярных микропроцессоров
![Page 2: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/2.jpg)
Pentium III
![Page 3: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/3.jpg)
The AMD Athlon (K7)
![Page 4: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/4.jpg)
Шина AMD Athlon
![Page 5: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/5.jpg)
Проблемы архитектуры х86
• Ограниченное адресное пространство• Ограниченное число РОН• Неудовлетворительные способности к
масштабируемости• Несовместимость 32- и 64-битных
архитектур и приложений
![Page 6: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/6.jpg)
AMD Opteron
![Page 7: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/7.jpg)
На процессорах 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: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/8.jpg)
Свойства AMD64 Ядро AMD64 (х86-64)• Одновременное исполнение 32-разрядного и 64-
разрядного кода. • Преодолен барьер 4 Гбайт для памяти, присущий 32-
разрядным системам. Интегрированный контроллер памяти DDR• Увеличенная скорость выполнения приложений за
счет существенного сокращения латентности ОП. Канал HyperTransport™• Пиковая пропускная способность до 19 Гбайт/с на
процессор, что уменьшает узкие места в системе ввода/вывода.
• Технология HyperTransport масштабируется в зависимости от количества процессоров.
![Page 9: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/9.jpg)
AMD Athlon64/Opreron
![Page 10: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/10.jpg)
Подсистема памяти
• 64-разрядная виртуальная адресация• Плоское адресное пространство• 64-битные регистры
– 8 новых РОН (R8-R15)– 8 новых регистров SSE (xmm8-xmm15)
• КЭШ L1: 64+64 Кбайт, 2-ассоциативный• КЭШ L2: 1024 Кбайт, 16-ассоциативный
![Page 11: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/11.jpg)
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: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/12.jpg)
Микроархитектура ядра
• Конвейер 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: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/13.jpg)
Работа конвейера• Выборка (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: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/14.jpg)
Технология HYPERTRANSPORT
• HyperTransport – это высокопроизводи-тельный интерфейс, соединенный по принципу «точка-точка».
• Масштабируемая пропускная способность при обмене информацией с другими процессорами, подсистемами ввода/вывода и прочими устройствами.
• Поддержка до трех согласованных каналов HyperTransport™ (до 19,2 Гбайт/с).
• Пропускная способность одного канала (6,4 Гбайт/с) достаточна для PCI-X, DDR, InfiniBand, 10G Ethernet.
• Низкое энергопотребление (1,2 В) уменьшает общее тепловыделение.
![Page 15: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/15.jpg)
Технология HYPERTRANSPORT
• 1 -- системная шина процессора;
• 2 -- интерфейс памяти;
• 3 -- межчиповое соединение;
• 4 -- интерфейсы ввода-вывода для шин.
![Page 16: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/16.jpg)
Технология HyperTransport
![Page 17: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/17.jpg)
Многопроцессорная система
![Page 18: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/18.jpg)
Интегрированный контроллер памяти
• Изменяет порядок доступа центрального процессора к ОП, в результате чего увеличивается пропускная способность, уменьшается латентность памяти и увеличивается производительность процессора.
• Доступная пропускная способность памяти масштабируется вместе с числом процессоров.
• 128-разрядная шина памяти и интегриро-ванный контроллер памяти с поддержкой до 8 модулей памяти на процессор.
• Доступная полоса пропускная способность памяти до 5,3 Гбайт/с на процессор.
![Page 19: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/19.jpg)
Интегрированный контроллер памяти
![Page 20: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/20.jpg)
Power PC 970 FX
(Performance Optimization With Enhanced RISC)
![Page 21: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/21.jpg)
Архитектура POWER сохраняет наиболее важные
особенности RISC:
• фиксированную длину команд, • архитектуру регистр-регистр, • простые способы адресации и
команд, • большой регистровый файл, • трехоперандный формат
инструкций.
![Page 22: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/22.jpg)
Архитектура PowerPC 970FX
• 64-разрядный микропроцессор,• тактовая частота до 2,5 ГГц , • пиковая производительность до 10
GFLOPS,• основой Power 970 является
процессор Power 4, • система команд AltiVec.
![Page 23: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/23.jpg)
Организация памяти
• «Плоское» адресное пространство (4TB).• Кэш команд 1-го уровня составляет 64 Кбайт
(прямоадресуемый) .• Кэш данных 1-го уровня имеет емкость 32 Кбайт и
является двухканальной наборно-ассоциативной. Эта кэш-память блокируется.
• Кэш 2-го уровня имеет емкость 512 Кбайт. • 32 целочисленных регистра, AltiVec-регистра и
регистра с плавающей точкой. • Регистры AltiVec-расширения и соответствующие
пути данных - 128-разрядные. Остальные регистры 64-разрядные.
• 48 регистров каждого типа для переименования.
![Page 24: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/24.jpg)
Ядро PowerPC 970FX
![Page 25: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/25.jpg)
Front End 970FX• Выборка из кэша до 8
инструкций за такт и размещение в буфер.
• Декодирование PPC инструкций во внутренние инструкции (IOPs).
-- PPC инструкция транслирует в одну IOP,
-- некоторые PPC инструкции (групповая записи из регистров в память) транслируется (crack (взламывать)) в две IOPs и более (милликодирование),
• Организация групп по 5 инструкций (4 обычные + 1 ветвления).
Предварительная обработка занимает 9
ступеней конвейера. (Причина: выявление зависимости команд (например, по данным), препятствующих одновременному исполнению, и планирование объединения команд в группы диспетчеризации. )
![Page 26: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/26.jpg)
Механизм предсказания перехода
• Таблица ветвлений на 16 тысяч записей.• Дополнительная таблица ветвлений на 16 тысяч
записей.• С каждой записью дополнительной таблицы
связан 11-битный вектор, в котором записывается путь исполнения, выбранный для последних одиннадцати групп.
• Таблица выбора отслеживает эффективность первых двух схем для каждой инструкции ветвления, и по ее данным делается выбор в пользу той или иной схемы предсказания в каждом отдельном случае.
![Page 27: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/27.jpg)
Механизм предсказания перехода
Таблицаветвлений
(16 тысяч)
ДополнительнаяТаблица
ветвлений
(16 тысяч)
11 – битный вектор
11 – битный вектор
…
Таблица выбора
(16 тысяч)
…
группа 1группа 2
…группа 10группа 11
…
![Page 28: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/28.jpg)
Execution core
Диспетчер распределяет IOPs из группы по шести очередям ИУ, причем пятую IOP всегда в устройство ветвления.
![Page 29: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/29.jpg)
Функциональные устройства
• 2 целочисленных устройства
• 2 устройства записи/чтения
• 1 устройство ветвлений
• 1 устройство регистра условий
• 2 устройства с плавающей точкой
• 4 не универсальных векторных
устройства для AltiVec
![Page 30: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/30.jpg)
Конвейеры
• Целочисленный конвейер в PowerPC 970 – имеет 16 ступеней, 9 ступеней приходятся на выборку и декодирование команд.
• Конвейер загрузки регистров/записи в память имеет 17 ступеней,
• Конвейер для арифметики с плавающей точкой - 21 ступень,
• AltiVec-конвейеры - до 25 ступеней.
![Page 31: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/31.jpg)
Конвейеры
![Page 32: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/32.jpg)
Векторное расширение Power PC 970
Устройство AltiVec Устройство перестановки Простое целочисленное устройство Комплексное целочисленное устройство Вещественное устройство
Регистры 16 128-битных регистра 16 дополнительных под переименование
![Page 33: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/33.jpg)
Векторное расширение Power PC 970
В AltiVec-блоке две очереди.• Первая (16 строк) в блок
команд перестановок и слияния,
• Вторая (20 строк) к трем устройствам, выполняющим целочисленные SIMD-коман-ды и команды с плавающей точкой.
128 бит данных используются при работе с векторами, имеющими элементы длиной 8, 16 или 32 бит для целых чисел и 32 бит для чисел с плавающей точкой.
![Page 34: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/34.jpg)
Отличие комбинации 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: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/35.jpg)
Шины
Двунаправленная шина данных с пиковой пропускной способностью до 7,2 Гбайт/с. Одна шина шириной в 32 бита предназначена только для чтения, другая шириной в 32 бита — только для записи. Шины работают на частоте, в четыре раза меньшей частоты процессорного ядра.
Недостаток двунаправленной шины состоит в том, что во многих приложениях процессору приходится считывать большие объемы данных, и в этом режиме пиковая пропускная способность достигнет только 3,6 Гбайт/с.
![Page 36: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/36.jpg)
Характеристики ядра PowerPC
За такт PowerPC может • предсказать до двух переходов, • выбирать до восьми команд, • диспетчерезировать до пяти команд, • выдать в исполнительные устройства до
восьми команд и
• завершить выполнение до пяти команд.
![Page 37: Примеры суперскалярных микропроцессоров](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813043550346895d95e31d/html5/thumbnails/37.jpg)
Сравнение характеристик