Основное отличие процессора alpha 21264 от предыдущих
Аннотация: В этой лекции рассматриваются основные черты RISC-процессоров и характеристики современных RISC-процессоров на примере Alpha 21264 и PA-8000, основные направления развития и области применения RISC-процессоров, а также анализируются черты RISC-архитектуры в семействе IA-32. Цель: познакомить учащихся с историей появления процессоров RISC-архитектуры, с основными чертами RISC-процессоров, с характеристиками современных RISC-процессоров, сформировать умения выделять черты RISC-архитектуры в современных процессорах IA-32.
PRISM: на полпути к Alpha
Проект PRISM, стартовавший в 1985 году, не был первой пробой RISC-технологий в Digital, но именно на эту разработку были брошены главные силы и именно от нее ждали прорыва в производительности и функциональности. PRISM (Parallel Reduced Instruction Set Machine) должен был стать 32-битным RISC-процессором.Основным конкурентом для него виделось семейство процессоров Motorola 68k, также 32-битное, но относящееся к CISC-решениям.
На базе этих процессоров многие компании, например, тогда еще малоизвестные Sun и Silicon Graphics, уже выпускали рабочие станции под управлением Unix. Они были достаточно дешевы, чтобы можно было установить такую каждому пользователю вместо терминала для доступа к миникомпьютеру, и достаточно производительны, чтобы сравниться с целым миникомпьютером или даже обогнать его.
За 1985-1986 годы была выполнена большая часть работы над проектом, его готовность оценивалась в 98%. Параллельно разрабатывались две версии: Crystal для миникомпьютеров и мейнфреймов, на базе эмиттерно-связанной логики, и microPRISM для рабочих станций, на базе CMOS. Но летом 1987 года было принято решение, что новый процессор должен быть 64-битным, и проект пришлось срочно перерабатывать.
Осенью требования снова поменялись после выхода первой рабочей станции Sun на процессоре SPARC. Он был 32-битным и втрое опережал прежнего лидера — Motorola 68020. Теперь PRISM был нацелен только на рабочие станции и должен был остаться 32-битным. Разработка Crystal была свернута.
К началу 1988 года ядро CPU было почти готово, кроме FPU и MMU (блок управления памятью). Эти компоненты разрабатывались не с нуля — в основу лег чипсет Rigel для VAX 6000, но было принято отложить их и довести до завершения само ядро — эта работа была выполнена уже к апрелю. В это время планировалось сохранить VAX как основу для продуктов верхнего уровня (вместо Crystal), а к середине года стало понятно, что к моменту выхода PRISM уже перестанет быть конкурентоспособным.
Было принято решение выпустить собственную серию рабочих станций на процессорах MIPS. Они были несколько менее производительными, но заметно более дешевыми, а главное — их разработка должна была завершиться гораздо быстрее. Так появилась серия DECstation, а проект PRISM был отменен в июле 1988 года.
DECstation 5000/200. Источник изображения.
Интересно, что демонстрационные образцы могли работать на частотах 50-80 МГц, против 16-20 МГц у MIPS, производительность отличалась пропорционально. Вот только MIPS были уже доступны, а у PRISM впереди еще год, а то и два до запуска в серию.
Последствия отмены проекта неожиданно сказались на всей компьютерной индустрии — Digital покинул Дэйв Катлер, один из ключевых разработчиков VMS и извечный критик Unix. Вскоре он начал работу в Microsoft, где возглавил проект разработки операционной системы, ныне известной как Windows NT. Многие особенности работы с памятью и хранилищем (и не только!) были привнесены в ядро системы из системы VMS.
Основные черты RISC-процессоров
В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.
Замысел RISC - процессора (Reduced Instruction Set Computer , компьютер с сокращенным набором команд ) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора.
Первый "настоящий" RISC - процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC -процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.
По данным независимой компании IDC , в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%
Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32 . В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память , и добавился целый ряд новых команд.
Основные особенности RISC -процессоров:
- Сокращенный набор команд (от 80 до 150 команд).
- Большинство команд выполняется за 1 такт.
- Большое количество регистров общего назначения.
- Наличие жестких многоступенчатых конвейеров.
- Все команды имеют простой формат, и используются немногие способы адресации.
- Наличие вместительной раздельной кэш-памяти.
- Применение оптимизирующих компиляторов, которые анализируют исходный код и частично меняют порядок следования команд.
Лучшее из обоих миров
Пока же рынок серьезных рабочих станций плотно занят RISC-машинами, и говорить о проникновении на него IBM PC преждевременно. Скорее можно говорить о приходе Windows NT. Система доступна не только для Alpha и x86, но и для основных игроков — MIPS и PowerPC, за бортом остался только SPARC. Windows NT развивается стремительно, в 1994 году выходит версия 3.5, год спустя — большое обновление под номером 3.51. С этого момента систему можно назвать зрелой.
На RISC-машинах невозможно выполнение ПО для х86 без перекомпиляции. Для рабочих станций это не такая большая проблема — нужный софт доступен, но Alpha, как и PowerPC, метит на рынок высокопроизводительных ПК, где нужен очень широкий выбор программ. Еще в 1993 году был продемонстрирован прототип транслятора кодов FX!32, а в 1996 году одновременно с версий NT 4.0 выходит его релизная версия.
Загрузочный экран бодро рапортует о 333 МГц, хотя их на самом деле 300.
Транслятор от Digital не просто преобразует код на лету, он сохраняет результат в базу данных и проводит дополнительную оптимизацию — это позволяет снизить падение производительности до разумных величин. Достигнутый результат — 30-50% от скорости работы нативного кода, а с оптимизацией — аж до 70%.
Однако NT не была единственной движущей силой Alpha, это лишь нижний и относительно массовый сегмент рынка. Основной системой для топовых систем все также оставалась OpenVMS, для среднего же уровня предназначалась Digital UNIX, она же Ultrix, она же OSF/1. Доходило до того, что младшие системы официально не поддерживали OpenVMS, лишь только Unix и Windows.
Интересный факт: NT на Alpha оставалась 32-битной и не использовала всех ее преимуществ, 64-бит версия была в планах, но так и не вышла.
It’s not the end
На этом, пожалуй, прервемся. Но история самой многообещающей архитектуры 90-х не заканчивается. Нас ждет продолжение рассказа, третье поколение Alpha и первая машина с Alpha в коллекции Digital Vintage. А пока возьмем небольшой тайм-аут.
Впервые об архитектуре Alpha я узнал вскоре после обретения своего первого ПК, осенью 2001 года. Это были не слишком свежие (примерно 1997-1998 года) страдания неизвестного автора о платформе AlphaPC, материнской плате удивительной производительности и поражающих возможностей в формате АТХ. С тех пор эта архитектура запала мне в душу, долгое время борясь за место в сердце с не менее прорывным Pentium Pro. Сейчас представители обоих направлений располагаются в коллекции «Digital Vintage» на расстоянии менее 1 см друг от друга.
Три — эльфийским владыкам в подзвездный предел;
Семь — для гномов, царящих в подгорном просторе;
Девять — смертным, чей выверен срок и удел.
И Одно — Властелину на черном престоле
В Мордоре, где вековечная тьма:
Чтобы всех отыскать,
Воедино созвать
И единою черною волей сковать
В Мордоре, где вековечная тьма.
Дж.Р.Р. Толкин, перевод И.Б. Гриншпуна
Пока за право стать «единым кольцом» борются ARM и RISC-V, давайте вспомним историю «третьего эльфийского кольца», архитектуры, которая могла стать основной на рынке, но, как водится, не стала — Digital Alpha. Она же AXP, она же просто Alpha.
Alpha не была первой архитектурой, рожденной в недрах одной из величайших компьютерных компаний ХХ века. Ее угораздило стать третьей и последней (отсюда и отсылка к Кольцам Власти Средиземья) — после PDP (на самом деле, это семейство архитектур) и VAX. Планы были поистине наполеоновскими: Alpha имела шансы заменить х86, по крайней мере в верхнем сегменте.
Digital пошла на удивительные по меркам рынка RISC-систем меры — выпускала материнские платы для сторонних производителей, лицензировала выпуск процессоров другим фирмам (упс, одной!). Для нее были адаптированы основные операционные системы — Unix и даже Windows NT (!). Но все же что-то пошло не так.
Сначала в 1998 году Digital со всеми «потрохами» досталась Compaq, которая была, без сомнения, рада получить среди прочего собственную RISC-архитектуру. Но спустя чуть больше трех лет произошло слияние HP и Compaq. У HP уже была своя PA-RISC, на замену которой был только что выпущен микропроцессор Itanium, созданный совместно с Intel. И еще одна архитектура компании была нужна «как собаке запасное колесо». Alpha перестала развиваться, продержалась в производстве еще четыре года и была тихо предана забвению.
Основные черты RISC-процессоров
В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.
Замысел RISC - процессора (Reduced Instruction Set Computer , компьютер с сокращенным набором команд ) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора.
Первый "настоящий" RISC - процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC -процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.
По данным независимой компании IDC , в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%
Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32 . В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память , и добавился целый ряд новых команд.
Основные особенности RISC -процессоров:
- Сокращенный набор команд (от 80 до 150 команд).
- Большинство команд выполняется за 1 такт.
- Большое количество регистров общего назначения.
- Наличие жестких многоступенчатых конвейеров.
- Все команды имеют простой формат, и используются немногие способы адресации.
- Наличие вместительной раздельной кэш-памяти.
- Применение оптимизирующих компиляторов, которые анализируют исходный код и частично меняют порядок следования команд.
Кто заменит VAX
История Alpha начинается в тот момент, когда в 1985 году руководство Digital приняло судьбоносное решение: будущее за RISC-процессорами. Основанные на подходе CISC системы VAX на тот момент производились всего 8 лет — первая машина VAX-11/780 (“-11” было отсылкой к совместимости с популярными PDP-11) вышла в октябре 1977 года.
VAX 11-780 TSD. Источник изображения.
Архитектура была полноценно 32-битной и поддерживала виртуальную память. Последнее было одной из ее главных особенностей, настолько важной, что было вынесено в название — Virtual Address eXtensions. Главной операционной системой для VAX была VMS (Virtual Memory System). Но в реальности Unix, зародившийся когда-то на PDP, уже привычный для пользователей и разработчиков, только набирал популярность.
Лирическое отступление. Еще при жизни компании многие из ее сотрудников не любили аббревиатуру DEC, предпочитая называть ее Digital. Поддержим эту традицию.
MicroVAX 3600 (слева) и принтер. Источник изображения.
Первый MicroVAX обеспечивал всего 30% производительности оригинальной модели. Но уже два года спустя производительность MicroVAX сравнялась с первым VAX. Прогресс в области микроэлектроники тогда творил чудеса, но CISC-чипы становились все сложнее и сложнее, в конце концов — слишком сложными.
Изначально VAX выпускались как миникомпьютеры, их производительность (и цена) была на порядок выше зарождающихся персональных компьютеров. Именно в это время окончательно выделились в отдельный класс систем серверы и рабочие станции. Digital уловила веяние прогресса и закрепила это разделение в отдельных линейках — VAXserver и VAXstation, выросших из MicroVAX.
В итоге, несмотря на перенос основного внимания на RISC-чипы, VAX-системы продолжали разрабатываться аж до 2000 года (!), а выпускаться — до 2005. Впрочем, уже к середине 90-х они уступили своим преемникам в борьбе за производительность. Уделом стала работа уже разработанным для них и PDP огромным количеством программного обеспечения.
Электрический огурец
Но если для PRISM это был конец, то для Alpha — только начало. Идея проекта сформировалась не сразу. Первой концепцией был RISC VAX — машина, которая выполняла бы основные инструкции VAX, а остальные реализовывались бы на уровне микрокода (предвестник грядущего RISC86). В рамках этой концепции проект немного поштормило — от RISC со своим набором инструкций и реализацией VAX поверх них до выноса замены части инструкций VAX на уровень языка программирования.
Итогом же стал практически возврат к одной из итераций концепции PRISM — 64-битный RISC-процессор, оптимизированный для выполнения VMS и ее программ без каких бы то ни было изменений, чтобы требовалась только перекомпиляция. Новая архитектура получила имя Alpha, полное же маркетинговое название было Alpha AXP, что послужило поводом для шуток — AXP расшифровывали как Almost eXactly PRISM — “почти в точности PRISM”.
Сами же микросхемы были маркированы DECchip 21х64, где 21 обозначает XXI век, 64 — разрядность процессора, а х — номер поколения, начиная с нуля. На этом Digital не успокоилась: процессоры получили еще одно внутреннее обозначение — EV4 (первое поколение — 21064), где EV означало Extended VAX. Также есть и неофициальная версия, что EV – это “Electric Vlasic” — отсылка к шуточному исследованию 1989 года о светимости маринованных огурцов (и не только их) под действием высокого напряжения.
Впрочем, до выхода первого коммерческого образца чипа оставалось еще много времени. Пока же для отладки программной части, в том числе прошивки, получившей имя SRM (внезапно System Reference Manual — по названию документа, где она была описана), и микрокодов — PALcode, были выпущены тестовые чипы EV3, лишенные FPU и оснащенные лишь 1 Кбайт кэша. Тестовые образцы были выпущены по 1 мкм техпроцессу в 1991 году и работали на частоте 100 МГц.
Микропроцессор 21064 в корпусе. Источник изображения.
А уже в феврале 1992 года состоялся релиз основной линейки. DECchip 21064, выпущенные уже по 0.75 мкм техпроцессу, насчитывали 1,68 миллиона транзисторов (площадь кристалла 234 мм2) и работали на частоте от 100 до 150 МГц. Сравните это с 66 МГц i486DX2, пусть даже при меньшей эффективности Alpha в целочисленных вычислениях!
При этом в вычислениях с плавающей запятой Alpha опережала процессоры Intel в разы. Объем кэша составлял 16 Кбайт (L1, 8 Кбайт для инструкций и 8 Кбайт для данных), внешний L2 кэш (B-cache) — до 16 Мбайт(!). На момент релиза это был самый производительный микропроцессор в мире. Цены, впрочем, не отставали — старшая модель стоила $1560 в партиях от 1000 штук.
Любопытный факт: “ножки” сверху корпуса процессора служили чисто утилитарной цели — на них навинчивался гайками радиатор охлаждения. Простое и эффективное решение, к сожалению, не получившее дальнейшего развития.
Закономерный вопрос: как же Digital удалось достичь таких частот при сравнимом с i486 техпроцессе? Во-первых, RISC-процессоры проще и используют меньшее число транзисторов, что сразу дает более высокий частотный потенциал. А во-вторых, и в этом главный секрет успеха — разработчики вручную выполняли операции, связанные с проектированием разводки процессора на кристалле. Это крайне трудоемкая методика, но она позволяла в то время получить лучшую оптимизацию, чем использование программных средств.
Хотите еще статей про архитектуры? Их есть у нас:
Alpha набирает ход
Процессоры серии 21164 выпускались самой Digital на основе 0.5 мкм техпроцесса. Почти 9,5 миллионов транзисторов занимали 299 мм 2 и выделяли от 46 до 56 Вт тепла при напряжении питания 3.3 В. Кулер все так же крепился с помощью двух гаек прямо к теплораспределительной крышке процессора. Для установки чипа использовался сокет с 499 контактами.
Появился встроенный кэш второго уровня — 96 Кбайт, при этом поддержка внешнего кэша сохранилась, он стал третьим уровнем кэширования. Максимальный его объем мог составлять 64 Мбайт. Поддерживалась работа в многопроцессорных системах, предельное количество не было четко обозначено. Самые мощные серверы производства Digital поддерживали до 14 физических процессоров и позволяли объединять несколько систем в единый кластер средствами OpenVMS.
В комплекте к процессору был предложен и чипсет для построения наиболее распространенных одно- и двухпроцессорных систем. Alcor, модель 21171, состоял из 5 чипов — основного 21171-CA, отвечающего за взаимодействие всех шин системы, и четырех 21171-BA, выполняющих роль интерфейса памяти. Целых четыре чипа потребовалось, потому что интерфейс памяти (а использовалась здесь все та же SIMM FPM!) для удовлетворения потребности процессора был аж 256-битным! Да, банк памяти состоял из восьми(!) 32-битных SIMM-модулей. В большинстве плат начального уровня было 8 доступных слотов, которые требовалось укомплектовать идентичными модулями.
Возможности чипсета довольно обыденны, но необычны в деталях. Поддержка процессорной шины, шины памяти, PCI в качестве основной шины расширения — все «как положено». Вот только шина PCI поддерживается не только 32-битная, но и 64-битная. В чипсете все так же не было собственного южного моста — как правило, он заимствовался из номенклатуры Intel. Он же обуславливал возможности расширения — поддержка ISA или EISA, IDE (не всегда!) и стандартных последовательных и параллельных интерфейсов, в том числе и интерфейса дисковода.
В 1996 году произошло обновление: процессоры получили новое обозначение — 21164А (EV56) — и более высокие частоты. Стартовав с 433 МГц, они уже к 1997 году достигли 666/675 МГц. Помимо собственных фабрик Digital, процессоры теперь выпускались и Samsung. И это было не размещение заказов: Samsung приобрел лицензию на производство и поддерживал архитектуру долгое время.
Новые процессоры переехали на 0.35 мкм техпроцесс и при небольшом увеличении транзисторного бюджета (до 9.66 млн транзисторов) значительно уменьшились в размере — площадь кристалла составила 209 мм 2 . К новым процессорам прилагался и новый (вернее обновленный) чипсет — Alcor 2 (21172). Отличием стала лишь поддержка новых процессоров.
В 1997 году появились упрощенные модели для AlphaPC — 21164PCA. Первая серия несла внутреннее обозначение PCA56 (0.35 мкм техпроцесс, 3.5 млн транзисторов) и работала с частотой от 400 до 533 МГц. Обновление 1998 года стало PCA57 (0.28 мкм и 5.7 млн транзисторов), что увеличило частоту с 600 до 666 МГц. Эти процессоры лишились кэша L2 и подверглись небольшим упрощениям для возможности создания сравнительно недорогих компьютеров (как и LCA-серия первого поколения). Эти процессоры среди прочего получили MVI — набор мультимедиа-инструкций, аналог MMX от Intel.
Для них были выпущены и отдельные чипсеты — сначала 21174 «Pyxis», вскоре компанию ему составил VLSI Polaris, один из двух известных сторонних чипсетов для Alpha (вторым стал AMD 750 «Irongate»). Оба чипсета поддерживали до 512 Мбайт памяти SDRAM (Polaris также мог работать с EDO-модулями объемом до 768 Мбайт). Pyxis поддерживал как обычную PCI, так и PCI-X, Polaris же 64-битные разновидности PCI не поддерживал вовсе. Оба набора могли работать как с процессорами 21164PCA, так и с полноценными 21164А.
На основе чипсета Pyxis были выпущены знаменитые платы AlphaPC 164LX и 164SX. Они продавались в том числе в розницу и давали возможность собрать Alpha-систему в обычном ATX корпусе самостоятельно по цене немногим дороже топового ПК на платформе Intel. Это был звездный час платформы! Жаль, но продлился он недолго.
Плата мечты
Когда судьба Alpha на самом деле уже была предрешена, в 2001 году, изучая материалы о набирающем популярность Linux, я встретил первое упоминание об этой архитектуре. Крайне восторженный обзор системной платы и компьютера на ее основе под управлением Linux надолго отложился в памяти.
Источник
Той платой была Digital AlphaPC 164LX, позволяющая работать с процессорами в исполнении Socket 499 с частотой от 466 до 600 МГц. Основа — связка DECchip 21174 (Pyxis) и Intel 82378ZB (SIO). Два мегабайта кэша, до гигабайта оперативной памяти, 64-битная PCI — все это было круто даже спустя 5 лет с момента выпуска. 600 МГц не казались чем-то скромным — Xeon в 2001 году был всего на 100 МГц быстрее.
Подкупала возможность установки ее в обычный АТХ-корпус и подключения обычной PC-совместимой периферии. Отсутствие встроенных устройств особо не пугало (не пугает и сейчас, вот только плату для рабочей станции без встроенного звука днем с огнем не отыщешь).
Так началась моя связь с «Альфой», бывшая до этого года сугубо платонической…
Любите истории создания процессоров? У нас есть еще несколько крутых статей на эту тему:
RISC-процессоры 3-го поколения
Самыми крупными разработчиками RISC -процессоров считаются Sun Microsystems ( архитектура SPARC - Ultra SPARC ), IBM (многокристальные процессоры Power , однокристальные PowerPC - PowerPC 620), Digital Equipment ( Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 -- R 10000), а также Hewlett-Packard ( архитектура PA-RISC - PA-8000).
Все RISC -процессоры третьего поколения:
- являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);
- имеют встроенные конвейерные блоки арифметики с плавающей точкой;
- имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;
- изготавливаются по КМОП-технологии с 4 слоями металлизации.
Для обработки данных применяется алгоритм динамического прогнозирования ветвлений и метод переназначения регистров, что позволяет реализовать внеочередное выполнение команд.
Повышение производительности RISC -процессоров достигается за счет повышения тактовой частоты и усложнения схемы кристалла. Представителями первого направления являются процессоры Alpha фирмы DEC , наиболее сложными остаются процессоры компании Hewlett-Packard. Рассмотрим процессоры этих фирм более подробно.
Структура процессоров Alpha: 21064, 21264
Структура процессора Alpha 21064 представлена на рис. 10.1.
Основные функциональные блоки процессора Alpha 21064:
- I-cache - кэш команд.
- IRF - регистровый файл целочисленной арифметики.
- F-box - устройство арифметики с плавающей точкой.
- E-box - устройство целочисленной арифметики (7 ступеней конвейера ).
- I-box - командное устройство (управляет кэш команд, выборкой и дешифрацией команд).
- A-box - устройство управления загрузкой/сохранением данных. Управляет процессом обмена данными м/у IRF, FRF , кэш данных и внешней памятью.
- Write Buffer - буфер обратной записи.
- D-cache - КЭШ данных.
- BIU - интерфейсный блок, с помощью которого подключаются внешняя кэшпамять, размером 128 Кб-8 Мб.
Сравнительные характеристики Alpha 21164 и 21264
Процессор Alpha 21264 отличается значительной новизной по сравнению с предшественником 21164. Он обладает кэш-памятью первого уровня большего объема, дополнительными функциональными блоками, более эффективными средствами предсказания ветвлений, новыми инструкциями обработки видеоданных и широкой шиной.
Alpha 21264 читает до четырех инструкций за один такт и может одновременно исполнять до шести инструкций. Самое большое его отличие от модели 21164 - это способность выполнять команды (впервые для Alpha) с изменением их очередности (Out-of-Order).
Эффективность выполнения Out-of-Order определяется количеством инструкций, которыми может манипулировать ЦП в целях определения оптимального порядка выполнения команд. Чем больше инструкций ЦП может для этого использовать, тем лучше, тем дальше он может заглядывать вперед. Процессоры Intel класса Р6 ( Pentium Pro , Pentium II, Xeon) могут одновременно обращаться не менее чем с 40 командами. У других процессоров данный показатель значительно больше: PA-8000 фирмы HP оперирует 56 командами, а процессор Alpha справляется с 80 командами.
Как и большинство RISC-процессоров, Alpha содержит набор из 32 целочисленных и 32 регистров с плавающей запятой, все они имеют разрядность 64 бита. Для повышения эффективности внеочередного выполнения команд процессор 21264 дополнительно к обычному набору регистров снабжен еще 48 целочисленными регистрами и 40 регистрами с плавающей запятой.
Каждый регистр может временно хранить значения текущих команд. Если обрабатывается какая-либо инструкция, нет необходимости перегружать результат в целевой регистр - вместо этого ЦП просто переименовывает временный регистр ( Register Renaming ).
Подобное переименование регистров есть и в других процессорах. Однако в 21264 реализована уникальная "хитрость" - он имеет задублированный набор целочисленных регистров, каждый из 80 целочисленных регистров дублируется еще раз. Таким образом, на чипе в целом - 160 целочисленных регистров. Это одна из причин, почему, несмотря на сложность выполнения Out-of-Order, допустима высокая частота процессора 21264.
Блоки целочисленных операций в обеих группах идентичны не полностью. Одна из них содержит блок умножения, а вторая - специальную логику для обработки движущихся изображений (MPEG). Для этого набор команд Alpha был дополнен пятью новыми командами. Самая интересная из них - PERR - служит для оценки движения, т.е. выполнения задачи, возникающей как при сжатии, так и декомпрессии MPEG. Команда PERR выполняет работу девяти обычных инструкций. Таким образом, процессор 21264 может декодировать видеопоследовательности MPEG-2, а также DVD-аудиоданные AC-3 в режиме реального времени без использования дополнительных периферийных устройств.
Аннотация: В этой лекции рассматриваются основные черты RISC-процессоров и характеристики современных RISC-процессоров на примере Alpha 21264 и PA-8000, основные направления развития и области применения RISC-процессоров, а также анализируются черты RISC-архитектуры в семействе IA-32. Цель: познакомить учащихся с историей появления процессоров RISC-архитектуры, с основными чертами RISC-процессоров, с характеристиками современных RISC-процессоров, сформировать умения выделять черты RISC-архитектуры в современных процессорах IA-32.
Per aspera ad aspera
С самого начала значительная доля в Digital принадлежала инвесторам. И, как часто бывает, в какой-то момент инвесторы получили возможность сместить основателя компании Кена Олсена с должности управляющего. После его ухода в 1992 году дела компании пошли не самым лучшим образом. Инвесторы слишком боялись рисков, а новый управляющий мало понимал в технике.
В результате собственность компании плавно разошлась в руки конкурентов. Например, Intel достались ARM процессоры StrongARM и некоторые сетевые продукты и логика (PCI-мосты, например). Остатки же Digital в 1998 году приобрела Compaq. Среди прочего Compaq досталась и Alpha. К счастью, внутреннего конкурирующего продукта у нее не было, и архитектура продолжила свое развитие. Так, в том же 1998 году было представлено третье поколение Alpha — 21264 (EV6). Но об этом — в третьей части статьи.
Очень интересное воспоминание об атмосфере в компании в последние годы — в комментарии хабровчанина victor_1212, бывшего сотрудника российского представительства Digital.
Нелегко шли дела и у других RISC-архитектур. Продажи были значительно меньше ожидаемых, одна за другой компании-производители сворачивали производство рабочих станций Windows NT с RISC-процессорами в угоду более дешевым и не имеющим проблем с совместимостью ПО х86. В октябре 1996 года была свернута поддержка MIPS, а годом спустя и PowerPC. Alpha осталась одна.
Основные черты RISC-процессоров
В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.
Замысел RISC - процессора (Reduced Instruction Set Computer , компьютер с сокращенным набором команд ) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора.
Первый "настоящий" RISC - процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC -процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.
По данным независимой компании IDC , в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%
Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32 . В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память , и добавился целый ряд новых команд.
Основные особенности RISC -процессоров:
- Сокращенный набор команд (от 80 до 150 команд).
- Большинство команд выполняется за 1 такт.
- Большое количество регистров общего назначения.
- Наличие жестких многоступенчатых конвейеров.
- Все команды имеют простой формат, и используются немногие способы адресации.
- Наличие вместительной раздельной кэш-памяти.
- Применение оптимизирующих компиляторов, которые анализируют исходный код и частично меняют порядок следования команд.
Железный капут
Продолжилась она пару месяцев назад, когда мой друг предложил поближе познакомиться с его экземпляром — рабочей станцией Polywell EB164. Это машина выпуска 1995 года, в основе ее ранняя плата Digital EB164 — Alpha 21164 Evaluation Board. Пусть вас не смущает слово «Evaluation» — это не тестовая плата как таковая, а возможность для пользователей познакомиться с новой версией процессора. Она содержит релизную версию чипсета Alcor — DECchip 21171, в качестве южного моста — интеловский SIO, горячо любимый Digital.
В отличие от более поздних моделей плата не АТХ, а Full AT — 305х330 мм (соответствует размеру ЕАТХ). Устанавливается в почти обычный АТ корпус — отличие в том, что вместо одного порта DIN5 для клавиатуры установлено два PS/2 для клавиатуры и мыши. Это допускается стандартом, но в большинстве корпусов эта возможность не реализована. Большинство АТ плат с PS/2 портами выпускались по ОЕМ контрактам, например, версия платы Micronics M54Pe (Dual Pentium / Intel 430NX) для установки в IBM PC Server 320.
На плате установлен процессор с частотой 300 МГц, возможна установка 266 или 333 моделей. Оснащение стандартное — два обычных PCI слота, два PCI64 и три ISA. Подключение дисков ограничено возможностями южного моста — двумя каналами IDE. Других встроенных контроллеров на плате нет. Вместо распаянных микросхем SRAM для кэш-памяти отведено 2 специальных слота. В предоставленной для знакомства машине установлено два модуля суммарным объемом 2 Мбайт. Для установки оперативной памяти доступны восемь слотов SIMM для памяти Parity FPM. Все слоты формируют единый банк с шириной шины 256 бит, требуется установка идентичных модулей.
Установленные устройства не представляют собой чего-либо особенного. Видеокарта S3 Trio в то время — очень достойный девайс среднего уровня, SCSI-адаптер Asus на чипе NCR/Symbios 53C810 и Digital’овская же сетевая карта. Память — 64 Мбайт. Жесткий диск уже не родной — Wide SCSI на 36 Гбайт, подключенный через переходник на Narrow шину. А вот дисковод и CD-ROM (тоже SCSI производства Toshiba) родные, на них даже сохранились наклейки «А» и «CD-ROM» соответственно.
Отдельных слов заслуживает корпус. Настоящий броненосец. Весь сделан из толстого металла, даже лицевая панель. Восемь отсеков для внешних 5.25” устройств, шесть из которых закрыты стальными заглушками. Бигтауэр высотой 62 см всегда выглядит внушительно, но со стальной «мордой» просто бьет все рекорды брутальности!
RISC-процессоры 3-го поколения
Самыми крупными разработчиками RISC -процессоров считаются Sun Microsystems ( архитектура SPARC - Ultra SPARC ), IBM (многокристальные процессоры Power , однокристальные PowerPC - PowerPC 620), Digital Equipment ( Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 -- R 10000), а также Hewlett-Packard ( архитектура PA-RISC - PA-8000).
Все RISC -процессоры третьего поколения:
- являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);
- имеют встроенные конвейерные блоки арифметики с плавающей точкой;
- имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;
- изготавливаются по КМОП-технологии с 4 слоями металлизации.
Для обработки данных применяется алгоритм динамического прогнозирования ветвлений и метод переназначения регистров, что позволяет реализовать внеочередное выполнение команд.
Повышение производительности RISC -процессоров достигается за счет повышения тактовой частоты и усложнения схемы кристалла. Представителями первого направления являются процессоры Alpha фирмы DEC , наиболее сложными остаются процессоры компании Hewlett-Packard. Рассмотрим процессоры этих фирм более подробно.
Структура процессоров Alpha: 21064, 21264
Структура процессора Alpha 21064 представлена на рис. 10.1.
Основные функциональные блоки процессора Alpha 21064:
- I-cache - кэш команд.
- IRF - регистровый файл целочисленной арифметики.
- F-box - устройство арифметики с плавающей точкой.
- E-box - устройство целочисленной арифметики (7 ступеней конвейера ).
- I-box - командное устройство (управляет кэш команд, выборкой и дешифрацией команд).
- A-box - устройство управления загрузкой/сохранением данных. Управляет процессом обмена данными м/у IRF, FRF , кэш данных и внешней памятью.
- Write Buffer - буфер обратной записи.
- D-cache - КЭШ данных.
- BIU - интерфейсный блок, с помощью которого подключаются внешняя кэшпамять, размером 128 Кб-8 Мб.
Сравнительные характеристики Alpha 21164 и 21264
Процессор Alpha 21264 отличается значительной новизной по сравнению с предшественником 21164. Он обладает кэш-памятью первого уровня большего объема, дополнительными функциональными блоками, более эффективными средствами предсказания ветвлений, новыми инструкциями обработки видеоданных и широкой шиной.
Alpha 21264 читает до четырех инструкций за один такт и может одновременно исполнять до шести инструкций. Самое большое его отличие от модели 21164 - это способность выполнять команды (впервые для Alpha) с изменением их очередности (Out-of-Order).
Эффективность выполнения Out-of-Order определяется количеством инструкций, которыми может манипулировать ЦП в целях определения оптимального порядка выполнения команд. Чем больше инструкций ЦП может для этого использовать, тем лучше, тем дальше он может заглядывать вперед. Процессоры Intel класса Р6 ( Pentium Pro , Pentium II, Xeon) могут одновременно обращаться не менее чем с 40 командами. У других процессоров данный показатель значительно больше: PA-8000 фирмы HP оперирует 56 командами, а процессор Alpha справляется с 80 командами.
Как и большинство RISC-процессоров, Alpha содержит набор из 32 целочисленных и 32 регистров с плавающей запятой, все они имеют разрядность 64 бита. Для повышения эффективности внеочередного выполнения команд процессор 21264 дополнительно к обычному набору регистров снабжен еще 48 целочисленными регистрами и 40 регистрами с плавающей запятой.
Каждый регистр может временно хранить значения текущих команд. Если обрабатывается какая-либо инструкция, нет необходимости перегружать результат в целевой регистр - вместо этого ЦП просто переименовывает временный регистр ( Register Renaming ).
Подобное переименование регистров есть и в других процессорах. Однако в 21264 реализована уникальная "хитрость" - он имеет задублированный набор целочисленных регистров, каждый из 80 целочисленных регистров дублируется еще раз. Таким образом, на чипе в целом - 160 целочисленных регистров. Это одна из причин, почему, несмотря на сложность выполнения Out-of-Order, допустима высокая частота процессора 21264.
Блоки целочисленных операций в обеих группах идентичны не полностью. Одна из них содержит блок умножения, а вторая - специальную логику для обработки движущихся изображений (MPEG). Для этого набор команд Alpha был дополнен пятью новыми командами. Самая интересная из них - PERR - служит для оценки движения, т.е. выполнения задачи, возникающей как при сжатии, так и декомпрессии MPEG. Команда PERR выполняет работу девяти обычных инструкций. Таким образом, процессор 21264 может декодировать видеопоследовательности MPEG-2, а также DVD-аудиоданные AC-3 в режиме реального времени без использования дополнительных периферийных устройств.
Аннотация: В этой лекции рассматриваются основные черты RISC-процессоров и характеристики современных RISC-процессоров на примере Alpha 21264 и PA-8000, основные направления развития и области применения RISC-процессоров, а также анализируются черты RISC-архитектуры в семействе IA-32. Цель: познакомить учащихся с историей появления процессоров RISC-архитектуры, с основными чертами RISC-процессоров, с характеристиками современных RISC-процессоров, сформировать умения выделять черты RISC-архитектуры в современных процессорах IA-32.
Основные черты RISC-процессоров
В 70-е годы XX века ученые выдвинули революционную по тем временам идею создания микропроцессора, "понимающего" только минимально возможное количество команд.
Замысел RISC - процессора (Reduced Instruction Set Computer , компьютер с сокращенным набором команд ) родился в результате практических исследований частоты использования команд программистами, проведенных в 70-х годах в США и Англии. Их непосредственный итог - известное "правило 80/20": в 80% кода типичной прикладной программы используется лишь 20% простейших машинных команд из всего доступного набора.
Первый "настоящий" RISC - процессор с 31 командой был создан под руководством Дэвида Паттерсона из Университета Беркли, затем последовал процессор с набором из 39 команд. Они включали в себя 20-50 тыс. транзисторов. Плодами трудов Паттерсона воспользовалась компания Sun Microsystems, разработавшая архитектуру SPARC с 75 командами в конце 70-х годов. В 1981 г. в Станфордском университете стартовал проект MIPS по выпуску RISC -процессора с 39 командами. В итоге была основана корпорация Mips Computer в середине 80-х годов и сконструирован следующий процессор уже с 74 командами.
По данным независимой компании IDC , в 1992 году архитектура SPARC занимала 56% рынка, далее следовали MIPS - 15% и PA-RISC - 12,2%
Примерно в то же время Intel разработала серию 80386, последних "истинных" CISC-процессоров в семействе IA-32 . В последний раз повышение производительности было достигнуто только за счет усложнения архитектуры процессора: из 16-разрядной она превратилась в 32-разрядную, дополнительные аппаратные компоненты поддерживали виртуальную память , и добавился целый ряд новых команд.
Основные особенности RISC -процессоров:
- Сокращенный набор команд (от 80 до 150 команд).
- Большинство команд выполняется за 1 такт.
- Большое количество регистров общего назначения.
- Наличие жестких многоступенчатых конвейеров.
- Все команды имеют простой формат, и используются немногие способы адресации.
- Наличие вместительной раздельной кэш-памяти.
- Применение оптимизирующих компиляторов, которые анализируют исходный код и частично меняют порядок следования команд.
Открытость — ключ к успеху
Изначально в планах было сделать Alpha открытой платформой — Digital манил успех Intel и платформы IBM PC. И в отличие от многих других RISC-проектов, Alpha действительно нашла применение не только в фирменной технике своего создателя. Вскоре после анонса архитектуры свои системы на основе чипов Alpha представили и независимые производители. Большинство из них использовали системные платы производства Digital, но были и собственные разработки.
Это позволило уменьшить номенклатуру изделий в переходный момент — PCI только разрабатывалась, EISA имела сильные позиции в верхнем сегменте рынка, хотя выбор карт для нее был ограничен, Но также сильно усложняло разработку сторонних продуктов, и вскоре появилась серия PCI-чипсетов Apecs, DECchip 21070, выпускавшаяся в двух вариантах:
История продолжается
Первые годы были очень успешными для Digital и для Alpha, очень многие верили в будущее архитектуры, в то, что она сможет заменить вездесущую х86 хотя бы в верхних сегментах рынка. Сама Digital рассчитывала использовать и развивать архитектуру в течении 25 лет. Но в то же время Intel, напротив планировала развивать свою х86 и зайти на территорию RISC.
Да, основным конкурентом Intel в ту пору была отнюдь не AMD и не кто-либо из еще многочисленных производителей х86 процессоров. Главными ее конкурентами были RISC-системы и в первую очередь эта тройка — Alpha, PowerPC и MIPS. Для них была выпущена Windows NT, а значит, они могли играть на одном поле. Впрочем, Unix и на х86 уже набирал популярность, и на горизонте взошла новая звезда по имени Linux…
В 1995 году вышло второе поколение Alpha, архитектура к тому времени уже имела достойную репутацию, а великолепные характеристики позволяли надеяться на достойное будущее. Об этом и первых серьезных попытках Intel потеснить конкурента — в следующей части статьи. До новых встреч!
Окна в прекрасный новый мир
В сопроводительной документации указывается, что плата EB164 создана для работы под Windows NT 3.51. Разумеется, поддерживаются и более поздние версии — 4.0 и предрелизная Windows 2000 for Alpha. Возможна также работа под управлением Digital UNIX. Любопытно, что для работы этих систем требуются разные прошивки Firmware. UNIX и OpenVMS (официально платой не поддерживается, хотя в меню есть возможность выбора этой ОС) работают с SRM, Windows NT же использует прошивку стандарта ARC (Advanced RISC Computer).
Большинство последующих плат для Alpha 164 могли одновременно нести лишь одну из прошивок, но EB164 позволяет переключаться между прошивками без перепрошивки платы. Более того, ARCROM можно загружать командой прямо из-под SRM. Сама же SRM представляет собой упрощенную Unix-like консоль, в то время как ARC представляет собой меню древовидной структуры. Linux также может работать на Alpha-системах. Первоначально поддерживался только ARC-режим, впоследствии появилась возможность запуска из SRM.
Для данной машины было решено выбрать Windows NT Workstation версии 4.0 (спойлер: знакомство с Tru64/Digital UNIX вас ожидает в следующей части). Изначально машина работала под Unix, поэтому выполняем команду «set system_type = NT» и после перезагрузки вместо консоли цвета «синего экрана смерти» получаем такого же вида меню. После этого достаточно выполнить базовую настройку: установить время (в SRM и ARC используется одна и та же переменная, но отсчет года выполнен от разного «начала времен») и выбрать загрузочное устройство.
Как и в современном UEFI, путь к загрузчику ОС прописывается в настройках платы, а не ограничивается выбором загрузочного устройства. С базовой настройкой связана еще одна особенность: выбрать в меню 2021 год можно, и он будет корректно записан, но при загрузке машина не поверит сама себе и будет считать год неверным, что блокирует загрузку. Пришлось «жить» в 1997 году.
Начало установки даже проще, чем на PC — вставляем диск, выбираем в меню установку с CD-ROM. Установка полностью идентична таковой на х86, вот только иногда случаются сюрпризы. В моем случае система начала ругаться на невозможность создать раздел ARС (внезапно, аналог современного EFI-раздела).
Пришлось немного погуглить — оказалось, нужно запустить программу инициализации диска с CD-ROM прямо из меню ARC (Run program). После этого «окна» установились без единой проблемы. Несколько непривычным было установить систему на диск D:, но здесь раздел ARC не скрывается от системы, а остается первым диском. При этом устанавливать раздел на ARC (его можно создать любого размера) не рекомендуется, так как он может быть отформатирован только в FAT.
После установки система ничем не выдает работу на отличной от х86 архитектуре, кроме как выводом наименования процессора в свойствах системы да отказом запускать приложения, скомпилированные для х86-платформы. Ситуацию исправляет пакет FX!32 — уже упомянутый выше транслятор машинных кодов.
Он позволяет бесшовно запускать х86-приложения. В последних версиях при запуске такой программы даже отображается имя оригинального exe-файла, а не исполняемого файла транслятора. Но вот с совместимостью есть нюансы — работает не весь софт. Например, игра Герои Меча и Магии III и RAdmin 2.1 не запустились.
Возможно, это связано с транслятором, но в случае с игрой есть и другие гипотезы. Она может не работать из-за проблем с реализацией DirectX в Alpha-версии NT 4.0 или потому, что не установлен сервис-пак 3 или более новый (не удалось найти его для русской версии).
Что касается производительности, мне не удалось найти тесты, которые позволили бы сравнить скорость выполнения одинаковых операций на разных архитектурах, но меня поразила скорость загрузки системы. Примерно в полтора раза быстрее, чем на более новой топовой рабочей станции с архитектурой х86 — Dual Pentium Pro 200/1M с вдвое большим объемом памяти и близким по производительности диском.
RISC-процессоры 3-го поколения
Самыми крупными разработчиками RISC -процессоров считаются Sun Microsystems ( архитектура SPARC - Ultra SPARC ), IBM (многокристальные процессоры Power , однокристальные PowerPC - PowerPC 620), Digital Equipment ( Alpha - Alpha 21164), Mips Technologies (семейство Rxx00 -- R 10000), а также Hewlett-Packard ( архитектура PA-RISC - PA-8000).
Все RISC -процессоры третьего поколения:
- являются 64-х разрядными и суперскалярными (запускаются не менее 4-х команд за такт);
- имеют встроенные конвейерные блоки арифметики с плавающей точкой;
- имеют многоуровневую кэш-память. Большинство RISC-процессоров кэшируют предварительно дешифрованные команды;
- изготавливаются по КМОП-технологии с 4 слоями металлизации.
Для обработки данных применяется алгоритм динамического прогнозирования ветвлений и метод переназначения регистров, что позволяет реализовать внеочередное выполнение команд.
Повышение производительности RISC -процессоров достигается за счет повышения тактовой частоты и усложнения схемы кристалла. Представителями первого направления являются процессоры Alpha фирмы DEC , наиболее сложными остаются процессоры компании Hewlett-Packard. Рассмотрим процессоры этих фирм более подробно.
Структура процессоров Alpha: 21064, 21264
Структура процессора Alpha 21064 представлена на рис. 10.1.
Основные функциональные блоки процессора Alpha 21064:
- I-cache - кэш команд.
- IRF - регистровый файл целочисленной арифметики.
- F-box - устройство арифметики с плавающей точкой.
- E-box - устройство целочисленной арифметики (7 ступеней конвейера ).
- I-box - командное устройство (управляет кэш команд, выборкой и дешифрацией команд).
- A-box - устройство управления загрузкой/сохранением данных. Управляет процессом обмена данными м/у IRF, FRF , кэш данных и внешней памятью.
- Write Buffer - буфер обратной записи.
- D-cache - КЭШ данных.
- BIU - интерфейсный блок, с помощью которого подключаются внешняя кэшпамять, размером 128 Кб-8 Мб.
Сравнительные характеристики Alpha 21164 и 21264
Процессор Alpha 21264 отличается значительной новизной по сравнению с предшественником 21164. Он обладает кэш-памятью первого уровня большего объема, дополнительными функциональными блоками, более эффективными средствами предсказания ветвлений, новыми инструкциями обработки видеоданных и широкой шиной.
Alpha 21264 читает до четырех инструкций за один такт и может одновременно исполнять до шести инструкций. Самое большое его отличие от модели 21164 - это способность выполнять команды (впервые для Alpha) с изменением их очередности (Out-of-Order).
Эффективность выполнения Out-of-Order определяется количеством инструкций, которыми может манипулировать ЦП в целях определения оптимального порядка выполнения команд. Чем больше инструкций ЦП может для этого использовать, тем лучше, тем дальше он может заглядывать вперед. Процессоры Intel класса Р6 ( Pentium Pro , Pentium II, Xeon) могут одновременно обращаться не менее чем с 40 командами. У других процессоров данный показатель значительно больше: PA-8000 фирмы HP оперирует 56 командами, а процессор Alpha справляется с 80 командами.
Как и большинство RISC-процессоров, Alpha содержит набор из 32 целочисленных и 32 регистров с плавающей запятой, все они имеют разрядность 64 бита. Для повышения эффективности внеочередного выполнения команд процессор 21264 дополнительно к обычному набору регистров снабжен еще 48 целочисленными регистрами и 40 регистрами с плавающей запятой.
Каждый регистр может временно хранить значения текущих команд. Если обрабатывается какая-либо инструкция, нет необходимости перегружать результат в целевой регистр - вместо этого ЦП просто переименовывает временный регистр ( Register Renaming ).
Подобное переименование регистров есть и в других процессорах. Однако в 21264 реализована уникальная "хитрость" - он имеет задублированный набор целочисленных регистров, каждый из 80 целочисленных регистров дублируется еще раз. Таким образом, на чипе в целом - 160 целочисленных регистров. Это одна из причин, почему, несмотря на сложность выполнения Out-of-Order, допустима высокая частота процессора 21264.
Блоки целочисленных операций в обеих группах идентичны не полностью. Одна из них содержит блок умножения, а вторая - специальную логику для обработки движущихся изображений (MPEG). Для этого набор команд Alpha был дополнен пятью новыми командами. Самая интересная из них - PERR - служит для оценки движения, т.е. выполнения задачи, возникающей как при сжатии, так и декомпрессии MPEG. Команда PERR выполняет работу девяти обычных инструкций. Таким образом, процессор 21264 может декодировать видеопоследовательности MPEG-2, а также DVD-аудиоданные AC-3 в режиме реального времени без использования дополнительных периферийных устройств.
В первой части статьи мы проследили тернистый путь появления процессоров Alpha и даже успели познакомиться с первым их поколением. Все это было основано лишь на теории, но в этот раз у нас появился живой образец для изучения! Это рабочая станция марки Polywell на плате Digital EB164 (Alpha 21164 Evaluation Board). Машина не из коллекции Digital Vintage, ее любезно предоставил для исследования мой единомышленник Алексей из Vintage Server Room. Итак, приступим!
Второе поколение Alpha, получившее официальное обозначение DECchip 21164 (EV5), было объявлено в 1994 году, но первые процессоры с частотой 266 МГц появились в январе 1995 года. В течение года вышли версии на 300 и 333 МГц. К этому моменту для них уже была доступна Windows NT (это в том числе результат «разборок» с Microsoft по поводу использования командой Дэйва Катлера времен его работы в Digital), и новые ее версии планировались к выходу одновременно с версиями для х86.
При этом со стороны х86 достойного ответа Alpha не было: на середину 1995 года самое мощное предложение — пара 166 МГц Pentium, все еще с внешним кэшем, общающимся с процессором с использованием основной системной шины. И только в конце года появляются 200 МГц версия Pentium и линейка Pentium Pro, которая должна будет конкурировать с RISC-системами. Ее максимальная частота также 200 МГц, но кэш переехал на кристалл, и появилось внеочередное исполнение команд. Это позволило серьезно поднять производительность, так что угроза пусть пока и не очень серьезна, но вполне реальна.
Полный вперед
Растущая популярность платформы подкреплялась ее постоянным развитием. Уже через год вышли 166 и 200 МГц модели, выполненные уже на 0.675 мкм техпроцессе (EV4s). А в конце 1993 года было представлено (стало доступно в 1994 году) первое большое обновление — EV45, с удвоенным кэшем первого уровня (32 Кбайт) и частотами уже до 275 МГц (300 МГц модель увидела свет в 1995 году)! Число транзисторов достигло 2,85 миллиона, но площадь кристалла стала значительно меньше — 164 мм 2 при техпроцессе 0.5 мкм.
Еще до выхода EV45 была предпринята попытка выпустить более дешевую версию процессора и войти на рынок более массовых компьютеров среднего уровня. LCA4 (Low Cost Alpha) 21066 с частотами 100-166 МГц, появившаяся в начале 1994 года, и LCA45 21066А с частотами 100-266 МГц, конец 1994 года, имели 16 Кбайт кэша L1, лишились поддержки внешнего кэша и получили урезанную вдвое системную шину (64-бит) и интегрированный на кристалле северный мост чипсета с контроллером памяти и шины PCI. Это был первый процессор с интегрированным контроллером PCI.
Контроллер памяти поддерживал до 512 Мбайт памяти c ECC. В некоторых источниках упоминается встроенный 2D-видеоконтроллер с поддержкой до 8 Мбайт видеопамяти и встроенный L2 кэш, но подтверждений этому найти не удалось. Для встраиваемых решений были выпущены версии со сниженной частотой и низким тепловыделением — 21068 (66 МГц) и 21068A (100 МГц). Они выделяли всего 9 Вт против 21-33 Вт у старших моделей.
Если полные версии первого поколения оптимизировались в первую очередь для работы под управлением OpenVMS, хотя поддерживали все совместимые ОС, то младшие были ориентированы на работу с Unix (OSF/1, она же Ultrix, в будущем Tru64 Unix) и Windows NT, на которую возлагались огромные надежды, в ней видели ключ к еще большей популярности архитектуры.
Читайте также: