新四季網

一種存儲層次預取系統和方法與流程

2023-04-28 11:03:41 1


本發明涉及計算機,通訊及集成電路領域。



背景技術:

存儲程序計算機中的中央處理器從存儲器中讀取指令或數據供處理器執行,執行的結果送回存儲器中存儲。隨著技術的進步,存儲器的容量增大,其訪問延遲增大,存儲器訪問的通道延遲也增大;而處理器的執行速度卻增快,因此存儲器訪問延遲日益成為計算機性能提高的嚴重瓶頸。在此存儲器訪問延遲包括存儲器件內部的訪問延遲;及存儲器間與處理器間的傳輸通道延遲,比如複數個晶片間在電路板或共用基底上或矽片通孔TSV的傳輸延遲,中間層次晶片如北橋的延遲,多個存儲晶片間接力串接的延遲,因傳輸格式轉換導致的延遲,因通信協議導致的延遲。

因此,存儲程序計算機使用緩存器試圖掩蓋存儲器訪問延遲以緩解此一瓶頸,但目前仍然無法完全掩蓋。為此某些存儲程序計算機使用預取試圖進一步掩蓋存儲器訪問延遲,但也遇到了困難。其中的一些困難是因為多層次緩存而導致,因為從較高緩存層次的預取請求要通過複數個存儲層次,層層傳遞才能到達最低層的存儲器。本發明提出的方法與系統裝置能直接解決上述或其他的一個或多個困難。



技術實現要素:

本發明提出了一種在處理器的存儲器層次結構(Memory Hierarchy)中增設地址產生器的方法及其相應系統裝置,該增設的地址產生器可以與處理器協同工作以解決上述或其他的一個或多個困難。所述增設的地址產生器可以先於處理器核產生預測地址,從較低的存儲器層次讀取指令及數據存入本層次的存儲器,以備處理器核使用。

本發明的目的在於提供一種存儲器層次系統、存儲器層次方法及存儲系統,以提高設備運行速度。

為此,本發明提供了一種存儲層次預取系統,包括:

較低存儲層次,用以存儲信息並根據收到的訪問地址或預測地址向存儲器提供信息塊;

存儲器,用以存儲信息並根據收到的訪問地址輸出當前信息塊;

地址產生器,用以對初始地址或預測地址加一增量,持續產生預測地址,並對產生的地址進行篩選,向較低存儲層次提供篩選通過的預測地址,獲取相應信息填充存儲器;當預測地址未通過篩選時,所述地址產生器終止操作。

較高存儲層次,用以向存儲器提供訪問地址,接收存儲器輸出的當前信息塊。

可選的,在所述的存儲層次預取系統中,所述地址產生器通過如下產生方法一產生所述初始地址:

產生方法一、所述地址產生器在所述訪問地址上加一增量,產生所述初始地址。

可選的,在所述的存儲層次預取系統中,所述地址產生器通過如下產生方法二產生所述初始地址:

產生方法二、所述地址產生器解析所述當前信息塊,若判斷所述當前信息塊中包含分支指令,則計算該分支指令的目標地址,產生所述初始地址。

可選的,在所述的存儲層次預取系統中,所述地址產生器含有地址篩選器,對所述地址產生器產生的所述預測地址進行篩選,所述地址篩選器利用如下篩選方法一對產生的所述預測地址進行篩選:

判斷所述地址產生器產生的所述預測地址的相應信息是否已在所述存儲器中,若否,則該產生的所述預測地址通過篩選。

可選的,在所述的存儲層次預取系統中,所述地址產生器含有地址篩選器,對所述地址產生器產生的所述預測地址進行篩選,所述地址篩選器利用如下篩選方法二對產生的所述預測地址進行篩選:

判斷所述地址產生器產生的預測地址是否越過預設的地址邊界,若否,則該產生的所述預測地址通過篩選。

可選的,在所述的存儲層次預取系統中,所述地址產生器含有地址篩選器,對所述地址產生器產生的所述預測地址進行篩選,所述地址篩選器利用如下篩選方法三對產生的所述預測地址進行篩選:

判斷所述地址產生器根據一個訪問地址持續產生的所述預測地址計數是否達到預設的最大值,若否,則該產生的所述預測地址通過篩選。

可選的,在所述的存儲層次預取系統中,所述地址產生器含有地址篩選器,對所述地址產生器產生的所述預測地址進行篩選,所述地址篩選器利用如下篩選方法四對產生的所述預測地址進行篩選:

判斷根據所述地址產生器產生的所述預測地址從較低存儲層次獲得的信息塊中是否含有間接分支指令,若否,則當時被檢測的所述預測地址通過篩選。

可選的,在所述的存儲層次預取系統中,所述預取按所述訪問地址訪問存儲器的時間點安排預取優先權,較晚訪問的所述訪問地址比較早訪問的訪問地址優先;對超過一定限度的較早訪問放棄預取。

本發明還提供一種存儲層次預取方法,包括:

步驟A:所述地址產生器根據初始地址持續產生預測地址;

步驟B:所述地址產生器對產生的預測地址進行篩選;

步驟C:通過篩選的預測地址被向較低存儲層次發送;

步驟D:較低存儲層次輸出信息塊;

步驟E:所述信息塊存入存儲器;

步驟F:未通過篩選的預測地址使地址產生器終止操作。

可選的,在所述的存儲層次預取方法中,所述地址產生器利用如下篩選方法一對產生的所述預測地址進行篩選:

判斷所述地址產生器產生的所述預測地址的相應信息是否已在所述存儲器中,若否,則該產生的所述預測地址通過篩選。

可選的,在所述的存儲層次預取方法中,所述地址產生器通過如下產生方法二產生所述初始地址:

產生方法二、所述地址產生器解析所述當前信息塊,若判斷所述當前信息塊中包含分支指令,則計算該分支指令的目標地址,產生所述初始地址。

可選的,在所述的存儲層次預取方法中,所述地址產生器含有地址篩選器, 對所述地址產生器產生的所述預測地址進行篩選,所述地址篩選器利用如下篩選方法一對產生的所述預測地址進行篩選:

判斷所述地址產生器產生的所述預測地址的相應信息是否已在所述存儲器中,若否,則該產生的所述預測地址通過篩選。

可選的,在所述的存儲層次預取方法中,所述地址產生器含有地址篩選器,對所述地址產生器產生的所述預測地址進行篩選,所述地址篩選器利用如下篩選方法二對產生的所述預測地址進行篩選:

判斷所述地址產生器產生的預測地址是否越過預設的地址邊界,若否,則該產生的所述預測地址通過篩選。

可選的,在所述的存儲層次預取方法中,所述地址產生器含有地址篩選器,對所述地址產生器產生的所述預測地址進行篩選,所述地址篩選器利用如下篩選方法三對產生的所述預測地址進行篩選:

判斷所述地址產生器根據一個訪問地址持續產生的所述預測地址計數是否達到預設的最大值,若否,則該產生的所述預測地址通過篩選。

可選的,在所述的存儲層次預取方法中,所述地址產生器含有地址篩選器,對所述地址產生器產生的所述預測地址進行篩選,所述地址篩選器利用如下篩選方法四對產生的所述預測地址進行篩選:

判斷根據所述地址產生器產生的所述預測地址從較低存儲層次獲得的信息塊中是否含有間接分支指令,若否,則當時被檢測的所述預測地址通過篩選。

可選的,在所述的存儲層次預取方法中,所述預取按所述訪問地址訪問存儲器的時間點安排預取優先權,較晚訪問的所述訪問地址比較早訪問的訪問地址優先;對超過一定限度的較早訪問放棄預取。

附圖說明

圖1是本發明實施例一的存儲層次系統的框結構示意圖;

圖2是本發明實施例二的存儲層次系統的框結構示意圖;

圖3是本發明實施例三的存儲層次系統的框結構示意圖;

圖4是本發明實施例四的存儲層次系統的框結構示意圖;

圖5是本發明實施例五的存儲層次系統的框結構示意圖;

圖6是本發明實施例六的存儲層次系統的框結構示意圖;

圖7是本發明實施例六的存儲層次系統的掃描器結構示意圖;

圖8是本發明實施例六的存儲層次系統的掃描器結構示意圖;

對於本領域專業人士,還可以在本發明的說明、權利要求和附圖的啟發下,理解、領會本發明所包含其他方面內容。

有益效果

本發明所述方法和系統裝置可以掩蓋處理器經過存儲器層次結構訪問信息的延遲。對於本領域專業人士而言,本發明的其他優點和應用是顯見的。

具體實施方式

以下結合附圖和具體實施例對本發明作進一步詳細說明。根據下面說明和權利要求書,本發明的優點和特徵將更清楚。需說明的是,附圖均採用非常簡化的形式且均使用非精準的比例,僅用以方便、明晰地輔助說明本發明實施例的目的。

需說明的是,為了清楚地說明本發明的內容,本發明特舉多個實施例以進一步闡釋本發明的不同實現方式,其中,該多個實施例是列舉式並非窮舉式。此外,為了說明的簡潔,前實施例中已提及的內容往往在後實施例中予以省略,因此,後實施例中未提及的內容可相應參考前實施例。

雖然該發明可以以多種形式的修改和替換來擴展,說明書中也列出了一些具體的實施圖例並進行詳細闡述。應當理解的是,發明者的出發點不是將該發明限於所闡述的特定實施例,正相反,發明者的出發點在於保護所有基於由本權利聲明定義的精神或範圍內進行的改進、等效轉換和修改。同樣的元器件號碼可能被用於所有附圖以代表相同的或類似的部分。

此外,在本說明書中以包含處理器的體系結構為例進行說明,本發明技術方案可以被應用於包含任何合適的處理器(Processor)的體系結構。例如,所述處理器可以是通用處理器(General Purpose Processor)、中央處理器(CPU)、微處理器(Microprocessor)、處理器核(Core)、微控制器(MCU)、數位訊號處 理器(DSP)、圖象處理器(GPU)、片上系統(SOC)、專用集成電路(ASIC)等。所述存儲器或緩存可以由任何合適的存儲設備構成,如:寄存器(register)或寄存器堆(register file)、靜態存儲器(SRAM)、動態存儲器(DRAM)、快閃記憶體存儲器(Flash memory)、硬碟(HD)、固態硬碟(SSD)以及任何一種合適的存儲器件或未來的新形態存儲器。本發明中所述信息可以是指令或數據。

【實施例一】

請參考圖1,其為本發明實施例一的存儲層次系統的框結構示意圖。其中10為緩存器標籤單元(Tag Unit),20為緩存器存儲器(RAM),兩者共同構成處理器的一個存儲器層次;18為增設的地址產生器,14為選擇器。13為存儲器訪問地址(Memory Access Address),來自處理器核或較高存儲器層次(Memory Hierarchi)以對本存儲器層次進行訪問;地址13被送到選擇器14的一個輸入端,經選擇器14選擇後,經總線11與標籤單元10中存儲的標籤比較匹配。如總線13上的地址在標籤單元10中獲得匹配,則存儲器20中的相應信息經總線23送到較高存儲器層次或處理器核供使用。如訪問地址13在標籤單元10中未獲匹配,則該地址經總線11送出訪問較低存儲器層次,獲得的信息經總線21存入本存儲器層次的存儲器20,總線11上的地址也被存入標籤單元10中的相應表項。此時訪問地址13在標籤單元10中獲得匹配,相應信息經總線23送到較高存儲器層次或處理器核供使用。也可以將總線21上的信息在存入存儲器20的同時直接旁路到總線23上。地址產生器18基於總線11上的地址,在該地址上增加一個增量15,其增量為一個信息塊的大小,產生預測地址(Predicted Address)19送到選擇器14的另一個輸入端。圖中未顯示的仲裁器控制選擇器14,如訪問地址13有效,則仲裁器選擇訪問地址13放上總線11送到標籤單元10匹配;如訪問地址13上無效,而預測地址19有效,則仲裁器選擇預測地址19放上總線11送到標籤單元10匹配。

如預測地址19未在標籤單元中獲得匹配,則該預測地址19經總線11送出訪問較低存儲器層次,獲得的信息經總線21存入本存儲器層次的存儲器20,總線11上的地址也被存入標籤單元10中的相應表項。此時總線21上的信息不需被旁路到總線23上。地址產生器18就如此循環,在總線11的地址上增加增量15產生預測地址19;只要訪問地址13無效,仲裁器就控制選擇器14選擇預測 地址19經總線11送到標籤單元10匹配;只要預測地址與標籤單元10中的標籤不匹配,總線11上的預測地址就被送出訪問較低的存儲器層次獲取信息存入存儲器20;地址產生器18在總線11的地址上增加增量15產生預測地址19。當預測地址19與標籤單元10中的標籤匹配時,則地址產生器18終止基於該預測地址的後續操作。即本實施例的地址產生器18由在標籤單元10中未獲得匹配的訪問地址13觸發,持續產生預測地址19以訪問較低的存儲器層次,獲取信息填充本存儲層次的存儲器20,直到預測地址在本層次的標籤單元10中獲得匹配為止。也即以地址與標籤單元10中的標籤匹配來控制地址產生器的操作,未匹配的訪問地址觸發地址產生器18的操作,匹配的預測地址終止地址產生器18的操作。

實施例一中的地址產生器18在其產生的預測地址19與標籤存儲器10中的標籤匹配時會持續操作。某些情況下,需要地址產生器18在預測地址與標籤仍然匹配的情況下終止操作,比如在程序的結尾處,以下三個實施例展示三種不同的終止方式。

【實施例二】

請參考圖2,其為本發明實施例二的存儲層次系統的框結構示意圖。其中10為緩存器標籤單元,20為緩存器存儲器,18為地址產生器,13為訪問地址,19為預測地址,14為選擇器選擇13或19,11為經選擇器14選擇後的地址總線,21為較低存儲層次與本層次之間的信息總線,23為本層次與較高存儲層次或處理器核之間的信息總線,與圖1中相同。其操作也與實施例一相似,不再贅述。圖2中增加了指令解碼器22。來自較高存儲層次或處理器核的訪問地址13有一伴隨信號指明要獲得的的信息是指令或數據。這一信號經總線11送到地址產生器18,地址產生器18產生預測地址19時也保持這一信號。因此根據伴隨總線11上的預測地址的這一信號可以確定經總線21來自較低存儲層次的信息塊是指令塊或數據塊。指令解碼器22對總線21上的指令塊中指令進行解碼。如果22譯出上述指令塊中有間接分支指令,則使地址產生器18終止產生預測地址。因為編譯後的程序都以間接分支指令結尾,如此就避免了對程序結尾以後的存儲器位置進行預取。

【實施例三】

請參考圖3,其為本發明實施例三的存儲層次系統的框結構示意圖。其中10為緩存器標籤單元,20為緩存器存儲器,18為地址產生器,14為選擇器,13為訪問地址,19為預測地址,11為經選擇器14選擇後的地址總線,21為較低存儲層次與本層次之間的信息總線,23為本層次與較高存儲層次或處理器核之間的信息總線,與圖1中相同。其操作也與實施例一相似,不再贅述。圖3中增加了計數器12。計數器12對由地址產生器18根據總線13上的訪問地址產生的預測地址19賦予一個初始計數值『N』。地址產生器每產生一個新的預測地址,計算器12中的計數值即減『1』。當計算器12中的計數值到『0』時,使地址產生器18終止操作,使預取的信息塊數目不超過一個預設的最大值。如此可以防止預取太多處理器核的分支選擇不執行的指令段或不使用的數據段。也可以防止預取太多程序結尾後的無效信息。

【實施例四】

請參考圖4,其為本發明實施例四的存儲層次系統的框結構示意圖。其中10為緩存器標籤單元,20為緩存器存儲器,18為地址產生器,14為選擇器,13為訪問地址,19為預測地址,11為經選擇器14選擇後的地址總線,21為較低存儲層次與本層次之間的信息總線,23為本層次與較高存儲層次或處理器核之間的信息總線,與圖1中相同。其操作也與實施例一相似,不再贅述。圖4中增加了比較器16。比較器16將由地址產生器18根據總線13上的訪問地址產生的預測地址19與16中存儲的地址邊界比較。如預測地址19越過了比較器16中存儲的地址邊界,則使地址產生器18終止操作,使預取的信息塊不越過地址邊界。該地址邊界可以是分配給處理器的的最小存儲器區間,例如一個存儲頁面(page)或一個存儲段(segment)。如此可以防止預取超出本線程所獲分配的存儲器範圍。同樣可以防止預取太多處理器核選擇不執行的指令段或不使用的數據段。所述地址邊界可以是預存在比較器16中或由程序寫入比較器16中的寄存器中。

【實施例五】

請參考圖5,其為本發明實施例五的存儲層次系統的框結構示意圖。其中10為緩存器標籤單元,20為緩存器存儲器,18為地址產生器,14為選擇器,13為訪問地址,19為預測地址,11為經選擇器14選擇後的地址總線,21為較 低存儲層次與本層次之間的信息總線,23為本層次與較高存儲層次或處理器核之間的信息總線,與圖1中相同。其操作也與實施例一相似,不再贅述。圖5中增加了圖2中的指令解碼器22,圖3中的計數器12以及圖4中的比較器16。可以根據需要選用上述的部分或全部裝置以終止地址產生器18的操作。如果使用上述全部裝置,則在標籤單元10中未獲得匹配的有效訪問地址13觸發地址產生器18產生預測地址19,預測地址經總線11送出訪問較低存儲層次,獲取信息填充存儲器20。地址產生器18持續產生新的預測地址19直到預測地址與標籤單元中的標籤匹配,或預測地址越過預設的存儲器地址邊界,或產生的預測地址的數目達到了預設的最大值,或獲取的指令塊中有間接分支指令為止。

【實施例六】

請參考圖6,其為本發明實施例六的存儲層次系統的框結構示意圖。其中10為緩存器標籤單元,20為緩存器存儲器,14為選擇器,13為訪問地址,19為預測地址,11為經選擇器14選擇後的地址總線,21為較低存儲層次與本層次之間的信息總線,23為本層次與較高存儲層次或處理器核之間的信息總線,以上各模塊及總線與圖1中同樣號碼的模塊相同。新增掃描器28,其包含了實施例一至四中地址產生器18,計數器12,比較器16的功能,並能掃描通過總線28傳輸的信息塊,根據其中分支指令產生分支目標初始地址。實施例六可實現實施例五的所有功能。實施例六與實施例五以及實施例一至四的最大差異在於地址產生器操作不但可以由有效的訪問地址13在標籤單元中未獲匹配而獲得;而且可以由有效的訪問地址13在標籤單元10中獲得匹配觸發。

上述有效訪問地址13在標籤單元中未獲匹配,因而觸發地址產生器及地址產生器操作的過程與實施例一中相同,在此不再贅述。有效的訪問地址13經總線11在標籤單元10中獲得匹配時,從存儲器20讀取相應信息塊經總線23送到較高存儲層次或處理器核,同時也將總線11上的有效訪問地址送到掃描器28。掃描器中的地址產生器根據上述在標籤單元中標籤匹配的有效訪問地址持續產生預測地址,並按實施例一至四中各條件終止產生預測地址。掃描器28中的地址產生器可以在上述有效地址中的塊地址(存儲器地址高位,例如標籤與索引地址)上加上增量獲得順序下個信息塊的初始預測地址。進一步,掃描器28也可以解碼總線23上指令塊中的各指令,對其中的分支指令,28中的地址產生器 以分支指令本身的地址加上分支指令中的分支偏移量得到分支目標地址作為初始預測地址。此後地址產生器即產生初始預測地址後的順序預測地址直到終止條件使其終止產生預測地址。某些存儲器器層次結構用緩存地址來直接對存儲器尋址,此時可以用緩存塊地址(緩存地址中的高位,例如路號與索引地址)讀出標籤單元10中的標籤與索引地址合併送到掃描器28作為存儲器塊地址。

【實施例七】

請參考圖7,其為本發明實施例六的存儲層次系統的掃描器結構示意圖。實施例7可以完成以順序下塊地址為初始預測地址的操作。圖7中10為緩存器標籤單元,20為緩存器存儲器,14為選擇器,22為指令地址解碼器,13為訪問地址,19為預測地址,11為經選擇器14選擇後的地址總線,21為較低存儲層次與本層次之間的信息總線,以上各模塊及總線與圖5中同樣號碼的模塊相同。掃描器28包含了由寄存器30,加法器32,選擇器34構成的地址產生器,其功能類似於實施例一中的地址產生器18;包含了由寄存器36,減法器38,選擇器40構成的計數器,其功能類似於實施例三中的計數器12;包含了地址邊界比較器16,還包含了由存儲單元40及41構成的有損棧(Loosy Stack)。

當滿足實施例六所述的觸發條件時,(即訪問地址13有效時),選擇器40選擇預設最大預取數『N』33送到減法器38減『1』,其差存入寄存器36;同時選擇器34選擇總線11上的地址送到加法器32與增量15相加,其和存入寄存器30。30的輸出即為預測地址19,如此時訪問地址13無效,選擇器14選擇預測地址19經總線11送到標籤單元10匹配。如預測地址19與10中的標籤匹配,則終止地址產生器的進一步操作。如預測地址19與10中的標籤不匹配,則總線11上的地址被送到較低存儲層次讀取信息填入存儲器20;同時選擇器40選擇寄存器36的輸出37送到減法器38減『1』,其差存入寄存器36;選擇器34選擇總線19上的預測地址送到加法器32與增量15相加,其和存入寄存器30。如此循環操作直到減法器38的輸出為『0』;或預測地址19與標籤單元10中標籤匹配,或預測地址19越過邊界比較器16中預設的邊界;或指令解碼器22譯出間接分支指令為止。

如果地址產生器操作過程中得知,訪問地址13將會有效,則選擇器14在本時鐘周期仍選擇預測地址19放上總線11送到標籤單元10匹配。同時預測地 址19被壓入有損棧中存儲器46,總線37上的計數被壓入有損棧中存儲器48的同一行。下一時鐘周期,選擇器14選擇有效的訪問地址13放上總線11送到標籤單元10匹配。如果不匹配,此後如前所述,掃描器28中選擇器34選擇總線11上新的訪問地址送到加法器32產生基於新的訪問地址的預測地址;同時選擇器40選擇最大預取塊數33送到減法器38計數,開始基於新的訪問地址的預取。當基於新的訪問地址的預取因為上述任何原因終止時,選擇器34選擇來自有損棧中存儲器46的總線31,將棧頂的預測地址送入加法器32與增量15相加;同時選擇器40選擇來自有損棧中存儲器48的總線35,將棧頂的計數值送入減法器38減『1』;如此恢復被打斷的基於老的訪問地址的預取。棧的使用使得對處理器核最可能需要的信息的預取(當前有效訪問地址13提出訪問請求的後續信息的預取)或較可能需要的信息的預取(最近的有效訪問地址13提出訪問請求的後續信息預取的地址在棧頂或接近棧頂)有優先權。有損棧深度有限,當有損棧填滿後繼續對其壓棧,會使位於其棧底的表項被拋棄。如此可以放棄對處理器核在短時間內較少概率使用的信息(其地址可能在棧底)的預取。

圖7中實施例中掃描器28可以根據訪問地址產生順序預測地址,其與圖5中各模塊是完全等效的,可以將掃描器28應用到圖5中以取代圖5中地址產生器18,計數器12及邊界比較器16。對圖7實施例稍做改變可以使其對經總線23傳遞的分支指令做分支目標預取。

【實施例八】

請參考圖8,其為本發明實施例六的存儲層次系統的掃描器結構示意圖。實施例八可以完成以順序下塊地址為初始預測地址,以及以分支目標地址為初始預測地址的操作。圖8中10為緩存器標籤單元,20為緩存器存儲器,14為選擇器,22為指令地址解碼器,13為訪問地址,19為預測地址,11為經選擇器14選擇後的地址總線,21為較低存儲層次與本層次之間的信息總線。掃描器28包含了由寄存器30,加法器33,選擇器34構成的地址產生器;包含了由寄存器36,減法器38,選擇器40構成的計數器;包含了地址邊界比較器16,還包含了由存儲單元40及41構成的有損棧(Loosy Stack)。以上各模塊及總線與圖7中同樣號碼的模塊相同。與圖7中相比增加了本層次與較高存儲層次或處理器核之間的信息總線23,掃描器28中也增添了指令解碼器50及選擇器52以便支 持以分支目標地址為初始預測地址的操作。

實施例中掃描器28產生兩種初始預測地址,順序初始預測地址,或者分支目標初始預測地址。產生初始預測地址後都按在當前預測地址上增加增量的方法產生下一個預測地址(也即按地址順序下一信息塊的地址)。不管訪問地址在標籤單元10中是否匹配,掃描器28都會以總線11上的訪問地址加上增量15的方式產生順序初始預測地址,並在該順序初始預測地址上產生後續預測地址,從較低存儲層次預取信息存入本層次的存儲器20,直到終止條件使掃描器28中地址產生器終止產生預測地址為止。當以順序地址為預測地址時,圖8中指令解碼器50控制選擇器52選擇增量15送到加法器32的輸入端,其後的操作過程與實施例七及圖7完全一致,在此不再贅述。

只有當總線11上的指令訪問地址在標籤單元10中匹配,存儲器20經總線23輸出相應的指令塊時,掃描器28才會產生分支目標初始預測地址。此時指令解碼器50對總線23上的上述指令塊中的指令進行解碼,對指令中的直接分支指令計算其分支目標地址。此時指令解碼器50控制選擇器52選擇總線23上該分支指令中的分支偏移量送到加法器32的一個輸入端;並且將該分支指令在指令塊中的塊內地址偏移量經總線54送出,與總線11上的塊地址拼合成分支指令的源地址送到加法器32的另一個輸入端。加法器32將分支指令的地址(源地址)與分支偏移量相加,輸出分支目標地址。該分支目標地址經寄存器30寄存後輸出,是為分支目標初始地址19。如此時訪問地址13無效,則該分支目標初始地址被選擇器14選擇,經總線11送往標籤單元10匹配。若分支目標初始地址與標籤單元10中的標籤匹配,則該分支目標指令已在存儲器20中,不需基於該分支目標初始地址進行任何預取。因此指令解碼器50可以處理下一條直接分支指令。

如果分支目標初始地址與標籤單元10中的標籤不匹配,則選擇器34選擇分支目標初始地址19送到加法器32的一個輸入端,此時指令解碼器50控制選擇器52選擇增量15送到加法器32的另一個輸入端,因此加法器32的輸出即分支目標初始地址的順序下一個指令塊的地址。請注意標籤單元10的匹配及對存儲器20訪問只使用塊地址,即地址的標籤部分以及索引地址,因此預測地址19上的塊內地址偏移量對上述匹配與尋址沒有影響;但是加法器32計算分支目 標初始地址時需要將分支指令的塊內地址偏移量經總線54與總線11上的塊地址拼合送到加法器32的輸入端,否則產生的分支目標初始地址可能有誤差,落在錯誤的指令塊上。此後的操作與實施例七及圖7相同,不再贅述。

根據本發明技術方案,還可以將本發明所公開的方法與系統應用到不同結構的存儲器層次結構中。某些緩存系統使用緩存器地址直接訪問存儲器層次,緩存器地址沒有存儲器地址中的標籤,而是已經將標籤映射為路號。因此緩存器塊地址只有路號及索引地址。掃描器28配合這種緩存系統時可以用緩存器塊地址尋址標籤單元10,從中讀出相應的標籤,將該標籤與緩存器塊地址中的索引地址拼合成存儲器塊地址經總線11送到掃描器28中供其產生預測地址。其餘操作與上述實施例八相同。本發明所公開的方法與系統適用於任何存儲器層次結構,特別適合於存儲器容量較大的存儲器層次,例如處理器中層次最低的存儲器層次,最後級緩存(Last Level Cache)。

根據本發明技術方案和構思,還可以有其他任何合適的改動。對於本領域普通技術人員來說,所有這些替換、調整和改進都應屬於本發明所附權利要求的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀