Архитектура 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-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, предсказывается переход и в данном случае.
© Лаборатория Параллельных информационных технологий НИВЦ МГУ