一種提高系統(tǒng)響應(yīng)速度的SoC系統(tǒng)架構(gòu)
為了解決因圖1所示架構(gòu)大批量數(shù)據(jù)傳輸而引入DMA產(chǎn)生的問題,提出了包含2個(gè)AHB接口的DMA控制器的SoC系統(tǒng)架構(gòu)。在AHB總線上的sla-ve接口都是不能發(fā)起傳輸?shù)?,它的一切操作都是被?dòng)的。因此圖2中的DMA控制器的主要功能是提供需要進(jìn)行DMA傳輸?shù)耐庠O(shè)接口與處理器讀寫主存的通道以及它們間優(yōu)先級(jí)設(shè)定。在此雙AHB從接口的DMA控制器中處理器優(yōu)先級(jí)永遠(yuǎn)最高,其他外設(shè)通道都可以相互設(shè)置優(yōu)先級(jí),而且除處理器外,為了防止同一個(gè)外設(shè)長期占用DMA總線的使用權(quán),可對(duì)外設(shè)DMA通道設(shè)置回退(暫時(shí)釋放DMA總線)。如當(dāng)通道2需要與Memory進(jìn)行數(shù)據(jù)傳輸時(shí),先向DMA控制申請(qǐng)總線使相應(yīng)通道2的REQ信號(hào)有效,若DMA控制器允許通道2進(jìn)行數(shù)據(jù)傳輸,則向通道2響應(yīng)ACK應(yīng)答信號(hào)。當(dāng)通道2傳輸完,DMA控制回退長度的寄存器設(shè)定的值進(jìn)入回退階段,若數(shù)據(jù)傳輸完成,則使REQ信號(hào)無效,否則繼續(xù)使REQ信號(hào)有效,并在回退期后當(dāng)DMA總線空閑時(shí)參于DMA總線競(jìng)爭(zhēng)。在總線空閑時(shí)只有不處于回退期間的最高優(yōu)先級(jí)的通道才能獲得DMA總線使用權(quán),對(duì)Memory進(jìn)行讀寫。
經(jīng)過Design Compiler邏輯綜合,DMA控制器在SMIC0.18μm的工藝下,能夠達(dá)到AHB時(shí)鐘域90MHz。能滿足所設(shè)計(jì)SoC系統(tǒng)時(shí)鐘的要求。
2.4 2種架構(gòu)性能對(duì)比
在圖1所示架構(gòu)中,每次DMA傳輸都要發(fā)起1次讀與1次寫操作。若在DMA傳輸期間有需要緊急處理的異常響應(yīng),AHB總線此時(shí)又被DMA控制器占用,則處理器只能等DMA控制器釋放AHB總線后才能占用AHB總線進(jìn)行操作,影響處理器效率與系統(tǒng)對(duì)異步事件的響應(yīng)速度。
圖2中是通過DMA控制器的一個(gè)通道與Memory相接。DMA控制器包含2個(gè)AHB的slave接口,一個(gè)是用來對(duì)DMA控制器的內(nèi)部寄存器進(jìn)行配置,而另一個(gè)是被處理器用來對(duì)Memory進(jìn)行讀寫。首先處理器可以利用Cache中的指令與數(shù)據(jù)來運(yùn)行,若出現(xiàn)沒命中的問題,也可以對(duì)AHB總線上其他存儲(chǔ)區(qū)域進(jìn)行訪問,因?yàn)榇藭r(shí)AHB總線沒有因DMA傳輸而被占據(jù)。并且除處理器通道外,對(duì)于其他所有通道的DMA傳輸都可以設(shè)置回退,
從而使處理器在外設(shè)DMA傳輸期間盡快獲得DMA總線,對(duì)掛接在DMA控制器上的Memory能盡快進(jìn)行讀寫,從而提高處理器的效率。當(dāng)異常中斷發(fā)生時(shí),處理器也能盡快對(duì)響應(yīng)中斷,提高系統(tǒng)對(duì)異步事件的響應(yīng)速度,從而提高系統(tǒng)的實(shí)時(shí)性。這樣的架構(gòu)在一定程度上解決了上述架構(gòu)所產(chǎn)生的影響處理器效率的問題。
3 總結(jié)
通過對(duì)2種不同架構(gòu)的分析得出,包含雙從AHB接口DMA技術(shù)的SoC系統(tǒng)架構(gòu),不僅解決了外設(shè)與Memory間的大批量數(shù)據(jù)傳輸問題,同時(shí)又解決了因DMA技術(shù)的引入而帶來的處理器對(duì)異步事件響應(yīng)速度過慢及處理器效率變低的問題,提高了對(duì)異常中斷的響應(yīng)速度,使系統(tǒng)更健壯。
評(píng)論