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


Суперскалярность и VLIW – сравнение


Download 1.12 Mb.
bet8/12
Sana18.06.2023
Hajmi1.12 Mb.
#1565224
1   ...   4   5   6   7   8   9   10   11   12
Bog'liq
Архитектура вычислительных систем.

Суперскалярность и VLIW – сравнение

  • Итак, в суперскалярных процессорах функции распараллеливания лежат на аппаратуре, в VLIW-процессорах – на компиляторе.
  • Исторически первые суперскалярные процессоры - советские Эльбрусы. Поддержка суперскалярности: Pentium, AMD, архитектура x86 и др.
  • VLIW-процессоры появились в конце 80х. Элементы архитектуры содержались в серии PA-RISC. Пример классического VLIW-процессора: Itanium (долго был самым мощным процессором в мире).
  • Плюсы VLIW
  • (1) Компилятор является более «умной» системой, чем аппаратура, способной хранить больше контекстной информации и значит принимать более верные решения об оптимизации.
  • (2) Подход VLIW сильно упрощает архитектуру процессора. Поскольку отсутствуют большие и сложные узлы, снижается энергопотребление.
  • Минусы VLIW
  • Невысокая плотность кода, большое количество пустых инструкций для простаивающих устройств. Коды для VLIW-процессоров гораздо длиннее, чем аналогичные коды для традиционных архитектур
  • Приходится полагаться на оптимизацию компилятора, который может содержать ошибки. Разработка эффективного компилятора для VLIW – сложнейшая задача.
  • EPIC (Explicitly Parallel Instruction Computing: Микропроцессор Intel Itanium, имея суперскалярную архитектуру, кроме традиционной, содержит 64-битную систему команд «с явным параллелизмом», которая позволяет использовать VLIW-ядро непосредственно.

Параллелизм на уровне потоков (1)

  • Распараллеливание на уровне потоков TLP (в отличие от ILP) управляется программно.
  • Виртуальная многопоточность создается в результате выделения в одном физическом процессоре двух или более логических. Классический пример – технология Hyper-Threading (НТ) компании Intel.
  • Зачем:
  • (1) В современных конвейеризованных процессорах, если при запросе к памяти слово отсутствует в кэшах 1го или 2го уровней – на его загрузку уходит время, в течение которого конвейер простаивает. Выход – организация внутрипроцессорной многопоточности
  • (2) В течение такта, как правило, не все исполнительные модули процессора задействованы, поэтому их можно загрузить параллельным потоком. Понятно, что вдвое производительность не увеличится, т.к. параллельные потоки используют общие память, кэш и др., плюс потери из-за синхронизации и распараллеливания инструкции. По имеющимся данным, рост производительности 35-50%
  • Таким образом, многопоточность позволяет маскировать простои. Если поток 1 блокирован, загрузка аппаратуры обеспечивается потоком 2.
  • Минус TLP – возникновение конфликта при обращении из разных потоков к одному адресу памяти или когда одному потоку требуются результаты выполнения другого. Это приводит к росту количества тактов, необходимых для выполнения инструкций  многоядерность

Download 1.12 Mb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling