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

微處理器、操作處理執(zhí)行方法和記錄介質(zhì)的制作方法

文檔序號(hào):6416298閱讀:135來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):微處理器、操作處理執(zhí)行方法和記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及微處理器,操作處理執(zhí)行方法和記錄介質(zhì),更具體地涉及到能對(duì)應(yīng)于微碼執(zhí)行操作處理的微處理器,操作處理執(zhí)行方法,以及計(jì)算機(jī)可讀記錄介質(zhì)。
近來(lái),微處理器的操作速度和集成密度有了相當(dāng)大的提高。這種提高導(dǎo)致個(gè)人計(jì)算機(jī)、便攜式終端設(shè)備之類(lèi)的硬件技術(shù)的提高,以及個(gè)人計(jì)算機(jī)之類(lèi)的信息處理技術(shù)的提高。
然而,由于當(dāng)今信息處理技術(shù)方面的發(fā)展,操作處理系統(tǒng)本身已變得高速和復(fù)雜。因此,如象高速緩存(Cache)這類(lèi)存儲(chǔ)部件的帶寬增加,而每次帶寬的增加要求重新設(shè)計(jì)硬件和軟件。
與此相應(yīng),存在一種需求以實(shí)現(xiàn)能夠在短時(shí)間內(nèi)被開(kāi)發(fā)的微處理器,即使操作處理系統(tǒng)本身變得高速與復(fù)雜,也無(wú)需增加象Cache這種存儲(chǔ)部件的帶寬。
以下給出對(duì)典型的常規(guī)微處理器的描述,這種微處理器根據(jù)是指令碼的微碼執(zhí)行預(yù)定的操作處理。


圖1顯示了常規(guī)超長(zhǎng)指令字(VLIW)型微處理器的硬件結(jié)構(gòu)。
因?yàn)樾枰愿咚賵?zhí)行大量的操作處理,圖1所示的微處理器由許多執(zhí)行流水線(xiàn)處理,并且按并行執(zhí)行操作處理的流水線(xiàn)構(gòu)成。每個(gè)流水線(xiàn)由操作指令讀取部件311,操作指令解碼部件312,數(shù)據(jù)讀取部件313,操作處理執(zhí)行部件314,以及操作結(jié)果寫(xiě)入部件315構(gòu)成。由于此常規(guī)微處理器是由許多流水線(xiàn)構(gòu)成,就每個(gè)操作處理指令而言,由多個(gè)流水線(xiàn)執(zhí)行一些復(fù)雜的操作處理指令,水平向的進(jìn)展得以實(shí)行。
例如,在微處理器是由4種流水線(xiàn)301,302,303和304所構(gòu)成的情況下,如圖1所示,每個(gè)流水線(xiàn)的操作結(jié)果被寫(xiě)入存儲(chǔ)部件305,而且該操作結(jié)果被另外的流水線(xiàn),經(jīng)過(guò)存儲(chǔ)部件305讀出,以致數(shù)據(jù)可在流水線(xiàn)之間傳送。另外,如果在流水線(xiàn)向存儲(chǔ)部件305寫(xiě)操作的過(guò)程中有沖突,由寫(xiě)仲裁部件306執(zhí)行仲裁處理以避免沖突的發(fā)生。
下面,將給出每個(gè)部件的功能說(shuō)明,這些部件形成具有上面所說(shuō)結(jié)構(gòu)的微處理器的流水線(xiàn)。
操作指令讀取部件311具有讀取(取指)微碼的功能,微碼包括信息以及處理指令。信息用以指示操作處理所須輸入和輸出數(shù)據(jù)的傳送內(nèi)容。處理指令指的是隸屬操作處理一條流水線(xiàn)的指令。
操作指令解碼部件312具有對(duì)由操作指令讀取部件311讀出的微碼進(jìn)行解碼的功能。
數(shù)據(jù)讀取部件313,有根據(jù)指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,從存儲(chǔ)部件305讀取為操作處理所必需的輸入數(shù)據(jù)的功能。上述信息包含在由操作指令解碼部件312解碼的微碼中。
操作處理執(zhí)行部件314,具有根據(jù)由操作指令解碼部件312解碼的處理指令,和由數(shù)據(jù)讀取部件313讀取的輸入數(shù)據(jù),執(zhí)行預(yù)定操作的功能。在常規(guī)的微處理器中,操作處理執(zhí)行部件314包含單操作單元的資源。另外,使用單個(gè)操作單元資源的基本指令稱(chēng)做精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)指令。
操作結(jié)果寫(xiě)入部件315,具有在存儲(chǔ)部件305中寫(xiě)入操作處理執(zhí)行部件314的操作結(jié)果的功能。
另一方面,圖2是表示復(fù)雜指令集計(jì)算機(jī)(CISC)類(lèi)微處理器的操作處理的時(shí)間關(guān)系圖。
CISC類(lèi)型的微處理器能夠處理復(fù)雜的高級(jí)功能操作處理的處理指令,如象乘法和除法以及串操作。換句話(huà)說(shuō),CISC類(lèi)型的微處理器通過(guò)使一個(gè)處理指令執(zhí)行多個(gè)RISC類(lèi)型的指令,而能減少需要執(zhí)行的指令總數(shù)。
現(xiàn)將對(duì)圖2示例的CISC類(lèi)型微處理器的處理過(guò)程予以說(shuō)明,其中指令″a″和指令″b″的處理指令要被執(zhí)行,在圖2中,F(xiàn)a和Fb分別表示處理指令″a″和″b″的取指周期時(shí)間;D(1)到D(4)分別表示在處理指令″a″期間RISC類(lèi)指令的解碼時(shí)間,D(5)到D(8)分別表示在處理指令″b″期間RISC類(lèi)指令的解碼時(shí)間;R(1)到R(4)分別表示執(zhí)行處理指令″a″所需的輸入數(shù)據(jù)的讀出時(shí)間,R(5)到R(8)分別表示執(zhí)行處理指令″b″所需的輸入數(shù)據(jù)的讀出時(shí)間;E(1)到E(4)分別表示在處理指令″a″期間RISC類(lèi)指令的執(zhí)行時(shí)間,E(5)到E(8)分別表示在處理指令″b″期間RISC類(lèi)指令的執(zhí)行時(shí)間;W(1)到W(4)分別表示在處理指令″a″期間RISC類(lèi)指令的操作結(jié)果的寫(xiě)入時(shí)間,而W(5)到W(8)分別表示在處理指令“b”期間RISC類(lèi)指令的操作結(jié)果的寫(xiě)入時(shí)間。另外,為方便起見(jiàn),假定每個(gè)處理指令“a和”“b”例如由4個(gè)RISC類(lèi)指令構(gòu)成。
CISC類(lèi)型的微處理器以4個(gè)周期(Fa)取處理指令“a”,并且在處理指令“a”的期間,對(duì)每個(gè)RISC類(lèi)型的指令按所示順序執(zhí)行解碼處理(D(1)到(4),讀處理(R(1)到R(4)),指令執(zhí)行處理(E(1)到(E(4))以及寫(xiě)處理(W(1)到W(4))。因此,如圖2所示,以11個(gè)周期結(jié)束對(duì)處理指令“a”的處理。
另外,在取出處理指令“a”以后,作解碼處理(D(1)到D(4))的同時(shí),CISC類(lèi)型的微處理器取下一處理指令“b”(Fb),并且在處理指令“b”的期間對(duì)每個(gè)RISC類(lèi)型的指令,按所示順序執(zhí)行解碼處理(D(5)到D(8),讀處理(R(5)到R(8)),指令執(zhí)行處理(E(5)到E(8))以及寫(xiě)處理(W(5)到W(8))。因此,如圖2所示,處理指令“a”和處理指令“b”的處理以總共15個(gè)周期完成。
按照CISC類(lèi)型的微處理器,每指令的周期(CPI),通過(guò)一個(gè)處理指令執(zhí)行多個(gè)RISC類(lèi)指令而變得很長(zhǎng)。但是在整個(gè)程序期間執(zhí)行的指令數(shù)可以減少。
另一方面,圖3是一時(shí)間圖,顯示RISC類(lèi)型微處理器的操作過(guò)程。
RISC類(lèi)型的微處理器被設(shè)計(jì),以使用軟件技術(shù)來(lái)補(bǔ)償?shù)图?jí)硬件功能。當(dāng)執(zhí)行以高級(jí)語(yǔ)言寫(xiě)的程序時(shí),RISC類(lèi)型的處理器依靠減少頻繁出現(xiàn)的基礎(chǔ)指令的執(zhí)行周期數(shù),可以執(zhí)行高速處理,換言之,一個(gè)處理指令的內(nèi)容完全由RISC類(lèi)指令形成,或者預(yù)先被劃分成RISC類(lèi)指令,以便CPI能夠減少。
下面將對(duì)圖3示例的RISC類(lèi)型微處理器的處理過(guò)程給予說(shuō)明,其中RISC類(lèi)指令(1)到(8)要被執(zhí)行。在圖3中,F(xiàn)(1)到F(8)分別表示RISC類(lèi)指令(1)到(8)的取指周期時(shí)間;D(1)到D(8)分別表示RISC類(lèi)指令(1)到(8)的解碼時(shí)間;R(1)到R(8)分別表示執(zhí)行RISC類(lèi)指令(1)到(8)所要求的讀時(shí)間;E(1)到E(8)分別表示RISC類(lèi)指令(1)到(8)的執(zhí)行時(shí)間;而W(1)到W(8)分別表示RISC類(lèi)指令(1)到(8)的操作結(jié)果寫(xiě)入時(shí)間。
RISC類(lèi)型的微處理器取RISC類(lèi)指令(1)(F(1)),并就RISC類(lèi)指令(1)按所示順序執(zhí)行解碼處理(D(1))讀處理(R(1)),指令執(zhí)行處理(E(1))以及寫(xiě)處理(W(1)),所以,如圖3中所示RISC類(lèi)指令(1)的處理過(guò)程以5個(gè)周期結(jié)束。
另外,在取指RISC類(lèi)指令(1)之后作解碼處理(D(1))的同時(shí),RISC類(lèi)型微處理器取指下一條RISC類(lèi)指令(2),并就RISC類(lèi)指令(2)按所示順序執(zhí)行解碼處理(D(2)),讀處理(R(2)),指令執(zhí)行處理(E(2))以及寫(xiě)處理(W(2))。此后,對(duì)于RISC類(lèi)指令(3)到(8),類(lèi)似的處理(F(3)到F(8),D(3)到D(8),R(3)到R(8),E(3)到E(8)和W(3)到W(8)被執(zhí)行。因此,RISC類(lèi)指令(1)到(8)的處理如圖3所顯示的,以總共12個(gè)周期完成。
相應(yīng)地,通過(guò)完全以RISC類(lèi)指令構(gòu)成一條處理指令的內(nèi)容,在RISC類(lèi)型微處理器的處理過(guò)程中能減少CPI。
然而,常規(guī)的微處理器會(huì)有這樣的問(wèn)題由于指令系統(tǒng)的高級(jí)和復(fù)雜微碼變得冗長(zhǎng),同時(shí)由于操作處理流水線(xiàn)的并行排列,如象Cache這樣的存儲(chǔ)部件的帶寬增加。
另外,雖然常規(guī)的CISC類(lèi)型微處理器通過(guò)以許多RISC類(lèi)指令形成一條高級(jí)處理指令,如圖2所示能夠減少處理指令的數(shù)目,然而存在CPI增加的問(wèn)題。另一方面,如圖3所示,雖然通過(guò)簡(jiǎn)化處理指令使一條處理指令預(yù)先分成多個(gè)RISC類(lèi)型指令,常規(guī)RISC類(lèi)型的微處理器能減少CPI,然而出現(xiàn)處理指令數(shù)目增加的問(wèn)題。所以,在常規(guī)CISC類(lèi)型微處理器中遇到的問(wèn)題與在常規(guī)RISC類(lèi)型微處理器中遇到的問(wèn)題是彼此相反的。
此外,在常規(guī)的微處理器中,一操作單元資源的操作結(jié)果存儲(chǔ)在如像寄存器的存儲(chǔ)部件中,并且通過(guò)對(duì)此存儲(chǔ)部件的訪問(wèn)同下一操作單元資源交換數(shù)據(jù)。為此,為了確保在寫(xiě)時(shí)間到存儲(chǔ)部件操作結(jié)果變成確定的時(shí)間與此數(shù)據(jù)被訪問(wèn)時(shí)間之間,常規(guī)的微處理器要求最小的間隔是一周期或稍多,并且在此最小周期數(shù)中不得執(zhí)行操作處理。
再者,當(dāng)一處理指令包含多個(gè)RISC類(lèi)指令,并且一RISC類(lèi)指令的操作結(jié)果不被用做另一RISC類(lèi)指令的輸入時(shí),常規(guī)微處理器按RISC類(lèi)指令的輸入順序?qū)ISC類(lèi)指令的操作結(jié)果寫(xiě)入存儲(chǔ)部件。因而,隨后的RISC類(lèi)指令被保持,直到前面的RISC類(lèi)指令的操作處理結(jié)束,而且在此期間產(chǎn)生流水線(xiàn)的失速(stall),因此使得在最小周期數(shù)中不能執(zhí)行操作處理。
還有,在流水線(xiàn)對(duì)存儲(chǔ)部件寫(xiě)入期間發(fā)生沖突的情況下,常規(guī)的微處理器在寫(xiě)仲裁部件中執(zhí)行寫(xiě)仲裁處理以避免沖突。然而,當(dāng)流水線(xiàn)并行排列時(shí),存在仲裁處理的控制變得復(fù)雜的問(wèn)題。
換言之,常規(guī)微處理器從存儲(chǔ)部件讀輸入數(shù)據(jù)以及執(zhí)行預(yù)定的操作處理,但是輸入數(shù)據(jù)未被保留。為此,如果需要同樣的輸入數(shù)據(jù)必需再讀一次。因而影響了操作處理的有效執(zhí)行。另外,常規(guī)的微處理器還有這樣的問(wèn)題被重新讀出的輸入數(shù)據(jù)因執(zhí)行其它操作處理而改變。
常規(guī)微處理器還存在這樣的問(wèn)題隨著并行排列的流水線(xiàn)數(shù)目的增加,硬件的規(guī)模增加以及功耗增大。
因此,本發(fā)明的一個(gè)目是提供新的有用的微處理器,操作處理執(zhí)行方法以及記錄介質(zhì),通過(guò)它們上面所說(shuō)的問(wèn)題可被排除。
本發(fā)明的另一個(gè)更具體的目的是提供微處理器,操作處理執(zhí)行方法和計(jì)算機(jī)可讀記錄介質(zhì),它們能夠?qū)Ω稄?fù)雜而高級(jí)的操作處理指令(處理指令)而不必?cái)U(kuò)充微碼的長(zhǎng)度,能夠依靠操作處理指令使操作處理有效地執(zhí)行,并且降低硬件規(guī)模又減少功率消耗。
本發(fā)明還有一目的是提供微處理器以便能執(zhí)行至少有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)指令的處理指令。其特征在于指令解碼裝置(對(duì)應(yīng)于后面所說(shuō)實(shí)施例的操作指令解碼部件3)用以對(duì)微碼進(jìn)行解碼,微碼中包含指示輸入和輸出數(shù)據(jù)傳送內(nèi)容信息和指示處理指令存儲(chǔ)位置的地址信息;數(shù)據(jù)讀取裝置(對(duì)應(yīng)于后面所說(shuō)實(shí)施例的數(shù)據(jù)讀出部件4)用以根據(jù)由所說(shuō)指令解碼裝置解碼的指示輸入和輸出數(shù)據(jù)傳送內(nèi)容信息讀取輸入數(shù)據(jù),以及根據(jù)地址信息讀取處理指令;還有操作處理執(zhí)行裝置(對(duì)應(yīng)于后面所說(shuō)實(shí)施例的操作處理執(zhí)行部件7),提供一個(gè)或多個(gè)操作單元資源(對(duì)應(yīng)于后面所說(shuō)實(shí)施例的操作單元資源36,37,38,42,43,44,45,63,64,65,77,78,79,80),以能根據(jù)由所說(shuō)數(shù)據(jù)讀取裝置讀入的輸入數(shù)據(jù)和處理指令執(zhí)行操作處理。
按照本發(fā)明以這種方式構(gòu)造的微處理器,可以根據(jù)用以表示形成微碼的處理指令的存儲(chǔ)位置的地址信息,讀取處理指令。從而使其能夠?qū)Ω稄?fù)雜而又高級(jí)的操作處理指令,且無(wú)需擴(kuò)展微碼的長(zhǎng)度。
另外,按照本發(fā)明的微處理器中用以執(zhí)行操作處理的微碼,包含表示處理指令存儲(chǔ)位置的地址信息。因此,它可以使微碼縮到最短并使用固定的長(zhǎng)度,即使是操作處理是很復(fù)雜的情況之下。所以,按照本發(fā)明的微處理器通過(guò)減小微碼的長(zhǎng)度能夠降低象指令Cache等存儲(chǔ)部件的容量。
上述微處理器其可能的特征在于微碼可由至少一條RISC類(lèi)指令直接替代表示處理指令存儲(chǔ)位置的地址信息來(lái)實(shí)現(xiàn)。
例如,在處理指令是一基本指令(RISC類(lèi)指令)的情況下,較之于表示處理指令的存儲(chǔ)位置的地址信息解碼處理指令,該指令沒(méi)有那么復(fù)雜。而微碼的字寬度和位寬度將不增加。因此,可以直接以RISC類(lèi)指令當(dāng)成處理指令。
為此,按照本發(fā)明的微處理器執(zhí)行RISC類(lèi)指令,無(wú)需根據(jù)地址信息讀出處理指令,并能有效地執(zhí)行操作處理。
上述微處理器另外的特征在于處理指令存儲(chǔ)裝置(對(duì)應(yīng)于后述實(shí)施例的查找表(LUT)6)能夠任意地構(gòu)造處理指令;輸入和輸出數(shù)據(jù)存儲(chǔ)裝置(對(duì)應(yīng)于后述實(shí)施例的存儲(chǔ)部件5),用以存儲(chǔ)所說(shuō)操作處理執(zhí)行裝置的操作結(jié)果以及能隨意設(shè)置輸入數(shù)據(jù),這里所說(shuō)的數(shù)據(jù)讀取裝置,根據(jù)表示處理指令存儲(chǔ)位置的地址信息訪問(wèn)所說(shuō)處理指令存儲(chǔ)裝置,讀出對(duì)應(yīng)的處理指令,并根據(jù)表示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,進(jìn)一步從所說(shuō)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置讀取輸入數(shù)據(jù)。
按照本發(fā)明的微處理器,預(yù)定的處理指令來(lái)自與地址信息對(duì)應(yīng)的處理指令存儲(chǔ)裝置,并且按照此處理指令執(zhí)行操作處理。另外,依靠采用可改寫(xiě)的RAM構(gòu)造處理指令存儲(chǔ)裝置,可讓用戶(hù)隨意指定復(fù)雜的處理指令,從而使它能容易地對(duì)付今后還能進(jìn)一步增加的復(fù)雜而高級(jí)的操作處理。
還有,由于處理指令存儲(chǔ)裝置的提供,用戶(hù)能隨意指定復(fù)雜的處理指令,按照本發(fā)明的微處理器,依靠修改處理指令存儲(chǔ)裝置能夠容易地對(duì)付版本的改變,沒(méi)有必要修改復(fù)雜的控制程序。同時(shí),它能更容易保證應(yīng)用程序的兼容性。
上述微處理器可能具有的特征在于所說(shuō)的操作處理執(zhí)行裝置包含許多操作單元資源(對(duì)應(yīng)于后面所述實(shí)施例的操作單元資源36,37,38,42,43,44,45,63,64,65,77,78,79和80),通過(guò)在所說(shuō)處理指令存儲(chǔ)裝置中修改處理指令,它們能被隨意連接。這里一操作單元資源的操作結(jié)果直接用做下一操作單元資源的輸入。
上述微處理器可能特征在于所說(shuō)操作處理執(zhí)行裝置包含直通通路(對(duì)應(yīng)于后述實(shí)施例中圖14所示直通通路),該直通通路對(duì)不進(jìn)一步要求操作單元資源的處理傳送輸入數(shù)據(jù),這里直通通路的輸出結(jié)果直接用做下一操作單元資源的輸入。
按照本發(fā)明的微處理器,操作處理執(zhí)行裝置中使用操作單元資源的指令序列以及使用的操作單元資源的數(shù)量可由用戶(hù)任意地改變。而且,在不使用操作單元資源時(shí),經(jīng)由直通通路所傳送的輸入和輸出數(shù)據(jù),它可以有效地執(zhí)行操作處理。
上面的微處理器其特征可能還在于所說(shuō)的操作處理執(zhí)行裝置,當(dāng)一操作單元資源的操作結(jié)果直接用做下一操作單元資源的輸入時(shí),僅僅輸出對(duì)應(yīng)于處理指令的最終操作單元資源的操作結(jié)果。
按照本發(fā)明的微處理器,它能使用一操作單元資源的操作結(jié)果直接作為下一操作單元資源的輸入。結(jié)果,以輸入和輸出數(shù)據(jù)存儲(chǔ)裝置的操作結(jié)果交換得以減少,從而避免訪問(wèn)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置的沖突。
上述微處理器可能的特征在于所說(shuō)的操作處理執(zhí)行裝置以并行方式執(zhí)行處理指令中提供的RISC類(lèi)指令,并且按操作處理結(jié)束的次序輸出操作結(jié)果,與操作處理的執(zhí)行次序無(wú)關(guān)。
按照本發(fā)明的微處理器,按向操作處理執(zhí)行裝置輸入操作處理指令的次序并行地執(zhí)行操作處理(按操作處理指令的輸入次序執(zhí)行操作處理,在下文稱(chēng)其為有序執(zhí)行(in-order execution)),且還按操作處理結(jié)束的次序?qū)⒉僮鞯慕Y(jié)果寫(xiě)入輸入和輸出數(shù)據(jù)存儲(chǔ)裝置(按操作處理結(jié)束的次序?qū)懖僮鹘Y(jié)果,在下文稱(chēng)其為亂序輸出(out-of-orderoutput))。
雖然常規(guī)微處理器類(lèi)似于本發(fā)明產(chǎn)生有序執(zhí)行,而操作結(jié)果按操作處理指令輸入次序?qū)懭胼斎牒洼敵鰯?shù)據(jù)存儲(chǔ)裝置,與操作處理的結(jié)束無(wú)關(guān)。(按操作處理指令的輸入次序?qū)懖僮鹘Y(jié)果,在下文稱(chēng)其為有序輸出(in-order output))。
相應(yīng)地,由于本發(fā)明的微處理器是按操作處理結(jié)束的順序?qū)懖僮鹘Y(jié)果到輸入和輸出數(shù)據(jù)存儲(chǔ)裝置,不需要讓前面結(jié)束的操作處理等待,它可以讓一操作處理指令領(lǐng)先于另外的運(yùn)行,從而使它能在最少的周期數(shù)目?jī)?nèi)執(zhí)行操作處理。
上面所說(shuō)的微處理器其特征可能在于在所說(shuō)操作處理執(zhí)行裝置中,每個(gè)操作單元資源具有多端口的結(jié)構(gòu)(對(duì)應(yīng)于后面所說(shuō)的實(shí)施例的寫(xiě)部件46,47,48和49),以獨(dú)立地輸出操作結(jié)果。
按照本發(fā)明的微處理器,它可以避免操作單元資源寫(xiě)操作結(jié)果的沖突。
上述微處理器其特征可能在于如果存在許多具有同樣功能的操作單元資源,所說(shuō)操作處理執(zhí)行裝置使用具有同樣功能的其它操作單元資源,執(zhí)行沖突解決處理。許多RISC類(lèi)型的指令包含在一條處理指令中,當(dāng)RISC類(lèi)型指令并行執(zhí)行時(shí)產(chǎn)生操作單元資源的沖突。
按照本發(fā)明的微處理器,通過(guò)分配許多具有相同功能并且安排在相同流水線(xiàn)中的操作單元資源,能夠相對(duì)于操作處理指令執(zhí)行沖突解決處理。
上面所說(shuō)的微處理器其特征在于在所說(shuō)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置中存儲(chǔ)所說(shuō)操作結(jié)果的同時(shí),第一通路(對(duì)應(yīng)于后面所述實(shí)施例的存儲(chǔ)部件51),對(duì)應(yīng)于所說(shuō)操作處理執(zhí)行裝置執(zhí)行的處理指令,把最終操作單元資源的操作結(jié)果直接通知所說(shuō)數(shù)據(jù)讀取裝置;第二通路(對(duì)應(yīng)于后述實(shí)施例的存儲(chǔ)部件51)在鎖存所說(shuō)操作結(jié)果后,將所說(shuō)的操作結(jié)果通知所說(shuō)的數(shù)據(jù)讀入裝置。當(dāng)使用所說(shuō)的下一個(gè)處理指令的操作結(jié)果時(shí),這里所說(shuō)的數(shù)據(jù)讀入裝置從所說(shuō)第一和第二通路之一讀取操作結(jié)果,而不是從所說(shuō)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置讀取結(jié)果。
按照本發(fā)明的微處理器,第一通路把操作結(jié)果直接通知給數(shù)據(jù)讀取裝置,而在鎖存此操作結(jié)果以后,第二通路把操作結(jié)果通知數(shù)據(jù)讀取裝置,為此,不需要經(jīng)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置交換操作結(jié)果,而且操作處理能以最少的周期數(shù)來(lái)執(zhí)行。
上述微處理器其特征還可能在于第三通路(對(duì)應(yīng)于后面所述實(shí)施例的鎖存61,71,72,73和74)在鎖存由所說(shuō)數(shù)據(jù)讀取裝置讀出的輸入數(shù)據(jù)以后,通知在所說(shuō)操作處理執(zhí)行裝置中的操作單元資源,當(dāng)再使用所說(shuō)的輸入數(shù)據(jù)時(shí),這里所說(shuō)的操作處理執(zhí)行裝置從所說(shuō)第三通路讀取輸入數(shù)據(jù)。
本發(fā)明的微處理器鎖存從例如寄存器,Cache和存儲(chǔ)器這些輸入輸出數(shù)據(jù)存儲(chǔ)裝置輸入的數(shù)據(jù)。于是,它用不著再次輸入所輸入的數(shù)據(jù),并且在操作單元資源操作期間此輸入數(shù)據(jù)能被重新使用。因此,本發(fā)明的微處理器即使在輸入數(shù)據(jù)被其它操作處理所重寫(xiě)的情況下,在重寫(xiě)之前也能使用輸入數(shù)據(jù)。
上述微處理器其特征還可能在于第四通路(對(duì)應(yīng)于后面所述實(shí)施例中圖24、25A和25B所示的直通通路)把由所說(shuō)數(shù)據(jù)讀取裝置讀出的輸入數(shù)據(jù)直接通知給所說(shuō)操作處理執(zhí)行裝置中的操作單元資源,這里所說(shuō)的操作處理執(zhí)行裝置使用來(lái)自所說(shuō)第三和第四通路之一的輸入數(shù)據(jù)。
按照本發(fā)明的微處理器,它能夠使鎖定來(lái)自輸入和輸出數(shù)據(jù)存儲(chǔ)裝置的輸入和輸出數(shù)據(jù)所必需的操作處理延時(shí)為最小。
上述微處理器其特征可能在于鎖定的輸入數(shù)據(jù),在所說(shuō)操作處理執(zhí)行裝置的每個(gè)操作單元資源中是可以使用的。
上述微處理器的特征可能在于所說(shuō)的數(shù)據(jù)讀取裝置具有帶多端口結(jié)構(gòu)的輸入端口,用以從所說(shuō)的輸入和輸出數(shù)據(jù)存儲(chǔ)裝置輸入輸入數(shù)據(jù),并且同時(shí)給每個(gè)操作單元資源供應(yīng)這些輸入數(shù)據(jù)。
按照本發(fā)明的微處理器,其用以輸入數(shù)據(jù)的輸入端口具有多端口結(jié)構(gòu),并且所需的輸入數(shù)據(jù)能被同時(shí)輸入。因此,不需要從輸入和輸出數(shù)據(jù)存儲(chǔ)裝置重復(fù)地讀輸入數(shù)據(jù),并且執(zhí)行操作處理所要求的時(shí)間減為最小。
上面所述的微處理器其特征可能還在于許多流水線(xiàn)(對(duì)應(yīng)于后述實(shí)施例中的流水線(xiàn)11,11a以及11n)能對(duì)應(yīng)于微碼執(zhí)行操作處理。
按照本發(fā)明的微處理器,依靠提供許多流水線(xiàn)能執(zhí)行相應(yīng)于微碼的操作處理而能有效地執(zhí)行操作處理。
本發(fā)明還有一個(gè)目的是提供一微處理器,能夠執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其特征在于許多操作單元資源(對(duì)應(yīng)于后述實(shí)施例中的操作單元資源36,37,38,42,43,44,45,63,64,65,77,78,79和80)能夠根據(jù)輸入數(shù)據(jù)和處理指令執(zhí)行操作處理,并且通過(guò)修改處理指令而任意地連接,這里一操作單元資源的操作結(jié)果用做下一操作單元資源的輸入,不需要進(jìn)行暫存。
該微處理器其特征可能還在于一直通通路(對(duì)應(yīng)于后述實(shí)施例中圖14所示的直通通路)對(duì)于不進(jìn)一步要求操作單元資源的處理,它傳送輸入數(shù)據(jù)。這里直通通路的輸出結(jié)果直接用做下一操作單元資源的輸入。
按照本發(fā)明的微處理器,在操作處理執(zhí)行裝置中其中被采用的操作單元資源的順序和使用的操作單元資源的數(shù)量可由用戶(hù)任意改變。此外,當(dāng)不使用操作單元資源時(shí),靠經(jīng)直通通路傳送輸入和輸出數(shù)據(jù)能夠有效地執(zhí)行操作處理。
微處理器可能的特征在于當(dāng)一操作單元資源的操作結(jié)果不進(jìn)行暫存,直接用做下一操作單元資源的輸入時(shí),僅對(duì)對(duì)應(yīng)于處理指令的最后操作單元資源的操作結(jié)果輸出。
按照本發(fā)明的微處理器,它能夠直接使用一操作單元資源的操作結(jié)果做為下一操作單元資源的輸入。因而,減少了以輸入和輸出數(shù)據(jù)存儲(chǔ)裝置的操作結(jié)果的交換,從而避免訪問(wèn)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置的沖突。
本發(fā)明的另外目的是提供能執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令的微處理器,其特征在于操作處理執(zhí)行裝置并行執(zhí)行處理指令中提供的RISC類(lèi)型指令,并且按操作處理結(jié)束的順序輸出操作結(jié)果,與操作處理執(zhí)行順序無(wú)關(guān)。
按照本發(fā)明的微處理器,按向操作處理執(zhí)行裝置輸入操作處理指令的次序,并行地執(zhí)行操作處理(此后,按操作處理指令輸入的次序執(zhí)行操作處理被稱(chēng)做有序執(zhí)行),而且,操作的結(jié)果按操作處理結(jié)束的次序?qū)懭胼斎牒洼敵鰯?shù)據(jù)存儲(chǔ)裝置(按操作處理結(jié)束的順序?qū)懭氩僮鹘Y(jié)果在下文稱(chēng)其謂亂序輸出)。
雖然常規(guī)的微處理器類(lèi)似于本發(fā)明進(jìn)行有序執(zhí)行,而操作結(jié)果按操作處理指令輸入的順序?qū)懭胼斎牒洼敵鰯?shù)據(jù)存儲(chǔ)裝置,與操作處理的結(jié)束無(wú)關(guān)(按操作處理指令的輸入次序?qū)懖僮鹘Y(jié)果在下文被稱(chēng)作有序輸出)。
相應(yīng)地,因?yàn)楸景l(fā)明的微處理器按操作處理結(jié)束的次序?qū)懖僮鹘Y(jié)果到輸入和輸出數(shù)據(jù)存儲(chǔ)裝置,不會(huì)讓前面結(jié)束的操作處理等待,可以使一操作處理指令先于另外的進(jìn)行。從而使其可在最少的周期數(shù)內(nèi)執(zhí)行操作處理。
本發(fā)明還有另外的目的是提供能執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令的微處理器,其特征在于許多操作單元資源根據(jù)輸入數(shù)據(jù)和處理指令執(zhí)行操作處理。這里每個(gè)所說(shuō)操作單元資源具有多端口結(jié)構(gòu),獨(dú)立地輸出操作結(jié)果。
按照本發(fā)明的微處理器,它能夠避免寫(xiě)操作單元資源的操作結(jié)果時(shí)的沖突。
本發(fā)明再一個(gè)目的是提供一操作處理執(zhí)行方法,使微處理器能夠執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其特征在于一指令解碼步驟,對(duì)包含指出輸入和輸出數(shù)據(jù)傳送內(nèi)容信息和地址信息的微碼進(jìn)行解碼,該地址信息表示處理指令的存儲(chǔ)位置;一數(shù)據(jù)讀取步驟,根據(jù)表示所說(shuō)指令解碼步驟解碼的輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息讀取輸入數(shù)據(jù),并根據(jù)地址信息讀取處理指令;一操作處理執(zhí)行步驟,提供一個(gè)或多個(gè)操作單元資源使能夠根據(jù)所說(shuō)數(shù)據(jù)讀取裝置讀出的輸入數(shù)據(jù)及處理指令,執(zhí)行操作處理。
按照本發(fā)明的操作處理執(zhí)行方法,微處理器能根據(jù)地址信息讀取處理指令。此地址信息表示形成微碼的處理指令的存儲(chǔ)位置。因此,無(wú)需擴(kuò)展微碼,它能對(duì)付復(fù)雜而高級(jí)的操作處理指令。
本發(fā)明的另一目的是提供一微處理器,其特征在于指令解碼裝置用以對(duì)微碼解碼;操作處理執(zhí)行裝置包含許多操作單元資源,能并行執(zhí)行操作處理,并且操作處理執(zhí)行裝置多于所說(shuō)的指令解碼裝置。這里在所說(shuō)的操作處理執(zhí)行裝置中,操作單元資源的操作順序是可變化的。
微處理器可能的特征在于所說(shuō)的許多操作單元資源是由不同的操作單元構(gòu)成。
按照本發(fā)明的微處理器,可以通過(guò)改變操作單元資源的操作次序,以實(shí)現(xiàn)各種的操作指令。另外,依靠使用能執(zhí)行并行功能的操作單元資源,它能夠?qū)崿F(xiàn)流水線(xiàn)處理和并行操作處理,從而實(shí)現(xiàn)象DSP(數(shù)字信號(hào)處理器)的高速操作,以及象多處理器的高速操作。再則,靠形成的不同的操作單元資源,使用最少數(shù)目的操作單元,大約為RISC類(lèi)型微處理器中使用的操作單元的數(shù)目,使其可以實(shí)現(xiàn)并行或流水線(xiàn)處理。
本發(fā)明還有另一目的是提供微處理器,其特征在于指令解碼裝置以解碼由基本指令碼和操作標(biāo)志(ID)構(gòu)成的微碼,其中的ID指示一擴(kuò)展指令碼的存儲(chǔ)位置;操作處理執(zhí)行裝置,根據(jù)由所說(shuō)指令解碼裝置解碼的操作指令,通過(guò)選擇操作單元資源以執(zhí)行操作處理。這里流水線(xiàn)處理的執(zhí)行通過(guò)基本指令碼選擇第一操作單元資源并通過(guò)擴(kuò)展指令碼選擇下一操作單元資源。
按照本發(fā)明的微處理器,它能提供足夠的時(shí)間范圍以解碼執(zhí)行復(fù)雜操作(象CISC類(lèi)型那樣)的微碼。所以,執(zhí)行復(fù)雜操作的微碼的第一操作和象RISC類(lèi)型指令的簡(jiǎn)單操作,兩者能被立即地執(zhí)行,類(lèi)似于RISC類(lèi)型微處理器的情況。
本發(fā)明還有的目的是提供的微處理器能使用許多操作單元資源解碼一微碼,其特征在于根據(jù)空閑內(nèi)部資源在操作單元資源中,有自動(dòng)分配輸入和輸出的功能,這里所說(shuō)的功能要求在微碼中所指定的操作單元資源之間沒(méi)有輸入和輸出。
微處理器可能的特征在于一操作單元資源的輸出直接連到另一操作單元資源的輸入,此操作單元是用于下一操作的。從而排除了在操作單元資源之間為輸入和輸出操作結(jié)果使用輸入和輸出裝置的需要。
換句話(huà)說(shuō),由于沒(méi)有對(duì)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置的暫時(shí)性寫(xiě)入,變得不需要在微碼中包含進(jìn)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置的唯一號(hào)碼,微碼可相應(yīng)的縮短。
此唯一號(hào)碼指的是表示輸入數(shù)據(jù)和輸出數(shù)據(jù)存儲(chǔ)位置的地址信息。如圖6所示其中給出了微碼的結(jié)構(gòu),即使對(duì)應(yīng)于相同的操作,VLIW要求微碼包含地址信息,用以指示處理指令中對(duì)每個(gè)操作的輸入和輸出數(shù)據(jù)的存儲(chǔ)位置。另一方面,在本發(fā)明中,在處理指令的操作過(guò)程中不對(duì)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置進(jìn)行臨時(shí)性寫(xiě)入。因此,本發(fā)明不要求微碼中包含用以在操作期間指示輸入和輸出數(shù)據(jù)存儲(chǔ)位置的地址信息。換句話(huà)說(shuō),按照本發(fā)明可以使包含在微碼中的僅僅是地址信息,它以處理指令為單元指示輸入和輸出數(shù)據(jù)。
本發(fā)明的另一目的是提供一微處理器結(jié)構(gòu),使微處理器能執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其特征在于指令解碼裝置,用以對(duì)微碼解碼。微碼中包含指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,以及表示處理指令存儲(chǔ)位置的地址信息;數(shù)據(jù)讀取裝置,用以根據(jù)指示由所說(shuō)指令解碼裝置解碼的輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息讀取輸入數(shù)據(jù),以及根據(jù)地址信息讀取處理指令;還有操作處理執(zhí)行裝置,用以提供一個(gè)或多個(gè)操作單元資源,根據(jù)由所說(shuō)數(shù)據(jù)讀取裝置讀出的輸入數(shù)據(jù)和處理指令,能夠執(zhí)行操作處理。
按照本發(fā)明的微處理器結(jié)構(gòu),它能根據(jù)表示形成微碼的處理指令的存儲(chǔ)位置的地址信息讀取處理指令。因而,它能夠?qū)Ω稄?fù)雜而高級(jí)的操作處理指令,無(wú)需擴(kuò)展微碼。
本發(fā)明還有另外的目的是提供在權(quán)利要求28中所陳述的計(jì)算機(jī)可讀記錄介質(zhì),以存儲(chǔ)電路信息,該信息以硬件描述語(yǔ)言寫(xiě)成并涉及到微處理器能夠執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其特征在于第一數(shù)據(jù)區(qū),存儲(chǔ)與用于解碼微碼的指令解碼裝置有關(guān)的電路信息。微碼中包含指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,以及表示處理指令的存儲(chǔ)位置的地址信息;第二數(shù)據(jù)區(qū),存儲(chǔ)與數(shù)據(jù)讀取裝置有關(guān)的電路信息。數(shù)據(jù)讀取裝置根據(jù)指示所說(shuō)指令解碼裝置解碼的輸入和輸出數(shù)據(jù)轉(zhuǎn)換內(nèi)容信息,讀取輸入數(shù)據(jù),以及根據(jù)地址信息讀取處理指令;還有第三數(shù)據(jù)區(qū),存儲(chǔ)與操作處理執(zhí)行裝置有關(guān)的電路信息。操作處理執(zhí)行裝置提供一個(gè)或多個(gè)操作單元資源,以能夠根據(jù)由所說(shuō)數(shù)據(jù)讀入裝置讀取的輸入數(shù)據(jù)和處理指令執(zhí)行操作處理。
按照本發(fā)明的記錄介質(zhì),計(jì)算機(jī)系統(tǒng)能根據(jù)地址信息讀出處理指令。該地址信息指出處理指令的存儲(chǔ)位置,而該處理指令根據(jù)電路信息形成微碼。所以,可以設(shè)計(jì)一微處理器,它能夠?qū)Ω稄?fù)雜而高級(jí)的操作處理指令,不必?cái)U(kuò)展該微碼。
本發(fā)明另外的目的和更多的特點(diǎn),結(jié)合附圖閱讀下面的詳細(xì)說(shuō)明,將會(huì)得到了解。
圖1是顯示常規(guī)VLIW類(lèi)型微處理器結(jié)構(gòu)的圖;圖2用以解釋指令的數(shù)目縮減;圖3用以解釋CPI的縮減;圖4給出按照本發(fā)明的微處理器的實(shí)施例;圖5是顯示微碼結(jié)構(gòu)的圖;圖6是微碼結(jié)構(gòu)對(duì)照?qǐng)D;圖7顯示微處理器采用的操作處理執(zhí)行方法的流程圖;圖8是顯示微處理器的操作處理的圖;圖9的圖顯示了CPI和指令數(shù)目的縮減;圖10的圖顯示操作處理執(zhí)行部件能夠執(zhí)行RISC類(lèi)型的指令;圖11是一時(shí)間圖以解釋圖10所示的操作處理過(guò)程;圖12的圖顯示能夠執(zhí)行MAC類(lèi)型指令的操作處理執(zhí)行部件;圖13的時(shí)間圖用以解釋圖12所示的操作處理過(guò)程;
圖14顯示了本發(fā)明的操作處理執(zhí)行部件;圖15的時(shí)間圖用以解釋圖14所示的操作處理過(guò)程;圖16是表示由圖12所示操作處理執(zhí)行部件執(zhí)行操作處理指令“(Product-sum operation乘-加操作)→(move data傳送數(shù)據(jù))”的操作處理情況的時(shí)間圖;圖17是表示由圖14所示操作處理執(zhí)行部件執(zhí)行操作處理指令“(乘-加操作)→(傳送數(shù)據(jù))”的操作處理情況的時(shí)間圖;圖18顯示了按本發(fā)明的流水線(xiàn)結(jié)構(gòu)圖;圖19是說(shuō)明用圖18所示微處理器的流水線(xiàn)結(jié)構(gòu)重復(fù)執(zhí)行MAC類(lèi)型指令情況的時(shí)間圖;圖20是說(shuō)明用常規(guī)微處理器的流水線(xiàn)結(jié)構(gòu)重復(fù)執(zhí)行MAC類(lèi)型指令情況的時(shí)間圖;圖21顯示了發(fā)生在圖18所示的微處理器的流水線(xiàn)結(jié)構(gòu)中操作單元資源的沖突時(shí)的沖突解決處理;圖22給出微處理器的硬件結(jié)構(gòu),通過(guò)轉(zhuǎn)交操作結(jié)果能降低操作處理時(shí)間;圖23是說(shuō)明由圖22所示微處理器執(zhí)行操作處理指令情況的時(shí)間圖;圖24給出微處理器的硬件結(jié)構(gòu),通過(guò)不重復(fù)請(qǐng)求輸入數(shù)據(jù)能降低操作處理時(shí)間;圖25A和25B給出采用圖24所示的硬件結(jié)構(gòu)的微處理器的結(jié)構(gòu)圖;圖26給出一微處理器,它具有許多按并行連接的流水線(xiàn),它們分別具有圖18所示微處理器的流水線(xiàn)結(jié)構(gòu);以及圖27給出一計(jì)算機(jī)系統(tǒng),它從本發(fā)明的計(jì)算機(jī)可讀記錄介質(zhì)讀取電路信息。
參照附圖,以下將給出按照本發(fā)明的微處理器的實(shí)施例的說(shuō)明。
圖4給出了按照本發(fā)明的微處理器的結(jié)構(gòu)。
在圖4中,因?yàn)樾枰愿咚賵?zhí)行大量的操作處理,本實(shí)施例的微處理器包含流水線(xiàn)11,操作指令輸入部件1,存儲(chǔ)部件5,查找表(LUT)6,輸出控制部件9,和輸出部件10。流水線(xiàn)11包含操作指令讀取部件2,操作指令解碼部件3,數(shù)據(jù)讀取部件4,操作處理執(zhí)行部件7,和操作結(jié)果寫(xiě)入部件8。操作指令輸入部件1相對(duì)于流水線(xiàn)11輸入微碼。存儲(chǔ)部件5存儲(chǔ)操作結(jié)果。LUT6存儲(chǔ)操作處理指令碼。輸出控制部件9和輸出部件10被用來(lái)輸出存儲(chǔ)在存儲(chǔ)部件5中的操作結(jié)果之類(lèi),利用按并行執(zhí)行操作處理的流水線(xiàn)處理,操作處理被有效地執(zhí)行,LUT6由象RAM之類(lèi)的存儲(chǔ)器構(gòu)成,并能由用戶(hù)任意地設(shè)置。
具有上述結(jié)構(gòu)的微處理器形成的流水線(xiàn)11之部件的功能將予以說(shuō)明。
操作指令讀取部件2具有讀取(取指)微碼的功能,該微碼由指示為操作處理所需的輸入和輸出數(shù)據(jù)的傳送內(nèi)容的信息以及地址信息組成。地址信息(此地址信息以后將被稱(chēng)作操作ID)指示處理指令或處理指令的存儲(chǔ)位置。
操作指令解碼部件3具有對(duì)操作指令讀取部件2讀出的微碼解碼的功能。
數(shù)據(jù)讀取部件4,具有根據(jù)指示微碼的輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,從存儲(chǔ)部件5讀取為操作處理所需的輸入數(shù)據(jù)的功能,這里的微碼是在操作指令解碼部件3中被解碼的,并且在微碼包含操作ID的情況下,還有根據(jù)操作ID指示的地址,從LUT6讀取處理指令的功能。
操作處理執(zhí)行部件7包含加、減、乘、除,以及乘加之類(lèi)的許多操作單元資源,而且具有根據(jù)由數(shù)據(jù)讀取部件4讀出的處理指令和輸入數(shù)據(jù),執(zhí)行預(yù)定的操作功能。
操作結(jié)果寫(xiě)入部件8具有在存儲(chǔ)部件5中,根據(jù)指示輸出數(shù)據(jù)存儲(chǔ)位置的地址,寫(xiě)入由操作處理執(zhí)行部件7執(zhí)行操作處理的操作結(jié)果的功能,此輸出數(shù)據(jù)經(jīng)操作處理執(zhí)行部件7從數(shù)據(jù)讀入部件4獲得。
具有上面所說(shuō)結(jié)構(gòu)和功能的微處理器,能夠根據(jù)形成微碼的操作ID讀出處理指令。因此,從而實(shí)現(xiàn)短的微碼的同時(shí),它能對(duì)付復(fù)雜而高級(jí)的操作處理指令碼。
其次,參看圖5,對(duì)圖4所示的微處理器中執(zhí)行操作處理的微碼給予說(shuō)明。
如圖5上面部分所示,例如,常規(guī)的微碼由處理指令(以RISC類(lèi)型指令組合的)和輸入及輸出數(shù)據(jù)構(gòu)成。但由于處理指令的復(fù)雜性和高級(jí),隨著微碼的擴(kuò)展,操作處理信息在微碼中可能不能足夠地分配和提供。
因此,為在本微處理器實(shí)施例中執(zhí)行操作處理,構(gòu)成的微碼中包含如圖5下部所示的操作ID,使得即使是復(fù)雜的操作處理也能縮短微碼,如上所述,LUT6的地址信息以操作ID來(lái)表示,而復(fù)雜而高級(jí)的處理指令被存儲(chǔ)在LUT6中。
因?yàn)槲⒋a由操作ID和指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息構(gòu)成,本微處理器實(shí)施例能使用LUT6,并容易對(duì)付復(fù)雜的處理指令(受流水線(xiàn)操作處理的指令支配),該指令是由許多RISC類(lèi)型的指令構(gòu)成(僅使用一個(gè)操作單元資源的基本指令)。結(jié)果,本微處理器實(shí)施例能容易地對(duì)付今后進(jìn)一步發(fā)展的復(fù)雜和高級(jí)的操作處理。
另外,通過(guò)如圖5所示減縮微碼,能夠減小臨時(shí)存儲(chǔ)指令的指令Cache,再則,如圖6所示,用于本發(fā)明的微碼與常規(guī)使用的微碼相比,在存儲(chǔ)部件5中具有縮減了的位寬度和字寬度。
還有,在該微處理器實(shí)施例中,能夠替代操作ID象常規(guī)情況下那樣直接執(zhí)行處理指令。例如,在處理指令是單個(gè)RISC類(lèi)型指令的情況,由于微碼將不因此而擴(kuò)展,事實(shí)上替代操作碼ID,RISC類(lèi)型指令能被執(zhí)行。另外,按照微碼的尺寸,它能直接提供兩個(gè)或多個(gè)RISC類(lèi)指令。因此,本微處理器實(shí)施例不必訪問(wèn)LUT 6而能夠有效地解碼操作處理指令。
按照本發(fā)明的微處理器實(shí)施例的結(jié)構(gòu)可包含指令解碼裝置,用以解碼由基本指令碼和指示擴(kuò)展指令碼存儲(chǔ)位置的ID構(gòu)成的微碼,還有操作處理執(zhí)行裝置,用以根據(jù)所說(shuō)指令解碼裝置解碼的操作指令,由選擇的操作單元資源執(zhí)行操作處理,這里流水線(xiàn)處理靠基本指令碼選擇第一操作單元資源,以及靠擴(kuò)展指令碼選擇下一個(gè)操作單元資源而得以執(zhí)行。通過(guò)按這種方式設(shè)置微碼,能夠提供足夠的時(shí)間范圍以解碼執(zhí)行復(fù)雜操作(如象CISC類(lèi)型的)的微碼,因此,執(zhí)行復(fù)雜操作的微碼的第一操作及象RISC類(lèi)指令的簡(jiǎn)單操作,兩者能立即地執(zhí)行,類(lèi)似于RISC類(lèi)型微處理器的情況。
圖7和圖8分別顯示按照本發(fā)明的操作處理執(zhí)行方法的實(shí)施例和一個(gè)操作處理的詳細(xì)例,該例是圖5所示的微碼輸入到圖4所示微處理器的情況下所執(zhí)行的操作處理。
當(dāng)將微碼輸入到圖4所示微處理器的流水線(xiàn)11時(shí),該微碼在步S1,被操作指令讀取部件2讀出,并被操作指令解碼部件3解碼。微碼包含指示由地址信息形成的輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,該地址信息指示輸出數(shù)據(jù),輸入數(shù)據(jù)①,輸入數(shù)據(jù)②的存儲(chǔ)位置,及例如圖8所示的操作ID。
根據(jù)操作指令解碼部件3中解碼執(zhí)行的結(jié)果,如果如圖8所示其操作ID的判斷位是“1”,步S2確定這樣的操作ID是一RISC類(lèi)型指令,反之,一步驟根據(jù)指示每個(gè)輸入數(shù)據(jù)①和輸入數(shù)據(jù)②的存儲(chǔ)位置的地址,由數(shù)據(jù)讀取部件4從存儲(chǔ)部件5讀取輸入數(shù)據(jù)①和輸入數(shù)據(jù)②,與此同時(shí),步S1將指示輸出數(shù)據(jù)存儲(chǔ)位置的地址通知操作處理執(zhí)行部件7。
在操作處理執(zhí)行部件7中,由ALU23(加法器),這是例如對(duì)于RISC類(lèi)指令的操作單元資源,在步S5執(zhí)行加法處理,并根據(jù)指示輸出數(shù)據(jù)存儲(chǔ)位置的地址,將加法操作的結(jié)果存到存儲(chǔ)部件5。
另一方面,如果在操作指令解碼部件3中解碼執(zhí)行的結(jié)果,如圖8所示其操作ID的判斷位是“1”,步S2確定此操作ID是LUT 6的地址“X”(ID)。因此,步驟S4,由數(shù)據(jù)讀取部件4根據(jù)地址“X”,讀出處理指令。而且,步S3,由數(shù)據(jù)讀取部件4根據(jù)指示每個(gè)輸入數(shù)據(jù)①和輸入數(shù)據(jù)②的存儲(chǔ)位置的地址,從存儲(chǔ)部件5讀出輸入數(shù)據(jù)①和輸入數(shù)據(jù)②,結(jié)果,處理指令,輸入數(shù)據(jù)①,輸入數(shù)據(jù)②,以及指示輸出數(shù)據(jù)存儲(chǔ)位置的地址都通知給操作處理執(zhí)行部件7。例如,如圖8所示,LUT6中地址“X”處存儲(chǔ)“MPY→SHF→ADD”’的處理指令。
在步S5,操作處理執(zhí)行部件7和用相應(yīng)于處理指令的操作單元資源的如乘法器(MPY)21,移位器(SHF)和加法器(ALU)23執(zhí)行乘-加操作,并根據(jù)指示輸出數(shù)據(jù)存儲(chǔ)位置的地址,將操作結(jié)果存到存儲(chǔ)部件5。
此微處理器實(shí)施例它能執(zhí)行本操作處理執(zhí)行方法的實(shí)施例,用戶(hù)通過(guò)任意改變LUT6的內(nèi)容能有效地執(zhí)行操作處理。
另外,由于此微處理器實(shí)施例能在一條處理指令中執(zhí)行許多RISC類(lèi)型的指令,它能減少總體執(zhí)行的指令數(shù)目。
接著,將給出當(dāng)執(zhí)行圖9所示處理指令“a”和處理指令“b”時(shí),此微處理器實(shí)施例的處理過(guò)程。在圖9中,F(xiàn)a表示處理指令“a”的取指周期時(shí)間,而Fb表示處理指令“b”的取指周期時(shí)間。Da表示處理指令“a”中RISC類(lèi)指令的解碼時(shí)間,而Db表示處理指令“b”中RISC類(lèi)指令的解碼時(shí)間。Ra表示處理指令“a”的輸入數(shù)據(jù)和輸出數(shù)據(jù)的讀出時(shí)間,而Rb表示處理指令“b”的輸入數(shù)據(jù)和輸出數(shù)據(jù)的讀出時(shí)間。E(1)到E(4)分別表示處理指令“a”過(guò)程中各RISC類(lèi)指令的執(zhí)行時(shí)間,而E(5)到E(8)分別表示處理指令“b”過(guò)程中各RISC類(lèi)指令的執(zhí)行時(shí)間。Wa表示處理指令“a”的處理結(jié)果的寫(xiě)時(shí)間,而Wb表示處理指令“b”的處理結(jié)果的寫(xiě)時(shí)間。為了方便,這里假定各個(gè)處理指令“a”和“b”都是以4個(gè)RISC類(lèi)指令構(gòu)成。
在此微處理器的實(shí)施例中,處理指令“a”在一個(gè)周期(Fa)內(nèi)被取出,并且在處理指令“a”期間,按RISC類(lèi)指令的次序執(zhí)行解碼處理(Da),讀處理(Ra),指令執(zhí)行處理(E(1)到E(4))以及寫(xiě)處理(Wa),使得處理指令“a”的處理如圖9所示以8個(gè)周期結(jié)束。
另外,在取指處理指令“a”以后的解碼處理(Da)的同時(shí),此微處理器實(shí)施例,取指下一處理指令“b”。此后,在處理指令“b”期間,按RISC類(lèi)指令的次序執(zhí)行解碼處理(Db),讀處理(Rb),指令執(zhí)行處理(E(5)到E(8)),以及寫(xiě)處理(Wb)。這樣一來(lái),處理指令“a”和處理指令“b”的處理,如圖9所示,以總共9個(gè)周期結(jié)束。
通過(guò)使一個(gè)處理指令執(zhí)行許多RISC類(lèi)指令,此微處理器的實(shí)施例能降低整個(gè)程序期間執(zhí)行的指令數(shù),同時(shí)也減少了CPI如圖2和圖3的比較,因此,它能以最少的周期數(shù)執(zhí)行操作處理。
下面,將更詳細(xì)地說(shuō)明由圖4所示的微處理器實(shí)施例的操作處理執(zhí)行部件7。
圖10給出構(gòu)成常規(guī)RISC類(lèi)型微處理器的操作處理執(zhí)行部件7a。
例如,當(dāng)執(zhí)行如圖10所示操作處理指令(a+b)*b的操作處理時(shí),RISC類(lèi)型的微處理器把操作處理指令(a+b)*b分成指令①ALU(a+b)和指令②MPY(*b),并順序執(zhí)行這些操作處理。這里,指令①ALU(a+b)表示使用操作單元資源ALU33執(zhí)行加法a+b,而指令②MPY(*b)表示指令①的操作結(jié)果和b的乘使用操作單元資源MPY31來(lái)執(zhí)行。
如圖11所示,RISC類(lèi)型的微處理器以一個(gè)周期(F)取出指令①ALU(a+b),并對(duì)指令①ALU(a+b)順序執(zhí)行解碼處理(D),讀處理(R),指令執(zhí)行處理(E)和寫(xiě)處理(W),從而指令①ALU(a+b)的處理以5個(gè)周期結(jié)束。
而且,因?yàn)楦鶕?jù)指令①ALU(a+b)的操作結(jié)果,RISC型處理器執(zhí)行指令②MPY(*b)的操作處理,在以一個(gè)周期(Fb)取下一指令②MPY(*b)之前,對(duì)于指令①ALU(a+b)執(zhí)行處理(E)指令的同時(shí),執(zhí)行了一空周期(例如,產(chǎn)生流水線(xiàn)失速)。在取出指令②MPY(*b)以后,針對(duì)指令②MPY(*b)執(zhí)行解碼處理(D)。另外,在寫(xiě)處理(W),指令①ALU(a+b)的操作結(jié)果寫(xiě)到寄存器完成以后,讀處理(R)執(zhí)行,從寄存器讀出此操作結(jié)果。此后,執(zhí)行指令執(zhí)行處理(E),以執(zhí)行指令②MPY(*b),以及執(zhí)行寫(xiě)處理(W)以便寫(xiě)指令②MPY(*b)的操作結(jié)果。所以,如圖11所示,操作處理指令(a+b)*b的操作處理以總共8個(gè)周期結(jié)束。
圖12顯示一操作處理執(zhí)行部件7b,它構(gòu)成的常規(guī)微處理器具有MAC(乘-加)類(lèi)型結(jié)構(gòu),如同數(shù)字信號(hào)處理器(DSP)。
例如,當(dāng)執(zhí)行如圖12所示操作處理指令(a+b)*b的操作處理時(shí),具有MAC類(lèi)型結(jié)構(gòu)的微處理器把操作處理指令(a+b)*b分成指令①ALU(a+b)和指令②MPY(*b),并依次執(zhí)行操作處理。這里,指令①ALU(a+b)表示使用操作單元資源ALU35執(zhí)行加法a+b,而指令②MPY(*b)表示指令①的操作結(jié)果和b的乘使用操作單元資源MPY34來(lái)執(zhí)行。
如圖13所示,具有MAC類(lèi)型結(jié)構(gòu)的微處理器以總共8個(gè)周期執(zhí)行操作處理指令(a+b)*b的操作處理。操作處理指令(a+)*b的操作處理,與上面所說(shuō)示于圖11的時(shí)間圖中的相同,對(duì)其的說(shuō)明將省略。
因此,上面所說(shuō)的兩類(lèi)常規(guī)微處理器都出現(xiàn)流水線(xiàn)的失速,而不能以最少的周期數(shù)執(zhí)行操作處理。
下面,將對(duì)示于圖14的操作處理執(zhí)行部件7予以說(shuō)明。構(gòu)成此微處理器的實(shí)施例能夠根據(jù)操作處理內(nèi)容,以最少的周期數(shù)執(zhí)行操作處理。
例如,當(dāng)執(zhí)行如圖14所示操作處理指令(a+b)*b的操作處理時(shí),此微處理器實(shí)施例中將操作處理指令(a+b)*b分成指令①ALU(a+b)和指令②MPY(*b),并依次執(zhí)行操作處理。這里,指令①ALU(a+b)表示使用操作單元資源ALU38執(zhí)行加法a+b,而指令②MPY(*b)表示使用操作單元資源MPY36執(zhí)行指令①的操作結(jié)果與b的相乘。
如圖15所示,此微處理器實(shí)施例中以一個(gè)周期(F)取出微碼,微碼包含表示操作處理指令(a+b)*b的操作ID以及輸入和輸出數(shù)據(jù)的地址信息。然后,解碼處理(D)解碼微碼,還有讀處理(R)讀出執(zhí)行操作處理指令(a+b)*b的操作ID和輸入及輸出數(shù)據(jù)。
在此微處理器實(shí)施例中,執(zhí)行處理(EI)執(zhí)行指令①ALU(a+b)的操作處理,但此指令①ALU(a+b)的操作結(jié)果不輸出,而是將指令①ALU(a+b)的操作結(jié)果輸入到圖15所示的操作單元資源MPY36,并且執(zhí)行處理(EII)跟著執(zhí)行指令②MPY(*b)的操作處理。最后,執(zhí)行寫(xiě)處理(W)以寫(xiě)指令②MPY(*b)的操作結(jié)果。所以,操作處理指令(a+b)*b的操作處理如圖15所示,以總共6個(gè)周期完成。
在此微處理器實(shí)施例中,在同一流水線(xiàn)中執(zhí)行復(fù)雜操作指令的指令被垂直地進(jìn)展,于是,在同一流水線(xiàn)中它不需要訪問(wèn)保存中間操作結(jié)果的寄存器。另外,它能在流水線(xiàn)中交換操作結(jié)果。從而不會(huì)發(fā)生流水線(xiàn)的失速。所以,此微處理器實(shí)施例能根據(jù)操作處理的內(nèi)容,以最少的周期數(shù)執(zhí)行操作處理。
而且,此微處理器實(shí)施例通過(guò)任意改變LUT6的內(nèi)容改變使用的操作單元資源的順序和使用的操作單元資源的數(shù)量。再則,當(dāng)不使用操作單元資源時(shí),輸入和輸出數(shù)據(jù)是經(jīng)直通通路傳送。結(jié)果,它能有效地執(zhí)行操作處理。
圖16給出的時(shí)間圖是對(duì)應(yīng)這樣的情況,例如,操作處理指令“(Product-sum operation乘-加操作)→(move data傳送數(shù)據(jù))”的操作處理由圖12所示具有MAC類(lèi)型結(jié)構(gòu)的微處理器的操作處理執(zhí)行部件7b所執(zhí)行。更具體而言,例如下面的操作處理指令被執(zhí)行。
mac r2,R1,r0;MAC(product-sum operation)MPY→SHF→ALUmov r4,r3;MOV(move data)through-path如圖16所示,具有MAC類(lèi)型結(jié)構(gòu)的微處理器以一個(gè)周期(F)取出指令MAC。另外,針對(duì)指令MAC按MPY→SHF→ALU的次序執(zhí)行解碼處理(D),讀處理(R)和執(zhí)行處理(E)。而后,一寫(xiě)處理(W)寫(xiě)此處理的結(jié)果。因而,指令MAC的處理以總共7個(gè)周期完成。
另外,在MAC指令被取指以后,與對(duì)指令MAC進(jìn)行解碼處理(D)的同時(shí),具有MAC類(lèi)型結(jié)構(gòu)的微處理器以一個(gè)周期(F)取出下一指令MOV。解碼處理(D)和讀處理(R)則針對(duì)指令MOV執(zhí)行。但是因?yàn)榫哂蠱AC類(lèi)型結(jié)構(gòu)的微處理器進(jìn)行有序輸出,流水線(xiàn)的失速會(huì)發(fā)生,并且在對(duì)指令MAC的操作處理結(jié)束之前,指令MOV不能被執(zhí)行。
總計(jì)2個(gè)周期的流水線(xiàn)失速結(jié)束以后,具有MAC類(lèi)型結(jié)構(gòu)的微處理器執(zhí)行執(zhí)行處理(E),以便執(zhí)行指令MOV,并且接著經(jīng)直通通路執(zhí)行寫(xiě)處理(W)。結(jié)果,操作處理指令“(product-sum operation)→(move data)”如圖16所示總共以8個(gè)周期結(jié)束操作處理。
因此,在具有MAC類(lèi)型結(jié)構(gòu)的微處理器中產(chǎn)生了總計(jì)2周期的流水線(xiàn)失速,而且根據(jù)操作處理的內(nèi)容操作處理不能以最少的周期數(shù)來(lái)執(zhí)行。
圖17給出的時(shí)間圖是對(duì)應(yīng)這樣的情況,例如,操作處理指令“(product-sum operation)→(move data)”的操作處理由圖14所示微處理器實(shí)施例的操作處理執(zhí)行部件7執(zhí)行。更具體的是一類(lèi)似于前面所說(shuō)的示于圖16的操作處理指令被執(zhí)行。
如圖17所示,此微處理器實(shí)施例中以一個(gè)周期(F)取指指令MAC。另外,根據(jù)此指令MAC,按MPY→SHF→ALU的順序執(zhí)行解碼處理(D),該處理(R),以及執(zhí)行處理(E),而后,寫(xiě)處理(W)寫(xiě)入操作結(jié)果。因此,指令MAC的處理以總共7周期結(jié)束。
另外,在指令MAC被取指以后,在對(duì)指令MAC解碼處理(D)的同時(shí),此微處理器實(shí)施例以一個(gè)周期(F)取下一指令MOV。根據(jù)指令MOV執(zhí)行解碼處理(D)和讀處理(R)。
在此微處理器實(shí)施例中,能夠恰當(dāng)?shù)剌敵鐾ㄟ^(guò)以并行執(zhí)行操作得到的操作結(jié)果,從而能夠亂序輸出。因此,流水線(xiàn)失速不會(huì)發(fā)生,而且能與指令MAC的操作處理并行執(zhí)行指令MOV(執(zhí)行一執(zhí)行處理(E)),無(wú)需等待指令MAC的操作處理結(jié)束。
另外,在指令MOV被執(zhí)行以后,此微處理器實(shí)施例按操作處理結(jié)束的順序執(zhí)行寫(xiě)處理(W)。因此,操作處理指令“(product-sum operation)→(move data)”的操作處理,如圖14所示以總共7個(gè)周期結(jié)束。在操作處理指令“(product-sum operation)→(move data)”操作處理的情況下,指令MOV的操作處理結(jié)束先于指令MAC的操作處理,因此,由于亂序輸出的結(jié)果,MOV指令的操作處理在指令MAC操作處理的前頭。
因?yàn)榇宋⑻幚砥鲗?shí)施例中采用亂序輸出,它能根據(jù)操作處理結(jié)束的順序?qū)懖僮鹘Y(jié)果,不需要讓前面結(jié)束的操作處理等待。所以,在此微處理器實(shí)施例中,一操作指令能超前于,也就是越過(guò)另一操作處理指令,因而使得可以以最少的周期數(shù)執(zhí)行操作處理。
圖18顯示此微處理器實(shí)施例的流水線(xiàn)結(jié)構(gòu)?,F(xiàn)在將說(shuō)明在MAC類(lèi)型操作處理指令被重復(fù)執(zhí)行的這種情況下,流水線(xiàn)結(jié)構(gòu)的微處理器實(shí)施例中的操作。此時(shí),根據(jù)圖19所示時(shí)間圖,并與常規(guī)微處理器的操作比較。
如上所述并結(jié)合圖1,如果常規(guī)微處理器是由四種流水線(xiàn)301,302,303和304構(gòu)成,每個(gè)流水線(xiàn)301到304的操作結(jié)果被寫(xiě)進(jìn)存儲(chǔ)部件305,并經(jīng)存儲(chǔ)部件305讀到其它流水線(xiàn),從而能在流水線(xiàn)301到304之間交換數(shù)據(jù)。換言之,當(dāng)一個(gè)操作單元資源的操作結(jié)果被下一操作單元資源使用時(shí),常規(guī)微處理器總是通過(guò)存儲(chǔ)部件305交換操作結(jié)果。
另外,當(dāng)執(zhí)行具有RISC類(lèi)指令組合的指令時(shí),此操作處理指令在每個(gè)流水線(xiàn)中水平地進(jìn)展,并且此操作處理由并行的流水線(xiàn)執(zhí)行。
圖20是這種情況下的時(shí)間圖,這時(shí)MAC類(lèi)型操作處理指令由具有圖1所示的流水線(xiàn)結(jié)構(gòu)的常規(guī)微處理器重復(fù)地執(zhí)行。更具體的是,圖20所示的情況,下列操作處理指令被執(zhí)行,例如指令①M(fèi)AC;MPY(M(1))→SHF(S(1))→ALU(A(1))指令②MAC;MPY(M(2))→SHF(S(2))→ALU(A(2))如圖20所示,在常規(guī)微處理器的流水線(xiàn)301中,指令①M(fèi)AC的M(1)以一個(gè)周期(FI)被取指。另外,解碼處理(DI)解碼指令①M(fèi)AC的M(1),讀處理(RI)讀必要的輸入和輸出數(shù)據(jù),執(zhí)行處理(EI)執(zhí)行M(1)的操作,以及寫(xiě)處理(WI)在存儲(chǔ)部件305中寫(xiě)M(1)的操作結(jié)果。因此,指令①M(fèi)AC的M(1)的處理以5個(gè)周期結(jié)束。
接著,在常規(guī)微處理器的流水線(xiàn)302中,在對(duì)指令①M(fèi)AC的M(1)進(jìn)行執(zhí)行處理(EI)的同時(shí),指令①M(fèi)AC的S(1)以一個(gè)周期(FII)被取指。另外,解碼處理(DII)解碼指令①M(fèi)AC的S(1),并在寫(xiě)處理(WI)把指令①M(fèi)AC的M(1)的操作結(jié)果寫(xiě)到存儲(chǔ)部件305以后,讀處理(RII)讀出在存儲(chǔ)部件305中的操作結(jié)果以及必需的輸入和輸出數(shù)據(jù)。再則,在常規(guī)的微處理器中,執(zhí)行處理(EII)執(zhí)行指令①M(fèi)AC的S(1)的操作,以及寫(xiě)處理(WII)在存儲(chǔ)部件305中寫(xiě)S(1)的操作結(jié)果。所以,指令①M(fèi)AC的M(1)和S(1)的操作處理,如圖20所示以總共8個(gè)周期結(jié)束。
最后,在常規(guī)微處理器的流水線(xiàn)301中,與指令①M(fèi)AC的S(1)執(zhí)行處理(EII)的同時(shí),以一個(gè)周期(FI)取出指令①M(fèi)AC的A(1)。另外,解碼處理(DI)解碼指令①M(fèi)AC的A(1),并在寫(xiě)處理(WII)把指令①M(fèi)AC的S(1)的操作結(jié)果寫(xiě)到存儲(chǔ)部件305以后,讀處理(RI)讀存儲(chǔ)部件305中的操作結(jié)果和必需的輸入和輸出數(shù)據(jù)。再則,在常規(guī)的微處理器中,執(zhí)行處理(EI)執(zhí)行指令①M(fèi)AC的A(1)的操作,以及寫(xiě)處理(WI)在存儲(chǔ)部件305中寫(xiě)A(1)的操作結(jié)果。所以,如圖20所示,指令①M(fèi)AC的M(1),S(1)和A(1)的操作處理總共以11個(gè)周期結(jié)束。指令②MAC的執(zhí)行類(lèi)似于上面所說(shuō)的指令①M(fèi)AC,而且,在指令①M(fèi)AC的M(1)和指令①M(fèi)AC的A(1)之間,流水線(xiàn)失速在流水線(xiàn)301中發(fā)生,為此被插入5個(gè)空周期。
所以,常規(guī)的微處理器根據(jù)操作處理的內(nèi)容,不能以最少的周期數(shù)執(zhí)行操作處理。
另一方面,如圖18所示,依靠在一條流水線(xiàn)中包含許多操作單元資源,此實(shí)施例能夠根據(jù)操作處理的內(nèi)容,以最少的周期數(shù)執(zhí)行操作處理。
在圖18中,微處理器的流水線(xiàn)11的結(jié)構(gòu)與圖4中所示的相同。流水線(xiàn)11包含操作指令讀取部件2,操作指令解碼部件3,數(shù)據(jù)讀取部件4,操作處理執(zhí)行部件7,和操作結(jié)果寫(xiě)部件8。在一條流水線(xiàn)11中流水線(xiàn)處理以并行方式執(zhí)行操作處理,以便有效地執(zhí)行操作處理。為此,與圖1所示的常規(guī)微處理器比較,此微處理器實(shí)施例通過(guò)減少流水線(xiàn)數(shù)目能減小硬件的規(guī)模,并且也降低了功率消耗。
在流水線(xiàn)11中,操作處理執(zhí)行部件7由許多操作單元資源42,43,44和45構(gòu)成,通過(guò)修改LUT6中的操作處理指令碼,它們能被任意地連接。因此,靠修改LUT6,操作單元資源使用的次序以及操作單元資源所使用的數(shù)量能被任意地改變,從而使其能有效地執(zhí)行操作處理。
另外,在流水線(xiàn)11中,操作結(jié)果寫(xiě)入部件8具有多端口結(jié)構(gòu),以獨(dú)立地在存儲(chǔ)部件5中寫(xiě)操作單元資源42,43,44和45的操作結(jié)果。同時(shí),操作結(jié)果寫(xiě)入部件8對(duì)應(yīng)于操作單元資源42,43,44和45,包含有寫(xiě)部件46,47,48和49,使用操作處理執(zhí)行部件7的按序執(zhí)行和亂序輸出,它能避免寫(xiě)操作單元資源42,43,44和45的操作結(jié)果的沖突。
圖19是這種情況下的時(shí)間圖,此時(shí)MAC類(lèi)型的操作處理指令,由具有圖18所示結(jié)構(gòu)的微處理器實(shí)施例重復(fù)地執(zhí)行。更詳細(xì)地,圖19所示情況,其中下列操作處理指令被執(zhí)行,例如指令①M(fèi)AC;MPY(M(1))→SHF(S(1))→ALU(A(1))指令②MAC;MPY(M(2))→SHF(S(2))→ALU(A(2))
如圖19所示,在微處理器實(shí)施例的流水線(xiàn)11中,指令①M(fèi)AC的M(1),S(1)和A(1)以一個(gè)周期被取指。另外,解碼處理(D)解碼指令①M(fèi)AC,讀處理(R)為指令①M(fèi)AC讀取所必需的全部輸入和輸出數(shù)據(jù)以及由操作ID指示的地址。
例如,在操作單元資源42中,執(zhí)行處理(E(1))執(zhí)行指令①M(fèi)AC的M(1)的操作。另外,操作單元資源42的操作結(jié)果,例如直接輸入到下一操作單元資源43,以及一執(zhí)行處理(E(2))在操作單元資源43中執(zhí)行指令①M(fèi)AC的S(1)的操作。而后,操作單元資源43的操作結(jié)果,例如直接輸入到下一操作單元資源44,且執(zhí)行處理(E(3))在操作單元資源44中執(zhí)行指令①M(fèi)AC的A(1)的操作。
最后,寫(xiě)處理(W),由寫(xiě)部件48在存儲(chǔ)部件5中僅僅寫(xiě)入最終操作結(jié)果。因此,如圖19所示,指令①M(fèi)AC的M(1),S(1)和A(1)的操作處理總共在7個(gè)周期內(nèi)完成。指令②MAC的執(zhí)行類(lèi)似于上面所說(shuō)的指令①M(fèi)AC。
所以,按照此微處理器實(shí)施例,不象常規(guī)微處理器,這里不產(chǎn)生流水線(xiàn)失速,而且它能以最少的周期數(shù)執(zhí)行操作處理。
圖21所示是以下情況下的時(shí)間圖,這里此微處理器的實(shí)施例的流水線(xiàn)結(jié)構(gòu)包括許多具有相同功能的操作單元資源,并且當(dāng)操作處理指令被重復(fù)執(zhí)行時(shí),在操作單元資源之中產(chǎn)生沖突。更具體地是圖21所示情況,此時(shí)下面的操作處理指令被執(zhí)行,例如指令①OP1 r2,r1,r0;OP1MPY→SHF→ALU指令②OP2 r5,r4,r3;OP2MPY→ALU指令③OP3 r8,r7,r6;OP3SHF→MPY指令④OP4 r11,r10,r9;OP4MPY如圖21所示,在此微處理器實(shí)施例的流水線(xiàn)11中,按此順序指令①OP1以一周期(F)被取指,指令②OP2以一周期(F)被取指,指令③OP3以一周期(F)被取指,以及指令④OP4以一周期(F)被取指。
在取指指令①OP1以后,解碼處理(D)解碼指令①OP1,以及讀處理(R)讀出為指令①OP1所必需的全部輸入和輸出數(shù)據(jù)以及由操作ID指示的地址。解碼處理(D)和讀處理(R)根據(jù)指令②OP2,指令③OP3以及指令④OP4類(lèi)似地被執(zhí)行。
為指令①OP1所需的全部輸入數(shù)據(jù)及由操作ID指示的處理指令被讀出以后,此微處理器實(shí)施例在第4周期,利用操作單元資源MPY執(zhí)行一執(zhí)行處理(EI),以執(zhí)行指令①OP1的操作,而且,操作單元資源MPY的操作結(jié)果直接輸入到下一操作單元資源SHF。
執(zhí)行處理(EII)在第5周期由操作單元資源SHP執(zhí)行,以執(zhí)行指令①OP1的操作。而且,操作單元資源SHF的操作結(jié)果直接輸入到下一操作單元資源ALU。同時(shí),在此第5周期,由操作單元資源MPY執(zhí)行處理(EI)執(zhí)行,以執(zhí)行指令②OP2的操作,并且操作單元資源MPY的操作結(jié)果直接輸入到下一操作單元資源ALU。然而,由于對(duì)該下一操作單元資源ALU產(chǎn)生沖突,操作單元資源MPY的操作結(jié)果,例如輸入到具有相同功能的操作單元資源ALU′。
另外,一執(zhí)行處理(EIII)在第6周期執(zhí)行以由操作單元資源ALU執(zhí)行指令①OP1的操作,而且,例如寫(xiě)部件46在第7周期執(zhí)行寫(xiě)處理(WI),在存儲(chǔ)部件5中寫(xiě)操作單元資源ALU的操作結(jié)果。同時(shí),在第6周期執(zhí)行一執(zhí)行處理(EII),以由操作單元資源ALU′執(zhí)行指令②OP2的操作,并且例如寫(xiě)部件46在第7周期執(zhí)行寫(xiě)處理(WII),在存儲(chǔ)部件5中寫(xiě)操作單元資源ALU′的操作結(jié)果。而且,同時(shí)在此第6周期,執(zhí)行一執(zhí)行處理(EI),由操作單元資源SHF執(zhí)行指令③OP3的操作,并且操作單元資源SHF的操作結(jié)果直接輸入到下一操作單元資源MPY。
另外,在第7周期,執(zhí)行一執(zhí)行處理(EII),通過(guò)操作單元資源MPY,執(zhí)行指令③OP3的操作,并且例如寫(xiě)部件46,在第8周期執(zhí)行寫(xiě)處理(WI),以在存儲(chǔ)部件5中寫(xiě)入操作單元資源MPY的操作結(jié)果。同時(shí),在第7周期執(zhí)行執(zhí)行處理(EI),通過(guò)例如具有與操作單元資源MPY同樣功能的MPY′,執(zhí)行指令④OP4的操作。接著在第8周期,例如寫(xiě)部件47執(zhí)行寫(xiě)處理(WII),在存儲(chǔ)部件5中寫(xiě)入操作單元資源MPY′的操作結(jié)果。
從而,此微處理器實(shí)施例如圖21所示,能以總共8個(gè)周期完成指令①OP1,指令②OP2,指令③OP3和指令④OP4的操作處理。
因此,當(dāng)操作單元資源的沖突產(chǎn)生或向存儲(chǔ)部件5寫(xiě)操作結(jié)果的沖突產(chǎn)生時(shí),流水線(xiàn)失速不會(huì)出現(xiàn)。結(jié)果,能夠根據(jù)操作處理的內(nèi)容,以最少的周期數(shù)執(zhí)行操作處理。
圖22給出按照本發(fā)明另一微處理器實(shí)施例的硬件結(jié)構(gòu),通過(guò)轉(zhuǎn)交(forwarding)操作結(jié)果能夠降低執(zhí)行操作處理所要求的時(shí)間。
在圖22中,除了圖4所示的元件外,微處理器包含存儲(chǔ)部件51。該存儲(chǔ)部件51包含一個(gè)通路。用于在向存儲(chǔ)部件5寫(xiě)入操作處理執(zhí)行部件7的操作結(jié)果的同時(shí),把操作處理執(zhí)行部件7的操作結(jié)果直接傳遞到數(shù)據(jù)讀取部件4。還包含一通路,用于在鎖存此操作結(jié)果以后把此操作結(jié)果通知數(shù)據(jù)讀取部件4。存儲(chǔ)部件51以觸發(fā)器52提供,它鎖存轉(zhuǎn)送的操作結(jié)果。還有一選擇器53,它選擇直接通知操作結(jié)果的通路或在鎖存操作結(jié)果以后通知操作結(jié)果的通路。
在此微處理器實(shí)施例中,當(dāng)在下一操作處理指令中使用前面操作處理指令的操作結(jié)果時(shí),數(shù)據(jù)讀取部件4從上面所說(shuō)的通路之一中讀取操作結(jié)果,而不使用在存儲(chǔ)部件5中前面操作處理指令的操作結(jié)果。
因此,此微處理器實(shí)施例不要求存儲(chǔ)部件5介入操作結(jié)果的交換,操作處理能以最少的周期數(shù)執(zhí)行。
圖23給出以下情況的時(shí)間圖,此時(shí)指令①和指令②的操作處理例如由圖22所示微處理器的操作處理執(zhí)行部件7執(zhí)行。更詳細(xì)地是圖23所示下列操作處理指令被執(zhí)行的情況。
指令①M(fèi)OV r2,r1;movmove指令②add r3,r0,r2;addadd如圖23所示,此微處理器實(shí)施例用一個(gè)周期取指指令①。另外,執(zhí)行解碼處理(D)以解碼指令①,執(zhí)行讀處理(R)以讀出指令D的操作處理所必需的數(shù)據(jù),還有執(zhí)行執(zhí)行處理(E)以執(zhí)行該指令①。
接著,在取指指令①以后,對(duì)指令①解碼處理(D)的同時(shí),微處理器以一個(gè)周期(F)取指指令②,而后,執(zhí)行解碼處理(D)以解碼指令②,及執(zhí)行讀處理(R)以讀出指令②的操作處理所需的數(shù)據(jù)。因?yàn)橹噶睥谑褂胷2中的操作結(jié)果作為輸入,而r2中寫(xiě)入了指令①的操作結(jié)果,數(shù)據(jù)讀取部件4使用存儲(chǔ)部件51中的通路,并依靠轉(zhuǎn)送指令①的操作結(jié)果讀取指令①的操作結(jié)果。
在此狀態(tài)下,微處理器執(zhí)行一執(zhí)行處理(E)以執(zhí)行指令①的操作處理,以及執(zhí)行一寫(xiě)處理(W)以在存儲(chǔ)部件5中寫(xiě)入指令②的操作結(jié)果。
圖24顯示按照本發(fā)明的微處理器的另一實(shí)施例的硬件結(jié)構(gòu),由于不需要輸入和輸出數(shù)據(jù),能減少執(zhí)行操作處理所需的時(shí)間。
在圖24中,微處理器包括除了圖22所示部件以外的一個(gè)鎖存61和一個(gè)存儲(chǔ)部件62,鎖存61鎖存由數(shù)據(jù)讀取部件4讀出的輸入數(shù)據(jù),以及存儲(chǔ)部件62存儲(chǔ)由鎖存61所鎖存的輸入數(shù)據(jù)。因此,提供一通路經(jīng)過(guò)鎖存61和存儲(chǔ)部件62,在操作處理執(zhí)行部件7中,去通知輸入數(shù)據(jù)到操作單元資源63,64和65。
當(dāng)重新使用在操作處理執(zhí)行部分7中曾經(jīng)用過(guò)的輸入數(shù)據(jù)時(shí),該微處理器實(shí)施例可讀取保存在上面所述通路中的輸入數(shù)據(jù),不必從存儲(chǔ)部件5中讀取輸入數(shù)據(jù)。
因此,在本微處理器實(shí)施例中,在它操作期間使其它操作單元資源可重用操作單元資源的數(shù)據(jù),不必從存儲(chǔ)部件5中再讀取輸入數(shù)據(jù),從而,減少了執(zhí)行操作處理所需的時(shí)間,而且即使在由于其它操作處理重新要求的輸入數(shù)據(jù)變化的情況下,仍可以用變化出現(xiàn)以前的輸入數(shù)據(jù)。
另外,在圖24所示的微處理器中,提供一直通通路,直接把由數(shù)據(jù)讀取部件4讀出的輸入數(shù)據(jù)通知到操作處理執(zhí)行部件7中的每個(gè)操作單元資源63,64和65。
而且,在操作處理執(zhí)行部件7中的每個(gè)操作單元資源63,64和65,具有對(duì)輸入數(shù)據(jù)多端口結(jié)構(gòu)的輸入端口。因此,操作單元資源63,64和65能同時(shí)地輸入需要的輸入數(shù)據(jù),而且它不必重復(fù)地從存儲(chǔ)部件5獲得輸入數(shù)據(jù)。因而,執(zhí)行操作處理所需的時(shí)間,從這個(gè)觀點(diǎn)看亦被減少。
圖25A和25B顯示了圖24中微處理器的更詳細(xì)的結(jié)構(gòu),此時(shí)操作處理被執(zhí)行,使用從累加寄存器來(lái)的數(shù)據(jù)(累加類(lèi)型數(shù)據(jù))D15到D8,以及從通用目的寄存器來(lái)的數(shù)據(jù)D7到D0。
在圖25A所示的微處理器中,在從通用目的寄存器讀出數(shù)據(jù)D7到D0以后,將根據(jù)D7到D0在直通通路中經(jīng)過(guò)選擇器75a通知到操作單元資源77,同時(shí)通知到對(duì)應(yīng)于操作單元資源78,79和80的每個(gè)鎖存71,72和73,并且保持在圖25A所示的鎖存行中。
在該鎖存行中,提供的鎖存71,72和7 3與操作單元資源78,79和80相對(duì)應(yīng),而操作單元資源78,79和80當(dāng)需要時(shí)可經(jīng)相應(yīng)的選擇器75b,75c和75d讀取數(shù)據(jù)。
此外,來(lái)自累加操作結(jié)果的存儲(chǔ)部件比如累加寄存器的數(shù)據(jù)D15到D8被通知給直通線(xiàn),以便提高吞吐量,并經(jīng)過(guò)選擇器76能被每個(gè)操作單元資源77到80所使用。
而且,通過(guò)使數(shù)據(jù)讀取部件4的輸入端口為多端口結(jié)構(gòu),操作單元資源77到80全部能同時(shí)地讀取所需數(shù)據(jù),且將不會(huì)發(fā)生關(guān)于數(shù)據(jù)讀取部件4沖突引起的流水線(xiàn)失速。結(jié)果,可減少執(zhí)行操作處理所需的時(shí)間。
圖25A所示的微處理器,鎖存來(lái)自存儲(chǔ)部件5和6比如寄存器、高速緩存和存儲(chǔ)器的輸入數(shù)據(jù)。因此,不需要再次輸入輸入數(shù)據(jù),并且在操作單元資源操作期間,能重新使用此輸入數(shù)據(jù)。因此,即使輸入數(shù)據(jù)被其它操作處理重寫(xiě),微處理器能用重寫(xiě)以前的輸入數(shù)據(jù)。
另一方面,在圖25B所示的微處理器中,在從通用目的寄存器讀出數(shù)據(jù)D7到D0以后,數(shù)據(jù)D7到D0在直通通路中經(jīng)相應(yīng)的選擇器75a,75b,75c和75d被通知給操作單元資源77,78,79和80,且同時(shí)被通知給對(duì)應(yīng)于操作單元資源78,79和80的每個(gè)鎖存器71,72和73,且保存在圖25B所示的鎖存行中。
在這個(gè)鎖存行中,提供的鎖存71,72和73與操作單元資源78,79和80相對(duì)應(yīng),而操作單元資源78,79和80當(dāng)需要時(shí),可經(jīng)相應(yīng)的選擇器75b,75c和75d讀取數(shù)據(jù)。
此外,來(lái)自累加操作結(jié)果的存儲(chǔ)部件,如象累加寄存器的數(shù)據(jù)D15到D8被通知給直通線(xiàn),以便提高吞吐量,并經(jīng)過(guò)選擇器76能被每個(gè)操作單元資源77到80所使用。
而且,通過(guò)使數(shù)據(jù)讀取部件4的輸入端口為多端口結(jié)構(gòu),操作單元資源77到80全部能夠同時(shí)地讀取所需數(shù)據(jù),且將不會(huì)發(fā)生關(guān)于數(shù)據(jù)讀取部件4沖突引起的流水線(xiàn)失速。結(jié)果,可減少執(zhí)行操作處理所需的時(shí)間。
圖25B所示的微處理器使用的輸入數(shù)據(jù)或來(lái)自鎖存以后通知操作單元資源的通道,或來(lái)自直接通知操作單元資源的直通通道。因此,微處理器能使鎖存來(lái)自存儲(chǔ)器部件5和6的輸入和輸出數(shù)據(jù)所需的操作處理延遲為最小。
圖26顯示了按照本發(fā)明的微處理器實(shí)施例,其中具有圖15所示微處理器流水線(xiàn)結(jié)構(gòu)的很多流水線(xiàn)是并行連結(jié)的。
該微處理器實(shí)施例包括圖18所示的流水線(xiàn)11,以及具有同流水線(xiàn)11相同功能的流水線(xiàn)11a,……11m,流水線(xiàn)11,11a……11m中每個(gè)按并行連結(jié),以便能更有效地執(zhí)行操作處理。這里,m是一任意整數(shù)。
下面,將給出按照本發(fā)明的計(jì)算機(jī)可讀記錄介質(zhì)的實(shí)施例的說(shuō)明。計(jì)算機(jī)可讀記錄介質(zhì)存儲(chǔ)了上面所述的本發(fā)明的任何微處理器結(jié)構(gòu)的電路信息,這些電路信息通過(guò)例如如圖27所示的計(jì)算機(jī)系統(tǒng),從計(jì)算機(jī)可讀記錄介質(zhì)中讀出,且被用于設(shè)計(jì)微處理器。
本計(jì)算機(jī)可讀記錄介質(zhì)實(shí)施例存儲(chǔ)電路信息,該信息以硬件描述語(yǔ)言寫(xiě)成,并且與能夠執(zhí)行具有至少一種RISC類(lèi)型指令的處理指令的微處理器有關(guān),其特征在于第一數(shù)據(jù)區(qū)存儲(chǔ)有關(guān)指令解碼裝置的電路信息,用以對(duì)微碼進(jìn)行解碼,微碼中包含指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息和指示處理指令存儲(chǔ)位置的地址信息。第二數(shù)據(jù)區(qū)存儲(chǔ)有關(guān)數(shù)據(jù)讀取裝置的電路信息,用以根據(jù)指令解碼裝置解碼指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,讀取輸入數(shù)據(jù),并根據(jù)地址信息讀取處理指令以及第三數(shù)據(jù)區(qū)存儲(chǔ)有關(guān)操作處理執(zhí)行裝置的電路信息,提供一個(gè)或多個(gè)操作單元資源,能根據(jù)數(shù)據(jù)讀取裝置讀入的輸入數(shù)據(jù)和處理指令執(zhí)行操作處理。
圖27所示的計(jì)算機(jī)系統(tǒng)100包括一包含CPU的主體部件101及一磁盤(pán)驅(qū)動(dòng)器單元等,顯示器102響應(yīng)主體部分101的一指令在顯示屏102a上顯示圖象,鍵盤(pán)103用于向計(jì)算機(jī)系統(tǒng)100輸入各種信息,鼠標(biāo)104用來(lái)在顯示器102的顯示屏102a上指定一任意位置,以及調(diào)制解調(diào)器105用來(lái)訪問(wèn)外部數(shù)據(jù)庫(kù)之類(lèi)和下載在其它計(jì)算機(jī)系統(tǒng)中存儲(chǔ)的程序之類(lèi)。以硬件描述語(yǔ)言寫(xiě)的電路信息被存儲(chǔ)在可移動(dòng)的記錄介質(zhì)如盤(pán)110中,或者用象調(diào)制解調(diào)器105之類(lèi)通信單元從其它計(jì)算機(jī)系統(tǒng)的記錄介質(zhì)106下載。該電路信息被輸入到計(jì)算機(jī)系統(tǒng)100并被它編譯,計(jì)算機(jī)系統(tǒng)100安裝有編譯器,根據(jù)用硬件描述語(yǔ)言寫(xiě)的電路信息,通過(guò)讀取單元庫(kù)信息,形成現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)程序或形成一實(shí)際電路的曝光數(shù)據(jù)和曝光圖樣,單元庫(kù)信息為每種EPGA,每種制造設(shè)備,或每種在其中形成微處理器的半導(dǎo)體設(shè)備,如對(duì)CMOS為2.5μM線(xiàn)寬連線(xiàn)規(guī)則,由編譯程序形成的曝光圖樣通過(guò)如分步相機(jī)(stepper)的曝光裝置用來(lái)對(duì)象硅晶片這樣半導(dǎo)體晶片上的光阻材料曝光,曝光的光阻材料被顯影,并起掩模板的作用以便實(shí)現(xiàn)摻雜,形成P-型或n-型半導(dǎo)體,以及連接半導(dǎo)體電路的連線(xiàn),如此方式根據(jù)記錄介質(zhì)中存儲(chǔ)的電路信息形成了微處理器。存儲(chǔ)電路信息的記錄介質(zhì)不限于便攜的或可移動(dòng)的記錄介質(zhì),如IC卡存儲(chǔ)器,軟盤(pán),磁光盤(pán)和CD-ROM,亦包括經(jīng)過(guò)通信裝置或通信部件象LAN和調(diào)制解調(diào)器連接的,計(jì)算機(jī)系統(tǒng)可存取的記錄介質(zhì)。
按照本發(fā)明的微處理器,可以根據(jù)地址信息(操作ID)讀取處理指令,這些地址信息指示形成微碼的處理指令的存儲(chǔ)位置,因此,在減小微碼尺度的同時(shí)能對(duì)付復(fù)雜和高級(jí)的操作處理指令。
此外,通過(guò)使用高級(jí)處理指令(由很多RISC類(lèi)型指令形成一個(gè)處理指令)和使用指示,形成微碼的處理指令的存儲(chǔ)位置的地址信息(操作ID),本發(fā)明的微處理器能減少處理指令的數(shù)目,且同時(shí)減少了CPI。
而且,由于本發(fā)明的微處理器直接地用一個(gè)操作單元資源的操作結(jié)果作為下一個(gè)操作單元資源的輸入,不必在寄存器之類(lèi)中暫存操作結(jié)果,還不象常規(guī)的微處理器,在數(shù)據(jù)交換時(shí)不產(chǎn)生流水線(xiàn)失速,以及不需要根據(jù)流水線(xiàn)的失速插入空周期。因此,根據(jù)操作處理的內(nèi)容可用最少的周期數(shù)執(zhí)行操作處理。
而且,根據(jù)本發(fā)明的微處理器,在一個(gè)處理指令中包括很多RISC類(lèi)型指令,以及操作的結(jié)果以操作處理結(jié)束的順序被寫(xiě)到存儲(chǔ)部件。不象常規(guī)的微處理器,其中后面的指令必須等待直到前面的指令結(jié)束操作處理,在本發(fā)明中,不會(huì)產(chǎn)生流水線(xiàn)失速,而且操作處理能用最少的周期數(shù)來(lái)實(shí)現(xiàn)。
另一方面,即使沖突出現(xiàn)在流水線(xiàn)給存儲(chǔ)部件進(jìn)行寫(xiě)動(dòng)作時(shí),本發(fā)明的微處理器,通過(guò)同一流水線(xiàn)中具有相同功能的操作單元資源中分配指令,以及利用操作結(jié)果輸出的多端口結(jié)構(gòu)能避免沖突。
此外,當(dāng)從存儲(chǔ)部件獲得輸入數(shù)據(jù)執(zhí)行一預(yù)定的操作處理時(shí),根據(jù)本發(fā)明的微處理器保留該輸入數(shù)據(jù),以便當(dāng)它成為需要時(shí),不再獲取相同的輸入數(shù)據(jù)。因此,可以有效地執(zhí)行操作處理。
而且,按照本發(fā)明的微處理器,在同一流水線(xiàn)中包括很多操作單元資源,它們可由用戶(hù)任意連接。因此,同常規(guī)的并行排列很多流水線(xiàn)的微處理器相比,它可以減小硬件的規(guī)模,也可以減小電源消耗。
因此,根據(jù)本發(fā)明,可實(shí)現(xiàn)一種微處理器,操作處理執(zhí)行方法和記錄介質(zhì),它們能夠以最小尺寸的微碼對(duì)付復(fù)雜和高級(jí)的操作處理指令,以及根據(jù)操作處理指令能有效地執(zhí)行其中的操作處理。而且,本發(fā)明既能減少硬件的規(guī)模又能減小微處理器的功耗。
而且,本發(fā)明不限于這些實(shí)施例,在不脫離本發(fā)明范圍的情況下,可作各種變化和修改。
權(quán)利要求
1.一種微處理器,它能執(zhí)行至少具有一個(gè)精簡(jiǎn)指令集計(jì)算機(jī)-RISC-類(lèi)指令的處理指令,其特征在于指令解碼裝置用以對(duì)微碼進(jìn)行解碼,微碼中包含指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息和指示處理指令存儲(chǔ)位置的地址信息;數(shù)據(jù)讀取裝置,用以根據(jù)所說(shuō)指令解碼裝置解碼的指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,讀取輸入數(shù)據(jù),以及根據(jù)地址信息讀取處理指令;以及操作處理執(zhí)行裝置,提供一個(gè)或多個(gè)操作單元資源,能根據(jù)所說(shuō)數(shù)據(jù)讀取裝置讀入的輸入數(shù)據(jù)和處理指令執(zhí)行操作處理。
2.根據(jù)權(quán)利要求1的微處理器,其特征在于微碼可由至少一條RISC類(lèi)指令直接替代表示處理指令存儲(chǔ)位置的地址信息來(lái)實(shí)現(xiàn)。
3.根據(jù)權(quán)利要求1或2的微處理器,其特征還在于處理指令存儲(chǔ)裝置能夠任意地構(gòu)造處理指令;及輸入和輸出數(shù)據(jù)存儲(chǔ)裝置,用以存儲(chǔ)所說(shuō)操作處理執(zhí)行裝置的操作結(jié)果以及能隨意設(shè)置的輸入數(shù)據(jù),所說(shuō)的數(shù)據(jù)讀取裝置,根據(jù)表示處理指令存儲(chǔ)位置的地址信息訪問(wèn)所說(shuō)處理指令存儲(chǔ)裝置,讀出對(duì)應(yīng)的處理指令,并根據(jù)表示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,進(jìn)一步從所說(shuō)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置讀取輸入數(shù)據(jù)。
4.根據(jù)權(quán)利要求1到3任何一項(xiàng)的微處理器,其特征在于所說(shuō)的操作處理執(zhí)行裝置包含許多操作單元資源,通過(guò)在所說(shuō)處理指令存儲(chǔ)裝置中修改處理指令,它們能隨意連接,操作單元資源之一的操作結(jié)果直接用做下一操作單元資源的輸入。
5.根據(jù)權(quán)利要求4的微處理器,其特征在于所說(shuō)操作處理執(zhí)行裝置包含直通通路,該直通通路對(duì)不進(jìn)一步要求操作單元資源的處理傳送輸入數(shù)據(jù),直通通路的輸出結(jié)果,直接用做下一個(gè)操作單元資源的輸入。
6.根據(jù)權(quán)利要求4或5的微處理器,其特征在于所說(shuō)的操作處理執(zhí)行裝置,當(dāng)一個(gè)操作單元資源的操作結(jié)果直接用作下一個(gè)操作單元資源的輸入時(shí),僅輸出對(duì)應(yīng)于處理指令的最終操作單元資源的操作結(jié)果。
7.根據(jù)權(quán)利要求1到6任何一項(xiàng)的微處理器,其特征在于所說(shuō)的操作處理執(zhí)行裝置,以并行方式執(zhí)行處理指令中提供的RISC類(lèi)指令,并且按操作處理結(jié)束的次序輸出操作結(jié)果,與操作處理的執(zhí)行次序無(wú)關(guān)。
8.根據(jù)權(quán)利要求1到7任何一項(xiàng)的微處理器,其特征在于在所說(shuō)的操作處理執(zhí)行裝置中,每個(gè)操作單元資源具有多端口的結(jié)構(gòu),以獨(dú)立輸操作結(jié)果。
9.根據(jù)權(quán)利要求1到8任何一項(xiàng)的微處理器,其特征在于所說(shuō)的操作處理執(zhí)行裝置,如果存在許多具有同樣功能的操作單元資源,用具有同樣功能的其它操作單元資源,執(zhí)行沖突解決處理,許多RISC類(lèi)型的指令包括在一條處理指令中,當(dāng)RISC類(lèi)型指令并行執(zhí)行時(shí),產(chǎn)生操作單元資源的沖突。
10.根據(jù)權(quán)利要求3到9任何一項(xiàng)的微處理器,其特征還在于在所說(shuō)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置中存儲(chǔ)所說(shuō)操作結(jié)果的同時(shí),第一通路對(duì)應(yīng)于所說(shuō)操作處理執(zhí)行裝置執(zhí)行的處理指令,把最終操作單元資源的操作結(jié)果直接通知所說(shuō)數(shù)據(jù)讀取裝置;以及第二通路在鎖存所說(shuō)操作結(jié)果后,將所說(shuō)的操作結(jié)果通知所說(shuō)的數(shù)據(jù)讀入裝置。當(dāng)使用所說(shuō)的下一個(gè)處理指令的操作結(jié)果時(shí),所說(shuō)的數(shù)據(jù)讀入裝置從所說(shuō)第一和第二通路之一讀取操作結(jié)果,而不是從所說(shuō)輸入和輸出數(shù)據(jù)存儲(chǔ)裝置讀取結(jié)果。
11.根據(jù)權(quán)利要求1到10任何一項(xiàng)的微處理器,其特征在于第三通路在鎖存由所說(shuō)數(shù)據(jù)讀取裝置讀出的輸入數(shù)據(jù)以后,通知在所說(shuō)操作處理執(zhí)行裝置中的操作單元資源,再使用所說(shuō)的輸入數(shù)據(jù)時(shí),所說(shuō)的操作處理執(zhí)行裝置從所說(shuō)第三通路讀取輸入數(shù)據(jù)。
12.根據(jù)權(quán)利要求11的微處理器,其特征在于第四通路把由所說(shuō)數(shù)據(jù)讀取裝置讀出的輸入數(shù)據(jù)直接通知給所說(shuō)操作處理執(zhí)行裝置中的操作單元資源,所說(shuō)的操作處理執(zhí)行裝置,使用來(lái)自所說(shuō)第三和第四通路之一的輸入數(shù)據(jù)。
13.根據(jù)權(quán)利要求11或12的微處理器,其特征在于鎖定的輸入數(shù)據(jù),在所說(shuō)操作處理執(zhí)行裝置的每個(gè)操作單元資源中是可以使用的。
14.根據(jù)權(quán)利要求3到13中任何一項(xiàng)的微處理器,其特征在于所說(shuō)的數(shù)據(jù)讀取裝置具有帶多端口結(jié)構(gòu)的輸入端口,用以從所說(shuō)的輸入和輸出數(shù)據(jù)存儲(chǔ)裝置輸入輸入數(shù)據(jù),并且同時(shí)給每個(gè)操作單元資源供給這些輸入數(shù)據(jù)。
15.根據(jù)權(quán)利要求1到14的任何一項(xiàng)微處理器,其特征還在于許多流水線(xiàn)能執(zhí)行相應(yīng)于微碼的操作處理。
16.一種微處理器,能夠執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)指令的處理指令,其特征在于許多操作單元資源,能夠根據(jù)輸入數(shù)據(jù)和處理指令執(zhí)行操作處理,并且通過(guò)修改處理指令而能任意地連接,一操作單元資源的操作結(jié)果用作下一個(gè)操作單元資源的輸入,不需要進(jìn)行暫存。
17.根據(jù)權(quán)利要求16的微處理器,其特征還在于一直通通路對(duì)于不進(jìn)一步要求操作單元資源的處理它傳送輸入數(shù)據(jù),直通通路的輸出結(jié)果直接用做下一操作單元資源的輸入。
18.根據(jù)權(quán)利要求16或17的微處理器,其特征在于當(dāng)一操作單元資源的操作結(jié)果不進(jìn)行暫存,直接用做下一操作單元資源的輸入時(shí),僅對(duì)對(duì)應(yīng)于處理指令的最后操作單元資源的操作結(jié)果輸出。
19.一種微處理器,能執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其特征在于操作處理執(zhí)行裝置并行執(zhí)行處理指令中提供的RISC類(lèi)指令,并且按操作處理結(jié)束的順序輸出操作結(jié)果,與操作處理執(zhí)行順序無(wú)關(guān)。
20.一種微處理器,能執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其特征在于許多操作單元資源根據(jù)輸入數(shù)據(jù)和處理指令執(zhí)行操作處理,每個(gè)所說(shuō)操作單元資源具有多端口結(jié)構(gòu),獨(dú)立地輸出操作結(jié)果。
21.一種操作處理執(zhí)行方法,使微處理器能執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其特征在于一指令解碼步驟,對(duì)包含指示輸入和輸出數(shù)據(jù)傳送內(nèi)容信息和地址信息的微碼進(jìn)行解碼,該地址信息表示處理指令的存儲(chǔ)位置;一個(gè)數(shù)據(jù)讀取步驟,根據(jù)表示所說(shuō)指令解碼步驟解碼的輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息讀取輸入數(shù)據(jù),并根據(jù)地址信息讀取處理指令;和一操作處理執(zhí)行步驟,提供一個(gè)或多個(gè)操作單元資源,使能夠根據(jù)所說(shuō)數(shù)據(jù)讀取裝置讀出的輸入數(shù)據(jù)及處理指令,執(zhí)行操作處理。
22.一種微處理器,其特征在于指令解碼裝置用以對(duì)微碼解碼;及一操作處理執(zhí)行裝置,包含許多操作單元資源,能并行執(zhí)行操作處理,并且操作處理執(zhí)行裝置多于所說(shuō)的指令解碼裝置,在所說(shuō)的操作處理執(zhí)行裝置中,操作單元資源的操作順序是可變的。
23.根據(jù)權(quán)利要求22的微處理器,其特征在于所說(shuō)的許多操作單元資源是由不同的操作單元構(gòu)成的。
24.一種微處理器,其特征在于指令解碼裝置解碼由基本指令碼和操作標(biāo)志(ID)構(gòu)成的微碼,其中的ID指示一擴(kuò)展指令碼的存儲(chǔ)位置;操作處理執(zhí)行裝置,根據(jù)由所說(shuō)指令解碼裝置解碼的操作指令,通過(guò)選擇操作單元資源以執(zhí)行操作處理,流水線(xiàn)處理的執(zhí)行是通過(guò)基本指令碼選擇第一操作單元資源,并通過(guò)擴(kuò)展指令碼選擇下一操作單元資源。
25.一種微處理器,能使用許多操作單元資源對(duì)一微碼進(jìn)行解碼,其特征在于根據(jù)空閑的內(nèi)部資源,在操作單元資源中,有自動(dòng)分配輸入和輸出的功能,所說(shuō)的功能要求在微碼中所指定的操作單元資源之間沒(méi)有輸入和輸出。
26.根據(jù)權(quán)利要求25的微處理器,其特征在于一操作單元資源的輸出直接連到另一操作單元資源的輸入,此操作單元是用于下一操作的,從而排除了在操作單元資源之間,為輸入和輸出操作結(jié)果,使用輸入和輸出裝置的需要。
27.一種微處理器結(jié)構(gòu),使微處理器能執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其特征在于指令解碼裝置,用以對(duì)微碼解碼。微碼中包含指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,以及表示處理指令存儲(chǔ)位置的地址信息;數(shù)據(jù)讀取裝置,用以根據(jù)指示由所說(shuō)指令解碼裝置解碼的輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息讀取輸入數(shù)據(jù),以及根據(jù)地址信息讀取處理指令;及操作處理執(zhí)行裝置,用以提供一個(gè)或多個(gè)操作單元資源,根據(jù)由所說(shuō)數(shù)據(jù)讀取裝置讀出的輸入數(shù)據(jù)和處理指令,能執(zhí)行操作處理。
28.一種計(jì)算機(jī)可讀記錄介質(zhì),以存儲(chǔ)電路信息,該信息以硬件描述語(yǔ)言寫(xiě)成,并涉及到微處理器能夠執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其特征在于第一數(shù)據(jù)區(qū),存儲(chǔ)與用于解碼微碼的指令解碼裝置有關(guān)的電路信息,微碼中包含指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,以及表示處理指令的存儲(chǔ)位置的地址信息;第二數(shù)據(jù)區(qū),存儲(chǔ)與數(shù)據(jù)讀取裝置有關(guān)的電路信息、數(shù)據(jù)讀取裝置根據(jù)指示所說(shuō)指令解碼裝置解碼的輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息,讀取輸入數(shù)據(jù),以及根據(jù)地址信息讀取處理指令;第三數(shù)據(jù)區(qū),存儲(chǔ)與操作處理執(zhí)行裝置有關(guān)的電路信息,操作處理執(zhí)行裝置提供一個(gè)或多個(gè)操作單元資源,以能夠根據(jù)所說(shuō)數(shù)據(jù)讀入裝置讀取的輸入數(shù)據(jù)和處理指令執(zhí)行操作處理。
全文摘要
一微處理器,能執(zhí)行至少具有一精簡(jiǎn)指令集計(jì)算機(jī)(RISC)類(lèi)型指令的處理指令,其構(gòu)成包括指令解碼部分,用以對(duì)微碼進(jìn)行解碼,微碼中包括指示輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息和指示處理指令存儲(chǔ)位置的地址信息。一數(shù)據(jù)讀取部分,用以根據(jù)指示由指令解碼部分解碼的輸入和輸出數(shù)據(jù)傳送內(nèi)容的信息讀取輸入數(shù)據(jù),以及根據(jù)地址信息讀取處理指令,還有操作處理執(zhí)行部分,提供一個(gè)或多個(gè)操作單元資源,能根據(jù)數(shù)據(jù)讀取部分讀取的輸入數(shù)據(jù)和處理指令執(zhí)行操作處理。
文檔編號(hào)G06F9/318GK1229211SQ99103668
公開(kāi)日1999年9月22日 申請(qǐng)日期1999年3月11日 優(yōu)先權(quán)日1998年3月12日
發(fā)明者田中律子, 野村佑司, 鶴田徹, 巖崎尚之 申請(qǐng)人:富士通株式會(huì)社
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1