artykuły

Wielki test 125 kart graficznych PCI Express

324
9 października 2007, 09:54 S. Stolarczyk, P. Pilarczyk

Historia kart graficznych

Poniższy tekst to fragment znacznie większego artykułu, który opublikujemy w niedalekiej przyszłości na PCLab.pl

Historia pecetowych kart graficznych sięga lat siedemdziesiątych, a konkretnie roku 1975, kiedy to firma IBM rozpoczęła sprzedaż swojego pierwszego komputera osobistego, IBM 5100. Urządzenie miało 16 kB pamięci operacyjnej, dane pobierało z taśmy, zaś z użytkownikiem komunikowało się wyświetlając na monitorze koślawe literki: 16 wierszy, po 64 znaki w każdym wierszu. IBM 5100 kosztował - bagatelka - "jedyne" 9000 USD.

12 sierpnia 1981 pojawił się następca 5100, komputer IBM 5150 Personal Computer (w skrócie: IBM PC), uznany za pradziadka dzisiejszych pecetów. Był to pierwszy komputer firmy IBM z procesorem Intela - szesnastobitowym 8088. Cechował się otwartą architekturą - umożliwiał instalację dodatkowych komponentów w postaci kart rozszerzeń ISA.

Jak na nowoczesny komputer przystało, 5150 został wyposażony w zaawansowany adapter graficzny, mający postać karty ISA: MDA (Monochrome Display Adapter). MDA wyświetlał obraz o rozdzielczości 720x350 punktów, jednak pracował tylko w trybie tekstowym. Wyświetlał na ekranie 25 wierszy tekstu, w każdym po 80 znaków.

MDA wyświetlał wyłącznie obraz dwukolorowy - biało-czarny, zielono-czarny lub bursztynowo-czarny (zależnie od zastosowanego monitora). Udostępniał ponadto specjalne efekty dla tekstu, jak rozjaśnienie oraz podkreślenie. Dane o wyświetlanym tekście MDA przechowywał w 4 kB własnej pamięci.

Wkrótce po premierze pierwszego peceta, IBM zaproponował swoją pierwszą "kolorową" kartę graficzną: CGA (Color Graphics Adapter), która, prócz tekstowego, oferowała także tryby graficzne. Urządzenie miało czterokrotnie więcej pamięci od MDA - "aż" 16 kB! Najpopularniejszy tryb graficzny to 320x200 przy czterech kolorach: białym, czarnym, różowym i jasnoniebieski lub źółtym, czarnym, zielonym i czerwonym.

W 1982 roku firma Hercules Computer Technology wprowadziła na rynek słynny adapter graficzno-tekstowy: Hercules Graphics Card (HGC), znany jako po prostu "Hercules". Udostępniał tryb tekstowy zgodny z MDA (80x25 znaków) oraz wysokorozdzielczy, monochromatyczny tryb graficzny 720x348 punktów.

Dwa lata później IBM zaprezentował pierwszą, naprawdę przyzwoitą kartę graficzną: EGA (Enhanced Graphics Adapter) z 64 kB pamięci, rozszerzalnej do 256 kB. EGA była zgodna zarówno z CGA, jak i MDA oraz wprowadziła dwa nowe tryby graficzne: 320x200 i 640x350, przy których potrafiła wyświetlić jednocześnie aż 16 kolorów (z 64-kolorowej palety).

Rok 1987 można uznać za przełomowy. Wtedy to ukazała się karta graficzna z prawdziwego zdarzenia: VGA (Video Graphics Array), przeznaczona dla standardowej magistrali ISA. Była zgodna wstecz ze wszystkimi poprzednimi standardami: MDA, CGA i EGA (ale nie Hercules!) i miała 256 kB lokalnej pamięci. Wyprowadzała analogowy sygnał wideo, dzięki czemu uzyskiwała znacznie większą paletę kolorów, niż cyfrowe EGA i CGA. Oferowała tryb tekstowy 80x25 znaków (literki mogły być wyświetlane w 16 kolorach), oraz dwa nowe tryby graficzne: 320x200 przy 256 kolorach (dostępnych z 18-bitowej palety, a więc 262.144 barw!) oraz 640x480 przy 16 kolorach (dostępnych z tej samej palety).

VGA oraz jej klony zdobyły niezwykłą popularność. Po dziś dzień często spotkać się możemy z określeniem "VGA" dla kart graficznych, nawet tych najnowszej generacji. Obecnie skrót VGA rozwijany jest bowiem jako Video Graphics Adapter - graficzny adapter wideo.

Szybko możliwości VGA okazały się niewystarczające. Dlatego niezależni producenci zaczęli wytwarzać własne karty graficzne, zgodne na poziomie sprzętowym z VGA, jednak wprowadzające nowe tryby graficzne: 800x600, 1024x768, a nawet 1280x1024. Prostsze modele, które miały tylko 256 kB pamieci, wyświetlały tryb 640x480 w 256 kolorach, zaś pozostałe tryby o wyższej rozdzielczości wyświetlały jedynie w 16 lub nawet tylko dwóch kolorach. Jednak mocniejsze karty, z 512 a nawet 1024 kB pamięci, potrafiły wyświetlić nawet rozdzielczość 1024x768 w 256 kolorach, a 1280x1024 przy 16 kolorach.

Wszystkie karty określone zostały przez swych producentów ogólnym mianem SVGA (Super VGA). Niestety, IBM po wprowadzeniu na rynek XGA, zarzucił prace nad VGA, w efekcie czego nikt poczynań niezależnych producentów kart graficznych nie kontrolował. Poza trybami VGA, SVGA nie był standardem: aplikacja napisana dla karty SVGA firmy Oak nie działała poprawnie na karcie SVGA firmy Trident czy Western Digital. By zaradzić temu problemowi, najwięksi producenci kart graficznych i monitorów utworzyli organizację VESA (Video Electronics Standards Association). VESA rozpoczęła proces standardyzacji wszystkich kart graficznych, by umożliwić im zgodność ze sobą. Powstały rozszerzenia VESA BIOS Extension, opisujące dodatkowe tryby graficzne.

Narodziny VLB i PCI

Następnym krokiem rozwoju kart graficznych była zmiana ich magistrali. 16-bitowa magistrala ISA, z której korzystały wszystkie karty graficzne po SVGA włącznie, szybko okazała się bardzo wąskim gardłem. Jej szczytowa przepustowość, ok. 16 MB/s, to zbyt mało dla zastosowań graficznych.

Dlatego organizacja VESA rozpoczęła pracę nad rozszerzeniem magistrali ISA do 32-bitów, dzięki czemu zwiększona miała być jej przepustowość. Tak powstała magistrala VESA Local Bus (VLB), której zaletą - tak się przynajmniej w tamtym czasie wydawało - była możliwość instalacji starszych kart ISA.

W tym czasie Intel rozpoczął pracę nad własną magistralą, PCI (Peripheral Component Interconnect), zupełnie niekompatyblną z ISA (w przeciwieństwie do VLB). PCI to 32-bitowa magistrala zgodna ze standardem Plug&Play, oferująca przepustowość rzędu 132 MB/s.

Choć w pojedynku PCI kontra VLB sukces wróżono magistrali VESA, ku zaskoczeniu wielu bitwę wygrała szyna PCI. Ta przetrwała zresztą do dnia dzisiejszego, a złącza PCI znajdziemy praktycznie na wszystkich współczesnych płytach głównych.

Nowa magistrala otworzyła nowe pole do popisu producentom kart graficznych. Ci zaczęli prześcigać się osiągami swoich akceleratorów. Kolejne karty miały coraz więcej pamięci, 32-bitowe układy graficzne zostały zastąpione 64-bitowymi, poszerzano paletę funkcji umożliwiających kartom wspomaganie w rysowaniu grafiki. Kolejnym krokiem był już...

3