Особенности архитектуры IA64
? В систему команд архитектуры 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.
Еще по теме Особенности архитектуры IA64:
- Таненбаум Э.. Архитектура компьютера. 5-е изд, 2007
- Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей, 2007
- Архитектура
- Молитва о возрождении на Земле Священной Архитектуры
- Откровение Мастеров. Архитектура – наука о Времени
- 5.2.17. Укрепления благосостояния своих лучших сотрудников для увеличения функциональности всех элементов, составляющих структуру и архитектуру цели
- 6. СИСТЕМА СМИ. ОСОБЕННОСТИ ИНФРАСТРУКТУРЫ ПЕЧАТНЫХ, ВЕЩАТЕЛЬНЫХ, СЕТЕВЫХ СМИ. ВЛИЯНИЕ ТЕХНОЛОГИЧЕСКИХ ОСОБЕННОСТЕЙ НА ПРОДУКТ ЖУРНАЛИСТСКОЙ ДЕЯТЕЛЬНОСТИ.
- ОСОБЕННАЯ ЧАСТЬ
- ОСОБЕННОСТЬ ВОЗРАСТНАЯ
- ОСОБЕННАЯ ЧАСТЬ
- ОСОБЕННАЯ ЧАСТЬ
- § 3. Особенности гражданского права
- ДЕЯТЕЛЬНОСТЬ ОСОБЕННАЯ
- Ничего особенного
- «Да так, ничего особенного».
- ТЕМА 7. Психологические особенности судопроизводства
- ЧАСТЬ ОСОБЕННАЯ СУДЕБНАЯ ПСИХОЛОГИЯ
- Часть особенная. Судебная психология
- 2. Особенности гражданских правоотношений