取到所述相關性指令的操作數(shù)時,表示操作數(shù)準備好,第一類型保留站按操作隊列中指令寫入的順序,發(fā)射所述相關性指令至相應的功能部件。
[0066]在本實施例中,按操作隊列中指令寫入的順序,發(fā)射所述相關性指令至相應的功能部件,避免了出現(xiàn)當計算結(jié)果或運算參數(shù)存在調(diào)用順序時,在流水線的后續(xù)階段中,需要更復雜的邏輯算法來保證訪存操作的正確執(zhí)行的情況,簡化了訪存操作,使得在流水線的后續(xù)階段中,可以正常調(diào)用相關性指令。
[0067]作為本發(fā)明的一個優(yōu)選實施例,在所述將所述非相關性指令緩存在第二類型保留站之后,包括:
[0068]第二類型保留站不按操作隊列中指令寫入的順序,將所述非相關性指令發(fā)送至相應的功能部件。
[0069]在本實施例中,第二類型保留站不按操作隊列中指令寫入的順序,將非相關性指令發(fā)送至相應的功能部件,也就是第二類型保留站中有空閑項時,不按操作隊列中指令寫入的順序,不管操作隊列中的第一條非相關性指令的操作數(shù)是否已準備好,均將其發(fā)射到對應的保留站中。
[0070]作為本發(fā)明的一個優(yōu)選實施例,在所述生成指令執(zhí)行結(jié)果之后,還包括:
[0071]接收相應的功能部件生成的指令執(zhí)行結(jié)果;
[0072]根據(jù)所述指令執(zhí)行結(jié)果,更新未發(fā)送的相關性指令或非相關性指令操作數(shù)的狀態(tài),以便于檢測是否獲取到所述相關性指令的操作數(shù)或檢測是否獲取到所述非相關性指令的操作數(shù)。
[0073]在本實施例中,保留站向執(zhí)行段發(fā)射指令進行指令動態(tài)調(diào)度,更新操作數(shù)狀態(tài),基于保留站中未發(fā)射指令與指令執(zhí)行結(jié)果正在寫回的指令之間的數(shù)據(jù)相關性,更新該未發(fā)射指令的操作數(shù)的狀態(tài),以便于實時檢測是否獲取到所述相關性指令的操作數(shù)或?qū)崟r檢測是否獲取到所述非相關性指令的操作數(shù)。
[0074]圖7是一種超標量流水線保留站處理指令的裝置的結(jié)構(gòu)框圖,該裝置可以運行于具備分布保留站的各種芯片。為了便于說明,僅示出了與本實施例相關的部分。
[0075]參照圖7,該裝置,包括:
[0076]確定單元71,用于確定相關性指令和非相關性指令的判斷規(guī)則;
[0077]獲取單元72,用于獲取多條流水線中寫入操作隊列中的各個指令;
[0078]判斷單元73,用于根據(jù)所述判斷規(guī)則,判斷所述各個指令之間的相關性,識別所述指令為相關性指令或非相關性指令;
[0079]緩存單元74,按操作隊列中指令寫入的順序,將所述相關性指令緩存在第一類型保留站,不按操作隊列中指令寫入的順序,將所述非相關性指令緩存在第二類型保留站;
[0080]其中,所述相關性指令指的操作隊列中的計算結(jié)果或運算參數(shù)存在調(diào)用順序的指令,所述非相關性指令為操作隊列中除相關性指令以外的指令,所述第一類型保留站和第二類型保留站是不同的保留站。
[0081]進一步地,在該裝置中,所述判斷規(guī)則包括操作隊列中的計算結(jié)果存在調(diào)用順序的規(guī)則和操作隊列中的運算參數(shù)存在調(diào)用順序的規(guī)則中的至少一種。
[0082]進一步地,在該裝置中,還包括:
[0083]第一檢測單元,用于檢測是否獲取到所述相關性指令的操作數(shù);
[0084]順序發(fā)送單元,用于當獲取到所述相關性指令的操作數(shù)時,第二類型保留站按操作隊列中指令寫入的順序,發(fā)射所述相關性指令至相應的功能部件。
[0085]進一步地,在該裝置中,還包括:
[0086]第二檢測單元,用于檢測是否獲取到所述非相關性指令的操作數(shù);
[0087]亂序發(fā)送單元,用于當獲取到所述非相關性指令的操作數(shù)時,第二類型保留站不按操作隊列中指令寫入的順序,將所述非相關性指令發(fā)送至相應的功能部件。
[0088]進一步地,在該裝置中,還包括:
[0089]接收單元,用于接收相應的功能部件生成的指令執(zhí)行結(jié)果;
[0090]更新單元,用于根據(jù)所述指令執(zhí)行結(jié)果,更新未發(fā)送的相關性指令或非相關性指令操作數(shù)的狀態(tài),以便于檢測是否獲取到所述相關性指令的操作數(shù)或檢測是否獲取到所述非相關性指令的操作數(shù)。
[0091]本發(fā)明實施例提供的裝置可以應用在前述對應的方法實施例中,詳情參見上述實施例的描述,在此不再贅述。
[0092]通過以上的實施方式的描述,所屬領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0093]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。
【主權項】
1.一種超標量流水線保留站處理指令的方法,其特征在于,包括: 確定相關性指令和非相關性指令的判斷規(guī)則; 獲取多條流水線中寫入操作隊列中的各個指令; 根據(jù)所述判斷規(guī)則,判斷所述各個指令之間的相關性,識別所述指令為相關性指令或非相關性指令; 按操作隊列中指令寫入的順序,將所述相關性指令緩存在第一類型保留站,將所述非相關性指令緩存在第二類型保留站; 其中,所述相關性指令指的操作隊列中的計算結(jié)果或運算參數(shù)存在調(diào)用順序的指令,所述非相關性指令為操作隊列中除相關性指令以外的指令,所述第一類型保留站和第二類型保留站是不同的保留站。
2.根據(jù)權利要求1所述的方法,其特征在于,所述判斷規(guī)則包括操作隊列中的計算結(jié)果存在調(diào)用順序的規(guī)則和操作隊列中的運算參數(shù)存在調(diào)用順序的規(guī)則中的至少一種。
3.根據(jù)權利要求1所述的方法,其特征在于,在所述將所述相關性指令緩存在第一類型保留站之后,包括: 檢測是否獲取到所述相關性指令的操作數(shù); 當獲取到所述相關性指令的操作數(shù)時,第一類型保留站按操作隊列中指令寫入的順序,發(fā)射所述相關性指令至相應的功能部件。
4.根據(jù)權利要求1所述的方法,其特征在于,在所述將所述非相關性指令緩存在第二類型保留站之后,包括: 檢測是否獲取到所述非相關性指令的操作數(shù); 當獲取到所述非相關性指令的操作數(shù)時,第二類型保留站不按操作隊列中指令寫入的順序,將所述非相關性指令發(fā)送至相應的功能部件。
5.根據(jù)權利要求3或4所述的方法,其特征在于,在所述生成指令執(zhí)行結(jié)果之后,還包括: 接收相應的功能部件生成的指令執(zhí)行結(jié)果; 根據(jù)所述指令執(zhí)行結(jié)果,更新未發(fā)送的相關性指令或非相關性指令操作數(shù)的狀態(tài),以便于檢測是否獲取到所述相關性指令的操作數(shù)或檢測是否獲取到所述非相關性指令的操作數(shù)。
6.一種超標量流水線保留站處理指令的裝置,其特征在于,包括: 確定單元,用于確定相關性指令和非相關性指令的判斷規(guī)則; 獲取單元,用于獲取多條流水線中寫入操作隊列中的各個指令; 判斷單元,用于根據(jù)所述判斷規(guī)則,判斷所述各個指令之間的相關性,識別所述指令為相關性指令或非相關性指令; 緩存單元,按操作隊列中指令寫入的順序,將所述相關性指令緩存在第一類型保留站,將所述非相關性指令緩存在第二類型保留站; 其中,所述相關性指令指的操作隊列中的計算結(jié)果或運算參數(shù)存在調(diào)用順序的指令,所述非相關性指令為操作隊列中除相關性指令以外的指令,所述第一類型保留站和第二類型保留站是不同的保留站。
7.如權利要求6所述的裝置,其特征在于,所述判斷規(guī)則包括操作隊列中的計算結(jié)果存在調(diào)用順序的規(guī)則和操作隊列中的運算參數(shù)存在調(diào)用順序的規(guī)則中的至少一種。
8.如權利要求6所述的裝置,其特征在于,還包括: 第一檢測單元,用于檢測是否獲取到所述相關性指令的操作數(shù); 順序發(fā)送單元,用于當獲取到所述相關性指令的操作數(shù)時,第一類型保留站按操作隊列中指令寫入的順序,發(fā)射所述相關性指令至相應的功能部件。
9.如權利要求6所述的裝置,其特征在于,還包括: 第二檢測單元,用于檢測是否獲取到所述非相關性指令的操作數(shù); 亂序發(fā)送單元,用于當獲取到所述非相關性指令的操作數(shù)時,第二類型保留站不按操作隊列中指令寫入的順序,將所述非相關性指令發(fā)送至相應的功能部件。
10.如權利要求8或9所述的裝置,其特征在于,還包括: 接收單元,用于接收相應的功能部件生成的指令執(zhí)行結(jié)果; 更新單元,用于根據(jù)所述指令執(zhí)行結(jié)果,更新未發(fā)送的相關性指令或非相關性指令操作數(shù)的狀態(tài),以便于檢測是否獲取到所述相關性指令的操作數(shù)或檢測是否獲取到所述非相關性指令的操作數(shù)。
【專利摘要】本發(fā)明適用于微處理器技術領域,提供了一種超標量流水線保留站處理指令的方法及裝置,包括:確定相關性指令和非相關性指令的判斷規(guī)則;獲取多條流水線中寫入操作隊列中的各個指令;根據(jù)該判斷規(guī)則,判斷該各個指令之間的相關性,識別該指令為相關性指令或非相關性指令;按操作隊列中指令寫入的順序,將該相關性指令緩存在第一類型保留站,將該非相關性指令緩存在第二類型保留站;其中,該相關性指令指的操作隊列中的計算結(jié)果或運算參數(shù)存在調(diào)用順序的指令,該非相關性指令為操作隊列中除相關性指令以外的指令,該第一類型保留站和第二類型保留站是不同的保留站。本發(fā)明提高了流水線執(zhí)行段并行性處理的性能。
【IPC分類】G06F9-38
【公開號】CN104714780
【申請?zhí)枴緾N201310692403
【發(fā)明人】康海容, 施懿, 錢少雄, 邱均華
【申請人】深圳市國微電子有限公司
【公開日】2015年6月17日
【申請日】2013年12月16日