System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據處理,尤其涉及的是一種條件分支預測方法、裝置、終端及存儲介質。
技術介紹
1、現有技術中,利用tage(tagged?geometric?history?length)預測器進行分支預測已經成為主流的預測方式。tage預測器基于飽和計數器原理進行預測,在針對條件判斷規則固定的情況下,其可維持一定的預測準確率。然而,遇到條件判斷規則變化的情況下,其處理動態變化信息缺乏適應性,導致預測結果準確率較低。
2、因此,現有技術存在缺陷,有待改進與發展。
技術實現思路
1、本專利技術要解決的技術問題在于,針對現有技術的上述缺陷,提供一種條件分支預測方法、裝置、終端及存儲介質,旨在解決現有技術中條件分支中的條件判斷規則為變化模式下,預測器給出的預測結果準確率較低的問題。
2、本專利技術解決技術問題所采用的技術方案如下:
3、第一方面,本專利技術實施例提供一種條件分支預測方法所述條件分支預測方法基于目標分支預測器和tage預測器實現,所述目標分支預測器包括第一預測器和第二預測器,其特征在于,所述方法包括:
4、接收待處理的條件分支;
5、對所述條件分支中的條件判斷規則進行模式判斷;
6、若所述條件判斷規則為固定模式,則利用所述第一預測器對所述條件分支進行預測,得到第一預測結果,所述第一預測器為基于tage預測器二次開發的條件預測器;
7、若所述條件判斷規則為變化模式,則利用所述tage預測器和所述
8、在一種實施方式中,所述對所述條件分支中的條件判斷規則進行模式判斷,包括:
9、識別所述條件分支中的條件判斷規則;
10、判斷所述條件判斷規則中的條件是否基于固定值;
11、若所述條件基于固定值,則確定所述條件分支的條件判斷規則為固定模式;
12、若所述條件基于變化的值,則確定所述條件分支的條件判斷規則為變化模式。
13、在一種實施方式中,所述利用所述第一預測器對所述條件分支進行預測,得到第一預測結果,包括:
14、利用所述第一預測器獲取所述條件分支對應的分支信息,所述分支信息包括起始地址、目標地址和跳轉方向;
15、利用所述第一預測器基于所述起始地址、所述目標地址和所述跳轉方向進行處理,得到目標歷史信息,將所述目標歷史信息存儲至所述第一預測器的目標地址歷史寄存器和全局歷史寄存器;
16、通過所述全局歷史寄存器,結合所述跳轉方向和所述目標歷史信息確定索引;
17、利用索引在與所述第一預測器對應的多個預測表中依次查找條目,若在當前預測表中查找到對應條目,則對所述對應條目進行有效性判斷和置信度評估,若所述對應條目有效且置信度滿足第一預設閾值,則基于所述對應條目的數據生成第一預測結果并停止查找;
18、若所述對應條目無效或置信度不滿足第一預設閾值,則繼續在當前預測表和/或下一預測表中重復上述查找、有效性判斷及置信度評估操作,直至生成第一預測結果。
19、在一種實施方式中,所述基于所述起始地址、所述目標地址和所述跳轉方向進行處理,得到目標歷史信息,包括:
20、將所述目標地址左移一位后和所述起始地址進行異或,生成第一中間地址;
21、將所述第一中間地址左移一位,生成第二中間地址;
22、將所述跳轉方向與所述第二中間地址的低位異或,生成第三中間地址;
23、對所述第三中間地址進行折疊異或處理,以將其壓縮成預設長度的目標歷史信息。
24、在一種實施方式中,所述對應條目的數據包括標志位、計數器和有用位;所述對所述對應條目進行有效性判斷,包括:
25、若所述對應條目中的有用位表示有用,則確定所述對應條目有效;
26、若所述對應條目中的有用位表示無用,則判斷所述計數器的狀態,若所述計數器處于飽和狀態,則確定所述對應條目有效;
27、若所述計數器處于未飽和狀態,則確定所述對應條目無效。
28、在一種實施方式中,所述利用所述tage預測器和所述第二預測器對所述條件分支進行預測,得到第二預測結果,包括:
29、利用所述tage預測器對所述條件分支進行預測,得到第一中間預測結果;
30、利用所述第二預測器對所述條件分支進行預測,得到第二中間預測結果;
31、判斷所述第二中間預測結果的置信度是否飽和,若第二中間預測結果的置信度飽和,則將所述第二中間預測結果作為第二預測結果;
32、若第二預測結果的置信度未飽和,則將所述第一中間預測結果作為第二預測結果。
33、在一種實施方式中,所述利用所述第二預測器對所述條件分支進行預測,得到第二中間預測結果,包括:
34、利用所述第二預測器獲取所述條件分支對應的起始地址;
35、根據所述起始地址,在所述第二預測器的預設匹配表中查找與所述條件分支關聯的關聯條目,所述關聯條目包括局部歷史模式、匹配長度字段和置信度字段;
36、基于所述起始地址,從所述關聯條目中提取對應的局部歷史模式,所述局部歷史模式用于存儲所述條件分支的局部執行歷史信息;
37、從所述局部歷史模式的低位截取與所述匹配長度字段相對應的模式字段,并將其與所述條件分支的實際執行歷史進行匹配;
38、若所述模式字段與所述實際執行歷史匹配成功,則根據所述局部歷史模式中與匹配字段相鄰的下一位數據,生成第二預測結果。
39、第二方面,本專利技術實施例還提供一種條件分支預測裝置,所述條件分支預測裝置基于目標分支預測器和?tage?預測器構建,所述目標分支預測器包括第一預測器和第二預測器;所述裝置包括:
40、分支接收模塊,用于接收待處理的條件分支;
41、模式判斷模塊,用于對所述條件分支中的條件判斷規則進行模式判斷;
42、第一預測模塊,用于若所述條件判斷規則為固定模式,則利用所述第一預測器對所述條件分支進行預測,得到第一預測結果,所述第一預測器為基于tage預測器改進的條件預測器;
43、第二預測模塊,用于若所述條件判斷規則為變化模式,則利用所述tage預測器和所述第二預測器對所述條件分支進行預測,得到第二預測結果,所述第二預測器為局部歷史預測器,具有可變的匹配模式長度。
44、第三方面,本專利技術實施例還提供一種終端,所述終端包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的條件分支預測程序,所述條件分支預測程序被所述處理器執行時實現如上所述的條件分支預測方法的步驟。
45、第四方面,本專利技術實施例還提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有條件分支預測程序,所述條件分支預測程序能夠被執行以用于實現如上所述的條件分本文檔來自技高網...
【技術保護點】
1.一種條件分支預測方法,所述條件分支預測方法基于目標分支預測器和TAGE預測器實現,所述目標分支預測器包括第一預測器和第二預測器,其特征在于,所述方法包括:
2.根據權利要求1所述的條件分支預測方法,其特征在于,所述對所述條件分支中的條件判斷規則進行模式判斷,包括:
3.根據權利要求1所述的條件分支預測方法,其特征在于,所述利用所述第一預測器對所述條件分支進行預測,得到第一預測結果,包括:
4.根據權利要求3所述的條件分支預測方法,其特征在于,所述基于所述起始地址、所述目標地址和所述跳轉方向進行處理,得到目標歷史信息,包括:
5.根據權利要求3所述的條件分支預測方法,其特征在于,所述對應條目的數據包括標志位、計數器和有用位;所述對所述對應條目進行有效性判斷,包括:
6.根據權利要求1所述的條件分支預測方法,其特征在于,所述利用所述TAGE預測器和所述第二預測器對所述條件分支進行預測,得到第二預測結果,包括:
7.根據權利要求6所述的條件分支預測方法,其特征在于,所述利用所述第二預測器對所述條件分支進行預測,
8.一種條件分支預測裝置,所述條件分支預測裝置基于目標分支預測器和?TAGE?預測器構建,所述目標分支預測器包括第一預測器和第二預測器;其特征在于,包括:
9.一種終端,其特征在于,所述終端包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的條件分支預測程序,所述條件分支預測程序被所述處理器執行時實現如權利要求1-7任意一項所述的條件分支預測方法的步驟。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有條件分支預測程序,所述條件分支預測程序被處理器執行時,實現如權利要求1-7任一項所述的條件分支預測方法的步驟。
...【技術特征摘要】
1.一種條件分支預測方法,所述條件分支預測方法基于目標分支預測器和tage預測器實現,所述目標分支預測器包括第一預測器和第二預測器,其特征在于,所述方法包括:
2.根據權利要求1所述的條件分支預測方法,其特征在于,所述對所述條件分支中的條件判斷規則進行模式判斷,包括:
3.根據權利要求1所述的條件分支預測方法,其特征在于,所述利用所述第一預測器對所述條件分支進行預測,得到第一預測結果,包括:
4.根據權利要求3所述的條件分支預測方法,其特征在于,所述基于所述起始地址、所述目標地址和所述跳轉方向進行處理,得到目標歷史信息,包括:
5.根據權利要求3所述的條件分支預測方法,其特征在于,所述對應條目的數據包括標志位、計數器和有用位;所述對所述對應條目進行有效性判斷,包括:
6.根據權利要求1所述的條件分支預測方法,其特征在于,所述利用所述ta...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。