Архитектура PA-RISC и процессор PA-8200

Александр Андреев (alexander@vvv.srcc.msu.su),
Лаборатория Параллельных Информационных Технологий НИВЦ МГУ


PA-8200 представляет собой суперскалярный 64-битный RISC-процессор и реализует архитектуру PA-RISC 2.0. В настоящее время существуют две версии этого процессора, работающие на частотах 200 и 240 MHz. При тактовой частоте в 240MHz процессор обеспечивает пиковую производительность в 960 MFLOPS, за счет одновременного исполнения 4 инструкций с плавающей точкой.

Процессор PA-8200 включает следующие архитектурные особенности

  • Раздельные первичные кэши кода и данных, каждый по 2MB. Особенностью архитектуры PA-RISC является внекристальная реализация кэша, что позволяет увеличивать его объем при необходимости. Кэш-память второго уровня не используется.
  • 10 независимых функциональных устройств:
    • Два 64-разрядных целочисленных АЛУ
    • Два целочисленных устройства сдвига
    • Два устройства умножения и сложения для чисел с плавающей точкой
    • Два устройства деления и извлечения корня для чисел с плавающей точкой
    • Два устройства чтения/записи данных
  • Буфер переупорядочения инструкций на 56 позиций; переупорядоченное выполнение инструкций позволяет постоянно поддерживать суперскалярный режим работы процессора. Устройство считывания инструкций доставляет в буфер 4 инструкции за такт.
  • Управляемая предвыборка данных из основной памяти в кэш
  • Статическое и динамическое предсказание ветвлений
  • 64-битная адресация памяти
  • Встроенная программируемая аппаратура мониторинга производительности; позволяет отслеживать такие события как кэш-попадания (промахи), ошибки в предсказании ветвлений, и т.д.

На следующем рисунке представлена блок-схема процессора PA-8200:

Блок-схема PA-8200

Процессор PA-8200 - это вторая после PA-8000 реализация архитектуры PA-RISC 2.0. Главное нововедение в PA-RISC версии 2.0 - 64-битная целочисленная арифметика и 64-битная адресация. Версия 2.0 также добавила страницы переменного размера, несколько новых операций с плавающей точкой и ряд других преимуществ по сравнению с PA-RISC 1.1. При этом процессоры PA-8000/8200 сохраняют полную двоичную совместимость с процессорами PA-7100/7200.

Как было уже отмечено, PA-8200 поддерживает плоское 64-битное адресное пространство; хотя чип экспортирует 40-битные физические адреса (т.е. такие адреса используются для общения с физической памятью). Это соответствует 1 терабайту непосредственно адресуемой памяти.


Предсказание ветвлений

Чтобы обеспечить непрерывную работу конвейера и загрузку всех функциональных устройств, необходим надежный механизм предсказания ветвлений. Встроенная аппаратура процессора PA-8200 использует два различных алгоритма предсказания: статический и динамический. Динамический алгоритм может использоваться при наличии информации о ходе исполнения на данном участке программы.

В статическом режиме в большинстве случаев используется следующая стратегия: для команд условного перехода назад предсказывается "переход", для команд условного перехода вперед предсказывается "отсутствие перехода". Компиляторы, используя эвристичесие методы, могут вставлять в код инструкции "подсказки" процессору о наиболее вероятном исходе проверки условия.

В динамическом режиме для предсказания используется 1024-строчная таблица Branch History Table (BHT). Каждая строка этой таблицы соответствует команде условного перехода и содержит три бита, установленных в трех предыдущих случаях выполнения данной инструкции; а именно: каждый бит устанавливается в 1, если переход имел место, и в 0 в противном случае. Если два или три бита содержат 1, предсказывается переход и в данном случае.


© Лаборатория Параллельных информационных технологий НИВЦ МГУ
Rambler's Top100