Jak AGP zrewolucjonizowało grafikę komputerów PC przed pojawieniem się PCIe

13

Naciskasz. Przeciągnij i upuść. Odpuść.

Okna otwarte. Odtwarzają filmy. Gry wideo wypełniają ekran trójwymiarowymi światami, które wydają się żywe. To środowisko cyfrowe, które uważamy za oczywiste. Teraz wydaje się to normalne. Ale nie zawsze tak było.

Zmiana rozpoczęła się w 1973 roku. Xerox stworzył komputer Alto. Był to pierwszy komputer z graficznym interfejsem użytkownika. Wcześniej wprowadzałeś polecenia na czarnym ekranie. Alto zmieniło sposób, w jaki ludzie wchodzą w interakcję z maszynami. Sprawił, że komputery były intuicyjne.

Obecnie prawie wszystko na komputerze PC zależy od grafiki. Przetwarzanie tekstu. E-mail. Ożywienie. Nawet podstawowe zadania wymagają wskazówek wizualnych. To wymaga sprzętu. Mianowicie karta graficzna.

Ale karta graficzna jest bezużyteczna, jeśli nie może szybko komunikować się z resztą systemu. Najważniejszą rzeczą jest sposób połączenia. W tym miejscu do gry wchodzi Accelerated Graphics Port (AGP).

AGP zapewniło karcie graficznej własną dedykowaną przepustowość. To nie była tylko mała poprawka. Była to zasadnicza zmiana w sposobie przesyłania danych w komputerze. To zwiększyło prędkość. Poprawiona jakość obrazu. Rozwiązano wąskie gardło ograniczające wydajność.

Przyjrzyjmy się, dlaczego stare podejście nie zadziałało i jak AGP to rozwiązało.

Wąskie gardło magistrali PCI

Aby zrozumieć AGP, musisz zrozumieć, co było przed nim: magistralę PCI.

PCI oznacza połączenie komponentów peryferyjnych. Był to standard podłączania dodatkowych kart do płyty głównej. Karty dźwiękowe. Adaptery sieciowe. Modemy. I ostatecznie karty graficzne.

Do prostych zadań działał dobrze. Ale grafika była inna.

Karty graficzne wymagały ogromnych ilości danych. Tekstury. Bufory ramek. Modele 3D. Musieli stale odczytywać dane z pamięci systemowej i zapisywać je do własnej pamięci karty.

Magistrala PCI była magistralą wspólną.

Kiedy uruchamiasz grę lub aplikację 3D, karta graficzna musi konkurować z innymi urządzeniami pod względem przepustowości. Procesor komunikuje się z dyskiem twardym. Karta sieciowa wysyła e-maile. Karta dźwiękowa odtwarza dźwięk. Wszystkie korzystają z jednej magistrali PCI.

To spowodowało opóźnienia. Karta graficzna musiała poczekać. Nie mogła uzyskać potrzebnych danych we właściwym czasie. Wynik? Targanie. Niska liczba klatek na sekundę. Nierówny proces.

Magistrala PCI została zaprojektowana dla urządzeń peryferyjnych ogólnego przeznaczenia. Nie został zaprojektowany do ciężkich prac związanych z renderowaniem 3D.

„AGP powstało, ponieważ magistrala PCI po prostu nie była w stanie sprostać wymaganiom współczesnej grafiki w zakresie ilości danych.”

Potrzeba dedykowanej przepustowości

Inżynierowie zdali sobie sprawę, że coś musi się zmienić.

Potrzebowali sposobu na szybkie przesyłanie danych z pamięci systemowej na kartę graficzną. Brak zatorów. Bez czekania.

Rozwiązaniem było AGP.

Accelerated Graphics Port został wprowadzony przez firmę Intel w 1996 roku. Został zaprojektowany specjalnie dla grafiki. Nie tak, jak po namyśle. Nie jako uniwersalny slot. Ale jako kanał specjalistyczny.

AGP działał z wyższą częstotliwością niż PCI. Wykorzystał szerszą magistralę danych. I co najważniejsze, umożliwił bezpośrednie operacje na pamięci (DME – Direct Memory Execution).

Bezpośrednie operacje na pamięci oznaczały, że karta graficzna mogła uzyskać bezpośredni dostęp do systemowej pamięci RAM. Nie musiało przechodzić przez procesor. Nie musiała czekać, aż magistrala PCI stanie się wolna. Brała dane bezpośrednio z pamięci.

Zmniejszyło to opóźnienia. Zwiększona przepustowość.

Wąskie gardło magistrali PCI

Magistrala Peripheral Component Interconnect (PCI) od wielu lat stanowi szkielet łączności peryferyjnej w komputerach stacjonarnych. Obsługiwał wszystko, od kart dźwiękowych po karty sieciowe. Dane były przesyłane tą pojedynczą ścieżką w formie pakietów. Procesor przyjął je wszystkie i przetworzył w kolejce. To całkiem proste. Ale czy było skuteczne? Nie zawsze.

W połowie lat 90. Internet stawał się coraz bardziej obciążony. Oprogramowanie gubiło powłokę tekstową. Grafika 3D nie jest już niszowym eksperymentem. Stało się centralną częścią doświadczenia użytkownika. Windows 95, wczesne gry, narzędzia CAD – wszystko to wymagało więcej zasobów z karty graficznej.

Magistrala PCI nie uwzględniała priorytetów. Przetwarzał pakiet sieciowy w taki sam sposób, jak teksturę o wysokiej rozdzielczości. Karta graficzna została zmuszona stanąć w kolejce. A czekanie zabiło produktywność. Liczba klatek na sekundę wzrosła. Tekstury ładują się powoli. System dławił się od nagromadzonych zadań.

Pojawienie się AGP

Intel przewidział to zacięcie. Potrzebowała dedykowanego pasa dla karty graficznej, który omijałby całkowite obciążenie magistrali PCI. W rezultacie powstał Accelerated Graphics Port (AGP). Wprowadzony w 1996 roku, nie był tylko kolejnym automatem. To był całkowity remont architektoniczny.

AGP zapewniło procesorowi graficznemu (GPU) własną, szybką autostradę do procesora i pamięci. Nie było już potrzeby dzielenia pasma z kartą dźwiękową lub modemem. Bezpośredni dostęp oznaczał szybsze dostarczanie danych. Możliwe stało się renderowanie w czasie rzeczywistym. Strumień wideo, który kiedyś był nierównym koszmarem, zaczął wyglądać gładko.

Ale nie chodziło tylko o prędkość. Chodziło o priorytety. Karta graficzna może teraz otrzymać niezbędne zasoby, gdy ich potrzebuje. Magistralę PCI pozostawiono do rutynowych zadań. Hierarchia uległa zmianie. Grafika nie jest już kwestią drugorzędną i stała się najwyższym priorytetem.

Dlaczego to miało znaczenie

Ta zmiana umożliwiła komputerom wykonywanie zadań, z którymi wcześniej się borykały. Edycja wideo stała się możliwa na sprzęcie konsumenckim. Gry 3D przeniosły się z salonów gier do salonów. Internet, który kiedyś był statycznym zbiorem stron, zaczął wydawać się dynamiczny.

AGP nie tylko poprawiło wydajność. Zapoczątkował nową erę informatyki. Era, w której liczy się precyzja wizualna. Era, w której ekran to nie tylko okno, ale płótno. Magistrala PCI nie stała się przestarzała z dnia na dzień. Ale jej dominacja się skończyła. Pas był czysty. I ruch zaczął płynny.

AGP nie tylko zmieniło standard PCI. Odbudowała fundamenty. Jeśli PCI była autostradą publiczną, to AGP stała się drogą szybkiego ruchu. Stworzyło bezpośrednie, dedykowane połączenie pomiędzy kartą graficzną a procesorem. Żadne inne urządzenia nie mogłyby zakłócać pracy. Ten dedykowany kanał umożliwił systemowi otrzymywanie złożonych danych potrzebnych do renderowania bez czekania w kolejce. Rezultatem była prędkość. Wydajność poszła w ślad.

Jak AGP rozwiązało problem wąskiego gardła

Intel opracował protokół AGP, aby wyeliminować wąskie gardła nieodłącznie związane z PCI. Eliminując wąskie gardła, komputer był w stanie szybciej renderować grafikę i efektywniej wykorzystywać zasoby systemowe. Oto mechanizm tego ulepszenia.

Dedykowany port oznacza izolację. Nic innego nie podziela tego połączenia. Karta graficzna działa z pełną wydajnością, ponieważ ścieżka jest wolna. Żadne inne urządzenie peryferyjne nie jest w stanie tego spowolnić.

Pipelining zmienia sposób przetwarzania pakietów danych. Zamiast czekać na otrzymanie jednej informacji przed zażądaniem kolejnej, karta graficzna AGP żąda za jednym razem wszystkiego, czego potrzebuje do obrazu. Wyobraź sobie, że zamawiasz od razu pełny posiłek, zamiast prosić o chleb, czekać, potem zupę, a na koniec danie główne. PCI kazało mi czekać sekwencyjnie. AGP zoptymalizowało przepływ.

Adresowanie pasma bocznego to miejsce, w którym osiąga się rzeczywiste oszczędności w zakresie wydajności. W PCI informacje adresowe (nadawca i odbiorca) były wbudowane w pakiet danych. Wyglądało to tak, jakby adres pocztowy został przyklejony taśmą do wewnątrz koperty. Poczta musiała go otworzyć, żeby dowiedzieć się, dokąd idzie. Pochłaniało to czas i przepustowość. AGP dodało osiem dodatkowych linii adresowych. Adres znajdował się po zewnętrznej stronie. Pozostałą część pasma pozostawiono wolną dla rzeczywistych danych. Zasoby systemowe nie marnują już nagłówków dekodujących cykle.

Problem PCI: marnowanie pamięci RAM

W standardzie PCI karta graficzna nie mogła uzyskać bezpośredniego dostępu do własnej pamięci w celu wykonania niektórych operacji. Musiała użyć głównej pamięci RAM systemu jako bufora. To było nieskuteczne. Procesor musiał zarządzać tą komunikacją. To zużywało moc obliczeniową. Zajmował pamięć systemową, którą mogły wykorzystać aplikacje. AGP wyeliminowało tę zależność. Karta graficzna zaczęła wykonywać więcej własnej pracy. System zaczął działać „łatwiej”.

Mapy tekstur to niezasłużenie zapomniani bohaterowie Twojego ekranu. Zamieniają płaskie, nudne wielokąty w światy, po których można spacerować. Jednak przesłanie tych obrazów z dysku twardego na monitor zawsze było logistycznym koszmarem. AGP nie tylko przyspieszyło działanie; całkowicie zmieniła zasady gry.

Wąskie gardło mapy tekstur

Pomyśl o mapie tekstur jako o opakowaniu obiektu 3D. Komputer pobiera obraz 2D i otacza go niewidocznymi kształtami geometrycznymi, aby uzyskać głębię. Jeśli chcesz mieć ceglaną ścianę, karta graficzna nie symuluje każdej pojedynczej cegły. Po prostu owija płaskie pudełko obrazkiem przedstawiającym cegły. Proste, prawda?

Problemem jest przechowywanie. Za każdym razem, gdy ładujesz nową teksturę, zużywa ona pamięć. A w starszych systemach to zużycie pamięci tworzy ogromne wąskie gardło.

Problem z podwójnym przejściem PCI

W przypadku standardowej karty graficznej PCI ścieżka karty tekstur jest wyczerpująca. To dwuetapowy taniec, który marnuje czas i przepustowość.

  1. Ładowanie do systemowej pamięci o dostępie swobodnym (RAM): Tekstura rozpoczyna się na dysku twardym. Najpierw jest ładowany do głównej pamięci systemowej komputera (RAM). Tam ona czeka.
  2. Przetwarzanie i przesyłanie: Kiedy karta graficzna tego potrzebuje, procesor (CPU) pobiera ją z pamięci RAM. Procesor przetwarza dane, a następnie przesyła je z powrotem poprzez magistralę PCI.
  3. Zapisywanie w buforze ramki: Dopiero wtedy tekstura ostatecznie dociera do własnej pamięci wideo (VRAM) karty graficznej, a mianowicie do bufora ramki. Bufor ramki przechowuje wyrenderowany obraz, dzięki czemu karta może stale aktualizować ekran.

Czy widzisz ekstrawagancję? Dane trafiają do pamięci systemowej, następnie do procesora, następnie do magistrali, a dopiero potem do karty. To jakby zamówić pizzę, dostarczyć ją do domu sąsiada, zabrać do kuchni i dopiero wtedy zacząć jeść. Zanim tam dotrze, jest już ostygnięta. Co gorsza, zatyka cały system. Inne programy nie mogą efektywnie uzyskać dostępu do tej pamięci RAM, ponieważ karta graficzna ogranicza całą przepustowość.

Bezpośrednia linia AGP

AGP zmieniło to, umożliwiając karcie graficznej bezpośrednią komunikację z pamięcią systemową, bez konieczności działania procesora jako pośrednika przy każdym ładowaniu tekstury.

Zamiast ładować teksturę do pamięci RAM, a następnie wysyłać ją na kartę, AGP umożliwia karcie graficznej bezpośredni dostęp do pamięci systemowej. W razie potrzeby karta może pobierać dane tekstur bezpośrednio z pamięci RAM. Brak wąskiego gardła procesora. Brak podwójnego przechowywania.

To właśnie nazywamy ulepszeniami pamięci AGP. Karta graficzna może wykorzystywać część systemowej pamięci RAM jako rozszerzenie własnej pamięci wideo. Nazywa się to pamięcią apertury. Nie chodzi tylko o prędkość; chodzi o wydajność. Możesz ładować większe tekstury o wysokiej rozdzielczości, ponieważ wyeliminowane zostało wąskie gardło związane z przenoszeniem danych tam i z powrotem.

Dlaczego jest to dla Ciebie ważne?

Być może nie przejmujesz się architekturą bufora ramki, ale martwisz się drganiami obrazu. Kiedy gra ładuje nowy obszar, komputer musi pobrać z dysku twardego wszystkie tekstury dla tego obszaru. W przypadku PCI oznacza to, że procesor jest zajęty, magistrala jest zatkana, a komputer może zawiesić się na ułamek sekundy w trakcie ustalania, gdzie znajdują się dane.

Dzięki AGP przejście jest płynniejsze. Karta graficzna bezpośrednio bierze to, czego potrzebuje.

Prawdziwa magia AGP to nie tylko szybkość; chodzi o to, jak AGP oszukuje system, aby zrobił więcej rzeczy. Umożliwiając systemowi operacyjnemu dynamiczne przydzielanie zwykłej systemowej pamięci RAM do karty graficznej, AGP tworzy tak zwaną pamięć AGP lub nielokalną pamięć wideo.

Dlaczego to jest ważne? Ponieważ systemowa pamięć RAM jest znacznie większa i często szybsza niż dedykowana pamięć VRAM na karcie graficznej. Przechowywanie map tekstur w tej dużej współdzielonej puli oznacza, że ​​karta graficzna nie musi przechowywać każdego obrazu w swojej ograniczonej pamięci. Wynik? Twój komputer może przetwarzać mapy tekstur znacznie wykraczające poza fizyczne ograniczenia pamięci wewnętrznej karty graficznej.

Sztuczka GART

AGP oszczędza jeszcze więcej zasobów dzięki sprytnemu rozwiązaniu sprzętowemu. Każda mapa tekstur jest przechowywana w systemie tylko raz. Kontroluje to funkcja chipsetu zwana Tabelą ponownego mapowania adresów graficznych (GART).

Sztuczka jest następująca: GART pobiera określony fragment pamięci systemowej pożyczony przez AGP i ponownie przypisuje jego adresy. Daje procesorowi nowy adres, oszukując go, aby uwierzył, że mapa tekstur znajduje się bezpośrednio w buforze ramki karty graficznej. W rzeczywistości fragmenty tej mapy mogą być rozproszone po całej pamięci systemowej. Ale kiedy procesor potrzebuje tych danych, nie dba o swoją fizyczną lokalizację. Widzi tylko oczekiwany adres.

Karty graficzne i standardy AGP

Przez długi czas karty graficzne AGP i AGP były standardem w przetwarzaniu grafiki na komputerach osobistych. Jak w przypadku każdego sprzętu, specyfikacje i technologie tych portów stale ewoluują. Niezależnie od tego, czy badasz historię tych specyfikacji, czy szukasz aktualnych cen sprzętu AGP, poniższe zasoby branżowe zapewniają dogłębną analizę techniczną.

Dane techniczne

  • Intel: Strona z informacjami technicznymi o akcelerowanym porcie graficznym zawiera obszerne informacje projektowe, specyfikacje i techniczne przewodniki po implementacji AGP 2.0 i 3.0, w tym pomocny samouczek dla tych, którzy chcą zrozumieć podstawy.
  • nVidia: Więcej informacji na temat AGP 8X można znaleźć w biuletynie technicznym na stronie internetowej nVidia. Obejmuje ewolucję nowego standardu AGP w wersji 3.0 ze szczegółowymi specyfikacjami.

Ceny rynkowe

  • HowStuffWorks Shopper: Źródło umożliwiające sprawdzenie aktualnych cen i dostępności kart graficznych.

Dodatkowa lektura

Jeśli chcesz zrozumieć szerszy ekosystem, w którym działały te karty, zapoznaj się z następującymi powiązanymi artykułami:
– Jak działa grafika 3D
– Jak działają karty graficzne
– Jak działa PCI
– Jak działa pamięć RAM
– Jak działają mikroprocesory

Ważne linki

  • Sun Microsystems: Często zadawane pytania dotyczące bufora ramki
    — Krótki przewodnik po akcelerowanym porcie graficznym (AGP)
  • AnandTech: Jaka jest różnica pomiędzy AGP4X i AGP Pro?
    — Tom’s Hardware Guide: Przyszła obietnica PCI Express w zakresie grafiki — 10 marca 2004 r.