Страница: 14/18
29 мая 1998 года фирма Intel сообщила о переносе на год выпуска процессора Merced. Было объявлено, что серийное производство начнется в середине 2000 года. А опытное - в 1999 году. В официальном сообщении нет никаких сведений ни об архитектуре Merced, ни о технологии его производства.
С 12 по 15 октября 1998 года проходил очередной Микропроцессорный Форум. От Intel выступал Stephen Smith с темой "IA-64 Processors: Features and Futures". Он сообщил несколько новых технических деталей, рассказал о перспективах семейства IA-64.
EPIC, IA-64, Merced
Концепция EPIC, согласно Intel и HP, обладает достоинствами VLIW, но не обладает ee недостатками.
John Crawford перечислил следующие особенности EPIC:
· Большое количество регистров.
· Масштабируемость архитектуры до большого количества функциональных устройств. Это свойство представители фирм Intel и HP называют "наследственно масштабируемый набор команд" (inherently scaleable instruction set)
· Явный параллелизм в машинном коде. Поиск зависимостей между командами производит не процессор, а компилятор.
· Предикация (Predication). Команды из разных ветвей услового ветвления снабжаются предикатными полями (полями условий) и запускаются параллельно.
· Загрузка по предположению (Speculative loading). Данные из медленной основной памяти загружаются заранее.
Ниже эти особенности EPIC объяснены подробнее.
Представители Intel и HP назывют EPIC концепцией следующего поколения и противопоставляют ее CISC и RISC. По мнению Intel, традиционные архитектуры имеют фундаментальные свойства, ограничивающие производительность. Производители RISC процессоров не разделяют подобного пессимизма. Кстати, в 1980-х, когда возникла концепция RISC, прозвучало много заявлений, что концепция CISC устарела, имеет фундаментальные свойства, ограничивающие производительность. Но процессоры, причисляемые к CISC (например, семейство x86 фирмы Intel), широко используются до сих пор, их производительность растет.
Дело в том, что все эти аббревиатуры - CISC, RISC, VLIW обозначают только идеализированные концепции. Реальные микропроцессоры трудно классифицировать. Современные микропроцессоры, причисляемые к RISC, сильно отличаются от первых процессоров RISC архитектуры. То же относится и к CISC. Просто в наиболее совершенных процессорах заложено множество удачных идей вне зависимости от их принадлежности к какой-либо концепции.
Регистры IA-64:
· 128 64-разрядных регистров общего назначения (целочисленных)
· 128 80-разрядных регистров вещественной арифметики.
· 64 1-pазpядных пpедикатных pегистpов.
Напомним, что наличие большого числа регистров названо John Crawford в числе основных черт EPIC. Действительно, 128 - много по сравнению с 8 регистрами общего назначения семейства x86. Но, например, MIPS R10000 содержит 64 целых и 64 вещественных 64-разрядных регистров.
Формат команды IA-64:
· идентификатор команды,
· три 7-разрядных поля операндов - 1 приемник и 2 источника (операндами могут быть только регистры, а их - 128=2^7)
· особые поля для вещественной и целой арифметики
· 6-разрядное предикатное поле (64=2^6)
Команды IA-64 упаковываются (группируются) компилятором в "связку" длиною в 128 pазpядов. Связка содеpжит 3 команды и шаблон, в котоpом будут указаны зависимости между командами (можно ли с командой к1 запустить параллельно к2, или же к2 должна выполниться только после к1) , а также между другими связками (можно ли с командой к3 из связки с1 запустить параллельно команду к4 из связки с2).
Перечислим все варианты составления связки из 3-х команд:
i1 || i2 || i3 - все команды исполняются паpаллельно
i1 & i2 || i3 - сначала i1, затем исполняются паpаллельно i2 и i3
i1 || i2 & i3 - паpаллельно исполняются i1 и i2, после них - i3
i1 & i2 & i3 - последовательно исполняются i1, i2, i3
Одна такая связка, состоящая из трех команд, соответствует набору из трех функциональных устройств процессора. Процессоры IA-64 могут содержать разное количество таких блоков, оставаясь при этом совместимыми по коду. Ведь благодаря тому, что в шаблоне указана зависимость и между связками, процессору с N одинаковыми блоками из трех функциональных устройства будет соответствовать командное слово из N*3 команд ( N связок ). Таким образом должна обеспечиваться масштабируемость IA-64. Несомненно, это красивая концепция. К сожалению, IA-64 присущи и некоторые недостатки.
· Tom R. Halfhill в статье журнала BYTE предполагает что без перекомпиляции код с одного процессора семейства IA-64 не будет эффективно исполняться на другом.
· Уже упомянутый Jerry Huck отметил, что в IA-64 можно произвольно (блоками по 3) увеличивать количество функциональных устройств, но при этом число регистров должно оставаться неизменным.
· Также Jerry Huck предупредил, что размер кода для IA-64 будет больше, чем для RISC процессоров, потому что на 3 команды IA-64 приходится 128 bit, а длина RISC команды обычно равна 32 bit, то есть, в 128 битах содержатся 4 команды RISC.
Реферат опубликован: 6/05/2007