32位內(nèi)核與基于微控制器存儲架構(gòu)的集成
圖 2.2 顯示了一個簡單的有 8 塊、單路的高速緩存設(shè)計,1 塊有 16 個字節(jié)。雖然這么小的高速緩存很難實現(xiàn),但它對指令執(zhí)行很有用。在這種情況下,地址標(biāo)記將是整個地址的高 12 位,而索引將是尋址高速緩存塊內(nèi)的特定條目的余下的兩位。
與指令預(yù)取緩沖器相比,指令高速緩存系統(tǒng)具有更復(fù)雜的地址比較系統(tǒng),因為該高速緩存陣列不僅包括每個高速緩存塊的連續(xù)尋址指令,而且可以將指令地址空間的任何區(qū)域包含在高速緩存塊內(nèi)。
為了讓高速緩存更有效地工作,在閃存器件和指令高速緩存之間應(yīng)當(dāng)實現(xiàn)盡量寬的數(shù)據(jù)通道,保證內(nèi)核能夠以最快的速度執(zhí)行程序指令。指令高速緩存在與閃存器件的接口上實現(xiàn)了一個指令預(yù)取機制來解決這個問題。否則,閃存存取時間的問題就會影響內(nèi)核執(zhí)行速度。
在正常執(zhí)行過程中,所需的指令地址高位和高速緩存陣列的指令標(biāo)記間開始一連串的比較。如果找到匹配的地址,高速緩存命中即被寄存,指令地址的低位將被用于高速緩存塊內(nèi)的索引,以找回所需的指令。如果沒有發(fā)現(xiàn)匹配的地址,就是我們所說的高速緩存不命中。高速緩存不命中將導(dǎo)致高速緩存控制器從存儲區(qū)的特定區(qū)域讀入包含所需指令的緩存塊。被替代的高速緩存塊通常是陣列中最舊的高速緩存塊。
當(dāng)使用高速緩存時,基本性能分析變得更加復(fù)雜,因為這時高速緩存不命中數(shù)在方程里引入了一個新的變量。分析典型應(yīng)用代碼可幫助芯片設(shè)計人員確定高速緩存大小和實際性能增益的最佳平衡。
對于我們的設(shè)計,假定 CPI 將在以下范圍內(nèi)是比較合理的:
= CPI (cache) = 2.0
在高速緩存大得足夠存儲大多數(shù)應(yīng)用主程序的情況下,性能增益可能非常顯著,因為系統(tǒng)正在接近 0 等待狀態(tài)執(zhí)行環(huán)境。
采用改良的哈佛架構(gòu)(Modified Harvard Architecture)設(shè)計的指令高速緩存的一個重要優(yōu)勢是高速緩存無需執(zhí)行回寫操作。與數(shù)據(jù)高速緩存相比,這種實現(xiàn)要簡單的多,數(shù)據(jù)緩存還要保證改動過的高速緩存數(shù)據(jù)正確地存儲進主數(shù)據(jù)存儲器。
改進的設(shè)計
我們現(xiàn)在可以把學(xué)到的知識應(yīng)用于我們系統(tǒng)的第一個框圖,并從預(yù)取/指令高速緩存緩沖器系統(tǒng)提供的增益中獲益。詳見以下的圖 3。
與之前的16位設(shè)計相比,新設(shè)計能夠以三倍的速度(120 MHz / 2.0 CPI(預(yù)取)/ 20 MHz(16 位時鐘)執(zhí)行指令,通過適當(dāng)選擇最終指令高速緩存的大小,很容易就能實現(xiàn)非常接近單等待狀態(tài)閃存系統(tǒng)運行的性能。
雖然指令預(yù)取緩沖器是一種簡單的實現(xiàn),但它通過屏蔽閃存和 32 位內(nèi)核執(zhí)行速度之間的存取時間差異,顯著地改善了系統(tǒng)吞吐量。預(yù)取緩沖器是一個非常簡單的設(shè)計,只需要很少的額外邏輯。大部分額外邏輯與擴展閃存系統(tǒng)和預(yù)取緩沖存儲器之間的通道有關(guān)。設(shè)計的簡單有利于它完全透明地展示給軟件程序員,他們只需允許或禁用該功能就可以了。
形式指令高速緩存是一種更復(fù)雜的解決方案,需要至少與預(yù)取緩沖器相同數(shù)量的額外邏輯電路,以及管理指令高速緩存正常運行的額外邏輯電路。設(shè)計人員需要分析 MCU 運行的典型應(yīng)用,以確定能夠最好地平衡性能和成本的高速緩存大小。當(dāng)然,指令高速緩存部署更為昂貴,但是在許多情況下,系統(tǒng)實現(xiàn)的性能可達到 0 等待狀態(tài)系統(tǒng),對性能產(chǎn)生顯著的積極作用。軟件程序員還必須了解與指令高速緩存有關(guān)的一些基本控制和維護問題,但是在大多數(shù)情況下,它們可以一勞永逸地運行,只是在系統(tǒng)初始化時才需要執(zhí)行。
只用新的 32 位器件直接替代現(xiàn)有的 8 位或 16 位內(nèi)核是不夠的。芯片設(shè)計人員還必須調(diào)整和改進整個 MCU 設(shè)計,以適應(yīng)高性能、高速度 32 位內(nèi)核的新要求。我們需要這樣的調(diào)整來確保新的 32 位內(nèi)核能夠釋放最高性能。采用預(yù)取緩沖器和指令高速緩存是改進微控制器設(shè)計的兩個直接途徑,微控制器與 32 位內(nèi)核和現(xiàn)有存儲器技術(shù)直接相關(guān)。
評論