0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于PICA200內(nèi)核實現(xiàn)OCP構(gòu)建模塊的應用方案

電子設(shè)計 ? 來源:維庫電子網(wǎng) ? 作者:維庫電子網(wǎng) ? 2021-03-23 09:46 ? 次閱讀

嵌入式系統(tǒng)中的圖形處理技術(shù)(如用戶界面和游戲)正在不斷發(fā)展和改善,例如從基于2D的交互圖形發(fā)展到基于3D的交互圖形。便攜式游戲站(PSP)這樣的便攜式設(shè)備就實現(xiàn)了PlayStation 2類3D圖形質(zhì)量。而在PC圖形方面,可以讓開發(fā)人員在頂點和片段層級配置功能的可編程著色方案已經(jīng)成為DirectX和OpernGL API基礎(chǔ)架構(gòu)的主要方案,這類硬件在像Xbox360和PlayStation 3這樣的游戲設(shè)備上已經(jīng)形成了非常豐富的內(nèi)容和經(jīng)驗。然而嵌入式系統(tǒng)中的圖形處理存在著很多問題和挑戰(zhàn)需要開發(fā)人員去解決,例如為了保持長電池壽命所需的低功耗,因為空間約束要使系統(tǒng)的器件數(shù)量最少,以及限制門的數(shù)量以降低成本。

Khronos Group公司正在定義針對嵌入式領(lǐng)域的各種媒體API,目前已經(jīng)發(fā)布了一種圖形API,即OpenGL ES。該OpenGL ES共有1.x和2.x兩個版本,分別針對固定圖形管線和可編程圖形管線,這種方法與PC圖形中用的方法是一樣的。

DMP圖形內(nèi)核概述

DMP為嵌入式領(lǐng)域中的便攜式設(shè)備、移動電話、汽車導航系統(tǒng)、娛樂游戲機和所有其它嵌入式圖形設(shè)備提供了可擴展的高性能、低功耗3D圖形內(nèi)核。PICA200是最新的3D圖形IP內(nèi)核,涵蓋了前面提到的所有應用領(lǐng)域。

該內(nèi)核由多個組件組成,包括OpenGL ES標準功能以及我們自己最初的圖形技術(shù)。這些組件是根據(jù)用戶要求以及帶有定制要素(如性能、存儲器帶寬和功耗)的目標系統(tǒng)構(gòu)建的。在選擇IP接口方案時,很難設(shè)定在這么寬的應用范圍下用戶的具體要求。在采用開放內(nèi)核協(xié)議(OCP)作為我們組件的標準總線接口方面DMP一直做得非常成功。

Maestro技術(shù)

通過采用OpenGL ES 1.1和我們自己的、被稱為Maestro的擴展圖形API,圖形內(nèi)核已經(jīng)取得了很好的高性能低功耗效果。這些Maestro功能包括了各種目標應用中頻繁使用和實用的圖形功能,包括各種光照和明暗處理模型,例如Phong、Cook-Torrance和BRDF、陰影效應、多邊形細分以及過程紋理。

1:Maestro功能、光照、陰影和微粒效果

Maestro功能利用我們改進的最初算法以硬連線邏輯形式實現(xiàn),從而解決了嵌入式系統(tǒng)設(shè)計中低功耗與高性能的矛盾。Maestro功能可以實現(xiàn)非常豐富的內(nèi)容,比如PC和便攜式設(shè)備上的控制臺圖形(圖1)。

Maestro功能包括以下一些效果:

1. 光照Maestro-包括按照每個片斷的高性能光照功能,并支持各種明暗處理模型,如Phong、同向/異向 BRD以及下表面散射;

2. 陰影Maestro-支持實時的硬陰影和軟陰影處理;

3. 形狀Maestro-通過用硬件(例如NURBS和多邊形細分)產(chǎn)生精細的多邊形來減少存儲器帶寬,因此可以使輸入數(shù)據(jù)量實現(xiàn)最小化;

4. 映像Maestro-支持凹凸映像和過程紋理,并且過程紋理不需要任何存儲器讀取來生成紋理圖像,因為圖像是根據(jù)算術(shù)等式產(chǎn)生的;

5. 微粒Maestro-用硬件產(chǎn)生霧化、云和氣體效果。

圖1:由Futuremark和DMP合作開發(fā)的PICA200演示場景。

圖2:只使用OpenGL ES的渲染結(jié)果(左邊)以及用OpenGL ES 和我們的Maestro API后的渲染結(jié)果(右邊)

圖3:利用我們的陰影Maestro API實現(xiàn)的實時軟陰影渲染。

圖4:使用形狀Maestro的多邊形細分實例。左邊的圖形顯示了來自主CPU的輸入控制多邊形,右邊的圖形顯示了我們的圖形硬件實時產(chǎn)生的多邊形。

圖5:映像Maestro實例(左邊:針對每個片段光照的凹凸映像,右邊:利用沒有任何紋理存儲器訪問的過程紋理硬件實現(xiàn)的木紋圖案)。

圖6:微粒 Maestro可以產(chǎn)生霧化、云和氣體效果。在我們的渲染算法中,清晰和模糊對象的組合沒有任何的瑕疵。

2:硬件框圖

這些Maestro技術(shù)通過算法優(yōu)化以及多個研究機構(gòu)的長期研究得以實現(xiàn)。目前我們正在向嵌入式系統(tǒng)引入PC級的圖形和經(jīng)驗。

硬件框圖

下面是圖形內(nèi)核的框圖。

在圖7中的所有紅色箭頭都指向了采用OCP的存儲器總線接口。

圖7:PICA200框圖。

在開發(fā)PICA200內(nèi)核的過程中解決了以下一些挑戰(zhàn):

1)為了涵蓋所有嵌入式系統(tǒng),IP內(nèi)核必須支持各種運行光譜的設(shè)備,包括從帶微型顯示屏的移動電話到帶很大顯示器的娛樂設(shè)備。

2)3D圖形硬件需要極大的帶寬用于命令、紋理、色彩和z緩沖器讀/寫訪問,而這種帶寬將確定3D IP內(nèi)核的性能,并且

3)IP內(nèi)核應能很容易地集成到SoC系統(tǒng)環(huán)境中。

為解決所有這些問題,我們決定采用OCP作為我們構(gòu)建模塊方案的標準接口基礎(chǔ)架構(gòu)。結(jié)果是,我們可以提供下面的選項來滿足用戶的需求(表1)。

以移動電話系統(tǒng)為例,要求支持OpenGL ES功能和VGA顯示器尺寸,功耗應該最小,因此在這種情況下,頂點處理器和紋理管線的數(shù)量需要分別優(yōu)化為兩個(當然這里的數(shù)量僅僅是一個例子)。Maestro功能的實現(xiàn)并不僅僅支持Open ES,因為在大量的蜂窩電話中不需要非標準的功能。紋理緩存參數(shù)也可以針對SoC總線特性進行優(yōu)化,因為事實上這些參數(shù)是由OCP標準自動提供的。在像娛樂游戲機這樣的應用中,所有Maestro功能都需要組件來支持更高質(zhì)量和吸引人的內(nèi)容以及高性能和大顯示器尺寸。

我們還采用了利用OCP線程協(xié)議的預取機制。這對于避免渲染管線的停頓以保持很高的渲染性能來說是很重要的。表2給出了在該圖形內(nèi)核中線程ID分配的實例,在這個例子中,內(nèi)核共有四個紋理模塊。

OCP2.2支持標示哪個線程允許失序響應,但是這個特殊DMP內(nèi)核并不支持失序處理,因為對色彩和深度緩沖器的訪問需要使用基于讀-修改-寫鎖定的訪問,對其它的訪問沒有針對失序訪問支持的邏輯和FIFO,以便生成小型IP內(nèi)核及支持上述各種應用。為了在沒有標示功能條件下獲得較好的存儲器訪問性能,這種圖形內(nèi)核針對基于模塊化的光柵化處理進行了優(yōu)化,所有從三角函數(shù)產(chǎn)生的象素都要通過4X4這樣的矩形塊處理,以便通過長突發(fā)長度訪問和數(shù)據(jù)訪問跟上對齊地址而充分利用存儲器訪問,并為紋理和色彩緩沖器獲得較高的緩存利用率。

3:OCP好處

使用OCP的最大好處是廣泛使用的行業(yè)標準是開放的,任何人都能得到。此外,大多數(shù)主要的SoC銷售商利用和支持OCP。這樣一來,我們可以根據(jù)協(xié)議在我們的接口和緩存中定義某些參數(shù),以優(yōu)化我們的用戶總線訪問接口和系統(tǒng)參數(shù),就像表1中的最后一行,這為IP提供商和SoC供應商同時提供了一種高層次的構(gòu)建模塊概念。

本文小結(jié)

這種內(nèi)核最早是在SIGGRAPH 2006上發(fā)布的(圖8),目前PICA200構(gòu)建內(nèi)核已經(jīng)能夠供貨。

圖8:在SIGGRAPH 2006上的FPGA原型展示。

我們多年來一直在為嵌入式應用開發(fā)3D圖形技術(shù),而利用OCP可以減少開發(fā)這種技術(shù)的時間和成本。對于IP內(nèi)核和SoC供應商來說,系統(tǒng)整合工作是一項非常耗時的工作。PICA200內(nèi)核不僅支持各種嵌入式應用,還通過利用基于OCP的構(gòu)建模塊方案優(yōu)化了每個系統(tǒng)的性能。OCP提供了能夠滿足上述設(shè)計挑戰(zhàn)所需的完整規(guī)范和基礎(chǔ)架構(gòu)。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18975

    瀏覽量

    302085
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7435

    瀏覽量

    163522
  • 電池
    +關(guān)注

    關(guān)注

    84

    文章

    10408

    瀏覽量

    128677
收藏 人收藏

    評論

    相關(guān)推薦

    FreeRTOS實時內(nèi)核實用指南

    FreeRTOS實時內(nèi)核實用指南
    發(fā)表于 09-18 08:02

    《RT-Thread 內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)—基于STM32》分享

    RT-Thread 內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)—基于STM32 基于STM32的論文+實戰(zhàn) 主要是RT-Thread
    發(fā)表于 01-29 15:29

    嵌入式微內(nèi)核實時操作系統(tǒng)的Wolf測試怎么實現(xiàn)?

    介紹嵌入式微內(nèi)核實時操作系統(tǒng)的體系結(jié)構(gòu);針對Wolf嵌入式操作系統(tǒng),設(shè)計一套微內(nèi)核嵌入式操作系統(tǒng)測試實現(xiàn)方案。在Wolf操作系統(tǒng)支持下,已產(chǎn)業(yè)化的閱讀不耗電電子書(eBook)驗證了W
    發(fā)表于 09-05 06:03

    RT-Thread 內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)指南

    RT-Thread 內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)指南
    發(fā)表于 04-03 11:43

    FreeRTOS內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)指南

    本書是野火嵌入式教學叢書“RTOS 內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)指南的”FreeRTOS 版本,其中機械工業(yè)出版社出版的《RT-Thread 內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)指南—基于 STM32》是該書的姐妹篇
    發(fā)表于 09-28 08:05

    嵌入式Linux內(nèi)核實時性研究及改進

    分析了嵌入式Linux 存在實時性缺陷的原因,從Linux 調(diào)度機制入手提出了可行的改進方案,并詳細闡述了代碼實現(xiàn)。經(jīng)測試,改進后的內(nèi)核實時性能得到很大提高。在嵌入式技術(shù)
    發(fā)表于 07-30 10:13 ?8次下載

    OCP互連一致方案應用

    基于STM32的USB OTG數(shù)據(jù)通信的實現(xiàn)_OCP互連有助于支持基于消息的一致方案。集中的一致管理器可以串化從單獨內(nèi)核發(fā)出的一致消息.
    發(fā)表于 09-09 10:27 ?1.3w次閱讀

    英特爾最小型內(nèi)核實現(xiàn)邊緣智能

    英特爾打造核心技術(shù)英特爾最小型內(nèi)核實現(xiàn)邊緣智能
    發(fā)表于 12-28 18:10 ?0次下載

    嵌入式內(nèi)核實

    嵌入式內(nèi)核實
    發(fā)表于 01-22 13:58 ?0次下載

    易于使用的TimerBlox系列的定時構(gòu)建模塊

    TimerBlox系列推出系列多功能,易于使用,精確的定時構(gòu)建模塊_zh
    的頭像 發(fā)表于 08-26 06:10 ?2615次閱讀

    FreeRTOS 內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)指南PDF電子書免費下載

    本書是野火嵌入式教學叢書“RTOS 內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)指南的”FreeRTOS 版本,其中機械工業(yè)出版社出版的《RT-Thread 內(nèi)核實現(xiàn)與應用開發(fā)實戰(zhàn)指南—基于 STM32》是該書的姐妹篇
    發(fā)表于 11-18 08:00 ?1688次下載
    FreeRTOS <b class='flag-5'>內(nèi)核實現(xiàn)</b>與應用開發(fā)實戰(zhàn)指南PDF電子書免費下載

    Linux內(nèi)核實現(xiàn)內(nèi)存管理的基本概念

    本文概述Linux內(nèi)核實現(xiàn)內(nèi)存管理的基本概念,在了解基本概念后,逐步展開介紹實現(xiàn)內(nèi)存管理的相關(guān)技術(shù),后面會分多篇進行介紹。
    發(fā)表于 06-23 11:56 ?783次閱讀
    Linux<b class='flag-5'>內(nèi)核實現(xiàn)</b>內(nèi)存管理的基本概念

    面向GPS的射頻IC構(gòu)建模塊解決方案

    本文介紹了用于實現(xiàn)GPS RF-to-IF接收器的Analog高性能CMOS和硅鍺(SiGe)構(gòu)建模塊RF IC系列。有許多商用的用于GPS應用的IF至基帶IC解決方案,許多公司選擇設(shè)計自己的專有
    的頭像 發(fā)表于 06-26 17:29 ?604次閱讀
    面向GPS的射頻IC<b class='flag-5'>構(gòu)建模塊</b>解決<b class='flag-5'>方案</b>

    物聯(lián)網(wǎng)的構(gòu)建模塊:構(gòu)建物聯(lián)網(wǎng)的技術(shù)和解決方案

    電子發(fā)燒友網(wǎng)站提供《物聯(lián)網(wǎng)的構(gòu)建模塊:構(gòu)建物聯(lián)網(wǎng)的技術(shù)和解決方案.pdf》資料免費下載
    發(fā)表于 11-22 10:39 ?0次下載
    物聯(lián)網(wǎng)的<b class='flag-5'>構(gòu)建模塊</b>:<b class='flag-5'>構(gòu)建</b>物聯(lián)網(wǎng)的技術(shù)和解決<b class='flag-5'>方案</b>

    內(nèi)核實時操作系統(tǒng)的介紹

    內(nèi)核實時操作系統(tǒng)(Microkernel Real-Time Operating System, μRTOS)是一種專為實時設(shè)計的操作系統(tǒng)。它采用微內(nèi)核架構(gòu),以提高系統(tǒng)的可靠性、安全性和可擴展性。以下是關(guān)于微內(nèi)核實時操作系統(tǒng)的
    的頭像 發(fā)表于 05-11 17:13 ?448次閱讀