色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          stm32 DMA性能資料

          作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
          為了快速傳送一個(gè)數(shù)據(jù)塊,使用 DMA 傳送程序(Mem to Mem 16bits) 測(cè)量了一下傳送的時(shí)間,128個(gè)16b數(shù)據(jù)大約用了12us (72Mhz 時(shí)鐘)。 換句話來(lái)說(shuō),STM32 DMA 性能為10M/s


          又使用memcpy 來(lái)比對(duì)一下,用時(shí)約4us ,顯然memcpy 要快很多。

          btw, 在ST的手冊(cè)里面未見(jiàn)對(duì)DMA性能的表述。

          本文引用地址:http://cafeforensic.com/article/201611/321188.htm

          ----------------------------------

          DMA傳送數(shù)據(jù)的速度不會(huì)比CPU直接傳送數(shù)據(jù)快,因?yàn)榭?/p>

          線頻率沒(méi)有變。

          當(dāng)CPU也在運(yùn)行執(zhí)行指令時(shí),DMA傳送數(shù)據(jù)的速度會(huì)比CPU直接傳送數(shù)據(jù)慢,這是因?yàn)镈MA與CPU分時(shí)使用同一條總線的緣故。

          ----------------------------------

          有一個(gè)專門(mén)講DMA性能的手冊(cè)的,你可以在官網(wǎng)上找到的
          里面對(duì)DMA的性能描述得很清楚
          AN2548 Using the STM32F101xx and STM32F103xx DMA controller

          ----------------------------------------

          這個(gè)說(shuō)法有點(diǎn)問(wèn)題
          DMA數(shù)據(jù)傳送是memory->memory
          memcpy是memory -> cpu_internal_register -> memory

          memcpy快應(yīng)該是因?yàn)?. memcpy采用了ldm/stm指令,這個(gè)對(duì)提高速度很有幫助 2. 總線仲裁偏袒cpu core

          ---------------------------------------

          恩............ DMA控制器并不在memory之內(nèi)?我想你的意思是指MASTER DMA吧,像PCI那樣。但即使是legacy dma,由dma controller通過(guò)硬件的方式存取memory在通常情況下也應(yīng)該比cpu快,因?yàn)椴恍枰≈?解碼/執(zhí)行這樣的流程。不過(guò)stm32的 controller不支持bust mode確實(shí)對(duì)其速度有很大影響,而ldm/stm指令實(shí)際上起到了bust mode的作用,可以在一次取指/解碼/執(zhí)行過(guò)程中操作多個(gè)數(shù)據(jù)。如果controller支持burst,相信就可以超越memcpy的速度了。目前來(lái)看stm32 dma的速度確實(shí)不如memcpy,其最大的好處在于cpu可以不參與其過(guò)程。

          -----------------------------------

          非常同意byeyear 的解釋,順便問(wèn)一句,其他品牌的M3的DMA是否也不支持 burst 模式?

          ------------------------------------

          DMA并不一定快,只是提高了有效代碼的運(yùn)行效率。



          關(guān)鍵詞: stm32DMA性能資

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉