国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3803|回復: 0
打印 上一主題 下一主題

話說STM32F4系列的總線矩陣與訪問調度

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2016-9-13 11:27:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: STM32F4 , 總線矩陣



可能不少人見過STM32F4系列的內部系統(tǒng)架構框圖。大致如下圖,該圖很重要,不可視而不見。





圖中縱橫交錯的就是多層AHB總線矩陣,負責把上方黃色主設備跟右邊綠色從設備互聯(lián)起來。所謂AHB主設備是指CPU或DMA[通用DMA或專用DMA],由它們啟動總線訪問,即讀寫操作。那些響應主設備讀寫訪問的設備就是AHB從設備,比如存儲器、各類外設等。

因為總線矩陣的存在,使得多個主設備可以并行訪問不同的從設備,增強了數(shù)據(jù)傳輸能力,提升了訪問效率,同時也改善了功耗性能。

不過,雖然總線矩陣使得多個主設備可以并行訪問不同的從設備,但在每個預定的時間內,只有一個主設備擁有總線控制權。如果有多個主設備同時出現(xiàn)總線請求時就得進行仲裁。所以總線矩陣里還有個AHB總線仲裁器,它保證每個時刻只有一個主設備通過總線矩陣對從設備進行訪問。(注1)

為了確保每個主設備訪問從設備的延遲盡量短,在總線矩陣里實行循環(huán)調度優(yōu)先級方案:

? 循環(huán)調度仲裁策略使總線帶寬合理分配。

? 限定最大延時。

? 循環(huán)調度以1 次傳輸為單位。

當多個AHB 主設備試圖同時訪問同一個AHB從設備時,總線矩陣仲裁器介入以解決訪問沖突。在下面的例子中CPU 和DMA1 均試圖訪問SRAM1 以讀取數(shù)據(jù)。





如上述示例總線訪問請求同時發(fā)生的情況下,就需要總線矩陣仲裁。為了解決這種問題,需要應用循環(huán)調度策略:如果本次最后贏得總線控制權的主設備是CPU,則在下一次訪問中DMA1將贏得總線控制權并首先訪問SRAM1。CPU 隨后方可有權訪問SRAM1。

這就表明,一個主設備的傳輸延時取決于其它等待請求訪問AHB 從設備的主設備數(shù)量。下面的例子是五個主設備試圖同時訪問SRAM1的情形:





DMA1再次獲得總線矩陣訪問權并訪問SRAM1 的延時等于其它等待請求的所有主設備的執(zhí)行時間之和。

我們再來看看進行總線矩陣仲裁可能導致的DMA傳輸延時最差情況。

主設備DMA端口進行一次數(shù)據(jù)傳輸會遭遇的延時取決于其它主設備的傳輸類型和長度。比如,我們結合上面的DMA1 & CPU 的例子,它們并行訪問SRAM。 DMA傳輸延時將隨著CPU 數(shù)據(jù)傳輸事務長度而變化。如果總線訪問首先給予CPU 且不是執(zhí)行單次數(shù)據(jù)加載/存儲,DMA 訪問SRAM 的等待時間可能從一個AHB 周期(單次數(shù)據(jù)加載/ 存儲時間)延長為N 個AHB 周期,這里N 為CPU 數(shù)據(jù)傳輸事務中數(shù)據(jù)的數(shù)量。

CPU 鎖定AHB 總線以保持其訪問總線的所有權,減少了多次加載/ 存儲操作過程中的延時以及進入中斷的延時。這提高了固件的響應能力,但是可能導致DMA 數(shù)據(jù)傳輸事務的延遲。

DMA1 與CPU 并行訪問SRAM 的延時取決于傳輸類型:

? 中斷(上下文保護)發(fā)起的CPU 傳輸:8 個AHB 周期;

? LDM/STM 指令發(fā)起的CPU 傳輸:14 個AHB 周期(注2)

---在多達14 個寄存器與存儲器之間進行傳輸;





上圖詳細描述了一個因中斷進入而導致DMA多周期傳輸延遲的情形。DMA 存儲器端口被觸發(fā),發(fā)出存儲器訪問請求。經(jīng)過仲裁, AHB 總線未授權DMA1 存儲器端口訪問,而由CPU 來訪問總線。可以看到在服務DMA 請求之前有一段額外的延時。這段中斷發(fā)起的CPU 傳輸,耗時為8 個AHB 周期。

不難理解,當同時對一個從設備進行尋址且數(shù)據(jù)傳輸事務長度不是一個數(shù)據(jù)單元時,其他主設備(如DMA2,USB_HS, Ethernet…)也會碰到類似情形。所以,為了提高DMA 對總線矩陣的訪問性能,要盡量回避總線競爭。

以上內容主要取材于ST官方應用筆記文檔AN4031的一部分。該筆記里除了上述內容外,還對STM32F2/F4的DMA傳輸路徑、DMA傳輸時間的估算、DMA編程都有較為細致的介紹。我這里算是拋磚引玉,有興趣的話可以去www.stmcu.com.cn 的設計資源區(qū)搜索下載AN4031。

(注1)并非所有主設備訪問從設備都得經(jīng)過總線矩陣,細心的人可能看到了有些主設備與從設備間有直通通道。細節(jié)詳見STM32芯片相關參考手冊。

(注2) 通過配置編譯器,將加載/ 存儲多重指令分解為單個加載/ 存儲指令,可以降低由LDM/STM 發(fā)起的傳輸?shù)难訒r。


您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一色屋色费精品视频在线看 | 日韩精品不卡| 性配久久久| 校花被扒开尿口折磨憋尿| 中国xxxx18免费| 与青春有关的日子完整版免费观看| 超碰视频在线观看| 免费观看的毛片| 伊人网站在线| 亚欧精品一区二区三区四区| 欧美国产日韩在线观看| 欧美性色黄大片在线观看| 婷婷色爱区综合五月激情韩国| 爽好舒服把腿张小说| 孕交欧美videos| 好男人的视频在线观看| 亚洲 欧美 国产在线视频| 亚洲欧洲久久久精品| 色悠久久久久综合欧美99| 说出你的心愿韩剧在线观看完整版 | 午夜国产大片免费观看| 色噜噜狠狠色综合久| 四虎精品| 总裁受夹震蛋h调教bl| 久久久精品成人免费看| 亚洲精品久久AV无码蜜桃 | 四虎自拍| 四虎影院免费在线| 午夜视频在线观看一区| porono日本xxx| 日本 一二三 不卡 免费| 手机看片一区二区| 热久久99影院| 伊人资源| 宅男最新导航国产入口| 久久精品电影久久电影大全| 亚洲中文在线偷拍| 午夜爽爽爽男女免费观看hd| 亚洲 欧美 中文 日韩欧美| 悠哉兽世生生种种田免费漫画| 国产免国产免费|