Video display kontroller - Video display controller

Blokkdiagram over en NEC µPD7220 grafikkskjermkontroller

En videodisplaykontroller eller VDC (også ofte kalt displaymotor , skjermgrensesnitt ) er en integrert krets som er hovedkomponenten i en videosignalgenerator , en enhet som er ansvarlig for produksjon av et TV -videosignal i et databehandlings- eller spillsystem. Noen VDC -er genererer også et lydsignal , men det er ikke hovedfunksjonen deres.

VDC ble brukt i hjemmemaskinene på 1980 -tallet og også i noen tidlige videobildesystemer .

VDC er hovedkomponenten i logikken for videosignalgeneratoren, som er ansvarlig for å generere timingen for videosignaler som horisontale og vertikale synkroniseringssignaler og blankingsintervallsignal . Noen ganger kan andre støtte chips var nødvendig for å bygge opp et komplett system, slik som RAM for å holde bildeelementdata , ROM for å holde karakter-typesnitt eller en logikk-krets , slik som skiftregistre .

Oftest er VDC -brikken fullstendig integrert i logikken til hoveddatasystemet, ( video -RAM -en vises i minnekartet til hoved -CPU), men noen ganger fungerer den som en koprosessor som kan manipulere video -RAM -innholdet uavhengig.

Video display controller vs grafikk prosessorenhet

Forskjellen mellom en skjermkontroller, en grafikkakselerator og en videokomprimering/dekomprimering IC er enorm, men siden all denne logikken vanligvis finnes på brikken til en grafikkbehandlingsenhet og vanligvis ikke er tilgjengelig separat for sluttkunden , er det ofte mye forvirring om disse veldig forskjellige funksjonelle blokkene.

GPUer med maskinvareakselerasjon begynte å dukke opp på 1990 -tallet. VDC -er hadde ofte spesiell maskinvare for opprettelsen av " sprites ", en funksjon som i mer moderne VDP -brikker gjøres med " Bit Blitter " ved hjelp av " Bit blit " -funksjonen.

Et eksempel på en typisk videodisplayprosessor er " VDP2 32-biters bakgrunns- og rulleplan-videodisplayprosessor " til Sega Saturn . Et annet eksempel er Lisa (AGA) -brikken som ble brukt til den forbedrede grafikken til den senere generasjonen Amiga -datamaskiner.

Når det er sagt, er det ikke helt klart når en "videobrikke" er en "skjermkontroll for video" og når den er en "skjermprosessor for video". For eksempel kalles TMS9918 noen ganger en "video display controller" og noen ganger en "video display processor". Generelt har imidlertid en "videodisplayprosessor" en viss kraft til å "behandle" innholdet i video -RAM (fyller for eksempel et RAM -område), mens en "videodisplay -kontroller" bare styrer timingen for videosynkroniseringssignalene og tilgang til video -RAM.

De grafikkprosesseringsenhet (GPU) går et skritt videre enn den VDP og støtter normalt også 3D-funksjonalitet. Dette er den typen chip som brukes i moderne personlige datamaskiner.

Typer

Videoskjermkontrollere kan deles inn i flere forskjellige typer, oppført her fra enkleste til mest komplekse;

  • Video shifters , eller "video shift register based systems" (det er ikke noe generelt avtalt navn for denne typen enheter), er den enkleste typen videokontrollere. De er direkte eller indirekte ansvarlige for videosiming -signalene, men de får normalt ikke tilgang til video -RAM direkte. De får videodataene fra hoved -CPU, en byte om gangen, og konverterer dem til en seriell bitstrøm, derav det tekniske navnet "video shifter". Denne serielle datastrømmen blir deretter brukt sammen med synkroniseringssignalene for å sende ut et videosignal. Hoved CPU -en må gjøre hoveddelen av arbeidet. Normalt støtter disse brikkene bare en rastergrafikkmodus med svært lav oppløsning .
  • En CRTC , eller katodestrålerørkontroller , genererer videotimingene og leser videodata fra RAM festet til CRTC for å sende den ut via en ekstern tegngenerator ROM (for tekstmoduser ) eller direkte til videoutgangsskiftregisteret (for høy oppløsning grafikkmoduser). Fordi videogeneratorens faktiske evner i stor grad avhenger av den eksterne logikken, kan videogeneratoren basert på en CRTC-brikke ha et bredt spekter av muligheter, fra enkle tekstmodus-systemer til systemer med høy oppløsning som støtter et bredt spekter av farger. Sprites støttes imidlertid vanligvis ikke av disse systemene.
  • Videogrensesnittkontrollere er mye mer komplekse enn CRT -kontrollere, og den eksterne kretsen som er nødvendig med en CRTC er innebygd i videokontrollbrikken. Sprites støttes ofte, det samme er (RAM-baserte) tegngeneratorer og video-RAM dedikert til fargeattributter og palettregistre ( fargesøk-tabeller ) for høyoppløselige eller tekstmoduser.
  • Videokoprosessorer har sin egen interne CPU dedikert til å lese (og skrive) sin egen video -RAM (som kan deles med CPU), og konvertere innholdet i denne video -RAM til et videosignal. Hoved -CPU -en kan gi kommandoer til kopprosessoren, for eksempel for å endre videomodi eller for å manipulere video -RAM -innholdet. Videokoprosessoren styrer også (oftest RAM-baserte) tegngeneratoren, fargeattributtet RAM, palettregistre og sprite-logikken (så lenge disse finnes selvfølgelig).

Liste over eksempler på VDC -er

Eksempler på videodisplaykontrollere er:

Videoskiftere

  • Den RCA CDP1861 var en veldig enkel chip, bygget i CMOS -teknologi (som var uvanlig for midten av 1970-tallet) for å utfylle RCA 1802 mikroprosessor, ble det hovedsakelig brukt i COSMAC VIP . Den kan bare støtte en monokrom grafisk modus med svært lav oppløsning.
  • Den TV Interface Adapter (TIA) er skikken video chip som er hjertet av Atari 2600 spillkonsoll, en svært primitiv chip som stolte på 6502 mikroprosessor til å gjøre det meste av arbeidet, også ble brukt til å generere lyd.

CRT -kontrollere

  • Den Intel 8275 CRT-kontroller ble anvendt i Convergent Technologies AWS / Burroughs B20 , sammen med noen S-100-buss -systemer.
  • Den Motorola 6845 (MC6845) er en videoadressegenerator først introdusert av Motorola og brukt for Amstrad CPC og BBC Micro . Den ble også brukt til nesten alle de tidlige videoadapterne for PC -en, for eksempel MDA , CGA og EGA -adaptere. MDA og CGA bruker en faktisk Motorola -brikke, mens EGA har et tilpasset IBM -brikkesett med fem LSI -brikker; en av disse brikkene inkluderer IBMs reimplementering av CRTC, som fungerer som en MC6845, men har forskjellige registeradresser og funksjoner, så den er ikke 100% kompatibel. I alle senere VGA -kompatible adaptere er funksjonen til 6845 fortsatt gjengitt inne i videobrikken, så på en måte inneholder alle nåværende IBM PC -kompatible PCer fortsatt logikken til 6845 CRTC.

Kontrollere for videogrensesnitt

Videokoprosessorer

  • Den ANTIC ( A lpha- N umeric T Elevision I nterface C ircuit ) var et tidlig videosystem brikke som brukes i den Atari 8-bit familien av mikrodatamaskiner . Den kan lese en " Visningsliste " med sin egen innebygde CPU og bruke disse dataene til å generere et komplekst videosignal.
  • Den TMS9918 er kjent som Video Display Processor (VDP) og ble først utviklet for Texas Instruments TI-99/4 , men ble senere også brukt i systemer som MSX (MSX-1), ColecoVision , Memotech MTX-serien , og for den Sega SG-1000 og SC-3000 . Den Master System bruker en forbedret VDP basert på TMS9918, og den Sega 315-5313 (Yamaha YM7101) VDP anvendes i Sega Genesis og enkelte spilleautomater er en ytterligere utvikling av den Master System VDP med den opprinnelige (dårligere) TMS9918 modi fjernet .
  • Den Yamaha V9938 er en forbedret versjon av den TMS9918, og ble hovedsakelig brukt i de MSX2 .
  • Den Yamaha V9958 er Video Display Processor (VDP) som hovedsakelig brukes i MSX2 + og MSX turboR datamaskiner.
  • VLSI VS21S010D-L er en 128 kB SPI/parallell SRAM med en integrert videodisplaykontroller med piksler med variabel bitdybde og en blokkering med blokkering.
  • Den Thomson EF936x serie med grafisk skjerm prosessor (GDP), som har en trekkhastighet på 1 million  piksler  per sekund og oppløsninger opp til 1024 x 512.

Alternativer til en VDC -brikke

Vær oppmerksom på at mange tidlige hjemmemaskiner ikke brukte en VDP-brikke, men bygde hele videodisplaykontrolleren fra mange diskrete logikkbrikker (eksempler er Apple II , PET og TRS-80 ). Fordi disse metodene er veldig fleksible, kan videodisplaygeneratorer være veldig dyktige (eller ekstremt primitive, avhengig av kvaliteten på designet), men også trenge mange komponenter.

Mange tidlige systemer brukte en eller annen form for tidlig programmerbar logisk matrise for å lage et videosystem; eksempler inkluderer ZX Spectrum og ZX81- systemene og Elektronika BK-0010 , men det var mange andre. Tidlige implementeringer var ofte veldig primitive, men senere implementeringer resulterte noen ganger i ganske avanserte videosystemer, som det i SAM Coupé .

Disse systemene kunne dermed bygge et meget dyktig system med relativt få komponenter, men det lave transistortallet av tidlig programmerbar logikk gjorde at evnene til tidlige PLA-baserte systemer ofte var mindre imponerende enn de som brukte videogrensesnittkontrollerne eller videokoprosessorene som var tilgjengelige samtidig. Senere PLA-løsninger, for eksempel de som bruker CPLDs eller FPGAs , kan resultere i mye mer avanserte videosystemer og overgå de som er bygd ved hjelp av hyller-komponenter.

En ofte brukt hybridløsning var å bruke en videogrensesnittkontroller (ofte Motorola 6845 ) som grunnlag og utvide mulighetene med programmerbar logikk eller en ASIC . Et eksempel på en slik hybridløsning er det originale VGA -kortet, som brukte et 6845 i kombinasjon med et ASIC. Derfor bruker alle nåværende VGA -baserte videosystemer fremdeles maskinvareregistrene som ble levert av 6845.

Moderne løsninger

ATi R300 chip -blokkdiagram . Skjermkontrolleren er merket "skjermgrensesnitt".

Med fremskrittene i fabrikasjon av halvlederenheter , implementeres mer og mer funksjonalitet som integrerte kretser , ofte lisensierbare som halvleder -intellektuell eiendomskjerne (SIP -kjerne). Skjermkontrolleren SIP -blokker finnes på skjæret til GPUer , APUer og SoC -er .

De støtter en rekke grensesnitt : VGA , DVI , HDMI , DisplayPort , VHDCI , DMS-59 og mer. Den PHY inkluderer LVDS , TMDS og flatskjerm Link , OpenLDI og CML .

For eksempel transporteres et VGA-signal, som opprettes av skjermkontrolleren, over en VGA-kabel til skjermen. Begge ender av kabelenden i en VGA -kontakt . Bærbare datamaskiner og andre mobile datamaskiner bruker forskjellige grensesnitt mellom skjermkontrolleren og skjermen. En skjermkontroller støtter vanligvis flere dataskjermstandarder .

KMS-driver er et eksempel på en enhetsdriver for skjermkontrollere, og AMD Eyefinity er et spesielt merke for skjermkontroller med støtte for flere skjermer .

RandR (endre størrelse og rotere) er en metode for å konfigurere skjermoppløsning og oppdateringshastighet på hver enkelt utgang separat og samtidig konfigurere innstillingene til vindussystemet tilsvarende.

Et eksempel på denne dikotomien tilbys av ARM Holdings : de tilbyr SIP -kjerne for 3D -gjengivelsesakselerasjon og for skjermkontroller uavhengig. Førstnevnte har markedsføringsnavn som Mali-200 eller Mali-T880, mens sistnevnte er tilgjengelig som Mali-DP500, Mali-DP550 og Mali-DP650.

Historie

I 1982 ga NEC ut NEC μPD7220 , en av de mest brukte videodisplaykontrollerne på datamaskiner fra 1980 -tallet . Den ble brukt i NEC PC-9801 , APC III , IBM PC-kompatible , DEC Rainbow , Tulip System-1 og Epson QX-10 . Intel lisensierte designet og kalte det 82720 grafikkskjermkontrolleren.

Tidligere ble grafikkort også kalt grafiske adaptere, og brikkene som ble brukt på disse ISA / EISA -kortene besto utelukkende av en skjermkontroller, da dette var den eneste funksjonaliteten som kreves for å koble en datamaskin til en skjerm. Senere kort inkluderte ICer for å utføre beregninger relatert til 2D -gjengivelse parallelt med CPU; disse kortene ble referert til som grafikkakseleratorkort. På samme måte fulgte etter hvert ICer for 3D -gjengivelse. Slike kort var tilgjengelige med VLB- , PCI- og AGP -grensesnitt; moderne kort bruker vanligvis PCI Express -bussen, ettersom de krever mye større båndbredde enn ISA -bussen kan levere.

Se også

Referanser

Eksterne linker