Опубликован: 18.05.2006 | Уровень: для всех | Доступ: платный | ВУЗ: Ульяновский государственный университет
Лекция 12:

Современные архитектуры вычислительных систем

< Лекция 11 || Лекция 12: 12 || Лекция 13 >
Аннотация: В этой лекции речь идет об особенностях VLIW-архитектуры, IA-64 и EPIC, разъясняются архитектурные решения Е2К, реализованные в суперкомпьютере Эльбрус 3, приводятся сравнительные характеристики E2K и Alpha 21264. Цель: познакомить учащихся с характерными чертами современных архитектур вычислительных систем: VLIW, IA-64 и EPIC; сформировать умения анализировать архитектуру вычислительной системы и выделять ее особенности.

VLIW архитектура

Предложенные в IA-64 архитектурные идеи близки к концепции VLIW (Very Large Instruction Word - сверхбольшое командное слово).

VLIW - это набор команд, реализующий горизонтальный микрокод. Несколько (4-8) простых команд упаковываются компилятором в длинное слово. Такое слово соответствует набору функциональных устройств. VLIW-архитектуру можно рассматривать как статическую суперскалярную архитектуру, поскольку распараллеливание кода производится на этапе компиляции, а не динамически во время исполнения. То есть в машинном коде VLIW присутствует явный параллелизм.

Хотя идеи VLIW сформулированы уже давно, до настоящего времени они были известны в основном специалистам в области компьютерных архитектур. Имеющиеся реализации, например, VLIW Multiflow, не получили широкого распространения. Пожалуй, единственными популярными процессорами, архитектура которых близка к VLIW, была линия AP-120B/FPS-164/FPS-264 компании Floating Point Systems. Эти процессоры в 1980-е годы активно применялись при проведении научно-технических расчетов.

Команда в этих системах содержала ряд полей, каждое из которых управляло работой отдельного блока процессора, так что все командное слово определяло поведение всех блоков процессора. Однако длина команды в FPS-х64 была равна всего 64 разрядам, что по современным меркам никак нельзя отнести к сверхбольшим.

Выделение в архитектуре VLIW компонентов командного слова, управляющих отдельными блоками МП, вводит явный параллелизм на уровне команд. Задача обеспечения эффективного распараллеливания работы отдельных блоков возлагается при этом на компилятор, который должен сгенерировать машинные команды, содержащие явные указания на одновременное исполнение операций в разных блоках. Таким образом, достижение параллелизма, обеспечиваемое в современных суперскалярных RISC-процессоров их аппаратурой, в VLIW возлагается на компилятор. Очевидно, что это вызывает сложные проблемы разработки соответствующих компиляторов. При этом распараллеливание работы между ФУ в EPIC происходит статически при компиляции, в то время как современные суперскалярные RISC-процессоры осуществляют это динамически.

Архитектура IA-64

В IA-64 два нововведения по сравнению с RISC-процессорами:

  • Применение технологии явного параллелизма на уровне команд ( EPIC - Explicitly Parallel Instruction Computing).
  • Применение предикатных вычислений. Предикаты - способ обработки ветвлений (условных переходов).

В сочетании с новым уровнем спекулятивных вычислений это значительно уменьшает количество условных переходов и, соответственно, ошибочных предсказаний направления переходов. В свою очередь, применение EPIC однозначно диктует появление в архитектуре большого числа ФУ и сверхбольших файлов регистров.

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

  • Большое количество регистров.
  • Масштабируемость архитектуры до большого количества функциональных устройств. Это свойство представители фирмы Intel и HP называют "наследственно масштабируемый набор команд".
  • Явный параллелизм в машинном коде. Поиск зависимостей между командами производит не процессор, а компилятор.
  • Предикация. Команды из разных ветвей условного ветвления снабжаются предикатными полями (полями условий) и запускаются параллельно.
  • Загрузка по предположению. Данные из медленной основной памяти загружаются заранее.

Описание IA-64

  1. Регистры IA-64:
    • 128 64-разрядных регистров общего назначения;
    • 128 80-разрядных регистров вещественной арифметики;
    • 64 1-разрядных предикатных регистров.
  2. Формат команды IA-64:
    • идентификатор команды;
    • три 7-разрядных поля операндов - 1 приемник и 2 источника;
    • особые поля для вещественной и целой арифметики;
    • 6-разрядное предикатное поле (64=2^6).
  3. Предикация.
  4. Загрузка по предположению.
< Лекция 11 || Лекция 12: 12 || Лекция 13 >
Виктория Монахова
Виктория Монахова
Евгений Коваленко
Евгений Коваленко
Артём Сумской
Артём Сумской
Россия, Новая Адгея
Лев Хапуненко
Лев Хапуненко
Россия, Краснодар