GPU歷史系列(一):故事從19世紀70年代講起_風聞
半导体行业观察-半导体行业观察官方账号-专注观察全球半导体最新资讯、技术前沿、发展趋势。2020-05-06 15:12
來源:內容由半導體行業觀察(ID:icbank)編譯自「techspot」,謝謝。
現代圖形卡處理器的發展始於1995年推出的首批3D附加卡,隨後廣泛採用32位操作系統和價格合理的個人計算機。
在此之前存在的圖形卡業主要由更加平凡的2D非PC架構組成,圖形卡因其芯片的字母數字命名約定和巨大的價格標籤而聞名。3D遊戲和虛擬化PC圖形卡最終從諸如街機和控制枱遊戲,軍事,機器人技術和太空模擬器以及醫學成像等多種來源融合在一起。
早期的3D消費者圖形卡的相互競爭的“狂野西部”。從如何實現硬件到使用不同的渲染技術及其應用程序和數據接口,甚至誇張的命名。早期的圖形卡系統具有固定功能流水線(FFP)和遵循非常嚴格的處理路徑的體系結構,該路徑使用了幾乎與3D芯片製造者一樣多的圖形卡API。
儘管3D圖形卡將相當乏味的PC行業變成了光彩奪目的表演,但它們的存在卻要歸功於幾代人的創新努力。本文深入研究了GPU的歷史。從3D消費者圖形卡的早期發展到3Dfx Voodoo遊戲改變者,世紀之交的行業整合以及當今的現代GPGPU。
3D消費者圖形卡的早期
第一個真正的3D圖形卡始於早期的顯示控制器,即視頻移位器和視頻地址生成器(video shifters and video address generators)。它們充當主處理器和顯示器之間的直通通道(pass-through)。傳入的數據流被轉換為串行位圖視頻輸出,例如亮度,顏色以及垂直和水平復合同步,這將像素行保持在顯示生成中,並同步每條連續行以及消隱間隔(時間間隔為 結束一條掃描線並開始下一條掃描線)。
1970年代下半葉出現了一系列設計,為我們所熟知的3D圖形卡奠定了基礎。例如,RCA的1976年“ Pixie”視頻芯片(CDP1861)能夠輸出62x128分辨率或不適用於RCA Studio II控制枱的64x32的NTSC兼容視頻信號。
緊隨一年後,電視芯片之後是電視接口適配器(TIA)1A,該適配器已集成到Atari 2600中,用於生成屏幕顯示,聲音效果和讀取輸入控制器。TIA的開發由傑伊·邁納(Jay Miner)領導,他後來還領導了Commodore Amiga計算機的定製芯片設計。
1977年9月發佈的Atari 2600
1978年,摩托羅拉推出了MC6845視頻地址發生器。這成為1981年IBM PC的單色和彩色顯示適配器(MDA / CDA)卡的基礎,並且為Apple II提供了相同的功能。摩托羅拉於同年晚些時候添加了MC6847視頻顯示生成器,並將其引入了許多第一代個人計算機,包括Tandy TRS-80。
Commodore的MOS Tech子公司VIC的類似解決方案為1980-83年為老式Commodore家用計算機提供了圖形卡輸出。
次年11月,LSI的ANTIC(字母數字電視接口控制器)和CTIA / GTIA協處理器(彩色或圖形卡電視接口適配器)在Atari 400上首次亮相.ANTIC使用直接存儲器訪問(DMA)處理2D顯示指令。像大多數視頻協處理器一樣,它可以生成運動場圖形卡(背景,標題屏幕,得分顯示),而CTIA可以生成顏色和可移動對象。雅馬哈和德州儀器(TI)向各種早期家用計算機供應商提供了類似的IC。
IBM PC的單色顯示適配器
圖形卡發展的下一步主要是在專業領域。
英特爾將他們的82720圖形卡芯片用作價格為1000美元的iSBX 275視頻圖形卡控制器多模式板的基礎。它能夠以256x256的分辨率(或以512x512的單色)顯示八種顏色數據。其32KB的顯示內存足以繪製線,弧,圓,矩形和字符位圖。該芯片還提供了縮放,屏幕分區和滾動的功能。
SGI迅速推出了用於工作站的IRIS圖形卡-GR1.x圖形卡板,其中提供了用於顏色選項,幾何圖形卡,Z緩衝區和覆蓋/底層的單獨的外接(子)板。
英特爾售價為1000美元的iSBX 275視頻圖形卡控制器多模板能夠以256x256分辨率(或512x512單色)顯示八種彩色數據。
當時,工業和軍事3D虛擬化技術相對完善。IBM,通用電氣和Martin Marietta(1992年將收購通用電氣的航空部門),以及大量的軍事承包商,技術研究所和美國國家航空航天局(NASA)開展了各種項目,這些項目需要技術用於軍事和太空模擬。海軍在1951年還利用麻省理工學院的Whirlwind計算機使用3D虛擬化技術開發了飛行模擬器。
除了國防承包商以外,還有一些公司用專業圖形卡跨越軍事市場。
Evans&Sutherland將提供諸如Freedom和REALimage之類的專業圖形卡卡系列,還為CT5飛行模擬器提供了圖形卡,CT5飛行模擬器由DEC PDP-11大型機驅動,耗資2000萬美元。該公司的共同創始人伊凡·薩瑟蘭(Ivan Sutherland)於1961年開發了一個名為Sketchpad的計算機程序,該程序可以繪製幾何形狀並使用光筆在CRT上實時顯示。
這是現代圖形卡用户界面(GUI)的起源。
在不太重要的個人計算機領域中,Chips and Technologies的82C43x系列EGA(擴展圖形卡適配器)為IBM適配器提供了急需的競爭,並且可以在1985年左右安裝在許多PC / AT克隆中。同時Commodore Amiga也安裝了OCS芯片組。該芯片組由三個主要組件芯片-Agnus,Denise和Paula組成,它們允許一定數量的圖形卡和音頻計算,不依賴CPU。
1985年8月,三名香港移民Kwok Yuan Ho,Lee Lau和Benny Lau在加拿大成立了Array TechnologyInc。到今年年底,名稱已更改為ATI TechnologiesInc。
ATI在第二年推出了他們的第一款產品,即OEM顏色仿真卡。它用於通過9針DE-9連接器將黑色背景的單色綠色,琥珀色或白色磷光體文本輸出到TTL監視器。該卡至少配備了16KB的內存,在ATI公司運營的第一年中,銷售額就佔了ATI 1000萬加元的很大一部分。這主要是通過一項合同完成的,該合同每週為Commodore Computers提供大約7000個芯片。
ATI的Color Emulation Card至少具有16KB的存儲空間,並在公司運營的第一年1000萬加元的銷售額中佔了很大一部分。
彩色監視器的出現以及一系列競爭對手之間缺乏標準最終導致了視頻電子標準協會(VESA)的成立,ATI是該協會的創始成員,NEC和其他六個圖形卡適配器製造商也是該協會的成員。
1987年,ATI在其OEM產品線中增加了Graphics Solution Plus系列,該產品線將IBM PC / XT ISA 8位總線用於基於Intel 8086/8088的IBM PC。該芯片通過DIP開關支持MDA,CGA和EGA圖形卡模式。它基本上是Plantronics Colorplus板的克隆,但有64kb的存儲空間。1987年發佈的Paradise Systems的PEGA1、1a和2a(256kB)也是Plantronics的克隆。
ATI EGA 800:16色VGA仿真,支持800x600
並非只有ATI帶動了消費者對個人計算的需求。
那年有許多新公司和產品問世。其中Trident,SiS,Tamerack,Realtek,Oak Technology,LSI的G-2 Inc.,Hualon,Cornerstone Imaging和Winbond都成立於1986-87年。同時,AMD,西部數據/天堂系統,Intergraph,Cirrus Logic,Texas Instruments,Gemini和Genoa等公司將在此期間生產首批圖形卡產品。
ATI的Wonder系列在接下來的幾年中繼續獲得了驚人的更新。
1988年,帶有遊戲控制器端口和複合輸出選項的Small Wonder Graphics解決方案問世(用於CGA和MDA仿真),以及具有擴展EGA和16位VGA支持的EGA Wonder 480和800+,以及VGA 新增了VGA和SVGA支持的Wonder和Wonder 16。
1989年推出了更新的VGA Wonder / Wonder 16系列,其中包括降低成本的VGA Edge 16(Wonder 1024系列)。新功能包括一個總線鼠標端口,並支持VESA功能連接器。這是一個金手指連接器,類似於縮短的數據總線插槽連接器,它通過帶狀電纜鏈接到另一個視頻控制器,以繞過擁擠的數據總線。
1991年,Wonder系列的更新繼續向前發展。WonderXL卡增加了VESA 32K顏色兼容性和Sierra RAMDAC,從而將最大顯示分辨率提高到640x480 @ 72Hz或800x600 @ 60Hz。
ATI圖形卡Ultra ISA(Mach8 + VGA)
Mach系列於同年5月與Mach8一同推出。它以芯片或電路板的形式出售,可以通過編程接口(AI)卸載有限的2D繪圖操作,例如線條畫,顏色填充和位圖組合(Bit BLIT).ATI添加了Wonder的一種變體 XL在擴展PCB上集成了Creative Sound Blaster 1.5芯片。它被稱為VGA Stereo-F / X,它能夠模擬Sound Blaster單聲道文件中的立體聲,並且其質量接近FM廣播質量。
諸如ATI VGAWonder GT之類的圖形卡板提供了2D + 3D選項,將Mach8與VGA Wonder +的圖形卡核心(28800-2)結合在一起以實現其3D功能。Wonder和Mach8推動ATI在這一年度實現了1億加元的銷售里程碑,這主要是由於Windows 3.0的採用以及可用於該平台的2D工作量的增加。
S3 Graphics成立於1989年初,並在18個月後生產了其首個2D加速器芯片和一個圖形卡卡,即S3 911(或86C911)。後者的主要規格包括1MB的VRAM和16位色彩支持。
S3 911在同年被924所取代-基本上是24位色的911修訂版-第二年又更新了928,增加了32位色,以及801和805加速器。801使用ISA接口,而805使用VLB。從911的問世到3D加速器的問世,市場上充斥着基於S3原始設計的2D GUI設計-特別是來自Tseng實驗室,Cirrus Logic,Trident,IIT,ATI的Mach32和Matrox的MAGIC RGB。
1992年1月,Silicon Graphics Inc(SGI)發佈了OpenGL 1.0,這是一個針對2D和3D圖形卡的多平台供應商不可知的應用程序編程接口(API)。
微軟正在開發自己的競爭對手Direct3D API,並沒有確保OpenGL在Windows下也能正常運行。
OpenGL是從SGI專有的API(稱為IRIS GL(集成的柵格成像系統圖形卡庫))演變而來的。這是一項旨在保留IRIS非圖形卡功能並允許API在非SGI系統上運行的計劃,因為競爭對手的供應商開始使用自己的專有API來望而卻步
最初,OpenGL瞄準的是基於UNIX的專業市場,但是由於開發人員對擴展實施的友好支持,很快將其用於3D遊戲。
微軟正在開發自己的競爭對手API,稱為Direct3D,並沒有竭盡全力確保OpenGL在新的Windows操作系統下也能正常運行。
幾年後,ID軟件公司的約翰·卡馬克(John Carmack)(之前發佈的《毀滅戰士》(Doom)徹底改變了個人電腦遊戲),將Quake移植到Windows上使用OpenGL並公開指責Direct3D的事情發生了。
快進:1997年發佈的GLQuake與原始Quake相比
由於微軟拒絕在Windows 95上使用OpenGL的微型客户端驅動程序(MCD)的許可,微軟的頑固性增加,這將使供應商能夠選擇哪些功能可以使用硬件加速。SGI通過開發可安裝客户端驅動程序(ICD)進行了答覆,該功能不僅提供了相同的功能,而且由於MCD僅覆蓋光柵化並且ICD添加了照明和變換功能(T&L),因此做得更好。
在OpenGL的興起(最初在工作站領域引起關注)期間,Microsoft忙於通過其專有API進行設計的新興遊戲市場。他們於1995年2月收購了RenderMorphics,其Reality Lab API受到開發人員的青睞,併成為Direct3D的核心。
大約在同一時間,3dfx的Brian Hook正在編寫Glide API,該API將成為遊戲的主要API。部分原因是微軟參與了Talisman項目(一個基於圖塊的渲染生態系統),該項目稀釋了DirectX的資源。
隨着Windows的普及,D3D變得廣泛可用,專有API諸如S3d(S3),Matrox Simple Interface,Creative圖形卡庫,C Interface(ATI),SGL(PowerVR),NVLIB(Nvidia),RRedline(Rendition)和Glide,開始受到開發人員的青睞。
將其中一些專有的API與電路板製造商結盟,以增加添加到快速擴展的功能列表的壓力越來越大,這無濟於事。這包括更高的屏幕分辨率,增加的色彩深度(從16位增加到24位,然後是32位)以及圖形質量增強(例如抗鋸齒)。所有這些功能都要求增加帶寬,圖形卡效率和更快的產品週期。
到1993年,市場動盪已經迫使許多圖形卡公司退出業務,或被競爭對手收購。
1993年迎來了一系列新的圖形卡競爭者,其中最著名的就是英偉達(Nvidia),該公司於當年1月由黃仁勳,Curtis Priem和Chris Malachowsky創立。Huang以前是LSI的核心軟件總監,而Priem和Malachowsky都來自Sun Microsystems,他們之前曾開發過基於SunSPARC的GX圖形卡架構。
此後不久,Dynamic Pictures,ARK Logic和Rendition也加入了Nvidia。
市場動盪已經迫使許多圖形卡公司退出業務,或被競爭對手收購。其中包括Tamerack,Gemini Technology,Genoa Systems,Hualon,Headland Technology(由SPEA收購),Acer,Motorola和Acumos(由Cirrus Logic收購)。
而ATI不斷發展壯大。
作為All-In-Wonder系列的先驅,11月下旬宣佈了ATI的68890 PC電視解碼器芯片的發佈,該芯片首次在Video-It!卡里面亮相。藉助板載Intel i750PD VCP(視頻壓縮處理器),該芯片能夠以320x240 @ 15 fps或160x120 @ 30 fps捕獲視頻,並能夠實時壓縮/解壓縮。它還能夠通過數據總線與圖形卡板通信,從而無需使用加密狗或端口和帶狀電纜。
5個月後的3月,ATI遲遲推出了64位加速器。Mach64。
在競爭激烈的市場中,ATI虧損了270萬加元,對ATI來説不是好事。競爭對手的主板包括許多主板供應商選擇的S3 Vision 968,以及Trio64,後者從Dell(Dimension XPS),Compaq(Presario 7170/7180),AT&T(Globalyst),HP(Vectra VE 4)簽訂了OEM合同。)和DEC(文丘里斯/ Celebris)。
Vision 968:S3的首個運動視頻加速器
Mach64於1995年發佈,創造了許多著名的首創。它成為第一個以Xclaim形式在PC和Mac計算機上使用的圖形卡適配器,並且與S3的Trio一起提供了全動態視頻播放加速功能。Mach64還迎來了ATI的首款專業顯卡,即3D Pro Turbo和3D Pro Turbo + PC2TV。
ATI Mach64 VT支持電視調諧器
次月,一家名為3DLabs的技術初創公司問世,該公司誕生於杜邦的Pixel圖形卡部門從其母公司手中收購了子公司,以及能夠進行OpenGL渲染,片段處理和光柵化的GLINT 300SX處理器。由於價格昂貴,該公司的卡最初是針對專業市場的。
。
1995年的遊戲GLINT 300SX減少了2MB的內存。它為紋理和Z緩衝區使用了1MB,為幀緩衝區使用了1MB,但是還提供了一個選項,以增加VRAM的Direct3D兼容性。該卡未能在一個人滿為患的市場中取得進展,但是3DLabs已經在Permedia系列的後續產品上進行開發。
那時S3似乎無處不在。該公司的Trio64芯片組主導了高端OEM廠商,該芯片組將DAC,圖形卡控制器和時鐘合成器集成到單個芯片中。他們還利用了統一的幀緩衝器和受支持的硬件視頻覆蓋(圖形卡存儲器的專用部分,用於根據應用程序的要求渲染視頻)。Trio64及其32位內存總線兄弟產品Trio32可作為OEM單元和獨立卡,可從Diamond,ELSA,Sparkle,STB,Orchid,Hercules和Number Nine等供應商處獲得。
市場的主流終端還包括Trident的產品,Trident是一家長期提供免費裝飾的2D圖形卡適配器的OEM供應商,最近又將9680芯片添加到其產品陣容中。該芯片擁有Trio64的大多數功能,主板的價格一般在170-200美元左右。他們在該支架中提供了可接受的3D性能,並具有良好的視頻播放功能。
主流市場上的其他新手包括Weitek的Power Player 9130和Alliance Semiconductor的ProMotion 6410(通常被稱為Alaris Matinee或FIS的OptiViewPro)。兩者都提供了出色的縮放速度和CPU速度,而後者則將強大的縮放引擎與防阻塞電路相結合以獲得流暢的視頻播放,這比ATI Mach64,Matrox MGA 2064W和S3 Vision968等以前的芯片要好得多。
Nvidia於5月推出了他們的第一款圖形卡芯片NV1,併成為首款能夠進行3D渲染,視頻加速和集成GUI加速的商業圖形卡處理器。
他們與意法半導體(ST Microelectronic)合作,以其500nm工藝生產該芯片,後者還推廣了該芯片的STG2000版本。儘管這不是一個巨大的成功,但它確實代表了該公司的首次財務回報。對於Nvidia而言,不幸的是,就在9月份第一批供應商主板開始發售(特別是Diamond Edge 3D)時,Microsoft最終確定併發布了DirectX 1.0。
D3D圖形卡API確認它依賴於渲染三角形多邊形,而NV1則使用四邊形紋理映射。通過驅動程序添加了有限的D3D兼容性,以將三角形包裝為二次曲面,但是由於缺少針對NV1量身定製的遊戲,該卡成為了各行各業的傑作,無所不能。
大多數遊戲都是從世嘉土星移植的。帶有集成土星端口的4MB NV1(每個擴展支架通過帶狀電纜連接到插卡兩個)在1995年9月的零售價約為450美元。
微軟的最新更改和DirectX SDK的發佈使主板製造商無法直接訪問用於數字視頻播放的硬件。這意味着幾乎所有獨立顯卡在Windows 95中都存在功能問題。相比之下,來自各種公司的Win 3.1下的驅動程序通常都沒有問題。
次年5月在洛杉磯舉行的E3電子遊戲大會上首次公開展示了它。該卡本身在一個月後可用。3D Rage將Mach64的2D核心與3D功能合併在一起.1995年11月,ATI宣佈了他們的首個3D加速器芯片3D Rage(也稱為Mach 64 GT)。
對DirectX規範的最新修訂意味着3D Rage與許多使用該API的遊戲存在兼容性問題-主要是缺乏深度緩衝。使用板載2MB EDO RAM幀緩衝區時,3D模態限制為640x480x16位或400x300x32位。在600x480上嘗試32位顏色通常會導致屏幕上的顏色損壞,並且2D分辨率達到1280x1024的峯值。如果遊戲性能中等,則全屏MPEG播放功能至少可以平衡功能集。
3Dfx Voodoo Graphics有效地消滅了所有競爭,因此性能競賽在開始之前就結束了。
ATI重新設計了芯片,並於9月發佈了Rage II。除了增加了MPEG2播放支持外,它還糾正了第一款芯片的D3DX問題。但是,初始卡仍附帶2MB的內存,從而影響了性能,並影響了透視/幾何轉換。隨着系列的擴展,包括Rage II + DVD和3D Xpression +,內存容量選項增加到8MB。
儘管ATI率先將3D圖形卡解決方案推向市場,但對於具有不同3D實現理念的其他競爭對手出世,並沒有太多時間。即3dfx,Rendition和VideoLogic。
Screamer 2, released in 1996, running on Windows 95 with 3dfx Voodoo 1 graphics Screamer 2,於1996年發佈,在帶有3dfx Voodoo 1圖形卡的Windows 95上運行
在向市場發佈新產品的競賽中,3Dfx Interactive贏得了Rendition和VideoLogic的青睞。然而,性能競賽在開始之前就結束了,3Dfx Voodoo Graphics有效地消滅了所有競爭。