Сервер - статьи

       

Мир пост-RISC компьютинга


Что же являет собой представитель архитектуры IA-64 от Intel - Itanium/Itanium 2, который призван вытеснить RISC-решения? Многие специалисты сходятся во мнении, что на сегодня Itanium/Itanium 2, пожалуй, наиболее яркий пример объединения идеи CISC- и RISC-процессоров в одно целое, реализующий при этом ряд совершенно новых концепций. Наиболее интересная из них - методика построения CPU, подкрепленная концепцией EPIC. Речь идет о возможности выполнять несколько инструкций за один такт. Кстати, данная возможность Itanium 2 более продвинута, чем ее аналоги в конкурентных разработках. Ее суть такова: еще на этапе компиляции кода определить его логику и расположить команды на очередь исполнения таким образом, чтобы обеспечить максимальную параллельность их выполнения на функциональных блоках процессора. Реализация столь сложной многоэтапной логики является довольно-таки эффективным методом повышения результативности работы системы спекулятивного выполнения команд, которая в прочих современных процессорах тем сложнее, чем сложнее схема их функциональных блоков. На практике, предикатная компиляция многократно оправдывает столь оригинальный подход к организации архитектуры семейства Intel Itanium/Itanium 2, число функциональных блоков которого достаточно велико. На сегодня, по всей видимости, не существует ни одного процессора, способного реально обрабатывать более 4-6 команд за такт одновременно. Даже теоретическая, а не реальная степень параллелизма современных процессорных архитектур не превышает более 6-8 команд за такт, да и то число 8 команд/такт принадлежит сложному чипу IBM Power4, чья стоимость вряд ли станет приемлемой в обозримом будущем. Использование же предикатной схемы позволяет увеличить эффективность параллелизма выполнения команд.

Как известно, важную роль в эффективности параллельного и спекулятивного исполнения команд, а также "махинаций" при переименовании регистров выполняет система предсказания ветвлений и логических конструкций обрабатываемого кода.
А поскольку у процессоров Itanium/Itanium 2 имеется предективный компилятор, моделирующий командное слово заранее, коэффициент полезного действия системы внутренней оптимизации обработки команд высок, что позволяет демонстрировать семейству Itanium/Itanium 2 высокую производительность. Причем в последующих версиях процессоров платформы IA-64 разрыв между EPIC-системами и прочими высокопроизводительными архитектурами будет лишь увеличиваться, так как система внутренней оптимизации обработки команд последних, с увеличением тактовой частоты и почти неизбежном в таких случаях удлинении конвейера, станет лишь терять свою эффективность. Тогда как уровень вычислительного КПД EPIC-процессоров будет снижаться минимально, ведь их ядра получают оптимизированный для распараллеливания код. Одно из главных отличий RISC-архитектур, от CISC - использование большого числа регистров. В этом плане Itanium близок к высокопроизводительным предкам - его число регистров составляет 328 - это своеобразный рекорд индустрии для однокристального процессора. Из них 128 регистров ориентированы на работу с 64-разрядными целочисленными данными, еще 128 - на 80-разрядные с плавающей точкой, а остальные 72 представляются регистрами предикатов. Последние являются универсальными полями, ориентированными на исполнение нескольких ветвей программного кода. Предикаты содержат несколько значений элементов кода, подсчитанных альтернативными способами, и до момента выяснения их необходимости (угадал механизм спекулятивного выполнения ход программы, или нет) не вытираются. Блок-схема Itanium 2 описывается шестью целочисленными функциональными блоками, тремя блоками для обработки чисел с плавающей точкой, одним специализированным блоком для выполнения SIMD-инструкций (заметьте родство с CISC) и двумя устройствами для оперирования регистрами. Максимальное (теоретическое) число команд, которое процессор способен выполнить за один такт, составляет 6, что не является рекордом, однако из-за использования концепции EPIC поднимает вычислительный КПД процессора на весьма высокий уровень.


Кроме того, снижению вычислительного КПД из-за промахов системы предсказания ветвлений способствует использование весьма короткого по сегодняшним меркам конвейера, насчитывающего всего 8 стадий. Последний также обуславливает сравнительно низкую тактовую частоту процессоров линейки Itanium 2 - максимум 1,5 ГГц для процессоров новейшей ревизии ядра. Формат команд архитектуры IA-64, как и следовало ожидать, "заточен" под аппаратную реализацию архитектуры. Основное отличие методики подачи команд процессору, используемой в Intel Itanium/Itanium 2, в том, что команда, которой оперируют прочие архитектуры, в IA-64 заключена в рамки командного слова. В итоге, команда, в рамках архитектуры IA-64 включающая идентификатор команды, раздел поля операндов (источник/приемник), уточняющую информацию и поля предикатов, заключается в трижды повторяющийся по своей форме шаблон общей длиной 128 бит, который содержит также связующую три команды информацию. Таким образом, мы, по сути, имеем классическую RISC-команду с "надстройкой". Именно этот шаблон и представляет собой командное слово - основополагающий элемент архитектуры IA-64 на программном уровне, именно в его в рамках происходит определение возможности параллельного выполнения команд. Собственно, командное слово и является тем материалом, которым впоследствии оперирует процессор. Если учесть, что теоретически может быть исполнено сразу два командных слова (трехкомандных шаблона), то мы как раз и получим заявленное производителем число команд за такт - 6. Напомним, что возможность распараллеливания кода происходит на этапе его компиляции, поэтому кажущаяся необходимость постоянно учитывать нестандартный формат команд IA-64 отпадает сама собой. Скомпилирован код программы заранее специальным программным компилятором, или данный процесс производится аппаратно в кристалле - на конечном результате скорости обработки это скажется минимально, так как механизмы оптимизации, включающиеся внутри ядра процессора, почти не влияют на конечный результат.


С другой стороны, перед разработчиками встает вопрос необходимости постоянной оптимизации механизмов компиляции кода, который в итоге и предопределит успех архитектуры в тех или иных задачах. Принцип организации кэш-памяти Itanium 2 разных уровней во многом аналогичен другим чипам Intel, ориентированным на рынок настольных решений. Хотя в процессоре Itanium 2 и используется трехуровневая иерархия кэшей, общая схема их работы схожа. Так, первый уровень (L1) кэш-памяти представлен всего 32 кбайт (по 16 кбайт на команды и данные), второй - 256 кбайт, а третий составляет 6 Мбайт (во флагманской версии процессора). Все кэши связаны с процессором шиной, функционирующей на частоте 400 МГц и способной пропускать до 6,4 Гбайт в секунду и имеющей 128-разрядную адресацию. Масштабируемость архитектуры по числу процессоров обещает быть высокой. К примеру, компания НР располагает наборами логики под 4 (zx1) и 64 процессора Intel Itanium 2, а в скором времени будут представлены и системы, способные функционировать на базе 128 процессоров (sx1000). Хотя некоторые изготовители высокопроизводительных систем до сих пор предлагают своим клиентам системы на базе Intel Itanium, покупка системы с его использованием мало оправдана, в связи с выходом новых представителей линейки. Осенью ассортимент Intel в сфере процессоров архитектуры IA-64 расширился более современными чипами, известными ранее под кодовым именем Madison. Старшая модель из этой линейки работает на частоте 1,5 ГГц и оборудована 6 Мбайт кэш-памяти L3, интегрированной с кристаллом. Две остальные новинки имеют следующие характеристики: 1,4 ГГц (4 Мбайт L3) и 1,3 ГГц (3 Мбайт L3).

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







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий