探索ARM Cortex-M7核心:為明日物聯網預做準備
摘要:本技術白皮書將詳細闡述Cortex-M7處理器,探討在設計核心時面臨的架構考量、以及關于配置選項的信息,同時也說明它在IoT應用中的重要性。此信息適用于希望對處理器本身有更深一步了解的人士、或有興趣從事嵌入式系統設計和軟件開發的專業人士。
本文引用地址:http://www.j9360.com/article/277715.htmCortex-M 處理器系列的最新成員是Cortex-M7。這款新的核心具備可用于支持新型嵌入式技術需求的功能,它設計用于需要較高處理性能、實時響應能力和能效的應用。總體而言,Cortex-M7 處理器包含下列關鍵特性:
● 高性能、雙指令簽發 6 級流水線,每個時鐘周期最多可執行兩個指令;
● 64 位AXI 系統總線接口;
● 可選指令緩存(4 到 64KB)及數據緩存(4 到 64KB),每種緩存內存均有可選的 ECC(錯誤校正碼)支持;
● 可選 64 位指令緊密耦合內存(ITCM)及可選雙 32 位數據 TCM(D{0,1}TCM),每個TCM內存陣列均支持客戶ECC實現;
● 可選的低延遲 AHB 外設總線接口,允許在實時應用程序中對外設進行確定性的快速訪問。
ARM Cortex-M7 處理器配置選項
Cortex-M7 處理器的微架構與 Cortex-M 處理器系列中的其他核心不同。Cortex-M7的微架構具有6級超標量流水線實現,通過改善架構性能(減少每個指令周期數)和提升運行頻率,大幅改善系統性能。為支持超標量設計更高的指令和數據帶寬要求,其關鍵內存接口設計為64位寬度。AXI 系統總線和單周期 ITCM 接口均為64位,雙32位 D-TCM 接口可以在一個周期內處理兩個32位傳輸或一個64位數據傳輸。表1總結了Cortex-M7處理器微架構中的總線,強調了新接口與前代 ARM Cortex-M 系列設備的對比。
在支持許多IoT應用所需的內存擴展性時,AXI主控器接口可發揮重要的功能。由于新的使用模型建立于持續收集和分析的數據基礎上,因此能夠利用外部內存來增加功能性顯得至關重要。除了AXI主機接口外,TCM接口也提供最優的單周期接口,用于執行控制所需的實時運算。若要支持超過5 CoreMarks/MHz的處理器性能級別,高性能內存和總線接口則至關重要。
選擇要在SoC中使用哪些總線以及如何加以利用時,需要考慮多個要素,其中包括:
● 哪些外設需要連接Cortex-M7處理器上的AHB外設總線,來實現低延遲訪問能力?
● 哪些外設需要由DMA控制器訪問?
● 需要哪些形式的訪問控制和內存保護?
舉例來說,在非常簡單的設計中,內存系統可以連接至TCM接口,外設可以連接至AHB 外設接口,如圖2所示。這種配置使得SoC不僅能夠利用Cortex-M7核心的可縮放性能,而且仍然能夠應對與成本和尺寸相關的挑戰。例如,通過SRAM與TCM接口的連接,可以活動支持,實現需要實時性能的控制邊緣節點。
另一種配置選項是將嵌入式內存和(或)外部內存與AXI接口連接,并通過使用緩存內存來實現更高的性能。大多數微控制器應用包含許多小的控制循環,因此固件執行的緩存未命中數非常低。使用基于緩存的設計時,系統在從AXI總線系統執行程序時的確定性可能較低。不過,可以在與ITCM接口連接的SRAM中,放入異常矢量表和中斷處理程序,從而實現在執行中斷處理程序時的確定行為。
AXI接口和緩存的內存可擴展性、性能以及效率優勢是滿足應用需求的關鍵所在。此類配置提供與IoT應用相符的諸多優勢,如支持無線固件更新和利用大型外部內存的數據存儲需求。然而,并非所有應用案例都需要每個選項,所以必須要考量與成本、尺寸和功耗相關的挑戰。
內存系統的設計可以提供各種各樣的配置選項。需要考慮多個方面和因素,其中包括:
● 來自AXI或TCM接口的執行;
● 緩存大小(如果使用AXI);
● 嵌入式閃存訪問加速的方式,以及閃存的帶寬;
● 可選ECC支持。
許多不同因素可以影響到決策,如嵌入式閃存的讀取訪問速度,時鐘速度要求,以及目標應用的典型大小及其程序流行為。
物聯網相關文章:物聯網是什么
評論