新四季網

分支預測方法及裝置、處理器的製作方法

2023-10-16 22:24:39 3

專利名稱:分支預測方法及裝置、處理器的製作方法
技術領域:
本發明涉及數據處理技術領域,特別涉及分支預測方法及裝置、處理器。
背景技術:
目前,分支預測技術在開發處理器指令集並行(ILP)中起到了重要的作用,且指 令流水線級數越多,分支預測技術對處理器性能的影響越大。現有技術中採用的分支預測技術可劃分為靜態預測技術和動態預測技術。而動態 預測技術又可劃分為一級表預測技術和兩級自適應表預測技術。一級表預測技術一般是基於某條分支指令有限的歷史信息進行預測的。例如,參 照圖1所示,所述的一級表預測技術通過索引歷史信息表10中分支指令地址對應的飽和計數器11、12......Ia的值來進行預測。假設所述飽和計數器11、12......la(a = 21,i為分支指令地址位數)是2bits的飽和計數器,則飽和計數器的各個值可分為00- 「不發生」、 01- 「弱不發生」、10- 「弱發生」、11- 「發生」四個狀態。飽和計數器的訓練方法為實際跳 轉發生一次,計數器+1,11為飽和值再+1還是等於11,而實際跳轉不發生一次,計數器-1, 00為飽和值再-1還是等於00。由此可以看到,對於2bits的飽和計數器,一般只對前兩次 的歷史信息有記憶,沒有考慮分支執行的上下文信息,對於類似一次跳轉一次不跳轉的分 支指令則會形成顛簸,特別是飽和計數器的值對應「弱發生」和「弱不發生」狀態時,對後續 一次跳轉發生一次跳轉不發生的程序軌跡可能每次都會預測錯。例如,假定分支指令的程序軌跡為一次跳轉發生,一次跳轉不發生,當前2bits的 飽和計數器值為「01」,則根據當前飽和計數器的值預測分支指令跳轉不發生,但實際分支 指令跳轉為發生,則飽和計數器的值+1,其值修改為「10」。下一次預測時,根據飽和計數器 的值「 10」就會預測分支指令跳轉發生,但實際分支指令跳轉為不發生。基於一級表預測技術的不足,現有大多採用兩級自適應表預測技術。第一級表為 分支歷史模式表,用於保存每條或每組分支指令的歷史模式,其包括1個或多個分支歷史 模式移位寄存器(BHSR),第二級第為模式歷史信息表(PHT),用於保存每條分支指令在特 定歷史模式下的歷史信息,由飽和計數器陣列組成。其中,BHSR的實現有兩種選擇統一(G)方式和單獨或單組(P)方式,而PHT的實 現有三種選擇統一(g)方式、單獨(P)方式和共享(S)方式。由於BHSR的單獨實現,即每 條分支指令對應一個BHSR組成一個以指令全地址為索引的BHSR的陣列,其硬體代價實在 太大,基於目前的工藝只能說是一種理論上的方案,所以BHSR的單獨或單組(P)方式通常 指的是一組分支指令共享一個BHSR,構成一個用部分指令地址為索引的BHSR的陣列。總結兩級自適應表預測技術現有的實現中,值得研究的有5種實現l)GAg 統一的 BHSR、統一的 PHT 表參照圖2所示,該實現是以統一的歷史信息移位寄存器20中保存的所有分支指令統一的歷史模式索引模式歷史信息表30中相應飽和計數器301、302...... 30b(b = 2k,k為歷史模式位數)中保存的歷史信息,以此對下一條分支指令進行預測。該實現的優點在於節省資源,其資源消耗和一級表預測技術差不多。但該實現的缺點在於只反應了程序中分 支指令的全局規律,對於不依賴於統一歷史模式而只依賴於自身歷史模式的情況,不同分 支指令的歷史信息會相互影響,從而降低預測精度。2) PAg 單獨的 BHSR,統一的 PHT 表參照圖3所示,該實現根據每條(每組)分支指令的歷史模式和模式對應的統一 的歷史信息,對下一條分支指令進行預測。即,分支歷史信息表21中的歷史信息移位寄存器211、212......21c(c = 2i,i為分支指令地址位數)中分別保存不同的歷史模式,以每條(每組)分支指令相應的歷史信息移位寄存器211、212......21c中保存的歷史模式來索引模式歷史信息表31中相應飽和計數器311、312......31d(d = 2k,k為歷史模式位數)中保存的歷史信息。該實現的優點在於每條(每組)分支指令的歷史模式分開保存,對於 不依賴於統一歷史模式而只依賴於自身歷史模式的情況,其預測精確度比GAg實現方式有 所提高,而且資源適中。但該實現的缺點在於不同分支指令在相同歷史模式下的歷史信息 會相互影響,從而降低預測精度。3) PAs 單獨的BHSR,分組共享的PHT表參照圖4所示,該實現根據每條(每組)分支指令的歷史模式和模式對應的每條 (每組)分支指令的歷史信息,對下一條分支指令進行預測。即,分支歷史信息表22中的歷史信息移位寄存器221、222...... 22e(e = 2S i為分支指令地址位數)中分別保存不同的歷史模式,以每組分支指令相應的歷史信息移位寄存器211、212......21e中保存的歷史模式以及每組分支指令地址共同來索引模式歷史信息表32中相應飽和計數器321......32f......32g......32g+f(f = 21,!為分支指令地址位數;g = 2k,k為歷史模式位數,飽和計數器的總數為2iX2k)中保存的歷史信息。該實現的優點在於不同分支指令的歷史模式 和歷史信息都完全分開,其預測精度非常高。但該實現的缺點在於模式歷史信息表32中 飽和計數器陣列的面積相當龐大,並且延時開銷也太大。4) GAs 統一的BHSR,分組共享的PHT表參照圖5所示,該實現根據所有分支指令統一的歷史模式和模式對應的每組分支 指令的歷史信息,對下一條分支指令進行預測。即以統一的歷史信息移位寄存器23中保存 的所有分支指令統一的歷史模式以及每組分支指令地址共同來索引模式歷史信息表33中相應飽和計數器331...... 33h......33j......32j+h(h = 21, i為分支指令地址位數;j= 2k,k為歷史模式位數,飽和計數器的總數為2iX2k)中保存的歷史信息。該實現的優點 在於消除了不同組分支指令在相同歷史模式下的歷史信息間的相互影響,所以預測精度 比GAg高。該實現的缺點在於①對於不依賴於統一歷史模式而只依賴於自身歷史模式的 情況預測不準確。②模式歷史信息表33中飽和計數器陣列的面積仍然過於龐大,延時開銷 也仍然很大。5) Gshare 統一的BHSR,分組共享的PHT小表參照圖6所示,該實現與GAs類似,也以統一的歷史信息移位寄存器23中保存所 有分支指令統一的歷史模式。不同的是通過將分支指令地址的i位數據和歷史信息移位 寄存器23的k位歷史模式數據在計算單元25處進行雜湊(hash)計算,得出的結果為1位 的數據(假設1=嫩乂{1,幻),用1位的數據去索引模式歷史信息表34中相應飽和計數器 341,342...... 3^^ = 21)中保存的歷史信息。由於雜湊計算的結果中既包含了歷史模式信息,又包含了分支指令地址信息,所以不同組分支指令不會相互影響,起到了分組共享模 式歷史信息表的效果,但又控制了模式歷史信息表的大小。所以,該實現的優點在於只用 一個統一的k位歷史信息移位寄存器23和一個很小的歷史信息表34,就可以獲得同GAs相 當的預測精度。但該實現的缺點由於所有分支指令對應同一個歷史模式,所以對於不依賴 於統一歷史模式而只依賴於自身歷史模式的情況預測仍然不準確。因此,目前仍在研究既有較高的預測精度,硬體資源又較小的分支預測技術。

發明內容
本發明解決的問題是現有技術的分支預測技術或預測精度還不夠,或適應性不 好,或佔用硬體資源較大。為解決上述問題,本發明提供一種分支預測方法,包括在取指的同時,以指令地址中的j(j = 1,2,3......N)位地址數據索引其歷史模式,獲得對應的k(k= 1,2,3......N)位歷史模式數據;將所述指令的j位地址數據中的i(i = 1,2,3......j)位地址數據和所述k位歷史模式數據進行異或運算獲得η (η彡MAX{i,k})位運算結果;以所述η位運算結果索引所述指令在所述歷史模式下的歷史信息;以索引獲得的歷史信息數據對所述指令的下一個取指地址進行預測。相應地,本發明還提供一種分支預測裝置,包括歷史模式存儲器,包括多個存儲單元,每個存儲單元用於保存每條或每組指令的 歷史模式數據,所述歷史模式數據為k位數據;模式歷史信息存儲器,包括多個存儲單元,每個存儲單元用於保存每條或每組指 令在特定歷史模式下的歷史信息數據;第一索引單元,在取指的同時,以指令地址中的j(j = 1,2,3......N)位地址數據索引歷史模式存儲器,獲得所述指令的k(k = 1,2,3......N)位歷史模式數據;運算單元,將所述指令的j位地址數據中的i(i = 1,2,3......j)位地址數據與第一索引單元獲得的所述指令的k位歷史模式數據進行異或運算,獲得η (n ( MAX{i, k}) 位運算結果;第二索引單元,以運算單元獲得的η位異或運算結果索引模式歷史信息存儲器, 獲得所述指令在所述k位歷史模式數據對應的歷史模式下的歷史信息數據;預測單元,以第二索引單元獲得的歷史信息數據對所述指令的下一個取指地址進 行預測。相應地,本發明還提供一種包括上述分支預測裝置的處理器。與現有技術相比,上述分支預測方法及裝置、處理器具有以下優點通過將指令 地址和指令的歷史模式做異或運算後對歷史信息進行索引,以索引的結果進行預測。由於 這樣的索引既包含了指令的地址信息,又包含指令的歷史模式信息,因此既能區分不同指 令的歷史信息,又能區分不同歷史模式的歷史信息,從而有效地解決了現有技術例如GAg、 Gshare實現使用統一歷史模式進行預測的缺點,即對於不依賴於統一歷史模式而只依賴於 自身歷史模式的情況預測不準確。並且,上述分支預測裝置中的模式歷史信息存儲器,其最少只需2n個存儲單元,就可保存指令在所有歷史模式下的歷史信息,其無需如GAs、PAs實現中需要龐大的(2」Χ2η 個)飽和計數器陣列來保存歷史信息,因而節省了模式歷史信息存儲器的大小,從而也減 小了對模式歷史信息存儲器的訪問延時。


圖1是現有技術一級表預測技術的一種實施方式簡易示意圖;圖2 圖6是現有技術兩級自適應表預測技術的各種實施方式簡易示意圖;圖7是本發明分支預測方法的一種實施方式流程圖;圖8是本發明分支預測裝置的一種實施例結構示意圖。
具體實施例方式參照圖7所示,本發明分支預測方法的一種實施方式包括步驟81,在取指的同時,以指令地址中的乂」=1,2,3......N)位地址數據索引其歷史模式,獲得對應的k(k = 1,2,3......N)位歷史模式數據;步驟s2,將所述指令的j位地址數據中的i(i = 1,2,3......j)位地址數據和所述k位歷史模式數據進行異或運算獲得η (η彡MAX{i,k})位運算結果;步驟s3,以所述η位運算結果索引所述指令在所述歷史模式下的歷史信息;步驟s4,以索引獲得的歷史信息數據對所述指令的下一個取指地址進行預測。上述分支預測的實施方式中,先以指令地址中的j位地址數據索引獲得所述指令 的歷史模式對應的k位歷史模式數據,再通過將所述指令的j位地址數據中的i位地址數 據和所述指令的k位歷史模式數據進行異或運算,來獲得同時包含指令的地址信息及指令 的歷史模式信息的索引信息。此索引信息中,指令的歷史模式信息可用於區分不同歷史模 式下的歷史信息,而指令的地址信息則可在歷史模式相同時區分不同指令的歷史信息。因 此,以此索引信息索引獲得的歷史信息進行預測可以有效地解決現有技術對於不依賴於統 一歷史模式而只依賴於自身歷史模式的情況預測不準確的問題,並且也有效地解決了不同 指令在相同歷史模式下的歷史信息會相互影響的問題。參照圖8所示,本發明分支預測裝置的一種實施例包括歷史模式存儲器400,包括存儲單元401、402...... 40η,每個存儲單元用於保存每條或每組指令的歷史模式數據,所述歷史模式數據為k位數據;模式歷史信息存儲器700,包括存儲單元701、702...... 70p,每個存儲單元用於保存每條或每組指令在特定歷史模式下的歷史信息數據;第一索引單元501,在取指的同時,以指令地址中的j(j = 1,2,3......N)位地址數據索引歷史模式存儲器400,獲得所述指令對應的k(k= 1,2,3......N)位歷史模式數據;運算單元600,將所述指令的j位地址數據中的i(i = 1,2,3......j)位地址數據與第一索引單元501獲得的所述指令的k位歷史模式數據進行異或運算,獲得 n(n^MAX{i,k})位運算結果;第二索引單元502,以運算單元600獲得的η位異或運算結果索引模式歷史信息存 儲器700,獲得所述指令在所述k位歷史模式數據對應的歷史模式下的歷史信息數據;
預測單元800,以第二索引單元502獲得的歷史信息數據對所述指令的下一個取 指地址進行預測;第一更新單元901,根據分支指令的執行結果對所述指令對應的歷史模式存儲器 400中相應存儲單元保存的歷史模式數據進行更新;第二更新單元902,根據分支指令的執行結果對歷史信息存儲器700中相應存儲 單元保存的所述指令在原歷史模式下的歷史信息數據進行更新。其中,所述歷史模式存儲器400中存儲單元的個數可以大於或等於所述模式歷 史信息存儲器700中存儲單元的個數可以大於或等於2n,所述模式歷史信息存儲器700中 的存儲單元保存的歷史信息數據可以為2位數據。此外,在上述分支預測裝置以硬體形式實現時,第一索引單元501與歷史模式存 儲器400可集成為一個統一的存儲器,第一索引單元501作為該存儲器的讀控制邏輯。同 理,第二索引單元502與模式歷史信息存儲器700也可集成為一個統一的存儲器,第二索引 單元502作為該存儲器的讀控制邏輯。本發明還提供一種包括上述實施例的分支預測裝置的處理器。以下基於上述分支預測裝置的實施例,對分支預測的過程作進一步說明。在每次取指的同時,第一索引單元501以指令地址中的j位地址數據索引歷史模 式存儲器400,若索引命中,則說明該指令為分支指令,且已讀取到所述分支指令的對應的 歷史模式數據。假設當前分支指令為BrO。則當第一索引單元501以分支指令BrO地址中 的j位地址數據索引歷史模式存儲器400命中時,第一索引單元501從歷史模式存儲器400 中取出與分支指令BrO對應的k位歷史模式數據BHSR(BrO),並將之傳輸至運算單元600。運算單元600將第一索引單元501傳輸的分支指令BrO的k位歷史模式數據 BHSR(BrO)與所述j位地址數據中的i位地址數據進行異或運算,獲得η位異或運算結果。 根據前述說明,所述η位異或運算結果既包含了分支指令BrO的部分地址信息(由所述 i位地址數據提供),又包含了分支指令BrO的歷史模式信息(由所述k位歷史模式數據 BHSR(BrO)提供)。所述運算單元600獲得η位異或運算結果後,將之傳輸至第二索引單元 502。第二索引單元502在獲得所述η位異或運算結果後,根據所述η位異或運算結果 索引模式歷史信息存儲器700,取出與η位異或運算結果對應的存儲單元保存的歷史信息 數據。以所述存儲單元為2位飽和計數器為例,所述歷史信息數據就是所述2位飽和計數 器的值,其對應所述分支指令BrO在所述歷史模式下的歷史信息。第二索引單元502獲得 所述2位飽和計數器值後,將之傳輸至預測單元800。預測單元800在獲得所述分支指令BrO對應的2位飽和計數器值後,對分支指 令BrO的下一個取指地址進行預測。如前述說明的,飽和計數器值為不發生或弱不發生 (00- 「不發生」、01- 「弱不發生」)時,就預測跳轉不發生,而飽和計數器值為弱發生或發生 (10- 「弱發生」、11- 「發生」)時,就預測跳轉發生。預測單元800還會將預測結果隨著所 述分支指令BrO傳輸至執行站臺。所述分支指令BrO經過執行站臺執行後,執行站臺根據分支指令BrO執行的結果, 以及伴隨本分支指令BrO的預測結果,來決定預測是否失敗。若預測失敗,則執行站臺需要 通知取指站臺重新從計算的地址開始取指,並通知分支預測裝置進行更新。執行站臺會將更新請求和對應的更新數據(包括1位的跳轉方向信息和若干位的跳轉地址)傳輸至第一 更新單元901和第二更新單元902。而第一更新單元901和第二更新單元902基於更新請求,根據所獲得的更新數據 中的跳轉方向信息分別對歷史模式存儲器400中保存的分支指令BrO的歷史模式數據進行 更新,以及對模式歷史信息存儲器700中保存的分支指令BrO在原歷史模式下的歷史信息 數據進行更新(通常將此更新過程稱之為訓練)。所述訓練過程如下第一更新單元901從第一索引單元501處獲得分支指令BrO 的原歷史模式數據BHSR(BrO),若分支指令BrO的執行結果是跳轉發生,則第一更新單元 901將BrO的原歷史模式數據BHSR(BrO)的值進行如下修改=BHSR(BrO) << 111,b 1,即 原BHSR(BrO)的值左移1位,並在最低位拼上「 1 」,生成新的BHSR(BrO)的值,並將該新的 BHSR(BrO)的值寫入歷史模式存儲器400中保存分支指令BrO的歷史模式數據的存儲單 元;若BrO的執行結果是轉移不發生,則第一更新單元901將BHSR(BrO)的值進行如下修 改=BHSR(BrO) << 11 l,b0,即原BHSR(BrO)的值左移1位,並在最低位拼上「0」,生成新的 BHSR(BrO)的值,並將該新的BHSR(BrO)的值寫入歷史模式存儲器400中保存分支指令BrO 的歷史模式數據的存儲單元。第二更新單元902從第二索引單元502處獲得分支指令BrO在原歷史模式下的歷 史信息數據,若分支指令BrO的執行結果為跳轉發生,則第二更新單元902將該歷史信息數 據的值+1後生成新的歷史信息數據寫入模式歷史信息存儲器700中相應存儲單元,即以新 的歷史信息數據更新2位飽和計數器的值;若分支指令Br的執行結果為跳轉不發生,則第 二更新單元902將該歷史信息數據的值-1後生成新的歷史信息數據寫入模式歷史信息存 儲器700中相應飽和計數器存儲單元,即以新的歷史信息數據更新2位飽和計數器的值。此外,根據處理器設計的目標(主頻、性能、面積、功耗等)和不同應用程式的特 點,用於索引歷史模式數據的分支指令的地址位數j、歷史模式數據的位數k、與歷史模式 數據一起供運算單元600運算的分支指令的地址位數i以及運算單元600的運算方式都可 以進行相應配置。更具體地說,根據實現代價評估和可接受程度,用於索引歷史模式存儲器400的 分支指令地址位數j可以配置,j的值越接近於指令全地址的長度,預測精度越高,但相應 地,歷史模式存儲器400的容量會成2的冪次方增長,面積和延時開銷都會隨之增長。此外, 在所述分支指令地址中選取j位地址數據可以基於分支指令的取指地址跳轉的密度進行, 當跳轉密度較高時,可以選取分支指令地址的低段地址,當跳轉密度較低時,可以選取分支 指令地址的高段地址。同樣,分支指令的地址位數i、歷史模式數據的位數k也可以按需進 行配置,i、k值的選擇同樣也關係著模式歷史信息存儲器700的面積和訪問延時。根據應用程式的不一樣,結合實現延時代價,運算單元600的異或運算方式也可 以配置假設進行異或運算的歷史模式數據BHSRl和部分分支指令地址PCl都是lObits, 則異或運算可以直接是BHSRl[9: 0] PC1[9:0],將獲得10位運算結果的作為第二索 引單元502的索引位,第二索引單元502就可以所述10位索引位索引模式歷史信息存儲器 700。所述異或運算也可以是{ BHSRl[9:5] θPCl[4:0], BHSRl[4:0]},具體地說,將BHSRl的高5位[9:5]與PCl的低5位[4:0]異或運算獲得的5位數據作為第二索引單元502的索引位的高5位,BHSRl的低5位[4:0]直接作為第二索引單元502的索引 位的低5位。上述各種索引位的不同異或運算方法是為了避免不同分支指令在不同歷史模式 下映射到同一個歷史信息條目中去的別名情況。因此,選擇一個合理的運算方式可以有效 減小別名的概率。所述運算方式也可以根據預先嘗試多種配置並根據各種配置相應的預測 結果來確定一種性能最好的配置。基於以上舉例說明並對比現有技術可以看到,上述舉例的分支預測過程是一種接 近(ishare的硬體代價但可以達到近似PAs預測精度的實現,同時也可以彌補Gshare依賴 於全局自適應的局限(Gshare屬於一種全局自適應的兩級預測算法,它的適用範圍有限, 對整數類課題預測效果較好,但對浮點類課題預測效果不好),所述分支預測方法減小了不 同分支指令間的相互影響,又不會大幅增加歷史信息的保存容量。此外還可看到,上述舉例的分支預測過程可以解決Gshare的問題,同樣也可以解 決GAg、PAg的問題,所以在預測精度上比GAg、PAg、Gshare高。同時實現代價又比GAs和 PAs小很多。雖然本發明已以較佳實施例披露如上,但本發明並非限定於此。任何本領域技術 人員,在不脫離本發明的精神和範圍內,均可作各種更動與修改,因此本發明的保護範圍應 當以權利要求所限定的範圍為準。10
權利要求
1.一種分支預測方法,其特徵在於,包括在取指的同時,以指令地址中的j(j = 1,2,3......N)位地址數據索引其歷史模式,獲得對應的k(k= 1,2,3......N)位歷史模式數據;將所述指令的j位地址數據中的i(i = 1,2,3......j)位地址數據和所述k位歷史模式數據進行異或運算獲得η (η彡MAXU,k})位運算結果;以所述η位運算結果索引所述指令在所述歷史模式下的歷史信息; 以索引獲得的歷史信息數據對所述指令的下一個取指地址進行預測。
2.如權利要求1所述的分支預測方法,其特徵在於,還包括根據所述指令的執行結果 更新所述指令對應的歷史模式數據以及所述指令在原歷史模式下的歷史信息數據。
3.如權利要求2所述的分支預測方法,其特徵在於,當執行結果顯示跳轉不發生時,將 所述指令在原歷史模式下的歷史信息數據的值-1 ;當執行結果顯示跳轉發生時,將所述指 令在原歷史模式下的歷史信息數據的值+1。
4.如權利要求2所述的分支預測方法,其特徵在於,當執行結果顯示跳轉不發生時,將 所述k位歷史模式數據的值左移1位,並在最低位補0 ;當執行結果顯示跳轉發生時,將所 述k位歷史模式數據的值左移1位,並在最低位補1。
5.一種分支預測裝置,其特徵在於,包括歷史模式存儲器,包括多個存儲單元,每個存儲單元用於保存每條或每組指令的歷史 模式數據,所述歷史模式數據為k位數據;模式歷史信息存儲器,包括多個存儲單元,每個存儲單元用於保存每條或每組指令在 特定歷史模式下的歷史信息數據;第一索引單元,在取指的同時,以指令地址中的j(j = 1,2,3......N)位地址數據索引歷史模式存儲器,獲得所述指令的k(k= 1,2,3......N)位歷史模式數據;運算單元,將所述指令的j位地址數據中的i(i = 1,2,3......j)位地址數據與第一索引單元獲得的所述指令的k位歷史模式數據進行異或運算,獲得n(n<MAX{i,k})位運 算結果;第二索引單元,以運算單元獲得的η位異或運算結果索引模式歷史信息存儲器,獲得 所述指令在所述k位歷史模式數據對應的歷史模式下的歷史信息數據;預測單元,以第二索引單元獲得的歷史信息數據對所述指令的下一個取指地址進行預測。
6.如權利要求5所述的分支預測裝置,其特徵在於,還包括第一更新單元,根據指令的執行結果對所述指令對應的歷史模式存儲器中相應存儲單 元保存的歷史模式數據進行更新;第二更新單元,根據指令的執行結果對模式歷史信息存儲器中相應存儲單元保存的所 述指令在原歷史模式下的歷史信息數據進行更新。
7.如權利要求6所述的分支預測裝置,其特徵在於,當執行結果顯示跳轉不發生時,第 一更新單元將所述指令的k位歷史模式數據的值左移1位,並在最低位補0 ;當執行結果顯 示跳轉發生時,第一更新單元將所述指令的k位歷史模式數據的值左移1位,並在最低位補 1
8.如權利要求6所述的分支預測裝置,其特徵在於,當執行結果顯示跳轉不發生時,第二更新單元將所述指令在原歷史模式下的歷史信息數據的值-1 ;當執行結果顯示跳轉發 生時,第二更新單元將所述指令在原歷史模式下的歷史信息數據的值+1。
9.如權利要求5所述的分支預測裝置,其特徵在於,所述歷史模式存儲器中至少包括 2」個存儲單元。
10.如權利要求5所述的分支預測裝置,其特徵在於,所述模式歷史信息存儲器中至少 包括2n個存儲單元。
11.如權利要求5所述的分支預測裝置,其特徵在於,所述歷史信息數據為2位數據。
12.一種包括如權利要求5至11任一項所述的分支預測裝置的處理器。
全文摘要
一種分支預測方法及裝置、處理器。所述分支預測方法包括在取指的同時,以指令地址中的j位地址數據索引其歷史模式,獲得對應的k位歷史模式數據;將指令的j位地址數據中的i位地址數據和k位歷史模式數據進行異或運算獲得n位運算結果;以n位運算結果索引所述指令在所述歷史模式下的歷史信息;以索引獲得的歷史信息數據對所述指令的下一個取指地址進行預測。所述分支預測方法及裝置、處理器解決例如GAs、Gshare實現對不依賴統一歷史模式而只依賴自身歷史模式的情況預測不準的問題,也無需如GAs、PAs實現需要龐大的飽和計數器陣列來保存歷史信息,節省了硬體開銷及訪問延時。
文檔編號G06F9/38GK102053818SQ20091019835
公開日2011年5月11日 申請日期2009年11月5日 優先權日2009年11月5日
發明者嚴華錦, 劉傑, 張琦濱, 李強, 袁愛東, 高劍剛, 黃永勤 申請人:無錫江南計算技術研究所

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀