System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請實(shí)施例涉及處理器,具體涉及一種分支預(yù)測方法、分支預(yù)測器及相關(guān)設(shè)備。
技術(shù)介紹
1、在現(xiàn)代處理器中,指令需要經(jīng)過取指、譯碼、執(zhí)行和回寫等處理過程;其中,取指用于獲取所需執(zhí)行的指令,譯碼用于對取指的指令進(jìn)行解析翻譯,以得到對應(yīng)該指令的微指令(micro-op,uop),執(zhí)行則用于基于譯碼得到的微指令,執(zhí)行相應(yīng)的指令操作,回寫則用于將指令操作的結(jié)果寫回至預(yù)設(shè)的地址。
2、然而,現(xiàn)有的指令處理流程,指令處理效率有待提高。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請實(shí)施例提供一種分支預(yù)測方法、分支預(yù)測器及相關(guān)設(shè)備,以提高指令處理效率。
2、為實(shí)現(xiàn)上述目的,本申請實(shí)施例提供如下技術(shù)方案。
3、第一方面,本申請實(shí)施例提供一種分支預(yù)測方法,包括:
4、獲取待預(yù)測指令的地址信息和第一標(biāo)識信息,所述第一標(biāo)識信息用于指示所述待預(yù)測指令的來源;
5、基于所述地址信息,獲取預(yù)先存儲的對應(yīng)所述待預(yù)測指令的目標(biāo)指令的目標(biāo)地址和所述目標(biāo)地址的冗余信息,所述冗余信息包括第二標(biāo)識信息和權(quán)限信息,所述第二標(biāo)識信息用于指示得到所述目標(biāo)指令的歷史指令的來源,所述權(quán)限信息用于指示得到所述目標(biāo)指令的歷史指令是否為特權(quán)級指令;
6、若所述待預(yù)測指令為用戶態(tài)指令,判斷所述第一標(biāo)識信息和第二標(biāo)識信息是否一致,若所述第一標(biāo)識信息和第二標(biāo)識信息一致,允許執(zhí)行所述目標(biāo)地址的訪問;
7、若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識;若是,且所
8、可選的,若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識;若是,且所述第一標(biāo)識信息和所述第二標(biāo)識信息一致或不一致,執(zhí)行所述目標(biāo)地址的訪問,具體為:
9、若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識;若是,跳過執(zhí)行判斷所述第一標(biāo)識信息和第二標(biāo)識信息是否一致的步驟,執(zhí)行所述目標(biāo)地址的訪問;
10、或者,
11、若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識,且判斷所述第一標(biāo)識信息和第二標(biāo)識信息是否一致,若權(quán)限信息為特權(quán)級標(biāo)識,且所述第一標(biāo)識信息和第二標(biāo)識信息一致或不一致,執(zhí)行所述目標(biāo)地址的訪問。
12、可選的,所述冗余信息還包括用于標(biāo)記所述目標(biāo)地址是否有效的有效標(biāo)識,所述方法還包括:
13、接收有效標(biāo)識刷新指令;
14、基于所述有效標(biāo)識刷新指令,執(zhí)行對分支目標(biāo)緩沖器中存儲的目標(biāo)地址的有效標(biāo)識的更新流程;
15、其中,所述更新流程包括:判斷所述目標(biāo)地址的權(quán)限信息是否為特權(quán)級標(biāo)識;若否,更新所述目標(biāo)地址的有效標(biāo)識為第一值,所述第一值用于標(biāo)記所述目標(biāo)地址為無效;若是,跳過所述目標(biāo)地址所在的項(xiàng)。
16、可選的,所述基于所述地址信息,獲取預(yù)先存儲的對應(yīng)所述待預(yù)測指令的目標(biāo)指令的目標(biāo)地址和所述目標(biāo)地址的冗余信息之后,所述執(zhí)行所述目標(biāo)地址的訪問之前,還包括:
17、基于所述有效標(biāo)識,判斷所述目標(biāo)地址是否有效;
18、若否,禁止執(zhí)行所述目標(biāo)地址的訪問。
19、可選的,所述第一標(biāo)識信息為發(fā)起所述待預(yù)測指令的處理器核標(biāo)識或邏輯核標(biāo)識,第二標(biāo)識信息為發(fā)起歷史指令的處理器核標(biāo)識或邏輯核標(biāo)識。
20、可選的,在虛擬化場景中,所述內(nèi)核態(tài)指令為主機(jī)的內(nèi)核態(tài)指令。
21、第二方面,本申請實(shí)施例提供一種分支預(yù)測器,包括:
22、指令信息獲取邏輯,用于獲取待預(yù)測指令的地址信息和第一標(biāo)識信息,所述第一標(biāo)識信息用于指示所述待預(yù)測指令的來源;
23、預(yù)測信息獲取邏輯,用于基于所述地址信息,獲取預(yù)先存儲的對應(yīng)所述待預(yù)測指令的目標(biāo)指令的目標(biāo)地址和所述目標(biāo)地址的冗余信息,所述冗余信息包括第二標(biāo)識信息和權(quán)限信息,所述第二標(biāo)識信息用于指示得到所述目標(biāo)指令的歷史指令的來源,所述權(quán)限信息用于指示得到所述目標(biāo)指令的歷史指令是否為特權(quán)級指令;
24、訪問確定邏輯,用于若所述待預(yù)測指令為用戶態(tài)指令,判斷所述第一標(biāo)識信息和第二標(biāo)識信息是否一致,若所述第一標(biāo)識信息和第二標(biāo)識信息一致,允許執(zhí)行所述目標(biāo)地址的訪問;若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識;若是,且所述第一標(biāo)識信息和所述第二標(biāo)識信息一致或不一致,允許執(zhí)行所述目標(biāo)地址的訪問。
25、可選的,所述訪問確定邏輯,用于若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識;若是,且所述第一標(biāo)識信息和所述第二標(biāo)識信息一致或不一致,執(zhí)行所述目標(biāo)地址的訪問,具體為:
26、若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識;若是,跳過執(zhí)行判斷所述第一標(biāo)識信息和第二標(biāo)識信息是否一致的步驟,執(zhí)行所述目標(biāo)地址的訪問;
27、或者,
28、若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識,且判斷所述第一標(biāo)識信息和第二標(biāo)識信息是否一致,若權(quán)限信息為特權(quán)級標(biāo)識,且所述第一標(biāo)識信息和第二標(biāo)識信息一致或不一致,執(zhí)行所述目標(biāo)地址的訪問。
29、可選的,所述冗余信息還包括用于標(biāo)記所述目標(biāo)地址是否有效的有效標(biāo)識,所述分支預(yù)測器還包括:
30、冗余信息刷新邏輯,用于接收有效標(biāo)識刷新指令;基于所述有效標(biāo)識刷新指令,執(zhí)行對分支目標(biāo)緩沖器中存儲的目標(biāo)地址的有效標(biāo)識的更新流程;
31、其中,所述更新流程包括:判斷所述目標(biāo)地址的權(quán)限信息是否為特權(quán)級標(biāo)識;若否,更新所述目標(biāo)地址的有效標(biāo)識為第一值,所述第一值用于標(biāo)記所述目標(biāo)地址為無效;若是,跳過所述目標(biāo)地址所在的項(xiàng)。
32、可選的,所述訪問確定邏輯,還用于基于所述有效標(biāo)識,判斷所述目標(biāo)地址是否有效;若否,禁止執(zhí)行所述目標(biāo)地址的訪問。
33、可選的,所述第一標(biāo)識信息為發(fā)起所述待預(yù)測指令的處理器核標(biāo)識或邏輯核標(biāo)識,第二標(biāo)識信息為發(fā)起歷史指令的處理器核標(biāo)識或邏輯核標(biāo)識。
34、可選的,在虛擬化場景中,所述內(nèi)核態(tài)指令為主機(jī)的內(nèi)核態(tài)指令。
35、第三方面,本申請實(shí)施例還提供了一種處理器,所述處理器包括第二方面所述的分支預(yù)測器。
36、第四方面,本申請實(shí)施例還提供了一種芯片,包括如本申請實(shí)施例第三方面提供的處理器。
37、第五方面,本申請實(shí)施例還提供了一種電子設(shè)備,包括如本申請實(shí)施例第四方面提供的芯片。
38、第六方面,本申請實(shí)施例還提供了一種存儲介質(zhì),所述存儲介質(zhì)存儲一條或多條計(jì)算機(jī)可執(zhí)行指令,所述一條或多條計(jì)算機(jī)可執(zhí)行指令用于執(zhí)行如第一方面所述的分支預(yù)測方法。
39、第七方面,本申請實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括一條或多條計(jì)算機(jī)可執(zhí)行指令,所述一條或多條計(jì)算機(jī)可執(zhí)行指令被執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的分支預(yù)測方法。
40、本申請實(shí)施例提供的分支預(yù)測方法、分支預(yù)測器及相關(guān)設(shè)備,本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種分支預(yù)測方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的分支預(yù)測方法,其特征在于,若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識;若是,且所述第一標(biāo)識信息和所述第二標(biāo)識信息一致或不一致,執(zhí)行所述目標(biāo)地址的訪問,具體為:
3.根據(jù)權(quán)利要求1或2所述的分支預(yù)測方法,其特征在于,所述冗余信息還包括用于標(biāo)記所述目標(biāo)地址是否有效的有效標(biāo)識,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的分支預(yù)測方法,其特征在于,所述基于所述地址信息,獲取預(yù)先存儲的對應(yīng)所述待預(yù)測指令的目標(biāo)指令的目標(biāo)地址和所述目標(biāo)地址的冗余信息之后,所述執(zhí)行所述目標(biāo)地址的訪問之前,還包括:
5.根據(jù)權(quán)利要求1所述的分支預(yù)測方法,其特征在于,所述第一標(biāo)識信息為發(fā)起所述待預(yù)測指令的處理器核標(biāo)識或邏輯核標(biāo)識,第二標(biāo)識信息為發(fā)起歷史指令的處理器核標(biāo)識或邏輯核標(biāo)識。
6.根據(jù)權(quán)利要求1所述的分支預(yù)測方法,其特征在于,在虛擬化場景中,所述內(nèi)核態(tài)指令為主機(jī)的內(nèi)核態(tài)指令。
7.一種分支預(yù)測器,其特征在于,包括:
8.根據(jù)權(quán)利要求7所述的分
9.根據(jù)權(quán)利要求7或8所述的分支預(yù)測器,其特征在于,所述冗余信息還包括用于標(biāo)記所述目標(biāo)地址是否有效的有效標(biāo)識,所述分支預(yù)測器還包括:
10.根據(jù)權(quán)利要求9所述的分支預(yù)測器,其特征在于,所述訪問確定邏輯,還用于基于所述有效標(biāo)識,判斷所述目標(biāo)地址是否有效;若否,禁止執(zhí)行所述目標(biāo)地址的訪問。
11.根據(jù)權(quán)利要求7所述的分支預(yù)測器,其特征在于,所述第一標(biāo)識信息為發(fā)起所述待預(yù)測指令的處理器核標(biāo)識或邏輯核標(biāo)識,第二標(biāo)識信息為發(fā)起歷史指令的處理器核標(biāo)識或邏輯核標(biāo)識。
12.根據(jù)權(quán)利要求7所述的分支預(yù)測器,其特征在于,在虛擬化場景中,所述內(nèi)核態(tài)指令為主機(jī)的內(nèi)核態(tài)指令。
13.一種處理器,其特征在于,所述處理器包括權(quán)利要求7~12任一項(xiàng)所述的分支預(yù)測器。
14.一種芯片,其特征在于,包括如權(quán)利要求13所述的處理器。
15.一種電子設(shè)備,其特征在于,包括如權(quán)利要求14所述的芯片。
16.一種存儲介質(zhì),其特征在于,所述存儲介質(zhì)存儲一條或多條計(jì)算機(jī)可執(zhí)行指令,所述一條或多條計(jì)算機(jī)可執(zhí)行指令用于執(zhí)行如權(quán)利要求1-6任一項(xiàng)所述的分支預(yù)測方法。
17.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,包括一條或多條計(jì)算機(jī)可執(zhí)行指令,所述一條或多條計(jì)算機(jī)可執(zhí)行指令被執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的分支預(yù)測方法。
...【技術(shù)特征摘要】
1.一種分支預(yù)測方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的分支預(yù)測方法,其特征在于,若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識;若是,且所述第一標(biāo)識信息和所述第二標(biāo)識信息一致或不一致,執(zhí)行所述目標(biāo)地址的訪問,具體為:
3.根據(jù)權(quán)利要求1或2所述的分支預(yù)測方法,其特征在于,所述冗余信息還包括用于標(biāo)記所述目標(biāo)地址是否有效的有效標(biāo)識,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的分支預(yù)測方法,其特征在于,所述基于所述地址信息,獲取預(yù)先存儲的對應(yīng)所述待預(yù)測指令的目標(biāo)指令的目標(biāo)地址和所述目標(biāo)地址的冗余信息之后,所述執(zhí)行所述目標(biāo)地址的訪問之前,還包括:
5.根據(jù)權(quán)利要求1所述的分支預(yù)測方法,其特征在于,所述第一標(biāo)識信息為發(fā)起所述待預(yù)測指令的處理器核標(biāo)識或邏輯核標(biāo)識,第二標(biāo)識信息為發(fā)起歷史指令的處理器核標(biāo)識或邏輯核標(biāo)識。
6.根據(jù)權(quán)利要求1所述的分支預(yù)測方法,其特征在于,在虛擬化場景中,所述內(nèi)核態(tài)指令為主機(jī)的內(nèi)核態(tài)指令。
7.一種分支預(yù)測器,其特征在于,包括:
8.根據(jù)權(quán)利要求7所述的分支預(yù)測器,其特征在于,所述訪問確定邏輯,用于若所述待預(yù)測指令為內(nèi)核態(tài)指令,判斷所述權(quán)限信息是否為特權(quán)級標(biāo)識;若是,且所述第一標(biāo)識信息和所述第二標(biāo)識信息一致或不一致,執(zhí)行所述目標(biāo)地址的訪問,具體為:<...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:張軍,劉子行,應(yīng)志偉,
申請(專利權(quán))人:海光信息技術(shù)股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。