專利名稱:基于指令塊的指令發(fā)射控制方法及裝置、以及處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù)領(lǐng)域,更具體地說,本發(fā)明涉及一種基于指令塊的指令發(fā)射控制方法和指令發(fā)射控制裝置,此外本發(fā)明還涉及一種采用了該基于指令塊的指令發(fā)射方法或裝置的處理器。
背景技術(shù):
現(xiàn)代處理器一般采用流水線技術(shù)來提高處理器的處理速度。流水線技術(shù)是指在程序執(zhí)行時多條指令重疊進行操作的一種準并行處理實現(xiàn)技術(shù)。更具體地說,流水線技術(shù)將一條指令執(zhí)行過程分為多個階段,其中在不同階段執(zhí)行不同指令,從而實現(xiàn)指令的并行,由此可以提高處理器的處理速度。 現(xiàn)有的處理器流水線發(fā)射機制,主要有亂序發(fā)射和順序發(fā)射兩種。一方面,通常的亂序發(fā)射機制主要是為了改善指令流水線的性能。更具體地說,在亂序發(fā)射機制的情況下,只要指令就緒,就可以發(fā)射指令,當指令執(zhí)行完,寫入物理寄存器文件。但是,這種亂序發(fā)射的問題是,為了增加發(fā)射機率而從盡可能多的指令中選擇就緒指令,導(dǎo)致指令發(fā)射機制異常復(fù)雜。另一方面,通常的順序發(fā)射機制主要是為了降低指令流水線的復(fù)雜性。更具體地說,在順序發(fā)射機制中,指令就緒后,要等前面已經(jīng)發(fā)射的指令執(zhí)行完后才能繼續(xù)發(fā)射。雖然順序發(fā)射機制較為簡單,但過于限定發(fā)射條件而不能發(fā)掘前后指令之間的無關(guān)性,而導(dǎo)致流水線性能較差。因此,希望能夠提供一種具有一定的亂序能力,而硬件復(fù)雜性又較少的提高指令流水線的效率的技術(shù)方案。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)中存在上述缺陷,提供一種可利用較少的硬件復(fù)雜性實現(xiàn)一定范圍內(nèi)指令的亂序發(fā)射來提高指令流水線的效率的基于指令塊的指令發(fā)射控制方法和指令發(fā)射控制裝置,此外本發(fā)明還提供一種采用了該基于指令塊的指令發(fā)射方法或裝置的處理器。根據(jù)本發(fā)明的第一方面,提供了一種基于指令塊的指令發(fā)射控制方法,其包括第二步驟,用于判斷處于指令準備發(fā)射狀態(tài)的指令的指令類型,以確定所述處于指令準備發(fā)射狀態(tài)的指令是屬于欄柵指令還是屬于普通指令;如果在所述第二步驟中判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是欄柵指令,則在第三步驟中進一步判斷所述處于指令準備發(fā)射狀態(tài)的指令的發(fā)射條件;如果在第三步驟中判定還有更先執(zhí)行序的指令不能發(fā)射,則在第四步驟中使得作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射;如果在第三步驟中判定更先執(zhí)行序的指令均能發(fā)射或均已發(fā)射,則在第五步驟S5中發(fā)射作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令;如果在所述第二步驟中判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是普通指令,則在第六步驟中進一步判斷所述處于指令準備發(fā)射狀態(tài)的指令的發(fā)射條件;如果在所述第六步驟中判定還有更先執(zhí)行序的欄柵指令未發(fā)射,則在第七步驟中使得作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射;以及如果在所述第六步驟中判定無更先執(zhí)行序的欄柵指令未發(fā)射,則在第八步驟中發(fā)射作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令。優(yōu)選地,在上述基于指令塊的指令發(fā)射控制方法中,在執(zhí)行了第四步驟、第五步驟、第七步驟以及第八步驟中的一個步驟之后,所述基于指令塊的指令發(fā)射控制方法回到所述第二步驟。優(yōu)選地,在上述基于指令塊的指令發(fā)射控制方法中,所述處于指令準備發(fā)射狀態(tài)的指令由欄柵指令以及普通指令組成。優(yōu)選地,上述基于指令塊的指令發(fā)射控制方法還包括啟動程序步驟。
優(yōu)選地,在上述基于指令塊的指令發(fā)射控制方法中,所述欄柵指令是改變指令流方向的指令。根據(jù)本發(fā)明的第二方面,提供了一種采用了根據(jù)本發(fā)明第一方面所述的基于指令塊的指令發(fā)射控制方法的處理器。根據(jù)本發(fā)明的第三方面,提供了一種基于指令塊的指令發(fā)射控制裝置,其包括指令獲取單元,用于獲取處于指令準備發(fā)射狀態(tài)的指令;指令類型判斷單元,用于判斷所述處于指令準備發(fā)射狀態(tài)的指令的指令類型,以確定所述處于指令準備發(fā)射狀態(tài)的指令屬于欄柵指令還是普通指令;指令發(fā)射條件判斷單元,用于在所述指令類型判斷單元的判斷結(jié)果的基礎(chǔ)上,通過確定是否還有更先執(zhí)行序的指令不能發(fā)射來判斷是否發(fā)射所述處于指令準備發(fā)射狀態(tài)的指令;以及控制處理單元,用于根據(jù)所述指令發(fā)射條件判斷單元的判斷結(jié)果,執(zhí)行所述處于指令準備發(fā)射狀態(tài)的指令的發(fā)射、或者不執(zhí)行所述處于指令準備發(fā)射狀態(tài)的指令的發(fā)射。優(yōu)選地,在上述基于指令塊的指令發(fā)射控制裝置中,如果所述指令類型判斷單元判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是欄柵指令,則所述指令發(fā)射條件判斷單元在還有更先執(zhí)行序的指令不能發(fā)射的情況下使得作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射,并且,所述指令發(fā)射條件判斷單元在更先執(zhí)行序的指令均能發(fā)射或均已發(fā)射的情況下發(fā)射作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令;并且其中,如果所述指令類型判斷單元判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是普通指令,則所述指令發(fā)射條件判斷單元在還有更先執(zhí)行序的欄柵指令未發(fā)射的情況下使得作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射,并且,所述指令發(fā)射條件判斷單元在無更先執(zhí)行序的欄柵指令未發(fā)射的情況下發(fā)射作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令。優(yōu)選地,在上述基于指令塊的指令發(fā)射控制裝置中,所述處于指令準備發(fā)射狀態(tài)的指令由欄柵指令以及普通指令組成。優(yōu)選地,在上述基于指令塊的指令發(fā)射控制裝置中,所述欄柵指令是改變指令流方向的指令。根據(jù)本發(fā)明的第四方面,提供了配置了根據(jù)本發(fā)明的第三方面所述的基于指令塊的指令發(fā)射控制裝置的處理器。在根據(jù)本發(fā)明實施例的基于指令塊的指令發(fā)射方法及裝置中,通過將改變指令流方向的指令定義成欄柵指令,從而將運行中的指令劃分成由欄柵指令分隔的許多指令塊。由此,指令流以指令塊為粒度向前推進。相應(yīng)地,可以允許同一個指令塊內(nèi)的指令亂序發(fā)射、以及不同指令塊之間的順序發(fā)射。由此,在本發(fā)明中,允許同一個指令塊內(nèi)的指令亂序發(fā)射,不同指令塊之間順序發(fā)射,從而在簡化邏輯復(fù)雜性的同時,保持較好的性能。所以,本發(fā)明提供了一種基于指令塊的指令發(fā)射方法和裝置,其可以更好的平衡指令流水線的復(fù)雜性和效率;其中,本發(fā)明的基于指令塊的指令發(fā)射方法和裝置可利用較少的復(fù)雜性實現(xiàn)指令的亂序發(fā)射,以提聞指令流水線的效率。
結(jié)合附圖,并通過參考下面的詳細描述,將會更容易地對本發(fā)明有更完整的理解并且更容易地理解其伴隨的優(yōu)點和特征,其中圖I示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制方法的流程圖。
圖2示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制裝置的框圖。需要說明的是,附圖用于說明本發(fā)明,而非限制本發(fā)明。注意,表示結(jié)構(gòu)的附圖可能并非按比例繪制。并且,附圖中,相同或者類似的元件標有相同或者類似的標號。
具體實施例方式為了使本發(fā)明的內(nèi)容更加清楚和易懂,下面結(jié)合具體實施例和附圖對本發(fā)明的內(nèi)容進行詳細描述。<基于指令塊的指令發(fā)射控制方法>圖I示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制方法 的流程圖。首先對本說明書中的一些術(shù)語進行解釋,以便可以更好地理解本發(fā)明。術(shù)語“指令塊”是處理器執(zhí)行的程序的動態(tài)運行狀態(tài)下的概念,具體地說,術(shù)語“指令塊”是指運行中由欄柵指令分隔出的指令序列。整個程序的動態(tài)運行可以劃分為多個指令塊。術(shù)語“欄柵指令”是指改變指令流方向的指令;比如,“欄柵指令”可以是分支指令,也可以是其它自定義的改變指令流方向的指令。術(shù)語“執(zhí)行序”是指程序在動態(tài)運行過程中指令間的一種先后關(guān)系,這種先后關(guān)系是以順序執(zhí)行的先后為標準的。除了欄柵指令之外的指令,在本說明書中被稱為普通指令。由此,指令包括欄柵指令以及普通指令,更確切地說,指令由欄柵指令以及普通指令組成。如圖I所示,根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制方法包括第一步驟SI,啟動程序,從而使程序開始執(zhí)行,指令發(fā)射控制方法進入初始狀態(tài)。第二步驟S2,用于執(zhí)行準備發(fā)射指令的指令類型判斷。具體地說,在第二步驟S2中判斷處于“指令準備發(fā)射”狀態(tài)的指令的指令類型。具體地說,上述的術(shù)語“指令準備發(fā)射”是指這樣的狀態(tài)指令的源操作數(shù)已經(jīng)準備好,并且該指令和已經(jīng)發(fā)射執(zhí)行的指令之間不存在真相關(guān)和輸出相關(guān),而且該指令正等待發(fā)射。并且,如上所述,所述處于“指令準備發(fā)射”狀態(tài)的指令包括欄柵指令以及普通指令,更確切地說,所述處于“指令準備發(fā)射”狀態(tài)的指令由欄柵指令以及普通指令組成(即,要么是欄柵指令,要么是普通指令)。由此,第二步驟S2可以確定所述處于指令準備發(fā)射狀態(tài)的指令是屬于欄柵指令還是屬于普通指令。一方面,如果在第二步驟S2中判定所述處于“指令準備發(fā)射”狀態(tài)的指令的指令類型是欄柵指令,則在第三步驟S3中進一步判斷所述處于“指令準備發(fā)射”狀態(tài)的指令的發(fā)射條件。第四步驟S4,如果在第三步驟S3中判定還有更先執(zhí)行序的指令不能發(fā)射,則作為欄柵指令的所述處于“指令準備發(fā)射”狀態(tài)的指令不能發(fā)射。換言之,如果在第三步驟S3中判定還有更先執(zhí)行序的指令不能發(fā)射,則在第四步驟S4中使得作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射。第五步驟S5,如果在第三步驟S3中判定無更先執(zhí)行序的指令不能發(fā)射,則發(fā)射作為欄柵指令的所述處于“指令準備發(fā)射”狀態(tài)的指令。換言之,如果在第三步驟S3中判定 更先執(zhí)行序的指令均能發(fā)射或均已發(fā)射,則在第五步驟S5中發(fā)射作為欄柵指令的所述處于“指令準備發(fā)射”狀態(tài)的指令。另一方面,如果在第二步驟S2中判定所述處于“指令準備發(fā)射”狀態(tài)的指令的指令類型是普通指令,則在第六步驟S6中進一步判斷所述處于“指令準備發(fā)射”狀態(tài)的指令的發(fā)射條件。第七步驟S7,如果在第六步驟S6中判定還有更先執(zhí)行序的欄柵指令未發(fā)射,則作為普通指令的所述處于“指令準備發(fā)射”狀態(tài)的指令不能發(fā)射。換言之,如果在第六步驟S6中判定還有更先執(zhí)行序的欄柵指令未發(fā)射,則在第七步驟S7中使得作為普通指令的所述處于“指令準備發(fā)射”狀態(tài)的指令不能發(fā)射。第八步驟S8,如果在第六步驟S6中判定無更先執(zhí)行序的欄柵指令未發(fā)射,則發(fā)射作為普通指令的所述處于“指令準備發(fā)射”狀態(tài)的指令。換言之,如果在第六步驟S6中判定無更先執(zhí)行序的欄柵指令未發(fā)射,則在第八步驟S8中發(fā)射作為普通指令的所述處于“指令準備發(fā)射”狀態(tài)的指令。在執(zhí)行了第四步驟S4、第五步驟S5、第七步驟S7以及第八步驟S8中的一個步驟之后,根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制方法回到第二步驟S2。其中,如果是包含欄柵指令和普通指令的多發(fā)射流水線,則隨著程序的進行,第六步驟S6、第七步驟S7和第八步驟S8可以和第三步驟S3、第四步驟S4和第五步驟S5有可能同時進行。從而,根據(jù)本發(fā)明實施例的基于指令塊的指令發(fā)射方法允許欄柵指令的執(zhí)行序在后時,在前面的普通指令可發(fā)射的條件下,同時發(fā)射欄柵指令,從而改善指令發(fā)射帶寬。
在根據(jù)本發(fā)明實施例的基于指令塊的指令發(fā)射方法中,通過將改變指令流方向的指令定義成欄柵指令,從而將運行中的指令劃分成由欄柵指令分隔的許多指令塊。由此,指令流以指令塊為粒度向前推進。相應(yīng)地,可以允許同一個指令塊內(nèi)的指令亂序發(fā)射、以及不同指令塊之間的順序發(fā)射。在根據(jù)本發(fā)明實施例的基于指令塊的指令發(fā)射方法中,允許同一個指令塊內(nèi)的指令亂序發(fā)射,不同指令塊之間順序發(fā)射,從而在簡化邏輯復(fù)雜性的同時,保持較好的性能。綜上所述,本發(fā)明實施例提供了一種基于指令塊的指令發(fā)射方法,其可以更好的平衡指令流水線的復(fù)雜性和效率;其中,根據(jù)本發(fā)明實施例的基于指令塊的指令發(fā)射方法可利用較少的復(fù)雜性實現(xiàn)一定范圍內(nèi)指令的亂序發(fā)射,以提高指令流水線的效率。根據(jù)本發(fā)明的另一優(yōu)選實施例,本發(fā)明還提供了一種采用了上述基于指令塊的指令發(fā)射控制方法的處理器,例如微處理器。<基于指令塊的指令發(fā)射控制裝置100〉圖2示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制裝置100的框圖。如圖2所示,根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制裝置100包括指令獲取單元I、控制處理單元2、指令類型判斷單元3以及指令發(fā)射條件判斷單元4。指令獲取單元I用于獲取處于“指令準備發(fā)射”狀態(tài)的指令。 指令類型判斷單元3用于判斷所述處于“指令準備發(fā)射”狀態(tài)的指令的指令類型,以確定所述處于“指令準備發(fā)射”狀態(tài)的指令屬于欄柵指令還是普通指令。指令發(fā)射條件判斷單元4用于在所述指令類型判斷單元3的判斷結(jié)果的基礎(chǔ)上,通過確定是否還有更先執(zhí)行序的指令不能發(fā)射來判斷是否發(fā)射所述處于“指令準備發(fā)射”狀態(tài)的指令。具體地說,一方面,如果所述指令類型判斷單元3判定所述處于“指令準備發(fā)射”狀態(tài)的指令的指令類型是欄柵指令,則所述指令發(fā)射條件判斷單元4在還有更先執(zhí)行序的指令不能發(fā)射的情況下使得作為欄柵指令的所述處于“指令準備發(fā)射”狀態(tài)的指令不能發(fā)射;并且,指令發(fā)射條件判斷單元4在更先執(zhí)行序的指令均能發(fā)射或均已發(fā)射情況下發(fā)射作為欄柵指令的所述處于“指令準備發(fā)射”狀態(tài)的指令。另一方面,如果所述指令類型判斷單元3判定所述處于“指令準備發(fā)射”狀態(tài)的指令的指令類型是普通指令,則所述指令發(fā)射條件判斷單元4在還有更先執(zhí)行序的欄柵指令未發(fā)射的情況下使得作為普通指令的所述處于“指令準備發(fā)射”狀態(tài)的指令不能發(fā)射;并且,指令發(fā)射條件判斷單元4在無更先執(zhí)行序的欄柵指令未發(fā)射的情況下發(fā)射作為普通指令的所述處于“指令準備發(fā)射”狀態(tài)的指令??刂铺幚韱卧?用于根據(jù)所述指令發(fā)射條件判斷單元4的判斷結(jié)果,執(zhí)行所述處于“指令準備發(fā)射”狀態(tài)的指令的發(fā)射、或者不執(zhí)行所述處于“指令準備發(fā)射”狀態(tài)的指令的發(fā)射。由此,通過利用根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制裝置100可以執(zhí)行上述根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制方法。根據(jù)本發(fā)明的另一優(yōu)選實施例,本發(fā)明還提供了一種配置有上述基于指令塊的指令發(fā)射控制裝置100的處理器,例如微處理器。需要說明的是,對于任何熟悉本領(lǐng)域的技術(shù)人員而言,可以理解的是,圖2所示的根據(jù)本發(fā)明優(yōu)選實施例的基于指令塊的指令發(fā)射控制裝置的各個組成單元顯然可以通過硬件、軟件、固件或者它們的組合來實現(xiàn)。此外,需要說明的是,說明書中的術(shù)語“第一”、“第二”、“第三”等描述僅僅用于區(qū)分說明書中的各個組件、元素、步驟等,而不是用于表示各個組件、元素、步驟之間的邏輯關(guān)系或者順序關(guān)系等??梢岳斫獾氖牵m然本發(fā)明已以較佳實施例披露如上,然而上述實施例并非用以限定本發(fā)明。對于任何熟悉本領(lǐng)域的技術(shù)人員而言,在不脫離本發(fā)明技術(shù)方案范圍情況下,都可利用上述揭示的技術(shù)內(nèi)容對本發(fā)明技術(shù)方案作出許多可能的變動和修飾,或修改為等同變化的等效實施例。因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所做的任何簡單修改、等同變化及修飾,均仍屬于本 發(fā)明技術(shù)方案保護的范圍內(nèi)。
權(quán)利要求
1.一種基于指令塊的指令發(fā)射控制方法,其特征在于包括 第二步驟,用于判斷處于指令準備發(fā)射狀態(tài)的指令的指令類型,以確定所述處于指令準備發(fā)射狀態(tài)的指令是屬于欄柵指令還是屬于普通指令; 如果在所述第二步驟中判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是欄柵指令,則在第三步驟中進一步判斷所述處于指令準備發(fā)射狀態(tài)的指令的發(fā)射條件; 如果在第三步驟中判定還有更先執(zhí)行序的指令不能發(fā)射,則在第四步驟中使得作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射; 如果在第三步驟中判定更先執(zhí)行序的指令均能發(fā)射或均已發(fā)射,則在第五步驟S5中發(fā)射作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令; 如果在所述第二步驟中判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是普通指令,則在第六步驟中進一步判斷所述處于指令準備發(fā)射狀態(tài)的指令的發(fā)射條件;· 如果在所述第六步驟中判定還有更先執(zhí)行序的欄柵指令未發(fā)射,則在第七步驟中使得作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射;以及 如果在所述第六步驟中判定無更先執(zhí)行序的欄柵指令未發(fā)射,則在第八步驟中發(fā)射作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令。
2.根據(jù)權(quán)利要求I所述的基于指令塊的指令發(fā)射控制方法,其特征在于,在執(zhí)行了第四步驟、第五步驟、第七步驟以及第八步驟中的一個步驟之后,所述基于指令塊的指令發(fā)射控制方法回到所述第二步驟。
3.根據(jù)權(quán)利要求I或2所述的基于指令塊的指令發(fā)射控制方法,其特征在于,所述處于指令準備發(fā)射狀態(tài)的指令由欄柵指令以及普通指令組成。
4.根據(jù)權(quán)利要求I或2所述的基于指令塊的指令發(fā)射控制方法,其特征在于還包括啟動程序步驟。
5.根據(jù)權(quán)利要求I或2所述的基于指令塊的指令發(fā)射控制方法,其特征在于,所述欄柵指令是改變指令流方向的指令。
6.一種采用了根據(jù)權(quán)利要求I至5之一所述的基于指令塊的指令發(fā)射控制方法的處理器。
7.一種基于指令塊的指令發(fā)射控制裝置,其特征在于包括 指令獲取單元,用于獲取處于指令準備發(fā)射狀態(tài)的指令; 指令類型判斷單元,用于判斷所述處于指令準備發(fā)射狀態(tài)的指令的指令類型,以確定所述處于指令準備發(fā)射狀態(tài)的指令屬于欄柵指令還是普通指令; 指令發(fā)射條件判斷單元,用于在所述指令類型判斷單元的判斷結(jié)果的基礎(chǔ)上,通過確定是否還有更先執(zhí)行序的指令不能發(fā)射來判斷是否發(fā)射所述處于指令準備發(fā)射狀態(tài)的指令;以及 控制處理單元,用于根據(jù)所述指令發(fā)射條件判斷單元的判斷結(jié)果,執(zhí)行所述處于指令準備發(fā)射狀態(tài)的指令的發(fā)射、或者不執(zhí)行所述處于指令準備發(fā)射狀態(tài)的指令的發(fā)射。
8.根據(jù)權(quán)利要求7所述的基于指令塊的指令發(fā)射控制裝置,其特征在于,如果所述指令類型判斷單元判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是欄柵指令,則所述指令發(fā)射條件判斷單元在還有更先執(zhí)行序的指令不能發(fā)射的情況下使得作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射,并且,所述指令發(fā)射條件判斷單元在更先執(zhí)行序的指令均能發(fā)射或均已發(fā)射情況下發(fā)射作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令; 并且其中,如果所述指令類型判斷單元判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是普通指令,則所述指令發(fā)射條件判斷單元在還有更先執(zhí)行序的欄柵指令未發(fā)射的情況下使得作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射,并且,所述指令發(fā)射條件判斷單元在無更先執(zhí)行序的欄柵指令未發(fā)射的情況下發(fā)射作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令。
9.根據(jù)權(quán)利要求7或8所述的基于指令塊的指令發(fā)射控制裝置,其特征在于,所述處于指令準備發(fā)射狀態(tài)的指令由欄柵指令以及普通指令組成,并且所述欄柵指令是改變指令流方向的指令。
10.一種配置了根據(jù)權(quán)利要求7至9之一所述的基于指令塊的指令發(fā)射控制裝置的處 理器。
全文摘要
本發(fā)明提供了一種基于指令塊的指令發(fā)射控制方法及裝置、以及處理器。判斷處于指令準備發(fā)射狀態(tài)的指令的指令類型。若判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是欄柵指令,則進一步判斷發(fā)射條件;若判定還有更先執(zhí)行序的指令不能發(fā)射,則使得作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射;若判定更先執(zhí)行序的指令均能發(fā)射或均已發(fā)射,則發(fā)射作為欄柵指令的所述處于指令準備發(fā)射狀態(tài)的指令。如果判定所述處于指令準備發(fā)射狀態(tài)的指令的指令類型是普通指令,則進一步判斷發(fā)射條件;若判定還有更先執(zhí)行序的欄柵指令未發(fā)射,則使得作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令不能發(fā)射;若判定無更先執(zhí)行序的欄柵指令未發(fā)射,則發(fā)射作為普通指令的所述處于指令準備發(fā)射狀態(tài)的指令。
文檔編號G06F9/38GK102830952SQ20121032645
公開日2012年12月19日 申請日期2012年9月5日 優(yōu)先權(quán)日2012年9月5日
發(fā)明者李宏亮, 過鋒, 高紅光, 許勇, 鄭方, 唐勇, 任秀江 申請人:無錫江南計算技術(shù)研究所