2D圖像界面的介紹

從這節開始我們要回到顯示適配器本身了,延續過去的慣例我會從最早的技術開始一路講到當代最新的產品,本篇所談的主要會是計算機開始能夠在平面上顯示立體圖形 (3D 繪圖技術) 開始發展以前的部分,這個時期的顯示適配器主要分成純文本時期與 2D 圖形兩段,當時顯示適配器的工作很單純,只是一套將計算機輸出的結果直接轉換成可以讓屏幕秀出文字或圖形的電路。

基本上這一段期間 (正好是整個 1980 年代) 可以先後分成三個時期:

· 顯示適配卡時期 (MDA、CGA、HGC、EGA)這個時期裡顯示適配卡的用途很單純,唯一工作是用於將計算機計算的結果轉換成屏幕能讀懂的格式,本身幾乎不負責運算工作。

· 顯示子系統時期 (VGA 與各種兼容品)這個時期將前述的顯示適配卡直接整合建置到主板中,同時顯示色彩的能力與分辨率也都有所提升,這個顯示子系統在未來很長一段時間都成為計算機顯示的基礎。

· 2D 圖形加速卡時期 (IBM 8514/A 以後)從這個時期開始顯示適配器除了負責輸出與訊號轉換之外,本身也擔負了 2D 圖形演算的工作 (在以往這些事情是由 CPU 處理的),可以大幅分攤處理器要負擔的工作,因此連帶的也讓計算機整體的實際性能提高了。

MDA、CGA

發佈年代:1981 年發佈公司:IBM搭配系統:IBM PC (5150)主要芯片:Motorola 6845 (MDA)、Motorola MC6845 (CGA)

2D圖像界面的介紹

MDA 是個人計算機歷史上第一張獨立顯示適配器,在 1981 年隨 IBM PC (Model 5150,上圖這臺就是第一臺以「個人計算機」名義推出的民用計算機主機) 一同推出,全名則是 Monochrome Display Adapter,翻成中文是單色顯示適配器的意思。

2D圖像界面的介紹

MDA 本身內建有 4 KB 的顯示內存,主要奠基於 Motorola 6845 CRT 控制器芯片,除此之外,比較特別的是當時的顯示適配器居然是跟打印機接口做在同一張卡上的 (右下角比較大的接頭),此外,由名稱可以很容易的瞭解到 MDA 只能顯示黑白畫面 (嚴格說起來是 25 行 80 字符的黑底綠字,理論分辨率則是 720×350,如下圖),而且由於 MDA 本身沒有能力進行像素尋址與繪圖,因此也無法顯示任何圖形。

2D圖像界面的介紹

也許看了上圖之後,你會想問這個問題:如果 MDA 不支持顯示圖形,那上圖中的 IBM 標誌與框線要怎麼顯示出來?實際上 MDA 可以顯示的「字」有下面這些,上圖中的框線和 IBM 標誌都是用「符號字符」拼湊出來的 (Codepage 437)。

2D圖像界面的介紹

上面這些字型很眼熟吧?沒錯,這些字型從 MCA 開始就一路往下傳承,後續的所有顯示接口與子系統 (不論是 CGA、EGA、VGA、XGA) 內部都建有這套字型,用於在開機過程中未加載任何內容時用來顯示文字之用 (例如 UEFI 時代以前的 BIOS 與 POST 畫面大抵上都是這套字型,還有純 DOS 系統下的畫面也是,因此又被稱為 OEM 字型與 Extended ASCII)。

2D圖像界面的介紹

與 MDA 與 IBM PC 一同在 1981 年推出的還有全名為 IBM Color/Graphics Monitor Adapter (彩色圖形顯示器適配卡) 的 CGA,顧名思義這是一張可以顯示彩色畫面的顯示適配器,分辨率最高可以達到 640×200 (此時僅能顯示兩種顏色) 或 320×200 (此時僅能顯示四種顏色),在延伸圖形模式 EGM 下則可以顯示 160×100 16 色的畫面 (如下圖),同時也保留了與 MDA 相似的純文本模式,具備的顯示內存則提高為 16 KB。

2D圖像界面的介紹

不過 CGA 有個問題在於能處理的分辨率比起 MDA 來得差,因此在顯示純文本畫面的時候 MDA 顯示的文字質量較佳,所以在當年選購計算機時,挑選搭配顯示適配器的依據除了價格之外還有「使用純文本的時間佔多數」還是「使用圖形化面的時間佔多數」這一因素。

2D圖像界面的介紹

CGA 與 MDA 使用的屏幕接頭基本上都是採九針腳 D-Sub 接頭,其中第 3、4、5 針用於顯示紅藍綠 RGB 三原色,僅在 CGA 上使用,而第 7 針則是被 MDA 用於顯示影像之用。

Hercules Graphics Card

發佈年代:1982 年發佈公司:Hercules Computer Technology, Inc.搭配系統:IBM PC (5150)主要芯片:Motorola 6845

2D圖像界面的介紹

發佈於 MDA 推出後一年的赫爾克里士圖形適配器應該算是臺灣開始有個人計算機之後第一款被廣泛運用的顯示適配器吧?這張卡與 MDA 很像,要說它是以 MDA 為基礎開發出來的產品也不為過,與 MDA 一樣是單色顯示適配器,但 HGC 卻有著類似 CGA 般,能夠繪製圖形與像素尋址的能力,名稱中的 Graphics 基本上也是這麼來的。

2D圖像界面的介紹

HGC 這張顯示適配器能夠支持的原生分辨率為 720×348,比起 CGA 甚至是後來的 EGA 都還要來得高,也因此很適合在臺灣發展的中文系統中使用 (拐個彎把寬度調回標準的 640 之後就可以把高增加到 408 用來容納中文輸入法需要的空間了)。

2D圖像界面的介紹

不過儘管 Hercules Graphics Card 這張卡把單色顯示發揮到非常完整,但往彩色顯示發展可以說是必然的趨勢,因此很快在 IBM 推出後續的 EGA、VGA 之後,Hercules Graphics Card 就被淘汰了,這家公司也因為在彩色顯示時代中推出的產品表現差強人意 (後來的 Hercules InColor Card 特性與 EGA 還蠻相似的) 而最終被 ELSA 收購。

EGA

發佈年代:1984 年發佈公司:IBM搭配系統:IBM PC (5150)、IBM PC/AT (5170)主要芯片:Motorola 6845

2D圖像界面的介紹

EGA 的全名是 Enhanced Graphics Adapter (增強圖形適配卡),從名稱上不難看出這是 CGA 的後繼產品 (順便也取代了 MDA 與 HGC),在 1984 年隨 IBM 的第二代個人計算機系統 PC/AT 推出,具備 256 KB 的顯示內存。

2D圖像界面的介紹

EGA 的色彩顯示方面比起 CGA 來說可以說是強了不少,能夠支持的顏色有 64 種,最高可以在 640×350 分辨率下同時正常顯示其中的 16 種顏色,在這樣的狀況下彩色畫面終於看起來有那麼點像回事了 (上圖與下圖分別是 EGA 模式下執行的遊戲與 Windows 1.01)。

2D圖像界面的介紹

在顯示器接口方面,EGA 使用的仍然是與 CGA、MDA 相同的 9 針腳 D-Sub 接頭,不過接腳定義則有所改變,第 2 ~ 7 針腳全部用於顯示色彩 (RGB 各 2 針),第 8 ~ 9 針腳則用於水平與垂直同步信號。

VGA、MCGA

發佈年代:1987 年發佈公司:IBM搭配系統:IBM PS/2

2D圖像界面的介紹

接下來就是大名鼎鼎的 VGA (Video Graphics Array) 了,在 1987 年隨著 IBM PS/2 計算機推出 (是的沒錯,又是 PS/2!),基本上可以視為 EGA 的後繼者,但在這裡要特別強調,VGA 並不是一款顯示適配器,名稱中的 A 是 Array 而不是 Adapter,實際上 VGA 是一整套標準,涵蓋了硬件、分辨率、輸出接口三者,硬件的部分在 IBM PS/2 (僅有高階款的 PS/2 支持 VGA) 上最初的產品也不是一張獨立的適配卡 (儘管後來確實有為早期舊款的 PS/2 推出 VGA 升級卡,如下圖),而是直接做在主板上的一塊芯片。

2D圖像界面的介紹

最初 VGA 內建了 256 KB 的顯示內存,在標準狀況下主要提供對兩種分辨率模式的支持,針對 640×480 (這分辨率很眼熟吧?其實直到 UEFI 時代之前,計算機的開機畫面都還是這個分辨率,因為那時候沒加載顯示適配器的驅動程序) 可以支持 16 色、針對 320×200 分辨率則可以支持 256 色 (總色域增加為 262,144 色,一次可以從中挑選 256 色顯示),而設計上的極限分辨率則是 16 色 800×600 @ 70 Hz。

VGA 的彩色顯示功能相較於 EGA 又有了挺明顯的強化,彩色遊戲畫面的質量明顯比以往高出許多,2D 遊戲差不多就是在這個時期開始有大幅度進展的。

2D圖像界面的介紹

至於 MCGA (Multi-Color Graphics Array) 則是與 VGA 同期推出的技術,基本上可以視為增強版的 CGA,由於成本與價格較低,因此推出時主要是作為 VGA 以下的低階入門產品發佈,MCGA 內建的顯示內存僅有 64 KB,僅出現於 Model 25 與 Model 30 的 IBM PS/2 上,支持 CGA 的所有模式但無法與 EGA 的專有模式兼容,雖然如同 VGA 一般加入了對 640×480 @ 60 Hz 分辨率的支持但卻只支持單色模式,至於對 320×200 分辨率的支持則與 VGA 一樣可以支持到 256 色。

2D圖像界面的介紹

至於顯示器接口方面 VGA 與 MCGA 所引入的新接口就是上節曾經介紹過,也為大家所熟知的 VGA (D-Sub 15 針)。

IBM Image Adapter/A

發佈年代:1987 年發佈公司:IBM搭配系統:IBM PS/2

2D圖像界面的介紹

這款產品比較廣為人知的名字是 IBM 8514,基本上是作為 PS/2 系統的選用升級配件發佈。值得注意的是,IBM 8514 並非僅是內建 VGA 影像子系統的顯示內存擴充卡,實際上 IBM 8514 本身具備了輔助運算的能力 (但 IBM 8514 僅能增強 VGA 影像子系統的功能而無法完全獨立運作),因此 IBM 8514 經常被視為是第一張進入個人計算機領域的 2D 圖形加速卡 (在此之前基本上 2D 圖形加速是工作站在玩的,價格極為昂貴),不過仍然與工作站使用的圖形協同處理器在功能上有一段差距 (IBM 8514 並非可程序化的加速系統)。

內建有 512 KB 顯示內存的 IBM 8514 的輸出能力比起 VGA 來說確實提高了不少,16 色顯示模式下的最高輸出分辨率從 VGA 的 640×480 一舉提升到了 1024×768,而在安裝擴展內存模塊 (可以提供額外 512 KB 的顯示內存) 之後,即使是在 1024×768 @ 43.5 Hz 分辨率下仍然可以同時顯示 256 種顏色 (總色域仍然是 262,144 種顏色)。

2D圖像界面的介紹

由於上市時價格高達 1,300 美金 (還沒算上顯示內存擴充子卡呢,別忘了還得搭配好的屏幕才能發揮功能,當時 IBM 也推出了一款同樣名為 8514 的 CRT 屏幕,如上圖,光這屏幕就要價 1,550 美金) 加上只能搭配 MCA 接口使用,而不支持當時已蔚為主流的 ISA 接口等因素的影響,整體來說 IBM 8514 的銷售情況並不成功,但 IBM 8514 可以說是後來蓬勃發展的 2D 圖形加速卡市場的開山鼻祖。

2D圖像界面的介紹

XGA

發佈年代:1990 年發佈公司:IBM搭配系統:IBM PS/2

約莫在其他廠商開始製作 8514/A 兼容卡時,IBM 又推出了 XGA (Extended Graphics Array),基本上最初的 XGA 可以被視為原本的 VGA 子系統的延伸 (在架構上也向下兼容 VGA),主要是加上了 8514/A 所能提供的功能,初期同樣採用內建芯片的方式安裝於 IBM PS/2 Model 90 與 90XP 中,之後也依循與 MCGA 升級 VGA 相仿的作法推出了 IBM PS/2 XGA Display Adapter/A 可將舊款 PS/2 計算機升級為 XGA 等級。

2D圖像界面的介紹

XGA 的輸出能力比起 8514/A 又高出了不少,在安裝了顯示內存擴充子卡之後的 XGA 能夠在 1024×768 分辨率下同時顯示高達 256 種顏色,在標準 VGA 分辨率 (640×480) 下甚至可以同時顯示高達 65,536 種色彩。

值得注意的是,在 VGA 之後由於兼容卡數量眾多,加上各種 IBM 兼容 PC 的採用,VGA 顯示系統標準幾乎已經成為開放規範,而 XGA 則是 IBM 最後一次嘗試訂定自家的顯示系統標準,不過理所當然是失敗了,最後 XGA 只被認為是 Super VGA (VGA 的延伸) 中的一支。

基本上 XGA 升級卡的價格仍然相當昂貴,包含 512 KB 顯示內存的基本版就要價高達 1,100 美元,能提供額外 512 KB 顯示內存的擴充子卡也要價高達 350 美元,而且一開始還只支持 IBM 自家的 MCA 通道而無法搭配主流的 ISA 使用,除此之外還刻意不支持 800×600 這個常用分辨率,直接跳到 1024×768 (當時 IBM 還很豪氣的表示因為 800×600 這分辨率有其他人做了所以不需要我們出手),因此最後在消費市場上也是失敗收場。

2D圖像界面的介紹

IBM 後續在 1992 年推出的增強版 XGA-2 (內建顯示內存增加為 1 MB 並補上了在 800×600 分辨率之下的 65,536 色彩顯示支持與 1024×768 @ 75 Hz 的支援,且大幅降價到 400 美金以下) 也未能挽回頹勢,於是在 XGA 之後 IBM 就沒有再自行設計顯示系統標準了,之後也在 1992 年推出了基於 SVGA 的圖形適配卡,此後 IBM 基本上也不再繼續生產與設計自家的個人計算機用顯示適配卡,轉為選擇搭載第三方廠商設計製造的顯示適配器為主。

至於在顯示接口方面,由於 XGA 基本上可以大略視為 VGA 子系統 + 2D 圖形加速卡的結合,因此在顯示輸出的部分仍然維持 VGA 的設計,也就是 15 針的 D-Sub 接頭。

接下來的故事……1990 年代

1990 年代是個人計算機發展極為快速的十年,從 Windows 3.0 以上版本開始 Windows 系統逐漸獲得市場的青睞,越來越高的市場佔有率使得硬件開發商們開始意識到可以特別針對 Windows 強化顯示加速性能,這比起強化通用圖形加速芯片來得簡單又低成本得多。

2D圖像界面的介紹

而且在此時微軟又正巧在 Windows 系統內加入了通用繪圖 API 層,也就是名為 GDI 的圖形設備接口 (Graphics Device Interface),解決了過去由於各家顯示接口 I/O 端口設計可能不同而衍生的許多問題 (原理上很簡單,就是在程序與硬設備之間插入一層正好介於用戶層與系統核心層之間的 GDI 層,各家廠商就可以自行針對自家硬件來開發專屬驅動程序,並將其作為硬件與 GDI 層之間的溝通橋樑),因此從 1990 年代開始,基本上通用的圖形接口規格就停滯在以 VGA 為基礎而延伸而來的 Super VGA,而廠商的主要發展目標改為針對 Windows GDI 設計專用的 2D 圖形加速器。

2D圖像界面的介紹

由於開發難度相對而言比較簡單,很快的這些專門針對 Windows 而設計的加速器在性能上就超越以往所有的通用圖形加速器了,而且更重要的是,成本相較於那些天價級別的通用圖形加速器來說可說是超級便宜,關於 1990 年代所發生的事情,我將在下一節繼續介紹。

如同上一節談過的,從本節開始我們要看的是廠商開始專精針對特定主流操作系統發展、優化的 2D 圖形加速卡,在 1990 年代這十年裡 2D 圖形運算逐漸達到極致,3D 繪圖運算也逐步開始走入消費性個人計算機市場 (實際上 1970~1990 年代 3D 繪圖運算就一直有在發展了,只是主要僅止於工作站甚至大型服務器領域,本篇只談 2D 圖形運算的部分,3D 圖形加速卡留待之後介紹),要說在個人計算機顯示的發展上 1990 年代是最為關鍵的十年其實也不為過。

ATI 的早期發展

不過在開始談 1990 年代的 2D 圖形加速卡發展之前,我打算先談上節沒有提到,但很重要的一間公司,也就是現在 AMD 顯示芯片部門的前身-ATI。

2D圖像界面的介紹

ATI 創辦的時間點比起它近 15 年內的主要對手 NVIDIA 來得早很多,早在 1985 年就創立了 (順帶一提 1985 年是很關鍵的一年,第一版 Windows 也是在這年發佈的),創立之初的 ATI 是一間 OEM 廠商 (原始設備製造商),主要的業務是替各種 IBM PC 兼容機生產顯示芯片。

我在上節一直沒有提 ATI 的原因其實就是這點,因為 ATI 主要做的事情實際上是「跟風」IBM 提出的顯示系統標準,並推出價格比 IBM 低廉或性能上表現更佳的兼容產品 (例如 EGA Wonder 系列就是設計用來提供與 EGA 相似規格的產品,當時一張約 350 ~ 400 美金左右,比起 IBM 本家光是 EGA 本身一張就高達 584 美金的報價算是便宜不少了吧?而且最厲害的是 ATI 推出的顯示適配器在功能上還經常會超越 IBM 本家的產品)。

因此儘管我先前在介紹上選擇以制定規範的 IBM 推出的產品為主,但由於 IBM 本家產品的價格實在過於「精美」,因此實際上 ATI 在當時能見度與市佔率都是很高的。

最後要特別談到的是,ATI 靠著設計、生產與 IBM 本家產品的兼容版 (Clone) 維生的時代基本上一路延續到 1991 年的 Mach 8,這是 ATI 第一款特別為 Windows 進行優化的 2D 圖形加速卡,也是最後一次基於 IBM 的設計製造出的產品 (Mach 8 可以被看作是 IBM 8514/A 的 Clone)。


分享到:


相關文章: