Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Обучение от Mail.Ru Group.
Онлайн-университет
для программистов с
гарантией трудоустройства.
Набор открыт!
2004 г.

RISC - архитектура, которой нет?

Никита Расторгуев
«Экспресс-Электроника», #3/2004

Из учебника информатики многим известно, что основные отличия между CISC- и RISC-архитектурами кроются в различном количестве и уровнях сложности машинных команд. В классических реализациях архитектуры CISC их много, и они зачастую семантически нагружены, аналогично операторам высокоуровневых языков программирования. RISC-команды, напротив - много проще и, как следствие, для эффективного выполнения требуют весьма скрупулезной оптимизации первичного программного кода. Впрочем, сегодня грань между этими архитектурами становится все менее четкой и в ближайшем будущем, вероятно, вообще исчезнет.

Как бы там ни было, сейчас RISC-архитектуры в абсолютном меньшинстве. Да и компании, которые изначально слыли приверженцами RISC-концепции, так или иначе объявили, что собираются делать ставку на новые идеи, иными словами - на post-RISC-процессоры. Речь идет в первую очередь о компаниях Sun и HP, хотя и анонсировавших новые RISC-процессоры для своих серверов, но говорить о каком бы то ни было качественном прогрессе этих архитектур не приходится. Дело в том, что новые процессоры будут не только использовать шасси предыдущих серверных решений и, как следствие, смогут быть установлены в них в качестве upgrade-блоков, но и в полной мере сохранят все предыдущие наработки, за минимальным числом нововведений. Главная черта современных RISC-процессоров - двухъядерность, которая хотя и даст процессорам весьма ощутимый рост производительности, путь "идейного" развития названных архитектур вряд ли продлит. По сути, выпуск новых реализаций "старых" RISC-архитектур лишь подтверждает их близкую кончину.

В этом обзоре мы опишем перспективные модели RISC-микропроцессоров от ведущих производителей, их появление ожидается на рынке в ближайшее время.

Hewlett-Packard - курс на Itanium!

Первый RISC-процессор серии PA (Precise Architecture), работавший на частоте 8 МГц, компания НР выпустила еще в 1985 году, а 18 сентября 2001 года на рынок вышел новейший на сегодня процессор этой линейки - PA-8700. Данный чип стал первым решением НР, использующим медные соединения и SOI-транзисторы. Построенный с применением технологии 0,18 мк, он позволил достичь частоты 875 МГц. Что касается планов НР, они весьма красноречиво отражены во фразе: "Переход от PA-RISC к Itanium неминуем, вопрос только - когда?" Необходимо отметить, такое заявление не является неожиданным, особенно если принять во внимание, что Itanium представляет собой совместный проект с Intel. При этом НР по праву считает Itanium наследником PA-RISC. А поскольку в первом реализовано большинство инструкций PA, можно говорить о совместимости "старого" ПО на уровне двоичных кодов без перекомпиляции. Тем не менее для поддержки своих заказчиков HP намерена еще некоторое время выпускать новые процессоры серии РА.

Процессор, готовящийся к выпуску компанией НР в самое ближайшее время, - PA-8800. Он представляет собой новое PA-RISC-решение для систем линейки HP9ххх. PA-8800 будет иметь два ядра PA-8700 на одном чипе с целью получения мультипроцессорности в одном CPU. Кроме увеличения тактовой частоты ядра минимум до 1 ГГц, в PA-8800 предусмотрены кэши первого (работающего на частоте 600 МГц) и второго уровня объемом 35 Мбайт. L1-кэш состоит из двух блоков - кэша инструкций и кэша данных для каждого ядра, общим объемом 3 Мбайт. Огромный L2-кэш, как и в предыдущих реализациях этой архитектуры, будет размещен вне чипа, но на том же картридже, что и сам чип, в виде четырех 72-Мбит чипов.

Процессор будет работать с 128-битной шиной с частотой 400 МГц с поддержкой ECC и позволит организовать канал с оперативной памятью шириной 6,4 Гбайт/с. Ориентировочное число транзисторов PA-8800 - 300 млн, практически в два раза больше, чем у ближайшего конкурента - IBM Power4, который насчитывает 170 млн транзисторов. Площадь процессора PA-8800 - 361 мм2. Скорость обмена данными с L2-кэшем составит 9,6 Гбайт/с, а интерфейс процессора будет полностью совместим с шиной для процессоров Intel Itanium, что сделает его весьма выгодным решением, как для тех, кто только желает приобщиться к высокопроизводительным вычислениям, так и для тех, кто уже имеет развернутую ИС на базе предыдущих решений архитектуры PA-RISC. Как утверждается, РА-8700 обеспечит в полтора раза большую производительность серверу, если в нем просто заменить имеющиеся процессоры, и в 2,5 раза более высокую - если установить вдвое большее количество новых процессоров.

Подчеркнем еще раз, компания HP планирует отказаться от применения RISC-процессоров постепенно, переводя своих клиентов на процессоры линейки Itanium.

RISCованные шаги Sun

О популярности систем на базе архитектуры Sun Microsystems говорить, пожалуй, излишне. Эти "рабочие лошадки" получили распространение в самых разных областях.

Наиболее распространенные RISC-процессоры Sun - SPARC III. Благодаря большому числу регистров для данных с плавающей точкой и сравнительно широким полосам пропускания внутренних шин процессора, в архитектуре SPARC III угадывается высокий вычислительный потенциал и соответствующее ему позиционирование систем. Кроме того, производительна шина, связующая процессор и оперативную память, не в последнюю очередь из-за интегрированного в кристалл процессора контроллера памяти. Интересно, что при этом системы на базе SPARC III используют стандартную память типа ECC SDRAM (128-разрядную), а полоса пропускания системы в целом составляет 2,4 Гбайт/с.

Новые RISC-процессоры UltraSparc IV можно устанавливать в серверы на базе UltraSparc III, ничего в них не меняя. Изготовитель заявляет о планируемом повышении производительности в 1,6-2 раза, по сравнению с UltraSparc III, работающим на той же частоте. Вообще же UltraSparc IV - первый процессор Sun, который может выполнять более одного потока инструкций одновременно. Достигается это за счет размещения на одном чипе сразу двух ядер. Чипы будут производиться на фабриках компании Texas Instruments, с применением 0,13-мк техпроцесса. Оба процессорных ядра основаны на дизайне UltraSparc III и имеют тактовую частоту 1,2 ГГц. В дальнейшем планируется перейти на 0,09-мк технологию, что, предположительно, позволит увеличить рабочую частоту процессора вдвое. UltraSparс IV станет основой различных многопроцессорных систем, работающих под управлением ОС Sun Solaris, например, для 106-процессорной системы Sun Fire 15K. Кстати говоря, Sun и далее планирует придерживаться такого подхода к увеличению производительности. Процессор под кодовым наименованием Niagara, выпуск которого запланирован на 2006 год, будет содержать восемь процессорных ядер и сможет одновременно выполнять до 32 потоков.

SGI MIPS - все взоры на Itanium

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

Кстати, первым 64-разрядным процессором стал MIPS R10000, появившийся в 1991 году. Актуальные же сегодня решения - процессоры MIPS R12000A с частотой 400 МГц, R14000 - 500 МГц, R14000А - 600 МГц и R16000 - 700 МГц. Кардинальные изменения в архитектуре MIPS ожидаются в текущем году, с появлением модели R18000. В этом процессоре, впервые после R8000, станут выдаваться четыре 64-разрядных результата с плавающей запятой за такт. В архитектуру будут добавлены дополнительные устройства загрузки/записи и вещественной арифметики. На тактовой частоте 800 МГц R18000 должен иметь пиковую производительность 3,2 GFLOPS. Тактовая частота для процессоров MIPS достигнет заветной черты 1 ГГц не ранее 2005 года, когда появится чип R20000.

Что касается других нововведений архитектуры MIPS, на последнем Microprocessor Forum в Сан-Хосе разработчик объявил планы по выпуску 64-разрядных процессоров с аппаратной поддержкой многопоточности. Новая технология будет называться MT-ASE. Она позволит процессору быстро переключаться между программами, хранящимися в кэше. Особенности выполнения приложений на современных процессорах, не поддерживающих многопоточность, в том, что при отсутствии в кэше необходимых для выполнения приложения данных, процессору приходится либо в течение нескольких десятков тактов простаивать, ожидая, пока данные подойдут из основной памяти, либо переключаться на выполнение другого приложения, тратя множество тактов на замену содержимого регистров. MT-ASE позволяет быстро восстановить состояние регистров для нового приложения, тем самым сведя простои процессора к минимуму. Новая технология поможет процессорам MIPS, основной нишей которых являются встраиваемые системы, обеспечить решение главной задачи и общение в реальном времени с DSP или сопроцессором.

Есть два способа использования новых возможностей процессора. Если приложение "не знает" о технологии MT-ASE, то оно видит не один процессор, а два виртуальных процессора, работающих по схеме SMP. Называется такой режим Virtual Processing Engine. Второй, более перспективный вариант реализуется в случае, когда приложение "знает" о новых возможностях процессора. Тогда оно может самостоятельно, с помощью расширенного набора команд, создавать и переключать потоки, используя все возможности процессора. На данный момент компания не представила рабочих прототипов, однако планирует сделать это в начале следующего года.

Впрочем, если обратиться к линейке новых продуктов компании SGI - владельца архитектуры MIPS, то выяснится, что ее наиболее производительные решения построены на процессорах Intel Itanium 2. Это свидетельствует, что и новые образчики архитектуры MIPS ориентированы в первую очередь на армию старых пользователей этой архитектуры.

IBM: экономия без ущерба производительности

IBM Power4 на сегодня является несомненным лидером производительности, и ряд независимых тестирований платформ на базе данной архитектуры тому яркое подтверждение. Во многом столь высокие результаты производительности процессору удается демонстрировать благодаря интегрированию в кристалл двух процессорных ядер, а также другим продвинутым возможностям. Например, несмотря на наличие двух ядер, каждое из которых обладает собственными кэшами первого уровня для данных и инструкций, кэш второго уровня объемом 1450 кбайт все-таки общий. Он управляется тремя раздельными контроллерами, подключенными к процессорным ядрам через коммутатор (Core Interface Unit - CIU). Интересно, что контроллеры работают автономно и могут выдавать за такт 32 байт данных. Каждый из процессоров использует для коммуникации с CIU две раздельные 256-битные шины для выборки инструкций и загрузки данных, а также отдельную 64-битную шину для сохранения результатов. Пропускная способность L2-кэша превышает 100 Гбайт/с. В целом, система L2-кэша выглядит сбалансированной. У каждого из процессоров имеется специальный блок для поддержки некэшируемых операций (Noncacheable Unit).

Информация о новом процессоре IBM - Power5 - стала известна на Microprocessor Forum. Этот процессор появится на рынке в текущем году и будет содержать целый ряд важных нововведений. Одним из них станет встроенная технология энергосбережения, которая по сравнению с Power4 позволит выполнять на 50% больше инструкций на том же объеме энергии, без какого-либо ущерба производительности.

Архитектура Power5, содержащего 276 млн транзисторов, будет построена на базе Power4 с некоторыми видоизменениями, коснувшимися числа поддерживаемых процессоров в многопроцессорных конфигурациях, улучшенного быстродействия и энергопотребления. Соответственно, Power5 будет обратно совместим с Power4 на уровне программного обеспечения.

Как и в Power4, в Power5 предусмотрено два процессорных ядра на одном чипе с общим кэшем L2 объемом 1,92 Мбайт (у Power4 - 1,44 Мбайт). Точно так же кэш L3 размещен вне чипа, но в отличие от Power4, будет напрямую связан с кэшем L2, а не с контроллером кэш-памяти, что несколько снижает задержки при работе с кэшем и улучшает масштабируемость архитектуры при работе в многопроцессорных конфигурациях. Встроенный в процессор контроллер оперативной памяти позволит адресовать до 1024 Гбайт, что вдвое больше адресного пространства Power4.

Форм-фактор нового чипа будет необычным: мы уже привыкли к модулям, содержащим по несколько чипов, однако IBM собирается поставлять свой новый процессор по четыре чипа Power5 с размещением 36 Мбайт кэш-памяти третьего уровня в модулях размером 95х95 мм. То есть, к примеру, сервер с 128 аппаратными процессорными разделами получается установкой всего лишь 16 подобных модулей по четыре процессора с двумя процессорными ядрами каждый. В терминах обработки инструкций производительность Power5 будет вдвое больше Power4: последний обрабатывает инструкции группами по пять за такт, а Power5 - по две группы по пять инструкций за один такт.

Пока не известно, появятся ли процессоры для Macintosh на архитектуре Power5, хотя в IBM не отрицают такой возможности. Последний процессор для Apple, PowerPC 970, использовал архитектуру Power4 без второго процессорного ядра, однако у Power5 существует еще одна деталь, делающая его привлекательным для использования в рабочих станциях: распределения приоритетов выполнения вычислительных потоков на аппаратном уровне. Но есть и другая сторона медали: площадь кристалла в 389 мм2 превышает размеры PowerPC 970 почти в четыре раза.

Ожидается, что первые поставки Power5, выполненных с соблюдением 0,13-мк норм, начнутся в будущем году. Power5+, который будет производиться по 90-нм нормам, начнет продаваться в 2005 году, а Power6 - в 2006-м.

Мир пост-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).

Новости мира IT:

Архив новостей

Последние комментарии:

Релиз ядра Linux 4.14  (6)
Пятница 17.11, 16:12
Apple запустила Pay Cash (2)
Четверг 09.11, 21:15
Loading

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...