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



             

EPIC, IA-64, Merced - часть 2


Действительно, 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.

Вдобавок произошла путаница.


Содержание  Назад  Вперед