DEC Alpha PC64

      S platformou DEC (Digital Equipment Corporation) Alpha jsem se poprvé kdysi setkal na ČVUT FEL na Karláku, kde byly na chodbě malé zelené terminály připojené k Alpha Serveru (ten jsem v reálu nikdy neviděl) se systémem OpenVMS. Také jsem si všimnul na instalačce Windows NT 4.0, že obsahuje binárky nejen pro x86, ale i Alpha, MIPS a PowerPC. Pak jsem ještě jednou v PC bazaru Růžovka zahlédl jakýsi Alpha workstation v midi toweru a tím to haslo. Chtěl jsem se o této platformě dozvědět více a osahat si ji, ale u nás v ČR je to zřejmě velká rarita a kdo ví, jestli tu vůbec ještě někdo další nějakou Alphu provozuje...

      31.5.2022 Podařilo se mi výměnou získat netestovaný CPU DEC Alpha 21064A na 275 MHz, datasheet je zde. Na svou dobu (uveden v říjnu 1993) se jednalo o velmi pokrokový a nabušený 64-bitový superskalární RISC CPU vyráběný 0,5µm technologií se sadou 32 int a 32 float registrů, 16 + 16 kB L1 cache na čipu, predikcí skoků a FPU. Napájení CPU je 3,3V. Externí sběrnice umožňuje přenosy o šířce 64 nebo 128 bitů + parita. Fyzická adresa je 34-bitová a virtuální adresa je 43-bitová. L2 cache o velikosti řádově několik MB může být osazena na základní desce. CPU je ve velkém keramickém PGA pouzdru 61,7 x 61,7 mm s 431 piny v obvyklém čtvercovém rastru 100 mil. Zajímavý je zlacený heatspreader se 2 šrouby pro upevnění chladiče. Moje verze CPU 21064A-275-PC má omezení, že podporuje pouze funkce memory managementu kompatabilní s paměťovým modelem Windows NT. Jen pro srovnání intel měl v té době teprve 32-bitové Pentium na 60 MHz.

DEC Alpha 21064-P1 PC275 CPU top side DEC Alpha 21064-P1 PC275 CPU bottom side

      15.7.2022 Snažil jsem se sehnat pro CPU nějakou základní desku, ale u nás jsem nepochodil. Na eBay jsem projel jednu aukci z Itálie a o deskách z USA vzhledem k poštovnému nemělo cenu uvažovat. Nakonec jsem se rozhodl koupit NOS desku Alpha PC64 E80-0033101 se socketem PGA431 z německého e-shopu M-Ware za 98,98 Euro. S prodejcem jsem si domluvil poštovné zdarma v rámci Německa a tak mi desku poslal ke kamarádovi do Berlína, který mi ji pak dovezl do ČR. Deska byla zabalená v antistatickém obalu s přelepkou a vypadala opravdu netknutě. S chutí jsem se tedy pustil do oživování, ale bylo třeba nejprve překonat celou řadu specifických HW nástrah. Po chvíli hledání se mi podařilo najít podrobné manuály: EC-QGY2C-TE a EC-QLJKB-TE.

DEC ALPHA PC64 21064A MB DEC ALPHA PC64 21064A MB with CPU

      30.7.2022 Nejprve jsem se pustil do výroby CPU chladiče. Jako základ posloužil nějaký starší chladič pro Socket 370. Na jeho spodku jsem u jedné strany odfrézoval 8 mm široký pruh do hloubky 2 mm, aby nekolidoval s vyvýšenou částí Socketu 431. Pak bylo třeba vyvrtat 2 díry ve vzdálenosti 21,6 mm od sebe (viz datasheet str. 99) pro šrouby na heatspreaderu a na horní straně v jejich okolí odfrézovat žebra. Vzhledem k silnějším krčkům šroubů se mi osvědčilo díry vyvrtat na průměr 5,2 mm. Šrouby mají podivný americký závit 10-32 UNF, ale naštěstí na ně dobře pasují matice M5. Pohledem proti světlu jsem zjistil, že povrch heatspreaderu je kapánek křivý a tak jsem použil silikonovou podložku tloušťky 0,3 mm, jejíž tepelný odpor je cca 0,22°C/W, což při max. TDP 33 W zvýší teplotu IHS o 7,3°C. Vystříhl jsem ji z běžné podložky pod tranzistory, ostatně i v datasheetu je podložka doporučená. Větrák CPU chladiče jsem připojil na konektor J14, který má nestandardní pinout a vyžaduje snímač otáček.

home made heatsink-top home made heatsink-top home made heatsink-bottom

      Deska celkem připomíná běžnou x86 základovku pro Pentium a je na ní řada stejných konektorů. Pro napájení slouží klasické 6-pinové bílé konektory J29 + J31 pro AT zdroj a vedle nich ještě další dva konektory J27 + J28 na 3,3 V pro napájení CPU. Jelikož nemám originální zdroj, vyrobil jsem si redukci z ATX zdroje, potřebné napětí poskytuje. Při tom jsem zjistil kritický nedostatek koncovek z AT zdrojů, kterých jsem kdysi rozebral hromady, ale už jsem docela dlouho žádný nepotkal. Ani při pohledu do sběráku jsem žádný neviděl. Nakonec mi další 2 šlauchy věnoval kamarád Michal a na radioburze v Holicích jsem od Ampréráka sehnal 1 celý AT zdroj, takže už mám i do zásoby. V případě velké nouze by se snad tento konektor Molex 90331-0001 ještě dal někde koupit, ale není skladem ani na Digi-Key.
      Na desce je 8 paměťových slotů pro 72-pinové SIMMy. Ty jsou rozděleny na 2 banky po 4 SIMMech vedle sebe a vzhledem k 128-bitové sběrnici je třeba osadit alespoň 4 SIMMy stejné kapacity do 1 banky. Druhá banka může nést SIMMy jiné kapacity, ale opět 4 stejné. Navíc to musí být 36-bitové SIMMy FPM (ne EDO) s paritou, které nejsou zrovna moc běžné. Podařilo se mi dát dohromady 4 x 8 MB + 4 x 4 MB, tedy celkem 48 MB paměti. UPDATE: na radioburze v Holicích jsem koupil nějakou základní desku z velkého routeru s CPU Motorola MC68EC060RC60, na které byly osazeny čtyři 16MB 60ns FPM paritní moduly a tak se stávajícími 4 x 8 MB mám celkem 96 MB paměti. Později jsem se pustil do vlastního návrhu a výroby repliky 16MB paritních 72-pinových SIMMů, které osazuju recyklovanými DRAM čipy z běžných bezparitních SIMMů.

2 delší černé sloty vpravo od CPU jsou určeny pro SRAM L2 cache moduly (celkem 0,5 - 8 MB), ale to bude ještě větší rarita sehnat, takže mi nezbylo, než L2 cache vypnout nastavením jumperů J3.11, 13, 15 (všechny zasunuté).
po zapnutí se vyčadil tantal 10 µF/16 V na -12 V větvi. oprava DS RTC: http://www.youtube.com/watch?v=NdlSfqto_0o není kompatabilní s DS1287 ani Odin 12C887A. pak boot do NT FW trvá asi 35s, final POST code je 00h POST code 19h chyba RAM J16 musí být v poloze 2-3 (FlashROM update enable), aby NT FW mohl zapisovat do NVRAM nastavení dalších jumperů na J3: Hodiny pro CPU jsou generovány z krystalového oscilátoru o frekvenci 27,5 MHz U41 (v patici, lze měnit v rozsahu 25 - 35 MHz) přes PLL násobičku TQ2061, která je vynásobí 20x (t.j. 550 MHz) a CPU si zas na vstupu tuto frekvenci vydělí 2, takže dostaneme 275 MHz. Procesor dále generuje hlavní systémové hodiny pomocí nastavitelné děličky 2 - 17 kombinací čtyř jumperů J3.1, 3, 5, 7 (výchozí hodnota je 9 - zasunutý, vytažený, vytažený, vytažený, t.j. 30,555 MHz; přenastavil jsem ji na 8, t.j. 34,375 MHz), které jdou přes buffery např. do PCI slotů. aktivace Debug Monitoru: J3.25 (SP7) - vytažený, pokud je zasuntý bootuje se image podle hodnoty na adrese 3Fh v RTC SRAM (číslo image). aktivace mini-debuggeru: J3.23 (SP6) - zasunutý NT FW - pokud není připojená klávesnice, je I/O přesměrováno na sériový port 1 Serial OTP PROM Xilinx XC1765D obsahuje inicializační kód a mini-debugger (konektor J2) pridat linky na FW a manualy.

      19.10.2022 Našel jsem poměrně rozsáhlý archiv FTP bývalého Digitalu (listing zde), který jsem prošel a dopídil se stránky s balíčky aktualizací firmware pro různé typy základních desek AlphaPC. Konkrétně pro mou Alpha PC64 je k dispozici novější ARC firmware 4.49-7 a SRM firmware pro OpenVMS. Dokonce jsem tam našel i schéma zapojení a GERBER data pro novější desku Alpha PC164, ale bohužel nikoliv pro PC64.
      Rozbalil jsem tedy soubory z balíčku ARC firmware 4.49-7 na disketu, připojil k desce disketobou mechaniku, nabootoval stávající ARC firmware 4.42 a šel do menu Supplementary menu...|Install new firmware...|Update Windows NT Firmware. Z diskety se načetl soubor eb64pnt.rom a potvrdil jsem jeho flashnutí na offset 30000h. Dále jsem pokračoval v menu Update SRM Console, Z diskety se načetl soubor pc64srm.rom a potvrdil jsem jeho flashnutí na offset 80000h. Po flashování je možné přepnout výchozí bootování mezi ARC a SRM FW, ale to lze přepnout kdykoliv později v menu nebo v Debug Monitoru. Nakonec jsem systém restartoval a zkontroloval, že naběhla nová verze ARC firmware 4.49-7. Bohužel problém s chybou System time stále přetrvával. Zkusil jsem znovu jít zpět v čase a zjistil, že problém nastane u datumu 1.1.2021 a novějšího. Čekal bych spíš známý Y2K problém. Přitom RTC čip nemá žádné takové hardwarové omezení, když jsem nastavil datum 31.12.2020, čas 23:59:50 a sledoval ho v horním pravém rohu obrazovky, tak došlo ke korektnímu roll-overu na 1.1.2021 00:00:00 a čas běžel dále. Dělá to na mě dojem, jako kdyby tam schválně implementovali nějakou timebomb, jak občas bývá u některých programů zvykem. Nastavil jsem tedy rok 2012 a pak už nic nebránilo vstupu do menu Install Windows NT from CD-ROM.

CPU DEC Alpha 21264A-667

      25.8.2023 Na blešáku v Holicích se mi podařilo zachránit hrobníkovi z lopaty tento CPU Alpha 21264A před sešrotováním na zlato. Bohužel někdo CPU dost necitlivě vypájel z nějaké desky a zohýbal mu tak nožičky. Prodejce tam měl těchto CPU více, ale pouze tento jediný byl ještě v kuse. Napřed jsem mikropájkou a odsávací licnou zbavil nožky zbytků cínu a prokovů. Pak jsem si nějakou dobu hrál s pinzetou a povedlo se mi všechny nožičky narovnat, aniž bych nějakou ulomil. Jak jsem pak zjistil, tak pro tyto CPU v keramickém IPGA-587 pouzdru se nedělal žádný socket jako pro předchozí model 21064A, ale pájel se na různé procesorové desky. Jedním z možných provedení byl modul do Slotu B, kde byl CPU spolu s L2 cache a napěťovým regulátorem pro jádro. AMD vyrábělo kompatabilní chipsety Irongate(2) pro Alpha 21264A (použitý např. na MB Samsung UP1500) a své Athlony, protože si od DECu licencovalo sběrnici EV6 a oba CPU používaly stejný protokol sběrnice, ale AMD nakonec pro své Athlony použilo Slot A. CPU Alpha 21264A vyráběl Samsung 0,25µm technologií od konce roku 1999, běžely na frekvencích 600 - 833 MHz a obsahovaly 64 + 64 kB L1 cache pro instrukce a data. Datová sběrnice byla široká 64-bitů s přenosem DDR. Fyzická adresa je 44-bitová a virtuální adresa je 43/48-bitová. Zde je datasheet a HW reference manual.

DEC Alpha 21264A-667 CPU top side DEC Alpha 21264A-667 CPU bottom side DEC Alpha 21264A-667 CPU bottom side (with realigned pins)




Zpět

Aktualizováno 13.11.2023 v 4:52