當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]一種以DMA控制器為基礎的SoC系統(tǒng)設計

  引言

  DMA(Direct Memory Access,直接存儲器存取)是一種快速傳送數(shù)據(jù)的機制。DMA控制器能夠有效替代微處理器的加載/存儲指令,顯著提高系統(tǒng)的并行能力。DMA是在存儲器與輸入/輸出設備間直接傳送數(shù)據(jù),是一種完全由硬件完成輸入/輸出操作的方式。數(shù)據(jù)傳遞可以從外設到內(nèi)存,從內(nèi)存到外設。但DMA控制器的引入也引進了影響系統(tǒng)響應速度的因素。本文講述以包含單個AHB master接口的DMA控制器為基礎的SoC系統(tǒng)架構藍本,分析存在的不足之處,并引入一種以新型DMA控制器為基礎的SoC系統(tǒng)架構的設計,解決提出的問題。

  1 對異步事件響應速度

  系統(tǒng)實時性是指能在限定時間內(nèi)完成任務,并對外部異步事件作出及時響應。限定時間根據(jù)應用的要求不同而變化。實時系統(tǒng)的實時性與使用的軟硬件平臺有關。嵌入式系統(tǒng)的中斷服務響應時間是指從某一個中斷源發(fā)出中斷服務請求,到處理器響應這個中斷源的中斷服務請求,并開始執(zhí)行這個中斷源的中斷服務程序所用的這一段時間。嵌入式操作系統(tǒng)中的進程調(diào)度是靠中斷實現(xiàn)的,處理器對系統(tǒng)中或系統(tǒng)外發(fā)生的異步事件的響應速度是決定系統(tǒng)響應速度的關鍵因素。中斷響應時間是一個非常重要的指標。特別是在實時計算機系統(tǒng)中,中斷響應時間是整個計算機系統(tǒng)的一個關鍵性指標。影響中斷服務響應的因素有很多,如中斷源本身相對于其他中斷源的優(yōu)先級設置。在內(nèi)核不適合或不可能使用中斷技術期間,不能進行中斷響應。因此這段時間也相當于一段中斷響應延時,DMA操作就是其中一個因素。因為DMA傳輸也相當于一種中斷,只不過它向處理器申請的是總線控制權,而不是處理器本身。在DMA傳輸期間,由于處理器要把總線控制權讓給DMA而失去總線控制權,盡管處理器可以做些不使用總線的工作,但肯定不會馬上響應來自總線的外部中斷請求,因此會造成較大的中斷延時。

  2 包含DMA的SoC系統(tǒng)架構

  2.1 DMA結構介紹

  一般而言,DMA控制器的功能與結構是由系統(tǒng)結構決定的。但是作為IP而言,DMA控制器又要有其一般性。DMA是指外部設備直接對計算機存儲器進行讀寫操作的I/O方式。這種方式下數(shù)據(jù)的讀寫無需處理器執(zhí)行指令,也不經(jīng)過處理器內(nèi)部寄存器,而是利用系統(tǒng)的數(shù)據(jù)總線,由外設直接對存儲器寫入或讀出,從而達到極高的傳輸效率。DMA技術的重要性在于,利用它進行數(shù)據(jù)存取時不需要處理器進行干預,可提高系統(tǒng)執(zhí)行應用程序的效率。利用DMA傳送數(shù)據(jù)的另一個好處是數(shù)據(jù)直接在源地址和目的地址之間傳送,不需要中間媒介。在大部分基于AMBA總線的SoC:系統(tǒng)中,當需要進行DMA操作時,DMA控制器先向處理器發(fā)出占用總線的請求,當總線請求成功后,處理器將總線使用權交給DMA控制器,可以進行數(shù)據(jù)傳輸,當此次DMA傳輸完成后DMA控制器釋放總線控制權。

  AMBA是ARM公司提出的用于微處理器片上通信的先進的總線結構。一種典型的AMBA總線由AHB和APB總線分段構成??偩€上的設備可以分為能夠主動讀寫的主設備(master)與只能接收來自master請求的從設備(slave)。針對DMA控制器的研究引出了新的SoC架構,如使用分布式Fly-by DMA結構,為數(shù)據(jù)吞吐量大的模塊預設專用通道等。從功耗的角度看,當系統(tǒng)中存在較多master模塊時,總線仲裁器的負擔加重,而仲裁器正是AMBA總線功耗的主要來源。

  2.2 包含AHB主從接口DMA控制器的SoC系統(tǒng)架構

  為了緩解在同一系統(tǒng)中需要同時實現(xiàn)大批量的數(shù)據(jù)傳輸,提出如圖1所示的基于AMBA總線的SoC系統(tǒng)架構。從圖中可以看出,系統(tǒng)處理器的數(shù)據(jù)接口與指令接口都是作為AHB的master掛接在AHB總線上。主存通過slave接口掛接在AHB總線上,而DMA控制器同時包含master與slave接口,掛接在AHB總線上。slave接口用來對DMA控制器內(nèi)部寄存器進行配置,master用來向AHB申請AHB總線控制權,并進行DMA傳輸。

  在圖1中Memory是通過AHB的slave接口掛在AHB總線上。DMA控制器包含的2個接口,slave接口完成DMA內(nèi)部寄存器的配置后,master接口可申請AHB總線使用權,當獲得許可后,開始占用AHB總線,實現(xiàn)DMA數(shù)據(jù)傳輸。如此使處理器從外設間的大批量數(shù)據(jù)傳輸解放出來,直接由DMA來完成,提高了數(shù)據(jù)傳輸放率。但也因此而產(chǎn)生了一個問題:當DMA占用AHB總線時處理器不能通過AHB接口去實現(xiàn)取指及讀寫數(shù)據(jù)。雖然在現(xiàn)在大部分處理器內(nèi)部或外部配備了容量較大的高速緩存(Cache),當DMA控制器占用內(nèi)存時,處理器仍可利用Cache中的程序和數(shù)據(jù)繼續(xù)運行;但Cache是利用程序的局部性原理,當處理器執(zhí)行的操作有良好的局部性時,在DMA占用AHB總線期間可以利用Cache里的指令和數(shù)據(jù)繼續(xù)運行,但若此時有設備產(chǎn)生中斷,此時處理器的PC指針就會產(chǎn)生跳轉,從而會產(chǎn)生Cache不能命中的情況。而AHB總線又被DMA控制器占據(jù),處理器不能對外取指,而且Cache的容量因成本問題不可能太大,從而影響處理器的效率。

  


 

  2.3 包含2個AHB從接口DMA控制器的新型SoC系統(tǒng)架構

  為了解決因圖1所示架構大批量數(shù)據(jù)傳輸而引入DMA產(chǎn)生的問題,提出了包含2個AHB接口的DMA控制器的SoC系統(tǒng)架構。在AHB總線上的sla-ve接口都是不能發(fā)起傳輸?shù)?,它的一切操作都是被動的。因此圖2中的DMA控制器的主要功能是提供需要進行DMA傳輸?shù)耐庠O接口與處理器讀寫主存的通道以及它們間優(yōu)先級設定。在此雙AHB從接口的DMA控制器中處理器優(yōu)先級永遠最高,其他外設通道都可以相互設置優(yōu)先級,而且除處理器外,為了防止同一個外設長期占用DMA總線的使用權,可對外設DMA通道設置回退(暫時釋放DMA總線)。如當通道2需要與Memory進行數(shù)據(jù)傳輸時,先向DMA控制申請總線使相應通道2的REQ信號有效,若DMA控制器允許通道2進行數(shù)據(jù)傳輸,則向通道2響應ACK應答信號。當通道2傳輸完,DMA控制回退長度的寄存器設定的值進入回退階段,若數(shù)據(jù)傳輸完成,則使REQ信號無效,否則繼續(xù)使REQ信號有效,并在回退期后當DMA總線空閑時參于DMA總線競爭。在總線空閑時只有不處于回退期間的最高優(yōu)先級的通道才能獲得DMA總線使用權,對Memory進行讀寫。

  

 

  經(jīng)過Design Compiler邏輯綜合,DMA控制器在SMIC0.18μm的工藝下,能夠達到AHB時鐘域90MHz。能滿足所設計SoC系統(tǒng)時鐘的要求。[!--empirenews.page--]

  2.4 2種架構性能對比

  在圖1所示架構中,每次DMA傳輸都要發(fā)起1次讀與1次寫操作。若在DMA傳輸期間有需要緊急處理的異常響應,AHB總線此時又被DMA控制器占用,則處理器只能等DMA控制器釋放AHB總線后才能占用AHB總線進行操作,影響處理器效率與系統(tǒng)對異步事件的響應速度。

  圖2中是通過DMA控制器的一個通道與Memory相接。DMA控制器包含2個AHB的slave接口,一個是用來對DMA控制器的內(nèi)部寄存器進行配置,而另一個是被處理器用來對Memory進行讀寫。首先處理器可以利用Cache中的指令與數(shù)據(jù)來運行,若出現(xiàn)沒命中的問題,也可以對AHB總線上其他存儲區(qū)域進行訪問,因為此時AHB總線沒有因DMA傳輸而被占據(jù)。并且除處理器通道外,對于其他所有通道的DMA傳輸都可以設置回退,

  從而使處理器在外設DMA傳輸期間盡快獲得DMA總線,對掛接在DMA控制器上的Memory能盡快進行讀寫,從而提高處理器的效率。當異常中斷發(fā)生時,處理器也能盡快對響應中斷,提高系統(tǒng)對異步事件的響應速度,從而提高系統(tǒng)的實時性。這樣的架構在一定程度上解決了上述架構所產(chǎn)生的影響處理器效率的問題。

  3 總結

  通過對2種不同架構的分析得出,包含雙從AHB接口DMA技術的SoC系統(tǒng)架構,不僅解決了外設與Memory間的大批量數(shù)據(jù)傳輸問題,同時又解決了因DMA技術的引入而帶來的處理器對異步事件響應速度過慢及處理器效率變低的問題,提高了對異常中斷的響應速度,使系統(tǒng)更加適用于硬實時系統(tǒng)。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉