亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

兩次發(fā)布的條件移動(dòng)指令及其應(yīng)用的制作方法

文檔序號(hào):6456469閱讀:183來(lái)源:國(guó)知局
專利名稱:兩次發(fā)布的條件移動(dòng)指令及其應(yīng)用的制作方法
技術(shù)領(lǐng)域
需要克服上面提到的局限性的實(shí)現(xiàn)指令的技術(shù)和裝置。

發(fā)明內(nèi)容
本發(fā)明提供實(shí)現(xiàn)條件移動(dòng)指令(conditional move instruction) 的裝置、系統(tǒng)和方法,及其應(yīng)用。在一個(gè)實(shí)施例中,由指定第一源操 作數(shù)、第二源操作數(shù)以及既是源又是目的地的第三操作數(shù)的條件移動(dòng) 指令形成第一解碼的指令和第二解碼的指令。如果第二操作數(shù)的值與 指定值不相等,則第一解碼的指令將第三操作數(shù)移動(dòng)到完成緩沖寄存器。如果第二操作數(shù)的值與指定值相等,則第二解碼的指令將第一操 作數(shù)的值移動(dòng)到所述完成緩存器。在執(zhí)行了該移動(dòng)的解碼的指令完畢
(graduate)時(shí),完成緩沖寄存器的內(nèi)容被傳送到由第三操作數(shù)指定 的寄存器堆寄存器。

圖1A是示出根據(jù)本發(fā)明實(shí)施例的處理器的示意圖。 [0008圖1B是進(jìn)一步示出圖1A的處理器的示意圖。 [0009圖2是示出根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)條件移動(dòng)指令的示例方 式的示意圖。盡管本文中將處理器IOO描述為包括幾個(gè)分立部件,但是 這些部件中許多是并非在本發(fā)明的每個(gè)實(shí)施例中都存在的可選部件, 或者是可以組合的部件,例如使得兩個(gè)部件的功能存在于單個(gè)部件 中。因此,例如在圖1A中示出的獨(dú)立部件是說(shuō)明性的而不是為了限 制本發(fā)明。在一個(gè)實(shí)施例中,執(zhí)行單元102與存儲(chǔ)在寄存器堆(RF) 130的寄存器中的數(shù)據(jù)和/或存儲(chǔ)在一個(gè)或多個(gè)完成緩存器(CB) 128 的寄存器中的數(shù)據(jù)交互。多路復(fù)用器(multiplexer) 124用于選擇來(lái) 自RF130或CB128的數(shù)據(jù)。在一個(gè)實(shí)施例中,第一完成緩存器128 包括用于存儲(chǔ)來(lái)自整數(shù)執(zhí)行單元118和乘法/除法單元120的數(shù)據(jù)的若 干64位寄存器。第二完成緩存器128包括用于存儲(chǔ)來(lái)自加載/存儲(chǔ)單 元108的數(shù)據(jù)的若干32位寄存器。可選地,可以包括一個(gè)或多個(gè)另 外的寄存器堆集以在例如中斷和/或異常處理期間使內(nèi)容切換開(kāi)銷
(overhead )最小化。加載/存儲(chǔ)單元108負(fù)責(zé)處理加載/存儲(chǔ)指令以讀/寫(xiě)來(lái)自數(shù) 據(jù)高速緩存和/或存儲(chǔ)器的數(shù)據(jù)。加載/存儲(chǔ)單元108能夠處理不按程 序次序發(fā)布的加載和存儲(chǔ)。在PC選擇器101在各種程序計(jì)數(shù)器值中間選擇并且確定 用于從指令高速緩存112取出指令的值時(shí),指令取出(在圖1A中由 指令取出單元104表示)開(kāi)始。在一個(gè)實(shí)施例中,選擇的程序計(jì)數(shù)器 值是新的程序線程(program thread )的程序計(jì)數(shù)器值、現(xiàn)有程序線 程的下一順序程序計(jì)數(shù)器值、或與分支指令或跳轉(zhuǎn)指令相關(guān)的重定向 程序計(jì)數(shù)器值。在每個(gè)指令被取出之后,PC選擇器101選擇新值以 便取出下一指令。在可選的重編碼之后,指令被寫(xiě)入指令緩存器105。在一 個(gè)實(shí)施例中,這一級(jí)可以:故旁通掉(bypass)并且指令可以被直接分 派到指令解碼器107。例如在一個(gè)或多個(gè)指令被從指令緩存器105接收并且由指 令解碼器107解碼時(shí),指令解碼和分派(在圖1A中由指令分派單元 106表示)開(kāi)始。在一個(gè)實(shí)施例中,按照分支錯(cuò)誤預(yù)測(cè)的解決方案, 從指令緩存器105接收指令的能力可以被暫時(shí)中止,直到駐留在處理 器100的指令執(zhí)行部分和/或指令完畢部分內(nèi)的選擇的指令被清除。被解碼的指令被寫(xiě)入被解碼指令緩存器113。指令分派器 115選擇駐留在被解碼指令緩存器113中的指令,以便分派到執(zhí)行單 元102。在實(shí)施例中,指令可以被分派到執(zhí)行單元102,以用于不按 程序次序的執(zhí)行。在一個(gè)實(shí)施例中,假定指令的操作數(shù)已被確定為就 緒,則例如基于其"年齡(age) " (ID標(biāo)簽),選擇并且分派指令。應(yīng)當(dāng)理解,描述圖2僅用于說(shuō)明性目的,而不是限制。例 如,可以由條件移動(dòng)指令210指定不同于寄存器R1、 R2和R3的操 作數(shù),而不偏離本發(fā)明的精神和范圍。此外,第一和第二解碼的指令 的指定僅僅是為了方便,而不是為了限制發(fā)布用于執(zhí)行的解碼的指令 的次序。例如,在一些處理器結(jié)構(gòu)中,可以在第一解碼的指令之前發(fā) 布第二解碼的指令用于執(zhí)行。處理器302是包括在此處描述的本發(fā)明的特征和/或?qū)崿F(xiàn) 本發(fā)明的方法實(shí)施例的任何處理器。在一個(gè)實(shí)施例中,類似于上述處 理器IOO,處理器302包括指令取出單元、指令高速緩存、指令解碼 和分派單元、 一個(gè)或多個(gè)指令執(zhí)行單元、數(shù)據(jù)高速緩存、指令完畢單 元、寄存器堆以及總線接口單元。[0055存儲(chǔ)器304可以是能夠存儲(chǔ)指令和/或數(shù)據(jù)的任何存儲(chǔ)器。 存儲(chǔ)器304可以包括例如隨機(jī)存取存儲(chǔ)器和/或只讀存儲(chǔ)器。雖然已經(jīng)在上面描述了本發(fā)明的各種實(shí)施例,應(yīng)當(dāng)理解這 些實(shí)施例是以示例的方式描述的,而不是限制本發(fā)明??梢栽谄渲凶?出各種改變而不偏離本發(fā)明的范圍,這對(duì)于相關(guān)計(jì)算機(jī)領(lǐng)域的技術(shù)人 員是顯而易見(jiàn)的。此外,應(yīng)當(dāng)理解,本文中提供的本發(fā)明的具體實(shí)施 方式部分,而不是發(fā)明內(nèi)容和摘要部分,意圖是用于解釋權(quán)利要求。 如發(fā)明人所預(yù)期的,發(fā)明內(nèi)容和摘要部分可以闡明本發(fā)明的一個(gè)或多 個(gè)示范實(shí)施例,但不是所有示范實(shí)施例。
[0060例如,除使用硬件(如,在中央處理單元("CPU")、微 處理器、微控制器、數(shù)字信號(hào)處理器、處理器內(nèi)核、片上系統(tǒng)("SOC") 或任何其它可編程或電子器件內(nèi),或耦合到這些器件)的實(shí)施方式之 外,也可以以軟件(如,用諸如源、對(duì)象或機(jī)器語(yǔ)言的任何形式部署 的計(jì)算機(jī)可讀代碼、程序代碼和/或指令)來(lái)實(shí)現(xiàn)多種實(shí)施方式,該軟 件例如設(shè)置在被配置用于存儲(chǔ)該軟件的計(jì)算機(jī)可用(如可讀)介質(zhì)中。 該軟件可以使得能夠?qū)崿F(xiàn)例如本文中描述的裝置和方法的功能、制造、建模、模擬、描述和/或測(cè)試。例如,這可以通過(guò)使用通用編程語(yǔ)
言(如C、 C++),包括Verilog HDL、 VHDL、 SystemC寄存器傳 送級(jí)(RTL)等等的硬件描述語(yǔ)言(HDL),或其它可用的程序、數(shù) 據(jù)庫(kù)和/或電路(即,示意圖的)獲取工具來(lái)實(shí)現(xiàn)。該軟件可以設(shè)置在 任何已知計(jì)算機(jī)可用介質(zhì)中,包括半導(dǎo)體、磁盤(pán)、光盤(pán)(如CD-ROM、 DVD-ROM等等),并且可以被部署作為用計(jì)算機(jī)可用(如可讀)傳 輸介質(zhì)(如,載波或包括數(shù)字的、光學(xué)的或基于模擬的介質(zhì)的任何其 它介質(zhì))來(lái)實(shí)施的計(jì)算機(jī)數(shù)據(jù)信號(hào)。如此,可以在包括因特網(wǎng)和內(nèi)部 網(wǎng)的通信網(wǎng)絡(luò)上傳輸軟件。
[0061應(yīng)當(dāng)明白,本文中描述的裝置和方法實(shí)施例可以;故包括在 半導(dǎo)體知識(shí)產(chǎn)權(quán)核內(nèi),例如微處理器核(如,以HDL實(shí)現(xiàn)),并且 在集成電路生產(chǎn)中被轉(zhuǎn)換為硬件。另外,本文中描述的裝置和方法可 以被實(shí)現(xiàn)為硬件和軟件的組合。因此,本發(fā)明不應(yīng)受任何上述示范實(shí) 施例限制,而應(yīng)該僅根據(jù)下面的權(quán)利要求及其等同物來(lái)限定。
權(quán)利要求
1. 一種實(shí)現(xiàn)條件移動(dòng)指令的處理器,所述條件移動(dòng)指令指定第一操作數(shù)、第二操作數(shù)和第三操作數(shù),所述處理器包括指令解碼單元,其接收所述條件移動(dòng)指令并且輸出第一解碼的指令和第二解碼的指令,其中,如果所述第二操作數(shù)與預(yù)定值不相等,則所述第一解碼的指令使所述處理器將所述第三操作數(shù)移動(dòng)到完成緩沖寄存器,并且如果所述第二操作數(shù)與所述預(yù)定值相等,則所述第二解碼的指令使所述處理器將所述第一操作數(shù)移動(dòng)到所述完成緩沖寄存器;以及耦合到所述指令解碼單元的執(zhí)行單元,其執(zhí)行所述第一解碼的指令和所述第二解碼的指令。
2. 根據(jù)權(quán)利要求1的處理器,其中,如果所述第二操作數(shù)與所 述預(yù)定值相等,則使所述第一解碼的指令無(wú)效。
3. 根據(jù)權(quán)利要求1的處理器,其中,如果所述第二操作數(shù)與所 述預(yù)定值不相等,則使所迷第二解碼的指令無(wú)效。
4. 根據(jù)權(quán)利要求l的處理器,還包括完畢單元,將所述完成緩沖寄存器的內(nèi)容傳送到所述處理器的寄 存器堆的寄存器。
5. 根據(jù)權(quán)利要求1的處理器,其中,所述執(zhí)行單元不按程序次 序執(zhí)行解碼的指令。
6. 根據(jù)權(quán)利要求1的處理器,其中,所述執(zhí)行單元是加載/存儲(chǔ)單元。
7. —種系統(tǒng),包括實(shí)現(xiàn)條件移動(dòng)指令的處理器,所述條件移動(dòng)指令指定第一操作 數(shù)、第二操作數(shù)和第三操作數(shù),其中所述處理器包括指令解碼單元,其接收所述條件移動(dòng)指令并且輸出第一解 碼的指令和第二解碼的指令,其中,如果所述第二操作數(shù)與預(yù)定 值不相等,則所述第一解碼的指令使所述處理器將所述第三操作數(shù)移動(dòng)到完成緩沖寄存器,并且如果所述第二操作數(shù)與所述預(yù)定 值相等,則所述第二解碼的指令使所述處理器將所述第一操作數(shù) 移動(dòng)到所述完成緩沖寄存器,和耦合到所述指令解碼單元的執(zhí)行單元,其執(zhí)行所述第一解 碼的指令和所述第二解碼的指令;以及耦合到所述處理器的存儲(chǔ)器。
8. 根據(jù)權(quán)利要求7的系統(tǒng),其中,如果所述第二操作數(shù)與所述 預(yù)定值相等,則使所述第一解碼的指令無(wú)效。
9. 根據(jù)權(quán)利要求7的系統(tǒng),其中,如果所述第二操作數(shù)與所述 預(yù)定值不相等,則使所述第二解碼的指令無(wú)效。
10. 根據(jù)權(quán)利要求7的系統(tǒng),還包括完畢單元,其將所述完成緩沖寄存器的內(nèi)容傳送到所述處理器的 寄存器堆的寄存器。
11. 根據(jù)權(quán)利要求7的系統(tǒng),其中,所述執(zhí)行單元不按程序次序 執(zhí)行解碼的指令。
12. 根據(jù)權(quán)利要求7的系統(tǒng),其中,所述執(zhí)行單元是加載/存儲(chǔ)單元。
13. —種有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括以軟件實(shí)施的處理器,其中所述處理器實(shí)現(xiàn)指定第一操作數(shù)、第二操作數(shù)和第三操作數(shù)的條件移動(dòng)指令,所述處理器包括指令解碼單元,其接收所述條件移動(dòng)指令并且輸出第一解碼的指令和第二解碼的指令,其中,如果所述第二操作數(shù)與預(yù)定值不相等, 則所述第一解碼的指令使所述處理器將所述第三操作數(shù)移動(dòng)到完成 緩沖寄存器,并且如果所述第二操作數(shù)與所述預(yù)定值相等,則所述第 二解碼的指令使所述處理器將所述第一操作數(shù)移動(dòng)到所述完成緩沖寄存器,以及耦合到所述指令解碼單元的執(zhí)行單元,其執(zhí)行所述第一解碼的指 令和所述第二解碼的指令。
14. 根據(jù)權(quán)利要求13的有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,如果所述第二操作數(shù)與所述預(yù)定值相等,則使所述第一解碼的指令無(wú) 效。
15. 根據(jù)權(quán)利要求13的有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,如 果所述第二操作數(shù)與所述預(yù)定值不相等,則使所述第二解碼的指令無(wú) 效。
16. 根據(jù)權(quán)利要求13的有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),還包括 完畢單元,將所述完成緩沖寄存器的內(nèi)容傳送到所述處理器的寄存器堆的寄存器。
17. 根據(jù)權(quán)利要求13的有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所 述執(zhí)行單元不按程序次序執(zhí)行解碼的指令。
18. 根據(jù)權(quán)利要求13的有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所 述執(zhí)行單元是加載/存儲(chǔ)單元。
19. 根據(jù)權(quán)利要求13的有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所 述處理器以硬件描述語(yǔ)言軟件實(shí)施。
20. 根據(jù)權(quán)利要求13的有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所 述處理器以Verilog硬件描述語(yǔ)言軟件和VHDL硬件描述語(yǔ)言軟件之 一實(shí)施。
21. —種在處理器中實(shí)現(xiàn)條件移動(dòng)的方法,所述方法包括 取出條件移動(dòng)指令,所述條件移動(dòng)指令指定第一操作數(shù)、第二操作數(shù)和第三操作數(shù);從所述條件移動(dòng)指令形成第一解碼的指令和第二解碼的指令,其 中,如果所述第二操作數(shù)與預(yù)定值不相等,則所述第一解碼的指令使 所述處理器將所述第三操作數(shù)移動(dòng)到完成緩沖寄存器,并且如果所述 第二操作數(shù)與所述預(yù)定值相等,則所述第二解碼的指令使所述處理器將所述第一操作數(shù)移動(dòng)到所述完成緩沖寄存器;以及 執(zhí)行所述第一解碼的指令和所述第二解碼的指令。
22. 根據(jù)權(quán)利要求21的方法,其中執(zhí)行所述第一解碼的指令包括如果所述第二操作數(shù)與所述預(yù)定值相等,則使所述第一解碼的指令無(wú)效。
23. 根據(jù)權(quán)利要求21的方法,其中執(zhí)行所述第二解碼的指令包括如果所述操作數(shù)與所述預(yù)定值不相等,則使所述第二解碼的指令無(wú)效。
24. 根據(jù)權(quán)利要求21的方法,還包括將所述完成緩存器的內(nèi)容傳送到所述處理器的寄存器堆的寄存器。
25. —種在處理器中實(shí)現(xiàn)條件移動(dòng)指令的方法,所述條件移動(dòng)指 令指定第一操作數(shù)、第二操作數(shù)和第三操作數(shù),所述方法包括從所述條件移動(dòng)指令形成第一解碼的指令和第二解碼的指令,其 中,如果所述第二操作數(shù)與預(yù)定值不相等,則所述第一解碼的指令使 所述處理器將所述第三操作數(shù)移動(dòng)到完成緩沖寄存器,并且如果所述 第二操作數(shù)與所述預(yù)定值相等,則所述第二解碼的指令使所述處理器 將所述第一操作數(shù)移動(dòng)到所述完成緩沖寄存器;如果所述第二操作數(shù)與所述預(yù)定值相等,則使所述第一解碼的指 令無(wú)效并且使所述第二解碼的指令完畢,由此根據(jù)所述第二解碼的指 令改變所述處理器的結(jié)構(gòu)狀態(tài);以及如果所述第二操作數(shù)與所述預(yù)定值不相等,則使所述第二解碼的 指令無(wú)效并且使所述第一解碼的指令完畢,由此根據(jù)所述第一解碼的 指令改變所述處理器的結(jié)構(gòu)狀態(tài)。
26. —種實(shí)現(xiàn)條件移動(dòng)指令的處理器,包括 指令解碼單元,其接收所述條件移動(dòng)指令并且輸出解碼的指令;以及耦合到所述指令解碼單元的執(zhí)行單元,其執(zhí)行所述解碼的指令中 選定的一個(gè)。
27. 根據(jù)權(quán)利要求26的處理器,其中,所述條件移動(dòng)指令指定 多個(gè)操作數(shù),并且基于所述操作數(shù)之一選擇所述解碼的指令之一用于 執(zhí)行。
28. 根據(jù)權(quán)利要求26的處理器,其中,所述條件移動(dòng)指令指定 多個(gè)操作數(shù),并且有效的解碼的指令使所述執(zhí)行單元將所述操作數(shù)中 被標(biāo)識(shí)的一個(gè)移動(dòng)到完成緩沖寄存器。
29. —種實(shí)現(xiàn)條件移動(dòng)指令的方法,包括 接收所述條件移動(dòng)指令; 從所述條件移動(dòng)指令形成解碼的指令;以及 執(zhí)行所述解碼的指令中選定的一個(gè)。
30. 根據(jù)權(quán)利要求29的方法,其中,所述條件移動(dòng)指令指定多 個(gè)操作數(shù),并且所述執(zhí)行所述解碼的指令中選定的一個(gè)包括基于所述操作數(shù)之一執(zhí)行所述解碼的指令中選定的那一個(gè)。
31. 根據(jù)權(quán)利要求29的方法,其中,所述條件移動(dòng)指令指定多 個(gè)操作數(shù),并且所述執(zhí)行所述解碼的指令中選定的一個(gè)包括將所述操作數(shù)中被標(biāo)識(shí)的一個(gè)移動(dòng)到完成緩沖寄存器。
全文摘要
公開(kāi)了一種通過(guò)形成并處理兩個(gè)解碼的指令在處理器中實(shí)現(xiàn)的條件移動(dòng)指令及其應(yīng)用。在一個(gè)實(shí)施例中,條件移動(dòng)指令指定第一源操作數(shù)、第二源操作數(shù)以及既是源又是目的地的第三操作數(shù)。如果第二操作數(shù)的值與指定值不相等,則第一解碼的指令將第三操作數(shù)移動(dòng)到完成緩沖寄存器。如果第二操作數(shù)的值與指定值相等,則第二解碼的指令將第一操作數(shù)的值移動(dòng)到所述完成緩存器。在執(zhí)行了該移動(dòng)的解碼的指令完畢時(shí),完成緩沖寄存器的內(nèi)容被傳送到由第三操作數(shù)指定的寄存器堆寄存器。
文檔編號(hào)G06F9/00GK101535947SQ200780041776
公開(kāi)日2009年9月16日 申請(qǐng)日期2007年9月28日 優(yōu)先權(quán)日2006年9月29日
發(fā)明者K·R·基肖爾, M·尤坎瓦, V·拉杰戈帕蘭, 興宇·江 申請(qǐng)人:Mips技術(shù)公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1