<<
>>

Особенности архитектуры IA64

Несмотря на появление в процессоре Pentium Pro элементов, характерных для RISC-архитектуры, полностью избавиться от недостатков, присущих 32-битовой CISC-архитектуре семейства Intel, не удалось.
Вкратце их можно свести к сле- дующему перечню проблем.

? В систему команд архитектуры IАЗ2 входит большое количество форматов команд, которые облегчают трансляцию и обеспечивают возможность исполь- зования в программах различных типов данных. Вместе с тем различная дли- на команд разных форматов создает трудности в декодировании и исполне- нии, что приводит к замедлению выполнения программ.

? Система команд архитектуры IАЗ2 содержит в основном двухадресные коман- ды, определяющие до двух обращений в оперативную память каждая — одну для выборки операнда, а другую для записи результата. В настоящее время более эффективными считаются системы команд с трехадресной регистровой адресацией, которые вообще не требуют обращения к оперативной памяти.

? Использованное в старших моделях процессоров Intel разбиение команд архитектуры CISC на микрокоманды требует дополнительных аппаратных средств и дополнительных временных затрат, усложняет разработку эффек- тивных трансляторов.

? Архитектура IАЗ2 в целом сохраняет унаследованную от i8О86 модель, в ко- торой в центральный процессор входит всего 4 регистра общего назначения. В принципе, к этой группе можно отнести еще два регистра, еsi и еdi, которые в 32-битовых машинах можно использовать произвольным образом (за исклю- чением доступа к отдельным байтам). Тем не менее общее количество регист- ров общего назначения процессора в архитектуре IАЗ2 очень мало, да к тому же они имеют различную внутреннюю структуру. Это вынуждает программи- стов при написании программ предусматривать дополнительные обращения к оперативной памяти, которые требуют дополнительных временных затрат.

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

? Для обеспечения высокой скорости работы нужен конвейер процессора с боль- шим количеством ступеней. Чем длиннее конвейер, тем сложнее предсказа- ние переходов и тем выше дополнительные издержки, связанные с загрузкой и очисткой конвейера. Поэтому даже низкий процент неверных предсказаний существенно снижает общую производительность системы.

? Архитектура IАЗ2 ограничивает размер программы адресным пространством объемом 64 Гбайт. Программы большего размера используют аппарат вирту- альной памяти, что снижает производительность.

Эти недостатки стали проявляться уже в начале 1990-х гг. Однако избавится от большинства из них мешал принцип программной совместимости, неукоснитель- но соблюдавшийся при проектировании любой новой модели процессоров. Посто- янно нараставший объем используемого программного обеспечения, стоимость которого превысила сотни миллиардов долларов, также способствовал сохране- нию традиционных подходов. Предполагалось, что огромное количество пользо- вателей по всему миру с большой неохотой откажутся от привычных программ и вложат дополнительные средства в приобретение новых. Эти соображения довольно долго тормозили решительный отказ от подходов архитектуры IАЗ2.

Впрочем, попытки повысить эффективность машин архитектуры IАЗ2 наталки- вались на все большие трудности. Проанализировав сложившуюся ситуацию, компания Intel пришла к выводу о том, что нужно построить абсолютно но- вую систему, основанную на новых представлениях и архитектурных решениях. Основные отличительные особенности новой архитектуры класса EPIC, которая получила название IА64, — следующие:

? система команд процессора состоит из трехадресных команд фиксированного формата с регистровой адресацией;

? стандартная команда занимает 40 битов и содержит код операции, два 6-6итo- вых поля для указания регистров с операндами и одно 6-битовое поле для указания регистра результата;

? обращение к полям оперативной памяти осуществляется только с помощью отдельных специализированных команд;

? команда поступает в процессор в виде пучка из трех команд длиной 128 битов.

Команды, входящие в пучок, могут выполняться параллельно различными функциональными блоками процессора;

? в процессоре предусмотрено большое количество однотипных функциональ- ных блоков для организации параллельного выполнения команд;

? в состав центрального процессора входит 128 регистров общего назначения длиной 64 бита, 128 регистров с плавающей точкой длиной 82 бита, 64 пре- дикатных однобитовых регистра, а также 128 специализированных 64-битовых регистров;

? имеется трехуровневый кэш с объемом LЗ до 6 Мбайт.

Пучком команд в архитектуре IА64 называют группу команд, которые могут быть выполнены аппаратурой процессора одновременно. В простейшем случае пучок состоит из трех команд и 8-битового шаблона (рис. 16.1), содержащего ин- формацию о том, какие команды могут выполняться параллельно. В принципе, несколько пучков с помощью входящего в шаблон бита могут образовать связку. Все команды, входящие в связку, также могут быть исполнены одновременно.

Можно отметить, что пучок команд, обеспечивающий явное задание параллелиз- ма в программе (отсюда и название EPIC), является аналогом длинного команд- ного слова архитектуры VLIW. В обеих архитектурах параллелизм задается явно в командах программы, то есть он выявляется еще на стадии трансляции, а не обнаруживается процессором в ходе выполнения программы, как это реали- зовано в процессорах CISC-архитектуры. В связи с этим напомним, что архи- тектура EPIC, к которой относится семейство IА64, является развитием VLIW- и RISC-архитектур.

Пучки формируются компилятором, который во время трансляции должен вы- делять команды, способные образовать пучок. Компилятор должен их переупо- рядочивать так, чтобы входящие в пучок команды не имели взаимозависимостей, не конфликтовали друг с другом за ресурсы и за операнды. Другими словами,

функция, которая выполнялась в архитектуре IАЗ2 аппаратно, в ЕРIС-архитек- туре перенесена на программный уровень.

Это обеспечивает возможность упро- щения аппаратуры, отвечающей за организацию работы конвейера.

Отметим, что трансляция выполняется только один раз, в то время как выполнять оттранслированную программу приходится многократно. Следовательно, целесо- образно потратить больше времени на выявление параллелизма и оптимизацию программы на стадии трансляции. Исключение анализа команд на стадии вы- полнения и использование оптимизированного кода с явно заданными параллель- ными командами обеспечивает существенное ускорение выполнения программы.

Еще одной важнейшей, принципиально новой особенностью архитектуры IА64 по сравнению с традиционными RISC- и CISC-архитектурами является органи- зация предикатного выполнения ветвлений, которое в любом случае избавляет от необходимости останавливать конвейер (точнее, разгружать и загружать его). Предикатное выполнение ветвления осуществляется так же, как и выполнение линейных участков программы.

В архитектуре IА64 характерным для всех команд сравнения является формиро- вание не единственного результата (1 — истина, 0 — ложь), как в классической системе команд, а пары значений — результата и его отрицания, которые записы- ваются в пару соседних предикатных (однобитовых) регистров. Эта пара значе- ний связывается, скажем, с двумя параллельно выполняющимися ветвями алго- ритма. Значения в предикатных регистрах определяют, результаты выполнения какой из ветвей должны быть выбраны для дальнейших действий.

Отметим, что значения из предикатных регистров могут использоваться не толь- ко в командах условного перехода, как в обычных командах процессора. Почти все команды системы команд IА64 могут использовать эти регистры. Такой под- ход позволяет во многих случаях избежать применения условных переходов, ко- торые отрицательно сказываются на производительности процессоров. Вместо организации ветвления процессор, имеющий большое число ресурсов, в частно- сти, регистров и функциональных блоков, может исполнить обе ветви програм- мы одновременно.

В качестве примера предикатной организации ветвления рассмотрим оператор из программы на языке Паскаль: if i=j then k:=k+1 else m:=m+1. Пусть значения величин i и j находятся в регистрах г4 и г5, а переменных k и m — в регистрах г 6 и г 7 соответственно. Тогда на Ассемблере процессора, относяще- гося к архитектуре IА64, этот оператор может быть записан в виде следующего фрагмента:

сmр.еq r4,r5,рЗ add r6,1,rО add r7,1,rО

Мнемокод первой команды, сmр. еq, показывает, что должно быть выполнено сравнение величин i и j в операции равенства. Первый и второй параметры ко- манды, r4 и r5, задают регистры, в которых находятся сравниваемые коды. Тре- тий параметр команды, рЗ, задает один из предикатных регистров, в который должен быть записан результат сравнения. Отрицание этого результата автома- тически записывается в парный к рЗ регистр р4. Таким образом, по первой команде фрагмента сmр. еq сравниваются значения i и j и результат заносится в пару взаимных предикатных регистров рЗ и р4.

Две следующие команды сложения, add г6, 1, г0 и add r7, 1, г0, осуще- ствляют сложение значения из регистра г 6 или г 7 с непосредственным операн- дом 1, а результат направляется в регистр rО. Из их записи видно, что они ис- пользуются с указанными предикатами рЗ и р4. Если значения i и j совпадают, то значения, попадающие в предикатные регистры рЗ, р4, равны 1 и 0 соответ- ственно. Это означает, что результат выполнения первой команды add должен учитываться, а результат выполнения второй — нет. Обе команды add выполня- ются параллельно, и только в самом конце конвейера происходит проверка того, истинно ли предикатное условие команды, и в зависимости от этого производится запись в выходной регистр г 0 того или иного результата. При этом может исполь- зоваться подмена регистров. Преимущество такого подхода состоит в линейном характере выполнения этого участка программы. Таким образом, предикатность команд избавляет от необходимости организовывать ветвление, прогнозировать переход и останавливать конвейер.

В 1990-1993 гг. совместными усилиями компаний Intel и HP (Hewlett-Packard — название фирмы образовано от фамилий основателей компании) было начато проектирование первого 64-битового процессора. Проект базировался на пред- шествующих разработках архитектуры с названием РА Wide Word (от Parallel Architecture Wide Word — всемирная параллельная архитектура). Немного позже эту архитектуру стали называть SР РА (от Super Parallel Processor Architecture — суперпараллельная процессорная архитектура), а затем она получила современ- ное название EPIC. Конкретной реализацией ее и является обсуждаемая архи- тектура IА64.

В 2001 г. разработчиками компании Intel по 0,18-микронной технологии был вы- пущен первый процессор Merced с указанной архитектурой, а в 2002 г. в компа- нии HP был создан процессор второго поколения с названием McKinley. Впо- следствии этим реализациям дали официальное название Itanium.

В 2003 г. были выпущены микропроцессоры Itanium 2 с архитектурой IA-64 и так- товыми частотами 1,4 и 1,5 ГГц, выполненные по 0,13-микронной технологии. Максимальный объем оперативной памяти в системах на базе Itanium 2 может достигать 2 Тбайт. Предусмотрена возможность создания многопроцессорных систем, которые могут включать до 128 процессоров. В таких системах обеспечен высокоскоростной обмен данными между процессорами, устройствами ввода/ вывода и памятью по 128-paзpяднoй системной шине с пиковой пропускной способностью 6,4 Гбайт/с.

Считается, что процессоры моделей Itanium и Itanium 2 образуют семейство IРF (от Itanium Processor Family — семейство процессоров Itanium). В 2005 г. это семей- ство IРF пополнилось моделью Itanium 2 Processor Enhancement, выполненной по 90-нанометровой технологии с частотой более 1,6 ГГц, кэшем третьего уровня LЗ объемом 9 Мбайт и кэшем четвертого уровня с объемом 32 Мбайт.

Следует отметить, что Itanium — это двухрежимные процессоры, которые могут работать как в 32-битовом, так и в 64-битовом режимах. То есть 64-битовые про- цессоры обеспечивают возможность аппаратной эмуляции 32-битовой системы команд х86. В настоящее время производительность процессоров IРF на програм- мах, написанных в системе команд х86, меньше, чем производительность процес- соров, относящихся к архитектуре IАЗ2, так как на эмуляцию тратится дополни- тельное время.

В соответствии с планами компании Hewlett-Packard по развитию вычислитель- ных систем, в настоящее время Itanium является стратегическим, единым про- цессором, и на него постепенно будут переводиться все аппаратные платформы, которыми обладает компания.

16.1.8.

<< | >>
Источник: Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей. 2007

Еще по теме Особенности архитектуры IA64:

  1. Таненбаум Э.. Архитектура компьютера. 5-е изд, 2007
  2. Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей, 2007
  3. Архитектура
  4. Молитва о возрождении на Земле Священной Архитектуры
  5. Откровение Мастеров. Архитектура – наука о Времени
  6. 5.2.17. Укрепления благосостояния своих лучших сотрудников для увеличения функциональности всех элементов, составляющих структуру и архитектуру цели
  7. 6. СИСТЕМА СМИ. ОСОБЕННОСТИ ИНФРАСТРУКТУРЫ ПЕЧАТНЫХ, ВЕЩАТЕЛЬНЫХ, СЕТЕВЫХ СМИ. ВЛИЯНИЕ ТЕХНОЛОГИЧЕСКИХ ОСОБЕННОСТЕЙ НА ПРОДУКТ ЖУРНАЛИСТСКОЙ ДЕЯТЕЛЬНОСТИ.
  8. ОСОБЕННАЯ ЧАСТЬ
  9. ОСОБЕННОСТЬ ВОЗРАСТНАЯ
  10. ОСОБЕННАЯ ЧАСТЬ
  11. ОСОБЕННАЯ ЧАСТЬ
  12. § 3. Особенности гражданского права
  13. ДЕЯТЕЛЬНОСТЬ ОСОБЕННАЯ
  14. Ничего особенного
  15. «Да так, ничего особенного».
  16. ТЕМА 7. Психологические особенности судопроизводства
  17. ЧАСТЬ ОСОБЕННАЯ СУДЕБНАЯ ПСИХОЛОГИЯ
  18. Часть особенная. Судебная психология
  19. 2. Особенности гражданских правоотношений