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);