Архитектура AMD Bulldozer. Модули вычисления

amd bulldozerПосле декодирования инструкций, они направляются в соответствующий планировщик модуля целочисленных операций или операций с плавающей точкой. Архитектура Bulldozer имеет только один вычислительный модуль с плавающей точкой для двух ядер. Но, в то же время, имеются два совершенно независимых модуля целочисленных операций для каждого ядра.
Из рисунка мы можем видеть, что каждый целочисленный модуль содержит такие исполнительные блока:

  • EX, MUL – может выполнять любые целочисленные операции, кроме деления.
  • EX, DIV – может выполнять любые целочисленные операции, но не умножение.
  • Agen – модуль генерации адресов, известный как AGU или Address Generation Unit. Используется для генерации адресов, требуемых для загрузки данных.

AMD BulldozerМодули вычисления

В модуле вычисления также есть блок загрузки / хранения (“Ld / ST”), который отвечает за загрузку и хранение данных в памяти. Обычно этот модуль размещается, рядом с вышеуказанными блоками, но на схеме он изображен отдельно.

В архитектуре Bulldozer использует механизм выполнения команд с изменением очереди исполнения, также как и у процессоров AMD64 и процессоров Intel начиная с моделей Pentium Pro (архитектура P6). Поскольку модуль вычисления не может обработать все виды инструкций, то при отсутствии механизма изменения последовательности выполнения, некоторые из исполнительных инструкций простаивали. К примеру: следующая к выполнению инструкция является целочисленным делением, но модуль вычисления занят обработкой других инструкций. Вместо того чтобы ждать пока освободится модуль вычисления, планировщик будет искать инструкцию, которая может быть выполнена на других свободных модулях. Роль планировщика – максимально загрузить все исполнительные модули.

Модуль вычисления операций с плавающей точкой имеет четыре блока:

  • Два MMX блока: выполняют все основные операции с плавающей точкой (x87 инструкции), в том числе MMX
  • Два 128-битный FMAC блока: могут выполнять все операции с плавающей точкой

AMD Bulldozer

Кэш-памяти L2

В архитектуре Bulldozer кэш-памяти L2 будет общей одновременно для двух ядер. Кэш-память L3 будет распределена между всеми ядрами. Кэш-памяти L2 будет 16-канальной, с 1024 записями TLB (Translation Look-aside Buffer).

AMD Bulldozer Кэш-памяти L2

Управление питанием

AMD добавила некоторые интересные особенности управления питанием в новой архитектуре Bulldozer. Наиболее важным является “power gating”, с помощью которого можно уменьшить потребляемую мощность для неиспользованных блоков процессора в целях экономии энергии. Также можно полностью отключить неиспользуемые ядра процессора. AMD также добавила функцию для измерения активности ЦП и оценки качества рассеивания тепла. “Процессор будет работать на более высокой частоте, если позволяет его предел тепловыделения” – эта цитата является свидетельством того, что AMD добавляет технологию, аналогичную Turbo Boost от Intel, которая автоматически разгоняет процессор, если рассеивание тепла остается в пределах нормы.

AMD BulldozerУправление питанием

Архитектура AMD Bulldozer. Инструкции

Архитектура AMD Bulldozer. Модули вычисления

Архитектура AMD Bulldozer. Структура процессора