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

Поделись знанием:
(перенаправлено с «EPIC (процессор)»)
Перейти к: навигация, поиск

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





Истоки VLIW

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

Цели разработки EPIC:

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

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

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

  • наборы инструкций VLIW не являлись совместимыми между различными поколениями процессоров (программа, скомпилированная для процессора, содержащего больше исполнительных устройств (например, больше АЛУ), не могла выполняться процессором, содержащим меньшее количество устройств);
  • задержки загрузки данных из иерархии памяти (кэшей, DRAM) не являлись полностью предсказуемыми (из-за этого усложнялась реализация статического планирования инструкций загрузки и использования данных).

Эволюция VLIW

Архитектура EPIC имеет следующие особенности для устранения недостатков VLIW:

  • Каждая группа из нескольких инструкций называется бандлом (bundle). Каждый бандл может иметь стоповый бит, обозначающий, что следующая группа зависит от результатов работы данной. Такой бит позволяет создавать будущие поколения архитектуры с возможностью параллельного запуска нескольких бандлов. Информация о зависимостях вычисляется компилятором, и поэтому аппаратуре не придётся проводить дополнительную проверку независимости операндов.
  • Для предподкачки данных используется инструкция программной подкачки (software prefetch). Предподкачка увеличивает вероятность того, что к моменту исполнения команды загрузки данные уже будут в кеше. Также в этой инструкции могут быть дополнительные указания для выбора различных уровней кеша для данных.
  • Инструкция спекулятивной загрузки используется для загрузки данных до того, как станет известно, будут ли они использованы (bypassing control dependencies), или будут они изменены перед использованием (bypassing data dependencies).
  • Инструкции проверки загрузки (check load instruction) помогают инструкциям спекулятивной загрузки при помощи проверок, зависела ли инструкция загрузки от последующей записи. В случае наличия подобной зависимости спекулятивная загрузка должна быть повторена.

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

  • Предсказание ветвлений используется, чтобы снизить частоту переходов и для увеличения спекулятивности исполнения инструкций. В последнем случае условное ветвление преобразуется в заполнение предикатных регистров, затем выполняются обе ветви. Результат той ветви, которая не должна была выполняться, отменяется по значению предикатного регистра.
  • Отложенные исключительные ситуации, использующие бит Not a thing в регистрах общего назначения. Они позволяют продолжать спекулятивное исполнение даже после исключительных ситуаций.
  • Крайне большой регистровый файл, чтобы избежать необходимости в переименовании регистров.

В архитектуре Itanium также был добавлен вращающийся регистровый файл[3], необходимый для упрощения программной конвейеризации циклов (software pipelining). При наличии такого файла исчезает необходимость в ручной раскрутке циклов и ручного переименования регистров[4].

Иные разработки и исследования

Существовало некоторое количество исследований архитектур EPIC, не связанных с разработками по Itanium.

  • Проект IMPACT в университете Иллинойса в Urbana-Champaign под руководством Wen-mei Hwu сильно повлиял на более поздние исследования.
  • Архитектура PlayDoh от HP-labs.
  • Федерация Gelato, сообщество разработчиков по разработке более эффективных компиляторов для Linux на серверах Itanium.

См. также

Напишите отзыв о статье "EPIC (архитектура микропроцессора)"

Примечания

  1. Schlansker and Rau [www.hpl.hp.com/techreports/1999/HPL-1999-111.pdf EPIC: An Architecture for Instruction-Level Parallel Processors] (PDF). HP Laboratories Palo Alto, HPL-1999-111 (February 2000). Проверено 8 мая 2008. [www.webcitation.org/67E9S7PaE Архивировано из первоисточника 27 апреля 2012].
  2. 1 2 [www.hpl.hp.com/news/2001/apr-jun/itanium.html Inventing Itanium: How HP Labs Helped Create the Next-Generation Chip Architecture]. HP Labs (June 2001). Проверено 14 декабря 2007. [www.webcitation.org/67E9SZXq9 Архивировано из первоисточника 27 апреля 2012].
  3. [www.npk.ru/articles/article.html?id=47_1&pv=1 Современные серверные процессоры. Часть 2. Intel Itanium, HP PA8700, Alpha]
  4. De Gelas, Johan [www.anandtech.com/cpuchipsets/showdoc.aspx?i=2598 Itanium–Is there light at the end of the tunnel?]. AnandTech (November 9, 2005). Проверено 8 мая 2008. [www.webcitation.org/67E9T55Cy Архивировано из первоисточника 27 апреля 2012].

Ссылки

  • [www.cs.clemson.edu/~mark/epic.html Historical background for EPIC]
  • Mark Smotherman (2002) «[www.cs.clemson.edu/~mark/464/acmse_epic.pdf Understanding EPIC Architectures and Implementations]»

Отрывок, характеризующий EPIC (архитектура микропроцессора)

В числе молодых людей, введенных Ростовым, был одним из первых – Долохов, который понравился всем в доме, исключая Наташи. За Долохова она чуть не поссорилась с братом. Она настаивала на том, что он злой человек, что в дуэли с Безуховым Пьер был прав, а Долохов виноват, что он неприятен и неестествен.
– Нечего мне понимать, – с упорным своевольством кричала Наташа, – он злой и без чувств. Вот ведь я же люблю твоего Денисова, он и кутила, и всё, а я всё таки его люблю, стало быть я понимаю. Не умею, как тебе сказать; у него всё назначено, а я этого не люблю. Денисова…
– Ну Денисов другое дело, – отвечал Николай, давая чувствовать, что в сравнении с Долоховым даже и Денисов был ничто, – надо понимать, какая душа у этого Долохова, надо видеть его с матерью, это такое сердце!
– Уж этого я не знаю, но с ним мне неловко. И ты знаешь ли, что он влюбился в Соню?
– Какие глупости…
– Я уверена, вот увидишь. – Предсказание Наташи сбывалось. Долохов, не любивший дамского общества, стал часто бывать в доме, и вопрос о том, для кого он ездит, скоро (хотя и никто не говорил про это) был решен так, что он ездит для Сони. И Соня, хотя никогда не посмела бы сказать этого, знала это и всякий раз, как кумач, краснела при появлении Долохова.
Долохов часто обедал у Ростовых, никогда не пропускал спектакля, где они были, и бывал на балах adolescentes [подростков] у Иогеля, где всегда бывали Ростовы. Он оказывал преимущественное внимание Соне и смотрел на нее такими глазами, что не только она без краски не могла выдержать этого взгляда, но и старая графиня и Наташа краснели, заметив этот взгляд.
Видно было, что этот сильный, странный мужчина находился под неотразимым влиянием, производимым на него этой черненькой, грациозной, любящей другого девочкой.
Ростов замечал что то новое между Долоховым и Соней; но он не определял себе, какие это были новые отношения. «Они там все влюблены в кого то», думал он про Соню и Наташу. Но ему было не так, как прежде, ловко с Соней и Долоховым, и он реже стал бывать дома.
С осени 1806 года опять всё заговорило о войне с Наполеоном еще с большим жаром, чем в прошлом году. Назначен был не только набор рекрут, но и еще 9 ти ратников с тысячи. Повсюду проклинали анафемой Бонапартия, и в Москве только и толков было, что о предстоящей войне. Для семейства Ростовых весь интерес этих приготовлений к войне заключался только в том, что Николушка ни за что не соглашался оставаться в Москве и выжидал только конца отпуска Денисова с тем, чтобы с ним вместе ехать в полк после праздников. Предстоящий отъезд не только не мешал ему веселиться, но еще поощрял его к этому. Большую часть времени он проводил вне дома, на обедах, вечерах и балах.

ХI
На третий день Рождества, Николай обедал дома, что в последнее время редко случалось с ним. Это был официально прощальный обед, так как он с Денисовым уезжал в полк после Крещенья. Обедало человек двадцать, в том числе Долохов и Денисов.
Никогда в доме Ростовых любовный воздух, атмосфера влюбленности не давали себя чувствовать с такой силой, как в эти дни праздников. «Лови минуты счастия, заставляй себя любить, влюбляйся сам! Только это одно есть настоящее на свете – остальное всё вздор. И этим одним мы здесь только и заняты», – говорила эта атмосфера. Николай, как и всегда, замучив две пары лошадей и то не успев побывать во всех местах, где ему надо было быть и куда его звали, приехал домой перед самым обедом. Как только он вошел, он заметил и почувствовал напряженность любовной атмосферы в доме, но кроме того он заметил странное замешательство, царствующее между некоторыми из членов общества. Особенно взволнованы были Соня, Долохов, старая графиня и немного Наташа. Николай понял, что что то должно было случиться до обеда между Соней и Долоховым и с свойственною ему чуткостью сердца был очень нежен и осторожен, во время обеда, в обращении с ними обоими. В этот же вечер третьего дня праздников должен был быть один из тех балов у Иогеля (танцовального учителя), которые он давал по праздникам для всех своих учеников и учениц.
– Николенька, ты поедешь к Иогелю? Пожалуйста, поезжай, – сказала ему Наташа, – он тебя особенно просил, и Василий Дмитрич (это был Денисов) едет.
– Куда я не поеду по приказанию г'афини! – сказал Денисов, шутливо поставивший себя в доме Ростовых на ногу рыцаря Наташи, – pas de chale [танец с шалью] готов танцовать.
– Коли успею! Я обещал Архаровым, у них вечер, – сказал Николай.
– А ты?… – обратился он к Долохову. И только что спросил это, заметил, что этого не надо было спрашивать.
– Да, может быть… – холодно и сердито отвечал Долохов, взглянув на Соню и, нахмурившись, точно таким взглядом, каким он на клубном обеде смотрел на Пьера, опять взглянул на Николая.
«Что нибудь есть», подумал Николай и еще более утвердился в этом предположении тем, что Долохов тотчас же после обеда уехал. Он вызвал Наташу и спросил, что такое?
– А я тебя искала, – сказала Наташа, выбежав к нему. – Я говорила, ты всё не хотел верить, – торжествующе сказала она, – он сделал предложение Соне.
Как ни мало занимался Николай Соней за это время, но что то как бы оторвалось в нем, когда он услыхал это. Долохов был приличная и в некоторых отношениях блестящая партия для бесприданной сироты Сони. С точки зрения старой графини и света нельзя было отказать ему. И потому первое чувство Николая, когда он услыхал это, было озлобление против Сони. Он приготавливался к тому, чтобы сказать: «И прекрасно, разумеется, надо забыть детские обещания и принять предложение»; но не успел он еще сказать этого…
– Можешь себе представить! она отказала, совсем отказала! – заговорила Наташа. – Она сказала, что любит другого, – прибавила она, помолчав немного.
«Да иначе и не могла поступить моя Соня!» подумал Николай.
– Сколько ее ни просила мама, она отказала, и я знаю, она не переменит, если что сказала…
– А мама просила ее! – с упреком сказал Николай.
– Да, – сказала Наташа. – Знаешь, Николенька, не сердись; но я знаю, что ты на ней не женишься. Я знаю, Бог знает отчего, я знаю верно, ты не женишься.
– Ну, этого ты никак не знаешь, – сказал Николай; – но мне надо поговорить с ней. Что за прелесть, эта Соня! – прибавил он улыбаясь.