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

3) Vliw и epic.

VLIW (very long instruction word — «очень длинное слово инструкции») (256/512 бит). VLIW можно считать логическим продолжением идеологии RISC, расширяющей её на архитектуры с несколькими вычислительными модулями. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно. В процессорах VLIW задача распределения решается во время компиляции и в инструкциях явно указано, какое вычислительное устройство должно выполнять какую команду.

Достоинства:

1) Подход VLIW сильно упрощает архитектуру процессора, перекладывая задачу распределения вычислительных устройств на компилятор.

2) Поскольку отсутствуют большие и сложные узлы, сильно снижается энергопотребление.

Недостатки:

1) Из-за большого количества пустых инструкций для простаивающих устройств программы для VLIW-процессоров могут быть гораздо длиннее, чем аналогичные программы для традиционных архитектур.

2) Для программиста программирование на уровне машинных кодов для VLIW-архитектур является достаточно сложным.

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

4) Задержки загрузки данных из иерархии памяти (кэшей, DRAM) не являются полностью предсказуемыми. Из-за этого статическое планирование инструкций загрузки и использования данных становятся крайне сложными.

EPIC (explicitly parallel instruction computing) — микропроцессорная архитектура с явным параллелизмом команд. Одной из целей EPIC был перенос сложной логики планирования инструкций из микропроцессора в компилятор, который бы планировал инструкции статически. Другой целью было увеличить степень параллелизма инструкций за счет больших возможностей компилятора по поиску независимых команд.

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

1) В EPIC-архитектуре используется подход, базирующийся на применении команд переменной длины. Команда состоит из слогов длиной 32 разряда каждый. Число этих слогов может меняться от 2 до 16, причем данную архитектуру можно еще расширить — до 32 слогов. Любая команда всегда включает 1 слог заголовка и еще от 1 до 15 слогов, указывающих на операции, которые могут выполняться параллельно. Слог заголовка содержит информацию о структуре команды и ее длине, что облегчает дешифрацию команды переменной длины. Применение заголовка позволяет не проводить предварительного декодирования команд перед их помещением в кэш команд. Отрицательной стороной введения поля заголовка является некоторое увеличение длины команды.

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

3) Для предподкачки данных используется инструкция программной подкачки (software prefetch). Предподкачка увеличивает вероятность того, что к моменту исполнения команды загрузки, данные уже будут в кэше.

4) Предсказание ветвлений используется, чтобы снизить частоту переходов.

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

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