高性能32位內核與基于微控制器存儲架構的集成
32位內核——工作頻率
新內核的最高工作時鐘頻率為120MHz,是被替代的16位內核速度的六倍。
32位內核——指令存儲器接口
指令存儲系統接口有一個32位寬的數據總線,以及一個總共地址空間為1MB的20位寬的地址總線。盡管 32位內核具備更大的地址空間,而這足夠滿足這個MCU的目標應用空間。標準的控制信號同樣具備為緩慢的存儲器件插入等待狀態的能力。
該設計的閃存器件與16位設計采用的技術一樣,最高運行速度達20 MHz。
32 位內核——數據存儲器接口
系統 SRAM 和存儲器映射外設都通過系統控制器與處理器數據總線相連。系統控制器可提供額外的地址解碼及其他控制功能,幫助處理器內核正確訪問數據存儲器或存儲器映射外設,而無需處理特定的等待狀態、不同的數據寬度或每個映射到數據存儲空間的器件的其他特殊需求。
系統控制器和處理器內核之間的數據總線為 32 位寬,與系統控制器和SRAM 間的數據總線寬度相同。系統控制器和外設以及 GPIO 端口間的數據總線寬度可為 8 位、16 位或 32 位,視需求而定。
目標設計采用的 SRAM 與 16 位設計采用的類型相同,在 120 MHz時可實現 0 等待狀態操作。
初步分析
目前系統的性能由幾個因素控制。處理器內核與閃存器件速度的差異可極大地影響性能,因為至少有五個等待狀態必須添加到每個指令提取中。根據粗粒經驗法則,至少每十個指令有一個讀取或存儲。每條指令加權平均周期(CPI)的典型順序為:
CPI = (9 inst * 6 閃存周期 + 1 inst *1 SRAM周期) / 10 指令
CPI = 5.5
內核的吞吐量由閃存接口的速度決定,因此以前所有的32位內核都是數據通道寬度的兩倍。
在這種情況下,SRAM接口無關緊要。雖然某些問題很有可能源于存儲接口方面,如中斷延遲和原子位處理,SRAM存儲器的零等待狀態操作可以忽略。關注的重點是通過采用目前可用的、具有成本效益的技術,來提高指令存儲接口的性能。
提高CPU內核性能——閃存接口
來自高性能計算環境的一個通用概念是高速緩存,在主要存儲器件和處理器內核之間采用更小及更快的內存存儲,可以實現突發數據或程序指令的更快訪問。
設計和實現高速緩存可能非常復雜——需要考慮高速緩存標記、N-Way級聯和普通高速緩存控制等問題——僅關注程序指令存儲器可讓這項工作變得非常簡單。這是因為對此特定的 32 位內核來說,對程序存儲器的訪問是一個嚴格的只讀操作。在這種情況下,我們只需考慮一個方向的數據流可以減少緩沖器和高速緩存系統的復雜性。
預取緩沖器
增加閃存接口總體帶寬的一個簡單方法是擴展處理器和閃存器件間的通道寬度。假定閃存的速度一定,增加帶寬的另外一個方法是擴展接口寬度,以實現一次提取更多指令,創造一個更為快速的閃存接口外觀。
這是預取緩沖器的一個基本前提。它利用了連接閃存的更寬接口的優勢,可在同樣的時鐘周期數內讀取更大的數據量,這通常只要花閃存讀一個字的時間。
因此,預取緩沖器還定義了新數據通道的最小尺寸,原因顯而易見。
圖2.1顯示了我們的120 MHz內核連接到20 MHz閃存陣列的情況。采用兩個系統間的速度比作為起始值,我們可以確定預取緩沖器、閃存接口讀取的寬度,假設我們需要在無需等待狀態的情況下讀取指令。

圖2.1 指令預取
評論