/usr/share/doc/HOWTO/pl-html/Alpha-HOWTO.pl.html is in doc-linux-pl-html 2002.06.14-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>Alpha HOWTO</TITLE>
</HEAD>
<BODY>
<H1>Alpha HOWTO<BR></H1>
<H2>Autor: Neal Crook
<A HREF="mailto:neal.crook@reo.mts.digital.com">neal.crook@reo.mts.digital.com</A>, Digital Equipment <BR>
(edycja: David Mosberger
<A HREF="mailto:davidm@azstarnet.com">davidm@azstarnet.com</A>)<BR>
v0.11, 6 Czerwca 1997<BR>
<B>Wersja polska: Leszek Urbañski
<A HREF="mailto:tygrys@fidonet.org.pl">tygrys@fidonet.org.pl</A><BR></B>
v0.1, 22 Lipca 1998</H2>
<P><HR>
<EM>Ten dokument jest ogólnym przedstawieniem istniej±cych procesorów Alpha, chipsetów
do nich, oraz systemów opartych na tych procesorach. Opisujê sprzêt, a nie
oprogramowanie, ukazuj±c mój obszar do¶wiadczenia. Chocia¿ jestem pracownikiem
Digital Equipment Corporation, nie jest to oficjalna wypowied¼ Digitala,
a wszystkie opinie tu wyra¿one s± moimi opiniami, nie za¶ Digitala.
Dokument zosta³ napisany w standardzie ISO-8859-2. Orygina³ tego dokumentu znajduje
siê pod adresem http://www.azstarnet.com/~axplinux/.</EM>
<HR>
<H2><A NAME="s1">1. Co to jest Alpha</A></H2>
<P>
<P>Alpha jest 64-bitow± architektur± RISC Digitala. Projekt Alpha zosta³ rozpoczêty
w po³owie 1989 roku, jego celem by³o stworzenie wysokowydajnej alternatywy dla
u¿ytkowników VAX'a. Nie by³a to pierwsza architektura RISC zaprojektowana przez
Digitala, ale jako pierwsza osi±gnê³a sukces rynkowy. Kiedy Digital og³osi³
wyprodukowanie Alphy w marcu 1992, zdecydowa³ siê wej¶æ na rynek pó³przewodników,
sprzedaj±c mikroprocesory Alpha.
<P>Alpha jest czasami nazywana Alph± AXP, z tajemniczych powodów, które nie s± warte
wyja¶niania. Wystarczy powiedzieæ, ¿e jest to jedno i to samo.
<P>
<H2><A NAME="s2">2. Czym jest Digital Semiconductor</A></H2>
<P>
<P>
<A HREF="http://www.digital.com/info/semiconductor/">Digital Semiconductor</A>
(DS) jest oddzia³em firmy Digital Equipment Corporation (Digital - nie lubimy nazwy
DEC), który sprzedaje pó³przewodniki. Do produktów Digitala zaliczaj±
siê procesory (CPU), chipsety, mostki PCI-PCI i uk³ady peryferyjne PCI dla
telekomunikacji i multimediów.
<P>
<H2><A NAME="s3">3. Procesory Alpha</A></H2>
<P>
<P>Obecnie istniej± dwie generacje rdzenia CPU (core), które s± implementacj±
architektury Alpha:
<P>
<UL>
<LI>EV4</LI>
<LI>EV6</LI>
</UL>
<P>S± ró¿ne opinie na temat znaczenia ,,EV'' (uwaga D.M.: prawdziwa odpowied¼ to
oczywi¶cie ,,Electro Vlassic"
<A HREF="#ref1">[1]</A>), numer
odpowiada generacji technologii CMOS Digitala, w której zosta³ wykonany
rdzeñ. A wiêc EV4 by³ pierwotnie zaimplementowany w CMOS4. Z biegiem czasu,
procesor zwiêksza swoj± wydajno¶æ, poprzez optyczne pomniejszenie do nastêpnej
generacji procesu CMOS. EV45 jest wiêc rdzeniem EV4 zaimplementowanym w technologii
CMOS5. Istnieje du¿a ró¿nica pomiêdzy dostosowywaniem projektu do danej technologii,
a implementowaniem go od podstaw w tej technologii (nie bêdê siê jednak teraz w to
wg³êbia³). Jest te¿ parê innych symboli: CMOS4S (pomniejszenie CMOS4) i CMOS5L.
<P>Prawdziwi technofile bêd± chcieli wiedzieæ, ¿e CMOS4 jest technologi± 0.75 mikronow±,
CMOS5 jest technologi± 0.5 mikronow±, a CMOS6 0.35 mikronow±.
<P>A oto konkretne procesory z ró¿nymi rdzeniami:
<P><B>21064-150,166</B>
<P>
<BLOCKQUOTE>
EV4 (pierwotnie), EV4S (obecnie)
</BLOCKQUOTE>
<P><B>21064-200</B>
<P>
<BLOCKQUOTE>
EV4S
</BLOCKQUOTE>
<P><B>21064A-233,275,300</B>
<P>
<BLOCKQUOTE>
EV45
</BLOCKQUOTE>
<P><B>21066</B>
<P>
<BLOCKQUOTE>
LCA4S (rdzeñ EV4, z jednostk± zmiennoprzecinkow± EV4)
</BLOCKQUOTE>
<P><B>21066A-233</B>
<P>
<BLOCKQUOTE>
LCA45 (rdzeñ EV4, ale z jednostk± zmiennoprzecinkow± EV45)
</BLOCKQUOTE>
<P><B>21164-233,300,333</B>
<P>
<BLOCKQUOTE>
EV5
</BLOCKQUOTE>
<P><B>21164A-417</B>
<P>
<BLOCKQUOTE>
EV56
</BLOCKQUOTE>
<P><B>21264</B>
<P>
<BLOCKQUOTE>
<A HREF="http://www.mdronline.com/report/articles/21264/21264.html">EV6</A></BLOCKQUOTE>
<P>Rdzeñ EV4 jest dwuinstrukcyjny (dual-issue), znaczy to, ¿e mo¿e wykonaæ dwie
instrukcje na jednostkê zegara, posiada superpotokowy rdzeñ z jednostk± liczb
ca³kowitych
(superpipelined core with integer unit), jednostkê zmiennoprzecinkow±
i przewidywanie instrukcji (branch prediction). Jest w pe³ni krosowalny (bypassed),
korzysta z technologii 64-bitowej i o¶miokilobajtowych pamiêci cache, po jednej
dla Instrukcji i Danych. Jednostki cache obs³uguj± technologiê ,,write-through''
- nigdy nie zostaj± ,,zanieczyszczone''.
<P>Rdzeñ EV45 ma parê usprawnieñ w stosunku do EV4 - usprawniono trochê jednostkê
zmiennoprzecinkow± i dodano 16KB cache (po jednym dla Instrukcji i Danych, obs³uguje
parzysto¶æ). (uwaga D.M.: w wiadomo¶ci email Neil Crook zauwa¿y³, ¿e zmiany
w jednostce FPU (jednostka zmiennoprzecinkowa, ang. floating point unit)
poprawiaj± wydajno¶æ podzielnika. Podzielnikowi FPU EV4 dzielenie o pojedyñczej
precyzji zabiera 34 cykle zegara, a dzielenie o podwójnej precyzji 63 cykle
(niezale¿nie od danych). Dla porównania FPU EV45 zabiera to zwykle 19 cykli (do 34)
i 29 cykli (do 63) (zale¿nie od danych).)
<P>Rdzeñ EV5 jest czteroinstrukcyjny, superpotokowany, w pe³ni krosowalny itp. Posiada
8 kilobajtowe pamiêci cache, po jednej dla I i D. Cache te obs³uguj± metodê
,,write-through''. Ma te¿ 96 kilobajtowy trójdro¿ny cache drugiego poziomu Scache (w
procesorze), u¿ywaj±cy metody ,,write-back'' (mo¿e zostaæ zanieczyszczony).
Ca³kowity wzrost wydajno¶ci EV4->EV5 jest wiêkszy ni¿ wzrost spowodowany samym
zwiêkszeniem szybko¶ci zegara. Zosta³a te¿ ulepszona mikroarchitektura, dla
zmniejszenia opó¼nieñ producenta/klienta na niektórych trasach danych.
<P>EV56 posiada mikroarchitekturê podobn± do EV5, jednak¿e dodaje nowe instrukcje
dla 8 i 16-bitowych obci±¿eñ (zobacz sekcjê ,,
<A HREF="#byte ld/st">O bajtach</A>''. Instrukcje te znajduj± zastosowanie g³ównie w sterownikach
urz±dzeñ. Rdzeñ EV56 jest zaimplementowany w CMOS6, który jest technologi± 2.0V.
<P>21064 zosta³ ukoñczony w marcu 1992. U¿ywa rdzenia EV4, ze 128-bitow± szyn± danych.
Szyna obs³uguje ,,³atwe'' pod³±czenie zewnêtrznego cache'u drugiego poziomu,
z rozmiarem bloku 256 bitów. Zegar Bcache jest konfigurowalny ca³kowicie programowo.
21064 mo¿e te¿ byæ skonfigurowana do u¿ywania 64-bitowej szyny zewnêtrznej
(nie jestem jednak pewien, czy jakakolwiek p³yta g³ówna dostêpna w sprzeda¿y u¿ywa
tego trybu). 21064 nie wymusza ¿adnego sposobu u¿ywania Bcache'u, jednak¿e
zazwyczaj jest on skonfigurowany jako write-back cache. 21064 zawiera obej¶cia
pozwalaj±ce zewnêtrznemu sprzêtowi utrzymaæ zgodno¶æ cache'u z Bcache'm i wewnêtrzn±
pamiêci± podrêczn±, ale nie polecam tego sposobu.
<P>21066 u¿ywa rdzenia EV6; zawiera wewnêtrzny kontroler pamiêci oraz mostek PCI. Dla
oszczêdzania wyprowadzeñ procesora, kontroler pamiêci ma 64-bitow± szynê danych (ale
wewnêtrzne pamiêci podrêczne maj± rozmiar blokowy 256 bitów, tak jak 21064, a wiêc
wype³nienie bloku zajmuje 4 cykle zegara szyny). Kontroler pamiêci obs³uguje
zewnêtrzny Bcache i zewnêtrzne DRAM'y. Czêstotliwo¶æ zegara Bcache i DRAM'ów jest
konfigurowana ca³kowicie programowo, mo¿e byæ dostosowana do rozdzielczo¶ci
cyklu zegara CPU. Czterocyklowy proces wype³niania bloku cache nie jest taki z³y,
na jaki wygl±da, poniewa¿ dostêp do DRAM'u dzia³a w trybie stronicowania. Niestety,
kontroler pamiêci nie obs³uguje ¿adnego z nowych ezoterycznych DRAM'ów (SDRAM, EDO
lub BEDO), ani synchronicznych RAM pamiêci podrêcznej. Interfejs szyny PCI jest
w pe³ni zgodny z norm± rev2.0 i dzia³a na czêstotliwo¶ci 33MHz.
<P>21164 ma 128-bitow± szynê danych; obs³uguje odczyt rozdzielony (split read), do
2 odczytów na raz (pozwala to na stuprocentowe wykorzystanie szyny danych w
idealnych warunkach - mo¿na teoretycznie przesy³aæ 128 bitów danych w ka¿dym
cyklu zegara szyny). 21164 pozwala na ³atwe pod³±czenie zewnêtrznego cache'u
trzeciego poziomu (Bcache), pozwala na synchronizacjê zewnêtrznych systemów ze
wszystkimi pamiêciami podrêcznymi. Rozwi±zania wieloprocesorowe s± wiêc ³atwe do
zaimplementowania.
<P>21164A zosta³ ukoñczony w pa¼dzierniku 1995. U¿ywa rdzenia EV56; jego wyprowadzenia
s± kompatybilne z 21164, jednak wymaga on oddzielnych szyn zasilaj±cych - wszystkie
piny zasilania pobieraj±ce +3.3V w 21164 zosta³y podzielone na dwie grupy; jedna
pobiera 2.0V dla rdzenia CPU, a druga 3.3V dla sekcji I/O (wej¶cia-wyj¶cia).
Inaczej ni¿ w innych implementacjach, wyprowadzenia 21164 nie toleruj± piêciu woltów.
Rezultatem tych zmian jest niekompatybilno¶æ p³yt g³ównych 21164 z procesorami
21164A (zauwa¿ jednak, ¿e zaprojektowanie p³yty 21164A obs³uguj±cej 21164 nie
by³oby trudne). 21164A ma te¿ kilka nowych wyprowadzeñ dla obs³ugi nowych
8 i 16-bitowych obci±¿eñ. Polepsza te¿ obs³ugê synchronicznych SRAM'ów do
implementacji zewnêtrznego Bcache.
<P>
<H2><A NAME="s4">4. Wydajno¶æ 21064 i 21066</A></H2>
<P>
<P>21064 i 21066 maj± ten sam rdzeñ (EV4). Je¿eli ten sam program zostanie uruchomiony
na 21064 i 21066, przy takiej samej szybko¶ci zegara, ró¿nica w wydajno¶ci jest
tylko rezultatem [wiêkszej] przepustowo¶ci Bcache/pamiêci. Ka¿dy w±tek kodu, maj±cy
du¿y wspó³czynnik wspó³pracy z <EM>wewnêtrznymi</EM> pamiêciami cache, bêdzie
wykonywa³ siê tak samo na obu jednostkach. Istniej± dwa g³ówne ograniczniki
wydajno¶ci:
<P>
<OL>
<LI>Kod który wykonuje du¿± liczbê zapisywañ. Chocia¿ 21064 i 21066 maj± bufory zapisu,
¿eby pokryæ niektóre opó¼nienia to i tak kod który intensywnie zapisuje bêdzie
zd³awiony przez przepustowo¶æ zapisu na szynie systemowej. To zjawisko zwiêksza siê,
poniewa¿ wewnêtrzna pamiêæ podrêczna cache dzia³a w trybie ,,write-through''.</LI>
<LI>Kod, który chce traktowaæ liczby zmiennoprzecinkowe (float) jako ca³kowite (integer).
Architektura Alphy nie pozwala na przysy³anie w trybie rejestr-rejestr z rejestrów
ca³kowitych na zmiennoprzecinkowe. Taka konwersja musi byæ dokonana w pamiêci
(i dlatego, poniewa¿ wewnêtrzna pamiêæ podrêczna dzia³a w trybie w-t, w Bcache).
(uwaga D.M.: wygl±da na to, ¿e zarówno EV4, jak i EV45 mog± wykonaæ konwersjê
przez podstawowy cache danych (Dcache), zak³adaj±c, ¿e pamiêæ jest ju¿ stronicowana.
W takim przypadku, zawarto¶æ sekwencji konwersji bêdzie uaktualniaæ Dcache,
a kolejne obci±¿enie jest w stanie, pod pewnymi warunkami, odczytaæ uaktualnion±
warto¶æ d-cache, zapobiegaj±c ka¿dorazowemu obej¶ciu trasy przez Bcache.
W praktyce, najlepiej jest wykonywaæ instrukcje stq/ldt lub stt/ldq jednocze¶nie,
co jest jednak nieintuicyjne.<BR></LI>
</OL>
<P>Je¿eli porównasz 21064A i 21066A, powstaje dodatkowy czynnik w postaci ró¿nych
rozmiarów Icache i Dcache w tych procesorach.
<P>21164 rozwi±zuje oba problemy: osi±ga <EM>znacznie</EM> wiêksze przepustowo¶ci szyny
systemowej (pomimo tego, ¿e ma tak± sam± ilo¶æ wyprowadzeñ sygna³owych - tak,
<EM>wiem</EM>, ¿e ma dwa razy wiêcej pinów ni¿ 21064, ale wszystkie dodatkowe to
zasilanie i masa! (tak, naprawdê!!)), posiada równie¿ pamiêæ podrêczn± pracuj±c±
w trybie write-back. Jedyny problem, który pozostaje, to odpowied¼ na pytanie
,,ile kosztuje?''.
<P>
<H2><A NAME="s5">5. Kilka uwag o zegarach</A></H2>
<P>
<P>Wszystkie obecnie produkowane procesory Alpha u¿ywaj± szybkich zegarów, poniewa¿
ich mikroarchitektury zosta³y zaprojektowane w tzw. systemie krótkich cykli zegara
(short-tick design). Dlatego te¿ ¿adna z szyn systemowych nie musi dzia³aæ z
potwornymi prêdko¶ciami.
<P>
<UL>
<LI>W 21066(A), 21064(A) i 21164 zewnêtrzna pamiêæ cache (Bcache) jest ca³kowicie
pogramowalna, nawet do rozdzielczo¶ci zegara CPU. Na przyk³ad w 275MHz-owym
procesorze czas dostêpu czytania Bcache mo¿e byæ kontrolowany z szybko¶ci± 3.6ns.</LI>
<LI>W 21066(A) zegar DRAM jest tak¿e programowalny, do rodzielczo¶ci zegara CPU
(<EM>nie</EM> zegara PCI, zegara procesora).</LI>
<LI>W 21064(A) i 21164(A), czêstotliwo¶æ szyny systemowej jest mno¿nikiem czêstotliwo¶ci
zegara CPU. Wiêkszo¶æ p³yt g³ównych 21064 taktuje szynê systemow± zegarem
o czêstotliwo¶ci 33MHz.</LI>
<LI>P³yty g³ówne, u¿ywaj±ce 21066 mog± taktowaæ PCI ka¿d± czêstotliwo¶ci± relatywn± do
czêstotliwo¶ci CPU. Jednak¿e PCI powinno byæ taktowane czêstotliwo¶ci± 33MHz.</LI>
<LI>P³yty u¿ywaj±ce chipsetu APECS (zobacz sekcjê
<A HREF="#The chip-sets">Chipsety</A>)
taktuj± szynê systemow± czêstotliwo¶ci± równ± czêstotliwo¶ci szyny PCI. Znaczy to,
¿e obie szyny
dzia³aj± zwykle na 25 lub 33MHz (poniewa¿ te czêstotliwo¶ci po pomno¿eniu s± równe
czêstotliwo¶ci procesora). Zegar kontrolera DRAM na p³ytach APECS jest ustawiany
programowo w granicach czêstotliwo¶ci szyny systemowej procesora.</LI>
</UL>
<P><B>Uwaga:</B> Kto¶ zasugerowa³, ¿e wydajno¶æ jego 21066 by³a za niska, poniewa¿
kontroler pamiêci tego procesora pracowa³ tylko na 33MHz. Jednak superszybkie
systemy 21064A posiadaj± kontrolery pamiêci taktowane ,,tylko'' 33MHz.
<P>
<H2><A NAME="s6">6. Chipsety</A></H2>
<P>
<P>
<A NAME="The chip-sets"></A>
DS sprzedaje dwa chipsety wspomagaj±ce CPU. Chipset 2107x (APECS) obs³uguje
21064(A), a 2117x (ALCOR) obs³uguje 21164. Zapowiadany jest 2117xA (ALCOR 2),
stosowany w 21164A.
<P>Oba chipsety posiadaj± kontrolery pamiêci i mostki PCI dla procesorów.
APECS korzysta z 32-bitowego mostka PCI, ALCOR natomiast z 64-bitowego,
który (zgodnie z wymaganiami specyfikacji PCI) mo¿e obs³ugiwaæ zarówno 32,
jak i 64-bitowe urz±dzenia PCI.
<P>APECS sk³ada siê z 6 208-pinowych uk³adów (cztery 32-bitowe prze³±czniki danych
(DECADE), jeden kontroler systemu (COMANCHE), jeden kontroler PCI (EPIC)).
Zapewnia kontroler DRAM (128-bitowa szyna pamiêci) i interfejs PCI. Wykonuje te¿
ca³± pracê potrzebn± do utrzymania zgodno¶ci pamiêci, kiedy urz±dzenie PCI
wykonuje bezpo¶redni dostêp do/z pamiêci (ang. DMA, Direct Memory Acces).
<P>ALCOR zawiera 5 uk³adów (4 64-bitowe prze³±czniki danych (Data Switch, DSW) -
208-pinowe PQFP i jeden kontrolny (Kontrola, Adresy I/O, CIA) - 383-pinowy
plastykowy PGA). Zapewnia kontroler DRAM (265-bitowa szyna pamiêci), oraz interfejs
PCI. W ten sam sposób co APECS obs³uguje DMA.
<P>Nie istnieje chipset dla 21066, poniewa¿ kontroler pamiêci i mostek PCI s±
zintegrowane z procesorem.
<P>
<H2><A NAME="s7">7. P³yty g³ówne</A></H2>
<P>
<P>Grupa in¿ynieryjna DS produkuje wzorcowe projekty, u¿ywaj±ce Alphy i w/w chipsety.
S± to w wiêkszo¶ci p³yty rozmiaru PC-AT, z funkcjonalno¶ci± nowoczesnej p³yty
g³ównej do Pentium. Pierwotnie te przyk³adowe p³yty mia³y byæ u¿ywane jako
punkty startu dla firm produkuj±cych tego typu produkty. Te projekty pierwszej
generacji by³y nazywane p³ytami ewaluacyjnymi (Evaluation Board, EB).
Poniewa¿ ilo¶æ czynno¶ci in¿ynieryjnych potrzebnych do wykonania p³yty g³ównej
wzros³a (z powodu zegarów o du¿ych prêdko¶ciach i norm emisji i podatno¶ci na
zak³ócenia), nacisk zosta³ postawiony na produkcjê p³yt g³ównych nadaj±cych siê
do sprzeda¿y detalicznej.
<P>Oddzia³y p³yt g³ównych Digitala wyprodukowa³y kilka generacji maszyn u¿ywaj±cych
procesorów Alpha. Niektóre z tych systemów u¿ywaj± logiki wspomagaj±cej
zaprojektowanej przez te oddzia³y, a inne chipsetów DS. W niektórych przypadkach,
p³yty u¿ywaj± kombinacji obu tych technik.
<P>Rózne firmy produkuj± p³yty u¿ywaj±ce procesorów Alpha. Niektóre projektuj±
systemy od podstaw, inne za¶ u¿ywaj± chipsetów DS, powielaj± lub modyfikuj±
przyk³adowe projekty Digitala, a nawet produkuj± komputery oparte na zbudowanych
i przetestowanych p³ytach DS.
<P><B>EB64</B>: Nie u¿ywana ju¿ p³yta do 21064 z kontrolerem pamiêci wykorzystuj±cym
logikê programowaln±. Wej¶cie/Wyj¶cie jest zapewnione przez u¿ycie logiki
programowalnej do interfejsowania uk³adu-mostu 486<->ISA. Wbudowany Ethernet,
SuperI/O (2 p. szeregowe, 1 p. równoleg³y, FDD) i ISA. Rozmiar PC-AT. Wykorzystuje
standardowe zasilacze PC.
<P><B>EB64+</B>: Do 21064/21064A (wykorzystuje APECS). Posiada szyny ISA i PCI
(3 ISA, 2 PCI, jedna para jest dzielona). Obs³uguje 36-bitowe SIMM'y DRAM.
Most do ISA'y jest tworzony za pomoc± mostka Intel SaturnI/O PCI-ISA.
P³yta posiada wbudowany kontroler SCSI (NCR 810 na PCI), Ethernet (Digital 21040),
kontroler klawiatury i myszy (z³±cze PS/2), SuperI/O (2 sz. 1 r., FDD), RTC
(ang. Real Time Clock - zegar czasu rzeczywistego - przyp. t³um.)/NVRAM. Boot ROM
to EPROM (to niedobrze - vide MILO HOWTO - przyp. t³um.). Rozmiar PC-AT.
Wykorzystuje standardowe zasilacze PC.
<P><B>EB66</B>: Do 21066 lub 21066A. Podsystem Wej¶cia/Wyj¶cia jest identyczny
do EB64+. Rozmiar PC-AT. Wykorzystuje standardowe zasilacze PC. Schemat EB66
zosta³ opublikowany jako plakat reklamowy dla 21066 jako "pierwszy mikroprocesor
na ¶wiecie posiadaj±cy wewnêtrzny kontroler PCI" (dla fanów plotek: s± dwie wersje
tego plakatu - ja narysowa³em obwody i napisa³em has³o [reklamowe] dla pierwszej,
a jacy¶ Amerykanie zmienili has³o dla drugiej wersji).
<P><B>EB164</B>: Do 21164 (i to jest w IMHO najlepszy wybór - sam na takim
systemie pracujê - a pracowa³em na wielu alfach - przyp. t³um.), u¿ywa ALCOR'a.
Posiada szyny ISA i PCI (3 sloty ISA, 2 64-bitowe sloty PCI (jeden jest
wspó³dzielony ze slotem ISA) i dwa 32-bitowe sloty PCI). U¿ywa SIMM'ów ,,plug-in''
do Bcache. Podsystem I/O zawiera SuperI/O (2 sz., 1 r., FDD), kontroler klawiatury
i myszy (z³±cze PS/2), RTC/NVRAM. Boot ROM to Flash (EEPROM - przyp. t³um.).
Rozmiar p³yty PC-AT. Wymaga zasilacza o napiêciu 3.3V.
<P><B>AlphaPC64</B> (<B>Cabriolet</B>): pochodzi od EB64+, ale teraz to p³yta
baby-AT z Flash Boot ROM. Nie posiada kontrolera SCSI ani Ethernetu. Trzy sloty ISA,
cztery sloty PCI (jedna para to slot dzielony), u¿ywa SIMM'ów Bcache typu
,,plug-in''. Wymaga zasilacza o napiêciu 3.3V.
<P><B>AXPpci33</B> (<B>NoName</B>): jest bazowany na EB66. Ta p³yta jest
produkowana przez Techniczny OEM (TOEM) Digitala. Jest przeznaczona dla procesora
21066 o szybko¶ci 166MHz albo 233MHz. Jest to p³yta rozmiaru baby-AT i wykorzystuje
standardowe zasilacze PC. Posiada 5 slotów ISA i 3 sloty PCI (jedna para jest
dzielona). S± dwie wersje p³yty - ze z³±czami klawiatury typu PS/2 lub du¿ego DIN.
<P>Inne p³yty g³ówne dla procesorów 21066: wiêkszo¶æ, je¿eli nie wszystkie p³yty dla
21066 s± bazowane na EB66 - nie ma wielu rozwi±zañ systemowych dla p³yt 21066,
poniewa¿ kontrola jest wykonywana w procesorze.
<P><B>Multia</B> (<B>Universal Desktop Box</B>): Jest to bardzo ma³y system
podstawowy, wykorzystuj±cy 21066. Na p³ycie znajduj± siê: 2 gniazda PCMCIA,
chip grafiki TGA (21030), Ethernet (chip 21040), kontroler SCSI NCR 810, oraz
kontroler stacji dysków, dwa porty szeregowe i jeden równoleg³y. Ma ma³e mo¿liwo¶ci
rozszerzenia (jeden slot PCI), ze wzglêdu na ma³y rozmiar. (Jest jakie¶ ograniczenie
w u¿ywaniu slotu PCI, nie pamiêtam jakie) (Zauwa¿, ¿e s± te¿ Multie do 21066A
i Pentium).
<P><B>DEC PC 150 AXP</B> (<B>Jensen</B>): Jest to bardzo stary system Digitala -
jeden z systemów Alpha pierwszej generacji. Jest tutaj za³±czony tylko z powodu
dostêpno¶ci takich p³yt na rynku komputerów u¿ywanych. Jensen jest
stoj±c± na pod³odze wie¿±. U¿ywa 150MHz 21064 (pó¼niejsze wersje u¿ywa³y szybszych
procesorów, ale nie jestem pewien co do prêdko¶ci). P³yta u¿ywa³a logiki
programowalnej do interfejsowania mostu 486 EISA - CPU.
<P>Inne systemy 21064(A): Istniej± 3 lub 4 p³yty (nie za³±czam tu <EM>systemów</EM>
Digitala) i wszystkie, które znam, wyeluowa³y z EB64+. S± to:
<P>
<UL>
<LI>EB64+ (niektórzy sprzedawcy pakowali p³ytê i sprzedawali j± bez modyfikacji);
rozmiar AT.</LI>
<LI>Krewny EB64+ firmy Aspen Systems; rozmiar baby-AT.</LI>
<LI>P³yta serwera firmy Aspen Systems; du¿o slotów PCI (razem z mostem PCI).</LI>
<LI>AlphaPC64 (Cabriolet), rozmiar baby-AT.</LI>
</UL>
<P>Inne systemy 21164(A): Jedyne, które znam, a nie s± klonami EB164, to p³yta wykonana
przez DeskStation. System ten zosta³ zaimplementowany przy u¿yciu kontrolerów I/O
oraz pamiêci stosowanych przez DeskStation. Nie znam ich stosunku do Linuxa.
<P>
<H2><A NAME="s8">8. O bajtach</A></H2>
<P>
<A NAME="byte ld/st"></A> <P>Kiedy architektura Alpha zosta³a przedstawiona, by³a unikalna po¶ród innych
architektur RISC z powodu przetwarzania 8 i 16-bitowych obci±¿eñ i zmiennych.
Wspomaga³a te¿ 32 i 64-bitowe. (,,longword'' i ,,quadword'' wg. nomenklatury
Digitala). Projektanci (Dick Sites, Rich Witek) wyja¶nili t± decyzjê nastêpuj±cymi
zaletami:
<P>
<OL>
<LI>Obs³uga bajtów w pamiêci podrêcznej i podsystemie pamiêci zwykle zwalnia dostêp
do 32 i 64-bitowych danych.</LI>
<LI>Obs³uga bajtów czyni ciê¿kim zbudowanie uk³adu korekcji b³êdów cache/pamiêci o
du¿ej prêdko¶ci.</LI>
</OL>
<P>Alpha kompensuje to przez zapewnienie silnych instrukcji manipuluj±cych grupami
bajtów w rejestrach 64-bitowych. Standardowe programy testuj±ce operacje na
³añcuchach (strings) (np. programy testuj±ce magazynu ,,Byte'') pokazuj±,
¿e wydajno¶æ Alphy jest bardzo wysoka przy operacjach na bajtach.
<P>Absencja bajtowych obci±¿eñ i ³adunków zmienia dzia³anie prze³±czników (semaphores)
w oprogramowaniu, oraz podsystemów wej¶cia/wyj¶cia. Rozwi±zanie problemu I/O
Digitala, to u¿ycie kilku niskopoziomowych linii adresowych do zdefiniowania
rozmiaru danych podczas przesy³ania I/O, oraz do dekodowania tych danych jako
bajtów. Jest to tzw. rozproszone adresowanie (sparse addressing). Marnuje ono
przestrzeñ adresow± i powoduje fragmentacjê pamiêci I/O (wiêcej o skutkach
rozproszonego adresowania kiedy uda mi siê co¶ o tym napisaæ). Zauwa¿, ¿e pamiêæ
I/O w tym kontek¶cie odnosi siê do wszystkich zasobów systemowych PCI i dlatego
odnosi siê zarówno do pamiêci PCI, jak i do przestrzeni adresowej PCI.
<P>Kiedy na rynek wyszed³ 21164A, architektura Alphy musia³a ju¿ zawieraæ adresowanie
bajtów. Wykonywanie tych nowych instrukcji na wcze¶niejszych procesorach spowoduje
wyj±tek ,,OPCDEC'' kodu PAL, a wtedy kod bêdzie obs³ugiwa³ ten wyj±tek, co bêdzie
mia³o wp³yw na wydajno¶æ. Skutkiem tego powninno byæ (wg. mnie) ograniczenie
korzystania z tych instrukcji do sterowników urz±dzeñ, a nie kodu aplikacji.
<P>Te nowe bajtowe obci±¿enia i ³adunki znacz±, ¿e przysz³e chipsety bêd± w stanie
obs³ugiwaæ zdefragmentowan± przestrzeñ I/O.
<P>
<H2><A NAME="s9">9. PALcode</A></H2>
<P>
<P>To jest miejsce na sekcjê opisuj±c± kod PAL. Napiszê j±, je¿eli bêdzie wystarczaj±ce
zainteresowanie.
<P>
<H2><A NAME="s10">10. Przenoszenie systemu na Alphê</A></H2>
<P>
<P>Mo¿liwo¶æ uruchamiania Linuxa na ka¿dej maszynie z Alph± jest ograniczona tylko
twoimi mo¿liwo¶ciami zdobycia informacji ma³ych detali jej wnêtrza. Poniewa¿
istniej± wersje Linuxa na EB66, EB64+ i EB164, wszystkie systemy oparte na 21066,
21064/APECS lub 21164/ALCOR powinny dzia³aæ pod Linuxem z ma³ymi albo bez ¿adnych
modyfikacji. G³ówna ró¿nica pomiêdzy tymi p³ytami g³ównymi, to sposób, w jaki
route'uj± przerwania. S± trzy ¼ród³a przerwañ:
<P>
<UL>
<LI>urz±dzenia na p³ycie</LI>
<LI>urz±dzenia PCI</LI>
<LI>urz±dzenia ISA</LI>
</UL>
<P>Wszystkie systemy u¿waj± mostku Intel System I/O (SIO), jako mostu PCI <-> ISA
(g³ówna szyna I/O to PCI, ISA jest drugorzêdn± szyn± u¿ywan± do obs³ugi wolniejszych
i ,,wyw³aszczaj±cych'' (ang. legacy) urz±dzeñ). SIO sk³ada siê z tradycyjnej,
po³±czonej pary 8259-tek.
<P>Niektóre systemy (np. NoName) route'uj± wszystkie przerwania przez SIO do
procesora, a inne maj± oddzielny kontroler przerwañ i route'uj± wszystkie przerwania
PCI i przerwanie SIO (wyj¶cie 8295) przez niego, a wszystkie przerwania ISA
przez SIO.
<P>Inne ró¿nice pomiêdzy systemami to:
<P>
<UL>
<LI>liczba slotów</LI>
<LI>posiadane urz±dzenia wbudowane w p³ytê</LI>
<LI>posiadany Boot ROM - Flash lub EPROM</LI>
</UL>
<P>
<H2><A NAME="s11">11. Wiêcej informacji</A></H2>
<P>
<P>Wszystkie p³yty ewaluacyjne Digital Semiconductor oraz projekty p³yt g³ównych nie
s± zastrze¿one, a ca³y zestaw dokumentacji do jednego projektu kosztuje oko³o 50$.
Sk³adaj± siê na niego wszystkie schematy, ¼ród³a czê¶ci programowalnych, arkusze
danych dla procesora i chipsetu. Zestawy dokumentacji mo¿na zakupiæ u dystrybutorów
Digital Semiconductors. Nie sugerujê tutaj, ¿eby szybko i¶æ i kupiæ te zestawy,
ale chcê zaznaczyæ, ¿e takie informacje s± dostêpne.
<P>Mam nadziejê, ¿e to HOWTO by³o pomocne. Komentarze/uaktualnienia/sugestie rozwoju
przesy³aj do
<A HREF="mailto:neal.crook@reo.mts.digital.com">Neala Crooka</A>.
<P>
<H2><A NAME="s12">12. Bibliografia</A></H2>
<P>
<P>
<A NAME="ref1"></A>
<A HREF="http://www.research.digital.com/wrl/publications/abstracts/TN-13.html">[1]</A>
Bill Hamburgen, Jeff Mogul, Brian Reid, Alan Eustace, Richard Swan, Mary Jo Doherty
i Joel Bartlett.<BR>
<EM>Opis Organicznych Systemów Iluminacyjnych</EM>. DEC WRL, Uwaga Techniczna 13,
Kwiecieñ 1989.
<P>
<H2><A NAME="s13">13. Od t³umacza</A></H2>
<P>
<P>Poniewa¿ by³o to HOWTO dosyæ skomplikowane pod wzglêdem technicznym, u¿y³em
tutaj wielu wyra¿eñ niezrozumia³ych dla ludzi nie zajmuj±cych siê elektronik±
cyfrow±. Jeden rzut oka do ksi±¿ki o elektronice dla pocz±tkuj±cych powinien
rozwiaæ te w±tpliwo¶ci.<BR>
To HOWTO jest jednym z dwóch potrzebnych do uruchomienia Linuxa na Alfie.
Drugie to MILO-HOWTO, które znajduje siê w wersji polskiej na serwerze projektu
JTZ (
<A HREF="http://www.jtz.org.pl/">http://www.jtz.org.pl/</A>).
Opisuje ono program ³aduj±cy Linuxa na Alfê (odpowiednik LILO).<BR>
Jak zwykle, je¿eli znajdziesz jakie¶ b³êdy albo masz ciekawe sugestie,
<A HREF="mailto:tygrys@fidonet.org.pl">napisz do mnie</A>.
</BODY>
</HTML>
|