Magistrale równoległe - PB Wydział Elektryczny

advertisement
Magistrale równoległe
(systemowe)
Magistrale
2/26
pamięci
zewn.
procesor
ukł.obsługi
PAO
dekodery
adresów
kontrolery
przerwań
timery
RTC
zbiór linii umożliwiających wymianę informacji
pomiędzy składnikami systemu mikroprocesorowego
w szczególności pobieranie i wykonywanie rozkazów
pamięć
programu
(ROM)
pamięć
danych
(RAM)
urz.
operatorskie
urz.
komunikacyjne
magistrala
systemowa
urz.
obiektowe
magistrale
komunikacyjne
inne systemy
panel operatorski
urządzenia
kontr-pomiar.
Magistrale systemowe - MUBUS
3/26
Magistrala MUBUS
D0..D15 - 16 linii danych;
A0..A15 - 16 linii adresowych;
ADMEMLOW, ADPERLOW - stroby odwołania do pamięci i I/O
REFRESHLOW - strob adresu odświeżania
NOTREADYLOW - brak gotowości
WRITELOW - strob wpisu
NODALOW - ważność danych na D0..D15
RESETLOW - zerowanie systemu
INTREQLOW, INTACKLOW - zgłoszenie przerwania i jego potwierdzenie
INTIN, INTOUT - sygnały łańcucha urządzeń przerywających
NMILOW - przerwanie niemaskowalne
HOLDREQLOW, HOLDACKLOW - żądanie DMA i jego potwierdzenie
HOLDIN, HOLDOUT - łańcuch urządzeń DMA
PROCREQLOW - żądanie dostępu do magistrali w systemie wieloprocesorowym
SYSTEMCLOCK, USERCLOCK - sygnały zegarowe;
-12V,-5V,0V,5V,12V - wewnętrzne linie zasilające;
-15V,0V,15V oraz 0V,5V - zewnętrzne linie zasilające, odizolowane
galwanicznie od wewnętrznych linii zasilających.
Magistrale systemowe - MUBUS
cykl odczytu pamięci
4/26
cykl odczytu urz. zewnętrznego
A15..A0
A15..A0
ADMEMLOW
ADPERLOW
NOTREADYLOW
NOTREADYLOW
WRITELOW
WRITELOW
D15..D0
D15..D0
cykl zapisu pamięci
cykl zapisu urz. zewnętrznego
A15..A0
A15..A0
ADMEMLOW
ADPERLOW
NOTREADYLOW
NOTREADYLOW
WRITELOW
WRITELOW
D15..D0
D15..D0
Magistrale systemowe - MULTIBUS
Magistrala MULTIBUS Intela
DAT0..DAT15 - linie danych;
ADR0..ADR15 - linie adresowe;
MRDC, MWTC - stroby odczytu i zapisu pamięci
IORC, IOWC - stroby odczytu i zapisu peryferii
XACK, AACK - sygnały potwierdzenia zapisu/odczytu przez pamięć lub I/O
INH1 - linia zakazu dla pamięci RAM
INH2 - linia zakazu dla pamięci ROM
INIT - zerowanie systemu
INT0..INT7 - wejścia przerwań
BREQ - sygnał żądania dostępu do magistrali
BUSY - sygnał zajętości magistrali
BPRN, BPRO - wejście i wyjście szeregowego łańcucha priorytetów
BCLK, CCLK - sygnały zegarowe magistrali zmienny i stały (max.10MHz);
-12V,-10V,-5V,0V,5V,12V - linie zasilające
5/26
Magistrale systemowe - MULTIBUS
cykl odczytu pamięci
6/26
cykl odczytu urz. zewnętrznego
ADR15..ADR0
ADR15..ADR0
MRDC
IORC
XACK
XACK
D15..D0
D15..D0
cykl zapisu pamięci
cykl zapisu urz. zewnętrznego
ADR15..ADR0
ADR15..ADR0
MWTC
IOWC
XACK
XACK
D15..D0
D15..D0
Magistrale systemowe - MULTIBUS II
Magistrala MULTIBUS II Intela
dla dowolnego typu mikroprocesora, także systemów wieloprocesorowych,
szybkość transmisji do 40MB/s
MULITIBUS II - to standard całego systemu wieloprocesorowego:
architektury, magistral, elektryczny, mechaniczny
Standard przewiduje 5 magistral do wymiany informacji:
 wielokanałowa (multichannel DMA bus);
 prywatna iSBX (intel IO expansion bus);
 lokalna iLBX (Intel local bus extension);
 szeregowa iSSB (intel serial system bus);
 równoległa iPSB (intel parallel system bus)
7/26
Magistrale systemowe - MULTIBUS II
iPSB
ma strukturę 5-szynową:
szyna danych i adresów:
multipleksowane AD0..AD31 oraz PAR0..PAR3
(kontrolne bity parzystości po jednym na każdy bajt szyny);
szyna sygnałów arbitrażu: BREQ i 6 linii ARBx na numer priorytetu;
szyna sterowania systemem: linie SC0..SC9,
których znaczenie zależy od realizowanego cyklu magistrali;
szyna sygnałów błędów: BUSRER - błąd parzystości na ADx lub SCx,
TIMEOUT - przekroczenie limitu czasu na potwierdzenie przyjęcia
transmisji;
szyna sterowań centralnych: RST, RSTNC, DCLOW, PROT,
BCLK, CCLK, LACHn
8/26
Magistrale systemowe - MULTIBUS II
9/26
Protokół magistrali iPSB składa się z trzech cykli:
cykl arbitrażu = faza rozstrzygania o dostępie do magistrali
+ faza przekazywania magistrali wybranemu procesorowi;
cykl przesłania = faza żądania (wysłanie adresu i rozkazu)
+ faza odpowiedzi (dane i ich stroby)
cykl komunikatu o wykrytym błędzie = faza sygnalizacji
+ faza powrotu
Magistrale systemowe - VME
10/26
Magistrala VME (Versa Module Eurocard - Mostek, Motorola, Signetics)
1981 - wersja A: połączenie standardu VERSAbus ze standardem płyt Eurokarty 1982
- wersja B
1985 - wersja C: wynik prac komisji IEC i IEEE
obecna wersja D: dostosowanie do mikroprocesorów 64-bitowych
Systemy modułowe z VME królują na rynku zastosowań przemysłowych
i militarnych.
Cechy:
 asynchroniczna,
 32 linie danych (wersja C), 64 (wersja D);
 32 linie adresów (wersja C), 64 (wersja D);
 niemultipleksowana (do wersji C), multipleksowana w wersji D;
 7 poziomów przerwań;
 możliwa praca wieloprocesorowa
 szeroka oferta rynkowa kaset i modułów w tym standardzie,
dostarczanych przez wielu producentów;
Magistrale systemowe - VME
11/26
Cechy c.d.
 występują 2 typy modułów: master - inicjator transmisji i slave - podrzędne;
 do jednej magistrali można dołączyć wiele masterów - ich żądania dostępu
do magistrali rozstrzyga centralny arbiter wchodzący w skład obligatoryjnego
sterownika magistrali, rezydującego w skrajnym lewym gnieździe;
 sterownik magistrali zawiera moduły funkcjonalne:
sterownik magistrali
nadajnik
zegara
systemu
czasomierz
magistrali
nadajnik
sygnału
IACK*
VMEbus
arbiter
monitor
stanu
zasilania
Magistrale systemowe - VME
12/26
Cechy c.d.
 maksymalna prędkość do 40MB/s;
 maksymalna długość 50cm;
 płyta magistrali zawiera od 2 do 21 gniazd;
 sygnały magistrali tworzą 4 szyny:
szynę transmisji danych (dane, adresy i podstawowe sterowania z potwierdzeniem);
szynę arbitrażu transmisji danych (wykorzystywana przez mastery
i moduły obsługi przerwań do przejmowania kontroli nad szyną transmisji danych);
szynę przerwań priorytetowych (7 linii przerwań priorytetowych,
potwierdzenie przyjęcia przerwania zwykłe i łańcuchowe);
szynę sygnałów pomocniczych
(zerowanie systemu, zegary, zasilania +5V, +12V, -12V, itp.);
 sygnały magistrali są podzielone na dwa złącza J1 i J2 (opcjonalne),
każde po 32x3 styki, J2 zawiera 8 st. linii adresowych, 16 st. linii danych,
powtórzone zasilania, 64 linii użytkownika;
 moduły VME mają wysokość 3U i tylko J1 albo 6U i oba złącza J1 i J2;
Magistrale systemowe - VME
13/26
Przykładowa konstrukcja pakietu JC z magistralą VME:
pakiet JC
właściwa JC
monitor
adresów
moduł
master
moduł
żądania
dostępu do
magistrali
VMEbus
moduł
obsługi
przerwań
moduł
zgłaszający
przerwanie
Magistrale systemowe - VME
14/26
Przykładowa konstrukcja pakietu we/wy lub pamięci:
pakiet typu slave
porty we/wy lub pamięć
moduł
zgłaszający
przerwanie
moduł slave
VMEbus
Magistrale systemowe - PC-ty
15/26
Magistrale równoległe PC-tów
8086/88
286
386
386
386
386
486
486
486
486
486
P5
P5
P5
ISA
P6 (Pro)
PCI
MCA
EISA
20Mb/s
33Mb/s 12,5Mb/s 132/264Mb/s
ISA - Industry Standard Architecture
EISA - Extended Industry Standard Architecture
MCA - Micro Channel Architecture
VLB - VESA Local Bus (Video Electronic Standards Association)
PCI - Peripheral Component Interconnect
VLB
120Mb/s
Magistrale systemowe - MCA i VLB
16/26
MCA- wymyślona przez IBM na potrzeby PS/2; po 32 linie danych i adresów;
ukierunkowana na wielozadaniowe S.O. i procesory 386/86;
do 16 mikroprocesorów na kartach rozszerzeń; kanały DMA 32-bitowe;
rozbudowana pamięć konfiguracji; karty rozszerzeń mają identyfikatory;
konfigurowanie kart tylko programowe; karty mogą być programowo włączane
i wyłączane; szybkość transmisji do 20MB/s.
VLB - 32-bitowa magistrala lokalna dedykowana dla sterowników dysków
i kart wideo; oparta na magistrali lokalnej procesorów 386/486;
złącze VLB umieszczane na przedłużeniu gniazda ISA; szybkość transmisji do
120MB/s.
Magistrale systemowe - ISA
ISA
17/26
tył obudowy
GND
RESET
+5V
IRQ2
-5V
DRQ2
-12V
/0WS
+12V
GND
/SMEMW
/SMEMR
/IOW
/IOR
/DACK3
DRQ3
/DACK1
DRQ1
/REF
CLK
IRQ7
IRQ6
IRQ5
IRQ4
IRQ3
/DACK2
T/C
ALE
+5V
OSC
GND
B1








B10









B20










B31
A1








A10









A20










A31
/IOCHK
D7
D6
D5
D4
D3
D2
D1
D0
IOCHRDY
AEN
A19
A18
A17
A16
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
szybkość transmisji
do 10MB/s
/MEMCS16 D1 C1
/IOCS16
 
IRQ10
 
IRQ11
 
IRQ12
 
IRQ15
 
IRQ14
 
/DACK0
 
DRQ0
 
/DACK5 D10 C10
DRQ5
 
/DACK6
 
DRQ6
 
/DACK7
 
 
DRQ7
 
Vcc
 
/MASTER
GND D18 C18
SBHE
LA23
LA22
LA21
LA20
LA19
LA18
LA17
/MEMR
/MEMW
SD08
SD09
SD10
SD11
SD12
SD13
SD14
SD15
Magistrale systemowe - EISA
18/26
EISA (Extended Industry Standard Architecture)
Cechy odróżniające od ISA:
poziom
ISA
 po 32 linie adresów i danych;
 dodano w sumie 90 nowych sygnałów do ISA;
poziom
EISA
 umożliwia pełne wykorzystanie 32-bitowych procesorów;
 zachowuje zgodność elektryczną i mechaniczną z ISA;
 dopuszcza wieloprocesorowość z hierarchiczno-priorytetowym dostępem
do wspólnych zasobów, dodatkowe procesory na kartach rozszerzeń;
 zwiększone możliwości DMA:
bloki do 4GB (w ISA do 64/128kB);
7 kanałów 8/16/32-bitowych (automatycznie dobierana “szerokość kanału”);
rotacyjny zamiast stałego system przydziału kanałów urządzeniom;
Magistrale systemowe - EISA
Cechy odróżniające EISA od ISA, c.d.:
 przerwania zgłaszane poziomem a nie zboczem jak w ISA,
co jest bardziej odporne na zakłócenia;
 4kB pamięci konfiguracji (dane płyty głównej i zainstalowanych kart);
 konfigurowanie kart wyłącznie programowe;
 rozbudowany kontroler magistrali, realizujący między innymi tryb burst,
łamanie i składanie bajtów przy dostępie do obiektów 8- i 16-bitowych,
rozróżniający cykle ISA i EISA;
 szybkość transmisji do 33MB/s.
Zastosowania:
przemysłowe systemy mikrokomputerowe;
19/26
Magistrale systemowe - PCI
20/26
PCI
Opracowana przez Intela jako odmiana 32-bitowej magistrali lokalnej,
niezależnej od typu procesora.
Umożliwia budowę bardzo dużych systemów:
 do 256 magistral PCI w jednym systemie;
 każda z magistral może obsługiwać do 32 urządzeń;
 każde urządzenie może spełniać do 8 funkcji.
Typowe płyty główne mają 1 magistralę PCI obsługującą do 10 urządzeń.
Częstotliwość pracy: 33MHz (66MHz)  szybkość transmisji 132MB/s (264MB/s).
64-bitowe rozszerzenie ma dwukrotnie większą szybkość transmisji.
Magistrale systemowe - PCI
21/26
Typowa konfiguracja PCI w komputerze typu PC
P
cache
sterownik PAO
sterownik PCI-arbiter
RAM
k.dźwiękowa
k.grafiki
k.wideo
PCI
interfejs
magistrali
zewnętrznej
mag.
ISA
EISA
MCA
k.sieciowa
karty
rozszerzeń
k.HDC/FDC
interfejs
magistrali
SCSI
mag.
SCSI
urządzenia
SCSI
Magistrale systemowe - PCI
22/26
Pamięć konfiguracji PCI
Każde z urządzeń ma 256B pamięci konfiguracji, które zawierają:
• 64B nagłówka o standardowym formacie:
Nagłówek zawiera między innymi dane: identyfikatory producenta
i urządzenia, rejestr komend, rejestr stanu, numer wersji urządzenia,
kod klasy urządzenia, rozmiar linii pamięci cache,
minimalny czas transmisji, itd.
• 192B specyficznych danych danego urządzenia.
Konfigurowanie magistrali i urządzeń PCI jest automatyczne/programowe.
Magistrale systemowe - PCI
23/26
Są dwa typy urządzeń dołączanych do PCI:
inicjatory (I), mogące przejmować sterowanie magistralą;
slave-y (S), tylko reagują na żądania transmisji (nadają/odbierają).
Możliwe są dwa warianty komunikacji: I  I oraz I  S.
tył obudowy
Spotyka się 4 warianty gniazd
magistrali PCI, zależnie od
podstawowe
120 styków
szerokości szyny danych
i napięcia zasilającego:
3,3V
5V
32b
64 styków
rozszerzenia
3,3V
5V
64b
Magistrale systemowe - PCI
24/26
Przerwania na PCI
Magistrala udostępnia tylko 4 kanały przerwań, ale mogą one być współużywalne
przez większą liczbę urządzeń. Arbiter magistrali PCI zawiera układ
programowalnego routera przerwań (PRP) sprzętowych.
IRQ8
INTA
urz.
X
8259A
slave
INTB
INTC
PRP
IRQ15
INTD
urz.
Y
urz.
Z
IRQ0
8259A
master
IRQ7
Magistrale pochodne PCI – AGP
AGP (Accelerated Graphics Port) to zmodyfikowana PCI:
• 32-bitowa magistrala do obsługi pojedynczej karty graficznej;
• ze względu na powyższe nie ma charakteru magistrali systemowej;
• wprowadzona w 1997r.;
• zoptymalizowana do szybkiego transferu bloków danych pomiędzy PAO
a kartą graficzną;
• transfer do 2133MB/s;
25/26
Magistrale pochodne PCI– PCIe
26/26
PCIe (Peripheral Component Interconnect Express):
• wprowadzona w 2004r. (v1.0);
• wyparła AGP, a także PCI;
• dedykowana do obsługi pojedynczej (jedno gniazdo = jeden sterownik PCIe)
karty rozszerzeń – głównie graficznej;
• ze względu na powyższe nie ma charakteru magistrali systemowej;
• wielkość gniazda zależna od prędkości transmisji,
a ta – od ilości linii transmisyjnych w złączu;
• transfer full-duplex od 250MB/s (v1.0 x1) do 16GB/s (v3.0 x16);
Download