Kehyspuskuri
Grafiikkalaitteiden luokkaa , joka edustaa kutakin näytön pikseliä sijaintina hajasaantimuistissa , kutsutaan kehyspuskuriksi . Laitteita, jotka käyttävät tai näyttävät käyttävän tällaista grafiikkalaitteiden käyttötapaa, kutsutaan myös käyttöjärjestelmien alueella.
Historia
Tietojenkäsittelytieteilijät keskustelivat pitkään tämän laitteen käytön eduista, mutta he eivät kyenneet tuottamaan konetta, jossa olisi tarpeeksi muistia taloudellisesti kannattavilla kustannuksilla. Vuonna 1969 Michael A. Noll Bell Laboratoriesista otti käyttöön digitoidun näytön, jossa oli välikehysmuisti. Myöhemmin Bell Labs -järjestelmää laajennettiin näyttämään kolmen bitin värisyvyyskuva tavallisella väritelevisionäytöllä. Jopa aikaisempi näyttöskannaus pidettiin Brookhaven National Laboratoryssa. Integroitujen piirien muistin edistyminen 1970-luvulla aiheutti käytännöllisempiä kustannuksia luoda kehyspuskureita, jotka pystyivät tallentamaan standardin videokuvan.
Vuonna 1972 Richars Shoup kehitti SuperPaint - järjestelmän Xerox PARCissa . Tässä järjestelmässä oli 311 040 tavua muistia ja se pystyi tallentamaan 640 x 480 pikseliä 8-bittistä värisyvyysdataa. Muisti on hajautettu 16 piirilevylle, joista jokainen on ladattu useilla 2 kilobitin siirtorekisterisiruilla. Tämä rakenne edellyttää, että koko kehyspuskuri tulee toteuttaa 307 200 tavun siirtorekisterinä, jota siirretään synkronoituna television lähtösignaalin kanssa. Tämän järjestelmän suurin haittapuoli oli, että muisti ei ollut satunnaiskäyttöinen.
Shoup pystyi myös käyttämään SuperPaint-kehyspuskuria digitaalisen videokaappausjärjestelmän luomiseen. Synkronoimalla lähtösignaalin tulosignaalin kanssa Shoup pystyi ylikirjoittamaan jokaisen datapikselin sen liikkuessa. Shoup kokeili myös poistumismerkkien muokkaamista värikarttojen avulla. Näiden väritaulukoiden ansiosta SuperPaint-järjestelmä pystyi tuottamaan laajan valikoiman värejä sen sisältämän rajoitetun 8-bittisen datagamman ulkopuolella. Tästä järjestelmästä tuli myöhemmin yleinen tietokoneen kehyspuskureissa.
Vuonna 1974 Evans & Sutherland julkaisi tämän laitteen ensimmäisen kaupallisen käytön, joka maksoi yli 15 000 dollaria. Se pystyi tuottamaan jopa 512 x 512 pikselin resoluution 8-bittisessä harmaasävyssä, ja siitä tuli siunaus grafiikan tutkijoille, joilla ei ollut resursseja oman laitteen rakentamiseen. New York Institute of Technology loi myöhemmin ensimmäisen 24-bittisen järjestelmän käyttämällä kolmea Evans & Shuterlandin frambufferia. Tämän laitteen jokainen käyttökerta oli kytketty RGB-värilähtöön (yksi punaiselle, yksi vihreälle ja yksi siniselle) Digital Equipment Corporation PDP 11/04 -minitietokoneeseen, joka ohjasi kaikkia kolmea laitetta yhdessä .
Brittiyhtiö Quantel valmisti vuonna 1975 ensimmäisen kaupallisen täysvärisen lähetyskehyspuskurin: Quantel DFS 3000:n. Sitä käytettiin ensimmäisen kerran vuoden 1976 Montrealin olympialaisten televisiossa luomaan kuva kuvassa -lisäosa olympiasoihdusta . Lopussa kuvassa juoksija saapui stadionille.
Integroitujen piirien tekniikan nopea kehitys mahdollisti monissa 1970-luvun henkilökohtaisissa tietokoneissa (kuten Apple II ) värikehyspuskurin. Vaikka alun perin pilkattiin huonosta suorituskyvystä verrattuna kehittyneempiin grafiikkalaitteisiin, joita käytetään tietokoneissa, kuten Atari 400 , kehyspuskureista tuli lopulta standardi kaikille henkilökohtaisille tietokoneille. Nykyään melkein kaikki tietokoneet, joissa on grafiikkaominaisuudet, käyttävät tätä laitetta videosignaalin tuottamiseen.
Kehyspuskureista tuli suosittuja myös huippuluokan työasemien ja pelihallien emolevyillä 1980-luvulla. SGI , Sun Microsystems , HP , DEC ja IBM käyttivät kaikki kehyspuskureita työtietokoneissaan. Nämä kehyspuskurit olivat yleensä paljon laadukkaampia kuin useimmissa henkilökohtaisissa tietokoneissa, ja niitä käytettiin säännöllisesti televisiossa, tulostuksessa, tietokonemallintamisessa ja 3D-grafiikassa. Sega käytti myös kehyspuskureita huippuluokan arcade-peleihinsä, jotka olivat myös laadukkaampia kuin henkilökohtaisissa tietokoneissa.
Amiga - tietokoneet tehokkaalla grafiikkasuunnittelullaan loivat laajat markkinat framebuffer-pohjaisille näytönohjaimille 1980-luvulla. Huomionarvoista oli Amiga A2500 Unixin näytönohjain , joka oli vuonna 1991 ensimmäinen tietokone, joka toteutti X11 -palvelinohjelman palvelimena grafiikkaympäristöjen isännöimiseen ja OPEN LOOK -graafisen käyttöliittymän , korkearesoluutioisen (1024x1024) käyttöliittymän tai 1024x768. 256 värillä). A2500 Unixin näytönohjain oli nimeltään A2410 ( TIGA Lowell -näytönohjain ) ja se oli 8-bittinen näytönohjain, joka perustui 50 MHz Texas Instruments TMS34010:een.Se oli täysin älykäs näytönohjain. Amiga A2410 -näytönohjain on kehitetty yhteistyössä Lowellin yliopiston kanssa.
Muita merkittäviä Amiga-kehyspuskureihin perustuvia näytönohjaimia olivat: GVP :n Impact Vision IV24 -näytönohjain ; DCTV , ulkoinen näytönohjain ja videokaappausjärjestelmä ; Firecracker 32-bittinen näytönohjain ; Harlequin-kortti, ColorBurst; ulkoinen kehyspuskuri HAM-E. Graffiti-ulkoinen näytönohjain on edelleen saatavilla markkinoilla.
Useimmat Atari ST (Mega-malli STE) ja Atari TT -kehyspuskurit luotiin videolaajennuskorteille tarkoitettujen Atari-koneiden VME-liitinpaikkaa varten: Leonardo 24-bittinen VME-näytönohjain, CrazyDots -näytönohjain II 24-bittinen VME, Spektrum . TC -näytönohjain , NOVA ET4000 VME SVGA -näytönohjain (jopa resoluutio on 1024x768 256 värillä tai 800x600 32768 värillä), jonka suunnittelu on peräisin ISA/PC-maailmasta.
Näyttötilat
Henkilökohtaisissa tietokoneissa käytetyissä kehyspuskureissa on usein joukko "tiloja", joissa kehyspuskuri voi toimia. Nämä tilat määrittävät laitteiston automaattisesti uudelleen näyttämään eri resoluutioita, värisyvyyttä, muistiasetteluja ja virkistystaajuuksia .
Unix - maailmassa (koneet ja käyttöjärjestelmät) näitä sopimuksia yleensä vältettiin laitteistokokoonpanon suoran manipuloinnin hyväksi. Tämä manipulointi oli paljon joustavampaa siinä mielessä, että mikä tahansa resoluutio, värisyvyys ja virkistystaajuus voitiin saavuttaa - rajoitti vain kehyspuskurin käytettävissä oleva muisti .
Tämän menetelmän sivuvaikutuksena oli, että katsoja saatettiin työntää kykyjensä yli. Joissakin tapauksissa vaurioittaa näyttölaitteistoa. [ 1 ] Nykyaikaiset CRT-näytöt korjaavat tämän ongelman ottamalla käyttöön "älykkään" suojapiirin. Näyttötiloja vaihdettaessa näyttö yrittää saada synkronointisignaalin uudella virkistystaajuudella. Jos näyttö ei pysty saamaan synkronointisignaalia tai jos signaali on suunnittelurajoitustensa ulkopuolella, näyttö jättää kehyspuskurisignaalin huomioimatta ja näyttää todennäköisesti virheilmoituksen käyttäjälle.
Nestekidemonitorit sisältävät yleensä samanlaisia suojapiirejä, mutta eri syistä. Koska näiden on näytettävä näyttösignaali digitaalisesti, mitään niiden alueen ulkopuolella olevaa signaalia ei voida näyttää fyysisesti näytöllä.
Laitteisto
Framebuffer - tyyppisissä grafiikkalaitteissa jokainen näytöllä kulloinkin näkyvä pikseli tallennetaan tietokoneen päämuistin osaan binääritavuina . Koska näytöillä on erilaisia värinäyttöominaisuuksia (tunnetaan nimellä värisyvyys ), pikselin esittämiseen tarvittavan tiedon määrä vaihtelee. Näytöt tukevat yleensä 8, 15, 16 tai 24 bitin värisyvyyttä, mikä vastaa 256, 32 768, 65 536 tai 16 777 216 väriä. Jos haluat muuttaa näytöllä näkyvää kuvaa, sinun tarvitsee vain kirjoittaa muistiosoitteet, jotka on omistettu muutettavalle pikselille.
Framepuskurille omistettu muistialue on yleensä keskusyksikön käytettävissä minkä tahansa luku- ja kirjoitusmuistialueena, paitsi että se on varattu yksinomaan kuvien näyttämiseen, ja on tavallista, että sille on määritetty kiinteä vähimmäisarvo. ja osoitteiden enimmäisalue. Framebuffer - muisti on lineaarinen, vierekkäinen ja osoitettavissa kuten mikä tahansa muukin hajasaantimuistin osa; joten tietyn pikselin valitsemiseksi sinun on tiedettävä sen osoite ja laskettava sopiva siirtymä kehyspuskurimuistin aloitusosoitteesta .
Sillä tavalla, että tietokone muokkaa tehokkaasti näytöllä näkyviä kuvia muuttamalla edellä mainitun muistialueen sisältöä, mikä sopii täydellisesti yleisesti hyväksyttyyn kehyspuskurin määritelmään .
Käyttöjärjestelmät
Kehyspuskuri on käyttöjärjestelmän virtuaalinen laite, joka esitetään sovelluksille eri tavoilla riippuen järjestelmästä, josta puhumme, vaikka se yleensä näkyykin tiedostona tai tietokoneelle varattuna hajasaantimuistilohkona ja joka voidaan yksi tai useampi prosessi pääsee lukemaan/kirjoittamaan; tässä tiedostossa tai erityisellä muistialueella mikä tahansa kirjoitus muokkaa suoraan videolaitteessa näytettäviä kuvia niin, että ohjelmat voivat näyttää tietoja näytöllä huolehtimatta toteutuksen yksityiskohdista tai todellisesta vuorovaikutuksesta tietokoneen ja videolaitteen välillä.
Ajatus kehyspuskurista liittyy kuitenkin enemmän niihin järjestelmälaitteisiin, jotka ovat näkyvissä tai käyttäjien sovelluksissa. Joissakin käyttöjärjestelmissä voi käydä niin, että pääsy videolaitteen muistiin on piilotettu sovelluksilta ja että kaikki näytöllä näkyvien kuvien muuttaminen tapahtuu API :n kautta (kuten esim. Windows ).
Katso myös
Viitteet
- ↑ http://tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/overd.html XFree86 Video Timings HOWTO: Näytön yliohjaus