Magistrale systemowe komputera PC
Magistrala jest integralną częścią komputera służącą do przesyłania informacji pomiędzy poszczególnymi komponentami oraz urządzeniami zewnętrznymi.
ISA 8 bitowa (krótka)
Komputery PC/XT i nowsze wyposażone są w umieszczone w płycie głównej 62koncówkowe gniazda rozszerzenia. W gniazdach tych można umieszczać karty 8bitowe. Są one równolegle połączone, dlatego teorytycznie obojętne jest, w którym z gniazd umieszczona zostanie dana karta. W praktyce pewne karty umieszczone zbyt blisko siebie mogą się zakłócić wzajemnie. Szyna danych ma szerokość 8bit, natomiast szyna adresowa waha się od 16bit do 32bit w zależności od liczby adresowanych urządzeń (typowo 20bit), natomiast taktowana jest zegarem 5MHz.
ISA 16 bitowa (długa)
Składa się ona z grup:pierwsza 62 stykowa jest zgodna (za wyjątkiem dwóch sygnałów OWE i REF) z 8 bitową magistralą XT, druga stanowi jej 36 stykowe uzupełnienie. Na dodatkowe gniazda 2 grupy składają się: 8 bitów danych, 4 bity adresu, 5 lini przerwań. Otrzymana w ten sposób 16 bitowa szyna danych oraz większa częstotliwość zegara używanego przez procesor spowodowała zwiększenie szybkości transmisji na tej magistrali od 5,3 MB/s, 8,3 MB/s do 10 MB/s. Karty rozszerzające ISA 8 bitowe można instalować w gniazdach ISA 16bit. Natomiast nie zaleca się instalowanie kart 16 bitowych w złączach 8bit ponieważ nie zostaną one w pełni wykorzystane. Karty ISA były podstawowymi kartami komputerowymi PC. Wtych magistralach pracowały karty video, karyt portów równoległo-szeregowych, karty interfejsów IDE, HDD, floopy oraz karty dodatkowe: interfejsy CD-R, interfejsy do skaneów, kart sieciowych i kart muzycznych.
Magistrala MCA (Micro Chanel Archtecture)
Archtektura MCA jest wytworem firmy IBM i została po raz pierwszy wprowadzona w modelach PS/2. Ma w niej miejsce zdecydowany odwrót od standartu ISA oraz wyklucza współpracę z osprzętem ISA. Przepustowość magistrali zewnętrznej MCA sięga 20 MB/s. Magistrala systemowa ma szerokość 32 bitów (zarówno adresowa jak i danych) ale taktowana jest zegarem 10MHz i co gorsza na każdą transmisję przypadają 2 cykle zegarowe dla porównania ISA-4 cykle, EISA-1 cykl; co jest absolutnym novum plus wszystkie 8 kanałów DMA może być jednocześnie aktywne. Nie trzeba chyba dodawać jakie znaczenie ma to dla systemów wielozadaniowych. System przerwań dzięki realizacji idei wyzwalania poziomem (a nie jak to miało miejsce w archtekturze ISA) i przydziału 1 kanału wielu urządzeniom zapewnia obsługę 255 urządzeń. Karty rozszerzające system MCA nie są już anonimowe.
Każda z nich ma swój numer identyfikacyjny-produktom innych wytwórców nadawane są numery uzgadniane centralnie z IBM. System ten umożliwia jednoznaczną identyfikację rodzaju karty. Jej konfiguracja odbywa się wyłączniew drodze dialogu z programem instalacyjnym. Na karcie brak jest jakichkolwiek zwór i przełączników. Informacja o konfiguracji karty przechowywana jest w systemowej pamięci COMS. Ponieważ pojedyncze gniazda magistrali zewnętrznej zaczęły być identyfikowane w ramach systemu, dało to możliwość programowego, a więc bez otwierania obudowy komputera odłączenia karty tkwiącej fizycznie w złączu, co pozwala na uelastycznienie konfiguracji sprzętowej. W systemie mogą być na stałe zamontowane wykluczające się wzajemnie karty. W stosownym momencie można aktywować jedną z nich programowo. Konstrukcja złącz MCA jest zbliżona do konstrukcji złącza ISA. Należy nadmienić, że konstrukcja złącz MCA umożliwia stosowanie nie tylko kart 32 bitowych ale i ich uproszczonych wersji o szerokości 8 i 16 bitów.
Magistrala EISA (Extendet ISA)- rozszerzona ISA
Architektura EISA jest niezwykle kosztowna ze względu na swoją kompilkację. Zachowana bowiem zostaje możliwość współpracy z dotychczasowymi peryferiami ISA. Standart EISA jest kompatybilny z kartami ISA, lecz dopiero wyposażenie płyty ISA w karty standartu EISA udostępnia pełne możliwości systemu. Karty rozszerzające EISA mają do dyspozycji oprócz wielu sygnałów sterujących 32 bity systemowej szyny adresowej i 32 bity systemowej szyny danych. Na magistralę zewnętrzną EISA składa się 98 sygnałów ISA oraz 90 nowych lini. Nie wszystkie nowe sygnały są jednoznacznie zdefiniowane, pozostawiono tu miejsce dla specyficznych rozwiązań producentów wysoce wyspecializowanych kart. Aby zachować wymóg zgodności z kartami ISA, gniazda EISA mają szczególną konstrukcję, styki gniazd ułożone są na dwóch poziomach. Poziom górny dostarcza wszystkich sygnałów ISA, natomiast poziom dolny położony w głębi EISA. Normalna karta ISA nie może być wsunięta tak głęboko by sięgać nimi dodatkowych styków, uniemożliwiają to poprzeczne zapory. Nie są one jednak przeszkodą dla kart EISA posiadających w odpowiednich miejscach wycięcia. System EISA dysponuje podobnie jak ISA 15 kanałami IRQ.
Nowością jest zmiana sposobu wyzwalania przerwań. Standart ISA używał zbocze impólsów co jest metodą bardzo podatną na zakłócenia. EISA wymaga od zgłaszającego przerwanie urządzenia utrzymania aktywnego poziomu sygnału, przekroczenia określonego poziomu napięcia a nie tylko jego wzrostu. 64 bajty pamięci konfiguracji z architektury AT zastąpione zostały 4kB w standarcie EISA. Pamięć ta przechowuje nie tylko informację o konfiguracji płyty głównej ale i o zainstalowanych kartach. W kartach EISA nie ma żadnych przełączników konfiguracyjnych, ani zwór. Konfigurowanie systemu odbywa się programowo.
Przepustowość magistrali EISA wynosi 33 MB/s.
Magistrala VESA (VLB,Vesa Local Bus)
Z gromady rozmaitych rozwiązań na czoło wysunął się standart VESA stworzony przez organizację Video Electronic Standards Asociaction, w którym główny udział ma firma NEC. Struktura VESY jest bardzo mocno związana z osprzętem, ponieważ jest ona bezpośrednio połączona z magistralą lokalną procesora. Rozwiązanie takie sprawiło że koszt umieszczenia magistrali VESA w systemie 386/486 jest bardzo niski a z drugiej strony tak silne związanie sprawi że magistrala VLB umrze śmiercią naturalną gdy systemy 386/486 wyjdą z użycia.
Magistrala zewnętrzna VESA taktowana jest zegarem procesora, którego częstotliwość nie może przekroczyć 40MHz. Przepustowość szyny danych dochodzi do 120 MB/s co głównych konstruktorów (MCA,EISA,ISA) pozostawia daleko w tyle. Samo złącze VESA jest dodatkowym gniazdem umieszczanym w jednej lini z gniazdem ISA. Daje to możliwość użytkowania w takim gnieżdzie kart nowego standartu, które sięgają swoimi stykami do dodatkowego gniazda, jak i kart ISA. Płyta główna standartu VESA jest tańsza od EISA (zważywszy istotę jej budowy). Również karty rozszerzenia pracujące w tym systemie są tańsze. Karty graficzne VLB są 2-3 razy szybsze od swoich konkurentek. Dodatkowy wzrost wydajności karty w środowisku Windows gwarantują specialne opracowane procesory graficzne: Weitek W5086 S386C911, które jednak podczas pracy w środowisku DOS nie dają żadnej korzyści. Wgniazdach typu VLB można umieszczać oprócz karty sterownika monitora także kontrolery dysku.
Magistrala PCI (Peripherial Component Interconnect)
Magistrala PCI opracowana przez Intela jest rozwiązaniem 32 bitowej szyny lokalnej. Pomimo zbliżonych parametrów w dość krótkim czasie wyparła magistralę VESA. Stało się tak dlatego że magistrala PCI jest niezależna od typu procesora. Może ona pracować z częstotliwością do 33 MHz, co daje przepustowość w granicach 132 MB/s. Magistrala PCI pracuje w trybie burst, co oznacza dostęp do adresowaneg obiektu w jednym takcie zegarowym. Zdefiniowane jest również 64 bitowe rozszerzenie magistrali PCI, które umożliwia transfer danych z prędkością do 264 MB/s i częstotliwością 66MHz.
Gniazda magistrali PCI odbiegają kształtem od gniazd ISA i VESA, co uniemożliwia umieszczenie karty PCI w niewłaściwym miejscu. Gniazda magistrli PCI mogą mieć kilka wariantów. Klucz uniemożliwiający włożenie niewłaściwego typu karty jest umieszczony w różnych miejscach zależnie od poziomu napięcia zasilającego magistralę: 3,3V lub 5V. Magistrala PCI daje możliwość tworzenia złożonych systemów. Wjednym systemie, zgodnie ze specyfikacją 2.1 standartu PCI może współpracować do 256 magistral PCI, przy czym każda z nich możeobsługiwać do 32 urządzeń PCI, a każde urządzenie może pełnić do 8 funkcji. O możliwościach architektury PCI może świadczyć fakt, że w produkowanych obecnie komputerach wykożystywana jest tylko jedna magistrala PCI obsługująca 10 urządzeń. Na płytach głównych umieszcza się zwykle 4 gniazda PCI (standart dopuszcza 32 gniazda).
Magistrala AGP (Accelerated Graphics Port)
AGP został stworzony przez Intela nie po to, by wyprzeć magistralę PCI, ale by stać się jej uzupełnieniem. 132 megabajty na sekundę oferowane przez PCI okazały się zbyt małą prędkością dla coraz bardziej wymagających aplikacji, korzystających z grafiki przestrzennej; powodem stały się ogromne ilości tekstur nakładane na trójwymiarowe obiekty. Profesjonalne, ale i bardzo drogie akceleratory graficzne mają własną pamięć tekstur (czasem dochodzącą do 64 MB), jednak rozwiązanie to, mimo niskich cen pamięci, nadal jest za drogie dla użytkowników prywatnych. Także tanie karty graficzne ładują aktualnie wykorzystywane tekstury do własnej pamięci, ale nawet 4-magabajtowe akceleratory zostawiają na nie "zaledwie" 2-2,5 MB pamięci. AGP, dzięki szybkości przesyłania danych wynoszącej 528 MB/s oraz podziałowi na szynę danych oraz szynę adresową, pozwala procesorowi karty graficznej pobierać tekstury bezpośrednio z pamięci operacyjnej komputera (dla optymalnej pracy zalecana jest pamięć SDRAM). Zatem karty AGP całą swoją lokalną pamięć mogą w zupełności przeznaczyć wyłącznie na bufor ramki oraz bufor Z.
Magistrala AGP jest ponadto taktowana zegarem 66 MHz, czyli dwukrotnie szybszym niż PCI (33 MHz). Nowa specyfikacja PCI 2.1 także podnosi poprzeczkę dla PCI do 66 MHz, jednak najnowsza wersja AGP zwana "2X" to już 133 MHz. W karcie AGP są dwustronne listwy połączeniowe o 132 kontaktach (po 66 z każdej strony). Obecnie prawie każda pojawiająca się na rynku płyta główna ma już złącze AGP "na pokładzie", prawie każda karta graficzna PCI ma swój odpowiednik AGP.
Magistrala AGP może pracować w jednym z trzech trybów:
- tryb x1- proste rozszerzenie standartu PCI osiągane przez podwojenie częstotliwości pracy zegara do 66MHz. Maksymalny transfer wynosi 264 MB/s (66MHZ x 32 bity)
- tryb x2- częstotliwość zegara nie ulega zmianie ale wymiana danych odbywa się w momentach wyznaczonych przez obydwa zbocza impulsów taktujących. W efekcienastępuje "pozorny" wzrost częstotliwości zegara do 133MHz. Przepustowość magistrali sięga 532 MB/s (133MHZ x 32 bity). Obniżanie poziomów napięć z 5V do 3,3V łagodzi wymagania na stromość zboczy coraz to krótszych sygnałów.
- tryb x4- pracuje na znacznie obniżonych poziomach napięć (1,5V). Tak spłaszczone przebiegi mają dostatecznie strome zbocza by podołać wymogom bardzo szybkiej magistrali. Magistrala przesyła w porównaniu z trybem x2 podwójną ilość danych, bowiem pomiędzy dowolnymi dwoma zboczami zegara mają miejsce dwie tranzakcje przesyłu danych. Odpowiada to przepustowości równej 1064 MB/s (266MHz x 32 bity).
Istnienie dwóch odmiennych standartów poziomów napięć oznacza konieczność rozróżniania wyrobów w wersji 1,5V od modeli 3,3V. Służy temu specjalnie uformowana listwa kontaktowa gwrantująca blokadę mechaniczną. Istnieje również uniwersalne złącze AGP obsługujące standarty napięć AGP.
INNOWACJE
a) Przesyłanie potokowe danych tzw pipelining. Klasyczne znane z protokołów PCI sekwencyjne przesyłanie danych typu adres-przerwa-dane zostały zastąpione przesyłaniem potokowym, w którym nie ma niewykożystanych przerw. Zostały one wykożystane na transmisje adresów i rozkazów.
b) Magistrala SBA- jest 8 bitową magistralą pomocniczą, służącą do przekazywania adresów i rozkazów (do płyty głównej).Jwśli koltroler graficzny korzysta z tej możliwości, całe pasmo przenoszenia wykożystane jest do transportu danych.
c) DIMME- technika mapowania czyli nakładania tekstury na obiekt 3D wymaga skomplikowanych operacji, w skutek których dane o teksturach przechowywane są w pamięci RAM jak i w pamięci karty grafiki. Architektura AGP oferuje technikę DIMME, dzięki której akcelerator graficzny może operoać na teksturach bez potrzeby sprowadzania ich do swej pamięci lokalnej.
Magistrala AGP jest w pełni kompatybilna ze specyfikacją PCI a urządzenie AGP można uznać za odpowiadające standartowi PCI.
USB (ang. Universal Serial Bus)
Uniwersalna magistrala szeregowa opracowywana obecnie przez firmę Intel. Celem tego przedsięwzięcia jest rozwój standardu Plug and Play - urządzenia peryferyjne są automatycznie wykrywane i konfigurowane zaraz po ich fizycznym podłączeniu do jednostki centralnej. Podłączanie i odłączanie tych urządzeń jest dokonywane bez konieczności wyłączania komputera i przeładowywania systemu operacyjnego. Magistrala ta opiera się na jednym typie złącza dla wielu urządzeń, włączając urządzenia, które w przeszłości używały złącza szeregowego, równoległego, klawiatury, myszy i game portu, a także nowych typów urządzeń. Wielorakie urządzenia mogą być podłączane do komputera, poprzez te same złącza równocześnie - modemy, drukarki, myszki, joysticki, monitory, skanery, klawiatury itp. Redukuje to wymagania dotyczące złącz, przez co obudowa komputera może zostać zmniejszona.
Struktura USB
Koncepcja złącza USB jest pod wieloma względami niezmiernie elastyczna. Tkwiąca w samym założeniu uniwersalność wymaga dostosowania do szerokiej gamy urządzeń: od powolnych klawiatur do szybkich modemów i kamer video . Uczynieni zadość temu podstawowemu wymaganiu doprowadziło do implementowania kanałów informacyjnych o różnej przepustowości. W pierwszej fazie realizacji projektu oferowane są kanały o małej (Low Speed , do 1,5 MB/s) i średniej (Medium Speed, do 12 MB/s) prędkości przesyłania. W drugim etapie rozwoju powstać ma wersja High Speed USB transmitująca dane z prędkością 500 MB/s.
USB ma strukturę drzewiastą rozrastającą się z punktu początkowego, który stanowi umieszczony na płycie PC kontroler USB. Płyty główne z procesorem Pentium bazujące na układach scalonych firmy Intel mają już taki kontroler wkomponowany w strukturę mostu PCI2ISA (PIIX3 lub nowszego PIIX4). Oferuje on dwa gniazda USB. W miarę rozbudowy sieci od poziomu "0" w dół, do każdego z gniazd podłączać można dowolne urządzenie końcowe (NODE) lub kolejny rozdzielacz (HUB). Dopuszczalna liczba wszystkich urządzeń nie może przekraczać 127. Rozdzielacze stanowią układy aktywne wzmacniające sygnały magistrali. Dysponują jednym wyjściem w kierunku wyższego poziomu (Up-stream Port) i kilkoma wejściami w stronę poziomów niższych (Down-stream Ports). Kolejne rozdzielacze zarysowują wyraźnie poziomy piramidy, na szczycie której pracuje Host-Kontroler. Na poziomie ostatnim obecne są już tylko urządzenia końcowe. Funkcja rozdzielaczy nie ogranicza się jedynie pomnażania gniazd USB. Zaopatrują one również w napięcie zasilania urządzenia nie dysponujące własnym źródłem (dopuszczalny pobór prądu poprzez magistralę USB wynosi 500 mA).
SCSI (ang. Small Computer Systems Interface) - początki 1986r.
SCSI, we wszystkich swoich wariantach, jest równoległą magistralą. Wszystkie urządzenia są podpięte do jednego jedynego 50-cio lub 68- mio przewodowego kabla - zależności od standardu. 50-cio przewodowy kabel Fast SCSI i Ultra SCSI składa się z ośmiu przewodów do transmisji danych (DB0 - DB7) i jednego przewodu na sumę kontrolną/parity (DBP). Do tego dochodzi para przewodów dla TermPower jak również pięć przewodów zarezerwowanych. Pozostałe przewody używane są na masę i sygnały typu differential. W przypadku 68-mio przewodowego kabla Wide SCSI, Ultra Wide SCSI i Ultra2 SCSI dochodzi jeszcze osiem przewodów na transport danych (DB8 - DB15), jeden przewód na sumę kontrolną/parity (DBP1) i trzy przewody dla TermPower. Kabel Wide nazywamy szerokim kablem, mimo że fizycznie jest on węższy od 50-cio przewodowego kabla Narrow SCSI.
Jedynie Differential SCSI odbiega od w/w architektury. Niestety używa tych samych złączy co zwykłe SCSI, ale wszystkie przewody do transportu danych są podwójne (D- i D+), co powoduje mniejszą wrażliwość na zakłócenia i przebicia, oraz pozwala na użycie stanowczo dłuższych kabli. Z powodu na razie wysokiej ceny zarówno urządzeń jak i samych kontrolerów, Differential SCSI jest spotykane tylko w mainframach, nielicznych serwerach oraz niektórych UNIXowych stacjach roboczych. Oczywiście, za pomocą odpowiedniej przejściówki można podłączyć urządzenie Differantial SCSI do normalnego kontrolera i odwrotnie, ale uwzględniając cenę w wysokości 600-800 PLN za taką przejściówkę, interes staje się w większości przypadków nieopłacalny.
Każdym koniec magistrali SCSI musi być zterminowany. Terminację można włączyć na urządzeniu (np. dysku twardym czy CD- ROMie) lub użyć specjalnych terminatorów. Istnieją zarówno pasywne jak i aktywne terminatory. O używaniu pasywnych terminatorów proszę od razu zapomnieć. We wszystkich standardach SCSI oznaczonych nazwą Ultra, używanie pasywnych terminatorów jest przez specyfikacje tych standardów zabronione. Aktywne terminatory sprawują się stanowczo lepiej, zapobiegając zakłóceniom na magistrali SCSI. Aktywne terminatory można z reguły poznać po nazwie ACTIVE na ich obudowie. Najlepiej używać aktywnych terminatorów opartych na układach scalonych Dallas DS2107 lub Unitrode UC560x, dlatego że należą one do najlepszych. Ponieważ jednak trudno jest je u nas kupić (pomijając fakt, że sprzedawca z reguły i tak nie wie o co chodzi), trzeba się zaprzyjaźnić z tym co się dostanie. Jedynie urządzenia LVD (U2W SCSU) nie posiadają możliwości terminacji bezpośrednio na urządzeniu i wymagają zawsze użycia odpowiedniego aktywnego terminatora LVD. Ponadto w przypadku LVD należy sprawdzić, czy na magistrali jest urządzenie, które poda zasilanie terminacji (TermPower), ponieważ np. duża ilość dysków twardych takowego nie podaje co jest równoznaczne z brakiem zasilania dla aktywnego terminatora i powoduje brak terminacji na magistrali SCSI!
Każde urządzenie SCSI posiada ponadto własny SCSI-ID, identyfikator którego SCSI używa do komunikacji z odpowiednim urządzeniem. SCSI-ID ustawia się ręcznie, choć istnieje standard o nazwie SCAM (SCSI Configured AutoMagically), który jest automatem Plug&Play dla urządzeń SCSI. Wszystkie urządzenia obsługujące SCAM podczas inicjalizacji kontrolera SCSI otrzymują SCSI ID6, następnie kontroler SCSI komunikuje się z każdym z tych urządzeń i przydziela mu jednoznaczny SCSI ID. W praktyce jednak, mimo że wszystkie nowsze urządzenia SCSI obsługują standard SCAM, z powodu pewnych nieścisłości w specyfikacji standardu często to rozwiązanie nie działa tak jak powinno. Aby z góry zapobiec problemom, należy w setupie kontrolera SCSI wyłączyć SCAM, jak również starać się nie używać SCSI-ID6.