DEC Alpha
DEC Alpha (также известный как Alpha AXP) — 64-разрядный микропроцессор класса RISC, первоначально разработанный и произведённый компанией DEC, которая использовала его в собственной линейке рабочих станций и серверов. Микропроцессор был создан для компьютеров, которые планировались на смену серии VAX и изначально поддерживался операционными системами VMS и DEC OSF/1 AXP (в 1995 году переименована в Digital UNIX, после покупки DEC компанией Compaq переименована в Tru64 UNIX). Позднее на него были перенесены свободные операционные системы Linux и BSD UNIX. Компания Microsoft производила Windows NT с поддержкой Alpha до версии Windows NT 4.0 SP6, однако поддержка была свёрнута после выпуска Windows 2000 Release Candidate 2.
DEC Alpha | |
---|---|
| |
Разработчик | Digital Equipment Corporation |
Представлена | 1992 |
Порядок байтов | от старшего к младшему[вд] |
Медиафайлы на Викискладе |
История
правитьПрямым предком архитектуры Alpha является проект раннего RISC-процессора DEC PRISM[англ.], который сам по себе является результатом нескольких более ранних проектов. Фирма DEC продвигала на рынок серию рабочих станций DECstation, использовавших процессоры с архитектурой MIPS, и процессор PRISM имел много общего с MIPS, при этом был и ряд существенных отличий: PRISM поддерживал программируемый пользователем микрокод (также известный как Epicode). PRISM проектировался с намерением реализовать для него новую операционную систему, известную как Emerald, которая бы позволяла запускать как «родные» программы PRISM, использовавшие все возможности процессора, так и, после незначительной модификации, существующие программы операционной системы VMS для архитектуры VAX. Руководство DEC сомневалось в необходимости разрабатывать новую компьютерную архитектуру для замены существующих семейств VAX и DECstation, и в 1988 году проект PRISM был закрыт.
Но ко времени закрытия проекта второе поколение RISC-процессоров (например, с архитектурой SPARC) достигло гораздо лучшего соотношения цена/производительность, чем серия VAX. Было очевидно, что третье поколение полностью обгонит VAX по всем характеристикам, а не только по цене. Было начато исследование, целью которого являлось определить, может ли быть создана RISC-архитектура, которая бы могла использоваться для запуска операционной системы VMS. Новая разработка использовала большую часть базовых концепций PRISM, но была доработана для того, чтобы запускать без модификаций OS VMS и программы для неё с приемлемой скоростью. Было принято решение разработать полностью 64-разрядную архитектуру (архитектура PRISM была 32-разрядной). Со временем новая архитектура превратилась в то, что сейчас называется Alpha. Архитекторами системы команд процессоров Alpha были Dick Sites и Rich Witek.
Наибольший вклад процессоров Alpha в микропроцессорную индустрию (да и главная причина их высокой производительности) заключается не столько в самой архитектуре, сколько в превосходной её реализации. В то время (как, впрочем, и сейчас) в микроэлектронной промышленности доминировало автоматизированное проектирование, а для разводки цепей использовалось специальное программное обеспечение, реализовывавшее хитроумные алгоритмы. Разработчики микросхем в DEC были сторонниками трудоёмкого ручного проектирования, в частности, именно так создавались компьютеры с очень непростой архитектурой VAX. Процессоры Alpha показали на своём примере, что ручное проектирование, использованное при работе над простой и прозрачной архитектурой, позволяет достичь гораздо более высоких рабочих частот, нежели использование автоматизированных систем проектирования. Это привело к возрождению ручной разработки цепей среди разработчиков микропроцессоров.
Официально процессоры Alpha обозначались как серия DECchip 21x64, где «21» обозначало 21-й век, а «64» указывало на то, что процессор являлся 64-разрядным, средняя цифра указывала поколение архитектуры Alpha. Внутри компании процессоры Alpha обозначались EV-номерами, где EV официально расшифровывалось как «Extended VAX» (расширенный VAX), но была и другая, юмористическая расшифровка — «Electric Vlasic[англ.]» («электрический огурец»)[1] по мотивам шуточной псевдонаучной публикации об электролюминесценции овощей[2].
Первые несколько поколений процессоров Alpha были наиболее новаторскими для своего времени.
Первая версия, 21064 или EV4, был первым КМОП-микропроцессором, рабочая частота которого сделала его конкурентом миникомпьютерам и мейнфреймам, использовавшим гораздо более энергоёмкую элементную базу ЭСЛ.
Второе поколение, 21164 или EV5, был первым микропроцессором, имевшим накристальный L2-кэш большого объёма.
Процессор 21264 (EV6) был первым микропроцессором, совместившим в себе как высокую рабочую частоту, так и сложную out-of-order execution микроархитектуру.
По информации от источников внутри DEC, выбор торговой марки AXP для процессоров был сделан юридическим отделом DEC, который опасался проблем, аналогичных проблемам с торговой маркой VAX. После длительного поиска было выбрано название AXP, так как оно было никем не занято. В компьютерной индустрии известна шутка, что AXP расшифровывается как «Almost Exactly PRISM» — почти точный PRISM.
Выпуск процессоров архитектуры DEC Alpha был прекращён 27 октября 2007 года.[3]
Поколения и версии
правитьВо время объявления процессора было заявлено, что его архитектура будет использована в течение следующих 25 лет. Хотя этому не суждено было сбыться, тем не менее, процессоры Alpha имели достаточно долгую жизнь. Первая версия, Alpha 21064 (также известная как EV4), была представлена в 1992 году и работала на частоте до 192 МГц, через несколько месяцев, после перехода на чуть более совершенный технологический процесс (с 0,75 мкм до 0,675 мкм), была создана версия EV4S, способная работать на частоте 200 МГц. 64-разрядный процессор был конвейерным и суперскалярным, как и другие RISC-процессоры, но, тем не менее, превосходил их все, что позволило фирме DEC назвать его самым быстрым процессором в мире. Тщательная проработка цепей процессора (что являлось заслугой Hudson design team) и централизованные цепи подачи синхросигналов позволили процессору работать на высоких частотах, несмотря на то, что микроархитектура процессора была во многом аналогична другим RISC-процессорам. Для сравнения, более дешёвый Intel Pentium работал на частоте 66 МГц, хотя был выпущен весной следующего года.
Процессор Alpha 21164 (EV5) стал доступен в 1995 году и работал на частотах до 333 МГц. В июле 1996 года частота была доведена до 500 МГц, а в марте 1998-го — до 666 МГц. Кроме того, в 1998 году был выпущен 21264 (EV6), первоначальная тактовая частота которого составляла 450 МГц; со временем она возросла до 1,25 ГГц (это было сделано в моделях 2001 года 21264C/EV68CB). В 2003 году был выпущен EV7 Marvel, работавший на частоте от 1 до 1,15 ГГц и представлявший собой ядро EV68, оснащённое четырьмя каналами межпроцессорного обмена; пропускная способность каждого канала составляла 1,6 ГБ/с, что позволяло значительно поднять производительность многопроцессорных систем. Около 500 000 систем на базе процессора Alpha было продано к концу 2000 года.
В 1999 году производство процессоров Alpha было лицензировано компании Samsung. Последовавшая покупка компании Digital компанией Compaq привела к тому, что большая часть производства продукции, использовавшей Alpha, была передана компании API NetWorks, Inc, ранее называвшейся Alpha Processor Inc., частной компании, основанной Samsung и Compaq. В октябре 2001 года компания Microway становится эксклюзивным поставщиком использовавшей Alpha продукции API NetWorks.
25 июня 2001 года Compaq заявляет, что производство Alpha будет свёрнуто к 2004 году, а вместо Alpha планируется использовать процессоры Itanium компании Intel. Это приводит к сворачиванию работ над процессором EV8 и продаже всей интеллектуальной собственности, имеющей отношение к Alpha, компании Intel. Через несколько месяцев компания HP, новый владелец Compaq, объявляет, что развитие серии Alpha будет продолжено ещё в течение нескольких лет, включая выпуск 1,3-ГГц варианта EV7, названного EV7z. Эта версия, а также версия, которая должна была стать последней в семействе Alpha — EV79, с технологическим процессом 0,13 мкм, также была свёрнута. HP продолжала продавать серверы AlphaServer с операционными системами OpenVMS и Tru64 UNIX до 27 октября 2006 года, а также обеспечивала их поддержку до конца 2013 года[4].
В середине 2003 года, когда шло сворачивание производства Alpha, второе место в списке самых быстрых компьютеров занимал кластер ASCI Q на основе процессоров Alpha[5].
Модели
правитьМодель | AKA | Год | Частота, МГц |
Тех. процесс, мкм |
Транзисторов, млн |
Размер кристалла, мм² |
Кол-во контактов | Потребляемая мощность, Вт |
Напряжение питания, В |
Пропуск. способность памяти, МБ/с |
Кэш данных, КБ |
Кэш команд, КБ |
Scache | Bcache | Система команд |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EV4 | 21064 | 1992 | 100—200 | 0,75 | 1,68 | 234 | 290 | 30 | 3,3 | 80 | 8 | 8 | — | ||
EV45 | 21064A | 1994 | 200—300 | 0,5 | 2,85 | 164 | 33 | 3,3 | 80 | 16 | 16 | — | |||
LCA4 | 21066 | 1993 | 100—166 | 0,68 | 1,75 | 209 | 21 | 3,3 | 30 | 8 | 8 | — | |||
LCA45 | 21066A | 1994 | 166—233 | 0,5 | 1,75 | 161 | 23 | 3,3 | 30 | 8 | 8 | — | |||
EV5 | 21164 | 1995 | 266—500 | 0,5 | 9,7 | 299 | 296 | 56 | 3,3/2,5 | 150 | 8 | 8 | 96 КБ | 1 | R |
EV56 | 21164A | 1996 | 400—767 | 0,35 | 9,3 | 209 | 46 | 3,3/2,0 | 300 | 8 | 8 | 96 КБ | 1—2 МБ | R,B | |
PCA56 | 21164PC | 1997 | 400—533 | 0,35 | 3,5 | 141 | 264 | 40 | 3,3/2,5 | 8 | 16 | — | 1 МБ | R,B,M | |
PCA57 | 21164PC | 600—666 | 0,28 | 5,7 | 101 | 283 | 20 | 2,5/2,0 | 16 | 16 | — | 1 МБ | R,B,M | ||
EV6 | 21264 | 1998 | 450—600 | 0,35 | 15,2 | 314 | 389 | 73 | 2,0 | 1600 | 64 | 64 | — | 2—8 МБ | R,B,M,F |
EV67 | 21264A | 1999 | 667—750 | 0,25 | 15,2 | 210 | 389 | 2,0 | 64 | 64 | — | 2—8 МБ | R,B,M,F,C | ||
EV68AL | 21264B | 2001 | 800—833 | 0,18 | 15,2 | 125 | 1,7 | 64 | 64 | — | 2—8 МБ | R,B,M,F,C,T | |||
EV68CB | 21264C | 2001 | 1000—1250 | 0,18 | 15,2 | 125 | 65—75 | 1,65 | 64 | 64 | — | 2—8 МБ | R,B,M,F,C,T | ||
EV68CX | 21264D | 1,65 | 64 | 64 | — | 2—8 МБ | R,B,M,F,C,T | ||||||||
EV7/EV7z | 21364 | 2003 | 800—1300 | 0,18 | 130 | 397 | 125 | 1,5 | 64 | 64 | 1,75 МБ | — | R,B,M,F,C,T | ||
EV79 | 21364A(?) | (свёрнуто) | 1700 | 0,13 | 152 | 300 | 120 | 1,2 | 64 | 64 | 1,75 МБ? | — | R,B,M,F,C,T |
Расширения системы команд:
- R: ?
- B: BWX, «Byte/Word Extension», дополнительные инструкции для выполнения 8- и 16-битных операций при обращении к памяти и устройствам ввода-вывода
- M: MVI, мультимедиа-инструкции
- F: FIX, инструкции для преобразования целых чисел в числа с плавающей запятой и извлечения квадратного корня
- C: CIX, инструкции для поиска и подсчёта битов
- T: поддержка упреждающей выборки с модификацией, направленной на повышение производительности при первом обращении с целью захвата семафора.
Системы, использующие Alpha
правитьПервое поколение систем на базе Alpha включало в себя серию рабочих станций DEC 3000 AXP и серверы начального уровня, серию серверов среднего уровня 4000 AXP и серии высокопроизводительных серверов: DEC 7000 AXP и DEC 10000 AXP.
Серия 3000 AXP использовала ту же шину TURBOchannel, что и предыдущее поколение рабочих станций DEC, использовавших микропроцессоры с архитектурой MIPS. Серия 4000 AXP использовала шину FutureBus+, в то время как серии 7000 AXP и 10000 AXP использовали архитектуру компьютеров VAX серий 7000 и 10000, соответственно.
Кроме того, DEC выпускала рабочие станции на базе Alpha, сходные с персональными компьютерами и использовавшими шину EISA: DECpc 150 AXP (эта модель также известна как DEC 2000 AXP). Это были первые системы на базе Alpha, поддерживавшие Windows NT. Позднее DEC выпустила Alpha-версии своих Celebris XL и Personal Workstation PC серий, оснастив их процессорами 21164.
Процессоры 21066 и 21068 были использованы в компактных рабочих станциях DEC Multia VX40/41/42.
В 1994 году фирма DEC выпустила новый ряд систем AlphaStation и AlphaServer, которые использовали процессоры 21064 и 21164, шину PCI, совместимые с VGA фреймбуфера и PS/2-совместимые клавиатуру и мышь. Серия серверов AlphaServer 8000, заменившая DEC 7000/10000 AXP, использовала шины XMI и FutureBus+.
Рабочие станции AlphaStation XP1000 были первыми, использовавшими процессор 21264. В дальнейшем модели рабочих станций и серверов AlphaServer/Station, использовавших процессор 21264, были разбиты на следующие семейства:
- DS (departmental server)
- ES (enterprise server)
- GS (global server)
Процессор 21364 использовался в моделях AlphaServer ES47, ES80 и GS1280.
Некоторое количество OEM-материнских плат для Alpha было произведено фирмами DEC, Samsung и Alpha Processor Inc., включая EB64+, EB164, API UP1000 и UP2000.
Компания Cray Research использовала процессоры 21064 и 21164 в своих массивно-параллельных суперкомпьютерах Cray T3D и Cray T3E, соответственно.
Процессоры 21164 и 21264 были использованы компанией Network Appliance в системах сетевого хранения данных (Network Attached Storage).
Влияние на отрасль
правитьПроцессор Alpha и заложенные в нём концепции прямо или косвенно оказали влияние на конструкцию других процессоров и на развитие отрасли в целом.
В оригинальном процессоре AMD Athlon использовалась шина, первоначально разработанная для Alpha. В процессоре AMD Opteron применяется высокоскоростная межпроцессорная магистраль HyperTransport и встроенный контроллер памяти — технологии, аналогичные тем, которые первыми предложили разработчики Alpha. Дирк Мейер, главный инженер процессоров AMD, раньше работал над Alpha.
Применяемая в современных серверных и настольных процессорах Intel технология HyperThreading, позволяющая процессору решать несколько задач одновременно, навеяна исследованиями в области многопоточности, проведёнными командой Alpha в DEC в 1990-е годы. Из HP в Intel перешли более 300 инженеров, работавших над Alpha, теперь большинство из них работает над процессором Itanium 2.
Модель памяти, используемая в процессоре, являлась наиболее мягкой из всех существующих: без дополнительных барьеров нарушался порядок видимости выполнения команд другим потоком. На практике это оказалось крайне неудачным решением, так как реордеринг операций и эффекты, связанные с кэшированием, приводили к интуитивно непонятному поведению в многопроцессорных системах.[6] И хотя написание корректных программ было возможно[7], это требовало значительных дополнительных усилий при написании компиляторов и многопоточных программ. По этой причине впоследствии от такого архитектурного решения отказались и больше нигде не использовали.
Примечания
править- ↑ EV-4 (1992) (англ.). The Computer History Simulation Project. — Характеристики и история EV-4 - первого официально выпущенного процессора Alpha. Дата обращения: 11 апреля 2009. Архивировано из оригинала 14 февраля 2012 года.
- ↑ Characterization of Organic Illumination Systems (англ.) (PDF) (апрель 1989). — Шуточная псевдонаучная публикация об электролюминесценции овощей. Дата обращения: 11 апреля 2009. Архивировано из оригинала 14 февраля 2012 года.
- ↑ Transforming your AlphaServer environment Архивировано 8 февраля 2007 года.
- ↑ HP will now offer service (maintenance, repair, and advisory) for all currently selling Alpha Systems for a minimum of five years after last new system shipment, (or at least through 2013) Архивировано 18 июля 2007 года.
- ↑ TOP 10 Sites for June 2003 . Дата обращения: 14 октября 2013. Архивировано 16 октября 2013 года.
- ↑ Reordering on an Alpha processor . Дата обращения: 31 марта 2016. Архивировано 15 марта 2016 года.
- ↑ LINUX KERNEL MEMORY BARRIERS(см.секцию DATA DEPENDENCY BARRIERS) . Дата обращения: 31 марта 2016. Архивировано 22 марта 2016 года.
Литература
править- Корнеев В. В., Киселев А. В. Современные микропроцессоры. 3-е изд.— СПб.: БХВ-Петербург, 2003. — 448 с.: ил. ISBN 5-94157-385-5
Ссылки
правитьНовостные сайты AlphaServer
- Tru64.org (англ.) Tru64 UNIX on Alpha
- OpenVMS.org Архивная копия от 21 марта 2015 на Wayback Machine (англ.) OpenVMS on Alpha
Основная техническая документация
- Digital Technical Journal, Volume 4, Number 4, Special Issue 1992 Alpha AXP Architecture and Systems (англ.)
- Архив ПО и документации
История
- Alpha: The History in Facts and Comments (англ.)
- Alpha: история в фактах и комментариях (рус.), создатель статей Павел Болотов
Порты BSD операционных систем для процессоров семейства DEC/Compaq Alpha
- NetBSD port for Alpha (англ.)
- OpenBSD port for Alpha (англ.)
- FreeBSD/alpha Project (англ.)
Дистрибутивы GNU/Linux