Явно параллельные вычисления команд
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2010 г. ) |
Явно параллельные вычисления с командами ( EPIC ) — это термин, придуманный в 1997 году альянсом HP и Intel. [1] для описания вычислительной парадигмы , которую исследователи исследовали с начала 1980-х годов. [2] Эту парадигму также называют независимости архитектурой . Это послужило основой для разработки Intel и HP архитектуры Intel Itanium . [3] а позже HP заявила, что «EPIC» — это просто старый термин для архитектуры Itanium. [4] EPIC позволяет микропроцессорам выполнять программные инструкции параллельно, используя для управления параллельным выполнением инструкций компилятор , а не сложную встроенную схему . Это было сделано для того, чтобы обеспечить простое масштабирование производительности без использования более высоких тактовых частот .
Корни в VLIW [ править ]
К 1989 году исследователи из HP осознали, что архитектуры компьютеров с сокращенным набором команд (RISC) достигли предела в одной инструкции за цикл . [ нужны разъяснения ] Они начали исследование новой архитектуры, позже названной EPIC . [3] Основой для исследования послужил VLIW , в котором в каждой инструкции кодируется несколько операций, а затем обрабатываются несколькими исполнительными блоками.
Одной из целей EPIC было перенести сложность планирования инструкций с аппаратного обеспечения ЦП на программный компилятор , который может выполнять планирование инструкций статически (с помощью информации обратной связи). Это устраняет необходимость в сложной схеме планирования в ЦП, что освобождает пространство и мощность для других функций, включая дополнительные ресурсы выполнения. Не менее важной целью было дальнейшее использование параллелизма на уровне инструкций ( ILP ) путем использования компилятора для поиска и использования дополнительных возможностей для параллельного выполнения .
VLIW (по крайней мере, исходные формы) имеет несколько недостатков, которые не позволили ему стать мейнстримом:
- VLIW Наборы команд не имеют обратной совместимости между реализациями. Когда более широкие реализации (больше исполнительных блоков ), набор команд для более широких машин не является обратно совместимым со старыми, более узкими реализациями. создаются
- Ответы на загрузку из иерархии памяти , которая включает в себя кэши ЦП и DRAM, не имеют детерминированной задержки. [ почему? ] Это очень затрудняет статическое планирование инструкций загрузки компилятором.
Архитектура EPIC произошла от архитектуры VLIW, но сохранила многие концепции суперскалярной архитектуры.
Выход VLIW рамки за
Архитектуры EPIC добавляют несколько функций, позволяющих обойти недостаткиВЛИВ:
- Каждая группа из нескольких программных инструкций называется пакетом . Каждый из пакетов имеет стоповый бит , указывающий, зависит ли от этого набора операций последующий пакет. Благодаря этой возможности будущие реализации могут быть построены для параллельной выпуска нескольких пакетов. Информация о зависимостях рассчитывается компилятором, поэтому аппаратному обеспечению не требуется выполнять проверку зависимостей операндов.
- Инструкция программной предварительной выборки используется как тип предварительной выборки данных. Эта предварительная выборка увеличивает вероятность попадания в кэш при загрузке и может указывать степень временной локальности, необходимую на различных уровнях кэша.
- Инструкция спекулятивной загрузки используется для спекулятивной загрузки данных до того, как станет известно, будут ли они использоваться (в обход зависимостей управления) или будут ли они изменены перед использованием (в обход зависимостей данных).
- Инструкция проверки загрузки помогает спекулятивной загрузке, проверяя, зависела ли спекулятивная загрузка от более позднего хранилища и, следовательно, ее необходимо перезагрузить.
Архитектура EPIC также включает в себя набор архитектурных концепций для повышения ILP :
- Предикатное выполнение используется для уменьшения количества ветвей и увеличения спекулятивного выполнения инструкций. В этой функции условия ветвления преобразуются в регистры предикатов, которые используются для уничтожения результатов выполненных инструкций со стороны невыполненной ветки.
- Отложенные исключения, использующие бит «не вещь» в регистрах общего назначения, позволяют спекулятивное выполнение после возможных исключений.
- архитектурных Очень большие файлы регистров позволяют избежать необходимости переименования регистров .
- Инструкции многопутевого ветвления улучшают прогнозирование ветвления за счет объединения множества альтернативных ветвей в один пакет.
В архитектуру Itanium также добавлены вращающиеся файлы регистров — инструмент, полезный для конвейерной обработки программного обеспечения , поскольку он позволяет избежать необходимости вручную развертывать и переименовывать регистры.
и разработки исследования Другие
Были и другие исследования архитектур EPIC, не связанные напрямую с разработкой архитектуры Itanium:
- Проект IMPACT в Университете Иллинойса в Урбане-Шампейне , возглавляемый Вэнь-мэй Хву , стал источником многих влиятельных исследований по этой теме.
- Еще одним крупным исследовательским проектом стала архитектура PlayDoh от HP-labs.
- Gelato представляло собой сообщество разработчиков с открытым исходным кодом, в котором академические и коммерческие исследователи работали над разработкой более эффективных компиляторов для приложений Linux, работающих на серверах Itanium.
См. также [ править ]
- Компьютер со сложным набором команд (CISC)
- Компьютер с сокращенным набором команд (RISC)
- Компьютер с минимальным набором команд (MISC)
- Очень длинное командное слово (VLIW)
- Компьютерная архитектура
- Суперскаляр
- Широкий выпуск
Ссылки [ править ]
- ^ Шланскер и Рау (февраль 2000 г.). «EPIC: Архитектура для параллельных процессоров уровня инструкций» (PDF) . Лаборатории HP Пало-Альто, HPL-1999-111 . Проверено 8 мая 2008 г.
- ^ США 4847755 , Моррисон, Гордон Э.; Брукс, Кристофер Б. и Глюк, Фредерик Г., «Метод параллельной обработки и устройство для повышения эффективности обработки за счет параллельной обработки инструкций низкого уровня, имеющих естественный параллелизм», опубликовано 11 июля 1989 г., передано MCC Development Ltd.
- ↑ Перейти обратно: Перейти обратно: а б «Изобретение Itanium: как лаборатории HP помогли создать архитектуру микросхем следующего поколения» . HP Лаборатории . Июнь 2001 г. Архивировано из оригинала 4 марта 2012 г. Проверено 14 декабря 2007 г.
- ^ Де Гелас, Йохан (9 ноября 2005 г.). «Итаниум, есть ли свет в конце туннеля?» . АнандТех . Проверено 8 мая 2008 г.
Внешние ссылки [ править ]
- Историческая справка EPIC
- Марк Смотерман (2002) « Понимание архитектур и реализаций EPIC »