欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

預(yù)取數(shù)據(jù)控制器及其方法

文檔序號(hào):6426088閱讀:204來(lái)源:國(guó)知局
專利名稱:預(yù)取數(shù)據(jù)控制器及其方法
技術(shù)領(lǐng)域
本發(fā)明提供一種提取一存儲(chǔ)裝置所存儲(chǔ)的數(shù)據(jù)的裝置及方法,特別指一種可有效率地預(yù)取一存儲(chǔ)裝置所存儲(chǔ)的數(shù)據(jù)的預(yù)取控制器及方法。
背景技術(shù)
一般而言,計(jì)算機(jī)系統(tǒng)會(huì)包含有一運(yùn)算單元(例如一中央處理器)以及一存儲(chǔ)單元(例如一動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器),亦即存儲(chǔ)單元紀(jì)錄數(shù)據(jù)與指令,而運(yùn)算單元便自存儲(chǔ)單元提取所要的數(shù)據(jù)與指令來(lái)完成一預(yù)定邏輯運(yùn)算,此外,運(yùn)算單元亦會(huì)將該預(yù)定邏輯運(yùn)算所產(chǎn)生的輸出數(shù)據(jù)回存至存儲(chǔ)單元。如本技術(shù)領(lǐng)域所公知,隨著制造工藝進(jìn)步,中央處理器的運(yùn)算時(shí)鐘便快速地提升,因此一般而言,中央處理器的運(yùn)算時(shí)鐘遠(yuǎn)高于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的工作時(shí)鐘,亦即中央處理器的數(shù)據(jù)處理速度快于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的數(shù)據(jù)處理速度。所以,當(dāng)中央處理器執(zhí)發(fā)出一數(shù)據(jù)提取指令以提取動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中一預(yù)定數(shù)據(jù)后,中央處理器必須等待動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器讀取該預(yù)定數(shù)據(jù),并傳回該預(yù)定數(shù)據(jù)至中央處理器,因此便會(huì)因?yàn)閯?dòng)態(tài)隨機(jī)存取存儲(chǔ)器的延遲時(shí)間而影響中央處理器的運(yùn)算效能。所以,快取存儲(chǔ)器(cache)便用來(lái)減輕存儲(chǔ)器的延遲時(shí)間對(duì)中央處理器的影響,相較于公知?jiǎng)討B(tài)隨機(jī)存取存儲(chǔ)器,快取存儲(chǔ)器(例如靜態(tài)隨機(jī)存取存儲(chǔ)器)具有高速的數(shù)據(jù)存取速度,但是由于快取存儲(chǔ)器的生產(chǎn)成本較高,因此計(jì)算機(jī)系統(tǒng)所設(shè)置的快取存儲(chǔ)器(例如中央處理器中的L2快取)的容量遠(yuǎn)小于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的容量。
請(qǐng)參閱圖1,圖1為公知數(shù)據(jù)處理系統(tǒng)10的功能方塊圖。數(shù)據(jù)處理系統(tǒng)10包含有一快取存儲(chǔ)器12,一預(yù)取控制器(pre-fetch controller)14,一存儲(chǔ)器控制器(memory controller)16,以及一動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18。如上所述,快取存儲(chǔ)器12的數(shù)據(jù)存取速度快于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18的數(shù)據(jù)存取速度,因此當(dāng)中央處理器執(zhí)行一邏輯運(yùn)算時(shí),若中央處理器可直接自快取存儲(chǔ)器12讀取到所要的數(shù)據(jù),則中央處理器便可進(jìn)一步地提升其運(yùn)算效能,所以預(yù)取控制器14便先預(yù)測(cè)中央處理器執(zhí)行該邏輯運(yùn)算需自動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18提取數(shù)據(jù)DATAa、DATAb、DATAc,然后告知存儲(chǔ)器控制器16以驅(qū)動(dòng)存儲(chǔ)器控制器16自動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18讀取數(shù)據(jù)DATAa、DATAb、DATAc,并傳送至快取存儲(chǔ)器12中存儲(chǔ)。因此,當(dāng)中央處理器執(zhí)行該邏輯運(yùn)算的過(guò)程中,若數(shù)據(jù)DATAa、DATAb、DATAc為其所要的數(shù)據(jù),亦即中央處理器搜尋快閃存儲(chǔ)器會(huì)產(chǎn)生公知快取命中(cache hit),因此中央處理器便可直接由快取存儲(chǔ)器12提供所需的數(shù)據(jù)DATAa、DATAb、DATAc來(lái)執(zhí)行該邏輯運(yùn)算。然而,一般而言,預(yù)取控制器14的預(yù)測(cè)結(jié)果與該邏輯運(yùn)算的數(shù)據(jù)需求不一定會(huì)完全吻合,亦即該邏輯運(yùn)算需自動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18讀取其存儲(chǔ)的數(shù)據(jù)DATAa、DATAb、DATAd,但是預(yù)取控制器14卻預(yù)測(cè)中央處理器執(zhí)行該邏輯運(yùn)算需自動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18提取數(shù)據(jù)DATAa、DATAb、DATAc,因此,當(dāng)中央處理器執(zhí)行該邏輯運(yùn)算時(shí),中央處理器搜尋快取存儲(chǔ)器12中的數(shù)據(jù)DATAa、DATAb會(huì)產(chǎn)生快取命中,因此中央處理器可順利地自快取存儲(chǔ)器12讀取數(shù)據(jù)DATAa、DATAb,然而,當(dāng)中央處理器于快取存儲(chǔ)器12中搜尋數(shù)據(jù)DATAd時(shí)會(huì)產(chǎn)生公知快取未命中(cache miss),因此便必須經(jīng)由存儲(chǔ)器控制器16自動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18提取數(shù)據(jù)DATAd,最后,數(shù)據(jù)DATAd會(huì)存儲(chǔ)于快取存儲(chǔ)器12中,并同時(shí)會(huì)傳送給中央處理器,換句話說(shuō),中央處理器便必須等待,直到接收到動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18所輸出的數(shù)據(jù)DATAd后才能繼續(xù)執(zhí)行該邏輯運(yùn)算。
由上可知,數(shù)據(jù)DATAc并非為所要的數(shù)據(jù)DATAd,因此預(yù)取控制器14預(yù)先讀取動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18中的數(shù)據(jù)DATAc便會(huì)耗費(fèi)存儲(chǔ)器控制器16與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18之間的頻帶寬度,所以,當(dāng)預(yù)取控制器14的預(yù)測(cè)準(zhǔn)確率太低時(shí),亦即當(dāng)中央處理器搜尋快取存儲(chǔ)器12時(shí)不斷地產(chǎn)生快取未命中,因此預(yù)先讀取數(shù)據(jù)的操作便會(huì)使計(jì)算機(jī)系統(tǒng)的整體效能大幅地惡化。

發(fā)明內(nèi)容
因此,本發(fā)明提供一種可有效率地預(yù)取一存儲(chǔ)裝置所存儲(chǔ)的數(shù)據(jù)的預(yù)取控制器及方法,以解決上述問(wèn)題。
根據(jù)本發(fā)明,公開(kāi)一種控制預(yù)取存儲(chǔ)器的數(shù)據(jù)的方法。該方法包括有初始化一計(jì)數(shù)值;當(dāng)預(yù)取操作時(shí),提取該存儲(chǔ)器的數(shù)據(jù)并使得該計(jì)數(shù)值減去一第一數(shù)值;當(dāng)預(yù)取命中時(shí),使得該計(jì)數(shù)值累加一第二數(shù)值;以及比較將該計(jì)數(shù)值與一第一閾值,若該計(jì)數(shù)值小于該第一閾值,則暫停提取該存儲(chǔ)器的數(shù)據(jù)。
由于本發(fā)明預(yù)取控制器與其操作方法不斷地監(jiān)測(cè)預(yù)測(cè)準(zhǔn)確度,并動(dòng)態(tài)地調(diào)整一計(jì)數(shù)值,當(dāng)預(yù)取控制器的預(yù)測(cè)準(zhǔn)確度不佳時(shí),該計(jì)數(shù)值會(huì)達(dá)到一閾值,因此本發(fā)明預(yù)取控制器與其操作方法便會(huì)停止預(yù)先讀取數(shù)據(jù)的操作,以便緩和過(guò)量快取未命中對(duì)存儲(chǔ)器傳輸頻帶寬度所造成的影響。


圖1為公知數(shù)據(jù)處理系統(tǒng)的功能方塊圖。
圖2為本發(fā)明第一種預(yù)取控制器的功能方塊示意圖。
圖3為本發(fā)明第一種預(yù)取控制的方法流程4為本發(fā)明第二種預(yù)取控制器的功能方塊示意圖。
附圖符號(hào)說(shuō)明10 數(shù)據(jù)處理系統(tǒng) 12 快取存儲(chǔ)器14、20、40 預(yù)取控制器16 存儲(chǔ)器控制器18 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器22 控制電路24 計(jì)數(shù)寄存器26、44 減法器28、42 加法器30、46 比較模塊32 運(yùn)算單元 34 檢測(cè)單元36 輸出單元具體實(shí)施方式
請(qǐng)參閱圖2,圖2為本發(fā)明第一種預(yù)取控制器20的功能方塊示意圖。預(yù)取控制器20包含有一控制電路22,一計(jì)數(shù)寄存器24,一減法器26、一加法器28,以及一比較模塊30??刂齐娐?2中則包含有一運(yùn)算單元32,一檢測(cè)單元34,以及一輸出單元36。此外,計(jì)數(shù)寄存器24中存儲(chǔ)有一計(jì)數(shù)值CNT。請(qǐng)注意,如本技術(shù)領(lǐng)域所公知,減法器26亦可經(jīng)由加法器與XOR邏輯運(yùn)算電路來(lái)加以實(shí)施。預(yù)取控制器20的操作方法詳述如下,首先,當(dāng)預(yù)取控制器20啟動(dòng)時(shí),計(jì)數(shù)寄存器24會(huì)初始其紀(jì)錄的計(jì)數(shù)值CNT,舉例來(lái)說(shuō),計(jì)數(shù)寄存器24可紀(jì)錄10個(gè)位,亦即計(jì)數(shù)值CNT的最小值對(duì)應(yīng)”0000000000”,而計(jì)數(shù)值CNT的最大值對(duì)應(yīng)”1111111111”,因此計(jì)數(shù)值CNT的初始值需介于其最大值與最小值之間,本實(shí)施例中,該初始值為最大值與最小值的中間值,亦即”0000011111”。然后,控制電路22的運(yùn)算單元32便開(kāi)始預(yù)測(cè)中央處理器執(zhí)行邏輯運(yùn)算所要讀取的預(yù)定數(shù)據(jù),并產(chǎn)生相對(duì)應(yīng)數(shù)據(jù)提取指令(request),并經(jīng)由輸出單元36傳送該數(shù)據(jù)提取指令至圖1所示的存儲(chǔ)器控制器16,以便自動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18讀取所要的預(yù)定數(shù)據(jù)。此外,當(dāng)輸出單元36輸出一數(shù)據(jù)提取指令時(shí),其會(huì)觸發(fā)一控制信號(hào)pf_get,且控制信號(hào)pf_get會(huì)進(jìn)一步地啟動(dòng)減法器26執(zhí)行邏輯運(yùn)算,因此計(jì)數(shù)值CNT與一第一數(shù)值N1便會(huì)經(jīng)由減法器26計(jì)算計(jì)數(shù)值CNT減去第一數(shù)值N1的運(yùn)算結(jié)果,然后該運(yùn)算結(jié)果便進(jìn)一步地更新(update)計(jì)數(shù)寄存器24所記錄的計(jì)數(shù)值CNT。
此外,控制電路22的檢測(cè)單元34則會(huì)檢測(cè)中央處理器執(zhí)行邏輯運(yùn)算所要的數(shù)據(jù)與運(yùn)算單元32產(chǎn)生的數(shù)據(jù)提取指令所對(duì)應(yīng)的預(yù)取數(shù)據(jù)是否符合,當(dāng)一數(shù)據(jù)提取指令所對(duì)應(yīng)的預(yù)取數(shù)據(jù)符合中央處理器所要的數(shù)據(jù)時(shí),檢測(cè)單元34會(huì)輸出一控制信號(hào)pf_hit,且控制信號(hào)pf_hit會(huì)進(jìn)一步地啟動(dòng)加法器28執(zhí)行邏輯運(yùn)算,因此計(jì)數(shù)值CNT與一第二數(shù)值N2便會(huì)經(jīng)由加法器28計(jì)算計(jì)數(shù)值CNT與第二數(shù)值N2相加的運(yùn)算結(jié)果,然后該運(yùn)算結(jié)果便進(jìn)一步地更新計(jì)數(shù)寄存器24所記錄的計(jì)數(shù)值CNT。
如上所述,控制信號(hào)pf_get表示預(yù)取控制器20自圖1所示的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器預(yù)先讀取一數(shù)據(jù),而控制信號(hào)pf_hit則表示預(yù)取控制器20所預(yù)先讀取的數(shù)據(jù)符合中央處理器所要的數(shù)據(jù),一般而言,預(yù)取控制器20的預(yù)測(cè)結(jié)果與該邏輯運(yùn)算的數(shù)據(jù)需求不一定完全吻合,因此可能輸出單元36已觸發(fā)產(chǎn)生復(fù)數(shù)次控制信號(hào)pf_get后,檢測(cè)單元34才會(huì)產(chǎn)生一次控制信號(hào)pf_hit,亦即控制信號(hào)pf_hit與控制信號(hào)pf_get之間的比例便代表預(yù)取控制器20的預(yù)測(cè)準(zhǔn)確度。換句話說(shuō),若預(yù)取控制器20的預(yù)測(cè)準(zhǔn)確度越高,則控制信號(hào)pf_hit的發(fā)生頻率便越頻繁。本實(shí)施例中,假設(shè)控制信號(hào)pf_hit與控制信號(hào)pf_get之間的比例為A∶B時(shí),中央處理器仍可維持良好的運(yùn)算效能,因此本實(shí)施例便設(shè)定第一數(shù)值N1與第二數(shù)值N2之間的比例對(duì)應(yīng)A∶B,舉例來(lái)說(shuō),若控制信號(hào)pf_hit與控制信號(hào)pf_get之間的比例為1∶4時(shí),預(yù)取控制器22的運(yùn)作視為有效率的,因此便設(shè)定第一數(shù)值N1與第二數(shù)值N2之間的比例對(duì)應(yīng)1∶4,所以,本實(shí)施例中,第一數(shù)值N1與第二數(shù)值N2分別等于1與4。所以,當(dāng)輸出單元36產(chǎn)生一次控制信號(hào)pf_get時(shí),計(jì)數(shù)值CNT會(huì)遞減1,以及當(dāng)檢測(cè)單元34產(chǎn)生一次控制信號(hào)pf_hit時(shí),計(jì)數(shù)值CNT會(huì)遞增4。
如前所述,計(jì)數(shù)值CNT的初始值為”0000011111”,因此若輸出單元36每產(chǎn)生4控制信號(hào)pf_get中,檢測(cè)單元34有產(chǎn)生一次控制信號(hào)pf_hit,則計(jì)數(shù)值CNT會(huì)保持不變,亦即計(jì)數(shù)值CNT仍紀(jì)錄該初始值”00011111”。若輸出單元36每產(chǎn)生4次以上(例如5次)的控制信號(hào)pf_get中,檢測(cè)單元34才有產(chǎn)生一次控制信號(hào)pf_hit,因此計(jì)數(shù)值CNT會(huì)小于該初始值”00011111”,并逐漸地趨近最小值”0000000000”,換句話說(shuō),當(dāng)計(jì)數(shù)值CNT逐漸地減少時(shí),則表示預(yù)取控制器20的預(yù)測(cè)準(zhǔn)確率不佳而造成執(zhí)行效能不佳。此外,若輸出單元36每產(chǎn)生4次以下(例如3次)的控制信號(hào)pf_get中,檢測(cè)單元34便可產(chǎn)生一次控制信號(hào)pf_hit,因此計(jì)數(shù)值CNT會(huì)大于該初始值”00011111”,并逐漸地趨近最大值”1111111111”,換句話說(shuō),當(dāng)計(jì)數(shù)值CNT逐漸地增加時(shí),則表示預(yù)取控制器20的預(yù)測(cè)準(zhǔn)確率良好而產(chǎn)生極佳執(zhí)行效能。
本實(shí)施例中,比較模塊30會(huì)比較計(jì)數(shù)值CNT以及一閾值TH1,而閾值TH1小于上述初始值”0000011111”。由上可知,當(dāng)預(yù)取控制器20的預(yù)測(cè)準(zhǔn)確率不佳時(shí),表示控制信號(hào)pf_hit的發(fā)生頻率降低,因此計(jì)數(shù)值CNT會(huì)逐漸地趨近最小值”0000000000”,明顯地,當(dāng)預(yù)取控制器20的預(yù)測(cè)準(zhǔn)確率太低,則表示中央處理器搜尋圖1所示的快取存儲(chǔ)器12時(shí)會(huì)不斷地產(chǎn)生快取未命中,因此預(yù)取控制器20預(yù)先讀取數(shù)據(jù)的操作便會(huì)使計(jì)算機(jī)系統(tǒng)的整體效能大幅地惡化,所以當(dāng)比較模塊30判斷計(jì)數(shù)值CNT小于閾值TH1時(shí),比較模塊30會(huì)驅(qū)動(dòng)控制電路22以中斷輸出單元36的功能,亦即輸出單元36不再將運(yùn)算單元32所產(chǎn)生的數(shù)據(jù)提取指令傳送至圖1所示的存儲(chǔ)器控制器16,因此輸出單元36便停止產(chǎn)生控制信號(hào)pf_get至減法器26,換句話說(shuō),當(dāng)輸出單元36停止輸出控制信號(hào)pf_get后,計(jì)數(shù)值CNT便不會(huì)再降低。
請(qǐng)注意,運(yùn)算單元32與檢測(cè)單元34此時(shí)仍會(huì)正常地運(yùn)作,亦即運(yùn)算單元32仍會(huì)不斷預(yù)測(cè)中央處理器執(zhí)行邏輯運(yùn)算時(shí)所需的數(shù)據(jù),并產(chǎn)生相對(duì)應(yīng)數(shù)據(jù)提取指令,而檢測(cè)單元34會(huì)檢測(cè)數(shù)據(jù)提取指令于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18所對(duì)應(yīng)的數(shù)據(jù)與中央處理器執(zhí)行邏輯運(yùn)算于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18所提取的數(shù)據(jù),雖然輸出單元36不會(huì)輸出數(shù)據(jù)提取指令至存儲(chǔ)器控制器16以執(zhí)行預(yù)先讀取數(shù)據(jù)的操作,然而檢測(cè)單元34仍會(huì)繼續(xù)監(jiān)測(cè)運(yùn)算單元32的預(yù)測(cè)結(jié)果是否準(zhǔn)確,因此當(dāng)檢測(cè)單元34檢測(cè)到運(yùn)算單元32所預(yù)測(cè)的數(shù)據(jù)與中央處理器自動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18所提取的數(shù)據(jù)相同時(shí),則檢測(cè)單元34會(huì)產(chǎn)生控制信號(hào)pf_hit,因此加法器28便會(huì)啟動(dòng)來(lái)提升計(jì)數(shù)值CNT,如上所述,當(dāng)輸出單元36停止輸出控制信號(hào)pf_get后,計(jì)數(shù)值CNT便不會(huì)再降低,亦即計(jì)數(shù)值CNT便會(huì)因?yàn)闄z測(cè)單元34陸陸續(xù)續(xù)地輸出控制信號(hào)pf_hit而逐漸地增加。
本實(shí)施例中,比較模塊30會(huì)比較計(jì)數(shù)值CNT與一閾值TH2來(lái)決定是否驅(qū)動(dòng)控制電路22重新啟動(dòng)輸出單元36,閾值TH2大于閾值TH1,且大于上述初始值”0000011111”,因此若閾值TH2等于閾值TH1,則預(yù)取控制器20便可能于啟動(dòng)輸出單元36的操作與關(guān)斷輸出單元36的操作之間不停地切換,所以本發(fā)明預(yù)取控制器20便使用不同的閾值TH1、TH2來(lái)避免上述情況。當(dāng)計(jì)數(shù)值CNT超過(guò)閾值TH2后,輸出單元36會(huì)重新啟動(dòng),若此時(shí)預(yù)取控制器20的預(yù)測(cè)準(zhǔn)確率仍未改善,亦即控制信號(hào)pf_hit的發(fā)生頻率過(guò)低,因此計(jì)數(shù)值CNT會(huì)快速地減少,當(dāng)計(jì)數(shù)值CNT又小于閾值TH1時(shí),則比較模塊30會(huì)告知控制電路22以暫停輸出單元36的功能,因此可減輕存儲(chǔ)器控制器16與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18之間的數(shù)據(jù)傳輸負(fù)荷。
圖3為本發(fā)明第一實(shí)施例的流程圖,當(dāng)預(yù)取操作時(shí),計(jì)數(shù)值CNT會(huì)減去一第一數(shù)值N1,當(dāng)預(yù)取命中時(shí),計(jì)數(shù)值CNT會(huì)增加一第二數(shù)值N2,如果計(jì)數(shù)值CNT小于閾值TH1,則表示預(yù)測(cè)的準(zhǔn)確率太差,因此會(huì)停止存取存儲(chǔ)器的數(shù)據(jù)。此時(shí)還是有預(yù)取操作,只是計(jì)數(shù)值CNT不再減少,但若是預(yù)取命中時(shí),則計(jì)數(shù)值CNT會(huì)增加第二數(shù)值N2,直到計(jì)數(shù)值CNT大于閾值TH2時(shí),才會(huì)重新在啟動(dòng)存儲(chǔ)器控制器到存儲(chǔ)器中存取數(shù)據(jù)。
綜上所述,當(dāng)計(jì)數(shù)值CNT小于閾值TH1時(shí),運(yùn)作中的輸出單元36會(huì)被關(guān)斷,而當(dāng)計(jì)數(shù)值CNT大于閾值TH2時(shí),關(guān)斷中的輸出單元36會(huì)開(kāi)始運(yùn)作。然而,本發(fā)明預(yù)取控制器20亦可于計(jì)數(shù)值CNT高于一閾值時(shí),關(guān)斷目前運(yùn)作中的輸出單元36,以及于計(jì)數(shù)值CNT小于另一閾值時(shí),重新啟動(dòng)目前關(guān)斷中的輸出單元36,請(qǐng)參閱圖2與圖3,圖3為本發(fā)明第二種預(yù)取控制器40的功能方塊示意圖。請(qǐng)注意,圖3所示的預(yù)取控制器40與圖2所示的預(yù)取控制器20中,大部分的同名元件具有相同的功能,因此不再重復(fù)贅述。主要的不同的處在于加法器42、減法器44以及比較模塊46的操作,本實(shí)施例中,當(dāng)輸出單元36輸出一控制信號(hào)pf_get時(shí),控制信號(hào)pf_get會(huì)啟動(dòng)加法器42而非減法器44,此時(shí),加法器42會(huì)將計(jì)數(shù)值CNT與一數(shù)值N3相加,并以運(yùn)算結(jié)果更新計(jì)數(shù)值CNT。另外,當(dāng)檢測(cè)單元34輸出一控制信號(hào)pf_hit時(shí),控制信號(hào)pf_hit會(huì)啟動(dòng)減法器44而非加法器42,此時(shí),減法器44會(huì)將計(jì)數(shù)值CNT減去一數(shù)值N4,并以運(yùn)算結(jié)果更新計(jì)數(shù)值CNT。數(shù)值N3、N4的設(shè)定規(guī)則與上述數(shù)值N1、N2的設(shè)定規(guī)則相同,因此數(shù)值N3、N4之間的比例即對(duì)應(yīng)預(yù)取控制器40的預(yù)定預(yù)測(cè)準(zhǔn)確率。
圖2所示的實(shí)施例中,當(dāng)檢測(cè)單元34輸出一控制信號(hào)pf_hit時(shí),加法器28會(huì)啟動(dòng)以使用數(shù)值N2來(lái)提升計(jì)數(shù)值CNT,以及當(dāng)輸出單元36輸出一控制信號(hào)pf_get時(shí),減法器26會(huì)啟動(dòng)以使用數(shù)值N1來(lái)降低計(jì)數(shù)值CNT。然而,本發(fā)明預(yù)取控制器20于檢測(cè)單元34輸出一控制信號(hào)pf_hit時(shí),啟動(dòng)加法器28以使用數(shù)值N3來(lái)提升計(jì)數(shù)值CNT,以及于輸出單元36輸出一控制信號(hào)pf_get時(shí),啟動(dòng)減法器26以使用數(shù)值N4來(lái)降低計(jì)數(shù)值CNT。如前所述,計(jì)數(shù)值CNT的初始值為”0000011111”,因此若輸出單元36每產(chǎn)生4次控制信號(hào)pf_get中,檢測(cè)單元34產(chǎn)生一次控制信號(hào)pf_hit,則計(jì)數(shù)值CNT會(huì)保持不變,亦即計(jì)數(shù)值CNT仍紀(jì)錄該初始值”00011111”。若輸出單元36每產(chǎn)生4次以上(例如5次)的控制信號(hào)pf_get中,檢測(cè)單元34才有產(chǎn)生一次控制信號(hào)pf_hit,因此計(jì)數(shù)值CNT會(huì)大于該初始值”00011111”,并逐漸地趨近最大值”1111111111”,換句話說(shuō),當(dāng)計(jì)數(shù)值CNT逐漸地增加時(shí),則表示預(yù)取控制器40的預(yù)測(cè)準(zhǔn)確率不佳而造成執(zhí)行效能不彰。此外,若輸出單元36每產(chǎn)生4次以下(例如3次)的控制信號(hào)pf_get中,檢測(cè)單元34便可產(chǎn)生一次控制信號(hào)pf_hit,因此計(jì)數(shù)值CNT會(huì)小于該初始值”00011111”,并逐漸地趨近最小值”0000000000”,換句話說(shuō),當(dāng)計(jì)數(shù)值CNT逐漸地減少時(shí),則表示預(yù)取控制器40的預(yù)測(cè)準(zhǔn)確率良好而可產(chǎn)生極佳執(zhí)行效能。
比較模塊46會(huì)比較計(jì)數(shù)值CNT以及一閾值TH3,而閾值TH3大于上述初始值”0000011111”。當(dāng)比較模塊46判斷計(jì)數(shù)值CNT大于閾值TH3時(shí),比較模塊46會(huì)驅(qū)動(dòng)控制電路22以中斷輸出單元36的功能,亦即輸出單元36不再將運(yùn)算單元32所產(chǎn)生的數(shù)據(jù)提取指令傳送至圖1所示的存儲(chǔ)器控制器16,因此輸出單元36便停止產(chǎn)生控制信號(hào)pf_get至加法器42,換句話說(shuō),當(dāng)輸出單元36停止輸出控制信號(hào)pf_get后,計(jì)數(shù)值CNT便不會(huì)再增加。如前所述,檢測(cè)單元34仍會(huì)繼續(xù)監(jiān)測(cè)運(yùn)算單元32的預(yù)測(cè)結(jié)果是否準(zhǔn)確,因此當(dāng)檢測(cè)單元34檢測(cè)到運(yùn)算單元32所預(yù)測(cè)的數(shù)據(jù)與中央處理器自動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18所提取的數(shù)據(jù)相同時(shí),則檢測(cè)單元34會(huì)產(chǎn)生控制信號(hào)pf_hit,因此減法器44便會(huì)啟動(dòng)來(lái)降低計(jì)數(shù)值CNT,所以計(jì)數(shù)值CNT便會(huì)因?yàn)闄z測(cè)單元34陸陸續(xù)續(xù)地輸出控制信號(hào)pf_hit而逐漸地降低。
然后,比較模塊46會(huì)比較計(jì)數(shù)值CNT與一閾值TH4來(lái)決定是否驅(qū)動(dòng)控制電路22重新啟動(dòng)輸出單元36,閾值TH4小于閾值TH3,且低于上述初始值”0000011111”,因此,當(dāng)計(jì)數(shù)值CNT小于閾值TH4后,輸出單元36會(huì)重新啟動(dòng),若此時(shí)預(yù)取控制器40的預(yù)測(cè)準(zhǔn)確率仍未改善,亦即控制信號(hào)pf_hit的出現(xiàn)頻率仍過(guò)低,因此計(jì)數(shù)值CNT便會(huì)快速地增加,當(dāng)計(jì)數(shù)值CNT又超過(guò)閾值TH3時(shí),則比較模塊30會(huì)告知控制電路22以暫停輸出單元36的功能,因此便可減輕存儲(chǔ)器控制器16與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器18之間的數(shù)據(jù)傳輸負(fù)荷。
本發(fā)明預(yù)取控制器與其操作方法不斷地監(jiān)測(cè)預(yù)測(cè)準(zhǔn)確度,并動(dòng)態(tài)地調(diào)整一計(jì)數(shù)值,當(dāng)預(yù)取控制器的預(yù)測(cè)準(zhǔn)確度不佳時(shí),該計(jì)數(shù)值會(huì)達(dá)到一閾值,因此本發(fā)明預(yù)取控制器與其操作方法便會(huì)停止預(yù)先讀取數(shù)據(jù)的操作,以便緩和過(guò)量快取未命中對(duì)存儲(chǔ)器傳輸頻帶寬度所造成的影響。此外,上述數(shù)值N1、N2、N3、N4與閾值TH1、TH2、TH3、TH4為可編程(programmable),所以,本發(fā)明預(yù)取控制器與其操作方法可彈性地設(shè)定上述數(shù)值N1、N2、N3、N4與閾值TH1、TH2、TH3、TH4來(lái)進(jìn)一步地微調(diào)(tune)預(yù)取控制器的效能。再者,本發(fā)明預(yù)取控制器應(yīng)用簡(jiǎn)單的電路結(jié)構(gòu)來(lái)計(jì)算計(jì)數(shù)值以控制預(yù)先讀取數(shù)據(jù)的操作,因此不但生產(chǎn)成本低且實(shí)作容易。
以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明權(quán)利要求所進(jìn)行的等效變化與修改,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種控制預(yù)取存儲(chǔ)器的數(shù)據(jù)的方法,包括有初始化一計(jì)數(shù)值;當(dāng)預(yù)取操作時(shí),提取該存儲(chǔ)器的數(shù)據(jù)并使得該計(jì)數(shù)值減去一第一數(shù)值;當(dāng)預(yù)取命中時(shí),使得該計(jì)數(shù)值累加一第二數(shù)值;以及將該計(jì)數(shù)值與一第一閾值相比較,若該計(jì)數(shù)值小于該第一閾值,則暫停提取該存儲(chǔ)器的數(shù)據(jù)。
2.如權(quán)利要求1所述的控制預(yù)取存儲(chǔ)器數(shù)據(jù)的方法,其中當(dāng)暫停提取該存儲(chǔ)器數(shù)據(jù)時(shí),不使得該計(jì)數(shù)值減去該第一數(shù)值,但其中當(dāng)預(yù)取命中時(shí),使得該計(jì)數(shù)值累加該第二數(shù)值。
3.如權(quán)利要求2所述的控制預(yù)取存儲(chǔ)器數(shù)據(jù)的方法,其中當(dāng)該計(jì)數(shù)值大于一第二閾值時(shí),重新啟動(dòng)提取該存儲(chǔ)器的數(shù)據(jù),且其中該第二閾值大于該第一閾值。
4.如權(quán)利要求1所述的控制預(yù)取存儲(chǔ)器數(shù)據(jù)的方法,其中該第二數(shù)值為第一數(shù)值的整數(shù)倍。
5.一種控制預(yù)取存儲(chǔ)器的數(shù)據(jù)的方法,包括有初始化一計(jì)數(shù)值;當(dāng)預(yù)取操作時(shí),提取該存儲(chǔ)器的數(shù)據(jù)并使得該計(jì)數(shù)累加一第一數(shù)值;當(dāng)預(yù)取命中時(shí),使得該計(jì)數(shù)值減去一第二數(shù)值;以及比較將該計(jì)數(shù)值與一第一閾值,若該計(jì)數(shù)值大于該第一閾值,則暫停提取該存儲(chǔ)器的數(shù)據(jù)。
6.如權(quán)利要求5所述的控制預(yù)取存儲(chǔ)器數(shù)據(jù)的方法,其中當(dāng)暫停提取該存儲(chǔ)器數(shù)據(jù)時(shí),暫停使得該計(jì)數(shù)值累加該第一數(shù)值,但其中當(dāng)預(yù)取命中時(shí),使得該計(jì)數(shù)值減去該第二數(shù)值。
7.如權(quán)利要求6所述的控制預(yù)取存儲(chǔ)器數(shù)據(jù)的方法,其中當(dāng)該計(jì)數(shù)值小于一第二閾值時(shí),重新啟動(dòng)提取該存儲(chǔ)器的數(shù)據(jù),且其中該第二閾值小于該第一閾值。
8.如權(quán)利要求5所述的控制預(yù)取存儲(chǔ)器數(shù)據(jù)的方法,其中該第二數(shù)值為第一數(shù)值的整數(shù)倍。
9.一種預(yù)取控制器,用以預(yù)取一存儲(chǔ)器的數(shù)據(jù)以提供一邏輯運(yùn)算單元的使用,該預(yù)取控制器包含有一計(jì)數(shù)寄存器,寄存有一計(jì)數(shù)值;以及一控制電路,連接到該計(jì)數(shù)寄存器,用以當(dāng)預(yù)取操作及預(yù)取命中時(shí),使得該計(jì)數(shù)值改變。
10.如權(quán)利要求9所述的預(yù)取控制器,其中該控制電路還包含有一運(yùn)算單元,用以當(dāng)預(yù)取操作時(shí),預(yù)測(cè)該邏輯運(yùn)算單元執(zhí)行所需的數(shù)據(jù),并至該存儲(chǔ)器中提取該數(shù)據(jù)。
11.如權(quán)利要求9所述的預(yù)取控制器,其中該控制電路還包含有一輸出單元,用以當(dāng)預(yù)取操作時(shí),使得該計(jì)數(shù)值減去一第一數(shù)值。
12.如權(quán)利要求11所述的預(yù)取控制器,其中該控制電路還包含有一檢測(cè)單元,用以當(dāng)預(yù)取命中時(shí),使得該計(jì)數(shù)值累加一第二數(shù)值。
13.如權(quán)利要求11所述的預(yù)取控制器,其中還包含有一比較模塊,連接在該計(jì)數(shù)寄存器與該控制電路間,用以當(dāng)該計(jì)數(shù)值小于一第一閾值時(shí),停止提取該存儲(chǔ)器的數(shù)據(jù),以及當(dāng)停止提取后,若該計(jì)數(shù)值大于一第二閾值時(shí),則重新啟動(dòng)預(yù)取該存儲(chǔ)器的數(shù)據(jù)。
14.如權(quán)利要求13所述的預(yù)取控制器,其中當(dāng)停止預(yù)取該存儲(chǔ)器數(shù)據(jù)時(shí),使得該計(jì)數(shù)值不減去該第一數(shù)值,但若預(yù)取命中時(shí),使得該計(jì)數(shù)值累加該第二數(shù)值。
15.如權(quán)利要求13所述的預(yù)取控制器,其中該第二閾值大于該第一閾值。
16.如權(quán)利要求9所述的預(yù)取控制器,其中該控制電路還包含有一輸出單元,用以當(dāng)預(yù)取操作時(shí),使得該計(jì)數(shù)值累加一第三數(shù)值。
l7.如權(quán)利要求16所述的預(yù)取控制器,其中該控制電路還包含有一檢測(cè)單元,用以當(dāng)預(yù)取命中時(shí),使得該計(jì)數(shù)值減去一第四數(shù)值。
18.如權(quán)利要求17所述的預(yù)取控制器,其中還包含有一比較模塊,連接在該計(jì)數(shù)寄存器與該控制電路間,用以當(dāng)該計(jì)數(shù)值大于一第三閾值時(shí),停止提取該存儲(chǔ)器的數(shù)據(jù),且以及當(dāng)停止提取后,該計(jì)數(shù)值小于一第四閾值時(shí),重新啟動(dòng)預(yù)取該存儲(chǔ)器的數(shù)據(jù)。
19.如權(quán)利要求18所述的預(yù)取控制器,其中當(dāng)停止提取該存儲(chǔ)器數(shù)據(jù)后時(shí),使得該計(jì)數(shù)值不累加該第三數(shù)值,以及若預(yù)取命中時(shí),使得該計(jì)數(shù)值減去該第四數(shù)值,且其中該第四閾值小于該第三閾值。
20.如權(quán)利要求9所述的預(yù)取控制器,其中還包含有一減法器,連接到該計(jì)數(shù)寄存器,使得該計(jì)數(shù)值改變,以及一加法器,連接到該計(jì)數(shù)寄存器,使得該計(jì)數(shù)值改變。
全文摘要
本發(fā)明為一種預(yù)取存儲(chǔ)器數(shù)據(jù)的預(yù)取控制器與方法,該方法包含有初始化一計(jì)數(shù)值;當(dāng)預(yù)取操作時(shí),提取該存儲(chǔ)器的數(shù)據(jù)并使得計(jì)數(shù)值減去第一數(shù)值;當(dāng)預(yù)取命中時(shí),使得計(jì)數(shù)值累加第二數(shù)值;以及將該計(jì)數(shù)值與第一閾值相比較,若計(jì)數(shù)值小于第一閾值,則暫停提取存儲(chǔ)器的數(shù)據(jù)。
文檔編號(hào)G06F12/08GK1570887SQ20041007512
公開(kāi)日2005年1月26日 申請(qǐng)日期2004年8月31日 優(yōu)先權(quán)日2003年10月7日
發(fā)明者徐文芝 申請(qǐng)人:威盛電子股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
巨鹿县| 奇台县| 吉林市| 景德镇市| 桐柏县| 乌兰县| 张家界市| 师宗县| 都昌县| 旬阳县| 灵丘县| 宝山区| 镇原县| 介休市| 乌审旗| 东台市| 枞阳县| 新田县| 邹城市| 大悟县| 枣强县| 通辽市| 怀仁县| 方正县| 南木林县| 五河县| 林甸县| 东莞市| 增城市| 神池县| 磴口县| 金堂县| 胶州市| 宁都县| 清镇市| 石嘴山市| 藁城市| 陆丰市| 凤庆县| 茂名市| 昭平县|