背景技術(shù):
1、計(jì)算設(shè)備可以包括用于執(zhí)行來(lái)自諸如固件、操作系統(tǒng)、應(yīng)用程序等程序代碼的指令的處理器。處理器可以從程序代碼中讀取指令作為宏指令。為了執(zhí)行宏指令,處理器可以首先將每個(gè)宏指令解碼成微操作,這些微操作可以形成宏指令的處理器級(jí)操作。例如,加法宏指令可以被解碼成微操作(μops或uops),這些微操作可以使處理器執(zhí)行加法操作的特定部分,諸如獲取/加載數(shù)據(jù)、將數(shù)據(jù)相加在一起、存儲(chǔ)加法的結(jié)果等。處理器可以執(zhí)行每個(gè)微操作以執(zhí)行對(duì)應(yīng)的宏指令。
2、盡管處理器可以按順序(例如,按照基于對(duì)宏指令解碼的順序)執(zhí)行微操作,但是一些處理器可以通過(guò)不按順序執(zhí)行微操作來(lái)提高處理效率。通過(guò)執(zhí)行不同的微操作而不是等待,無(wú)序執(zhí)行微操作可以減少與等待特定微操作(可能正在等待特定資源)相關(guān)聯(lián)的等待時(shí)間。例如,處理器可以在可能未就緒的較舊微操作之前執(zhí)行就緒的微操作(例如,不等待任何資源的微操作)。
3、處理器可以包括調(diào)度器,以便于調(diào)度將被分派的微操作(例如,被發(fā)送到處理器中的執(zhí)行單元以執(zhí)行微操作)。所解碼的微操作可以被轉(zhuǎn)發(fā)給調(diào)度器以在緩沖器中排隊(duì)。當(dāng)執(zhí)行單元可用于執(zhí)行微操作時(shí),調(diào)度器可以挑選就緒的微操作發(fā)送給可用的執(zhí)行單元。
4、微操作可以取決于另一個(gè)微操作來(lái)獲取資源。在加法示例中,加法微操作(例如,該示例中的消費(fèi)者操作)可以取決于先前的加載/存儲(chǔ)微操作(例如,該示例中的生產(chǎn)者操作)來(lái)完成將要添加到寄存器(例如,處理器上的快速本地存儲(chǔ))中的數(shù)據(jù)的加載。換句話說(shuō),當(dāng)消費(fèi)者操作的生產(chǎn)者操作中的全部完成時(shí),消費(fèi)者操作可能就緒。為了便于確定微操作的依賴(lài)性是否已經(jīng)解決,調(diào)度器可以使用依賴(lài)性矩陣來(lái)跟蹤哪些微操作取決于哪些其他微操作。依賴(lài)性矩陣可以跟蹤調(diào)度器的緩沖器中的哪些微操作取決于調(diào)度器的緩沖器中的哪些其他微操作。
技術(shù)實(shí)現(xiàn)思路
1.一種方法,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其中,所述編碼方案與部分編碼方案相對(duì)應(yīng),所述部分編碼方案包括將由所述依賴(lài)性矩陣表示的指令集分成組,并且使用與包含源指令的組相對(duì)應(yīng)的組值和與所述組內(nèi)的所述源指令相對(duì)應(yīng)的索引值來(lái)表示依賴(lài)性的所述源指令。
3.根據(jù)權(quán)利要求2所述的方法,其中,在所述部分編碼方案中,所述解碼包括:
4.根據(jù)權(quán)利要求1所述的方法,其中,所述編碼方案與完整編碼方案相對(duì)應(yīng),所述完整編碼方案包括使用與源指令在所述依賴(lài)性矩陣中的索引位置相對(duì)應(yīng)的位置值來(lái)表示依賴(lài)性的所述源指令。
5.根據(jù)權(quán)利要求4所述的方法,其中,在所述完整編碼方案中,所述解碼包括使用所述位置值標(biāo)識(shí)所述源指令。
6.根據(jù)權(quán)利要求1所述的方法,所述方法進(jìn)一步包括:
7.根據(jù)權(quán)利要求6所述的方法,其中,所述第二依賴(lài)性是用與所述編碼方案不同的第二編碼方案編碼的。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述編碼方案包括指示無(wú)依賴(lài)性的特殊值。
9.根據(jù)權(quán)利要求1所述的方法,其中,分派所述第一指令進(jìn)一步基于標(biāo)識(shí)所解碼的一個(gè)或多個(gè)依賴(lài)性中的每一個(gè)的就緒度。
10.一種方法,所述方法包括:
11.根據(jù)權(quán)利要求10所述的方法,其中,所述編碼方案與部分編碼方案相對(duì)應(yīng),所述部分編碼方案包括將所述指令集分成組,并且使用與包含源指令的組相對(duì)應(yīng)的組值和與所述組內(nèi)的所述源指令相對(duì)應(yīng)的索引值來(lái)表示依賴(lài)性的所述源指令。
12.根據(jù)權(quán)利要求11所述的方法,其中,在所述部分編碼方案中,所述解碼包括:
13.根據(jù)權(quán)利要求10所述的方法,其中,所述編碼方案與完整編碼方案相對(duì)應(yīng),所述完整編碼方案包括使用與源指令在所述緩沖器中的緩沖器位置相對(duì)應(yīng)的位置值來(lái)表示依賴(lài)性的所述源指令。
14.根據(jù)權(quán)利要求13所述的方法,其中,在所述完整編碼方案中,所述解碼包括使用所述位置值標(biāo)識(shí)所述源指令。
15.根據(jù)權(quán)利要求10所述的方法,所述方法進(jìn)一步包括:
16.根據(jù)權(quán)利要求10所述的方法,其中,所述編碼方案包括指示無(wú)依賴(lài)性的特殊值。
17.根據(jù)權(quán)利要求10所述的方法,其中,所述依賴(lài)性矩陣中的索引位置與所述緩沖器中的緩沖器位置相對(duì)應(yīng)。
18.一種系統(tǒng),所述系統(tǒng)包括:
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中:
20.根據(jù)權(quán)利要求18所述的系統(tǒng),其中: