一種以DMA控制器為基礎(chǔ)的SoC系統(tǒng)設(shè)計(jì)
2.4 2種架構(gòu)性能對(duì)比
在圖1所示架構(gòu)中,每次DMA傳輸都要發(fā)起1次讀與1次寫(xiě)操作。若在DMA傳輸期間有需要緊急處理的異常響應(yīng),AHB總線此時(shí)又被DMA控制器占用,則處理器只能等DMA控制器釋放AHB總線后才能占用AHB總線進(jìn)行操作,影響處理器效率與系統(tǒng)對(duì)異步事件的響應(yīng)速度。
圖2中是通過(guò)DMA控制器的一個(gè)通道與Memory相接。DMA控制器包含2個(gè)AHB的slave接口,一個(gè)是用來(lái)對(duì)DMA控制器的內(nèi)部寄存器進(jìn)行配置,而另一個(gè)是被處理器用來(lái)對(duì)Memory進(jìn)行讀寫(xiě)。首先處理器可以利用Cache中的指令與數(shù)據(jù)來(lái)運(yùn)行,若出現(xiàn)沒(méi)命中的問(wèn)題,也可以對(duì)AHB總線上其他存儲(chǔ)區(qū)域進(jìn)行訪問(wèn),因?yàn)榇藭r(shí)AHB總線沒(méi)有因DMA傳輸而被占據(jù)。并且除處理器通道外,對(duì)于其他所有通道的DMA傳輸都可以設(shè)置回退,
從而使處理器在外設(shè)DMA傳輸期間盡快獲得DMA總線,對(duì)掛接在DMA控制器上的Memory能盡快進(jìn)行讀寫(xiě),從而提高處理器的效率。當(dāng)異常中斷發(fā)生時(shí),處理器也能盡快對(duì)響應(yīng)中斷,提高系統(tǒng)對(duì)異步事件的響應(yīng)速度,從而提高系統(tǒng)的實(shí)時(shí)性。這樣的架構(gòu)在一定程度上解決了上述架構(gòu)所產(chǎn)生的影響處理器效率的問(wèn)題。
3 總結(jié)
通過(guò)對(duì)2種不同架構(gòu)的分析得出,包含雙從AHB接口DMA技術(shù)的SoC系統(tǒng)架構(gòu),不僅解決了外設(shè)與Memory間的大批量數(shù)據(jù)傳輸問(wèn)題,同時(shí)又解決了因DMA技術(shù)的引入而帶來(lái)的處理器對(duì)異步事件響應(yīng)速度過(guò)慢及處理器效率變低的問(wèn)題,提高了對(duì)異常中斷的響應(yīng)速度,使系統(tǒng)更加適用于硬實(shí)時(shí)系統(tǒng)。
評(píng)論