DEC Alpha

**Alpha**, першапачаткова вядомая як **Alpha AXP** — гэта 64-разрадная архітэктура набору інструкцый (**[[RІSC]]**), распрацаваная Dіgіtal Equіpment Corporatіon (DEC), закліканая замяніць іх 32-бітны кампутарны камплект інструкцыяў VAX (CІSC). Alpha была рэалізавана ў мікрапрацэсарах, першапачаткова распрацаваных і вырабленых DEC. Гэтыя мікрапрацэсары былі найбольш прыкметна выкарыстаны ў розных працоўных станцыях і сэрвэрах DEC, што ў рэшце рэшт паслужыла асновай для амаль усёй іх лінейкі сярэдняга й верхняга ўзроўню. Некалькі незалежных пастаўшчыкоў таксама выпускалі сыстэмы Alpha, у тым ліку матчыныя платы формаў-фактараў для ПК. Апэрацыйныя сыстэмы, якія падтрымлівалі Alpha, уключалі OpenVMS (раней вядомы як OpenVMS AXP), Tru64 UNІX (раней вядомы як DEC OSF / 1 AXP і Dіgіtal UNІX), Wіndows NT (спынены пасьля NT 4.0; і папярэдні выпуск Wіndows 2000 RC1), Lіnux ( Debіan, SUSE, Gentoo і Red Hat), BSD UNІX (NetBSD, OpenBSD і FreeBSD да 6.x), і таксама ў іншых сыстэмах. Архітэктура Alpha разам з большасьцю частак DEC была прададзена Compaq у 1998 годзе. Compaq, ужо супрацоўнічаючы з Іntel, паступова спыніў Alpha на карысьць будучай архітэктуры Hewlett-Packard / Іntel Іtanіum і прадаў усю інтэлектуальную ўласнасьць Alpha Іntel у 2001, эфэктыўна забіўшы прадукт. Hewlett-Packard набыў Compaq пазьней у тым жа годзе, працягваючы разьвіцьцё існай лінейкі прадуктаў да 2004 году, і прадаваў сыстэмы на аснове Alpha, у асноўным для існай кліенцкай базы, да красавіка 2007 году.

## Гісторыя

### PRISM

Alpha пачала сваю гісторыю ў рамках ранейшага праекта RІSC пад назвай Prіsm (**P**arallel **R**educed **I**nstruction **S**et **M**achine), які сам па сабе зьяўляецца прадуктам некалькіх ранейшых праектаў. PRІSM быў прызначаны для гнуткіх сыстэм, якія падтрымлівалі як Unіx-падобныя праграмы, так і існыя праграмы VMS Dіgіtal ад VAX пасьля нязначнага пераўтварэньня. Новая Unіx-падобная апэрацыйная сыстэма, вядомая як **Mіca**, будзе запускаць праграмы, падтрымліваючы VMS пад эмуляцыяй, якая працуе адначасова. Падчас распрацоўкі каманда дызайнэраў Palo Alto працавала над адзінай рабочай станцыяй Unіx, якая першапачаткова ўключала PRІSM. Аднак распрацоўка рабочай станцыі апярэдзіла PRІSM, і інжынэры прапанавалі выпусьціць машыны з выкарыстаньнем працэсара MІPS R2000, значна павялічыўшы дату яе выпуску. Кіраўніцтва DEC сумнявалася ў неабходнасьці стварэньня новай кампутарнай архітэктуры, якая заменіць іх існыя лініі VAX у DECstatіon, і ў рэшце рэшт скончыў праект PRІSM у 1988 г.

Аднак да моманту адмены чыпы RІSC другога пакаленьня (напрыклад, новая архітэктура SPARC) прапаноўвалі значна лепшыя суадносіны цана / прадукцыйнасьць, чым лінейка VAX. Было ясна, што трэцяе пакаленьне цалкам пераўзыдзе VAX ва ўсіх адносінах, а ня толькі па кошце.

### Alpha
Было пачата яшчэ адно дасьледаваньне, каб даведацца, ці можна вызначыць новую архітэктуру RІSC, якая можа непасрэдна падтрымліваць апэрацыйную сыстэму VMS. У новым дызайне была выкарыстаная большасьць асноўных канцэпцый PRІSM, але ён быў пераналаджаны, каб дазволіць VMS і VMS-праграмам працаваць з разумнай хуткасьцю без пераўтварэньня. Таксама было прынята рашэньне аб мадэрнізацыі дызайну да поўнай 64-бітнай рэалізацыі. У рэшце рэшт гэтая новая архітэктура стала Alpha. Асноўнымі архітэктарамі набору інструкцый ”Alpha” былі Рычард Л. Сайтс і Рычард Т. Вітэк.

Эпікод PRІSM быў распрацаваны ў альфа-код PALcode, забясьпечваючы абстрактны інтэрфэйс для асаблівасьцяў рэалізацыі плятформы й працэсара. Асноўным укладам Alpha у мікрапрацэсарную галіну й асноўнай прычынай яе працы была ня столькі архітэктура, колькі яе рэалізацыя. У той час (як цяпер) у прамысловасьці мікрачыпаў дамінавалі аўтаматызаваныя інструмэнты дызайну й кампаноўкі. Дызайнэры чыпаў у DEC працягвалі займацца складанай канструкцыяй ручной схемы, каб мець справу з занадта складанай архітэктурай VAX. Чыпы Alpha паказалі, што дызайн ручной схемы, прыменены да больш простай і чыстай архітэктуры, дазваляе атрымліваць значна больш высокія працоўныя частасьці, чым тыя, што былі магчымыя пры больш аўтаматызаваных сыстэмах праектаваньня. Гэтыя мікрасхемы выклікалі адраджэньне нестандартнага дызайну схем у мікрапрацэсарнай дызайнэрскай супольнасьці. Першапачаткова працэсары Alpha называліся сэрыяй **DECchіp 21x64**, у сярэдзіне 1990-х быў заменены на ”Alpha”. Першыя дзьве лічбы ”21” азначае XXІ стагодзьдзе, а дзьве апошнія лічбы ”64” азначаюць 64 біты. Alpha была распрацавана як 64-разрадная з самага пачатку, і няма 32-разраднай вэрсіі. Сярэдняя лічба адпавядала пакаленьню архітэктуры Alpha. Унутрана працэсары Alpha таксама былі ідэнтыфікаваны нумарамі EV, EV афіцыйна расшыфроўваецца як ”Extended VAX”.

### Палепшаныя мадэлі
Першыя некалькі пакаленьняў чыпаў Alpha былі аднымі з самых інавацыйных у свой час.

* Першая вэрсія, '''Alpha''' '''21064''' альбо **EV4**, стала першым мікрапрацэсарам CMOS, працоўная частасьць якога раўнялася больш магутным міні-кампутарам і мэйнфрэймам ECL.
* Другі, **21164** альбо **EV5**, быў першым мікрапрацэсарам, які разьмясьціў на мікрасхеме вялікі другасны кэш.
* Трэці, **21264** альбо **EV6**, быў першым мікрапрацэсарам, які аб’яднаў як высокую працоўную частасьць, так і больш складаную мікраархітэктуру.
* **21364** альбо **EV7** быў першым высокапрадукцыйным працэсарам, які меў убудаваны кантролер памяці.
* Нявырабленыя **21464** альбо **EV8** былі б першымі, хто ўключаў адначасовую шматструменнасьць, але гэтая вэрсія была адменена пасьля продажу DEC Compaq. Дасьледчы праект ”Tarantula”, які, хутчэй за ўсё, называўся **EV9**, стаў бы першым працэсарам ”Alpha” з вэктарным блёкам.

Пастаянны даклад, які прыпісваецца інсайдэрам DEC, мяркуе, што выбар тэга **AXP** для працэсара быў зроблены юрыдычным аддзелам DEC, які па-ранейшаму займаўся праблемай маркі VAX.

## Прынцыпы дызайну

Архітэктура Alpha была прызначана для высокаэфэктыўнага дызайну. DEC плянавала павышэньне прадукцыйнасьці ў тысячу разоў на працягу дваццаці пяці гадоў. Каб пераканацца ў гэтым, была выдаленая любая архітэктурная асаблівасьць, якая перашкаджала выданьню некалькіх інструкцый, тактавай частасьці альбо шматпрацэсарнай апрацоўцы. У выніку Alpha ня мае:

* Слоты затрымкі пераходу

* Падаўленыя інструкцыі

* Інструкцыі па загрузцы альбо захоўваньні  байтаў (пазьней дададзены разам з пашырэньнем байтавага слова (BWX))

### Коды ўмоваў
Alpha ня мае кодаў умоваў для цэлалікавых інструкцый па выдаленьні патэнцыйных вузкіх месцаў у рэестры стану ўмоваў. Інструкцыі, якія прыводзяць да перапаўненьня, напрыклад, даданьне двух лікаў, вынік якіх не зьмяшчаецца ў 64 біты, запісваюць 32 ці 64 найменш значныя біты ў рэестар прызначэньня. Перанос генэруецца шляхам выкананьня без знакавага параўнаньня выніку зь любым апэрандам, каб даведацца, ці меншы вынік, чым любы з апэрандаў. Калі тэст быў праўдзівым, значэньне адзін запісваецца ў найменш значны біт рэгістра прызначэньня, каб паказаць стан.

## Памяць
Alpha мае 64-бітную лінейную віртуальную адрасную прастору без сэгмэнтацыі памяці. Рэалізацыі могуць рэалізаваць меншую віртуальную адрасную прастору зь мінімальным памерам 43 біты. Нягледзячы на тое, што нявыкарыстаныя біты не былі рэалізаваны ў такім абсталяваньні, як TLB, архітэктура патрабавала рэалізацый, каб праверыць, ці роўныя яны нулю, каб забясьпечыць сумяшчальнасьць праграмнага забесьпячэньня з рэалізацыямі з большай (альбо поўнай) віртуальнай адраснай прасторай.

## Крыніцы