ПАВЕЛ БОЛОТОВ
Alpha, или История одной архитектуры
Долгое время процессоры архитектуры Alpha были теми немногими, к производительности которых стремились. Тем не менее в последнее время информация об этой архитектуре почти исчезла со страниц новостных обзоров, а заодно и из списков предлагаемой продукции. Может создаться впечатление, что архитектура канула не иначе, как в мир иной.
Полулегендарная архитектура Alpha, в прошлом долгое время лидировавшая в плане производительности среди многочисленных RISC- и CISC-архитектур, своим существованием была обязана американской Digital Equipment Corporation (сокращённо DEC). Прежде чем приступить к рассмотрению этой интересной архитектуры, стоит кратко рассказать об истории компании-основательницы, хотя бы потому, что она того вполне заслуживает.
PDP и VAX, или Древние времена
Корпорация была основана в 1957 году двумя инженерами, бывшими выпускниками Массачусетского технологического института, Кеннетом Ольсеном (Kenneth Olsen) и Харланом Андерсоном (Harlan Anderson).
Первое время они проектировали и выпускали разного рода элементарные модули для компьютерной техники того времени.
Но уже в 1960 году был выпущен их первый компьютер, 18-битный PDP1 (Portable Data Processor – 1), способный производить около 100 тыс. операций в секунду.
В 1964 году был представлен 12битный PDP-8, который справедливо считают первым серийно выпускаемым «мини-компьютером» изза относительно небольших размеров (с невысокий однокамерный холодильник) и умеренной стоимости (около 18 тыс. долл. США за базовую конфигурацию в ценах 1965 года).
Ещё 4 года спустя был запущен в производство 36-битный PDP-10, потомок экспериментального PDP-6, позиционируемый для требовательных к производительности научных, промышленных и военных расчётов. Несмотря на высокую цену, модификации оригинального PDP-10 успешно продавались вплоть до середины 1980-х годов.
Другой интересной разработкой компании того времени был 16-битный PDP11, потомок PDP-8. Благодаря сбалансированной архитектуре, имеющей в своей основе системную шину Unibus (или её модификации под названием Q-bus), а также вследствие простого набора команд и относительно невысокой себестоимости модельный ряд PDP-11 быстро обретал популярность.
Стоит отметить, что клоны PDP-11 выпускали и в странах бывшей Организации Варшавского Договора: СМ-4, СМ1420, СМ-1600, ИЗОТ-1016, ДВК...
Хотя PDP-11 был очень успешной разработкой (к слову, на нём и на PDP7 было осуществлено первое издание ОС UNIX в Bell Laboratories в 1971 году), но обладал одним существенным недостатком: ограничением на максимальный размер адресного пространства в 64 Кб, следующим из его 16-битности. Поэтому в 1975 году внутри компании началась работа двух конкурирующих проектов, призванных определить направление будущих разработок.
Один из них назывался «Единорог» (Unicorn) и развивал идеи, заложенные в PDP-10.
Второй проект, «Звезда» (Star), находился под руководством Гордона Белла (Gordon Bell) и работал над усовершенствованием PDP-11.
После анализа результатов обоих направлений проект «Единорог» был закрыт, как и разработка 36-битной архитектуры PDP-10 в целом, а проект «Звезда» дал начало новой 32-битной архитектуре VAX (Virtual Address eXtension), являвшейся улучшенной реализацией PDP-11.
В октябре 1977 года было представлено первое материальное воплощение этой архитектуры – модель 11/780, а в феврале следующего года была выпущена новая операционная система для этой аппаратной платформы – VMS (Virtual Memory System), вскоре переименованная в VAX/VMS, а позже и в OpenVMS. На машины архитектуры VAX также была портирована классическая ОС UNIX.
Если кратко подвести итоги, то можно уверенно сказать, что архитектура VAX была достойным наследником PDP-11. Её модельный ряд насчитывал несколько десятков наименований – от компактных рабочих станций до 6-процессорных тяжёлых серверов. По сей день тысячи VAX работают в многочисленных промышленных и военных структурах, что уже говорит о многом.
PRISM и Alpha, или Наступление RISC
Тем не менее начало 1980-х годов ознаменовалось наступлением RISC-архитектур. Хотя первые из них, MIPS и SPARC, всё ещё не могли существенно потеснить VAX, но в перспективе их потенциал был более значителен. Разумеется, это не означало неизбежное поражение VAX в ближайшем будущем, но в долгосрочной перспективе её шансы на удержание большой доли рынка рабочих станций и серверов были сомнительны, а на только что сформировавшемся рынке персональных компьютеров хозяйничали Intel и Motorola (с постепенным преобладанием первой).
Поэтому руководство DEC с 1982 года финансировало несколько внутренних проектов по RISC-разработкам (Titan, SAFE, HR32, CASCADE), а в 1985 году свело их в один под названием PRISM (PaRallel Instruction Set Machine), находившийся под руководством Дэвида Катлера (David Cutler). Хотя к 1988 году проект 32-битного RISC-процессора всё ещё находился в процессе разработки, руководство компании сочло дальнейшее финансирование нецелесообразным и закрыло его. В знак протеста Катлер ушёл в Microsoft, где возглавил подразделение по разработке Windows NT (тогда ещё именовавшейся OS/2 3.0).
В середине 1989 года руководство компании приняло решение возобновить работу над собственным RISC-процессором, но на этот раз постановка задачи была несколько иная. Новый процессор должен был быть изначально 64-битным, но в то же время иметь минимум несовместимостей с архитектурой VAX, что должно было облегчить портирование под него существующей программной базы. К тому же конкуренты в лице MIPS и Sun были уже в процессе перехода на 64битные решения.
Была создана рабочая группа под руководством Ричарда Витека (Richard Witek) и Ричарда Сайтса (Richard Sites), которая разработала процессор под кодовым названием Alpha, представленный 25 февраля 1992 года в Токио. Он был представителем «чистой» 64-битной архитектуры (в противовес MIPS, SPARC, PA-RISC и POWER, бывших изначально 32-битными и только со временем расширенных до 64-битных), оперировавшей инструкциями фиксированной длины (по 32 бита), обладал 32 целочисленными 64-битными и 32 вещественными 64-битными регистрами, работал с 43-битными виртуальными адресами (с расширением вплоть до 64-битных в перспективе для архитектуры) и использовал, как VAX, little-endian порядок следования байт (то есть, когда младший байт регистра занимает при записи младший адрес в памяти), который традиционно поддерживался Intel в противовес к bigendian (где младший байт регистра занимает при записи старший адрес в памяти), внедрённому Motorola и поддерживаемому конкурентными RISCархитектурами того времени.
Стоит отметить, что блок вещественных вычислений поддерживал произвольный доступ к вещественным регистрам в отличие от процессоров архитектуры x86, которые работали с примитивным стековым доступом.
В целом новая архитектура выглядела серьёзным заделом на будущее, поэтому заявленный срок её поддержки и развития в 25 лет особого удивления не вызывал.
С точки зрения набора инструкций, архитектура шла по пути достаточного минимализма, чтобы облегчить скоростное декодирование и облегчить конвейеризацию вычислений. Например, инструкции целочисленного деления аппаратно отсутствовали, так как были наиболее сложными из целочисленных и плохо поддавались конвейеризации, а потому просто эмулировались, так как на практике необходимость в их использовании возникала относительно редко. Все инструкции условно подразделялись на 5 категорий:
- для целочисленных вычислений;
- для вещественных вычислений;
- для отработки условных и безусловных переходов, а также сравнения;
- для загрузки и сохранения данных;
- для специфических задач (PALcode).
В целом ставка делалась на достижение высоких тактовых частот, но не в ущерб надёжности или масштабируемости. Кроме того, новая архитектура была «настоящей» RISC. Для облегчения понимания концептуальных различий между RISC-процессорами (Reduced Instruction Set Computing) и CISC-процессорами (Complex Instruction Set Computing) приводятся следующие ключевые моменты:
- длина инструкции: фиксированная в RISC (вне зависимости от характера инструкции), но произвольная в CISC (в зависимости от характера инструкции);
- набор инструкций: сбалансированный в RISC (подбираемый с точки зрения удобства выполнения процессором) и широкий в CISC (подбираемый с точки зрения удобства программиста);
- доступ к памяти: разрешён только для инструкций загрузки/сохранения в RISC, но без подобного ограничения в CISC.
Alpha 21064, или Штурм рынка
Первый Alpha-процессор предполагалось запустить в производство на очень высокой тактовой частоте – 150 МГц, а впоследствии довести до 200 МГц при тех же производственных нормах. С этой задачей конструкторы и технологии DEC успешно справились. Процессор получил рыночное название 21064 («21» указывал, что он являлся представителем архитектуры XXI века, «0» – процессорное поколение, «64» – разрядность в битах), а архитектура получила название Alpha. Процессоры этой архитектуры также часто можно встретить и под кодовыми именами. Например, у 21064 оно было EV4 («EV» предположительно является аббревиатурой «Extended VAX», а «4» – поколением техпроцесса, CMOS4, что в свою очередь есть аббревиатура Complementary Metal Oxide Semiconductor).
EV4 поступил в производство на передовом для того времени 3слойном 0,75 мкм техпроцессе, который был впоследствии модифицирован до 0,675 мкм (CMOS4S). В архитектурном плане процессор состоял из одного целочисленного конвейера (Ebox, 7 стадий), одного вещественного конвейера (F-box, 10 стадий), декодера и планировщика (I-box), блока загрузки/сохранения (A-box), контроллера кэш-памяти и системной шины (C-box). Расчёт виртуальных адресов, обычно входящий в функции Abox, производился на целочисленном конвейере Ebox.
Первый процессор Alpha – 21064 (EV4)
Процессор содержал 8 Кб кэша инструкций (Icache, instruction cache) и 8 Кб кэша данных (Dcache, data cache), а также поддерживал внешний кэш 2-го уровня (Bcache, back-up cache) размером до 16 Мб (обычно от 512 Кб до 2 Мб), хотя шина доступа к нему мультиплексировалась с системной, что несколько ограничивало производительность, но упрощало разводку (сокращало количество требуемых выходных контактов процессора и проводников на материнской плате). Кроме всего прочего, присутствовала поддержка многопроцессорного режима.
Несмотря на отличные показатели производительности, EV4 был довольно дорог для многих потенциальных покупателей, поэтому в сентябре 1993 года был представлен его удешевлённый собрат – 21066 (он же LCA4 или LCA4S). Будучи основан на ядре EV4, этот процессор дополнительно включал поддержку контроллеров PCI и оперативной памяти, а также некоторых менее важных функций. Однако разрядность системной шины была урезана со 128 до 64 бит, а тактовые частоты были занижены (от 100 МГц до 166 МГц). В остальном процессор производился по тому же CMOS4S техпроцессу, что и поздние EV4, хотя уже месяц спустя был анонсирован 21064A (EV45), модифицированный вариант EV4, производимый по 4слойному 0,5 мкм CMOS5 техпроцессу.
В ноябре 1994 года была представлена почти аналогично модифицированная версия LCA4 – 21066A (LCA45).
Стоит отметить, что привычка маркетологов DEC добавлять букву к модели процессора при перепроектировке под новый техпроцесс сохранилась и в дальнейшем.
В то время как LCA45 архитектурно почти не отличался от LCA4, то размеры I-cache и D-cache у EV45 были удвоены, что не могло не отразиться на производительности. К тому же благодаря новым техпроцессам удалось поднять тактовые частоты процессоров: до 300 МГц у EV45 и до 233 МГц у LCA45. Для сравнения, самые быстрые процессоры архитектуры x86 того времени, Intel Pentium и Intel 486DX4, соответственно работали на тактовых частотах в 66 МГц и 100 МГц максимум.
Первые наборы системной логики (чипсеты) для EV4 были спроектированы для использования периферийных шин TURBOchannel, FutureBus+ и XMI. Несмотря на то что эти шины были весьма скоростными для своего времени (около 100Мб/с на шину), они не получили широкого распространения.
Поэтому DEC начала активно разрабатывать поддержку стандартных шинных интерфейсов, таких как PCI и ISA (EISA). В начале 1994 года был выпущен чипсет DEC Apecs в двух исполнениях (для 128-битной и 64-битной 33 МГц системной шины, модели 21072 и 21071 соответственно), поддерживающий 32-битную 33 МГц шину PCI. Между прочим, 21072 состоял из 6 микросхем, а 21071 – из 4. Поддержка шины ISA или EISA добавлялась установкой стандратного моста на шину PCI типа i82378IB (ISA) или i82378EB (EISA).
Что касалось ценовой политики, то первые системы на основе процессоров Alpha стоили весьма немало. Например, выпущенная в октябре 1992 года рабочая станция DEC 3000 Model 500 AXP (кодовое имя Flamingo) в комплекте с 19-дюймовым монитором стоила 39 тыс. долл. США, а представленные в июле 1994 года рабочие станции на EV45 DEC 3000 Model 900 AXP и Model 700 AXP (кодовые имена Flamingo45 и Sandpiper45) предлагались по цене в 43,4 тыс. и 27,7 тыс. $ соответственно.
Alpha 21164, или Битва за лидерство
Информация о процессоре архитектуры Alpha следующего поколения, 21164 (EV5), была впервые озвучена на конференции в Пало-Альто (Калифорния, США) 14 августа 1994 года, хотя официальный выход датировался 7 сентября того же года. Процессор являлся экстенсивной модификацией ядра EV45, что выражалось в удвоенном количестве целочисленных и вещественных конвейеров, причём число стадий последних было сокращено с 10 до 9. Тем не менее функционально конвейеры всё же были несколько неоднородны, что экономило транзисторы логики и в то же время обеспечивало эффективную балансировку нагрузки. Вполне логично, что возможности I-box были также расширены вдвое (выборка и декодирование 4 инструкций за такт), иначе бы этот блок стал «узким местом» процессора. Что касалось кэш-памяти, то размеры и организация I-cache и D-cache остались аналогичны таковым у EV4, зато появился интегрированный кэш 2-го уровня (S-cache, secondary cache) размером в 96 Кб, который в значительной мере компенсировал недостатки I-cache и D-cache. Стоит отметить, что EV5 был первым в истории процессором с S-cache. Впридачу была сохранена поддержка B-cache, размеры которого могли составлять вплоть до 64 Мб (обычно от 1 Мб до 4 Мб), принцип мультиплексирования сохранялся, равно как поддержка 128битной системной шины и многопроцессорного режима работы. Хотя EV5 и производился по тому же техпроцессу, что и EV45, количество транзисторов в его ядре увеличилось более чем 3 раза, в основном за счёт S-cache. Максимальная тактовая частота составила только 333МГц, что было вполне предсказуемо, так как использовался всё тот же техпроцесс (CMOS5).
В октябре 1995 года вышел в свет несколько доработанный вариант EV5 под названием 21164A (EV56), основным архитектурным отличием которого была поддержка дополнительного набора инструкций BWX (ByteWord eXtension), позволяющего осуществлять операции загрузки/сохранения не только квантами по 32 или 64 бита, изначально поддерживаемые архитектурой, но и по 8 или 16 бит. В основном это было вызвано падением производительности при эмуляции кода архитектуры x86. EV56 отличался от EV5 более новым техпроцессом, 4-слойным 0,35 мкм CMOS6, который позволил довести тактовую частоту до 600МГц. Samsung, лицензировавший EV56 июне 1996 года, производил его по аналогичному техпроцессу, но чуть более успешно – максимальная тактовая частота составляла 666 МГц. Кроме того, переход на новый техпроцесс означал и уменьшение площади ядра (приблизительно на треть), что значительно сократило стоимость производства по сравнению с EV5. В целом EV56 всё ещё оставался лидером по производительности, но ему было всё сложнее конкурировать с 64битными RISC-соперниками в лице Hewlett-Packard PA-8000 и PA8200, Sun UltraSPARC I и UltraSPARC II, MIPS R10000 и IBM POWER3. Первое поколение процессоров Alpha было легче продвигать на рынке, так как его единственными 64битными соперниками были процессоры MIPS, которые оказались первыми на этом поприще. К тому же с выходом Intel Pentium Pro пришлось начать серьёзную борьбу за место под солнцем и с CISC-процессорами архитектуры x86, которые были в лучшем положении по количественным и ценовым показателям.
Процессор Alpha – 21164A (EV56)
Однако, стремясь ещё более удешевить EV56, DEC в сотрудничестве с Mitsubishi выпустила 17 марта 1997 года 21164PC (PCA56), у которого отсутствовал S-cache и соответствующая логика, хотя размер I-cache был увеличен вдвое. В конечном итоге площадь ядра уменьшилась ещё на треть, а максимальная тактовая частота составила 533 МГц. Со временем на производственных мощностях Samsung был начат выпуск 0,28мкм вариант этого процессора (PCA57), который отличался удвоенными размерами Icache и D-cache, планка максимальной тактовой частоты была поднята до 666 МГц, а площадь ядра опять удалось сократить на треть. Между прочим, у PCA56 и PCA57 было ещё одно, на этот раз позитивное, отличие от EV56: новый набор инструкций MVI (Motion Video Instructions), нацеленный на ускорение обработки видео- и аудиоданных путём векторизации вычислений, подобно набору инструкций MMX для процессоров архитектуры x86.
Для процессоров поколения EV5 было разработано несколько стандартных чипсетов. Первый из них, 5чиповый DEC Alcor (21171), поддерживал 128-битную 33МГц системную шину и 256-битную шину памяти, a также 64-битную 33МГц шину PCI. Встроенный контроллер IDE отсутствовал, равно как и мост PCI-ISA(EISA), то есть они по-прежнему устанавливались отдельными микросхемами. Так как для реализации BWX требовалась поддержка со стороны чипсета, то одновременно с выпуском EV56 появился DEC Alcor 2 (21172), только этим и отличавшийся от 21171. Следующей разработкой стал DEC Pyxis (21174), который уже поддерживал 66 МГц системную шину той же разрядности и вдвое более узкую (128-битную) шину памяти, хотя это компенсировалось поддержкой оперативной памяти SDRAM вместо морально устаревшей и более медленной FPM DRAM. Также имелся чипсет не от DEC, предназначенный в поддержку PCA57 – VLSI Polaris.
Что случилось с DEC?
28 января 1998 года произошло событие, ставшее одним из ключевых в истории архитектуры Alpha: DEC, будучи в тяжёлом финансовом положении, находится в процессе покупки известным сборщиком компьютерной техники – Compaq Computer Corporation. Вскоре сделка была утверждена собраниями акционеров обеих компаний, и уже менее чем через полгода DEC официально прекратила своё существование, когда 11 июня того же года её акции были сняты с торгов на Нью-Йоркской фондовой бирже. В целом размер покупки составил 9,6 млрд. $. Так сказать, факт имеет место, но как могло случиться, что одна из крупнейших компаний IT-индустрии (по состоянию на 1989 год имевшая 130 тыс. человек персонала и годовой объём продаж в 14 млрд. $, что было вторым показателем по отрасли после IBM) была вынуждена продать себя другой компании? На этот вопрос есть много ответов.
Наиболее часто упоминаемой ошибкой руководства DEC является тот факт, что компания так и не смогла адаптироваться к изменению требований рынка в 1980-х и 1990-х годах, вызванных так называемой революцией персоналок. Со слов Кеннета Ольсена (Kenneth Olsen), основателя, президента и главного исполнительного менеджера компании почти до самого её конца, «хорошие с инженерной точки зрения продукты продают себя сами» и «нет причины, из-за которой каждый захотел бы иметь компьютер у себя дома». Как показывает практика, с эволюцией рынка компьютерной техники и его проникновением во всевозможные области деятельности человека, повышением интеграции отдельных компонентов и уменьшением стоимости отдельно взятых компьютерных систем оба вышеприведённых выражения полностью утратили свой смысл. А вместе с ними таяли и позиции компании на рынке.
В то же время, если какое-либо движение нельзя подавить, то его стоит возглавить. В начале 1980-х годов, когда рынок персональных компьютеров ещё только формировался, хотя и очень быстрыми темпами, DEC располагала всей необходимой финансовой и технической базой, чтобы громко заявить о своём присутствии. Вместо этого компания продолжала концентрировать усилия на рынке серверов и рабочих станций, преимущественно на основе архитектуры VAX, не веря в то, что примитивные дешёвые «персоналки» будут способны пошатнуть устои рынка в целом и позиции DEC в частном. Очевидно, тот факт, что именно массовые решения в стиле PDP-11 создали основу для могущества компании в 1970-х годах, остался проигнорированным. Осталось только заметить, что архитектура VAX на протяжении всей истории её существования оставалась закрытой, другими словами – жила своей жизнью внутри компании. Естественно, что за конкуренто-способными альтернативами от других производителей дело не стало.
Что касалось непосредственно архитектуры Alpha, то несмотря на то, что первые процессоры показывали производительность, значительно опережающую любые решения из мира персональных компьютеров, DEC-таки упустила шанс вернуть былое могущество в массовых решениях. После того, как первые образцы EV4 были представлены на конференции в феврале 1991 года, ими очень заинтересовались присутствовавшие там инженеры Apple Computer, занимавшиеся поиском новой архитектуры для будущих компьютеров компании, которые в то время базировались на процессорах семейства Motorola 68K. В июне того же года с Ольсеном связался Джон Скалли (John Sculley), главный исполнительный менеджер Apple, с предложением об использовании EV4 и будущих процессоров в компьютерах Apple. Однако Ольсен отклонил это предложение, мотивируя тем, что процессор ещё не готов для рынка, а архитектура VAX ещё не исчерпала свой потенциал. Несколько месяцев спустя было объявлено, что новые компьютеры Apple будут использовать процессоры PowerPC от альянса Apple, IBM и Motorola.
Немаловажным фактором в продвижении архитектуры Alpha на рынке была ценовая политика DEC, а также поддержка партнёров и рядовых сборщиков готовых систем. DEC производила процессоры и чипсеты этой архитектуры на своих производственных мощностях в Хадсоне (Массачусетс). Она также производила многочисленную периферию для Alpha-систем (TGA-видеокарты, сетевые адаптеры и пр.). Основная масса Alphaсистем производилась на сборочных мощностях компании и продавалась под её именем. Несмотря на то, что качество комплектующих и сборки было на высоте, цены на готовые решения были значительно выше сопоставимых на основе архитектуры x86, что серьёзно ухудшало конкурентоспособность архитектуры Alpha. Тем не менее, DEC разрабатывала материнские платы для массового рынка (так называемые Evaluation Board или AlphaPC), которые производились как на мощностях компании, так и другими производителями (Aspen, Polywell, Enorex и пр.), поскольку схемотехника этих плат была в свободном доступе. Только одна компания, DeskStation, разработала свой дизайн, отличный от стандартного. Однако серверный рынок Alpha-систем, как наиболее прибыльный, DEC держала под своим единоличным контролем.
Несмотря на то, что архитектура Alpha, в отличие от архитектуры VAX, была объявлена открытой, консорциум по её развитию так и не был создан, поэтому исследовательско-проектировочные работы велись усилиями DEC, иногда совместно с Mitsubishi. В конечном итоге получалось, что ключевые разработки патентовались соответствующим образом и подлежали платному лицензированию, если вообще подлежали. Излишне уточнять, что такая политика мало способствовала успешному продвижению архитектуры на рынке.
Далее, архитектура Alpha официально поддерживала три операционные системы: Windows NT, Digital UNIX (также известная как OSF/1, позже как Tru64 UNIX) и OpenVMS, причём именно в таком порядке приоритетности. Разумеется, Windows NT была продуктом от Microsoft, в то время как две другие ОС были разработаны в DEC. Однако недостатков у Windows NT было немало. Эта ОС не поставлялась с набором средств для разработки программного обеспечения (компиляторами, ассемблерами, отладчиками, пр.), а потому зависела от готового ПО, преимущественно коммерческого. Фактически же количество доступного ПО для архитектуры Alpha было в несколько раз меньше аналогичного показателя для архитектуры i386. Правда, в 1996 году командой Антона Чернова (Anton Chernoff) был выпущен FX!32, замечательный эмулятор и транслятор кода архитектуры i386 в «родной» для архитектуры Alpha, однако падение производительности по сравнению с изначально «родным» кодом как минимум на 40% было неизбежным. Ещё хуже обстояло с драйверной поддержкой, так как немногие производители сочли нужным поддерживать архитектуру Alpha. Для полноты картины осталось заметить, что Windows NT (3.51 и 4.0) была 32битной ОС, даже несмотря на то, что работала на 64-битной архитектуре. Вполне естественно, что это отнюдь не прибавляло производительности. Что касается Digital UNIX и OpenVMS, то эти 64-битные ОС так и не смогли составить достойной альтернативы Windows NT в силу дороговизны (свыше 1000 $ за одну копию), а также ещё более узкой аппаратной и программной поддержки. Другие же UNIX-подобные ОС с открытым кодом (NetBSD, Linux, OpenBSD и FreeBSD) не поддерживались DEC вообще. Мотивы не совсем ясны, но определённо эти ОС могли составить достойную конкуренцию Digital UNIX и OpenVMS.
В мае 1997 года DEC подала в суд на Intel, обвиняя последнюю в нарушении 10 патентов на архитектуру Alpha при проектировании процессоров Pentium, Pentium Pro и Pentium II. В сентябре того же года Intel ответила встречным иском, обвиняя в нарушении 14 своих патентов. Примирение произошло 27 октября 1997 года, когда обе компании отозвали свои претензии. По условиям «мирного договора» DEC предоставила Intel производственные права на всю свою продукцию (кроме непосредственно относящейся к архитектуре Alpha), также согласилась поддерживать в будущем архитектуру IA-64, в то время как Intel выкупила у DEC за 625 млн. долл. США её фабрику в Хадсоне вместе с проектными центрами в Остине (Техас) и Иерусалиме (Израиль), а также обязалась производить процессоры Alpha в будущем. Для полноты картины был подписан договор о кросс-лицензировании патентов сроком на 10 лет.
Alpha 21264, или Время реванша
В феврале 1998 года был выпущен в кремнии процессор следующего поколения архитектуры, 21264 (EV6). В архитектурном плане этот процессор сильно отличался от предыдущего поколения, так как поддерживал внеочередное выполнение (outoforder execution), что позволило снизить зависимость функциональных устройств от пропускной способности кэшей и оперативной памяти. Как необходимое дополнение к этой технологии, процессор поддерживал переименование регистров (register renaming). Итого, EV6 мог переупорядочивать в любой момент времени до 80 инструкций, а также располагал дополнительными 48 целочисленными и 40 физическими регистрами (количество логических, то есть программных, осталось прежним – по 32). Количество целочисленных конвейеров было увеличено до 4, из которых 2 могли рассчитывать виртуальные адреса. Что касалось логики C-box, то её ожидали кардинальные изменения: размеры I-cache и Dcache были увеличены до 64 Кб каждый, Scache был упразднён, a внешний Bcache размером от 1 Мб до 16 Мб подключался через независимую 128битную шину данных с 20-битной шиной адреса и работал на частоте от 1/8 до 2/3 частоты ядра. Для формирования Bcache обычно использовались микросхемы синхронной статической памяти с отложенной записью (late-write), а позднее и с применением технологии DDR. Был полностью заменён системный шинный интерфейс: шина данных стала 64битной, но использовала технологию DDR, а кроме того, использовалась звездообразная топология подключения (то есть каждый процессор подключался к чипсету по выделенному каналу). Технологически EV6 производился по тому же процессу, что и EV56, но с дополнительными двумя слоями металлизации, хотя площадь его ядра была на треть больше, что предполагало более высокую себестоимость и автоматически не давало шансов процессору состояться как массовому решению, несмотря на приблизительно вдвое более высокую производительность в расчёте на единицу тактовой частоты, чем у EV56. Да и собственно максимальная частота была немалой – 600 МГц.
Процессор Alpha – 21264 (EV6)
Архитектура EV6 была настолько удачной, что пережила несколько технологических воплощений в том же конструктиве. В конце 1999 года появился 21264A (EV67) на основе 0,25 мкм CMOS7 процесса от Samsung, располагавший частотным потенциалом в 833МГц. В 2000 году IBM воплотила EV6 в своём 0,18 мкм CMOS8 процессе с медными проводниками под названием 21264B (EV68C), что позволило пересечь гигагерцевый барьер и достичь 1250 МГц. Несколько запоздавшая альтернатива от Samsung при тех же 0,18мкм, но с морально устаревшими алюминиевыми проводниками, смогла добраться только до 940 МГц.
Процессор Alpha – 21264B (EV68C)
Для EV6 и его прямых потомков было спроектировано два чипсета: DEC Tsunami (21272, он же Typhoon) и AMD Irongate (AMD-751), хотя поскольку AMD Athlon использовал почти аналогичную системную шинную архитектуру, не должно было быть проблемой адаптировать чипсеты других производителей, но этого не произошло. DEC Tsunami был высокомасштабируемым чипсетом, так как состоял из нескольких микросхем и позволял строить как однопроцессорные, так двух- и четырёхпроцессорные системы (от 1 до 4 C-chips). Ширина канала данных шины памяти могла быть от 128 до 512 бит (от 2 до 8 D-chips), также могло подключаться несколько контроллеров шин PCI (по одному P-chip на шину). AMD Irongate был одночиповым решением, хотя и предполагал подключение южного моста. Он поддерживал только однопроцессорный режим и узкий 64-битный канал данных шины памяти, поэтому мог претендовать только на звание относительно недорогого решения для рабочих станций.
Compaq и Hewlett-Packard, или Cмена хозяев
Как показала история, Compaq довольно своеобразно распорядилась наследием в виде архитектуры Alpha. Стоит заметить, что приобретение DEC мотивировалось вовсе не достоинствами и перспективами этой архитектуры, а широкой сетью дистрибьюции компьютерной техники (в 98 странах), кросс-лицензионным соглашением с Intel (позволяющим строить тяжёлые сервера), а также всё ещё значительными сборочными мощностями. Поэтому уже в июне 1998 года был заключён альянс с Samsung, а также была совместно образована компания Alpha Processor Inc., в ведение которой были предоставлены маркетинговые аспекты развития архитектуры.
Однако уже в начале 1999 года Compaq охватил внутренний кризис, результатом которого стал уход главного исполнительного менеджера Экхарда Пфайфера (Eckhard Pfeiffer) и падение курса акций приблизительно в 2 раза. Компания начала сворачивать финансирование неприоритетных сфер деятельности, в которых числился и сегмент продукции Alpha. 23 августа 1999 года было объявлено о прекращении участия в разработке Windows 2000 для Alpha, что вскоре подтвердила Microsoft. Это означало уход с рынка рабочих станций, который из-за пассивных действий Compaq и Samsung к тому времени фактически состоялся.
В последующие два года шла банальная распродажа имеющейся аппаратной и программной базы архитектуры, пока 25 июня 2001 года Compaq официально не заявила о переводе своих серверных решений с архитектуры Alpha на IA-64 (то есть Itanium) к 2004 году. В принципе, на этом месте можно было бы опустить занавес, но 3 сентября того же года Hewlett-Packard заявила о своих намерениях приобрести Compaq, что и было осуществлено к началу 2002 года. К слову, Hewlett-Packard была ещё меньше, чем Compaq, заинтересована в развитии и продвижении архитектуры на рынке, так как обладала собственной архитектурой PA-RISC, а также состояла в альянсе с Intel по развитию архитектуры IA-64. Если коротко, то дни архитектуры Alpha были сочтены, а её официальная кончина стала вопросом недалёкого будущего.
Alpha 21364, или Кризис жанра
Однако в феврале 2002 года всё-таки был выпущен запоздавший процессор 21364 (EV7), которому предстояло стать основателем последнего поколения архитектуры. Этот процессор был основан на почти неизменённом ядре EV6, к которому было добавлено несколько новых функциональных устройств: два контроллера Direct Rambus DRAM PC800 (два Z-box), многофункциональный маршрутизатор для связи с соседними процессорами и периферией (R-box) и вновь появившийся S-cache размером в 1,75 Мб, а Bcache был упразднён. Каждый Z-box поддерживал 5 каналов памяти (4 основных и 1 вспомогательный), шириной по 18 бит каждый (16 бит для данных и 2 бита для кодов ECC), а суммарная теоретическая пропускная способность памяти одного 1150 МГц процессора составляла 12,3 ГБ/с (оба Z-box и R-box работали на 2/3 частоты ядра). Каждый процессор в системе мог работать как с оперативной памятью, подключённой непосредственно к его контроллерам, так и с подключённой к контроллерам других процессоров. Функцию связи между процессорами, которых в одной системе могло быть до 128, выполнял R-box, поддерживающий 4 скоростных канала с пропускной способностью в 6 ГБ/с каждый, а также 1 дополнительный канал для связи с периферией. Технологически EV7 производился по тому же 7слойному 0,18 мкм CMOS8 процессу, что и EV68C, но благодаря большому S-cache площадь его ядра достигла рекордных размеров, на треть превысив площадь и без того немассового EV6. Это предрешило судьбу EV7, использовавшегося исключительно в очень дорогих рабочих станциях и серверах Hewlett-Packard. Хотя в планах и значилась 0,13мкм версия EV7 под названием EV79, которая должна была характеризоваться более низкой себестоимостью и более высокими тактовыми частотами, но её выпуск так и не состоялся. Компания ограничилась запуском в августе 2004 года чуть более быстрой версии EV7 под названием EV7z, работавшей с тактовой частотой в 1250 МГц и производимой согласно прежним технологическим нормам. Как следовало из официального пресс-релиза, это был последний процессор архитектуры Alpha, подтверждением чего служила буква «z» в названии. Также было объявлено, что Hewlett-Packard будет продавать сервера и рабочие станции архитектуры Alpha до 2006 года, а поддерживать до 2011 года, но не более того. Фактически, на этом и можно было бы поставить точку в этом повествовании, но хотелось бы сделать завершающее лирическое отступление. Так и не состоявшийся процессор 21464 (EV8), разрабатываемый Compaq вплоть до 25 июня 2001 года, должен был стать действительно новым поколением архитектуры, а не довешиванием новых функций к старому ядру, как это случилось с EV7. По имеющейся информации, он должен был располагать удвоенным количеством основных конвейеров (8 целочисленными и 4 вещественными), а для их эффективной загрузки должна была присутствовать поддержка технологии SMT (Simultaneous MultiThreading), которая позволила бы одновременное выполнение 4 программных потоков. Размер S-cache предполагалось довести до 3 Мб. Ожидаемая тактовая частота должна была составить 1,8 ГГц, что должно было вновь вывести архитектуру Alpha в лидеры по производительности. Однако не сложилось.
История знает немало случаев, когда товар с лучшими техническими характеристиками уступал место на рынке более или менее ущербному товару. Причины могут быть совершенно разными, хотя чаще всего преобладает ценовой фактор. Потребителя мало интересуют технические преимущества того или иного решения. Такова жизнь.