高性能32位內(nèi)核與基于微控制器存儲架構(gòu)的集成
在這種情況下,預(yù)取/閃存數(shù)據(jù)通道將是:
(120/20)X32位=192位寬
預(yù)取緩沖器控制邏輯不斷對存取緩沖器的讀取數(shù)進行標(biāo)記。最后一次存取后,它將使下一個周期從閃存重新加載整個緩沖器。
預(yù)取緩沖器控制邏輯還可識別緩沖器每次進入的有效地址。它還將提供適當(dāng)?shù)慕獯a,根據(jù)正確的順序指令顯示處理器數(shù)據(jù)總線,當(dāng)一個執(zhí)行分支需要完整的新的順序指令時,將重新加載緩沖器。
當(dāng)然,在提取新的指令時,分支將造成一些額外的延遲。但是由于相比處理器內(nèi)核,預(yù)取緩沖器實現(xiàn)六合一方法在數(shù)據(jù)通道寬度方面具有絕對的優(yōu)勢,為該分支問題的最終平衡的結(jié)果付出的代價是值得的。
更多經(jīng)驗法則分析都顯示,一個典型的嵌入式應(yīng)用有20%發(fā)生分支的機會,每五個周期相當(dāng)于一個分支。采用之前的方法,CPI值現(xiàn)在為:
周期+1指令*6周期)/5指令
CPI = 2.0
我們已經(jīng)看到利用基本實現(xiàn)方法,整個系統(tǒng)周期效率有了大幅提高。
圖2.1還顯示了一個更為現(xiàn)實解決方案方法,即將六個獨立的閃存系統(tǒng)的32位總線加在一起,而不是重新設(shè)計一個新的、極寬的數(shù)據(jù)總線閃存系統(tǒng)。預(yù)取緩沖器控制邏輯將自動創(chuàng)建六個連續(xù)的程序地址,然后允許一個正常的讀取周期同時訪問所有六個組。在讀取周期的末尾,預(yù)取緩沖器現(xiàn)在可保持六個新的指令,而非一個,模擬的零等待狀態(tài)系統(tǒng)。
指令高速緩存
形式指令高速緩存賦予預(yù)取緩沖器更高水平的復(fù)雜性,因為高速緩存不需要包含整個高速緩存陣列的特定線性地址。形式高速緩存的尺寸也比簡單預(yù)取緩沖器大,它可能在高速緩存內(nèi)存儲整個循環(huán)序列。
圖 2.2 顯示了一個簡單的有 8 塊、單路的高速緩存設(shè)計,1 塊有 16 個字節(jié)。雖然這么小的高速緩存很難實現(xiàn),但它對指令執(zhí)行很有用。在這種情況下,地址標(biāo)記將是整個地址的高 12 位,而索引將是尋址高速緩存塊內(nèi)的特定條目的余下的兩位。
圖2.2 指令側(cè)高速緩存
與指令預(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ù)存儲器。
評論