Systemy komputerowe Magistrale systemowe: Magistrala PCI Magistrala jest - - do jednego lub kilku miejsc przeznaczenia.! $ $ magistrali. Natomiast % & $( Sposób wykorzystania - linii magistrali danych - Taktowanie - synchroniczne lub asynchroniczne. Rodzaje operacji przekazu danych - zapis, odczyt, odczyt-modyfikacja-zapis, odczyt kontrolny, przekaz blokowy. - centralny lub rozproszony. Procesor Procesor Kontroler Magistrala podsystemu procesor- Most PCI P1394 Karta audio Karta graficzna Most ISA Karta sieciowa SCSI
)*+ (Peripheral Component Interconnect). Jest to lokalna magistrala, smisji operacji. 1. OPIS STANDARDU Norma PCI Local Bus (ostatnia wersja: Revision 2.2) wydana przez PCI Special Interest Group,,-. /0 1,, 23. $ 66 MHz). W protokóle transmisji danych ),, 23 )*+ $,- 4,- 25 /0 $ $ % 6 Nie przewidziano dodatkowego buforowania. Magistrala nie jest 7 8 )*+ emu procesor $ - $.+9: ;+9: 2*1 6 most-sterownik magistrali PCI. 2)*+ $!takich jak np. kontroler dyskowy - -sterownika magistrali. ) $ < $ $ 2 $ $ -wy, z których korzysta jednostka centralna. 7 )*+ $ podsystemu procesor centralny $ - $ * )*+ -wy - - $ )*+ procesorem Alpha jak i Pentium lub PowerPC. Warunkiem jest zainstalowanie odpowiedniego oprogramowania.
+ )*+ $ ) utomatyczna 2: +56 = $ ) $ a 6)*+ - by w specjalnie do tego celu wydzielonej przestrzeni adresowej zainicjowanie pracy. SZYCH TERMINÓW Agent komputera (ang. agent). Blokowanie ykonywania sekwencji $. 1 ( ane i potwierdza $ (ang. target). ( $ faz transmisji danych (ang. master). Most $. 1 $ 8. 1 Przes sekwencyjne podstawowy dla PCI tryb transmisji danych: po jednej - podawania ich adresów (ang. burst transfer).
!! ów operacyjnej) Wiersz $ 8 $ innych --. cache coherency).. )*+1 ( $. snooping). liczba bajtów - -ymiany..11 I PCI 2 )*+ $,- /0 9 % lne dla obu konfiguracji i specyficzne dla rozszerzenie 64.bitowego. $%& ( In Out t/s 9 9>? )> 9- s/t/s? 9 $ wysokiej impedancji jedynie poprzez aktywny stan wysoki, @ $gent. Nowy $ % biernym konieczne jest podtrzymanie stanu linii przez opornik o/d 9 galwanicznej. 9 A
N - )*+ 2 0B 0C. $0D1 (! ( AD[31::00] AD[63::32] Adres i dane C/BE[3::0] PAR C/BE[7::4] PAR64 Dodatkowe linie dla transmisji 64.bitowej FRAME REQ64 TRDY ACK64 IRDY Sterowanie STOP DEVSEL IDSEL INTA INTB INTC Przerwania LOCK INTD 9 awaryjne : PERR SERR REQ GNT SBO SDONE Kontrola 9 systemowe CLK RST JTAG s/t/s $%) (! % $( 9 Adres i dane (wspólne linie 1.1 9 9 Sygnalizacja sytuacji awaryjnych. 9 LOCK 9
RST in 9 < $ IDSEL in 9 PCI podczas operacji odczytu i zapisu rejestrów konfiguracyjnych. CLK in 9 cy wszystkie )*+ 9 doprowadzony do wszystkich stanowisk. Wszystkie RST, INTA, INTB, INTC oraz INTD CLK % $ $. stanie niskim) zmieniona w zakresie od 0 do,,23. $ 1 2 )*+ $ REQ t/s 9 prze GNT t/s % & GNT. AD[31::00] t/s ) ch. ) C/BE[3::0] t/s Linie multipleksowane. % % E,-0] danych. PAR t/s F.1 AD[31:00] i C/BE[3::0], 8 FRAME s/t/s 9 $ 6 8 st FRAME przechodzi w stan wysoki.
IRDY s/t/s 9 $ ) IRDY wystawione na liniach AD[31::00] ) $ G IRDY i TRDY TRDY s/t/s 9 < $ ) TRDYiach AD[31::00]! TRDY jest aktywny podczas $ DEVSEL s/t/s 9 adresata zainicjowanej operacji. PAR t/s F. 1 liniami AD[31:00] i C/BE[3::0], 2 PAR 2 bitem PAR przy odczycie danych. STOP s/t/s 9 - - zaprzestania wykonywan PERR s/t/s 9 SERR o/d 9 adresu lub danych podczas cyklu specjalnego lub $ katastrofalne skutki. Utrzymywany jest w stanie niskim na czas jednego impulsu zegarowego.
LOCK s/t/s 9, podczas wykonywania operacji nierozdzielnych, do. 1 2 pozostaje zablokowany do momentu, kiedy oba FRAME i LOCK 2 LOCK $ $. 1? LOCK. $%$ * ( ( $) +, INT[A::D] o/d =. 1 7 $ e $ 7 $ linii INTA. SDONE in/out 9 operacyjnej $ buforowaniem. Aktywny SDONE (w stanie wysokim) % SBO: w stanie wysokim informuje, pa % $ $ SBO in/out 9 $ )*+ $ 7 SDONE (stan wysoki) )*+ y z odczytem lub (
$%, (! (! +,! AD[63::32] t/s 2 % faz % REQ64 i ACK64 stanie niskim, po liniach tych transmitowane,- C/BE[7::4] t/s 9 % a! REQ64 i ACK64 EC-0H PAR64 t/s 9 AD[63::32] i C/BE[7::4]. REQ64 s/t/s 9 /0 FRAME. ACK64 s/t/s 9 /0 DEVSEL.!?:I.?*&?+?6?29?J9?A1 )*+ zaleceniami standardu IEEE 1149.1. 4. OPERACJE NA MAGISTRALI PCI,%& % $ $ ) $ $ samym czasie, potrzebny jest mechanizm rozstrzygania o wyniku % )*+ indywidualnymi liniami REQ i GNT : $ )*+.
1 REQ $.1GNT. 2 2 REQ GNT REQ GNT Centralny 2 REQ GNT = )*+ $ 2 $ zasada kto pierwszy ten lepszy, priorytet cykliczny lub inny!!! = 0 ::F :: REQa ustawiony w stan niski. ) 4 )
zegarowego arbiter, przez ustawienie sgnta (w stan niski), : :: $.FRAME i IRDY 1GNT jest w stanie niskim. Operacja zegarowego 3, kiedy FRAME ) : $ - REQa w stanie aktywnym. Podczas 3. impulsu FRAME jest w stanie niskim, arbiter F 0GNTGNTa w : : 0 :F wykrywa koniec operacji FRAME i IRDY 6 :F KFRAME i IRDY stanie wysokim. Operacja prowadzona przez agenta B zostanie C ) / REQ FRAME w stanie 6 F przeprowadzenia jednej operacji. W nas :REQ : $ REQ w ) 9 GNT! $ 2 $ 2. 1?. GNT zu agenta w stanie niskim), $ REQ w stan niski.,%) - 2 wykonania operacji wy + do magistrali.
) )*+ na w 9. 1 = )*+ -wy. Ws. 1 % ) nieustalo ) )*+ ( FRAME trwania operacji. IRDY TRDY pojedynczej fazy pojedynczej fazy transmisji danych. 2 FRAME i IRDY ) z FRAME.1 adresu (po liniach AD[31::0]). W tym czasie liniami C/BE[3::0] = CLK < TRDY i IRDY! IRDY lub TRDY jest w stanie wysokim, owadza cykle oczekiwania. : $ LRDY w.irdy dla cyklu zapisu oraz TRDY 1 : xrdy w stan niski lub wysoki, $ 2 IRDY $IRDY oraz FRAME TRDY. 2 FRAME IRDY )FRAME do
4.3 Rozkazy magistrali PCI ). adresowej), po liniach C/BE[3::0], AD[31::00] J $ J( i. danych, ii. we-wy, iii. < tawiono w tabeli: C/BE[3::0] Typ operacji Komentarz 1. 0000 Potwierdzenie przerwania Bezadresowa, odczyt 2. 0001 Cykl specjalny Bezadresowa, zapis 3. 0010 Operacja czytaj z we-wy We-wy 4. 0011 Operacja zapisz we-wy We-wy 5. 0100 Zarezerwowane - 6. 0101 Zarezerwowane - 7. 0110 * ) $ 8. 0111 < ) $ 9. 1000 Zarezerwowane - 10. 1001 Zarezerwowane - 11. 1010 * Konfiguracja 12. 1011 < Konfiguracja 13. 1100 % ) $ 14. 1101 Podwójny cykl adresowy (64 bity) ) $ 15. 1110 * ) $ 16. 1111 < ) $
Potwierdzenie przerwania - )*+ ) $ rozkaz potwierdzenia przerwania.1 @ AD[31::00] tej operacji wykorzystywane i ich stan w fazie prz. $ 1 & DEVSEL % transmisji danych linie C/BE[3::0] Rozkazy typu cykl specjalny. M N M N1. DEVSEL). W fazie adresowej stan linii adresowych jes$ Rozkazy czytaj z we-wy i zapisz we-wy -wy. W fazie adresowej po liniach AD[31::00]. $ 1 przestrzeni -wy. Rozkazy i.$ 1 Rozkazy typu i wykorzystywane odczytywania i zapisu informacji w przestrzeni adresowej (wybranego agenta) zarezerwowanej dla potrzeb konfiguracji. 8 - $ Rozkazy typu podwójny cykl adresowy korzystania z adresacji 64.bitowej. Rozkazy typu Rozkazy typu kompletu bajtów odwzorowywanych w jednym lub kilku wierszach 2 podczas jednej operacji. Wykonanie tego rozkazu wymaga sprawdzenia
% $zytaj lub zapisz ) 4.4 Adresowanie & )*+ $! DEVSEL. 9 TRDY, potw $ $ DEVSEL. Raz ustawiony DEVSEL $ danych. ) adresu: pozytywne i % )*+ 2? $ F )*+ Najkrótszy dopuszczalny czas reakcji przy dekodowaniu negatywnym $ CLK 7, ( 5. CLK 1 2 3 4 5 6 7 8 FRAME DEVSEL (!! $%& 6 AD[1::0], w fazie pr 6 AD[1::0] DEVSEL. 9 C/BE[3::0] liniami AD[31::0] 2 $ $ $ 2
$ $ AD[31::0] i C/BE[3::0]! $ wykorzystania linii magistralowej przez kolejnych agentów powinien $ ) 4.5 Rozkazy konfiguracyjne % )*+ ) & )*+ $ -K/ w w przestrzeni rejestrów konfiguracji. $ $ IDSEL, który w J $ IDSEL jest warunek AD[1::0]O>PP> % linii AD[7::2]. % 2G $ -K/ =.1 jest po liniach AD[10::8]. Zarezerwowane MF Nr rejestru 0 0 % ()*+,!+ Most PCI-PCI Most PCI-PCI!
% )*+ rysunku 7, kierowana do odpowiedniego mostu PCI-PCI, informacja adresowa (dla przestrzeni rejestrów konfiguracji) ma bardziej $ ), $ Zarezerwowane Nr magistrali 7 MF Nr rejestru 0 1 % (-*+,!+ Dopiero na poziomie odpowiedniego mostu zaadresowanej magistrali. 1 po liniach AD[15::11]. 1 odpowiedniej linii IDSEL adresowej okrojonej do postaci typu 0 (rysunek 6). Sposób st IDSEL %. B MQQQQQQQN1 wystawianie ad. B1 $ IDSEL.? FRAME. CLK 1 2 3 4 5 6 7 FRAME AD IDSEL DEVSEL IRDY TRDY ADRES DANE $!+!+,!+ J $.4/ 1.,- 1 Podczas operac
. AD[7::2]).,%+ )je bitów odebranych z linii AD[1::0] % AD1 AD0 Rodzaj transmisji 0 0 0 1 1 X ) adresowych AD[31::02]. %.!+!! Na rysunku 10 przedstawiono przebiegi czasowe 32.bitowej operacji ) FRAME
) 2. impulsu zegarowego stan linii AD[31::0] oraz linii C/BE[3::0] G,?eraz linie C/BE G $ TRDY $ 2zane F C/BE $ 2 TRDY jest w stanie wysokim, konieczne jest DEVSEL przejdzie w stan niski, $ )TRDY lub IRDY jest 2 $ ane podczas impulsu zegarowego 4. Faza IRDY i TRDY 0 / D podczas impulsów 3, 5 i 8. Pierwsza faza TRDY jest w stanie wysokim, natomiast IRDY jest w stanie wysokim podczas impu C 2. FRAME 1 C 2 $ mpulsu zegarowego 7, wobec czego D = 44 32.bitowej operacji zapisu J FRAME w stan niski w czasie impulsu zegarowego 2. Operacja zapisu jest podobna do operacji odczytu z tym.1 G same dla obu operacji. % 44 % trzeci % 6. FRAME w stanie wysokim) w /! podczas impulsu zegarowego 8.
.!+!,%. *! równoczesnej modyfikacji danych przez kilka procesorów, stosowany jest mechanizm % systemach $ $ docelowego dla przeprowadzenia sekwencji operacji nierozdzielnych. W tym czasie ten fragment powini $ innych agentów F $ zadanie ( $). W celu zab )*+ LOCK. : REQ powinien sprawdz$ LOCK 9 LOCK momentu, w któr 9 FRAME i LOCK! LOCK $REQ - $ zwolni.! LOCK magistrali, przej$ Pozostali agenci nie $ LOCK a magistrali. W czasie kiedy LOCK, pozostali. 1 efektywnie $
)*+ $ 4.8 Wykorz = )*+ na magistrali PCI z $. 1 % SDONE i SBO. Przy ich & $ $ 9 SDONE jest ustawiany w stan wysoki, kiedy procedura kontrolna a a. Stan niski su SBO oznacza, nieaktualne dane &y SBO i SDONE oznacza to, $ agenta. 4.9 Operacje w przestrzeni adresowej rejestrów we-wy W przypadku operacji wykonywanych w przestrzeni adresowej zarezerwowanej dla operacji we-wy, wszystkie linie AD[31::0]. 1 &$ $.,-1 -wy. =? : )*+ $ 9$ danych, wyznaczana przez C/BE $ zaadresowanego sterownika we-wy. W przestrzeni rejestrów we-wy linie AD[1::0]. 1 AD1 AD0 C/BE3 C/BE2 C/BE1 C/BE0 0 0 X X X L 0 1 X X L H 1 0 X L H H 1 1 L H H H
4.10 Przerwania % )*+ = INTL przerwania i powoduje po pewnym czasie wykonanie rozkazu potwierdzenia przerwania (linie C/BE[3::0]=0000) dla odczytania % AD[31::0] nie. $ $ DEVSEL). Wektor AD[31::0] danych, kiedy TRDY % $ $ przed czasem.,%&& /0 (i PCI < )*+ $ 2 2 $ $ D % $ STOP 9 STOP raz $ FRAME nie przejdzie w stan wysoki. 2 nia operacji, przez FRAME IRDY jest w + IRDY i TRDY & 2 $ limitu czasu przewidzianego na wykonanie danej operacji. 4.12 Cykl specjalny J 7 2 $ komunikat jest skie J DEVSEL % C/BE[3::0] specjalny, natomiast linie AD[31::0]
% AD[15::0]? AD[31::16] $ ów.,%&$ 1 ( % AD[31::0] i C/BE[3::0] )*+ : $ AD, ( PERR oraz SERR ) ) $ )$ przez dwa impulsy z 9 SERR 9 SERR $ kilku agentów 4.14 Rozszerzenie magistrali PCI do 64 bitów Rozszerzenie magistrali do 64 bitów wymaga 39 dodatkowych ( REQ64, ACK64, AD[63::32], C/BE[7::4] oraz PAR64 6/0 F REQ64 2 /0 ACK64.? $ /0 ),- % AD[63::32] lub C/BE[7::4]PAR64 przechodzi w stan niski. Na rysunku 12 przedstawiono przebiegi czasowe 64.bitowej operacji 2/0 REQ64 2 $ ACK64 w sta 9 FRAME i DEVSEL przy operacjach 32.bitowych. :,- $ /0! /0 64.bitowej, wówczas automatyc $ wykonanie operacji 32.bitowej.
&