Она могла стать Первой: история процессорной архитектуры Alpha (часть 2)

image-loader.svg


В первой части статьи мы проследили тернистый путь появления процессоров 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.

image-loader.svg


При этом со стороны х86 достойного ответа Alpha не было: на середину 1995 года самое мощное предложение — пара 166 МГц Pentium, все еще с внешним кэшем, общающимся с процессором с использованием основной системной шины. И только в конце года появляются 200 МГц версия Pentium и линейка Pentium Pro, которая должна будет конкурировать с RISC-системами. Ее максимальная частота также 200 МГц, но кэш переехал на кристалл, и появилось внеочередное исполнение команд. Это позволило серьезно поднять производительность, так что угроза пусть пока и не очень серьезна, но вполне реальна.

Лучшее из обоих миров


Пока же рынок серьезных рабочих станций плотно занят 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 выходит его релизная версия.

image-loader.svg

Загрузочный экран бодро рапортует о 333 МГц, хотя их на самом деле 300…
Транслятор от Digital не просто преобразует код на лету, он сохраняет результат в базу данных и проводит дополнительную оптимизацию — это позволяет снизить падение производительности до разумных величин. Достигнутый результат — 30–50% от скорости работы нативного кода, а с оптимизацией — аж до 70%.

Однако NT не была единственной движущей силой Alpha, это лишь нижний и относительно массовый сегмент рынка. Основной системой для топовых систем все также оставалась OpenVMS, для среднего же уровня предназначалась Digital UNIX, она же Ultrix, она же OSF/1. Доходило до того, что младшие системы официально не поддерживали OpenVMS, лишь только Unix и Windows.

Интересный факт: NT на Alpha оставалась 32-битной и не использовала всех ее преимуществ, 64-бит версия была в планах, но так и не вышла.

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 (не всегда!) и стандартных последовательных и параллельных интерфейсов, в том числе и интерфейса дисковода.

image-loader.svg


В 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. Это был звездный час платформы! Жаль, но продлился он недолго.

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 осталась одна.

Плата мечты


Когда судьба Alpha на самом деле уже была предрешена, в 2001 году, изучая материалы о набирающем популярность Linux, я встретил первое упоминание об этой архитектуре. Крайне восторженный обзор системной платы и компьютера на ее основе под управлением Linux надолго отложился в памяти.

image-loader.svg

Источник
Той платой была Digital AlphaPC 164LX, позволяющая работать с процессорами в исполнении Socket 499 с частотой от 466 до 600 МГц. Основа — связка DECchip 21174 (Pyxis) и Intel 82378ZB (SIO). Два мегабайта кэша, до гигабайта оперативной памяти, 64-битная PCI — все это было круто даже спустя 5 лет с момента выпуска. 600 МГц не казались чем-то скромным — Xeon в 2001 году был всего на 100 МГц быстрее.

Подкупала возможность установки ее в обычный АТХ-корпус и подключения обычной PC-совместимой периферии. Отсутствие встроенных устройств особо не пугало (не пугает и сейчас, вот только плату для рабочей станции без встроенного звука днем с огнем не отыщешь).

Так началась моя связь с «Альфой», бывшая до этого года сугубо платонической…

Любите истории создания процессоров? У нас есть еще несколько крутых статей на эту тему:


Железный капут


image-loader.svg


Продолжилась она пару месяцев назад, когда мой друг предложил поближе познакомиться с его экземпляром — рабочей станцией Polywell EB164. Это машина выпуска 1995 года, в основе ее ранняя плата Digital EB164 — Alpha 21164 Evaluation Board. Пусть вас не смущает слово «Evaluation» — это не тестовая плата как таковая, а возможность для пользователей познакомиться с новой версией процессора. Она содержит релизную версию чипсета Alcor — DECchip 21171, в качестве южного моста — интеловский SIO, горячо любимый Digital.

image-loader.svg


В отличие от более поздних моделей плата не АТХ, а Full AT — 305×330 мм (соответствует размеру ЕАТХ). Устанавливается в почти обычный АТ корпус — отличие в том, что вместо одного порта DIN5 для клавиатуры установлено два PS/2 для клавиатуры и мыши. Это допускается стандартом, но в большинстве корпусов эта возможность не реализована. Большинство АТ плат с PS/2 портами выпускались по ОЕМ контрактам, например, версия платы Micronics M54Pe (Dual Pentium / Intel 430NX) для установки в IBM PC Server 320.

image-loader.svg


На плате установлен процессор с частотой 300 МГц, возможна установка 266 или 333 моделей. Оснащение стандартное — два обычных PCI слота, два PCI64 и три ISA. Подключение дисков ограничено возможностями южного моста — двумя каналами IDE. Других встроенных контроллеров на плате нет. Вместо распаянных микросхем SRAM для кэш-памяти отведено 2 специальных слота. В предоставленной для знакомства машине установлено два модуля суммарным объемом 2 Мбайт. Для установки оперативной памяти доступны восемь слотов SIMM для памяти Parity FPM. Все слоты формируют единый банк с шириной шины 256 бит, требуется установка идентичных модулей.

image-loader.svg


Установленные устройства не представляют собой чего-либо особенного. Видеокарта S3 Trio в то время — очень достойный девайс среднего уровня, SCSI-адаптер Asus на чипе NCR/Symbios 53C810 и Digital«овская же сетевая карта. Память — 64 Мбайт. Жесткий диск уже не родной — Wide SCSI на 36 Гбайт, подключенный через переходник на Narrow шину. А вот дисковод и CD-ROM (тоже SCSI производства Toshiba) родные, на них даже сохранились наклейки «А» и «CD-ROM» соответственно.

Отдельных слов заслуживает корпус. Настоящий броненосец. Весь сделан из толстого металла, даже лицевая панель. Восемь отсеков для внешних 5.25» устройств, шесть из которых закрыты стальными заглушками. Бигтауэр высотой 62 см всегда выглядит внушительно, но со стальной «мордой» просто бьет все рекорды брутальности!

Окна в прекрасный новый мир


В сопроводительной документации указывается, что плата 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 году.

image-loader.svg


Начало установки даже проще, чем на PC — вставляем диск, выбираем в меню установку с CD-ROM. Установка полностью идентична таковой на х86, вот только иногда случаются сюрпризы. В моем случае система начала ругаться на невозможность создать раздел ARС (внезапно, аналог современного EFI-раздела).

Пришлось немного погуглить — оказалось, нужно запустить программу инициализации диска с CD-ROM прямо из меню ARC (Run program). После этого «окна» установились без единой проблемы. Несколько непривычным было установить систему на диск D:, но здесь раздел ARC не скрывается от системы, а остается первым диском. При этом устанавливать раздел на ARC (его можно создать любого размера) не рекомендуется, так как он может быть отформатирован только в FAT.

image-loader.svg


После установки система ничем не выдает работу на отличной от х86 архитектуре, кроме как выводом наименования процессора в свойствах системы да отказом запускать приложения, скомпилированные для х86-платформы. Ситуацию исправляет пакет FX!32 — уже упомянутый выше транслятор машинных кодов.

Он позволяет бесшовно запускать х86-приложения. В последних версиях при запуске такой программы даже отображается имя оригинального exe-файла, а не исполняемого файла транслятора. Но вот с совместимостью есть нюансы — работает не весь софт. Например, игра Герои Меча и Магии III и RAdmin 2.1 не запустились.

image-loader.svg


Возможно, это связано с транслятором, но в случае с игрой есть и другие гипотезы. Она может не работать из-за проблем с реализацией DirectX в Alpha-версии NT 4.0 или потому, что не установлен сервис-пак 3 или более новый (не удалось найти его для русской версии).

Что касается производительности, мне не удалось найти тесты, которые позволили бы сравнить скорость выполнения одинаковых операций на разных архитектурах, но меня поразила скорость загрузки системы. Примерно в полтора раза быстрее, чем на более новой топовой рабочей станции с архитектурой х86 — Dual Pentium Pro 200/1M с вдвое большим объемом памяти и близким по производительности диском.

It«s not the end


На этом, пожалуй, прервемся. Но история самой многообещающей архитектуры 90-х не заканчивается. Нас ждет продолжение рассказа, третье поколение Alpha и первая машина с Alpha в коллекции Digital Vintage. А пока возьмем небольшой тайм-аут.

До новых встреч!

1hdqmj1bvguax5hnugdz0ci_jbw.jpeg

© Habrahabr.ru