Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AEVM_metodichka_2.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
155.09 Кб
Скачать

!!! Вопрос 22. Архитектура суперскалярных процессоров. (смотри вопрос 19) Предварительная выборка команд и предсказание переходов Статическая и динамическая структуры программы.

Программы могут иметь статическую и динамическую структуру. Повысить степень параллелизма программы можно, изменяя соответствующим образом ее статическую и динамическую структуру.

Статическая структура однозначно соответствует исходному коду. Изменение статической структуры сводится к изменению исходного кода, что в общем случае не всегда возможно. Динамическая структура может быть изменена при неизменной статической структуре. Основная цель такого изменения – повышение степени параллельности выполнения команд.

При описании архитектуры суперскалярного процессора часто используется модель окна исполнения. При исполнении программы микропроцессор как бы продвигает по статической структуре программы окно исполнения. Команды в окне исполнения могут исполняться параллельно, если между ними нет зависимости (по данным или управлению).

Для устранения зависимостей, вызванных командами перехода, используется метод предсказания. Он позволяет извлекать и условно исполнять команды предсказанного перехода. Если позднее обнаруживается, что предсказание было сделано верно, то результат условно выполненных команд принимается. Если предсказание ошибочно – состояние процессора восстанавливается на момент принятия решения о переходе.

!!! Вопрос 23. Архитектура эвм с длинным командным словом (смотри вопрос 19)

Вопрос 24. Процессор ia-64 (Merced). Особенности построения и работы

«IA-64» – это архитектура, использующая длинные командные слова и методы извлечения большего параллелизма из кода программы. 1999 год – Разработана Intel + Hewlett Packard (HP) для серверов и рабочих станций с высокой производительностью, но не для компьютеров среднего уровня. Вся работа по оптимизации потока команд возложена на компилятор. Программы, скомпилированные для одного поколения процессоров архитектуры IA-64, без перекомпиляции не смогут эффективно использоваться в следующих поколениях.

Особенности:

  1. 0.18-микронная технология вместо 0.25-микронной технологии.

  2. IA-64 cодержит 128 целочисленных РОН и 128 вещественных РОН. Все они доступны.

  3. Команды в формате IA-64 упакованы по 3 штуки в 128 битный пакет. Каждый 128 битный пакет содержит шаблон длиной в несколько бит, который указывает процессору, какие команды могут выполняться параллельно.

  4. Компиляторы используют технологию отмеченных команд. Когда процессор встречает отмеченное ветвление, он начинает одновременно выполнять все ветви. После определения истинной ветви процессор сохраняет нужный результат и сбрасывает ненужные результаты.

  5. Компиляторы для IA-64 просматривают исходный код с целью поиска команд, использующих данные из памяти. Найдя такую команду, компилятор добавляет еще две команды – команды предварительной загрузки и команду проверки загрузки. Во время выполнения программы, первая из команд загружает данные в память до того, как они понадобятся программе. Вторая команда проверяет, успешно ли прошла загрузка, перед тем как разрешить программе использовать эти данные. Предварительная загрузка позволяет уменьшить потери производительности из-за задержек при доступе к памяти, а также повысить параллелизм.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]