Magistrale I/O

Magistrala komunikacyjna, magistrala (ang. bus) – zespół linii przenoszących sygnały oraz układów wejścia-wyjścia służących do przesyłania sygnałów między połączonymi urządzeniami w systemach mikroprocesorowych. Ze względu na typ prowadzonej transmisji magistrale można podzielić na: Równoległe – sygnały przesyłane są równolegle, jednocześnie wieloma kanałami (np. przewodami, ścieżkami); do magistral tego typu należą m.in. PCI, AGP. Szeregowe – sygnały są przesyłane szeregowo, jednym lub wieloma pojedynczymi kanałami; do nich należą magistrale: USB, PCI Express.



W komputerze klasy PC najważniejsze i zazwyczaj najszybsze są magistrale obsługujące wymianę danych wewnątrz procesora oraz między procesorem a podstawowymi komponentami płyty głównej i pamięcią RAM. Kolejne w hierarchii są magistrale lokalne (ang local bus) ulokowane w pobliżu CPU, co umożliwia zwiększenie szybkości komunikacji z magistralą procesora. Taki układ powoduje, że magistrala wejścia-wyjścia staje się magistralą lokalną w stosunku do magistrali danych.

Następnie znajdują się magistrale wejścia-wyjścia (ang. input/output bus) służące do podłączania kart rozszerzeń, które wzbogacają możliwości komputera PC. Z racji swojej specyfiki magistrale tego typu często są nazywane peryferyjnymi (ang peripheral bus).

Na końcu mamy magistrale zewnętrzne (ang external bus) służące do przyłączania urządzeń zewnętrznych, takich jak modemy drukarki, skanery, kamery internetowe, klawiatury, myszy itp.

Magistrala PCI

Pracę nad standardem PCI Local Bus (ang Peripheral Component Interconnect Local Bus) zapoczątkowała w 1992 roku firma Intel, tworząc organizację PCI-SIG (ang PCI Special Interest Group). Celem było stworzenie magistrali lokalnej, która byłaby niezależna od procesora oraz umożliwiała podłączenie różnych kart rozszerzeń (nie tylko graficznych).

W systemie komputerowym magistrala PCI była umiejscawiana zaraz za magistralą procesora za pośrednictwem mostu PCI.Początkowo PCI-SIG założyła, że będzie to 32-bitowa, synchroniczna magistrala równoległa taktowana zegarem 33 MHz. Przewidziano także możliwość jej rozszerzenia do 64 bitów oraz zwiększenie częstotliwości do 66 MHz. Zaimplementowano w pełni funkcjonalny system konfiguracji automatycznej (ang Plug & Play, PnP).



Po włożeniu nowej karty do gniazda rozszerzeń (ang. slot) parametry takie jak numery przerwań, adresy I/O itd są przydzielane automatycznie. Dzięki PnP karty są pozbawione zworek i mikroprzełączników konfiguracji dokonuje oprogramowanie. W tradycyjnych komputerach klasy PC jedyną dostępną wersją jest 32-bitowa magistrala PCI taktowana niezależnie od procesora zegarem 33 MHz o przepustowości 132 MB/s.

Wersje 64-hitowe PCI-X powstały w celu przystosowania magistrali do współpracy z serwerami, których magistrale danych mają szerokość 64 bitów. Najczęściej na bazie PCI-X budowane są karty dla Gigabit Ethernet, Fibre Channel oraz SCSI Ultra, czyli urządzenia wymagające dużej przepustowości. Obecnie odchodzi się od równoległej magistrali PCI — jej poszczególne zastosowania przejmuje nowa magistrala szeregowa PCI-Express.

Magistrala AGP





Magistrala AGP (ang. Accelerated Graphics Port) to produkt firmy Intel. Punktem odniesienia dla jej twórców była magistrala PCI, jednakże Intel opracował rozwiązanie całkowicie niezależne. AGP to 32-bitowa magistrala równoległa taktowana zegarem 66 MHz (dwa razy szybciej niż magistrala PCI), zoptymalizowana pod kątem współpracy z kartami graficznymi. Magistrala jest wyposażona w jedno gniazdo rozszerzeń (dla karty graficznej) przesunięte w prawo (z perspektywy płyty) w stosunku do slotów magistrali PCI. Technologia AGP pozwala na dość wydajną wymianę danych między pamięcią operacyjną komputera a kartą graficzną



Magistrala PCI Express





Szeregowa magistrala PCI Express (PCI-E, PCIe) zastąpiła starsze równoległe standardy PCI i AGP. W pierwszej fazie rozwoju projekt funkcjonował pod nazwą 3GIO (ang 3rd Generation I/O), jednak w 2001 roku prace nad nim przejęła organizacja PCI-S1G i ostatecznie zmieniono nazwę na PCI Express. Magistrala PCI-E jest szeregową magistralą lokalną działającą w trybie point to point (punkt-punkt — połączenie dwóch punktów), co wyklucza ją z grona typowych magistral. W klasycznym podejściu (np. PCI) wszystkie urządzenia współdzielą pasmo przenoszenia danych — im więcej komponentów podłączonych do szyny, tym bardziej spada ogólna prędkość transmisji. W technologii point to point każde urządzenie podłącza się bezpośrednio do kontrolera magistrali, co eliminuje potrzebę współdzielenia pasma.



Magistrala PCI-E wykorzystuje do przesyłania informacji dwie linie sygnałowe pracujące w trybie pełnego dupleksu (ang full-duplex). Jeden tor umożliwia transfer danych do 250 MB/s (w jedną stronę), a w wersji PCI-E 2.0 — do 500 MB/s. Tory są łączone w grupy po 4,8,16,32. W zależności od zastosowanego wariantu zmienia się rozmiar złącza. Specyficzna budowa slotu umożliwia np. montaż kart x1 w złączu x4, x8, x16, co pozwala na poprawną pracę urządzenia, które wykorzystuje tylko 18 pinów (z obydwu stron) każdej z wersji gniazda PCIe. Karta x4 może zostać zainstalowana w złączu x8 i x16 itd. Najczęściej spotykanymi wersjami złącz PCI Express są sloty x1, x16 , rzadziej x4 i x8. Złącze x16 jest montowane w miejscu slotu AGP i przeznaczone do kart graficznych; złącze x1 jest ulokowane w pobliżu wyprowadzeń magistrali PCI i docelowo ma ją zastąpić. Gniazdo x4 najczęściej wykorzystują wydajne gigabitowe karty sieciowe z przeznaczeniem do serwerów. Istnieją płyty główne wyposażone w dwa złącza x16 służące do pracy współbieżnej (SLI, CrossFire) — dwie karty graficzne działają jak jedna wydajna karta.

W 2007 roku PCI-SIG ogłosiła nowy stardard PCI Express w wersji 2.0, w którym zwiększono częstotliwość pracy magistrali, dodano możliwość obsługi kart graficznych z poborem energii do 300 W oraz zaimplementowano wspomaganie wirtualizacji. Przepustowość w trybie x1 zwiększyła się do 500 MB/s, a w trybie x16 — do 8GB/s.

W roku 2011 wprowadzono na rynek nowy standard PCI Express w wersji 3.0, w którym zwiększono częstotliwość pracy magistrali, dodano możliwość obsługi kart graficznych z poborem energii aż 300 W dla x1. Przepustowość w trybie x1 zwiększyła się do 1 GB/s, a w trybie x16 — do 16 GB/s.