STM32-F2系列微控制器
- 有3條內(nèi)核總線的ARM Cortex-M3內(nèi)核
- 2個(gè)DMA控制器
- 高速 USB主設(shè)備控制器
- 10/100以太網(wǎng) MAC控制器
上圖中的黑點(diǎn)代表在這個(gè)7層總線結(jié)構(gòu)中總線主控制器與從控制器的全部接口。為提高系統(tǒng)的能效,SRAM存儲(chǔ)器被分成兩個(gè)存儲(chǔ)區(qū)SRAM1和SRAM2,SRAM1用于保存基本協(xié)議棧和變量,而SRAM2則用作通信外設(shè)的幀緩沖區(qū)。以太網(wǎng)和USB外設(shè)都占用了幾千字節(jié)的FIFO存儲(chǔ)空間,而且分別擁有一個(gè)各自專用的DMA控制器。
除多個(gè)SRAM分區(qū)外,該系統(tǒng)還有兩個(gè)AHB總線從控制器。同樣地,這樣的配置準(zhǔn)許不同的總線主控制器并行處理和同步訪問(wèn)不同的高速外設(shè),例如,加密處理器和通用輸入輸出端口。AHB從控制器和DMA控制器都是雙端口,這樣設(shè)計(jì)準(zhǔn)許在AHB總線上直接連接DMA控制器與高速外設(shè),避免在總線矩陣和二級(jí)高速至低速橋上因延遲而降低性能。
外部存儲(chǔ)器接口又稱“靜態(tài)存儲(chǔ)控制器”,可直接連接不同的異步和同步存儲(chǔ)器、NOR/NAND閃存、SRAM、偽SRAM,甚至還能連接一個(gè)液晶顯示器控制器,外存接口總線頻率最高60MHz,還能通過(guò)指令總線(I-bus)獲取CPU內(nèi)核指令。
存儲(chǔ)器加速器
意法半導(dǎo)體的自適應(yīng)實(shí)時(shí)(ART)存儲(chǔ)器加速器(如上圖所示)可讓Cortex-M3內(nèi)核釋放最高的處理性能,雖然閃存本身需要等待狀態(tài),但是,引入這項(xiàng)技術(shù)后,STM32-F2以120 MHz的速度從閃存執(zhí)行代碼無(wú)等待狀態(tài)。
存儲(chǔ)器接口是128位寬,每次可取4-8條THUMB2指令。如果執(zhí)行線性代碼,因?yàn)轭A(yù)取指功能,即便閃存速度只是內(nèi)核的四分之一,代碼執(zhí)行也不會(huì)出現(xiàn)等待狀態(tài)。
然而,如果執(zhí)行轉(zhuǎn)移或跳轉(zhuǎn)指令,需要立即取出轉(zhuǎn)移或跳轉(zhuǎn)目標(biāo)地址的數(shù)據(jù),這樣,存儲(chǔ)器的等待狀態(tài)會(huì)增加系統(tǒng)開銷,這就是ART及其64項(xiàng)高速指令緩存發(fā)揮作用的地方。如果非順序指令第一次出現(xiàn),這條指令將從存儲(chǔ)器中取出并保存在64項(xiàng)高速緩存的一個(gè)存儲(chǔ)項(xiàng)內(nèi)。在下一次出現(xiàn)時(shí),該指令將從高速緩存中直接取出,沒有等待狀態(tài)。
評(píng)論