Hva er en adapter og grafikkakselerator? Grafikkakseleratorer

Med økningen i antall applikasjoner som bruker kompleks grafikk og video, sammen med tradisjonelle videoadaptere, er en rekke datamasmye brukt:

 Grafikkakseleratorer (akseleratorer) er spesialiserte grafikk-koprosessorer som øker effektiviteten til videosystemet. Bruken deres frigjør sentralprosessoren fra en stor mengde operasjoner med videodata, siden akseleratorene uavhengig beregner hvilke piksler som skal vises på skjermen og hvilke farger de har.

 TV-tunere - skjermkort som gjør en datamaskin til en TV. TV-tuneren lar deg velge hvilket som helst TV-program og vise det på skjermen i et skalerbart vindu. På denne måten kan du overvåke fremdriften av overføringen uten å stoppe arbeidet.

Hva er et tastatur?

Alle tegn som er skrevet på tastaturet vises umiddelbart på skjermen ved markørposisjonen ( markøren- et lysende symbol på LCD-skjermen som indikerer posisjonen der neste tegn som legges inn fra tastaturet vil vises).

Det vanligste tastaturet i dag er med tastelayout QWERTY(les "querti"), oppkalt etter tastene som er plassert i øvre venstre rad på den alfanumeriske delen av tastaturet:

Ris. 2.13. Data-tastatur

Dette tastaturet har 12 funksjonstaster plassert langs den øvre kanten. Ved å trykke på en funksjonstast sendes ikke bare ett tegn til datamaskinen, men et helt sett med tegn. Funksjonstaster kan programmeres av brukeren. For eksempel, i mange programmer brukes F1-tasten for å få hjelp (hint), og F10-tasten brukes til å avslutte programmet.

Kontrolltastene har følgende formål:

Det lille numeriske tastaturet brukes i to moduser - inntasting av tall og styring av markøren. Bytte mellom disse modusene gjøres med Num Lock-tasten.



Tastaturet inneholder en innebygd mikrokontroller(lokal kontrollenhet), som utfører følgende funksjoner:

  • sekvensielt poller nøklene, leser det angitte signalet og genererer en binær skannekode for nøkkelen;
  • kontrollerer tastaturets indikatorlys;
  • Utfører intern diagnostikk av feil;
  • samhandler med den sentrale prosessoren gjennom tastaturets I/O-port.

Tastaturet har en innebygd buffer – et lite mellomminne hvor inntastede tegn plasseres. Hvis bufferen renner over, vil et trykk på en tast bli ledsaget av et lydsignal - dette betyr at tegnet ikke ble skrevet inn (avvist). Betjeningen av tastaturet støttes av spesielle programmer "hardwired" i BIOS, samt en tastaturdriver, som gir muligheten til å skrive inn russiske bokstaver, kontrollere hastigheten på tastaturet, etc.

Et skjermkort er en av de viktigste enhetene til en moderne personlig datamaskin, som er ansvarlig for å behandle 2D- og 3D-grafikk og video. Ofte er ikke egenskapene til videobrikken innebygd i hovedkortet nok, og hvis brukeren planlegger å bruke PC-en som et mediesenter eller spillplattform, er det ingen måte å gjøre uten et kraftig skjermkort på mellomnivå.

AMD vs nVidia
Det er foreløpig bare to videobrikkeprodusenter på markedet: AMD og nVidia. Før du kjøper en grafikkakselerator, bør du tenke på hvilket produsentkort du vil se i systemenheten på datamaskinen. Begge selskapene har sine egne fordeler og ulemper, som det er verdt å dvele nærmere ved.
Nvidia har for tiden en ledende posisjon i markedet, og for de fleste brukere blir grafikk behandlet av grafikkbrikken til det kaliforniske selskapet. Fordelene med nVidia inkluderer drivere av høy kvalitet og støtte for PhysX-teknologi, som er integrert i mange videospill. PhysX-støtte gir realistisk behandling av fysiske effekter: fysikk av væsker, vev, partikler. Hvis skjermkortet ikke har maskinvarestøtte for denne teknologien, fører dette til et alvorlig fall i ytelsen i spillapplikasjoner
AMD-videobrikker (tidligere produsert under Radeon-merket) har også egne trumfkort i ermet. Vanligvis har skjermkort basert på AMD-brikker høyere ytelse til en lavere pris. Det antas også at brikker fra det kanadiske selskapet er mer egnet for overklokking ved bruk av spesialverktøy. Samtidig, som praksis viser, er skjermkort basert på AMD-brikker mindre pålitelige og oftere feil i ressurskrevende applikasjoner.
Som et resultat må alle selv bestemme det evige dilemmaet "hva de skal kjøpe, AMD eller nVidia." Hva er viktigere for deg: høyere pålitelighet eller ytelse? Trenger du PhysX-støtte og er det verdt å betale ekstra for det? I alle fall inkluderer utvalget av skjermkort fra begge selskaper et stort antall tilbud som er verdt å ta hensyn til.
Når du velger et eller annet grafikkort, uavhengig av produsent, bør du først og fremst fokusere på strømindikatorer og objektive testresultater i spesielle benchmark-programmer. 3D Mark-programmet vil teste skjermkortet spesielt godt.

La oss løpe til butikken.
Hvis du fokuserer på et skjermkort på mellomnivå (dette er et sted fra 3000 rubler til 4000 rubler), bør du ta hensyn til de nyeste løsningene fra nVidia GeForce GTX 550 eller AMD HD 7770. Disse er relativt rimelige og samtidig produktive sjetonger, som lar deg spille alle moderne videospill i høy oppløsning og uten FPS-fall.
Det er verdt å fokusere på spesifikke modeller. Blant kortene basert på nVidia GeForce GTX 550 videobrikke er Palit GeForce GTX 550 Ti 1024MB GDDR5 spesielt bra. Skjermkortet fungerer med PCI-Express x16 2.0-grensesnittet, støttet av de fleste moderne hovedkort. 1024 MB videominne vil være mer enn nok for komfortabel spilling i full-HD-oppløsning videobrikken er ganske kraftig og kan operere med en frekvens på 900 MHz. Takket være et kjølesystem av høy kvalitet kan dette tallet økes med ca. 15 %. Kjøleren har svært brede blader, noe som vil spare brukere for unødvendig støy. Når det gjelder minnet, opererer det med en frekvens på 1025 MHz, noe som er ganske bra og oppfyller de strengeste kravene til dagens videospill. Naturligvis støtter enheten teknologier som Nvidia SLI (lar deg koble til to skjermkort samtidig), samt 3D Vision, 3D Vision Surround, CUDA, PureVideo HD og PhysX.
Sapphire HD 7770 grafikkort har høyere ytelse til en lavere pris. Du må betale, som nevnt ovenfor, mangelen på 3D Vision og PhysX-teknologier. GDDR5-minne med en kapasitet på 1024MB opererer med en frekvens på 1125 MHz. Grafikkbrikken opererer med en cruisefrekvens på 1000 MHz, men kan igjen overklokkes.

Merk følgende!
Basert på disse anbefalingene kan du enkelt kjøpe et billig, men kraftig skjermkort. Det er verdt å huske at det ikke er noe mer flyktig enn markedet for grafikkakseleratorer. I dag koster et skjermkort 5000, og i morgen vil ingen gi engang 1000 for det, så du må være ekstremt forsiktig så du ikke blir lurt av en skruppelløs selger.

For å løse mange problemer ved hjelp av en datamaskin, kreves grafikk av høy kvalitet. Et bilde av denne kvaliteten krever at et stort antall piksler vises på skjermen. Men først må fargen på hver piksel beregnes og skrives til videobufferen. Derfra sendes informasjonen til displayet med en slik hastighet at skjermen oppdateres minst 30 ganger i sekundet.

Beregningen av pikselintensitet og farge kan gjøres av programvare. Det resulterende bildet skal tas opp i videobufferen, og derfra sendes til skjermen via databussen. Datavolumet som behandles på denne måten vil imidlertid være så stort at hvis all behandling er tilordnet prosessoren, vil den ikke ha tid til å utføre andre oppgaver. I tillegg vil bruk av databussen til å sende innholdet i videobufferen til displayet føre til at bussen også blir nesten fullstendig okkupert av disse dataene. Hvis én piksel opptar 32 biter, vil et bilde på 1024 x 1024 piksler kreve 4 MB og vil kreve en buss med en overføringshastighet på minst 120 MB/s for å overføre det.

De fleste grafikkapplikasjoner viser tredimensjonale (3D) objekter på skjermen. Spesielt dataspill skaper en kunstig tredimensjonal verden med videobilder generert av programvare. For å oppnå dem kreves det svært komplekse beregninger, som best utføres på en separat spesialisert prosessor. Denne prosessoren, kalt GPU (Graphics-Processing Unit), er grunnlaget for de populære grafikkortene som finnes i de fleste personlige datamaskiner. I tillegg til prosessoren inneholder grafikkortet høyhastighetsminne fra 8 til 64 MB. Dette minnet brukes av GPUen til å utføre beregninger og lagre det resulterende bildet for visning på skjermen. Displayet kobles direkte til grafikkortet, slik at det kan kommunisere med det uten å bruke databussen. High-end grafikkort kan oppdatere skjermen med hastigheter mellom 75 og 200 ganger per sekund.

Grafiskhavn

Grafikkortet kan kobles til datamaskinen via en buss (for eksempel PCI). Imidlertid er det oftere på datamaskinens hovedkort et tilkoblingsspor kalt AGP (Accelerated Graphics Port), spesielt designet for et grafikkort. Dette er en 32-bits port som støtter høyere dataoverføringshastigheter enn PCI-bussen. Det er kjent som AGP 1x, 2x, 4x eller 8x, der AGP 1x er den originale standarden som definerer dataoverføringshastigheter på 264 MB/s. De nyeste versjonene av AGP-standarden støtter dataoverføringshastigheter som er flere ganger høyere, spesielt AGP 8x-standarden setter en dataoverføringshastighet på 2 GB/s.

Grafiskbehandling

I datagrafikk er et tredimensjonalt objekt representert som en overflate som består av et stort antall små polygoner (vanligvis trekanter). Hovedoppgaven med grafisk behandling er å konvertere et tredimensjonalt bilde til et todimensjonalt bilde som er så nært som mulig hvordan det ser ut for det menneskelige øyet. For å bestemme projeksjoner Og prospekterDu gjenstander, må du beregne plasseringen av toppunktene til trekanter som representerer forskjellige deler av bildet. Deretter, ved å bruke komplekse algoritmer for å lage et realistisk bilde, beregnes fargene og skyggene til hver trekant. Disse beregningene tar hensyn til plasseringen av lyskilden, dens refleksjon fra ulike overflater, skygger osv. En viktig del av denne prosessen er dannelsen av en viss overflatetekstur, for eksempel trefibre eller murverk. Tekstur er vanligvis spesifisert ved å bruke elementer kalt texels(texel). Individuelle trekanter er fylt med texel, noe som resulterer i utseendet til en teksturert overflate av objektet. Skjulte deler av bildet fjernes av kutte av(klipping). Det siste trinnet i bildebehandlingen, når fargen og lysstyrken til hver piksel bestemmes, kalles prøvetaking(sampling), og hele beregningsprosessen, som et resultat av at et tredimensjonalt bilde blir omgjort til et sett med piksler sendt til skjermen - visualisering(gjengivelse).

Når det gjelder bevegelige bilder, gjentas alle disse beregningene mange ganger per sekund. For at bevegelsen på skjermen skal være jevn, må pikslene i bildet telles minst 20 ganger per sekund, og helst 30 eller 40. Denne verdien kalles bildefrekvens. Hastigheten som et grafikkort utfører de beskrevne beregningene med, er preget av dets T&L (Transformations and Lighting) koeffisient, som er lik antall trekanter som grafikkortet kan utføre projeksjon, klipping, belysning og sampling for på ett sekund. Vanligvis varierer denne verdien fra 10 til 30 millioner trekanter per sekund.

I tabellen 10.1 viser egenskapene til RADEON VE-grafikkortet produsert av ATI Corp. GeForce 2 MX-grafikkprosessoren produsert av Vidia Corp. har lignende muligheter. Dette er eksempler på populære brett for personlige datamaskiner. Profesjonelle systemer bruker kraftigere kort med avanserte funksjoner. Og i nær fremtid forventes det å dukke opp enda kraftigere prosessorer i dette raskt utviklende området av dataindustrien.

Tabell 10.1. RADEON VE grafikkort
Komponentbeskrivelse

RADEON VE GPU-brikke

AGP 4x buss

Minne Opptil 64 MB, DDR SDRAM

Farge 32 biter, inkludert 8 biter reservert for fremtiden

bruk

Antall piksler 2048 x 1536

T&L-forhold 30 millioner trekanter per sekund

Oppdateringshastighet 75 til 200 ganger per sekund avhengig av installert

skjermoppløsning

Ytterligere støtte for TV, videospiller, DVD, HDTV og MPEG 2

muligheter

Programvaresikkerhetgrafikkbrett

Grafikkort er designet for å implementere mange komplekse funksjoner. For å bruke dem må du ha spesialprogramvare utviklet for et bestemt brett. Det er svært få standarder på dette området og markedet er åpent for konkurranse. Derfor, for å forbedre bildekvaliteten, er det ikke nok å bare installere et bedre grafikkort i datamaskinen. Krever spesiell programvare. Det er åpenbart at det er behov for å utvikle appli(API) standarder som gjør det mulig å lage maskinvareuavhengig programvare. Og slike standarder begynner allerede å dukke opp. Når de blir utbredt nok, vil grafikkintensiv programvare (som dataspill) kunne fungere korrekt med grafikkort fra ulike produsenter. Et eksempel på en slik standard er OpenGL (Open Graphics Language – et åpent grafikkbibliotek). Flere og flere grafikkort overholder den og lignende standarder knyttet til ulike aspekter ved grafikkbehandling.

Videoadapter er et elektronisk tavle som behandler videodata (tekst og grafikk) og kontrollerer driften av skjermen. Inneholder videominne, inngangs-/utgangsregistre og en BIOS-modul. Sender strålelysstyrkekontroll og bildeskanningssignaler til skjermen .

Den vanligste videoadapteren i dag er SVGA-adapter(Super Video Graphics Array - super videographic array), som kan vises på skjermen 1280x1024piksler med 256 farger og 1024x768 piksler med 16 millioner farger.

Med det økende antallet applikasjoner som bruker kompleks grafikk og video, blir en rekke videoadaptere mye brukt sammen med tradisjonelle videoadaptere. datamaskin videosignalbehandlingsenheter:

Ris. 2.12. Grafikkakselerator

Grafikkakseleratorer (akseleratorer) - spesialisert grafikk medprosessorer,øke effektiviteten til videosystemet. Bruken deres frigjør sentralprosessoren fra en stor mengde operasjoner med videodata, siden akseleratorene uavhengig beregner hvilke piksler som skal vises på skjermen og hvilke farger de har.

Rammefangere , som lar deg vise et videosignal fra en videospiller, kamera, laserspiller osv. på en dataskjerm, slik at fange den ønskede rammen i minnet og deretter lagre den som en fil.

TV-tunere - skjermkort som gjør en datamaskin til en TV. TV-tuneren lar deg velge hvilket som helst TV-program og vise det på skjermen i et skalerbart vindu. På denne måten kan du overvåke fremdriften av overføringen uten å stoppe arbeidet.

2.13. Tastatur

Data-tastatur - en enhet for å legge inn informasjon i en datamaskin og levere kontrollsignaler. Inneholder et standardsett med skrivemaskintaster og noen tilleggstaster - kontroll- og funksjonstaster, markørtaster og et lite numerisk tastatur.

Alle tegn som skrives inn på tastaturet vises umiddelbart på skjermen ved markørposisjonen ( markøren- et lysende symbol på LCD-skjermen som indikerer posisjonen der neste tegn som legges inn fra tastaturet vil vises).

Det vanligste tastaturet i dag er med tastelayout QWERTY(les "querti"), oppkalt etter tastene som er plassert i øvre venstre rad på den alfanumeriske delen av tastaturet:

Ris. 2.13. Data-tastatur

Dette tastaturet har 12 funksjonstaster plassert langs den øvre kanten. Ved å trykke på en funksjonstast sendes ikke bare ett tegn til datamaskinen, men et helt sett med tegn. Funksjonstaster kan programmeres av brukeren. For eksempel, i mange programmer, for å få hjelp (hint) brukes nøkkelen F1, og for å avslutte programmet - nøkkelen F10.

Kontrolltaster har følgende formål:

Lite numerisk tastatur brukes i to moduser - taste inn tall og kontrollere markøren. Disse modusene byttes med tasten Num Lock.

Tastaturet inneholder en innebygd mikrokontroller (lokal kontrollenhet), som utfører følgende funksjoner:

    sekvensielt poller tastene, leser inngangssignalet og genererer en binær skanne koden nøkler;

    kontrollerer tastaturets indikatorlys;

    Utfører intern diagnostikk av feil;

    kommuniserer med den sentrale prosessoren gjennom I/O-port tastaturer.

Tastaturet har innebygd buffer- lite mellomminne hvor inntastede tegn plasseres. Hvis bufferen renner over, vil et trykk på en tast bli ledsaget av et lydsignal - dette betyr at tegnet ikke ble skrevet inn (avvist). Betjeningen av tastaturet støttes av spesielle programmer "hardwired" inn i BIOS, og sjåfør tastatur, som gir muligheten til å skrive inn russiske bokstaver, kontrollere hastigheten på tastaturet, etc.

VGA-videoadaptere (og den første SVGAen) hadde en begrenset palett og lav skjermoppløsning og var veldig tunge på sentralprosessoren. Det var flere årsaker til dette:

· passivitet til grafikkkontrolleren når rammebufferen dannes

· lav ytelse for videominne

· lav båndbredde på interne busser og I/O-grensesnitt

· utilstrekkelig ytelse og RAMDAC-funksjoner

· utførelse av de fleste operasjoner i CPU, mangel på maskinvarestøtte for tilleggsfunksjoner

Disse manglene bestemte hovedretningene for utvikling av videoadaptere, noe som førte til fremveksten av videoakseleratorer, som vi nå kaller skjermkort.

Som vi allerede har bemerket, begrenser RAMDAC-maskinvare antall farger til 256, fordi inneholder kun 256 fargeregistre. Hver av dem er kodet med et 8-biters tall, som bestemmer den maksimale og minste nødvendige mengden videominne på 256 KB (2 8 = 256). Mer videominne kan bare være nyttig ved høyere oppløsninger. Det var her produsentene kom opp med ideen om å bruke en høyere oppløsning. Samtidig med økningen i videominne var det nødvendig å bruke nye metoder for å adressere det, siden antall piksler på skjermen oversteg størrelsen på adresserommet (128 KB). Å øke mengden videominne gjorde det mulig å øke oppløsningen, men førte ikke til en forbedring i fargen på bildet - størrelsen på paletten forble fortsatt lik 256 farger.

Produsenter har oppnådd stor suksess med å forbedre fargen etter utgivelsen av en ny type RAMDAC:

· den nye RAMDAC-en gjorde det mulig å laste data fra videominnet inn i DAC-utgangsregisteret ved å omgå 8-bits DAC-registrene - dette gjorde det mulig å øke antall nyanser til 65536 (High Color-modus), mens hver piksel ble kodet med 16 biter

· I stedet for en 18-bits DAC ble det brukt en 24-bits, som gjorde det mulig å vise 2 24 = 16777216 (True Color)

Basert på denne RAMDAC-en begynte det å produseres skjermkort med en videominnekapasitet på 1 MB eller mer. Sammen med volumet av videominne har også bredden på cellene økt (16 biter eller mer), så vel som bredden og båndbredden til den interne bussen. I stedet for å dele videominnet i banker, begynte man å bruke lineær adressering av hele videominnet. I dette opplegget blir videominnet omdirigert til et kontinuerlig adresseområde plassert i det utvidede minneområdet. For ISA-grensesnittet var dette området plassert under 16 MB, og for PCI - i ethvert område med utvidet minne. Derfor er det i CMOS-oppsett et alternativ Minnehull på 15-16 M, slik at ingen programmer kan skrive data til videominneområdet.

Men dette løste ikke fundamentalt problemet, fordi... Som før ble alle operasjoner for å endre rammebufferen utført av CPU. For å avlaste CPU-en og øke hastigheten på grafikkbehandlingen, ble det besluttet å bruke en grafikk-koprosessor som utfører maskinvareakselerasjon grafiske funksjoner, dvs. utføre operasjoner uten deltakelse fra CPU. Tiden med grafiske akseleratorer har begynt.

Samtidig ble nye typer dynamisk minne og nye grensesnittbusser tatt i bruk. VESA Association tok i bruk SVGA-standarden, som definerte en enhetlig mekanisme for bruk av maskinvareressurser.

Maskinvareakselerasjon

Grafikkakseleratoren, som erstattet standard videoadapter, er en aktiv enhet og øker ytelsen til hele systemet som helhet betydelig. Dette oppnås ved å utnytte de betydelige fordelene med grafikkprosessoren (koprosessoren). I et slikt system utføres et stort antall funksjoner på maskinvarenivå i løpet av bare noen få akseleratorsykluser. Akseleratoren bruker høynivåkommandoer for å "kommunisere" med andre delsystemer, noe som avlaster inngangs-/utgangsbussen, fordi flyten av kommandoer er betydelig redusert. I tillegg er CPU frigjort fra behovet for å utføre og overføre mange elementære operasjoner på innholdet i rammebufferen.

Akselerasjon er kun mulig i grafisk modus. Essensen av akseleratorens arbeid er å endre det digitale bildet av bildet i videominnet ved hjelp av kommandoer fra CPU og en rekke uavhengige operasjoner for å konvertere data. Grafikkakseleratoren, i motsetning til VGA-adapteren, opererer ikke med piksler, men med såkalte grafiske primitiver, som består av mange piksler. Ved å bruke slike primitiver som en trekant, et segment, en sirkel, kan du konstruere ganske komplekse bilder mye enklere og raskere enn når du endrer individuelle piksler.

Akseleratoren er i stand til maskinvareakselerasjon av et stort antall operasjoner, inkludert konstruksjon av tredimensjonale bilder, grunnlaget for moderne grafikk:

1. Tegning av grafiske primitiver (tegning). Alle moderne GUI-program- og OS-grensesnitt er basert på tegneoperasjoner. Parametrene til primitiver er spesifisert som koordinater i vektorform. I motsetning til rasterrepresentasjonen av et digitalt bilde, er de mye mer kompakte og avhenger ikke av oppløsningen som brukes. Det er enkelt å konstruere hele bildet ved hjelp av koordinatene. Tegnekommandoer inkluderer også den enkleste konturfyllingen ( fyll ) og fylling av den med et mønster.

2. Overføre bildeblokker på skjermen (BitBlt). Utføres når du drar GUI-objekter med musen, ruller osv. operasjoner. Denne funksjonen koker ned til å flytte en blokk med biter fra ett område av videominnet til et annet.

3. Maskinvarestøtte for Windows (maskinvarevindu). Faktum er at hver aktive applikasjon i operativsystemet sporer "dets" åpne vindu og dets koordinater i en rammebuffer med RAM. Når du bruker maskinvarevindu, bruker hvert program sin egen "rammebuffer", lik størrelsen på det åpne vinduet, slik at "overlappende" vinduer til minnet ikke forekommer. Jo mer videominne videoadapteren har, desto større er gevinsten i prosesseringshastighet for vinduskoordinater.

4. Skalering av punktgrafikk (skalering). Det finnes to typer skalering: duplisering og interpolering (utjevning). Den første kommer ganske enkelt ned til en økning i pikselstørrelse (mer presist, antall identiske piksler på et gitt punkt), noe som fører til utseendet på bildedefekter som pikselering og aliasing. Interpolering brukes for å eliminere disse forvrengningene. Disse to operasjonene er svært arbeidskrevende og krever en akselerator av ganske høy kvalitet.

5. Maskinvaremarkør. Denne teknologien gir maskinvarestøtte for musepekeren. Den sentrale prosessoren leser de gjeldende koordinatene til pekeren fra museporten og sender dem til akseleratoren, som igjen bare danner et bilde av markøren på ønsket plassering på skjermen. Teknologi brukes til å generere markørbildet sprites (sprites), som midlertidig erstatter deler av rasteret med bildet av markøren, og deretter gjenoppretter dem når markøren flyttes til et annet sted.

6. Formatkonvertering og dekompresjon. Ved behandling av videoinformasjon erstattes digitale RGB-data med lysstyrke og fargesignaler i YUV-formatet, som tar betydelig mindre plass. Når du spiller av komprimerte videodata, må hvert bilde først dekomprimeres og deretter skrives til bildebufferen.

7. Formasjon 3D-bilder. Denne kategorien operasjoner er den mest omfattende og komplekse, og beskrivelsen av dem vil fylle en hel bok. Vi vil se på det grunnleggende om å generere 3D-bilder nedenfor.

De første seks funksjonene er implementert med 2D-akselerasjon. Det finnes også videoadaptere med maskinvarestøtte for DVD, TV-ut, adaptiv deinterlacing, HyperZ,Inverse Fourier-transformasjonsblokker for maskinvare (IDCT). Alle akseleratorer kan deles inn i grafikkakseleratorer og grafikk-koprosessorer. Sistnevnte er absolutt mer allsidige enheter. Siden grafikk-koprosessoren faktisk har blitt til en uavhengig datamaskin, begynte brikkesettet som grafikkakseleratoren er basert på å bli kalt grafikkprosessor.

En videoadapter med en grafikk-koprosessor (GPU) er en intelligent enhet, som er grunnlaget for en aritmetisk logisk enhet (ALU). Hovedforskjellen mellom en grafisk koprosessor og en grafikkakselerator er at koprosessoren kan programmeres til å utføre ulike oppgaver, mens akseleratoren opererer i henhold til en stiv, uforanderlig algoritme. Akseleratoren består av flere høyt spesialiserte blokker som gir maskinvarestøtte kun for visse funksjoner. I tillegg er koprosessoren, i motsetning til akseleratoren, en aktiv enhet som uavhengig organiserer minnetilgang og I/O-busskontroll. Dette kommer tydeligst til uttrykk ved bruk av AGP-bussen i DiME, der transformasjoner utføres ikke i rammebufferen, men i systemminnet.

Minne for videoadaptere

Videoadaptere bruker dynamisk tilfeldig tilgangsminne (DRAM). Denne typen minne er den enkleste og billigste i implementeringen, siden den er implementert på kondensatorer og transistorer, men krever regenerering (opplading) I denne forbindelse er tilgangshastigheten ikke veldig høy (opptil 100 ns). Moderne videoadaptere er utstyrt med SDRAM-minne med en tilgangshastighet på ikke mer enn 10 ns. eller mer avansert DDR-minne, hvis tilgangstid er fra 3,5 ns.

Det er minne med én port og to porter. Sistnevnte tillater samtidig lesing og skriving av data, siden grafikkprosessoren og RAMDAC kan få tilgang til den samtidig på to forskjellige adresser. Enkelporter inkluderer FPM, EDO, SDRAM, DDR. For øyeblikket kan profesjonelle skjermkort bruke to typer dual-port minne - VRAM og WRAM.

VRAM (Video RAM) er spesielt designet for videosystemer og tillater samtidige lese- og skriveoperasjoner. Naturligvis har den også en tilsvarende "profesjonell" pris. Fordelene med slikt minne er spesielt merkbare når du bruker høy oppløsning og True Color-modus. WRAM (Window RAM) ligner veldig på VRAM, men kjører på 50 MHz, noe som øker ytelsen med 50 % sammenlignet med VRAM. Dobbel bufferteknologi er også implementert her. Dette minnet har en rask buffermodus. Det er 2 rammebuffere for drift.

Det finnes også en rekke lovende minnetyper. Blant dem RDRAM, DDR SDRAM, 3D RAM, CDRAM, ESDRAM. 3D RAM er designet for å behandle tredimensjonal grafikk. Minnet har to porter og muliggjør pipelinet databehandling. CDRAM er en kombinasjon av dynamisk minne og en hurtigbuffer basert på statiske minneelementer.

3D-akseleratorer

3D-grafikkakseleratorer har blitt det høyeste utviklingsnivået innen videoadaptere. De er beregnet på tredimensjonal bildemodellering og beregning. Opprinnelig ble 3D-akseleratorer plassert på separate kort og koblet til videoadapteren med en Pass-Trough-kabel. Derfor ble 3D-grafikkakseleratoren oppfattet som en uavhengig enhet og fikk dette navnet. Alle moderne videoadaptere inneholder en kraftig grafikkprosessor, som i tillegg til den tradisjonelle maskinvare-2D-grafikkakseleratoren inkluderer en 3D-akselerator. Siden begrepet 3D-akselerator har mistet sin opprinnelige betydning, bør hele enheten beskrevet ovenfor kalles en videoadapter med en grafikkprosessor med en 3D-akselerator, selv om det noen ganger bare kalles en 3D-akselerator.

3D-bildesyntese

Som allerede nevnt, er beskrivelsen av teknologien for å generere 3D-bilder veldig kompleks og vil ta mye plass, så vi vil bare vurdere det grunnleggende. Generelt inkluderer tredimensjonal bildesyntese følgende trinn:

· Konstruksjon (beregning) av et objekt basert på dens matematiske beskrivelse

· Beregning av bevegelse og transformasjon av formen

· Modellering av overflaten til et objekt under hensyntagen til ulike eksterne faktorer (belysning, refleksjon, relieff)

· Projiserer et objekt på skjermplanet, tar hensyn til alle slags visuelle effekter

Ved å bruke slike funksjoner ved menneskesyn som forskjellige skalaer objekter, overlegg av objekter, bruk av lys og skygge og effekten av perspektiv, selv et monokulært bilde skaper en følelse av volum.

Prosessen med å beregne et tredimensjonalt bilde av et objekt kalles 3 D-transportør . Følgende hovedstadier kan skilles:

1. konstruksjon av en geometrisk modell av overflaten til et objekt ved å spesifisere referansepunkter og linjelikninger (ramme, wireframe)

2. dele overflaten av det resulterende objektet inn i elementær leilighet elementer, oftest trekanter (tesselasjon, tessellasjon). På dette stadiet er objektet en samling av tredimensjonale koordinater til toppunktene til trekanter (vertex, toppunkt)

3. transformasjon reduseres til å transformere toppunktkoordinater for å simulere bevegelsen til et objekt og endre formen

4. Beregning av belysning (belysning) og skyggelegging (skyggelegging) av overflaten til et objekt består i å beregne belysningen av hver trekant, men samtidig blir overflaten på objektet kantete, bestående av små flate kanter av forskjellige fyllinger. Ulike metoder brukes for å eliminere denne defekten. interpolasjon

5. projeksjon på skjermplanet bruker to eksisterende punktkoordinater og husker avstanden fra toppunktene til projeksjonsplanet i z-buffer

6. behandling av toppunktkoordinater (trekantoppsett) av elementære trekanter er sortering av toppunkter og forkasting bak usynlig kanter (utskjæring)

7. hidden surface removal (HSR) – fjerning av usynlige overflater av et objekt fra projeksjonen

8. teksturering, eller maling av elementære trekanter gjøres ved å bruke teksturer (teksturmapping) - firkantede rasterbilder som består av texel på rammen. Dette er det første trinnet som utføres på rastergrafikk, og erstatter hver trekant med et stykke tekstur og erstatter pikslene med texels. På samme stadium brukes MIP-mapping - perspektivkorrigering, filtrering

9. modellering av gjennomsiktighetseffekter - pikselfargekorreksjon.

10. anti-aliasing – eliminering av bildefeil på grunn av vinkelkanter

11. dithering - interpolering av manglende farger

12. Rammedannelse og etterbehandling i rammebufferen i det lokale minnet til videoadapteren

Det er verdt å merke seg at for å fremskynde prosessen med å lage et rasterbilde, brukes en dobbel buffermekanisme, som består i det faktum at et område er tildelt i videominnet for å lagre to rammer samtidig (faktisk to "rammebuffere" ). Konstruksjonen av en starter før RAMDAC avslutter å vise den gjeldende.

Trinn 1-6 representerer geometrisk stadium 3D-transportør. I løpet av dette stadiet utføres intensive trigonometriske beregninger ved hjelp av flyttall. Disse beregningene i eldre videoadaptere utføres i CPU, og i moderne kraftige - i GPU. Som du vet begynte æraen med ekte grafikkprosessorer med nVidia GeForce 256 og ATI Radeon 256.

Trinn 7-12 kalles gjengivelse eller tegning. Her er rasterbilder bestående av piksler og texels allerede behandlet. Derfor kalles dette stadiet noen ganger rasterisering. Siden dette stadiet er det mest komplekse, er maskinvareakselerasjon spesielt nødvendig her.

API

En annen svært viktig faktor som skiller videoadaptere fra forskjellige selskaper er adapterens støtte for ulike appli(API). Det må sies med en gang at disse API-ene ikke bare forener arbeidet med applikasjonsprogrammer med videobrikkesettet, men øker også ytelsen til dette arbeidet. Faktum er at hvert skjermkort bruker sine egne kommandoer på lavt (maskinvare) nivå. Disse kommandoene brukes til å lage unike drivere for hver produsent, som oversetter applikasjonsprogramkall til enheten. Hvis du lager et grafikkprogram, med tanke på de arkitektoniske funksjonene til hvert mulig skjermkort, vil et slikt program være veldig tungvint, det vil være vanskelig for brukeren å konfigurere det for et bestemt skjermkort, og programmerere vil ikke ønske å gjøre så mye arbeid. For dette formålet ble en API oppfunnet, som inntar en mellomposisjon mellom applikasjonsprogrammer på høyt nivå og akseleratordrivere på lavt nivå, og forener tilnærmingen til applikasjonsprogrammer til alle videoadaptere. Dette betyr at for eksempel en programmerer som lager Photoshop ikke trenger å vite hvordan man får tilgang til et spesifikt skjermkort, men bare trenger å vite hvordan man jobber med en universell API.

Det finnes flere generiske APIer, som DirectX og OpenGL. Men noen ganger brukes også såkalte "native APIer", laget av produsenter direkte for deres grafikkbrikkesett. Blant disse er Glide company 3 Dfx(for Voodoo-familien), Metall selskap S 3 (for Savage), RenderGL og andre.

Geometriprosessoren ble kun støttet i Direct 3D (del av DirectX) versjon 7.0, så tidligere versjoner anbefales ikke. Versjon 7.1 kommer imidlertid med Windows ME, så du trenger bare å oppdatere den til 8.1. DirectX 9.0 har nylig dukket opp, men husk at det kan gi en økning i ytelsen til videoakseleratorer som støtter det på maskinvarenivå (Radeon 9500, 9700, GeForce FX), i tillegg er den ikke veldig stabil ennå, så det er ikke noe spesielt behov for å installere DirectX 9.0, ikke gjør det.

3D-akseleratorarkitektur

Selv om mange videoadaptere har betydelige forskjeller utover bildeelementene beskrevet i forrige artikkel, har de også flere grunnleggende elementer som gir maskinvareakselerasjon for stadiene i 3D-rørledningen. Så hver 3D-akselerator er bevæpnet med:

· geometrisk prosessor (GPU, geometriprosessor)

· Rendering Engine

· raskt minne

· digital-til-analog omformer (RAMDAC)

· ekstra valgfrie blokker

Geometri prosessor er designet for å øke hastigheten på det geometriske stadiet til 3D-transportøren, som krever komplekse matematiske beregninger ved beregning av hjørner. Før GeForce- og Radeon-brikkesettene brukte billige skjermkort geometri-koprosessorer for å hjelpe CPU-en med beregninger, og noen ganger manglet de.

Rendering motor(gjengivelse), eller som det ofte kalles, gjengivelsesrørledningen er hoveddelen av en moderne 3D-akselerator og inkluderer minst to elementer: en mekanisme for å behandle teksturseksjoner ( Texel Engine) og mekanismen for å behandle den endelige rammen (Pixel Engine). Hver av disse blokkene bruker sin egen seksjon av videominne, kalt teksturbuffer og rammebuffer hhv. Rammebufferen er allerede kjent for oss, siden den flyttet hit fra standard VGA / SVGA-arkitektur. Det er bare en egen buffer for lagring av behandlede teksturer. I tillegg tildeles vanligvis et område i det lokale akseleratorminnet for flere buffere. Z-bufferen er nødvendig for korrekt fjerning av skjulte overflater, en-buffer er nødvendig for å utføre alfaskifting, og en andre rammebuffer brukes ved dobbel buffering. Noen produsenters gjengivelsesenhet kalles TMU (Texture Mapping Unit) – teksturkartleggingsenhet.

Størrelsen på rammebufferen, analogt med VGA-videoadapteren, bestemmer maksimal mulig bildeoppløsning og palettstørrelse. De fleste akseleratorer bruker en dobbel buffermetode, ifølge hvilken rammebufferen er delt i to deler - frontbuffer og bakbuffer. Mens RAMDAC-en leser og bygger et bilde fra bufferen foran, bygger GPU-en neste ramme på baksiden. Denne "paging" sikrer jevne rammeendringer, fordi bufferen tømmes etter visning på skjermen.

3D-akseleratorgrensesnitt

For bedre gjengivelse av rammer er det nødvendig å bruke store teksturer, og dette krever minst 8 MB videominne. For å kunne overføre en slik strøm av data gjennom grensesnittet, må den ha en høyhastighets grafikkportbuss. Dette er hva dekket har blitt AGP (Accelerated Graphics Port). Denne 32-bits bussen har en basisfrekvens på 66 MHz, men kan operere i 4x-modus (266 MHz) og overføre 1 Gb/s. I dette tilfellet brukes skjermkortets strømforsyning på 1,5 V, som er halvert tilsvarende, skjermkortet må oppfylle dette kriteriet. Den nye, nylig introduserte og fortsatt lite brukte, 8x-modusen (revisjon 3.0) er implementert i de nyeste skjermkortene. I virkeligheten er ingen grafikkprogram ennå i stand til å bruke det til sitt fulle potensial.

AGP-standarden har en rekke viktige funksjoner som øker bussens effektive gjennomstrømning betydelig. Pipelining – pakke (pipeline) dataoverføring, når neste adressekode settes på bussen umiddelbart, uten å vente på at dataene til den forrige adressen skal vises, dvs. adressekodene ser ut til å stemme. Denne sekvensen av adresser som ble overført sendes også over bussen som en pakke. Som et resultat er det ingen forsinkelse i datautgang etter innstilling av adressen på bussen.

I tillegg bruker AGP, i motsetning til PCI, SBA (Side Band Addressing)-modus, der 8 ekstra linjer brukes til å overføre adressen, dvs. adresse og data overføres over forskjellige linjer.

Og til slutt, i tillegg til DMA-modusen, bruker AGP-standarden DME (Direct Memory Execution) - en modus der det lokale minnet til skjermkortet og systemminnet er likeverdige og er det samme adresserommet, slik at operasjoner med teksturer kan utføres i både lokalt minne og systemminne. I denne modusen skjer utvekslingen i korte pakker, slik at en betydelig akselerasjon av operasjoner med teksturer oppnås.

Nå, basert på denne informasjonen, kan du velge en akselerator med omhu, som vil bli diskutert i neste utgave, hvor vi skal se på egenskapene til moderne 3D-akseleratorer.