EPIC (архитектура микропроцессора)


EPIC (англ. explicitly parallel instruction computing — «вычисление с явным параллелизмом машинных команд») — класс микропроцессорных архитектур с явным параллелизмом команд. Термин введён в 1997 году альянсом HP и Intel[1] для разрабатываемой архитектуры Intel Itanium[2]. EPIC позволяет микропроцессору выполнять инструкции параллельно, опираясь на информацию от компилятора, а не выявляя возможность параллельной работы инструкций при помощи специальных схем во время исполнения. В теории, это могло упростить масштабирование вычислительной мощности процессора без увеличения тактовой частоты.

В 1989 году исследователи компании Hewlett-Packard пришли к выводу, что количество инструкций, которые процессор архитектуры RISC способен выполнить за один такт, ограничено. Были начаты разработки новой архитектуры, основанной на архитектуре VLIW и названной EPIC[2]. У процессоров архитектуры VLIW одна инструкция (одно командное слово) кодирует несколько операций; операции выполняются одновременно разными исполнительными устройствами процессора.

Планировщик инструкций — устройство со сложной логикой, входящее в состав процессора и предназначенное для определения порядка выполнения инструкций. Удаление планировщика инструкций позволило освободить место внутри процессора для других устройств (например, для АЛУ). Функции планировщика инструкций были возложены на компилятор.

Увеличение степени параллелизма инструкций достигается использованием возможностей компилятора по поиску независимых команд.

Архитектуры VLIW в своей изначальной форме имели несколько недостатков, препятствующих их массовому внедрению:

Архитектура EPIC также включает в себя несколько концепций (grab-bag) для увеличения ILP (параллелизма инструкций):