ADVERTISEMENT
GCN:率先使用新規格
看到的新架構,很難不去跟先前發表的比較,不過架構只是追求效能與節省成本的手段。論斷好壞並不客觀,但是在設計上倒是可以比較一下兩者的異同。
強化的快取架構
比較值得一提的是兩者的快取架構,每個SM(Streaming Multiprocessors)有64KB的L1快取,而所有SM則是共享768KB的L2快取。GCN設計上則較為複雜,CU有獨立64KB的L1快取,每4個CU還可共享16KB的指令快取(instruction cache)以及32KB的純量資料快取(scalar data cache)。L2則是每個記憶體控制器(memory controller)可支援64或128KB,HD 7970內具備6個記憶體控制器,因此L2快取與Fermi同為768KB。
▲新架構的快取共享機制很複雜,每個CU有獨立也有共享的快取。重視數據共享是GCN的特點之一,加上X86虛擬記憶體技術,讓複雜程度再上一層。
ADVERTISEMENT
X86虛擬記憶體
GCN架構的L1快取都是與L2共通的,且能跟顯卡上的GDDR5記憶體同步數據。GCN比更為注重資料同步,L1與L2、L2與顯卡記憶體、L2與系統記憶體都能同步數據。另外還有首次出現的X86 Virtual Memory(X86虛擬記憶體),可讓顯卡上的記憶體虛擬為系統記憶體。即使是X79用的四通道記憶體頻寬(memory bandwidth)不過30~50GB/s左右,HD 7970上的GDDR5記憶體頻寬可高達264GB/s,是系統記憶體的數倍,有助於通用運算與少部分遊戲。
DX 11.1能看不能玩
除了X86虛擬記憶體外,這次HD 7970也支援了不少新規格,舉凡PCI-E 3.0、.1,而且又是第一款28nm製程的顯卡。PCI-E 3.0部分,下個章節會搭配效能實測介紹,在此我們先來了解能看不能玩的DirectX 11.1。
會說能看不能玩,主要還是因為目前微軟並不支援DirectX 11.1,大多猜測會到了Windows 8之後才會搭配新版API。從MSDN(Microsoft Developer Network)提供的資料來看,這次DirectX 11.1跟以往小改版相同,目的不在於增加新技術,大多是除錯與擴展功能。
DirectX 11.1新功能
- Shader tracing
- Direct3D device sharing
- Check support of new Direct3D 11.1 features and formats
- Create larger constant buffers than a shader can access
- Use logical operations in a render target
- Force the sample count to create a rasterizer state
- Process video resources with shaders
- Change subresources with new copy options
- Discard resources and resource views
- Support a larger number of UAVs
- Bind a subrange of a constant buffer to a shader
- Retrieve the subrange of a constant buffer that is bound to a shader
- Clear all or part of a resource view
- Map SRVs of dynamic buffers with NO_OVERWRITE
- Use UAVs at every pipeline stage
資料來源:MSDN
ADVERTISEMENT
迎接光線追蹤
目前.1有15項新功能,其中比較值得注意的是子項目DoublePrecisionFloatShaderOps,也就是較常聽到的DP Shader。DP指的是Double Precision,也就是雙精度運算。是微軟在DirectX中首度加入的Shader類型,可在運算當中加入雙精度規則。
先前有提過,雙精度比起單精度運算精確度更高,先前所有Shader運算都是採用FP32也就是單精度運算,應用面來說單精度運算已經足以使用,轉換成雙精度提升的精確度是多餘的。那為什麼要支援雙精度?能想到最直接的例子就是ray tracing(光線追蹤)。
在模擬ray tracing的過程中,必須依靠雙精度運算維持數據的精確性。Ray tracing特色在於物體與光線之間的高度模擬,依照現有的處理精確度,讓物體與光線交互作用數次就會產生不可忽略的誤差,對於交互次數多達數十次的ray tracing只用單精度是絕對不夠的,可能會造成模擬失真,於是只能靠雙精度技術加強。
ADVERTISEMENT
關鍵字:Ray Tracing(光線追蹤)
▲光線追蹤是幾何光學的技術,主要是計算光線碰到物體時的折射與反射,由於物體與物體、物體與光線、光線與光線之間都會互相影響,因此運算的數據量十分龐大。高階顯卡跑起來可能都不太夠力,且未來加入雙精度運算,雖精確度提升但是效能可能還要打折扣。圖中的車輛即是用光線追蹤模擬出來,板金上的光影十分逼真。
延伸閱讀:
ADVERTISEMENT
ADVERTISEMENT