Sběrnice pro grafické karty SVGA

Pavel Tišnovský 10. 12. 2009

Zatímco pro většinu grafických karet pro počítače PC, které jsme si popsali v předchozích částech tohoto seriálu, vyhovovala sběrnice ISA, můžeme u grafických karet SVGA zaznamenat postupný přechod na odlišné typy sběrnic. Důvodem jsou poměrně malé rychlosti přenosu dat u sběrnice ISA, které již nebyly dostatečné pro grafické režimy s větším rozlišením a počtem barev.

Obsah

1. Rozhraní pro připojení grafických karet – sběrnice ISA

2. Šestnáctibitová varianta sběrnice ISA – AT Bus

3. Přenos dat po sběrnici ISA

4. Maximální rychlost přenosu dat na osmibitové sběrnici ISA

5. Grafické karty a limity sběrnice ISA

6. Sběrnice VLB – VESA Local Bus

7. Vlastnosti sběrnice VESA Local Bus

8. Burst režim u sběrnice VESA Local Bus

9. Odkazy na Internetu

1. Rozhraní pro připojení grafických karet – sběrnice ISA

Většina grafických karet pro osobní počítače IBM PC, které jsme si popsali v předchozích částech tohoto seriálu, byla vybavena rozhraním pro osmibitovou nebo šestnáctibitovou variantu sběrnice ISA. Zkratka ISA vychází z anglického názvu Industry Standard Architecture. Tato sběrnice byla navržena firmou IBM v roce 1980 v laboratořích IBM Development Lab Bocaraton na Floridě. V roce 1981 byla použita osmibitová verze této sběrnice pro první počítače typu IBM PC. Tyto počítače totiž byly vybaveny procesorem Intel 8088 s osmibitovou šířkou datové sběrnice, takže nemělo smysl, aby interní sběrnice počítače byla širší než osm bitů (použití procesoru s osmibitovou sběrnicí mělo tu výhodu, že pro konstrukci počítače bylo možné použít starší čipy kompatibilní s procesory 8080 a 8085). Tato verze sběrnice ISA podporovala připojení přídavných karet s osmibitovým rozhraním a konektorem, který obsahoval celkem 62 kontaktů.

pc83

Obrázek 1: Grafická karta MDA s čipem MC6845. Jak je z obrázku patrné, je tato karta určená pro osmibitovou sběrnici ISA, i když její konstrukce dovoluje použití této karty v šestnáctibitové variantě sběrnice.

2. Šestnáctibitová varianta sběrnice ISA – AT Bus

Od roku 1984 se začíná v počítačích IBM PC AT (vybavených procesorem Intel 80286) a kompatibilních používat šestnáctibitová verze této sběrnice, která podporuje karty s konektorem s 98 kontakty. Tato sběrnice se ve firemních materiálech IBM také nazývá AT Bus, ostatní výrobci však používají označení ISA. Šestnáctibitová sběrnice ISA se ve výpočetní technice používala velmi dlouho, zejména díky její konstrukční jednoduchosti (konektor bylo možné vytvořit přímo na plošném spoji bez dalších konstrukčních součástí) a detailnímu popisu komunikačního protokolu a průběhů signálů. Tuto sběrnici lze doposud spatřit například v mnoha průmyslových PC. Šestnáctibitová sběrnice ISA obsahovala adresovou část, která měla šířku 24 bitů, což odpovídá možnostem adresování až 16 MB paměti (pomocí čtyř nejvyšších adresových bitů bylo možné ovládat takzvaný latch, tj. záchytný registr). Kromě paměti bylo možné obsluhovat maximálně 64 kB vstupně/výstupních portů pomocí šestnáctibitové IO sběrnice (adresová část IO sběrnice měla šířku šestnácti bitů, maximální počet portů je tedy roven 216=65536).

pc8806

Obrázek 2: Grafická karta CGA. Povšimněte si, že se jedná o kartu ISA plné délky a že její plošný spoj zasahuje i do oblasti, ve které se běžně nachází šestnáctibitové rozšíření konektoru ISA. V praxi tento konstrukční nedostatek většinou nevadil, protože počítače PC AT bývaly vybaveny kromě konektorů šestnáctibitové ISA sběrnice i jedním či dvěma „krátkými“ osmibitovými konektory, a především – tato grafická karta již byla s nástupem počítačů PC AT zastaralá.

3. Přenos dat po sběrnici ISA

Datová část sběrnice ISA měla šířku osm či šestnáct bitů. Blokový přenos dat mohl být řešen buď programově (typicky instrukcí REP MOVSW či později na procesorech 80386 instrukcí REP MOVSD) nebo pomocí čtyř (později sedmi) DMA kanálů. Některé karty byly osazeny čipem umožňujícím řízení sběrnice (bus-master), při kterém se o přenos dat starala sama karta a nikoli mikroprocesor či čipset vybavený DMA kanálem (tento způsob přenosu dat se stal častěji používaný s příchodem modernějších sběrnic, například PCI). Počítače PC XT byly vybaveny čipem se čtyřmi osmibitovými DMA kanály, PC AT již sedmi kanály šestnáctibitovými. Pro přenos dat se používal synchronní protokol. Oscilátor použitý pro generování hodinových signálů měl u původního PC XT časovou základnu nastavenou na 70 ns, což odpovídá frekvenci 14,285 MHz. Tato frekvence byla dále dělena třemi, takže skutečná taktovací frekvence byla u prvních verzí sběrnice ISA rovna necelým 4,77 MHz. Později, tj. u PC AT a různých klonů, se používaly také rychlejší varianty sběrnice s hodinovou frekvencí 8 MHz, 8,33 MHz, 10 MHz, 12 MHz, 16 MHz a 20 MHz, ovšem některá zařízení nedokázala korektně pracovat v případě nastavení frekvencí hodinových signálů na 16 MHz či 20 MHz (u grafických karet mohlo docházet k chybám při zápisu barev některých pixelů, u zvukových karet buď docházelo ke zkreslení zvuku – vynechání částí samplů – či dokonce k přerušení DMA přenosu, což buď znamenalo přerušení přehrávání či naopak neustálé opakování přehrávání jednoho zvuku v případě že nedošlo k zachycení přerušení při jeho prvním přehrání).

pc91

Obrázek 3: Na této desce určené pro průmyslová PC (takzvaná backplane) je osm černých konektorů šestnáctibitové sběrnice ISA. Na konektorech je patrné oddělení původní osmibitové ISA od „šestnáctibitového“ rozšíření

4. Maximální rychlost přenosu dat na osmibitové sběrnici ISA

Pokusme se nyní zjistit teoretickou (maximální) přenosovou rychlost této sběrnice a vliv přenosové rychlosti na výkonnost grafického systému. Osmibitová sběrnice ISA taktovaná na 4,77 MHz dokázala teoreticky přenést 4,77×106/1024­/1024/2 = 2,28 MB/s, protože data se přenášela po jednotlivých bajtech, přičemž v prvním hodinovém cyklu se přenesla adresa a v cyklu druhém datový bajt (mnoho zařízení navíc vyžadovalo několik čekacích cyklů, maximálně čtyři, tj. přenos jednoho bajtu mohl trvat až 6 cyklů sběrnice). Při použití grafické karty CGA s kapacitou video paměti 16 kB to znamená, že za jednu sekundu bylo možné přenést celý obsah video paměti celkem 145×. Hodnota dosažená v praxi byla sice mnohonásobně nižší (například z důvodu nutnosti obnovy dynamických pamětí, načítání instrukcí mikroprocesorem, reakcí na přerušení atd.), ale stále se jedná o hodnotu, která dostačovala pro většinu grafických operací. Pro počítače PC XT vybavené kartou CGA tedy sběrnice ISA nepředstavovala úzké hrdlo, které by programátory omezovalo při implementaci grafických operací (přenos obsahu celé obrazové paměti se prováděl například při scrollingu, protože pro tento jednoduchý efekt neměly první grafické karty určené pro počítače PC žádnou hardwarovou podporu).

pc91

Obrázek 4: Přenos jednoho bajtu po osmibitové sběrnici ISA v případě, že jsou kvůli pomalému zařízení použity čtyři čekací stavy (wait state). Celý přenos tedy v tomto případě trval šest cyklů sběrnice.

5. Grafické karty a limity sběrnice ISA

Na osobních počítačích vybavených procesory 80286 a 80386 (což znamená na počítačích vybavených šestnáctibitovými sběrnicemi ISA) se již běžně používaly grafické karty VGA. Na jednu stranu sice byla k dispozici rychlejší sběrnice, ovšem její přenosová kapacita musela být použita pro přenos mnohem většího množství dat. Například šestnáctibitová sběrnice ISA s hodinovou frekvencí 16 MHz dokázala přenést maximálně 16×106/1024/1024 = 15,3 MB/s, ovšem šestnáctibarevný grafický režim karty VGA s rozlišením 640×480 pixelů vyžadoval alokaci obrazové paměti o velikosti 150 kB, tj. těchto obrazů bylo (teoreticky) možné přenést maximálně 102 za sekundu, což je méně než v případě původního PC XT vybaveného kartou CGA. Samozřejmě 102 snímků za sekundu stále ještě nepředstavuje žádný reálný limit, ovšem s rozšířením grafických karet SVGA se již začalo ukazovat, že je zapotřebí sběrnici ISA nahradit rychlejší variantou, protože například v 256barevném grafickém režimu o rozlišení 1024×768 pixelů by bylo možné za jednu sekundu přenést pouze 19 snímků, což je již nedostatečné (nehledě na to, že v reálném počítači je přenosová kapacita sběrnice menší).

pc91

Obrázek 5: Dvojice karet, z nichž horní je určena pro šestnáctibitovou sběrnici ISA a dolní pro sběrnici EISA.

Anketa

Jaká byla nejrychlejší metoda blokového přenosu dat na počítačích s procesorem Intel 386? Pro jednoduchost předpokládejme bloky o velikosti max. 64 kB a reálný režim procesoru.

6. Sběrnice VLB – VESA Local Bus

Sběrnice VESA Local Bus (zkráceně VLB) byla navržena sdružením VESA jako rychlejší doplněk k výkonnostně nedostatečné sběrnici ISA. Zatímco je sběrnice ISA určena pro prakticky libovolné zařízení, u sběrnice VESA Local Bus se předpokládalo její použití zejména pro grafické karty, řadiče rychlých pevných disků a síťové karty. Tato sběrnice byla používána pouze na osobních počítačích typu PC; podpora pro jiné výpočetní systémy prakticky neexistuje, protože architektura sběrnice je poměrně úzce svázána se strukturou a funkcí vývodů mikroprocesoru 486 (naopak příště zmíněná sběrnice PCI se používá i mimo platformu i386). Největší rozšíření sběrnice VLB bylo, jak se ostatně dá očekávat, v dobách osobních počítačů s procesory řady 486, u kterých rostla poptávka po rychlých grafických kartách a pevných discích s většími přenosovými rychlostmi. S dalším vývojem počítačů (zejména těch s procesory Intel Pentium, AMD K6 atd.) začal být zřetelný značný ústup v používání sběrnice VLB, naopak se začala prosazovat perspektivní sběrnice PCI a posléze PCI-X a PCI Express.

pc91

Obrázek 6: Grafická karta s čipem firmy Cirrus Logic kombinovaná s řadičem disků a I/O porty určená do sběrnice VESA Local Bus. Poměrně typické je přidružení i dalších funkcí na jednu kartu – zde sériových a paralelních portů, IDE rozhraní atd. Pokud se taková karta zapojila do základní desky, která již tyto obvody obsahovala, většinou došlo ke konfliktu a pomocí jumperů se musely přídavné funkce opět zakázat. Podobná obludná karta dodnes spolehlivě funguje v mém starém počítači s procesorem IBM Blue Lightning, což je jedna z variant procesoru 486 DX2. Tato karta mohla být používána i v počítačích, jejichž sběrnice VLB používala hodinový kmitočet 50 MHz.

7. Vlastnosti sběrnice VESA Local Bus

Jak již název sběrnice VESA Local Bus napovídá, jedná se o sběrnici lokální, tj. o sběrnici, která přímo sdílí datovou a adresovou část s mikroprocesorem počítače (z toho také vyplývá šířka datové části – 32 bitů). To má mimo jiné za následek omezení maximálního počtu připojených zařízení na dvě, maximálně až na tři, protože větší počet zařízení by příliš proudově a impedančně zatěžoval procesorovou sběrnici.

pc91

Obrázek 7: Grafická karta vybavená čipem TGUI 9400CXI známé firmy Trident, jejíž grafické karty pro sběrnice ISA i VLB u nás byly poměrně oblíbené a rozšířené.

Mohlo by docházet i k odrazům na adresových/datových vodičích, proto jsou konektory lokální sběrnice umístěny co nejblíže k mikroprocesoru. Také frekvence sběrnice je odvozena z vnější taktovací frekvence mikroprocesoru a může se pohybovat v hodnotách od 33 MHz až do 50 MHz, typicky 33, 40 či 50 MHz i když při přetaktování mikroprocesoru se samozřejmě proporcionálně změnila i frekvence používaná na VESA Local Bus.

pc91

Obrázek 8: Základní deska vybavená sběrnicemi ISA a VESA Local Bus. Na tomto snímku je patrné, že sběrnice VLB vznikla (většinou) rozšířením konektoru šestnáctibitové sběrnice ISA. Hnědou barvou je označen rozšiřující konektor VLB, černou barvou pak konektory sběrnice ISA. V popředí můžeme vidět konektor pro osmibitovou variantu sběrnice ISA, tj. jedná se o stejný konektor, jaký byl použitý i v prvních počítačích PC XT.

8. Burst režim u sběrnice VESA Local Bus

Sběrnice VESA Local Bus podporovala takzvaný burst režim přenosu blokových dat. Jednalo se o zvláštní mód, ve kterém se přenesla vždy jedna adresa a po ní čtyři datová slova. Bylo tak možné jednoduše a rychle přenést 4×32 bitů pouze v pěti sběrnicových cyklech oproti osmi cyklům nutným pro přenos čtyř dvojic adresa-data. Jak se budete moci dočíst v dalším pokračování tohoto seriálu, je možné u pokročilejších sběrnic použít vylepšenou variantu burst režimu, ve kterém se po zadání jedné adresy a počtu opakování může přenést mnohem více dat, což ve svém důsledku vede k vyšší přenosové rychlosti, neboť se ušetří cykly nutné pro přenos a dekódování adresy.

widgety

pc91

Obrázek 9: Méně obvyklá konfigurace základní desky se sběrnicemi EISA a VESA Local Bus. Jedná se o základní desku určenou pro výkonné pracovní stanice a servery, proto je možné instalovat až šestnáct osmibitových paměťových modulů SIMM (vždy po čtveřicích).

9. Odkazy na Internetu

  1. PC Game Programmer's En­cyclopedia
    http://www.qzx.com/pc-gpe/
  2. Xtended Mode – Unchained 640×400×256
    http://www.bluemg.de/…xtended.html
  3. PC-GPE: Tseng
    http://www.qzx.com/…pe/tseng.txt
  4. PC-GPE: Trident
    http://www.qzx.com/…/trident.txt
  5. ISA Video Cards and Graphic Accelerators
    http://www.baber.com/…eo_cards.htm
  6. Number Nine Visual Technology: Imagine 128 Series 2
     http://stason.org/…128-SER.html
  7. #9GXI LITE video card Settings and Configuration
     http://stason.org/…XI-LITE.html
  8. Oak Technology
    http://en.wikipedia.org/…k_Technology
  9. Computer Hardware: Information about Number Nine Video Cards
     http://www.computerhope.com/help/vnine.htm
  10. Number Nine ships the first 128-bit Graphics Accelerator Board
     http://www.encyclopedia.com/…5918685.html
  11. Number Nine Visual Technology
    http://en.wikipedia.org/…l_Technology
  12. Wikipedia CZ: Sběrnice:
    http://cs.wikipedia.org/…b%C4%9Brnice
  13. Wikipedia EN: Industry Standard Architecture:
     http://en.wikipedia.org/…Architecture
  14. Support/perip­heral/other chips – 6800 family
    http://www.cpu-world.com/…rt/6800.html
  15. Motorola 6845
    http://en.wikipedia.org/…otorola_6845
  16. The 6845 Cathode Ray Tube Controller (CRTC)
    http://www.tinyvga.com/6845
  17. IBM Monochrome Display Adapter
    http://en.wikipedia.org/…play_Adapter
  18. Color Graphics Adapter
    http://en.wikipedia.org/…hics_Adapter
  19. Wikipedia CZ: Sběrnice:
    http://cs.wikipedia.org/…b%C4%9Brnice
  20. Wikipedia EN: Industry Standard Architecture:
     http://en.wikipedia.org/…Architecture
  21. Enhanced Graphics Adapter
    http://en.wikipedia.org/…hics_Adapter
  22. IBM Multicolor Graphics Adapter
    http://en.wikipedia.org/wiki/MCGA
  23. Professional Graphics Controller
    http://en.wikipedia.org/…s_Controller
  24. The IBM PGA Graphics Adapter
    http://incolor.inebraska.com/…_adapter.htm
  25. Professional Graphics Controller: Notes
    http://www.seasip.info/…ePC/pgc.html
  26. A professional graphics controller (PDF ke stažení po zaplacení 10 dolarů)
     http://domino.research.ibm.com/…6bfa00685b97?…
Našli jste v článku chybu?
Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

DigiZone.cz: Sony MP-CL1A: miniaturní projektor

Sony MP-CL1A: miniaturní projektor

DigiZone.cz: DVB-T2 ověřeno: ČRa doplňují seznam

DVB-T2 ověřeno: ČRa doplňují seznam

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

Podnikatel.cz: Znáte už 5 novinek k #EET

Znáte už 5 novinek k #EET

DigiZone.cz: Rapl: seriál, který vás smíří s ČT

Rapl: seriál, který vás smíří s ČT

DigiZone.cz: Funbox 4K v DVB-T2 má ostrý provoz

Funbox 4K v DVB-T2 má ostrý provoz

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

Podnikatel.cz: Babišovi se nedá věřit, stěžovali si hospodští

Babišovi se nedá věřit, stěžovali si hospodští

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

DigiZone.cz: Technisat připravuje trojici DAB

Technisat připravuje trojici DAB

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

DigiZone.cz: Na jaká videa se vlastně díváme

Na jaká videa se vlastně díváme

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu