This file is indexed.

/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&lt;->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 &lt;-> 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>