版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-視頻圖形陣列

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

視頻圖形陣列(英語:Video Graphics Array,簡稱VGA)是IBM于1987年提出的一個使用類比信號的電腦顯示標(biāo)準(zhǔn)。

簡介視頻圖形陣列(英語:Video Graphics Array,簡稱VGA)是IBM于1987年提出的一個使用類比信號的電腦顯示標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)已對于現(xiàn)今的個人電腦市場已經(jīng)十分過時。即使如此,VGA仍然是最多制造商所共同支持的一個標(biāo)準(zhǔn),個人電腦在加載自己的獨特驅(qū)動程序之前,都必須支持VGA的標(biāo)準(zhǔn)。例如,微軟Windows系列產(chǎn)品的引導(dǎo)畫面仍然使用VGA顯示模式,這也說明其分辨率和載色數(shù)的不足。

VGA這個術(shù)語常常不論其圖形設(shè)備,而直接用于指稱640×480的分辨率。VGA設(shè)備可以同時存儲4個完整的EGA色版,并且它們之間可以快速轉(zhuǎn)換,在畫面上看起來就像是即時的變色。1

在色版上,VGA除了擴(kuò)充為256色的EGA式色版外,這256種顏色是可以改變的。可以透過VGADAC,任意的指定為任何一種顏色。這就程度上改變了原本EGA的色版規(guī)則。因為在CGA上,只有16種無法改的色彩。在EGA上雖然仍只能顯示16種色彩,但這16種色彩其實是從64彩色盤中挑選出的。EGA分配給每個色頻(RGB)兩個比特,{\displaystyle 2^{2}}=4種變化,{\displaystyle 4^{3}}個色頻=64種色彩。而VGA在指定色版顏色時,一個顏色頻道有6個bit,紅、綠、藍(lán)各有64種不同的變化,因此總共有262,144種顏色。在這其中的任何256種顏色可以被選為色版顏色(而這256種的任何16種可以用來顯示CGA模式的色彩)。

這個方法最終仍然使了VGA模式在顯示EGA和CGA模式時,能夠使用前所未有的色彩,因為VGA是使用模擬的方式來繪出EGA和CGA畫面。提供一個色版轉(zhuǎn)換的例子:要把文字模式的字符顏色設(shè)置為暗紅色,暗紅色就必須是CGA 16色集合中的一種顏色(譬如說,取代CGA默認(rèn)的7號灰色),這個7號位置將被指定為EGA色版中的42號,然后VGA DAC將EGA #42指定為暗紅色。則畫面上的原本的CGA七號灰色,都會變成暗紅色。這個技巧在256色的VGA DOS游戲中,常常被用來表示加載游戲的淡入淡出畫面。

總結(jié)來說,CGA和EGA同時只能顯示16種色彩,不過EGA有更多色盤可用。而VGA不但兼容于CGA或EGA模式,更可以使用Mode 13h模式一次顯示256色版中的所有色彩,而這256種顏色是從262,144種顏色(18-bit)中挑出的。

存儲器定址VGA所使用的顯存,透過一個窗口對應(yīng)于PC的主存,它們的真實地址為0xA000和0xC000之間的存儲器。典型地來說地址的開始點是:

0xA000使用于EGA/VGA圖型模式(4 KB)

0xB000單色文字模式(2 KB)

0xB800彩色文字模式和CGA兼容模式(2 KB)

由于使用的區(qū)塊皆不相同,在同一部機(jī)器上設(shè)備一個單色顯卡(MDA)和另一個彩色顯卡(VGA、EGA或CGA)是不沖突的。在1980年代初,這種典型的搭配方式用于Lotus 1-2-3電子表格上,一部高解析單色顯示屏用來顯示文字,而另一部低解析的CGA顯示屏用來顯示圖表。許多程序員也用這種配置來開發(fā)軟件,一部顯示屏顯示debug細(xì)節(jié),另一部顯示屏則顯示真正的軟件運行畫面。許多商業(yè)的除錯軟件都支持這種配置,例如Borland的Turbo Debugger、由Alan J. Cox開發(fā)的D86、微軟的CodeView等,Turbo Debugger和CodeView可以甚至可拿來debug微軟的Windows軟件。也有DOS驅(qū)動程序如ox.sys模擬一個終端機(jī)來接受Windows的debug消息,而不用真正接上另一個終端機(jī)。在DOS底下使用“單色模式”指令,使其輸出轉(zhuǎn)向單色也是可能的。另外,假如電腦上并無單色顯卡,那么可以使用EMM386.EXE程序讓其他程序可以使用B000-B7FF這一段存儲器。(于config.sys文件中加入"DEVICE=EMM386.EXE I=B000-B7FF")

程序技巧一個未被紀(jì)錄但十分廣泛使用的技術(shù)稱作Mode X(由Michael Abrash導(dǎo)入),使程序員能夠使用在Mode 13h之下無法做到的分辨率。他將256 KiB連續(xù)的顯存“解開”并分成四個層次,因此在256色模式時全部256 KiB的存儲器都可以使用。技術(shù)上這將使得處理變得更復(fù)雜,并且性能降低。但在一些特殊情況下,性能損失的情況可以被彌補:

單色的多邊形填色增快,因為一次寫入可以設(shè)置四個像素。

VGA可以用來協(xié)助顯存之間的拷貝,有些時候會比使用8088或80286等慢速CPU更快。

提供更高的分辨率:16色可使用704×528、736×552、768×576、甚至800×600。諸如Xlib(1990年代早期的C圖形庫)和ColoRIX(256色的圖形程序)支持256色下的各種分辨率調(diào)和:直行256、320和360個像素,以及水平行200、240、256、400和480個像素的組合(上限的640×400幾乎用掉256 KiB中每一個byte)。不過,320×240仍然是最常被使用的,因它為典型的4:3比例,為方形像素。

multiple video pages讓程序員能夠使用雙重緩沖(所有的16色模式都可),這在Mode 13h無法辦到。

有時候,顯示器必須降低更新頻率來滿足這些模式,這會造成眼睛的疲勞這樣的低分辨率雖然在PC市場早已淡出,但在Pocket PC和PDA市場,它正逐漸成為標(biāo)準(zhǔn)。它也常被用來指稱15針的D型接頭,這種接頭仍然用來傳輸各式各樣分辨率的類比信號。

VGA曾經(jīng)被IBM官方宣布使用XGA標(biāo)準(zhǔn)所取代,但在歷史上,它其實是被其他的OEM制造商用所謂的SVGA標(biāo)準(zhǔn)所取代。

技術(shù)性細(xì)節(jié)VGA中的A指的是“陣列(array)”而非“轉(zhuǎn)換器(adapter)”,因為它從一開始就被設(shè)計為一個單一的集成芯片,用來取代Motorola 6845和數(shù)十個離散的邏輯芯片組合而成的ISA母版,這種設(shè)計是之前的MDA、CGA和EGA所使用的。VGA的這個特性允許它輕易的植入PC的主板之中,只需要額外的顯存、振蕩器和一個RAMDAC,就具備顯示功能。IBM PS/2電腦系列就是采用將VGA放置于主板上的設(shè)計。2

VGA的規(guī)格表如下:

256 KiB的Video RAM

16色和256色模式

總共262144種顏色的色版(紅、綠、藍(lán)三色各6 bit,總共{\displaystyle (2^{6})^{3}}種)

選擇性的25.2 MHz或28.3 MHz處理頻率

最多720個水平像素

最多480條線

最高70 Hz的更新頻率

Vertical Blanking interrupt(不是所有卡都支持)

平面模式:最多16色(4 bit面板)

Packed-pixel模式:256色(Mode 13h)

順暢滾動畫面的能力

Some "RasterOps" support

Barrel shifter

支持分區(qū)畫面

VGA支持可單獨操控像素的APA(All Points Addressable)模式,也支持字母與數(shù)字的文字模式。標(biāo)準(zhǔn)的圖形模式如下:

640×480×16色

640×350×16色

320×200×16色

320×200×256色(Mode 13h)

它也支持用模擬的方式畫出向下兼容的分辨率:EGA、CGA和MDA。

標(biāo)準(zhǔn)文字模式標(biāo)準(zhǔn)的VGA文字模式使用80×25或40×25個字母或數(shù)字組成的平面。每個字符的塊狀區(qū)域可以選擇16種前景色和8種背景色;8種背景色來自bit容量較低的集合(以今天的標(biāo)準(zhǔn)來說,例如ffffff或者是000000)。而字符本身也可設(shè)置是否閃爍,而字符的閃爍動作都是同時的。畫面的閃爍功能和選擇背景顏色的功能是可交換的,換句話說兩者只能擇一。以上這些選項和IBM先前生產(chǎn)的CGA轉(zhuǎn)換器是相同的。

VGA雖然支持黑白和彩色的文字模式,但黑白模式很少使用。大多的VGA在顯示黑白模式時使用彩色模式,即是將灰色字畫在黑色背景上。而使用VGA的單色顯示器也能很好的支持這樣的彩色模式?,F(xiàn)代顯示器和顯卡若連接不當(dāng),偶爾會導(dǎo)致顯卡的VGA部分偵測顯示器為單色的,而這將使BIOS引導(dǎo)顯示為黑白模式。通常在加載操作系統(tǒng)和適當(dāng)?shù)尿?qū)動程序以后,顯卡的設(shè)置被覆蓋,顯示器就會變回彩色。

在彩色的文字模式中,每個字符其實由兩個byte代表。較低的一個byte用來顯示字符,而較高的byte就用來代表彩色、閃爍等等屬性。這種成對的byte模式是從CGA就一直傳續(xù)下來的。

VGA色版VGA的色彩系統(tǒng)可以向前兼容于EGA和CGA轉(zhuǎn)換器,而它在其上又新增了一種設(shè)置。CGA可以顯示16種色彩,EGA則將其擴(kuò)充成從64種顏色色版選出的16色模式(即紅綠藍(lán)各2 bits)。VGA則更將其擴(kuò)充成256種顏色色版,但為了向前兼容,一次只能選擇256種之中的64種(例如第一個64種顏色集合、第二個…)。所以一個。它們也不兼容于較老舊的顯示器,將造成諸如overscan、閃爍、垂直滾動、缺乏水平同步等等缺點。因為如此,多數(shù)的商業(yè)軟件使用的VGA調(diào)適都限制在顯示器的“安全界線”之下,例如320×400(雙倍分辨率,2 video pages)、320×240(方形像素,3 video pages)和360x480(最高的兼容分辨率,1 video page)。

本詞條內(nèi)容貢獻(xiàn)者為:

李嘉騫 - 博士 - 同濟(jì)大學(xué)