使用OCP總線(xiàn)接口的3D圖形硬件IP
2:硬件框圖
這些Maestro技術(shù)通過(guò)算法優(yōu)化以及多個(gè)研究機構的長(cháng)期研究得以實(shí)現。目前我們正在向嵌入式系統引入PC級的圖形和經(jīng)驗。
硬件框圖
下面是圖形內核的框圖。
在圖7中的所有紅色箭頭都指向了采用OCP的存儲器總線(xiàn)接口。
圖7:PICA200框圖。
在開(kāi)發(fā)PICA200內核的過(guò)程中解決了以下一些挑戰:
1)為了涵蓋所有嵌入式系統,IP內核必須支持各種運行光譜的設備,包括從帶微型顯示屏的移動(dòng)電話(huà)到帶很大顯示器的娛樂(lè )設備。
2)3D圖形硬件需要極大的帶寬用于命令、紋理、色彩和z緩沖器讀/寫(xiě)訪(fǎng)問(wèn),而這種帶寬將確定3D IP內核的性能,并且
3)IP內核應能很容易地集成到SoC系統環(huán)境中。
為解決所有這些問(wèn)題,我們決定采用OCP作為我們構建模塊方案的標準接口基礎架構。結果是,我們可以提供下面的選項來(lái)滿(mǎn)足用戶(hù)的需求(表1)。
以移動(dòng)電話(huà)系統為例,要求支持OpenGL ES功能和VGA顯示器尺寸,功耗應該最小,因此在這種情況下,頂點(diǎn)處理器和紋理管線(xiàn)的數量需要分別優(yōu)化為兩個(gè)(當然這里的數量?jì)H僅是一個(gè)例子)。Maestro功能的實(shí)現并不僅僅支持Open ES,因為在大量的蜂窩電話(huà)中不需要非標準的功能。紋理緩存參數也可以針對SoC總線(xiàn)特性進(jìn)行優(yōu)化,因為事實(shí)上這些參數是由OCP標準自動(dòng)提供的。在像娛樂(lè )游戲機這樣的應用中,所有Maestro功能都需要組件來(lái)支持更高質(zhì)量和吸引人的內容以及高性能和大顯示器尺寸。
我們還采用了利用OCP線(xiàn)程協(xié)議的預取機制。這對于避免渲染管線(xiàn)的停頓以保持很高的渲染性能來(lái)說(shuō)是很重要的。表2給出了在該圖形內核中線(xiàn)程ID分配的實(shí)例,在這個(gè)例子中,內核共有四個(gè)紋理模塊。
OCP2.2支持標示哪個(gè)線(xiàn)程允許失序響應,但是這個(gè)特殊DMP內核并不支持失序處理,因為對色彩和深度緩沖器的訪(fǎng)問(wèn)需要使用基于讀-修改-寫(xiě)鎖定的訪(fǎng)問(wèn),對其它的訪(fǎng)問(wèn)沒(méi)有針對失序訪(fǎng)問(wèn)支持的邏輯和FIFO,以便生成小型IP內核及支持上述各種應用。為了在沒(méi)有標示功能條件下獲得較好的存儲器訪(fǎng)問(wèn)性能,這種圖形內核針對基于模塊化的光柵化處理進(jìn)行了優(yōu)化,所有從三角函數產(chǎn)生的象素都要通過(guò)4X4這樣的矩形塊處理,以便通過(guò)長(cháng)突發(fā)長(cháng)度訪(fǎng)問(wèn)和數據訪(fǎng)問(wèn)跟上對齊地址而充分利用存儲器訪(fǎng)問(wèn),并為紋理和色彩緩沖器獲得較高的緩存利用率。
3:OCP好處
使用OCP的最大好處是廣泛使用的行業(yè)標準是開(kāi)放的,任何人都能得到。此外,大多數主要的SoC銷(xiāo)售商利用和支持OCP。這樣一來(lái),我們可以根據協(xié)議在我們的接口和緩存中定義某些參數,以?xún)?yōu)化我們的用戶(hù)總線(xiàn)訪(fǎng)問(wèn)接口和系統參數,就像表1中的最后一行,這為IP提供商和SoC供應商同時(shí)提供了一種高層次的構建模塊概念。
本文小結
這種內核最早是在SIGGRAPH 2006上發(fā)布的(圖8),目前PICA200構建內核已經(jīng)能夠供貨。
圖8:在SIGGRAPH 2006上的FPGA原型展示。
我們多年來(lái)一直在為嵌入式應用開(kāi)發(fā)3D圖形技術(shù),而利用OCP可以減少開(kāi)發(fā)這種技術(shù)的時(shí)間和成本。對于IP內核和SoC供應商來(lái)說(shuō),系統整合工作是一項非常耗時(shí)的工作。PICA200內核不僅支持各種嵌入式應用,還通過(guò)利用基于OCP的構建模塊方案優(yōu)化了每個(gè)系統的性能。OCP提供了能夠滿(mǎn)足上述設計挑戰所需的完整規范和基礎架構。
評論