390 likes | 580 Views
Примеры суперскалярных микропроцессоров. Pentium III. The AMD Athlon (K7 ). Шина AMD Athlon. Проблемы архитектуры х86. Ограниченное адресное пространство Ограниченное число РОН Неудовлетворительные способности к масштабируемости Несовместимость 32- и 64-битных архитектур и приложений.
E N D
Примеры суперскалярных микропроцессоров
Проблемы архитектурых86 • Ограниченное адресное пространство • Ограниченное число РОН • Неудовлетворительные способности к масштабируемости • Несовместимость 32- и 64-битных архитектур и приложений
На процессорах 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 масштабируется в зависимости от количества процессоров.
Подсистема памяти • 64-разрядная виртуальная адресация • Плоское адресное пространство • 64-битные регистры • 8 новых РОН (R8-R15) • 8 новых регистров SSE (xmm8-xmm15) • КЭШ L1: 64+64 Кбайт, 2-ассоциативный • КЭШ L2: 1024 Кбайт, 16-ассоциативный
31 15 7 0 63 In x86 Added by x86-64 AH AL RAX EAX AL AH EAX 127 0 79 0 SSE GPR x87 EAX XMM0 EDI XMM7 R8 XMM8 Program Counter 31 0 63 EIP R15 XMM15 x86-64 Programmer’s Model
Микроархитектура ядра • Конвейер 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 В) уменьшает общее тепловыделение.
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 регистров каждого типа для переименования.
Выборка из кэша до 8 инструкцийзатакт и размещение в буфер. Декодирование PPC инструкций во внутренние инструкции (IOPs). -- PPC инструкция транслирует в одну IOP, -- некоторые PPC инструкции (групповая записи из регистров в память) транслируется (crack (взламывать)) в две IOPs и более (милликодирование), Организация групп по 5 инструкций (4 обычные + 1 ветвления). Предварительная обработка занимает 9 ступеней конвейера. (Причина: выявление зависимости команд (например, по данным), препятствующих одновременному исполнению, и планирование объединения команд в группы диспетчеризации. ) Front End 970FX
Механизм предсказания перехода • Таблица ветвлений на 16 тысяч записей. • Дополнительная таблица ветвлений на 16 тысяч записей. • С каждой записью дополнительной таблицы связан 11-битный вектор, в котором записывается путь исполнения, выбранный для последних одиннадцати групп. • Таблица выбора отслеживает эффективность первых двух схем для каждой инструкции ветвления, и по ее данным делается выбор в пользу той или иной схемы предсказания в каждом отдельном случае.
Таблица ветвлений (16 тысяч) Таблица выбора (16 тысяч) … группа 1 группа 2 … группа 10 группа 11 … 11 – битный вектор Дополнительная Таблица ветвлений (16 тысяч) … 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 дополнительных под переименование
В AltiVec-блоке две очереди. Первая (16 строк) в блок команд перестановок и слияния, Вторая (20 строк) к трем устройствам, выполняющим целочисленные SIMD-коман-ды и команды с плавающей точкой. 128 бит данных используются при работе с векторами, имеющими элементы длиной 8, 16 или 32 бит для целых чисел и 32 бит для чисел с плавающей точкой. Векторное расширение Power PC 970
Отличие комбинации 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 может • предсказать до двух переходов, • выбирать до восьми команд, • диспетчерезировать до пяти команд, • выдать в исполнительные устройства до восьми команд и • завершить выполнение до пяти команд.