|
|
Компьютеры - EPIC (архитектура микропроцессора) - Эволюция VLIW24 февраля 2011
Оглавление: 1. EPIC (архитектура микропроцессора) 2. Эволюция VLIW 3. Иные разработки и исследования
Архитектура EPIC имеет следующие особенности для устранения недостатков VLIW:
- Каждая группа из нескольких инструкций называется бандлом. Каждый бандл может иметь стоповый бит, обозначающий, что следующая группа зависит от результатов работы данной. Такой бит позволяет создавать будущие поколения архитектуры с возможностью параллельного запуска нескольких бандлов. Информация о зависимостях вычисляется компилятором, и поэтому аппаратуре не придется проводить дополнительную проверку независимости операндов.
- Для предподкачки данных используется инструкция программной подкачки. Предподкачка увеличивает вероятность того, что к моменту исполнения команды загрузки, данные уже будут в кеше. Также, в этой инструкции могут быть дополнительные указания для выбора различных уровней кеша для данных.
- Инструкция спекулятивной загрузки используется для загрузки данных до того, как станет известно, будут ли они использованы, или будут они изменены перед использованием.
- Инструкции проверки загрузки помогает инструкциям спекулятивной загрузки при помощи проверок, зависела ли инструкция загрузки от последующей записи. В случае наличия подобной зависимости, спекулятивная загрузка должна быть повторена.
Архитектура EPIC также включает в себя несколько концепций для увеличения ILP:
- Предсказание ветвлений используется, чтобы снизить частоту переходов и для увеличения спекулятивности исполнения инструкций. В последнем случае, условное ветвление преобразуется в заполнение предикатных регистров, затем выполняются обе ветви. Результат той ветви, которая не должна была выполняться, отменяется по значению предикатного регистра.
- Отложенные исключительные ситуации, использующие бит Not a thing в регистрах общего назначения. Они позволяют продолжать спекулятивное исполнение даже после исключительных ситуаций.
- Крайне большой регистровый файл, чтобы избежать необходимости в переименовании регистров.
В архитектуре Itanium также был добавлен вращающийся регистровый файл, необходимый для упрощения программной конвейеризации циклов. При наличии такого файла исчезает необходимость в ручной раскрутке циклов и ручного переименования регистров.
Просмотров: 3165
|