專利名稱:指令控制替換方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)體系結(jié)構(gòu)、計(jì)算機(jī)指令體系及其譯碼控制領(lǐng)域,特別涉及一種重復(fù)操作編碼與串并行操作編碼重組的方法、以及一種實(shí)現(xiàn)指令控制操作替換的方法及其裝置。
當(dāng)今的計(jì)算機(jī)系統(tǒng)在程序設(shè)計(jì)中使用指令編程,對重復(fù)操作問題通常采用的辦法是用程序流和多條指令的設(shè)計(jì)方法將問題描述成一個(gè)循環(huán)操作過程。這種方法本質(zhì)是通過軟件和編寫程序的過程來實(shí)現(xiàn)重復(fù)操作,在這種操作過程中,能夠與該循環(huán)過程并行的其它串行操作序列或并行操作序列均被禁止,因此現(xiàn)有技術(shù)對重復(fù)操作過程與其它并行或串行操作過程的處理是以增加系統(tǒng)的取指開銷和降低計(jì)算機(jī)硬件的執(zhí)行效率為代價(jià)的。
另一種方法是超長指令體系(VLIW)采用的方法,即在連續(xù)的每條超長指令字中裝入所述的重復(fù)操作編碼,與這些超長指令字中的其他操作編碼同時(shí)取入、并行控制執(zhí)行部件運(yùn)行。這種方法以增加指令總線寬度和增加取指周期為代價(jià),這種代價(jià)同樣也降低了硬件系統(tǒng)的執(zhí)行效率。另外,當(dāng)串行操作過程與并行操作過程共同包含在一個(gè)與可重復(fù)操作過程可并行的指令流中時(shí),超長指令字的優(yōu)化編譯器設(shè)計(jì)將變得十分復(fù)雜。
另一種方法是在硬件系統(tǒng)中對重復(fù)操作的指令序列采取微碼技術(shù)等加以控制和處理。由此導(dǎo)致現(xiàn)有的硬件系統(tǒng)中必須增加微程序存貯電路及其控制電路,引起譯碼技術(shù)復(fù)雜化、控制電路規(guī)模增大、譯碼延時(shí)時(shí)間增長等諸多問題。
因此對數(shù)據(jù)相關(guān)的串行操作和數(shù)據(jù)、資源無關(guān)的并行操作的組合、及其它們與重復(fù)操作并行組合的問題已成為當(dāng)今體系結(jié)構(gòu)設(shè)計(jì)者為增加指令級并行性、提高系統(tǒng)執(zhí)行效率所面臨的關(guān)鍵問題之一,也是硬件譯碼控制電路日趨復(fù)雜、規(guī)模日趨增大的原因之一。
本發(fā)明的目的是提供一種操作替換指令編碼方法及其硬件裝置,利用操作替換指令編碼方法及其硬件裝置可將資源數(shù)據(jù)相關(guān)和無關(guān)的重復(fù)串行操作或重復(fù)并行操作過程,通過替換的控制方式以計(jì)算機(jī)的基本操作形式重組到可以并行操作的指令序列中,并形成外部和內(nèi)部操作域編碼的替換,從而達(dá)到了執(zhí)行過程中的重復(fù)操作控制被獨(dú)立出來執(zhí)行,在不增加指令寬度、不增加取指周期的前提下實(shí)現(xiàn)重復(fù)操作和其他操作的重組并行控制的目的。
本發(fā)明揭示一種以簡單的硬件電路直接支持操作替換方式設(shè)置指令對數(shù)據(jù)、資源相關(guān)或無關(guān)的重復(fù)操作編碼進(jìn)行替換控制,形成獨(dú)立連續(xù)重復(fù)操作的控制方法。通過替換標(biāo)識的控制,使重復(fù)操作的編碼在控制相應(yīng)功能部件重復(fù)執(zhí)行過程中,許可后續(xù)指令的其它串行或并行的操作同時(shí)執(zhí)行。達(dá)到了簡化硬件電路規(guī)模、減少譯碼延時(shí)時(shí)間,從總體上增加操作編碼寬度及并行操作量的目的。
本發(fā)明還發(fā)現(xiàn)一種外部取入的指令編碼在替換執(zhí)行過程中與預(yù)先裝載的操作編碼進(jìn)行操作重組的方法。該方法實(shí)現(xiàn)了動(dòng)態(tài)的串/并行操作和重復(fù)操作控制的協(xié)調(diào),由此形成將串/并行操作與重復(fù)操作的重組,產(chǎn)生具有更高語義層次、簡單語用、語法關(guān)系的并行操作關(guān)系,使實(shí)際執(zhí)行的指令寬度根據(jù)操作需求動(dòng)態(tài)變化,從而達(dá)到并行重組控制多操作、精簡程序指令代碼、縮小人機(jī)解題行為間隙的目的。
一種指令控制替換的方法,其特征在于,該方法包括以下步驟一個(gè)指令編碼步驟,用于設(shè)計(jì)操作替換控制指令的指令編碼,所述操作替換控制指令包括操作替換方式設(shè)置指令和操作替換清除指令。所述操作替換方式設(shè)置指令包括指令格式控制域編碼、指令段格式控制域編碼、指令段替換方式控制域編碼和多個(gè)指令段編碼;所述操作替換清除指令包括指令格式控制域編碼、指令段格式控制域編碼、指令段替換清除格式控制域編碼、多個(gè)指令段編碼、和操作替換清除操作域編碼;每個(gè)所述指令段編碼是在所述指令格式控制域編碼和所述指令段格式控制域編碼約束下對應(yīng)于功能部件的操作域編碼;一個(gè)操作替換控制指令接收步驟,接收所述操作替換控制指令編碼;一個(gè)格式譯碼步驟,用于對所述操作替換控制指令中的所述指令格式控制域編碼、所述指令段格式控制域編碼、和所述指令段替換清除格式控制域編碼進(jìn)行譯碼,并從該所述操作替換控制指令中剝離出各個(gè)操作域編碼、及所述指令段替換方式控制域編碼、或所述操作替換清除操作域編碼;一個(gè)替換編碼標(biāo)識步驟,用于根據(jù)所述指令段替換方式控制域編碼將要求替換執(zhí)行的操作域編碼存貯在操作域替換編碼寄存器中、設(shè)置并維護(hù)操作域替換方式標(biāo)識;所述操作域替換清除操作域編碼用于將所述操作域替換方式標(biāo)識復(fù)位,即設(shè)置為“無替換執(zhí)行編碼”狀態(tài);一個(gè)替換重組步驟,用于針對各個(gè)操作域?qū)⒋尜A在所述操作域替換編碼寄存器中的替換編碼與從外部輸入的同一操作域的編碼實(shí)行替換重組,產(chǎn)生各個(gè)操作域的當(dāng)周期執(zhí)行的編碼及其使能信號;以及,一個(gè)輸出步驟,用于輸出經(jīng)替換重組的各個(gè)操作域的編碼及其使能信號。
一種指令控制替換裝置,可響應(yīng)多位操作替換控制指令外部存貯方式,可響應(yīng)多位內(nèi)部操作替換控制指令寄存器存貯方式,使該操作替換控制指令作用于替換控制裝置,通過先行指令予取重復(fù)執(zhí)行操作域到裝置內(nèi)部、按照指定的替換方式執(zhí)行,實(shí)現(xiàn)重復(fù)操作與其它串并行操作并行執(zhí)行的模式,其特征在于,包括以下部件配合該裝置的多位操作替換控制指令存貯器、寄存器的指令和數(shù)據(jù)輸入方式,一個(gè)用于接收操作替換控制指令的操作替換控制指令接收部件;配合所述操作替換控制指令接收部件的一個(gè)格式譯碼部件,用于對操作替換控制指令中的所述指令格式控制域編碼、所述指令段格式控制域編碼、所述指令段替換清除格式控制域進(jìn)行譯碼,并從操作替換控制指令中剝離操作域編碼、所述指令段替換方式控制域、和所述操作替換清除操作域的編碼;配合所述格式譯碼部件的用于實(shí)現(xiàn)替換執(zhí)行操作編碼存貯、操作域替換方式存貯、替換狀態(tài)生成的一個(gè)替換標(biāo)識部件;配合所述替換標(biāo)識部件的一個(gè)替換重組部件,用于將各個(gè)操作域的存貯在替換標(biāo)識部件中的操作編碼與外來指令中的同一操作域的操作編碼進(jìn)行重組,產(chǎn)生該操作域的當(dāng)周期執(zhí)行的操作編碼及該操作域的使能信號;以及,一個(gè)用于輸出各個(gè)操作域編碼及其使能信號的輸出部件。
本發(fā)明的一個(gè)優(yōu)點(diǎn)是可以將一個(gè)重復(fù)操作編碼在多周期操作的過程中從指令字序列中分離出來并獨(dú)立執(zhí)行。從而使其它串行或并行操作在該操作編碼重復(fù)執(zhí)行的過程中執(zhí)行,與重復(fù)操作共同控制更多的執(zhí)行部件并行,由此精減了指令流序列,減少了指令空間的占用。
本發(fā)明的另一個(gè)優(yōu)點(diǎn)是操作替換方式設(shè)置指令體系在其控制編碼中包含了替換控制編碼,可與預(yù)先裝載的操作編碼進(jìn)行替換執(zhí)行,反之,預(yù)先裝載的操作編碼也可與動(dòng)態(tài)輸入的指令序列中的操作編碼替換重組執(zhí)行,從而動(dòng)態(tài)地增加了指令的寬度,提高了指令序列的吞吐能力。
本發(fā)明的另一個(gè)優(yōu)點(diǎn)是操作替換方式設(shè)置指令體系外部輸入的編碼序列與內(nèi)部預(yù)先裝載的編碼序列可以替換重組執(zhí)行并可直接作用于執(zhí)行部件中,由此使譯碼電路減少到整體電路規(guī)模的5%以下,同時(shí)降低了譯碼電路的復(fù)雜度和減少了譯碼替換時(shí)間,縮短設(shè)計(jì)周期。
本發(fā)明的另一個(gè)優(yōu)點(diǎn)是經(jīng)操作替換方式設(shè)置指令體系的替換控制,使外部指令序列與內(nèi)部預(yù)先裝載的編碼序列在執(zhí)行重復(fù)操作的過程中可并行執(zhí)行其它操作。由此構(gòu)成了指令序列的高層語義關(guān)系,有效地化簡編譯器的設(shè)計(jì),精簡程序規(guī)模,為應(yīng)用人員提供了靈活的語法、語用環(huán)境,同時(shí)提高了整個(gè)系統(tǒng)程序執(zhí)行效率。
圖1a是本發(fā)明的實(shí)現(xiàn)替換的4個(gè)指令段的操作替換方式設(shè)置指令格式示意圖;圖1b是本發(fā)明的實(shí)現(xiàn)替換的4個(gè)指令段的操作替換清除指令格式示意圖;圖2是本發(fā)明的實(shí)現(xiàn)替換的指令控制替換裝置的總體結(jié)構(gòu)圖;圖3是本發(fā)明的實(shí)現(xiàn)替換的操作替換控制指令接收部件結(jié)構(gòu)圖;圖4a是本發(fā)明的實(shí)現(xiàn)替換的配合圖1a的操作替換方式設(shè)置指令格式的格式譯碼部件結(jié)構(gòu)圖;圖4b是本發(fā)明的實(shí)現(xiàn)替換的指令段格式控制域譯碼部件結(jié)構(gòu)圖;圖4c是本發(fā)明的實(shí)現(xiàn)替換的操作域剝離部件結(jié)構(gòu)圖;圖4d是本發(fā)明的實(shí)現(xiàn)替換的操作域使能部件結(jié)構(gòu)圖;圖4f是本發(fā)明的實(shí)現(xiàn)替換的替換方式控制域剝離部件結(jié)構(gòu)圖;圖5a是本發(fā)明的實(shí)現(xiàn)替換的替換標(biāo)識部件結(jié)構(gòu)圖;圖5b是本發(fā)明的實(shí)現(xiàn)替換的操作域替換方式標(biāo)識部件結(jié)構(gòu)圖;圖6a是本發(fā)明的實(shí)現(xiàn)替換的替換重組部件結(jié)構(gòu)圖;圖6b是本發(fā)明的實(shí)現(xiàn)替換的替換重組控制部件結(jié)構(gòu)圖;圖6c是本發(fā)明的實(shí)現(xiàn)替換的替換重組選通部件結(jié)構(gòu)圖;圖7是本發(fā)明的實(shí)現(xiàn)替換的流程圖;圖8a是本發(fā)明的一個(gè)程序?qū)嵗牟僮髁鲌D;圖8b是本發(fā)明的實(shí)現(xiàn)所述程序?qū)嵗牟僮魈鎿Q控制指令字中的操作域編碼圖;以及圖8c是本發(fā)明的實(shí)現(xiàn)所述程序?qū)嵗奶鎿Q控制指令執(zhí)行時(shí)序圖。
本發(fā)明的實(shí)現(xiàn)基于一組操作替換控制指令。圖1a、圖1b分別給出了操作替換方式設(shè)置指令格式和操作替換清除指令格式。圖1a表示的操作替換方式設(shè)置指令格式包括1)指令格式控制域11每個(gè)指令格式中只有一個(gè)指令格式控制域11,用于定義操作替換方式設(shè)置指令的構(gòu)成,即所包含的指令段數(shù)、每個(gè)指令段、及其指令段格式控制域、指令段替換控制域的寬度與位置;2)指令段格式控制域12每個(gè)指令格式中有若干個(gè)指令段格式控制域12,用于標(biāo)識對應(yīng)的指令段的編碼所作用的功能部件,指令段格式控制域12的寬度決定了對應(yīng)的指令段可以交替控制的功能部件的個(gè)數(shù);3)指令段13每個(gè)指令格式中有若干個(gè)指令段13,其數(shù)目與指令段格式控制域12的個(gè)數(shù)相同,用于實(shí)現(xiàn)對功能部件的控制。配合指令段格式控制域12的編碼,指令段13對應(yīng)于不同的功能部件,即成為實(shí)現(xiàn)不同操作的操作域。
4)指令段替換方式控制域14每個(gè)指令格式中有若干個(gè)指令段替換方式控制域14,其數(shù)目與指令段格式控制域12的個(gè)數(shù)相同,用于標(biāo)識對應(yīng)指令段13配合指令段格式控制域12編碼的操作域的重復(fù)執(zhí)行方式,指令段替換方式控制域14可以缺省,缺省時(shí)對應(yīng)指令段13配合指令段格式控制域12編碼的操作域在當(dāng)周期執(zhí)行,且只執(zhí)行一次。
圖1b表示的是一種實(shí)現(xiàn)操作替換清除指令的指令格式。圖1b表示的操作替換清除指令格式包括1)指令格式控制域11;2)指令段格式控制域12;3)指令段13;4)指令段替換清除格式控制域15它是一個(gè)具有確定編碼的指令段格式控制域12,標(biāo)識對應(yīng)的指令段13的編碼將控制操作替換清除。
5)操作替換清除操作域16它是對應(yīng)于指令段替換清除格式控制域15的指令段13的一個(gè)特定的操作域,其功能是將指定的替換操作編碼的替換方式標(biāo)識設(shè)置為無效,從而終止以替換方式重復(fù)執(zhí)行的操作的繼續(xù)執(zhí)行。
運(yùn)用圖1a所述的操作替換方式設(shè)置指令格式設(shè)計(jì)一個(gè)操作替換方式指令編碼的步驟如下1)根據(jù)操作替換方式設(shè)置指令所要實(shí)現(xiàn)的功能,選擇功能部件,并以控制這些功能部件的操作域作為實(shí)現(xiàn)該操作替換方式設(shè)置指令的操作域集合;2)根據(jù)操作替換方式設(shè)置指令所要實(shí)現(xiàn)的功能,對所述選定的操作域,在其編碼表中選擇對應(yīng)于該操作替換方式設(shè)置指令功能所需操作的編碼作為該操作替換方式設(shè)置指令中該操作域的編碼;3)按照所要實(shí)現(xiàn)的操作替換方式設(shè)置指令的功能,將所述操作域集合中的需要重復(fù)執(zhí)行的操作域所在指令段的指令段替換方式控制域14設(shè)置成為該操作域重復(fù)執(zhí)行條件所對應(yīng)的編碼;4)以在指令段13中可交替出現(xiàn)的所有操作域的編碼寬度的最大值作為指令段13寬度,以所述選定的各個(gè)操作域的編碼作為所在指令段13的編碼;5)對指令段13中可以交替出現(xiàn)的操作域的個(gè)數(shù)進(jìn)行編碼,并以該編碼寬度作為指令段格式控制域12的寬度;6)對于所述指令段13任意給出可以交替出現(xiàn)的操作域的順序,并以所述選定操作域的順序號作為指令段格式控制域12編碼;7)對整個(gè)指令系統(tǒng)允許的指令段劃分方式的數(shù)量進(jìn)行編碼,并以該編碼寬度作為指令格式控制域11的寬度;以及8)任意給出所述整個(gè)指令系統(tǒng)允許的指令段劃分方式的排列順序,并以實(shí)現(xiàn)該操作替換方式設(shè)置指令的指令段劃分方式對應(yīng)的編碼作為指令格式控制域11編碼。
配合操作替換方式設(shè)置指令編碼的設(shè)計(jì),在需要終止某個(gè)替換操作域的重復(fù)執(zhí)行的時(shí)候,可以運(yùn)用圖1b所述的操作替換清除指令格式設(shè)計(jì)一個(gè)操作替換清除指令編碼,設(shè)計(jì)步驟如下1)根據(jù)操作替換清除指令所要實(shí)現(xiàn)的功能,選擇功能部件,并以控制這些功能部件的操作域作為實(shí)現(xiàn)該操作替換清除指令的操作域集合;2)根據(jù)操作替換清除指令所要實(shí)現(xiàn)的功能,對所述選定的操作域,在其編碼表中選擇對應(yīng)于該操作替換清除指令功能所需操作的編碼作為該操作替換清除指令中該操作域的編碼。其中一個(gè)操作域的編碼功能是將指定的替換操作編碼的替換方式標(biāo)識設(shè)置為無效,該操作域作為操作替換清除操作域16;3)以在指令段13中可交替出現(xiàn)的所有操作域的編碼寬度的最大值作為指令段13寬度,以所述選定的各個(gè)操作域的編碼作為指令段13的編碼;4)對指令段13中可以交替出現(xiàn)的操作域的個(gè)數(shù)進(jìn)行編碼,并以該編碼寬度作為指令段格式控制域12的寬度;在操作替換清除操作域16所在的指令段13中可以交替出現(xiàn)的操作域的個(gè)數(shù)的編碼寬度為對應(yīng)的指令段替換清除格式控制域15的寬度;5)對于所述指令段13任意給出可以交替出現(xiàn)的操作域的順序,并以所述選定操作域的順序號作為指令段格式控制域12編碼;對操作替換清除操作域16所在指令段13中可以交替出現(xiàn)的操作域任意排序,以操作替換清除操作域16的序號作為對應(yīng)的指令段替換清除格式控制域15的編碼;6)對整個(gè)指令系統(tǒng)允許的指令段劃分方式的數(shù)量進(jìn)行編碼,并以該編碼寬度作為指令格式控制域11的寬度;以及7)任意給出所述整個(gè)指令系統(tǒng)允許的指令段劃分方式的排列順序,并以實(shí)現(xiàn)該操作替換清除指令的指令段劃分方式對應(yīng)的編碼作為指令格式控制域11的編碼。
實(shí)現(xiàn)操作替換控制指令的指令格式中可以包含任意多個(gè)指令段13。圖1a、圖1b只是實(shí)現(xiàn)操作替換控制指令的指令格式的一個(gè)示例。
圖2是指令控制替換裝置的總體結(jié)構(gòu)圖。包括操作替換控制指令接收部件21,格式譯碼部件22,替換標(biāo)識部件23,替換重組部件24,輸出部件25。其中,操作替換控制指令接收部件21以存貯方式接收來自存貯器的操作替換控制指令,或以寄存器方式接收來自于內(nèi)部寄存器堆的操作替換控制指令,并形成可供譯碼執(zhí)行的滿足所述操作替換控制指令格式的指令編碼;格式譯碼部件22接收來自操作替換控制指令接收部件21的操作替換控制指令編碼,經(jīng)過與上述操作替換控制指令格式配合的格式譯碼,剝離出指令中包含的操作域、替換控制域,并形成所有操作域的使能信號;替換標(biāo)識部件23接收來自格式譯碼部件22的操作域、其使能信號、所有替換控制域、以及指令格式控制域譯碼結(jié)果和指令段格式控制域譯碼結(jié)果,形成替換操作編碼、替換控制狀態(tài)信號;替換重組部件24從替換標(biāo)識部件23接收替換編碼、替換控制狀態(tài)信號、以及配合所接收的操作替換控制指令的各個(gè)操作域、及其使能信號,形成該操作域的當(dāng)周期執(zhí)行的編碼及其替換執(zhí)行使能信號;輸出部件25從替換重組部件24接收操作域的編碼及其替換執(zhí)行使能信號作為指令控制替換裝置的最終輸出。
圖3是指令控制替換裝置的操作替換控制指令接收部件21的結(jié)構(gòu)圖。包括指令拼裝標(biāo)識寄存器30、指令拼裝部件31和指令寄存器32。指令拼裝標(biāo)識寄存器30是一個(gè)可設(shè)置的狀態(tài)寄存器,表示操作替換控制指令的來源。指令拼裝部件31是一個(gè)選通器,它以存貯方式從一個(gè)外部存貯器接收操作替換控制指令,或以寄存器方式從一個(gè)內(nèi)部寄存器堆接收操作替換控制指令,在預(yù)先設(shè)定的內(nèi)部指令拼裝標(biāo)識寄存器狀態(tài)的控制下選擇其中一路構(gòu)成實(shí)際執(zhí)行的操作替換控制指令,裝載到指令寄存器32中。
圖4a是配合圖1a所述操作替換方式設(shè)置指令格式、和圖1b所述操作替換清除指令格式的格式譯碼部件22結(jié)構(gòu)圖。配合所述操作替換控制指令接收部件21接收的操作替換方式設(shè)置指令,格式譯碼部件22接收操作替換控制指令接收部件21輸出的操作替換方式設(shè)置指令,剝離出操作域、指令段替換方式設(shè)置控制域,并產(chǎn)生所有操作域的使能信號。包括指令格式控制域譯碼部件41,指令段格式控制域譯碼部件42,操作域剝離部件43,替換方式控制域剝離部件44,操作域使能部件45。指令格式控制域譯碼部件41是一個(gè)譯碼器,接收操作替換方式設(shè)置指令中的指令格式控制域11,產(chǎn)生指令格式控制域的譯碼信號,指令格式控制域譯碼部件41的結(jié)構(gòu)由指令格式控制域的寬度確定(如2-4譯碼器、3-8譯碼器等);指令段格式控制域譯碼部件42接收操作替換方式設(shè)置指令中的各個(gè)指令段格式控制域12,產(chǎn)生指令段格式控制域的譯碼信號;操作域剝離部件43在指令格式控制域譯碼部件41、指令段格式控制域譯碼部件42的譯碼結(jié)果控制下,從操作替換方式設(shè)置指令中剝離各個(gè)操作域;替換方式控制域剝離部件44在指令格式控制域譯碼部件41、指令段格式控制域譯碼部件42的譯碼結(jié)果控制下,從操作替換方式設(shè)置指令中剝離各個(gè)指令段替換方式控制域14;操作域使能部件45接收指令格式控制域譯碼部件41、指令段格式控制域譯碼部件42輸出的結(jié)果,產(chǎn)生各個(gè)操作域在所接收的操作替換控制指令中是否使能的信號。配合所述操作替換控制指令接收部件21接收的操作替換清除指令,指令格式控制域譯碼部件41、指令段格式控制域部件譯碼部件42、操作域剝離部件43、操作域使能部件45的功能不變。指令段替換清除格式控制域15的譯碼部件是指令段格式控制域譯碼部件42的一部分,結(jié)構(gòu)同其它指令段格式控制域譯碼器46;操作替換清除操作域剝離部件是操作域剝離部件43的一部分,結(jié)構(gòu)同其它操作域剝離選通器47。替換方式控制域剝離部件44不產(chǎn)生結(jié)果。
圖4b是配合所述各種操作替換控制指令格式的指令段格式控制域譯碼部件42結(jié)構(gòu)圖。指令段格式控制域譯碼部件42由配合操作替換控制指令中指令段格式控制域12和指令段替換清除格式控制域15的一組指令段格式控制域譯碼器46組成,每個(gè)指令段格式控制域譯碼器46接收一個(gè)指令段格式控制域12或指令段替換清除格式控制域15,產(chǎn)生該指令段格式控制域12或指令段替換清除格式控制域15譯碼信號,每個(gè)指令段格式控制域譯碼器46的結(jié)構(gòu)由其接收的指令段格式控制域12或指令段替換清除格式控制域15的寬度確定(如2-4譯碼器、3-8譯碼器)。
圖4c是配合所述各種操作替換控制指令格式的操作域剝離部件43。操作域剝離部件43由配合各個(gè)指令段所有可交替控制的功能部件的操作域(包括操作替換清除操作域16)的一組操作域剝離選通器47組成,每個(gè)操作域剝離選通器47連接一個(gè)操作域或操作替換清除操作域16在各種操作替換控制指令格式中的能夠交替出現(xiàn)的所有指令段13,在指令格式控制域譯碼部件41和指令段格式控制域譯碼部件42輸出結(jié)果的編碼組合控制下,從所接收的操作替換控制指令中剝離出該操作域。
圖4d是配合所述各種操作替換控制指令格式的操作域使能部件45。操作域使能部件45由配合操作替換控制指令中允許出現(xiàn)的操作域的一組操作域使能邏輯48組成,每個(gè)操作域使能邏輯48接收指令格式控制域譯碼部件41和指令段格式控制域譯碼部件42的該操作域?qū)?yīng)的譯碼結(jié)果,通過邏輯組合,產(chǎn)生該操作域配合所接收的操作替換控制指令的操作域使能信號。
圖4e是配合所述操作替換方式設(shè)置指令格式的替換方式控制域剝離部件44。替換方式控制域剝離部件44由配合操作替換方式設(shè)置指令中各個(gè)指令段替換方式控制域14的一組替換方式控制域選通器49組成,每個(gè)替換方式控制域選通器49接收一個(gè)指令段替換方式控制域14在各種操作替換方式設(shè)置指令格式中的所有可能的出現(xiàn),在指令格式控制域譯碼部件41輸出結(jié)果的控制下,從所接收的操作替換方式設(shè)置指令中剝離指令段替換方式控制域14。
圖5a是配合所述操作替換控制指令格式的替換標(biāo)識部件23結(jié)構(gòu)圖。配合所述操作替換控制指令格式的替換標(biāo)識部件23接收來自格式譯碼部件22的各個(gè)操作域及其使能信號、指令段替換方式設(shè)置控制域14或操作替換清除操作域16、并接收來自格式譯碼部件22的指令格式控制域11譯碼結(jié)果和指令段格式控制域12譯碼結(jié)果,設(shè)置各個(gè)操作域的操作域替換編碼寄存器、以及配合所接收的操作替換控制指令的各個(gè)操作域的操作域替換方式標(biāo)識。配合所述操作替換控制指令格式的替換標(biāo)識部件23包括一組操作域替換編碼寄存器51,一組操作域替換方式標(biāo)識52。當(dāng)所接收的操作替換控制指令為操作替換方式設(shè)置指令時(shí),操作域替換編碼寄存器51從格式譯碼部件22接收一個(gè)操作域及其使能信號,在來自格式譯碼部件22的指令格式控制域11譯碼結(jié)果和指令段格式控制域12譯碼結(jié)果控制下,從格式譯碼部件22接收該操作域所在指令段13的指令段替換方式控制域14,相應(yīng)的操作域替換方式標(biāo)識52接收操作域使能信號和指令段替換方式控制域14,當(dāng)該操作域使能、且指令段替換方式控制域14標(biāo)識該指令域以替換方式執(zhí)行時(shí),所述接收的操作域編碼設(shè)置到相應(yīng)的操作域替換編碼寄存器51中,指令段替換方式控制域14編碼設(shè)置到相應(yīng)的操作域替換方式標(biāo)識52中。當(dāng)所接收的操作替換控制指令為操作替換清除指令時(shí),操作域替換方式標(biāo)識52接收來自格式譯碼部件22的操作替換清除操作域16及其使能信號,當(dāng)操作替換清除操作域16使能時(shí),將操作替換清除操作域16指定的操作域替換方式標(biāo)識52置為“無替換執(zhí)行編碼”狀態(tài)。
圖5b是配合所述圖1a、圖1b的一個(gè)操作域替換編碼寄存器51的操作域替換方式標(biāo)識部件52。操作域替換方式標(biāo)識部件52由一個(gè)替換方式標(biāo)識寄存器53、一個(gè)替換計(jì)數(shù)器54、和一個(gè)替換狀態(tài)生成部件55組成。替換方式標(biāo)識寄存器53是一個(gè)可以設(shè)置(SET0)和復(fù)位(RST0)的標(biāo)識寄存器,替換方式標(biāo)識寄存器53用于接收來自格式譯碼部件22的一個(gè)操作域在各種指令格式中所在指令段13的指令段替換方式控制域14編碼,在指令格式控制域譯碼部件41和指令段格式控制域譯碼部件42輸出結(jié)果的邏輯組合控制下,選通并設(shè)置替換方式標(biāo)識寄存器53;替換方式標(biāo)識寄存器53還用于接收操作替換清除操作域16,控制將替換方式標(biāo)識寄存器53復(fù)位為“無替換執(zhí)行編碼”狀態(tài);替換方式標(biāo)識寄存器53控制該操作域的替換計(jì)數(shù)器54初始值選通和設(shè)置,替換計(jì)數(shù)器54用于控制不連續(xù)的重復(fù)操作的替換執(zhí)行;替換方式標(biāo)識寄存器53還控制替換狀態(tài)生成部件55選通來自外部替換條件狀態(tài)寄存器的替換條件編碼或來自替換計(jì)數(shù)器的為0信號,產(chǎn)生該操作域的替換控制狀態(tài);替換狀態(tài)生成部件55在替換方式表示寄存器53中的替換方式編碼控制下,在替換計(jì)數(shù)器為0或在替換方式標(biāo)識定義的其他替換條件滿足時(shí)產(chǎn)生該操作域替換編碼有效的信號。
圖6a是配合圖1a所述操作替換控制指令的替換重組部件24結(jié)構(gòu)圖。替換重組部件24接收來自格式譯碼部件22的各個(gè)操作域編碼及其使能信號,接收來自替換標(biāo)識部件23的各個(gè)操作域的操作域替換編碼寄存器51的值,產(chǎn)生各個(gè)操作域的當(dāng)周期執(zhí)行的操作編碼及其使能信號。替換重組部件24包括一個(gè)替換重組控制部件61、一個(gè)替換重組選通部件62、和一個(gè)替換重組操作使能部件63。其中,替換重組控制部件61用于接收各個(gè)操作域的來自格式譯碼部件22的使能信號和來自替換標(biāo)識部件23的各個(gè)操作域的替換控制狀態(tài),產(chǎn)生控制替換重組選通部件62的選通控制信號;替換重組選通部件62用于接收各個(gè)操作域的來自格式譯碼部件22的操作域編碼和來自替換標(biāo)識部件23的操作域替換編碼寄存器51的值,在替換重組控制部件61產(chǎn)生的選通控制信號的控制下產(chǎn)生各個(gè)操作域的當(dāng)周期執(zhí)行的編碼;替換重組操作使能部件63接收替換重組控制部件61產(chǎn)生的選通控制信號,分別對每個(gè)操作域選通控制信號的各位進(jìn)行邏輯組合,產(chǎn)生各個(gè)操作域的使能信號,操作域使能信號的產(chǎn)生邏輯為對于一個(gè)操作域,當(dāng)替換重組控制部件61產(chǎn)生的該操作域的選通控制信號中有1位有效時(shí),操作域使能信號有效。
圖6b是替換重組控制部件61結(jié)構(gòu)圖。替換重組控制部件61由一組替換選通控制信號生成邏輯64組成,一個(gè)替換選通控制信號生成邏輯64用于接收一個(gè)操作域的來自格式譯碼部件22的該操作域使能信號和來自替換標(biāo)識部件23的該操作域的替換控制狀態(tài)信號,產(chǎn)生替換重組的選通控制信號。替換重組選通控制信號的產(chǎn)生邏輯為對于任意一個(gè)操作域,若所接收的操作替換控制指令中該操作域使能,則選通來自格式譯碼部件22的該操作域編碼的選通信號有效;否則,選通來自該操作域的操作域替換編碼寄存器51的操作替換編碼的選通信號有效;其余情況下,選通信號均無效。
圖6c是替換重組選通部件62的結(jié)構(gòu)圖。替換重組選通部件62由一組操作域替換重組選通器65組成,一個(gè)操作域替換重組選通器65用于接收一個(gè)操作域的來自格式譯碼部件22的該操作域編碼和來自替換標(biāo)識部件23的該操作域替換編碼寄存器51,在替換重組控制部件61控制下選通產(chǎn)生該操作域的當(dāng)周期執(zhí)行的操作編碼。
圖7是配合所述操作替換控制指令格式和替換控制裝置的指令控制替換的流程圖。
步驟71接收操作替換控制指令編碼。該步驟之前的步驟包括將所述格式的操作替換控制指令編碼裝載到外部存貯器或內(nèi)部寄存器步驟、和裝載指令拼裝標(biāo)識步驟;步驟71以存貯方式接收來自存貯器的操作替換控制指令編碼,或以寄存器方式接收來自內(nèi)部寄存器的操作替換控制指令編碼,并根據(jù)指令拼裝標(biāo)識選取其中一路指令構(gòu)成控制替換裝置的包括格式控制域編碼、替換控制域編碼、操作域編碼的操作替換控制指令;步驟72實(shí)現(xiàn)操作替換控制指令的格式譯碼,完成操作替換控制指令的指令格式控制域11、各個(gè)指令段格式控制域12、和指令段替換清除格式控制域(15)的譯碼,在格式譯碼結(jié)果控制下剝離各個(gè)操作域的編碼、生成各個(gè)操作域的使能信號,并剝離指令段替換方式控制域14編碼、或操作替換清除操作域16編碼;對每個(gè)操作域進(jìn)行如下的步驟;
步驟74依據(jù)步驟72產(chǎn)生的該操作域所在指令段的指令段替換方式控制域14編碼、和該操作域的使能信號,判斷該操作域編碼是否作為替換操作編碼處理,若作為替換操作編碼處理,則轉(zhuǎn)步驟75,否則轉(zhuǎn)步驟76處理;步驟75接收以替換方式執(zhí)行的操作域編碼和該操作域所在指令段的指令段替換方式控制域14編碼,將該操作域的替換執(zhí)行的編碼存貯到該操作域的操作域替換編碼寄存器51,并用指令段替換方式控制域14編碼設(shè)置相應(yīng)的操作域替換方式標(biāo)識寄存器53,步驟75還在每周期由替換計(jì)數(shù)器54和替換狀態(tài)生成部件55完成對所有操作域的替換狀態(tài)的更新;步驟76依據(jù)步驟72產(chǎn)生的操作替換清除操作域16編碼及其使能信號,判斷各個(gè)替換執(zhí)行的操作域的替換方式標(biāo)識部件52是否需要復(fù)位,即是否需要設(shè)置為“無替換執(zhí)行編碼”狀態(tài),若操作域替換方式標(biāo)識52要復(fù)位,則轉(zhuǎn)步驟77,否則轉(zhuǎn)步驟78處理;步驟77接收操作替換清除操作域16編碼,將該編碼指定的所有操作域的替換方式標(biāo)識復(fù)位。
步驟78接收指令中需要執(zhí)行的操作域編碼和操作域替換寄存器中的替換操作編碼,根據(jù)格式譯碼步驟產(chǎn)生的該操作域的使能信號、替換狀態(tài)生成部件55產(chǎn)生的該操作域的替換控制狀態(tài),從所接收的該操作域的各個(gè)編碼中選擇其一作為配合步驟71接收的操作替換控制指令和內(nèi)部替換標(biāo)識狀態(tài)的該操作域的當(dāng)周期執(zhí)行的編碼,并形成該操作域的使能信號,實(shí)現(xiàn)操作域的替換編碼與所接收的指令中該操作域編碼的替換重組。
步驟79輸出所有操作域的編碼及其使能信號。
圖8a是一個(gè)程序?qū)嵗牟僮髁鲌D;其中,每一個(gè)格子中是一個(gè)操作域的助記符和編碼。所述程序?qū)嵗δ転棰偃?個(gè)數(shù)到堆棧中、②同時(shí)計(jì)算(I+X1)*X2、③同時(shí)if A>B thenA=A-B else A=A+B、④同時(shí)計(jì)算(Y1+Y2)*Y3。DAU為定點(diǎn)加法運(yùn)算操作域,單周期執(zhí)行;DCOM為比較操作域,單周期執(zhí)行;INC為地址增量操作域,單周期執(zhí)行;LD為取數(shù)操作域,雙周期流水執(zhí)行;STACK為堆棧操作域,單周期執(zhí)行;FMUL為浮點(diǎn)乘法運(yùn)算操作域,3周期流水執(zhí)行;FAU為浮點(diǎn)加法操作域,3周期流水執(zhí)行;COND1、COND2為條件操作域,單周期執(zhí)行。圖8a表現(xiàn)了實(shí)現(xiàn)所述程序的操作序列,每一行中的操作域編碼在同一個(gè)周期內(nèi)并行執(zhí)行。由圖8a可見,每個(gè)周期執(zhí)行的操作域及操作域個(gè)數(shù)各異,而LD、INC、STACK三個(gè)操作域的一個(gè)串并行操作域序列被重復(fù)執(zhí)行。假設(shè)機(jī)器總線寬度約束每個(gè)指令字中最多只能放置4個(gè)操作域,則需采用指令控制替換方法,將LD、INC、STACK操作域作為替換操作域處理。圖8b是實(shí)現(xiàn)所述程序功能的各個(gè)指令字中操作域編碼圖,LD_EN、INC_EN、STACK_EN分別為LD、INC、STACK操作域加上指令段替換方式控制域14,用以表示對應(yīng)的操作域以替換方式執(zhí)行,LD_NE、INC_NE、STACK_NE分別為LD、INC、STACK的操作替換清除操作域16。
圖8c是實(shí)現(xiàn)所述程序功能的操作替換控制指令序列的執(zhí)行時(shí)序。其中,PC+i(i=1、2、3、4、5、6、7)為指令地址,INSi(i=0、1、2、3、4、5、6)為輸入的操作替換控制指令。
替換方式控制編碼定義舉例如下
圖中指令根據(jù)所述各個(gè)操作的時(shí)序特征以及操作相關(guān)關(guān)系,采用“每周期執(zhí)行1次”的操作替換控制指令格式,在每個(gè)指令字最多能夠排列4個(gè)操作域的約束下實(shí)現(xiàn)了所述功能。
INS0中各個(gè)指令段編碼及其執(zhí)行方式定義如下
INS1中各個(gè)指令段編碼及其執(zhí)行方式定義如下
INS2中各個(gè)指令段編碼及其執(zhí)行方式定義如下
INS3中各個(gè)指令段編碼及其執(zhí)行方式定義如下
INS4中各個(gè)指令段編碼及其執(zhí)行方式定義如下
INS5中各個(gè)指令段編碼及其執(zhí)行方式定義如下
INS6中各個(gè)指令段編碼及其執(zhí)行方式定義如下
>基于所述指令編碼,執(zhí)行過程如下
T1當(dāng)所述操作替換控制指令接收部件21接收INS0后,格式譯碼部件22對指令格式控制域11和各個(gè)指令段格式控制域12進(jìn)行譯碼,并根據(jù)譯碼結(jié)果從該指令字中剝離出LD(101-0100)、INC(10100)、FAU(00-00100-10100)操作域編碼,并產(chǎn)生這3個(gè)操作域使能信號,之后,格式譯碼部件22產(chǎn)生的操作域編碼和使能信號由替換標(biāo)識部件23接收,在各個(gè)指令段替換方式控制域14編碼控制下,將其中的LD(101-0100)、INC(10100)編碼分別存入這些操作域的操作域替換編碼寄存器51中,同時(shí)設(shè)置它們對應(yīng)的操作域替換標(biāo)識52;另外,執(zhí)行FAU編碼(00-00100-10100)進(jìn)行Y1+Y2;T2當(dāng)所述操作替換控制指令接收部件21接收INS1后,格式譯碼部件22對指令格式控制域11和各個(gè)指令段格式控制域12進(jìn)行譯碼,并根據(jù)譯碼結(jié)果從該指令字中剝離出IFPA(00-10100)操作域編碼,并產(chǎn)生該操作域使能信號,配合替換標(biāo)識部件23的狀態(tài),執(zhí)行LD(101-0100)取數(shù)、執(zhí)行INC(10100)取數(shù)地址加1、執(zhí)行IFPA(00-10100)將I轉(zhuǎn)換成浮點(diǎn)數(shù);T3當(dāng)所述操作替換控制指令接收部件21接收INS2后,格式譯碼部件22對指令格式控制域11和各個(gè)指令段格式控制域12進(jìn)行譯碼,并根據(jù)譯碼結(jié)果從該指令字中剝離出STACK(01-10100)、FAU(10-00111-11100)操作域編碼,并產(chǎn)生這2個(gè)操作域使能信號,之后,格式譯碼部件22產(chǎn)生的操作域編碼和使能信號由替換標(biāo)識部件23接收,在各個(gè)指令段替換方式控制域14編碼控制下,將其中的STACK(01-10100)編碼存入這個(gè)操作域的操作域替換編碼寄存器51中,同時(shí)設(shè)置它們對應(yīng)的操作域替換標(biāo)識52;配合替換標(biāo)識部件23的狀態(tài),執(zhí)行LD(101-0100)取數(shù)、執(zhí)行INC(10100)取數(shù)地址加1、執(zhí)行FAU(10-00111-11100)計(jì)算I的轉(zhuǎn)換結(jié)果加X1;T4當(dāng)所述操作替換控制指令接收部件21接收INS3后,格式譯碼部件22對指令格式控制域11和各個(gè)指令段格式控制域12進(jìn)行譯碼,并根據(jù)譯碼結(jié)果從該指令字中剝離出FMUL(10-00101-10000)操作域編碼,并產(chǎn)生該操作域使能信號,配合替換標(biāo)識部件23的狀態(tài),執(zhí)行LD(101-0100)取數(shù)、執(zhí)行INC(10100)取數(shù)地址加1、執(zhí)行STACK(01-10100)取入的數(shù)據(jù)進(jìn)棧、執(zhí)行FMUL(10-00101-10000)將Y1+Y2結(jié)果乘以Y3;T5當(dāng)所述操作替換控制指令接收部件21接收INS4后,格式譯碼部件22對指令格式控制域11和各個(gè)指令段格式控制域12進(jìn)行譯碼,并根據(jù)譯碼結(jié)果從該指令字中剝離出DCOM(0010-01100-11001)、LD_NE(100001)、INC_NE(100010)操作域編碼,并產(chǎn)生這些操作域使能信號,配合替換標(biāo)識部件23的狀態(tài),執(zhí)行LD(101-0100)取數(shù)、執(zhí)行INC(10100)取數(shù)地址加1、執(zhí)行STACK(01-10100)取入的數(shù)據(jù)進(jìn)棧、執(zhí)行DCOM(0010-01100-11001)計(jì)算A>B;T6當(dāng)所述操作替換控制指令接收部件21接收INS5后,格式譯碼部件22對指令格式控制域11和各個(gè)指令段格式控制域12進(jìn)行譯碼,并根據(jù)譯碼結(jié)果從該指令字中剝離出COND1(0010100)、DAU(1011-01100-11000)COND2(1010100)、DAU(1010-01100-11000)操作域編碼,并產(chǎn)生這些操作域使能信號,配合替換標(biāo)識部件23的狀態(tài),執(zhí)行STACK(01-10100)取入的數(shù)據(jù)進(jìn)棧、執(zhí)行COND1(0010100)DAU(1011-01100-11000)COND2(1010100)DAU(1010-01100-11000)實(shí)現(xiàn)if A>B then A=A+B elseA=A-B;T7當(dāng)所述操作替換控制指令接收部件21接收INS4后,格式譯碼部件22對指令格式控制域11和各個(gè)指令段格式控制域12進(jìn)行譯碼,并根據(jù)譯碼結(jié)果從該指令字中剝離出FMUL(10-00101-11000)STACK_NE(100000)操作域編碼,并產(chǎn)生這些操作域使能信號,配合替換標(biāo)識部件23的狀態(tài),執(zhí)行STACK(01-10100)取入的數(shù)據(jù)進(jìn)棧、執(zhí)行FMUL(10-00101-11000)實(shí)現(xiàn)I+X1結(jié)果乘以X2。
盡管以上結(jié)合附圖所示例子描述了本發(fā)明,但顯然本發(fā)明并不局限于此,在后附權(quán)利要求書所提出的創(chuàng)新思想范圍內(nèi),可以通過若干不同方式加以變換。
權(quán)利要求
1.一種指令控制替換的方法,其特征在于,該方法包括以下步驟1)一個(gè)指令編碼步驟,用于設(shè)計(jì)操作替換控制指令的指令編碼,所述操作替換控制指令包括操作替換方式設(shè)置指令和操作替換清除指令。所述操作替換方式設(shè)置指令包括指令格式控制域(11)編碼、指令段格式控制域(12)編碼、指令段替換方式控制域(14)編碼和多個(gè)指令段(13)編碼;所述操作替換清除指令包括指令格式控制域(11)編碼、指令段格式控制域(12)編碼、指令段替換清除格式控制域(15)編碼、多個(gè)指令段(13)編碼、和操作替換清除操作域(16)編碼;每個(gè)所述指令段(13)編碼是在所述指令格式控制域(11)編碼和所述指令段格式控制域(12)編碼約束下對應(yīng)于功能部件的操作域編碼;2)一個(gè)操作替換控制指令接收步驟,接收所述操作替換控制指令編碼;3)一個(gè)格式譯碼步驟,用于對所述操作替換控制指令中的所述指令格式控制域(11)編碼、所述指令段格式控制域(12)編碼、和所述指令段替換清除格式控制域(15)編碼進(jìn)行譯碼,并從該所述操作替換控制指令中剝離出各個(gè)操作域編碼、及所述指令段替換方式控制域(14)編碼、或所述操作替換清除操作域(16)編碼;4)一個(gè)替換編碼標(biāo)識步驟,用于根據(jù)所述指令段替換方式控制域(14)編碼將要求替換執(zhí)行的操作域編碼存貯在操作域替換編碼寄存器中、設(shè)置并維護(hù)操作域替換方式標(biāo)識;所述操作域替換清除操作域(16)編碼用于將所述操作域替換方式標(biāo)識復(fù)位,即設(shè)置為“無替換執(zhí)行編碼”狀態(tài);5)一個(gè)替換重組步驟,用于針對各個(gè)操作域?qū)⒋尜A在所述操作域替換編碼寄存器中的替換編碼與從外部輸入的同一操作域的編碼實(shí)行替換重組,產(chǎn)生各個(gè)操作域的當(dāng)周期執(zhí)行的編碼及其使能信號;以及6)一個(gè)輸出步驟,用于輸出經(jīng)替換重組的各個(gè)操作域的編碼及其使能信號。
2.如權(quán)利要求1所述的指令控制替換方法,其特征在于,所述操作替換方式設(shè)置指令的指令編碼步驟包括以下步驟1)根據(jù)操作替換方式設(shè)置指令所要實(shí)現(xiàn)的功能,選擇功能部件,并以控制這些功能部件的操作域作為實(shí)現(xiàn)該操作替換方式設(shè)置指令的操作域集合;2)根據(jù)操作替換方式設(shè)置指令所要實(shí)現(xiàn)的功能,對所述選定的操作域,在其編碼表中選擇對應(yīng)于該操作替換方式設(shè)置指令功能所需操作的編碼作為該操作替換方式設(shè)置指令中該操作域的編碼;3)按照所要實(shí)現(xiàn)的操作替換方式設(shè)置指令的功能,將所述操作域集合中的需要重復(fù)執(zhí)行的操作域所在指令段(13)的所述指令段替換方式控制域(14)設(shè)置成為該操作域重復(fù)執(zhí)行條件所對應(yīng)的編碼;4)以在所述指令段(13)中可交替出現(xiàn)的所有操作域的編碼寬度的最大值作為所述指令段(13)寬度,以所述選定的各個(gè)操作域的編碼作為所在的所述指令段(13)的編碼;5)對所述指令段(13)中可以交替出現(xiàn)的操作域的個(gè)數(shù)進(jìn)行編碼,并以該編碼寬度作為所述指令段格式控制域(12)的寬度;6)對于所述指令段(13)任意給出可以交替出現(xiàn)的操作域的順序,并以所述選定操作域的順序號作為所述指令段格式控制域(12)編碼;7)對整個(gè)指令系統(tǒng)允許的所述指令段(13)劃分方式的數(shù)量進(jìn)行編碼,并以該編碼寬度作為所述指令格式控制域(11)的寬度;以及8)任意給出所述整個(gè)指令系統(tǒng)允許的所述指令段(13)劃分方式的排列順序,并以實(shí)現(xiàn)該操作替換方式設(shè)置指令的指令段(13)劃分方式對應(yīng)的編碼作為所述指令格式控制域(11)編碼。
3.如權(quán)利要求1所述的指令控制替換方法,其特征在于,所述操作替換清除指令的指令編碼步驟包括以下步驟1)根據(jù)操作替換清除指令所要實(shí)現(xiàn)的功能,選擇功能部件,并以控制這些功能部件的操作域作為實(shí)現(xiàn)該操作替換清除指令的操作域集合;2)根據(jù)操作替換清除指令所要實(shí)現(xiàn)的功能,對所述選定的操作域,在其編碼表中選擇對應(yīng)于該操作替換清除指令功能所需操作的編碼作為該操作替換清除指令中該操作域的編碼,其中一個(gè)操作域的編碼功能是將指定的替換操作編碼的替換方式標(biāo)識設(shè)置為無效,該操作域作為所述操作替換清除操作域(16);3)以在所述指令段(13)中可交替出現(xiàn)的所有操作域的編碼寬度的最大值作為所述指令段(13)寬度,以所述選定的各個(gè)操作域的編碼作為所述指令段(13)的編碼;4)對所述指令段(13)中可以交替出現(xiàn)的操作域的個(gè)數(shù)進(jìn)行編碼,并以該編碼寬度作為所述指令段格式控制域(12)的寬度;在所述操作替換清除操作域(16)所在的指令段(13)中可以交替出現(xiàn)的操作域的個(gè)數(shù)的編碼寬度為所述指令段替換清除格式控制域(15)的寬度;5)對于所述指令段(13)任意給出可以交替出現(xiàn)的操作域的順序,并以所述選定操作域的順序號作為所述指令段格式控制域(12)編碼;對所述操作替換清除操作域(16)所在指令段(13)中可以交替出現(xiàn)的操作域任意排序,以所述操作替換清除操作域(16)的序號作為所述指令段替換清除格式控制域(15)的編碼;6)對整個(gè)指令系統(tǒng)允許的指令段劃分方式的數(shù)量進(jìn)行編碼,并以該編碼寬度作為所述指令格式控制域(11)的寬度;以及7)任意給出所述整個(gè)指令系統(tǒng)允許的指令段劃分方式的排列順序,并以實(shí)現(xiàn)該操作替換清除指令的指令段劃分方式對應(yīng)的編碼作為所述指令格式控制域(11)編碼;
4.如權(quán)利要求1所述的指令控制替換方法,其特征在于,操作替換控制指令的所述接收步驟之前的步驟包括以下步驟1)將所述格式的操作替換控制指令裝載到外部存貯器或內(nèi)部寄存器;2)將指令拼裝標(biāo)識編碼裝載到指令拼裝標(biāo)識寄存器。
5.如權(quán)利要求1所述的指令控制替換方法,其特征在于,操作替換控制指令的所述接收步驟是在指令拼裝標(biāo)識寄存器編碼的控制下以多位存貯器操作方式從外部存貯器接收多位操作替換控制指令編碼;
6.如權(quán)利要求1所述的指令控制替換方法,其特征在于,操作替換控制指令的所述接收步驟是在指令拼裝標(biāo)識寄存器編碼的控制下以多位寄存器操作方式從內(nèi)部寄存器接收多位操作替換控制指令編碼;
7.如權(quán)利要求1所述的指令控制替換方法,其特征在于,所述格式譯碼步驟包括以下步驟1)對所述接收步驟接收的操作替換控制指令中的所述指令格式控制域(11)編碼和所述指令段格式控制域(12)編碼進(jìn)行譯碼;2)從所述接收步驟接收的操作替換控制指令的各個(gè)所述指令段(13)中剝離出各個(gè)操作域編碼;3)從所述接收步驟接收的操作替換控制指令中剝離出所述指令段替換方式控制域(14)編碼;以及4)產(chǎn)生各個(gè)功能部件對應(yīng)的操作域的使能信號。
8.如權(quán)利要求1所述的指令控制替換方法,其特征在于,所述格式譯碼步驟包括以下步驟1)對所述接收步驟接收的操作替換控制指令中的所述指令格式控制域(11)的編碼、所述指令段格式控制域(12)的編碼、所述指令段替換清除格式控制域(15)的編碼進(jìn)行譯碼;2)從所述接收步驟接收的操作替換控制指令的各個(gè)所述指令段(13)中剝離出各個(gè)操作域編碼;3)從所述接收步驟接收的操作替換控制指令中剝離出所述操作替換清除操作域(16);以及4)產(chǎn)生各個(gè)功能部件對應(yīng)的操作域的使能信號和操作替換清除操作域使能信號。
9.如權(quán)利要求1所述的指令控制替換方法,其特征在于,替換標(biāo)識步驟包括以下步驟1)將由所述指令段替換方式控制域(14)標(biāo)識以替換方式執(zhí)行的操作域編碼存貯在該操作域的操作域替換編碼寄存器(51)中;2)將由所述指令段替換方式控制域(14)的編碼存入該操作域?qū)?yīng)的操作域替換方式標(biāo)識(52)中;3)替換計(jì)數(shù)器每周期遞減1,替換狀態(tài)每周期更新一次;以及4)所述操作替換清除操作域(16)將所指定的操作域的操作域替換方式標(biāo)識(52)復(fù)位,即設(shè)置為“無替換執(zhí)行編碼”狀態(tài)。
10.如權(quán)利要求1所述的指令控制替換方法,其特征在于,替換重組步驟包括以下步驟1)接收所述格式譯碼步驟產(chǎn)生的各個(gè)操作域使能信號、和所述替換標(biāo)識步驟產(chǎn)生的同一操作域的所述操作域替換方式標(biāo)識(52)信號,按照所述操作替換控制指令和所述操作域替換方式標(biāo)識(52)規(guī)定的替換執(zhí)行條件選擇該操作域當(dāng)周期執(zhí)行的編碼;2)對于所有操作域,若在當(dāng)周期動(dòng)作,則將該操作域的使能信號置為有效。
11.一種指令控制替換裝置,可響應(yīng)多位操作替換控制指令外部存貯方式,可響應(yīng)多位內(nèi)部操作替換控制指令寄存器存貯方式,使該操作替換控制指令作用于替換控制裝置,通過先行指令予取重復(fù)執(zhí)行操作域到裝置內(nèi)部、按照指定的替換方式執(zhí)行,實(shí)現(xiàn)重復(fù)操作與其它串并行操作并行執(zhí)行的模式,其特征在于,包括以下部件1)配合該裝置的多位操作替換控制指令存貯器、寄存器的指令和數(shù)據(jù)輸入方式,一個(gè)用于接收操作替換控制指令的操作替換控制指令接收部件(21);2)配合所述操作替換控制指令接收部件(21)的一個(gè)格式譯碼部件(22),用于對操作替換控制指令中的所述指令格式控制域(11)編碼、所述指令段格式控制域(12)編碼、所述指令段替換清除格式控制域(15)進(jìn)行譯碼,并從操作替換控制指令中剝離操作域編碼、所述指令段替換方式控制域(14)、和所述操作替換清除操作域(16)的編碼;3)配合所述格式譯碼部件(22)的用于實(shí)現(xiàn)替換執(zhí)行操作編碼存貯、操作域替換方式存貯、替換狀態(tài)生成的一個(gè)替換標(biāo)識部件(23);4)配合所述替換標(biāo)識部件(23)的一個(gè)替換重組部件(24),用于將各個(gè)操作域的存貯在替換標(biāo)識部件(23)中的操作編碼與外來指令中的同一操作域的操作編碼進(jìn)行重組,產(chǎn)生該操作域的當(dāng)周期執(zhí)行的操作編碼及該操作域的使能信號;以及5)一個(gè)用于輸出各個(gè)操作域編碼及其使能信號的輸出部件(25)。
12.如權(quán)利要求11所述的指令控制替換裝置,其特征在于,所述操作替換控制指令接收部件(21)包括1)一個(gè)指令拼裝標(biāo)識寄存器(30),用于標(biāo)識操作替換控制指令來源;2)一個(gè)指令拼裝部件(31),在所述指令拼裝標(biāo)識寄存器(30)控制下選通指令來源,當(dāng)所述指令拼裝標(biāo)識寄存器(30)標(biāo)識操作替換控制指令來源于存貯器時(shí),以存貯器操作方式接收多位操作替換控制指令,當(dāng)所述指令拼裝標(biāo)識寄存器(30)標(biāo)識操作替換控制指令來源于寄存器時(shí),以多位寄存器或鎖存器操作方式接收多位操作替換控制指令;以及3)一個(gè)指令寄存器(32),用于存貯所述指令拼裝部件(31)接收的操作替換控制指令。
13.如權(quán)利要求11所述的指令控制替換裝置,其特征在于,所述格式譯碼部件(22)包括1)指令格式控制域譯碼部件(41),用于對所述操作替換控制指令接收部件(21)接收的操作替換控制指令中的所述指令格式控制域(11)編碼進(jìn)行譯碼;2)指令段格式控制域譯碼部件(42),用于對所述操作替換控制指令接收部件(21)接收的操作替換控制指令中的所述指令段格式控制域(12)編碼進(jìn)行譯碼;3)配合所述指令格式控制域譯碼部件(41)和所述指令段格式控制域譯碼部件(42)的操作域剝離部件(43),用于從所述操作替換控制指令接收部件(21)接收的操作替換控制指令中剝離出各個(gè)操作域編碼;4)配合所述指令格式控制域譯碼部件(41)的替換方式控制域剝離部件(44),用于從所述操作替換控制指令接收部件(21)接收的操作替換控制指令中剝離出各個(gè)指令段的指令段替換方式控制域(14)編碼;以及5)配合所述指令格式控制域譯碼部件(41)和所述指令段格式控制域譯碼部件(42)的操作域使能部件(45),用于產(chǎn)生各個(gè)操作域的使能信號。
14.如權(quán)利要求11所述的指令控制替換裝置,其特征在于,所述格式譯碼部件(22)包括1)指令格式控制域譯碼部件(41),用于對所述操作替換控制指令接收部件(21)接收的操作替換控制指令中的所述指令格式控制域(11)編碼進(jìn)行譯碼;2)指令段格式控制域譯碼部件(42),用于對所述操作替換控制指令接收部件(21)接收的操作替換控制指令中的所述指令段格式控制域(12)編碼、所述指令段替換清除格式控制域(15)編碼進(jìn)行譯碼;3)配合所述指令格式控制域譯碼部件(41)和所述指令段格式控制域譯碼部件(42)的操作域剝離部件(43),用于從所述操作替換控制指令接收部件(21)接收的操作替換控制指令中剝離出各個(gè)操作域編碼、和所述操作替換清除操作域(16)編碼;以及4)配合所述指令格式控制域譯碼部件(41)和所述指令段格式控制域譯碼部件(42)的操作域使能部件(45),用于產(chǎn)生各個(gè)操作域的使能信號、以及操作替換清除操作域的使能信號。
15.如權(quán)利要求11所述的指令控制替換裝置,其特征在于,所述替換標(biāo)識部件(23)包括1)一組配合所述格式譯碼部件(22)的對應(yīng)于各個(gè)操作域的操作域替換編碼寄存器(51),用于存貯被替換執(zhí)行的操作域編碼;2)一組配合所述操作域替換編碼寄存器(51)和所述指令段替換方式控制域(14)的操作域替換方式標(biāo)識(52),用于控制被替換的操作域編碼按照指令要求的替換方式執(zhí)行;以及3)所述操作域替換方式標(biāo)識(52)由操作替換清除指令中的所述操作替換清除操作域(16)復(fù)位。
16.如權(quán)利要求11所述的指令控制替換裝置,其特征在于,所述替換重組部件(24)包括1)一個(gè)替換重組控制部件(61),用于接收所述格式譯碼部件(22)產(chǎn)生的操作域使能信號,和所述替換標(biāo)識部件(23)輸出的同一操作域的替換狀態(tài)信號,按照替換操作編碼在外來操作替換控制指令中沒有同一操作域使能、且替換執(zhí)行條件滿足時(shí)被執(zhí)行的原則產(chǎn)生替換重組控制信號;2)一個(gè)配合所述替換重組控制部件(61)的替換重組選通部件(62),用于接收所述格式譯碼部件(22)剝離出的各個(gè)操作域的操作編碼和所述替換標(biāo)識部件(23)輸出的同一操作域的操作編碼,在所述替換重組控制部件(61)的輸出的控制下選通該操作域的操作編碼;以及3)一個(gè)配合所述替換重組控制部件(61)的替換重組使能部件(63),用于配合所述替換重組控制部件(61)產(chǎn)生各個(gè)操作域的使能信號。
全文摘要
一種指令控制替換方法及其裝置,該裝置包括操作替換控制指令接收部件、格式譯碼部件、替換標(biāo)識部件、替換重組部件以及輸出部件。通過該指令控制替換方法及其裝置,可將一個(gè)重復(fù)操作編碼在多周期操作的過程中從指令字序列中分離出來并獨(dú)立執(zhí)行,可以精減指令流序列,減少指令空間的占用。并可動(dòng)態(tài)地增加指令的寬度,提高指令序列的吞吐能力,提高程序的執(zhí)行效率。
文檔編號G06F9/32GK1250909SQ9812094
公開日2000年4月19日 申請日期1998年10月12日 優(yōu)先權(quán)日1998年10月12日
發(fā)明者王沁, 劉大力 申請人:北京多思科技工業(yè)園股份有限公司