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