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

          新聞中心

          EEPW首頁 > 網(wǎng)絡與存儲 > 設計應用 > 最小化ARM Cortex-M CPU功耗的方法與技巧

          最小化ARM Cortex-M CPU功耗的方法與技巧

          作者:MattSaunders 時間:2015-04-27 來源:電子產品世界 收藏

            1 理解Thumb-2

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

            首先,讓我們從一個看起來并不明顯的起點開始討論節(jié)能技術—指令集。所有 都使用Thumb-2指令集,它融合了32位指令集和16位Thumb指令集,并且為原始性能和整體代碼大小提供了靈活的解決方案。在內核上一個典型的Thumb-2應用程序與完全采用指令完成的相同功能應用程序相比,代碼大小減小到25%之內,而執(zhí)行效率達到90%(當針對運行時間進行優(yōu)化后)。

            Thumb-2中包含了許多功能強大的指令,能夠有效減少基礎運算所需的時鐘周期數(shù)。減少時鐘周期數(shù)意味著現(xiàn)在你能夠以更少的功耗完成手頭的工作。例如,假設要完成一個16位乘法運算(如圖1所示)。在一個8位8051內核的上執(zhí)行這個運算將需要48個時鐘周期,并占用48字節(jié)的Flash存儲空間。使用一個16位內核的(例如C166)執(zhí)行相同的運算需要8個時鐘周期,并占用8字節(jié)的Flash存儲空間。相比之下,在使用Thumb-2指令集的3內核中完成相同運算僅僅需要1個時鐘周期,并占用2字節(jié)的Flash存儲空間。Cortex-M3內核能夠通過使用更少時鐘周期完成相同任務,節(jié)省了能耗;同時也能夠通過占用極少的Flash存儲空間,減少Flash訪問次數(shù),實現(xiàn)最終能耗節(jié)省的目標(除此之外,更小的應用代碼也使得系統(tǒng)可以選擇更小的Flash,進一步降低整體系統(tǒng)功耗)。

            2 中斷控制器節(jié)能技術

            Cortex-M架構中的中斷控制器(Nested Vectored Interrupt Controller or NVIC)在降低功耗方面也起著關鍵作用。以前的7-TDMI需要“多達”42個時鐘周期,Cortex-M3 NVIC從中斷請求發(fā)生到執(zhí)行中斷處理代碼僅需要12個時鐘周期的轉換時間,這顯然提高了CPU執(zhí)行效率,降低了CPU時間浪費。除了更快進入中斷處理程序之外,NVIC也使得中斷之間切換更加高效。

            在ARM7-TDMI內核實現(xiàn)中,需要先花費數(shù)個時鐘周期從中斷處理程序返回主程序,然后再進入到下一個中斷處理程序中,中斷服務程序之間的“入棧和出棧(push-and-pop)”操作就要消耗多達42個時鐘周期。而Cortex-M NVIC采用更有效的方法實現(xiàn)相同任務,被稱為“末尾連鎖(tail-chaining)”。這種方法使用僅需6個時鐘周期處理就能得到允許,進入下一個中斷服務程序的所需信息。采用末尾連鎖,不需要進行完整的入棧和出棧循環(huán),這使得管理中斷過程所需的時鐘周期數(shù)減少65%(如圖2所示)。

            3 節(jié)能注意事項

            存儲器接口和存儲器加速器能夠明顯影響CPU功耗。代碼中的分支和跳轉可能會對為CPU提供指令的流水線產生刷新影響,在這種情況下CPU需要延遲幾個時鐘周期以等待流水線重新完成填充。在Cortex-M3或Cortex-M4內核中,CPU配備了一條3級流水線。刷新整條流水線將導致CPU延遲3個時鐘周期,如果有Flash存儲器等待狀態(tài)發(fā)生,時間會更長,以便完成重新填充過程。這些延遲完全浪費功耗,沒有任何功用。為了幫助減少延遲,Cortex-M3和M4內核包括一個被稱為推測取指(Speculative Fetch)的功能,即它在流水線中對分支進行取指的同時也取指可能的分支目標。如果可能的分支目標命中,那么推測取指能夠把延遲降低到1個時鐘周期。雖然這個特性是有用的,但顯然不夠,許多Cortex-M產品供應商都增加了自己的IP以增強這個能力。

          存儲器相關文章:存儲器原理



          上一頁 1 2 3 下一頁

          關鍵詞: ARM Cortex-M CPU 存儲器 MCU

          評論


          相關推薦

          技術專區(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); })();