<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種提高系統(tǒng)響應速度的SoC系統(tǒng)架構

          一種提高系統(tǒng)響應速度的SoC系統(tǒng)架構

          作者: 時間:2012-05-23 來源:網絡 收藏
          2.3 包含2個AHB從接口DMA控制器的新型

          本文引用地址:http://www.ex-cimer.com/article/149003.htm

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

            

            經過Design Compiler邏輯綜合,DMA控制器在SMIC0.18μm的工藝下,能夠達到AHB時鐘域90MHz。能滿足所設計時鐘的要求。

            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中的指令與數據來運行,若出現沒命中的問題,也可以對AHB總線上其他存儲區(qū)域進行訪問,因為此時AHB總線沒有因DMA傳輸而被占據。并且除處理器通道外,對于其他所有通道的DMA傳輸都可以設置回退,

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

            3 總結

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


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();