Port graficzny przyśpiesza

W świecie kart graficznych przejście ze złącza PCI na dużo szybszy standard AGP było prawdziwą rewolucją. Od tego czasu w regularnych odstępach czasu Intel serwuje odświeżone wersje tego podstawowego dziś złącza graficznego.

W świecie kart graficznych przejście ze złącza PCI na dużo szybszy standard AGP było prawdziwą rewolucją. Od tego czasu w regularnych odstępach czasu Intel serwuje odświeżone wersje tego podstawowego dziś złącza graficznego.

AGP1X i 2X wprowadzono jednocześnie. Dwa lata później pojawiło się AGP8X. W 1999 roku przedstawiono AGP Pro, w którym poprawiono przede wszystkim niedociągnięcia związane z zasilaniem kart graficznych. Pod koniec października Intel zaprezentował pierwszą publiczną specyfikację AGP8X.

Zewnętrznie AGP8X nie różni się od swoich starszych wersji, zachowano identyczny układ podstawowych interfejsów. Z tego powodu Intel nie zdecydował się na wprowadzenie nowej nazwy portu. Z drugiej strony, wyraźnie zmienił się rozkład sygnałów elektrycznych, usunięto niektóre funkcje i rodzaje transakcji. Co to oznacza w praktyce? Producenci będą musieli produkować uniwersalne płyty główne, które obsłużą zarówno tryb AGP8X, jak i stosowane dzisiaj tryby AGP 1,2,4X. Na płycie głównej obsługującej wyłącznie tryb 8X nie będą mogły działać starsze karty graficzne.

Podstawowy zegar taktujący nie zmienił się i pracuje z częstotliwością 66 MHz. Również zasilanie portu pozostało bez zmian i wynosi 1,5 V, podobnie jak w specyfikacji AGP Pro. W jaki sposób udało się zwiększyć wydajność portu?

Przede wszystkim zdecydowanie zwiększono taktowanie sygnałów elektrycznych wykorzystywanych w trybie adresowania "side-banding". Tryb ten praktycznie nie jest używany w obecnych modelach kart graficznych, choć niektóre sterowniki pozwalają na jego uaktywnienie. W specyfikacji AGP8X, jak się przewiduje, sygnały związane z tym trybem będą taktowane z częstotliwością 533 MHz/s.

Pewne zmiany wprowadzono w mechanizmach modyfikacji danych. Operacje write nie muszą się już teraz kończyć w takiej kolejności, w jakiej zostały zainicjowane. Oznacza to, że układ sterujący AGP może najpierw zlecić operację "zapisz w pamięci dane A", potem "zapisz w pamięci dane B". Jeśli będzie to korzystne dla wydajności, druga z tych operacji może się zakończyć wcześniej. Pozwala to lepiej wykorzystać każdy cykl zegara.

W specyfikacji AGP8X zniknął natomiast podział na transakcje zapisu i odczytu o wysokim bądź niskim priorytecie. W tej chwili wszystkie operacje tego typu mają jednakowy priorytet. Zrezygnowano również powolnych "długich transakcji odczytu". W starszych wersjach specyfikacji AGP możliwie było pobieranie danych z pamięci systemowej w partiach powyżej 64 bajtów (maksymalnie do 256). AGP8X przewiduje, że maksymalna partia danych do odczytu to 64 bajty. Poważnie usprawniono również buforowanie danych przeznaczonych do odczytu i zapisu.

Złącze AGP8X teoretycznie może pozwalać na transfery danych z prędkością przekraczającą 4 GB/s. Czy taka prędkość będzie kiedykolwiek potrzebna? Czy karty graficzne poradzą sobie z taką ilością danych? Oczywiście dzisiejsze modele kart specjalnego pożytku nie odniosą z szybszego złącza, jednak już za rok może się ono okazać niezbędne. Wystarczy wspomnieć, że już teraz karty z układami Radeon potrafią obsługiwać tekstury trójwymiarowe. Wprawdzie nie są na razie wykorzystywane w praktyce, ale dają na tyle duże możliwości, należy się spodziewać wzrostu ich popularności w najbliższym czasie. Naturalną konsekwencją jest znaczne zwiększenie ilości danych przesyłanych przez złącze AGP, a wówczas 4 GB/s wcale nie wyda się wartością przesadzoną. Według przewidywań Intela, wartość ta powinna być wystarczająca dla kart graficznych dwóch następnych generacji.

Kiedy zaś możemy się spodziewać wspomnianych kart i płyt głównych zaprojektowanych z uwzględnieniem specyfikacji AGP8X? Biorąc pod uwagę, że Intel nie zaprezentował jeszcze ostatecznej wersji dokumentu opisującego AGP8X (niniejszy artykuł opiera się na wersji 0.9 specyfikacji), prawdopodobnie nie wcześniej niż tuż przed końcem 2001 roku lub nawet na początku 2002.

PCI vs. AGP

Różnice pomiędzy złączami AGP i PCI nie ograniczają się do wyższej częstotliwości pracy AGP i wynikającej z tego wyższej przepustowości, choć jest to niewątpliwie jedno z bardziej istotnych unowocześnień. Warto jednak przyjrzeć się tym różnicom nieco dokładniej.

Szyna PCI standardowo taktowana jest z częstotliwością 33 MHz, co pozwala jej przesyłać w ciągu sekundy 132 MB danych. Złącze AGP oznaczało skok o dwie klasy do przodu. Przy taktowaniu 66 MHz i w trybie 1x potrafi maksymalnie przesłać 533 MB/s. Tak dobry wynik udało się osiągnąć, wykorzystując obydwa zbocza sygnału (wznoszące się i opadające) do transmisji danych. Średni transfer utrzymuje się na poziomie 50-80 procent wartości maksymalnej.

Wyższa wydajność AGP wynika również z zastosowania architektury potokowej. Co to oznacza w praktyce? Gdy karta graficzna PCI potrzebuje danych i wysyła stosowne żądanie, musi poczekać, aż transmisja N się zakończy, zanim będzie mogła wysłać żądanie N+1. Tymczasem karty AGP, nie czekając na zakończenie jednej transmisji, mogą wysyłać kolejne żądania, znacznie efektywniej wykorzystując dostępną przepustowość pamięci i szyny systemowej.

Jedną z najbardziej znanych cech wyróżniających złącze AGP jest możliwość wykorzystania pamięci systemowej jak lokalnej pamięci wideo. Dzięki temu nie trzeba ładować wszystkich tekstur do pamięci karty graficznej. Przeciwnie, można je dynamicznie pobierać z pamięci systemowej podczas renderingu.


Zobacz również