Płyty główne

PCI-Express

(Tomasz Stiller)

Wchodząca w skład zestawu testowego,
karta graficzna Gigabyte GeForce FX 5700 ze złączem PCI-Express x16

Szyna PCI (Peripheral Component Interconnect) używana od ponad 10 lat jako magistrala ogólnego przeznaczenia we współczesnych komputerach, ostatnimi czasy przestaje już wystarczać. Wprowadzona w 1993 roku, niemal od razu przyjęła się jako przemysłowy standard wypierając ISA, VLB, EISE oraz MCA. Specyfikacja 1.0 przewidywała maksymalnie pięć 32-bitowych złączy, taktowanych zegarem 25, 30 lub 33 MHz. Najsilniejsza wersja miała teoretyczną przepustowość około 133 MB/s, a więc aż nadto, jak na ówczesne potrzeby.

Największe zapotrzebowanie na przepustowość miały - podobnie jak dziś - karty graficzne, chociaż w tamtych czasach nikomu nie śniło się o akceleratorach trzeciego wymiaru. Lata mijały, zapotrzebowanie na przepustowość rosło, specyfikacja się rozwijała. Powstawały gniazda o szerokości 64-bitów, co przy standardowym zegarze dawało przepustowość 266MB/s. Kolejnym krokiem było przyspieszenie magistrali do 66MHz, co w przypadku 32-bitowych złączy dawało przepustowość 266 MB/s, a w przypadku 64-bitowych dwa razy tyle. Ostanie lata to kolejna, szybsza specyfikacja PCI-X, zakłada ona złącza o taktowaniu 66, 100 i 133 MHz, a więc o przepustowości odpowiednio 533, 800 i 1066MB/s.

Maks. Taktowanie
Szerokość
Przepustowość
33 MHz
32 bity
133 MB/s
33 MHz
64 bity
266 MB/s
66 MHz
32 bity
266 MB/s
66 MHz
64 bity
533 MB/s
100 MHz
64 bity
800 MB/s
133 MHz
64 bity
1066 MB/s

Jednak przy tak wysokich częstotliwościach taktowania pojawiają się problemy w implementacją magistrali. Występują przesłuchy, ciężko poprowadzić na płycie ścieżki w odpowiedni sposób, producenci byli zmuszeni stosować różne sztuczki. Pojedynczy kontroler obsługuje maksymalnie 4 złącza 66MHz, dwa 100MHz i tylko jeden 133MHz. Zapotrzebowanie na większą ilość złączy o wysokiej przepustowości pociąga za sobą potrzebę integracji kolejnych kontrolerów magistrali. Jest to rozwiązanie bardzo niewygodne i dość kosztowne. To główny powód, dla którego nie widzimy tego typu rozwiązań w komputerach biurkowych, a przecież ich użytkownicy również potrzebują wysokiej wydajności. Ci, którzy dysponują większą ilością gotówki, kupują po prostu serwerowe płyty główne. Desktopy ewoluowały w nieco innym kierunku.

Intel projektując pierwszy dedykowany dla Pentium II chipset - 440LX - postanowił pozbyć się z PCI głównego garba, a więc kart graficznych. Tak powstał Accelerated Graphics Port - AGP.

W 1997 gdy LX zadebiutował na rynku, było to bardzo nowatorskie rozwiązanie. Oczywiście nie było wtedy kart graficznych, które zostały bezpośrednio zaprojektowane dla niego, ówczesne karty zostały tylko przystosowane do instalacji w nowym slocie, często przez zastosowanie mostków PCI<->AGP. AGP tak na dobra sprawę nie jest magistralą, jest tylko portem. Od początku istnienia, jak sama nazwa wskazuje, był przewidziany tylko do instalacji kart graficznych. Oczywiście jako dedykowany do tego typu zadań ma szereg zalet. Najważniejszą jest oczywiście to, że nie musi się dzielić przepustowością z innymi urządzeniami, oraz to, że ma bezpośredni dostęp do pamięci głównej komputera. Przez następne lata obserwowaliśmy kolejne wcielenia AGP: od wersji 1x, 2x, 4x do 8x, czyli najnowszej specyfikacji AGP 3.0.

Tryb pracy
Przepustowość
AGP x1
266 MB/s
AGP x2
533 MB/s
AGP x4
1066 MB/s
AGP x8
2132 MB/s

O ile specyfikacja PCI jest "otwarta" i pozwala na instalacje starszych kart w nowych gniazdach (trzeba tylko przystosować karty do odpowiedniego napięcia zasilania, co jednak nie stanowiło żadnego problemu) to AGP jest już mniej elastyczna i nowych kart zaprojektowanych dla złączy 4x i 8x, niestety nie można instalować w gniazdach obsługujących tryb x1 i x2 (i vice versa).

Niestety, wprowadzenie AGP zaspokoiło potrzeby tylko na krótki czas, ponieważ szyna PCI ponownie przestała wystarczać, między innymi za sprawą szybkich interfejsów I/O. Wystarczy wspomnieć Gigabit Ethernet, ATA133 i Serial-ATA, USB-2.0, FireWire 400 i 800.

Co prawda producenci ratowali się, implementując niezależne magistrale miedzy mostkami północnym i południowym, projektując dedykowane łącza do kontrolerów sieciowych, a także integrując w coraz większą ilość urządzeń w mostku południowym. Wszystko to jednak są rozwiązania przejściowe, kiedyś trzeba było stanąć przed faktem konieczności zaprojektowania nowej, szybkiej magistrali systemowej. Nadszedł więc czas na PCI Express.

(od góry) jedno złącze PCI Express x16, trzy PCI Express x1 i dwa zwykłe PCI, na płycie głównej Gigabyte GA-8GPNXP Duo

Co to oznacza dla komputerów PC? PCI Express - podobnie jak używana przez AMD szyna Hypertransport - jest dwukierunkową, szeregową magistralą przesyłająca dane w pakietach.

W odróżnieniu od tradycyjnych złączy PCI, gdzie dane przesyłane są równolegle ze stała prędkością, PCI Express należy postrzegać raczej jako zestaw szeregowych, niezależnie taktowanych łączy punkt-punkt. W podstawowej wersji dysponujemy jedną linią transmisyjną na złącze, o przepustowości około 250MB/s w każda stronę, niezależnie. Podstawowe gniazdo PCI Express x1 jest wiec prawie 2x szybszy (4x jeśli liczyć przepustowość w obie strony) od standardowego gniazda PCI. Warto jednak wiedzieć, iż w przypadku tradycyjnej magistrali PCI, jej przepustowość jest dzielona między wszystkie przyłączone do niej urządzenia, a łącza PCI Express dysponują dedykowaną, tylko i wyłącznie dla siebie, przepustowością. Nie będzie więc sytuacji, w której jedno urządzenie, np. kontroler ATA133 mogło przeciążyć całą magistrale PCI.

Specyfikacja PCI Express przewiduje również szybsze sloty, które na własne potrzeby mogą dysponować nawet 32 dedykowanymi liniami transmisyjnymi, a wiec oferującymi przepustowość nawet do ~8 GB/s w każda stronę na gniazdo.

Złącze
Przepustowość w każdą stronę
PCI Express x1
250 MB/s
PCI Express x2
500 MB/s
PCI Express x4
1000 MB/s
PCI Express x8
2000 MB/s
PCI Express x16
4000 MB/s
PCI Express x32
8000 MB/s

W ten właśnie sposób powstało złącze PCI Express x16, którego będą używały przyszłe karty graficzne. Jest to nic innego, jak gniazdo z 16 liniami transmisyjnymi. Na dzień dzisiejszy przyjęto, że przyszłe płyty główne będą wykorzystywały gniazda PCI Express x1, x4, x8 i x16.

Oczywiście nic nie stoi na przeszkodzie, aby płyta główna była wyposażona w same gniazda PCI Express x16. Wolniejsze karty można będzie instalować w szybszych gniazdach.

Jak widzicie, z punktu czysto technicznego magistrala PCI Express wygląda niezwykle interesująco. Producenci płyt głównych są bardzo entuzjastycznie nastawieni do nowej technologii, a to głównie za sprawą uproszczenia laminatów płyt głównych. W podstawowej wersji gniazdo PCI Express x1 wymaga fizycznie 4 przewodów do transmisji danych (dwie pary, RX i TX), a więc dokładnie 4x mniej niż zwykły PCI. Oczywiście pomyślano także o zapotrzebowaniu na energie elektryczną. Gniazdo x1 będzie mieć do dyspozycji 10W energii, gniazda x2-x8 do 25W, gniazdo x16 do 75W. W porównaniu do 25/42W dla dotychczasowego AGP to znaczący skok. Żeby tego było mało, za pomocą dodatkowego połączenia można doprowadzić kolejne 75W energii. Można tutaj pomyśleć o analogi do slotów AGP Pro 50/110. Niektórzy z Was zapewne zauważyli na zdjęciach, że nowe karty graficzne wykorzystujące PCI Express nie mają już złączek molex doprowadzających zasilanie.

Niestety, od strony wiodących producentów kart graficznych dobiegają nas niepokojące informacje. nVidia nie dysponuje jeszcze chipsetami zdolnymi do natywnej obsługi PCI Express. Takowe mają się pojawić pod koniec trzeciego kwartału tego roku. W zamian za to zafundowano nam układ przystosowujący - translator - który instaluje się na karcie graficznej jako dodatkowy mostek między PCI Express a AGP.

mostek AGP > PEG na karcie graficznej z procesorem nVidii GeForce FX 5700

Nie dość, że takie rozwiązanie nie wykorzysta pełnej możliwości PCI Express x16, ponieważ wąskim gardłem jest tu chipset obsługujący port AGP, to dodatkowo, za ten mostek musimy całkiem niemało dopłacić.

Podsumowaując, przy zakupie nowej płyty głównej prawdopodobnie będziemy musieli wymienić kartę graficzna na nową, ale oferującą dokładnie takie same możliwości. Oczywiście efektywne podwojenie przepustowości złączy PEG dla kart graficznych wcale nie musi za sobą pociągać wzrostu wydajności. Wystarczy przypomnieć sobie zmianę AGP x4 na AGP x8. Różnice w wydajności były bardzo niewielkie, ale przynajmniej nie musieliśmy wydawać dodatkowej gotówki na nową płytę główną.

Gdyby nie całe zamieszanie wokół kart graficznych, PCI Express został by przez użytkowników zapewne przyjęty zdecydowanie bardziej entuzjastycznie. Teraz słyszy się opinie, iż to kolejne zagranie marketingowe. Jest to oczywiście rozumowanie błędne, ponieważ 3GIO ma gigantyczny potencjał, a długoterminowe skutki jego wprowadzenia będą jak najbardziej pozytywne.