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