ОБЗОРЫ
В феврале 1992 г. корпорация DEC (Digital Equipment Corporation) представила 64-разрядную RISC-архитектуру Alpha. Она была спроектирована с учетом того, что наиболее существенное влияние на производительность оказывают тактовая частота, возможность множественной обработки инструкций и многопроцессорность. Первой в семействе микропроцессоров Alpha появилась модель 21064 (кодовое обозначение EV4). При соблюдении проектных норм 0,75 мкм ее максимальная частота достигала 200 МГц. В процессоре 21064 была реализована 128-разрядная внешняя шина. В кэш-памяти первого уровня процессора 21064 на данные и команды отведено по 8 Кб. Процессор имел конвейерную архитектуру и эффективные средства организации мультипроцессорных систем.
В кристалле было два регистровых файла по 32 регистра разрядностью 64 бита: один для целых чисел, второй - для чисел с плавающей запятой. Для обеспечения совместимости с архитектурами MIPS и VAX новые процессоры поддерживали арифметические вычисления с одинарной и двойной точностью в соответствии со стандартом IEEE 754 и фирменным стандартом VAX. 21064-й стал первым процессором, занесенным в книгу рекордов Гиннесса, - в 1992 г. он был назван самым быстрым в мире. Через некоторое время после выхода 200 МГц процессора 21064 вышла модернизированная версия 21064A (EV45), которая впоследствии выпускалась с тактовыми частотами 200, 233, 275 и 300 МГц. В кэш-памяти первого уровня на данные и команды было выделено по 16 Кб.
С кодовыми обозначениями EV моделей микропроцессоров Alpha связана следующая история. Еще до появления названия Alpha компания DEC вынашивала планы обновления своего семейства CISC-процессоров VAX. Она намеревалась расширить их линейку таким образом, чтобы войти с этим семейством в следующее столетие. Однако часть сотрудников корпорации воспользовалась ситуацией для проектирования процессора, у которого не было никакого исторического прошлого и аппаратной эмуляции, и после определенных раздумий компания DEC отбросила план создания модернизированного процессора Extended VAX (EV) и начала разработку нового. Единственное, что сохранилось у этого процессора от исходного проекта, - совместимость с процессорами VAX по выполнению операций с плавающей запятой, а также обозначение EV. Первая цифра, следующая за буквами EV в обозначении процессоров Alpha, указывает на номер поколения. Если в обозначение входит еще одна цифра, то из этого следует, что процессор изготовлен по более прогрессивной технологии, чем первый процессор данного поколения.
Кроме перечисленных кристаллов EV4 и EV45, DEC выпустила недорогие процессоры LCA (Low Cost Architecture) моделей 21066, 21068 и 21066a, предназначенные в первую очередь для встроенных приложений в устройствах реального времени, контроллерах и портативных компьютерах. В состав LCA-процессора входили контроллер кэш-памяти, PCI-интерфейс и упрощенный вариант графического контроллера. Для достижения такого уровня интеграции в кристаллах были упразднены некоторые компоненты, являющиеся стандартными для большинства других процессоров этого семейства. Внешняя шина данных ограничивалась 64 разрядами, использовалась только кэш-память, размещенная вне процессора, причем максимум кэш-памяти составлял 1 Мб, а внешняя адресная шина состояла всего из 34 линий. Эти ограничения позволили снизить уровень сложности LCA-процессоров и соответственно потребление энергии и стоимость, правда, в ущерб производительности.
Alpha 21164
В 1994 г. корпорацией DEC был представлен новый микропроцессор семейства Alpha - модель 21164 (EV5). Вначале чипы производились с соблюдением проектных норм 0,5 мкм. Если первые образцы этого процессора имели частоту 250 МГц, то теперь такие кристаллы работают с частотой до 700 МГц. На площади 298 кв. мм размещено около 9,3 млн. транзисторов, большинство из них применяется для реализации кэш-памяти. 21164 - это процессор с суперскалярной архитектурой, способной обрабатывать до четырех инструкций за один цикл. Он объединяет в себе кэш-память данных и команд первого уровня, а также высокопроизводительную и емкую кэш-память второго уровня. Микропроцессор 21164 использует высокопроизводительный 128-разрядный интерфейс для доступа к памяти, а также имеет возможность подключения кэш-памяти третьего уровня.
21164 состоит из пяти независимых функциональных блоков:
- выборки, декодирования инструкций и предсказания ветвлений;
- обработки целочисленных данных;
- управления памятью;
- управления кэш-памятью и шинного интерфейса;
- обработки данных с плавающей запятой.
Длина конвейеров процессора 21164 составляет для выполнения целочисленных команд - семь ступеней, для реализации команд с плавающей запятой - девять ступеней, при выполнении команд обращения к памяти в пределах кристалла - двенадцать ступеней, команд обращения к памяти за пределами кристалла - переменное число ступеней.
Блок обработки целочисленных данных выполняет команды, вычисляет виртуальные адреса для загрузки и записи, выполняет инструкции условного перехода и управления. Он включает в себя регистровый файл и несколько функциональных устройств, расположенных на четырех ступенях двух параллельных конвейеров. Первый конвейер содержит сумматор, устройство логических операций, сдвигающее устройство и умножитель. Второй конвейер содержит сумматор, устройство логических операций и устройство выполнения команд управления.
Блок обработки данных с плавающей запятой состоит из двух исполнительных устройств: конвейера сложения, который производит все команды плавающей запятой, за исключением команд умножения, и конвейера умножения, выполняющего команды умножения с плавающей запятой. Два специальных конвейера загрузки и один конвейер записи данных позволяют командам загрузки-записи производиться параллельно с вычислениями с плавающей запятой. Аппаратно поддерживаются все режимы округления, предусмотренные стандартами IEEE и VAX.
На кристалле процессора находятся три блока кэш-памяти: команд (8 Кб), данных (8 Кб) и кэш-память второго уровня. Отличительной особенностью микропроцессора 21164 является размещение на кристалле вторичной трехканальной множественно-ассоциативной кэш-памяти емкостью 96 Кб. Она резко снижает число обращений к внешней шине микропроцессора. Емкость кэш-памяти третьего уровня у систем на базе процессора 21164 варьируется в широком диапазоне - от 1 до 8 Мб (хотя теоретически они могут поддерживать до 64 Мб). При частоте 366 МГц DEC 21164 потреблял мощность 28 Вт. Кристаллы паковались в 499-контактные корпуса PGA. Alpha 21164 еще называют процессором BIPS, потому что это первый в мире процессор, преодолевший рубеж в 1 млрд. операций в секунду (Billion Instructions Per Second).
Процессор 21164 значительно увеличил свою вычислительную мощность в 1996 г. с выходом модификации EV56 с тактовой частотой свыше 400 МГц. В декабре 1997 г. тактовая частота достигла значения 625 МГц. Проектные нормы для новых кристаллов составили 0,35 мкм. EV56 - первый процессор, в котором был изменен набор команд Alpha. Дело в том, что для достижения максимальной производительности RISC-процессорам необходимо выравнивание данных до 64-разрядной длины. Первые процессоры Alpha тратили впустую такты для компенсации невыравненных данных, обрабатываемых программами, написанными для процессоров семейства Intel x86. В процессоре EV56 происходит выравнивание до целого числа байтов и слов, что ускоряет конвертацию x86-кодов.
Спустя какое-то время после выпуска 21164 фирма DEC совместно с Mitsubishi разработала процессор 21164PC (PCA56). С целью снижения себестоимости из него убрали кэш-память второго уровня (96 Кб), компенсировав это увеличением кэш-памяти команд с 8 до 16 Кб; при этом имелась возможность подключения внешней кэш-памяти второго уровня размером от 512 Кб до 4 Мб. Количество транзисторов на кристалле уменьшилось до 3,5 млн. шт. При соблюдении проектных норм 0,35 мкм тактовая частота кристалла достигала 533 МГц. При их ужесточении до 0,28 мкм (модель PCA57) она была повышена до 600 МГц.
21164PC предназначен для рынка недорогих рабочих станций (2-5 тыс. долл.), области применения которых достаточно обширны: мультимедиа в реальном времени, Web-серверы, организация видеоконференций, CAD/CAM, 3D-графика, нелинейный видеомонтаж. Дело в том, что в процессоре 21164PC был усовершенствован набор команд Alpha, в частности, введены команды движения видеоизображений MVI (Motion Video Instructions), предоставляющие богатые возможности при работе с мультимедийными приложениями. Набор команд MVI ускоряет обработку процессором стандартных мультимедийных форматов, особенно DVD и MPEG.
Alpha 21264
В декабре 1998 г. был объявлен новый микропроцессор Alpha - 21264 (EV6). В нем применены двухканальные частично-ассоциативные I- и D-кэши для команд и данных емкостью 64 Кб каждый. Но главное отличие Alpha 21264 от 21164 - это применение внеочередного выполнения команд и переименование регистров на лету. Если модель 21164 имеет 32 целочисленных регистра и 32 регистра с плавающей запятой, то в 21264 есть 80 целочисленных физических регистров (имеется даже две копии этого файла) и 72 физических регистра с плавающей запятой. Внеочередное выполнение команд осуществляется как для очереди целочисленных команд, так и для очереди команд с плавающей запятой.
21264 способен производить до шести команд за такт (поддерживаемый уровень - четыре команды за такт). В это число включены также команды загрузки регистров и записи в память. Команды выбираются из I-кэша, куда они попадают частично декодированными. На кристалле имеется шесть функциональных исполнительных устройств, из них четыре целочисленных: два - общего назначения и два - адресных. Последние отвечают за выполнение всех команд загрузки и записи в память и могут также осуществлять простые арифметические и логические целочисленные операции. Два устройства общего назначения производят арифметические и логические операции над целыми числами, операции сдвига и перехода. Одно из них умеет умножать, а другое - выполнять новые команды из мультимедийного расширения набора команд MVI.
Одновременно могут идти четыре операции над целыми числами. Устройств с плавающей запятой в 21264 всего два. Процессор поддерживает одновременное выполнение четырех команд с плавающей запятой за такт в смеси из 50% операций загрузки регистров/записи в память, 25% умножений и 25% сложений.
64-разрядная системная шина модели 21264 работает на частотах до 333 МГц. Фактически она осуществляет соединение “точка - точка”. В многопроцессорной системе все процессоры 21264 имеют свой канал в оперативную память, хотя пропускная способность самой системы памяти разделяется процессорами. Каждый процессор соединяется с реализующим интерфейс системной шины набором микросхем 21272 (Tsunami). Этот чипсет состоит из C-, P- и D-кристаллов. С-чипы обеспечивают командный интерфейс между процессорами и оперативной памятью, а P-чипы - интерфейс для двух независимых 64-разрядных 33 МГц шин PCI. D-чипы реализуют маршруты передачи данных для процессоров, оперативной памяти и устройств ввода-вывода.
Первоначально кристаллы 21264 (EV6) создавались с соблюдением проектных норм 0,35 мкм, что позволяло на площади кристалла 302 кв. мм разместить 15,2 млн. транзисторов. При этом достигалась тактовая частота 575 МГц. При ужесточении норм до 0,28 мкм (модель 21264A, EV67) в 1999 г. частота была увеличена до 750 МГц. В конце прошлого года для модели EV68 стали применяться проектные нормы 0,18 мкм. Благодаря использованию медных межсоединений тактовую частоту удалось повысить с 833 МГц до 1 ГГц и даже выше.
Ближайшие перспективы
В этом году ожидается выпуск микропроцессора 21364 (EV7), который будет использовать ядро 21264, однако на его кристалле, содержащем 100 млн. транзисторов, будут также интегрированы частично ассоциативный кэш второго уровня емкостью 1,5 Мб, контроллер памяти, поддерживающий работу с динамической памятью Direct Rambus, и сетевой интерфейс. При соблюдении проектных норм 0,18 мкм тактовые частоты превысят 1 ГГц.
Выход микропроцессора 21464 Arana (EV8) с 250 млн. транзисторов намечен только на 2004 г. Его ключевой особенностью станет одновременное мультипотоковое исполнение SMT (Simultaneus MultiThreading). Кристалл будет содержать четыре независимых конвейера, одновременно обрабатывающих инструкции, проще говоря, на одном чипе разместятся четыре виртуальных процессора, имеющих равноправный доступ к кэш-памяти, емкость которой достигнет 4 Мб. При производстве кристаллов будут соблюдаться проектные нормы 0,125 мкм, использоваться медные межсоединения и технология “кремний на изоляторе” SOI (Silicon On Insulator). Благодаря этому тактовая частота достигнет значения 2 ГГц.