Video Display Controller

Een Video Display Controller (VDC) is een computerchip die als hoofdcomponent dient van een video display-signaalgenerator in een computer, en dat een tv-signaal opwekt. Sommige van deze chips wekten ook een geluidssignaal op, maar dat was dan bijzaak.

Video Display Controllers werden voornamelijk gebruikt in de homecomputers van de jaren tachtig, maar werden ook in vroege spelcomputers toegepast, en zelfs nu nog wel in simpele videospellen en dergelijke.

De Video Display Controller is altijd de kern van het systeem dat een video signaal opwekt, maar wordt daarin soms ondersteund door een aantal losse andere chips, voornamelijk RAM's voor het opslaan van de videodata, maar ook ROM's met karakterfonts, en andere losse TTL-chips zoals schuifregisters, die de parallelle data uit het videogeheugen moesten omzetten in een serieel signaal dat samen met (apart opgewekte) timing signalen tot een composietvideosignaal werd samengesteld. In elk geval is het de taak van de VDC om de diverse benodigde timing signalen op te wekken, en data uit het video geheugen op de een of andere manier om te zetten in een televisiebeeld.

Meestal is de VDC-chip volkomen in het computersysteem geïntegreerd, en deelt dus wat RAM met het hoofd systeem, maar soms werkt het ook als een co-processor, en heeft een eigen CPU en RAM, onafhankelijk van de hoofd-CPU.

Video Display Controllers en Video Display Processors

Het verschil tussen een (ouderwetse) VDC, en de meer moderne GPU is niet dat een VDP geen hoge resolutie kleuren videobeelden kon opwekken, maar hij deed niet veel meer dan het video geheugen uitlezen en in een videobeeld omzetten. Het manipuleren van het videogeheugen (en dus het beeld) liet hij over aan de hoofd-CPU. Een GPU daarentegen heeft altijd speciale hardware om, onafhankelijk van de hoofd-CPU, het video-RAM te manipuleren, en daarmee het beeld op te bouwen. Daarentegen hebben de oudere VDC's soms speciale hardware voor het opwekken van computer sprites, terwijl een GPU het manipuleren van bewegende objecten in het beeld meestal overlaat aan een "blitter", een stukje hardware dat een deel van het videogeheugen kan verplaatsen of kopiëren.

Een voorbeeld van een typische VDC is de Advanced Graphics Architecture (AGA)-chip die werd toegepast in de latere generaties van Amiga-computers.

Eigenlijk is het vaak niet goed te zeggen of een chip nu in het VDC, of het GPU kamp thuishoort. De TMS9918A (van o.a. MSX computers) bijvoorbeeld wordt vaak beschouwd als een VDC, omdat het tamelijk bescheiden mogelijkheden had, maar soms ook als GPU, omdat het zelfstandig de inhoud van het videogeheugen kon manipuleren, en het niet alleen maar in een tv-beeld omzette. In het algemeen echter beschouwen we een videochip pas een GPU als het uitgebreide mogelijkheden heeft om de inhoud van het videogeheugen te manipuleren.

Types Video Display Controllers

Video Display Controllers kun je in vier (feitelijk willekeurig gekozen) categorieën opdelen:

Voorbeelden van VDC's

Hier volgt een korte lijst van voorbeelden van elk van de bovengenoemde vier categorieën.

Video shifters

CRT Controllers

Video Interface Controllers

Video Coprocessors

Alternatieve methoden om een videosignaalgenerator te bouwen

Voordat er zelfs CRT controllers op de markt waren kon men niet anders dan de complete videosignaalgenerator met discrete logica (TTL chips) te bouwen. De oer-homecomputer Apple I deed dit bijvoorbeeld (vreemd genoeg is diens videodisplaygenerator te classificeren als een videocoprocessor omdat hij geheel buiten de hoofd CPU om werkte, en daarvan alleen "commando's" ontving). Maar ook de VDC's van andere systemen, zoals de Apple II, de PET, en de TRS-80 waren geheel uit losse logicachips opgebouwd.

Andere, iets latere ontwerpen, gebruikten soms vroege vormen van programmeerbare logica zoals PAL's en CPLD's en ULA's om de benodigde hoeveelheid onderdelen omlaag te brengen.

Voorbeelden zijn de slimme ontwerpen van de ZX-81 (maar niet de ZX-80) en de ZX Spectrum. Echter, ook andere systemen gebruikten vaak programmeerbare logica. Omdat deze techniek echter nog in de kinderschoenen stond waren er geen erg complexe systemen mee te bouwen, waardoor veel fabrikanten een ULA of CPLD in combinatie met een CRTC gebruikten. Een voorbeeld is de Amstrad CPC. Zulke VDC systemen waren echter nog steeds simpel vergeleken met systemen gebaseerd op VHLSI chips.

Latere oplossingen

De Wet van Moore stond niet stil, en dus werden ook latere Video Display Controllers steeds ingewikkelder. Ze kregen al gauw extra hardware om het creëren van Driedimensionale beelden te vergemakkelijken. Eerst kregen de "blitter" chips speciale mogelijkheden toegevoegd om het tekenen van simpele driedimensionale objecten te vereenvoudigen en te versnellen, zoals het tekenen van "ingekleurde driehoeken", en nog iets later kregen ze ondersteuning voor "z-buffering". Maar dat was nog maar het begin. Tegenwoordig zijn bijna alle Video Display Controller-chips op de markt in feite "Graphical processing units", en echte "VDC"'s zie je alleen nog toegepast worden in zeer simpele systemen.