Справочник - Материнские платы и процессоры

         

EPIC, IA-64, Merced


Концепция EPIC, согласно Intel и HP, обладает достоинствами VLIW, но не обладает ee недостатками.
John Crawford ([3]) перечислил следующие особенности EPIC.

  • Большое количество регистров.
  • Масштабируемость архитектуры до большого количества функциональных устройств. Это свойство представители фирм Intel и HP называют "наследственно масштабируемый набор команд" (inherently scaleable instruction set)
  • Явный параллелизм в машинном коде. Поиск зависимостей между командами производит не процессор, а компилятор.
  • Предикация (Predication). Команды из разных ветвей услового ветвления снабжаются предикатными полями (полями условий) и запускаются параллельно.
  • Загрузка по предположению (Speculative loading). Данные из медленной основной памяти загружаются заранее.

Ниже эти особенности EPIC объяснены подробнее.

Представители Intel и HP назывют EPIC концепцией следующего поколения и противопостовляют ее CISC и RISC. По мнению Intel ([4]), традиционные архитектуры имеют фундаментальные свойства, ограничивающие производительность. Производители RISC процессоров не разделяют подобного пессимизма ([6]). Кстати, в 1980-х, когда возникла концепция RISC, прозвучало много заявлений, что концепция CISC устарела, имеет фундаментальные свойства, ограничивающие производительность. Но процессоры, причисляемые к CISC (например, семейство x86 фирмы Intel), широко используются до сих пор, их производительность растет.

Дело в том, что все эти аббревиатуры - CISC, RISC, VLIW обозначают только идеализированные концепции. Реальные микропроцессоры трудно классифицировать. Современные микропроцессоры, причисляемые к RISC, сильно отличаются от первых процессоров RISC архитектуры. То же относится и к CISC. Просто в наиболее совершенных процессорах заложено множество удачных идей вне зависимости от их принадлежности к какой-либо концепции.

  • 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 предполагает ([7]), что без перекомпиляции код с одного процессора семейства IA-64 не будет эффективно исполняться на другом.
    • Уже упомянутый Jerry Huck отметил ([3]), что в IA-64 можно произвольно (блоками по 3) увеличивать количество функциональных устройств, но при этом число регистров должно оставаться неизменным.
    • Также Jerry Huck предупредил, что размер кода для IA-64 будет больше, чем для RISC процессоров, потому что на 3 команды IA-64 приходится 128 bit, а длина RISC команды обычно равна 32 bit, то есть, в 128 битах содержатся 4 команды RISC.
    Вдобавок произошла путаница.


    На прошедшем во второй половине февраля 1998 года Форуме Разработчиков Intel ведущий инженер Carole Dulong сказала, что в такой архитектуре, как Merced, пропорция целочисленых, вещественных, специализированных устройств и устройств чтения/записи будет определяться сочетанием соответствующих команд в предполагаемом машинном коде. Тогда как на Микропроцессорном Форуме ([3]) представители фирм Intel и HP объясняли, что процессоры семейства IA-64 будут содержать N одинаковых блоков по три функциональных устройства. Причем, можно предположить, что такой блок должен состоять из целочисленного устройства, устройства вещественной арифметики и устройства чтения/записи. Данные высказывания противоречат друг другу. Кстати, EPIC удивительно напоминает архитектру VelociTI семейства сигнальных процессоров TMS320C6x фирмы Texas Instruments. Примером может служить TMS320C6201. В этом процессоре довольно много регистров - 32 регистра общего назначения. 8 функциональных устройств - это много даже по меркам современных процессоров общего назначения. Команды TMS320C6201 упаковываются во VLIW-слова, состоящие из 8 команд и шаблона. В шаблоне указаны зависимости между командами - явный параллелизм. За такт может исполниться до 8 команд. Все команды снабжены полем условия - предикация. Помимо семейства IA-64 идут разработки еще нескольких универсальных процессоров с VLIW-подобной архитектурой. Например, в России группой Эльбрус с 1992 года разрабатывается микропроцессор E2k (Эльбрус-2000). Научный руководитель группы Эльбрус член-корреспондент РАН Б.А. Бабаян утверждает, что отечественный E2k будет в два раза производительнее, чем McKinley (последователь Merced). По оценкам полученным на логической модели, производительность E2k составит 135 SPECint95 и 350 SPECfp95. Еще примеры:
    • В 1995 году была образована фирма Transmeta Ее руководителем является Dave Ditzel, который ранее, будучи сотрудником Sun, взаимодействовал с коллективом Эльбрус и имел доступ к информации по разрабатываемому E2k.
    • Исследования VLIW в исследовательском центре IBM имени T.J.Watson начались в 1986.
    Кроме этого, сейчас появляется все больше сигнальных и "медийных" процессоров с архитектурой VLIW.

    Содержание раздела