專利名稱:可變流水線級(jí)數(shù)的數(shù)據(jù)處理裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種根據(jù)存儲(chǔ)器中的指令對(duì)數(shù)據(jù)進(jìn)行流水線處理的數(shù)據(jù)處理裝置。
隨著近年來電子技術(shù)的發(fā)展,普及了以微計(jì)算機(jī)為首的信息處理裝置,并應(yīng)用于所有的領(lǐng)域。
原來的信息處理裝置大體可以分為以指令種類豐富為特征的CISC(Complex Instruction Set Computer)型和限定指令種類的以高速度為特征的RISC(Reduced Instruction Set Computer)型,例如前者有TRON和MC68040等,后者有SPARC和MIPS等。這些裝置都采取流水線結(jié)構(gòu),以期縮短常見指令的執(zhí)行時(shí)間。所謂流水線是至少把指令的處理分為讀出、譯碼、執(zhí)行步驟,并且并列地執(zhí)行這些步驟。
圖1是構(gòu)成原來的信息處理裝置的數(shù)據(jù)處理裝置的方框圖。
在該圖中,數(shù)據(jù)處理裝置7具有指令取出電路71、指令譯碼電路72和指令執(zhí)行電路73。其中指令取出電路71在指令取出級(jí)(下稱IF級(jí))動(dòng)作,從存儲(chǔ)器(圖外)讀出指令;指令譯碼電路72在指令譯碼級(jí)(下稱DEC級(jí))動(dòng)作,對(duì)指令取出電路71所讀出的指令進(jìn)行譯碼;指令執(zhí)行電路73在指令執(zhí)行級(jí)(下稱EX級(jí))動(dòng)作,并受指令譯碼電路72控制。由上述三級(jí)構(gòu)成三級(jí)流水線結(jié)構(gòu)。另外,指令執(zhí)行電路73由存儲(chǔ)運(yùn)算操作數(shù)的寄存器731、傳送從寄存器731讀出的數(shù)據(jù)或存儲(chǔ)在寄存器731內(nèi)的數(shù)據(jù)的總線732a~732c、根據(jù)由總線732a和732b傳送的數(shù)據(jù)進(jìn)行運(yùn)算的運(yùn)算器733構(gòu)成。
對(duì)于具有上述構(gòu)成的原來的數(shù)據(jù)處理裝置7,用圖2所示的定時(shí)來說明動(dòng)作時(shí)鐘的頻率為50MHz(兆赫)即各級(jí)處理時(shí)間為20毫微秒的情況下的動(dòng)作。
指令譯碼電路72對(duì)指令取出電路71所讀出的指令(IF級(jí)8毫微秒)進(jìn)行譯碼(DEC級(jí)10毫微秒),并由指令執(zhí)行電路73執(zhí)行(EX級(jí)19毫微秒)。EX級(jí)的詳細(xì)情況是從寄存器731讀出由指令指示的操作數(shù)數(shù)據(jù)(5毫微秒),經(jīng)總線732a和總線732b輸入到運(yùn)算器733,由運(yùn)算器733進(jìn)行運(yùn)算,并把運(yùn)算結(jié)果經(jīng)總線732c存儲(chǔ)到寄存器731中(14毫微秒),該運(yùn)算時(shí)間表示整數(shù)乘法運(yùn)算等的最長(zhǎng)時(shí)間。
可是,在采取流水線結(jié)構(gòu)的信息處理裝置中,要求流水線的各級(jí)處理時(shí)間要大體均等且盡可能短。在圖1所示的原來的信息處理裝置中,各級(jí)的處理時(shí)間出現(xiàn)零散,EX級(jí)的處理時(shí)間比其他級(jí)的處理時(shí)間長(zhǎng),結(jié)果,把動(dòng)作時(shí)鐘的頻率的上限壓低下來。
這樣,出現(xiàn)流水線級(jí)的處理時(shí)間的零散時(shí),由具有最長(zhǎng)處理時(shí)間的級(jí)來決定時(shí)鐘的上限,就很難提高處理性能。為了使EX級(jí)的處理時(shí)間與其他級(jí)的處理時(shí)間大體均等,要求極高速的裝置和并行安裝,結(jié)果會(huì)提高成本和增加電耗。
用圖2所示的動(dòng)作時(shí)序圖來詳細(xì)說明這個(gè)問題。因?yàn)镮F級(jí)和DEC級(jí)在設(shè)備周期的前半周結(jié)束,如果只有這兩級(jí),直到100MHz都能動(dòng)作。可是,EX級(jí)的處理時(shí)間為19毫微秒,占絕對(duì)優(yōu)勢(shì)地長(zhǎng),而動(dòng)作時(shí)鐘的上限又取決于該處理時(shí)間,從該圖可知,作為一個(gè)整體,只能以低于大約50MHz的頻率動(dòng)作。
在RISC中,通過裝載高速的指令超高速緩沖存儲(chǔ)器以及指令的單純化使IF級(jí)和DEC級(jí)的處理時(shí)間趨于縮短,相反,由于高功能的運(yùn)算器的引入使EX級(jí)的處理時(shí)間增加,這個(gè)問題就更加顯著。另一方面,在CICS中,出現(xiàn)的其他問題是由于可變長(zhǎng)指令的復(fù)雜化使DEC級(jí)比其他級(jí)要增大處理時(shí)間。
特別是對(duì)應(yīng)于近年來的多媒體化,為了用擴(kuò)展處理裝置實(shí)現(xiàn)必要的多功能的數(shù)據(jù)處理,而引入高功能的專用運(yùn)算器使EX(E)級(jí)的處理時(shí)間增大,上述的問題就變得顯著。
鑒于這樣的問題,本發(fā)明的目的是提供一種能夠提高時(shí)鐘的頻率范圍的上限,而且根據(jù)用途無(wú)論是在使用高速時(shí)鐘還是使用低速時(shí)鐘都能發(fā)揮良好的處理能力的成本性能優(yōu)越的數(shù)據(jù)處理裝置。
為實(shí)現(xiàn)上述目的,本發(fā)明的數(shù)據(jù)處理裝置設(shè)置有對(duì)指令進(jìn)行流水線處理的處理裝置和切換處理裝置的流水線級(jí)數(shù)的切換裝置。所述流水線處理的流水線級(jí)數(shù)可變?yōu)閚級(jí)和比n級(jí)大的m級(jí),所述流水線處理是以n級(jí)或m級(jí)的某一種級(jí)數(shù)對(duì)指令進(jìn)行流水線處理。行結(jié)果和流水線鎖存器的輸出的某一個(gè)的選擇器和對(duì)選擇器輸出執(zhí)行前述指令內(nèi)容的其余部分的第2部分運(yùn)算器;所述流水線控制器在第1動(dòng)作環(huán)境下,用選擇器選擇前者,以便按第1模式使指令執(zhí)行器動(dòng)作,而且在1級(jí)內(nèi)使第1部分運(yùn)算器和第2部分運(yùn)算器動(dòng)作;在第2動(dòng)作環(huán)境下,用選擇器選擇后者,以便按第2模式使指令執(zhí)行器動(dòng)作,而且在1級(jí)內(nèi)使第1部分運(yùn)算器動(dòng)作,在下1級(jí)內(nèi)使第2部分運(yùn)算器動(dòng)作。
11.根據(jù)權(quán)利要求1的數(shù)據(jù)處理裝置,其特征在于所述數(shù)據(jù)處理裝置設(shè)置有對(duì)由處理裝置讀出的擴(kuò)展運(yùn)算指令進(jìn)行流水線處理的擴(kuò)展處理裝置,所述擴(kuò)展處理裝置還可以設(shè)置擴(kuò)展處理器和擴(kuò)展流水線控制裝置,所述擴(kuò)展處理器對(duì)擴(kuò)展運(yùn)算指令進(jìn)行流水線處理,所述流水線處理的流水線級(jí)數(shù)可變?yōu)镵級(jí)和比K大的L級(jí),所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換擴(kuò)展處理器的流水線級(jí)數(shù)。
12.根據(jù)權(quán)利要求11的數(shù)據(jù)處理裝置,其特征在于所述擴(kuò)展處理器具有對(duì)所述指令取出器所取出的擴(kuò)展運(yùn)算指令進(jìn)行譯碼的指令譯碼器和在1級(jí)和2級(jí)的任一種內(nèi)執(zhí)行所述擴(kuò)展運(yùn)算指令的擴(kuò)展指令執(zhí)行器;所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換使擴(kuò)展指令執(zhí)行器在1級(jí)內(nèi)動(dòng)作或在2級(jí)內(nèi)動(dòng)作。
13.一種數(shù)據(jù)處理裝置,其特征在于設(shè)置有對(duì)指令進(jìn)行流水線處理的處理裝置和切換處理裝置的流水線級(jí)數(shù)的切換裝置;所述流水線處理的流水線級(jí)數(shù)可變?yōu)閚級(jí)和比n級(jí)大的m級(jí),所述流水線處理是以n級(jí)或m級(jí)的某一種級(jí)數(shù)對(duì)指令進(jìn)行流水線處理;所述切換裝置具有指定數(shù)據(jù)處理裝置處于第1動(dòng)作環(huán)境下還是處于第2動(dòng)作環(huán)境下的指定裝置和流水線控制裝置;在指定為處于第1動(dòng)作環(huán)境的情況下,所述流水線控制裝置使處理裝置按n級(jí)執(zhí)行;在指定為處于第2動(dòng)作環(huán)境情況下,所述流水線控制裝置使處理裝置按m級(jí)執(zhí)行;所述處理裝置具有指令取出級(jí)、指令譯碼級(jí)和指令執(zhí)行級(jí)的至少3級(jí)的流水線級(jí)數(shù);所述指令取出級(jí)、指令譯碼級(jí)和指令執(zhí)行級(jí)的至少一個(gè)的處理內(nèi)容被分割為順序的多個(gè)部分級(jí),在進(jìn)行所述n級(jí)流水線控制的情況下,在1級(jí)內(nèi)處理多個(gè)部分級(jí),在進(jìn)行所述m級(jí)流水線控制的情況下,在1級(jí)內(nèi)處理各部分級(jí);根據(jù)提供給數(shù)據(jù)處理裝置的動(dòng)作時(shí)鐘的頻率和提供給數(shù)據(jù)處理裝置的電源電壓之任一種來區(qū)分是處于所述第1動(dòng)作環(huán)境還是處于所述第2動(dòng)作環(huán)境。
14.根據(jù)權(quán)利要求13的數(shù)據(jù)處理裝置,其特征在于各個(gè)處理器分別執(zhí)行所述處理裝置的各級(jí)處理;這些處理器的至少一個(gè)設(shè)置有多個(gè)部分處理器和多個(gè)透過保持器,所述多個(gè)部分處理器進(jìn)行所述多個(gè)部分級(jí)中的部分處理,所述多個(gè)透過保持器設(shè)置在部分處理器和下一級(jí)的部分處理器之間,并在所述n級(jí)流水線處理情況下透過下一級(jí)輸出該部分的處理結(jié)果,在所述m級(jí)流水線處理情況下保持該部分的處理結(jié)果,并輸出到下一級(jí)。
15.根據(jù)權(quán)利要求13的數(shù)據(jù)處理裝置,其特征在于所述各透過保持器包括保持來自部分處理器的部分處理結(jié)果的流水線鎖存器和選擇器,在所述n級(jí)流水線處理的情況下,選擇器選擇該部分處理結(jié)果,在所述m級(jí)流水線處理的情況下,選擇器選擇流水線鎖存器的輸出,并輸出到下一級(jí)部分處理器。
16.根據(jù)權(quán)利要求13的數(shù)據(jù)處理裝置,其特征在于所述數(shù)據(jù)處理裝置設(shè)置有對(duì)由處理裝置讀出的指令中的擴(kuò)展運(yùn)算指令進(jìn)行流水線處理的擴(kuò)展處理裝置,所述擴(kuò)展處理裝置還可以設(shè)置擴(kuò)展處理器和擴(kuò)展流水線控制裝置,所述擴(kuò)展處理器對(duì)擴(kuò)展運(yùn)算指令進(jìn)行流水線處理,所述流水線處理的流水線級(jí)數(shù)可變?yōu)镵級(jí)和比K大的L級(jí),所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換擴(kuò)展處理器的流水線級(jí)數(shù)。
17.根據(jù)權(quán)利要求16的數(shù)據(jù)處理裝置,其特征在于所述擴(kuò)展處理器具有在指令譯碼級(jí)中對(duì)所述指令取出器所取出的擴(kuò)展運(yùn)算指令進(jìn)行譯碼的指令譯碼器和在1級(jí)和2級(jí)的任一種內(nèi)執(zhí)行所述擴(kuò)展運(yùn)算指令的擴(kuò)展指令執(zhí)行器;所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換使擴(kuò)展指令執(zhí)行器在1級(jí)內(nèi)動(dòng)作或在2級(jí)內(nèi)動(dòng)作。
18.一種數(shù)據(jù)處理裝置,其特征在于設(shè)置有對(duì)指令進(jìn)行流水線處理的處理裝置和切換處理裝置的流水線級(jí)數(shù)的切換裝置;所述流水線處理的流水按照這種構(gòu)成,由于指令執(zhí)行器分割為2個(gè)部分運(yùn)算器,所以,能夠使數(shù)據(jù)處理裝置提高動(dòng)作時(shí)鐘的上限。
前述數(shù)據(jù)處理裝置還設(shè)置對(duì)數(shù)據(jù)處理裝置讀出的擴(kuò)展運(yùn)算指令進(jìn)行流水線處理的擴(kuò)展處理裝置,所述擴(kuò)展處理裝置還可以設(shè)置擴(kuò)展處理器和擴(kuò)展流水線控制裝置,所述擴(kuò)展處理器對(duì)擴(kuò)展運(yùn)算指令進(jìn)行流水線處理,所述流水線處理的流水線級(jí)數(shù)可變?yōu)镵級(jí)和比K大的L級(jí),所述擴(kuò)展流水線控制裝置由所述切換裝置切換擴(kuò)展處理器的流水線級(jí)數(shù)。
按照這種構(gòu)成,不僅能使數(shù)據(jù)處理裝置高速化,而且能同時(shí)使擴(kuò)展處理裝置高速化。
所述擴(kuò)展處理裝置還可以由擴(kuò)展指令執(zhí)行器和擴(kuò)展流水線控制器構(gòu)成,所述擴(kuò)展指令執(zhí)行器按1循環(huán)時(shí)間和2循環(huán)時(shí)間的某一種來執(zhí)行所述擴(kuò)展運(yùn)算指令,擴(kuò)展流水線控制器用所述切換裝置切換擴(kuò)展指令執(zhí)行器按1循環(huán)時(shí)間動(dòng)作或按2循環(huán)時(shí)間動(dòng)作。按照這種構(gòu)成,為了進(jìn)行復(fù)雜的運(yùn)算,可以把處理時(shí)間長(zhǎng)的擴(kuò)展運(yùn)算執(zhí)行器分割為多級(jí)。
實(shí)現(xiàn)上述目的的數(shù)據(jù)處理裝置設(shè)置有第1處理裝置、第2處理裝置和切換第2處理裝置的流水線級(jí)數(shù)的切換裝置,所述第1處理裝置具有存儲(chǔ)器和寄存器,從存儲(chǔ)器中讀出指令,并對(duì)第1類指令進(jìn)行流水線處理,第2處理裝置對(duì)由第1處理裝置讀出的指令中的第2類指令進(jìn)行流水線處理,第2處理裝置按K級(jí)或L級(jí)的流水線級(jí)數(shù)對(duì)指令進(jìn)行流水線處理,流水線級(jí)數(shù)可變?yōu)镵級(jí)和大于K級(jí)的L級(jí)。
在第2處理裝置進(jìn)行K級(jí)流水線處理的情況下,所述第1處理裝置在規(guī)定的級(jí)內(nèi)獲得第2處理裝置的執(zhí)行結(jié)果,并把所獲得的執(zhí)行結(jié)果存儲(chǔ)在所述寄存器內(nèi),而在第2處理裝置進(jìn)行L級(jí)流水線處理的情況下,第1處理裝置從規(guī)定的級(jí)開始的(L-K)級(jí)后的級(jí)內(nèi)獲得第2處理裝置的執(zhí)行結(jié)果,并把所獲得的執(zhí)行結(jié)果存儲(chǔ)在所述寄存器內(nèi)。
在此,所述第1處理裝置進(jìn)行包含第1級(jí)、第2級(jí)、第3級(jí)、第4級(jí)、第5級(jí)的流水線處理,并設(shè)置指令取出器、第1譯碼器、第1執(zhí)行器和數(shù)據(jù)控制器。指令取出器在第1級(jí)中從存儲(chǔ)器內(nèi)取出指令;第1譯碼器在第2級(jí)中對(duì)所取出來的第1類指令進(jìn)行譯碼,同時(shí)對(duì)由第2類指令所指定的存儲(chǔ)器地址進(jìn)行譯碼;第1執(zhí)行器在第3級(jí)中根據(jù)第1譯碼器的譯碼結(jié)果執(zhí)行第1類指令;數(shù)據(jù)控制器在第4級(jí)中根據(jù)第1譯碼器的譯碼結(jié)果把指令的執(zhí)行結(jié)果存儲(chǔ)到存儲(chǔ)器內(nèi),并在第5級(jí)中進(jìn)行控制,把指令的執(zhí)行結(jié)果存儲(chǔ)到存儲(chǔ)器內(nèi)。
所述第2處理裝置具有第2譯碼器和第2執(zhí)行器。第2譯碼器在第2級(jí)中對(duì)由指令取出器所取出的第2類指令進(jìn)行譯碼;第2執(zhí)行器在第1模式下第3級(jí)中按1循環(huán)時(shí)間執(zhí)行指令,在第2模式下第3級(jí)中執(zhí)行指令的一部分,在第4級(jí)中執(zhí)行指令的其余部分。
所述數(shù)據(jù)控制器還可以在第5級(jí)把第2執(zhí)行器的執(zhí)行結(jié)果存儲(chǔ)到寄存器內(nèi)。
按照這種構(gòu)成,在由作為主處理器的第1處理裝置和作為子處理器的第2處理裝置構(gòu)成的數(shù)據(jù)處理裝置中,由第1處理裝置取出第2類指令,由第2處理裝置進(jìn)行指令內(nèi)容的運(yùn)算,再由第1處理裝置把該運(yùn)算的結(jié)果存儲(chǔ)在數(shù)據(jù)存儲(chǔ)地址的寄存器內(nèi)。第1處理裝置的流水線級(jí)數(shù)是固定的,只能改變第2處理裝置的流水線級(jí)數(shù)。也就是說,第2處理裝置可以改變指令取出級(jí)后級(jí)的級(jí)數(shù),例如在把指示浮動(dòng)小數(shù)點(diǎn)的乘除運(yùn)算或復(fù)雜運(yùn)算的第2類指令也加在主要指示整數(shù)運(yùn)算的第1類指令的處理的情況下,也可以根據(jù)程序中的第2類指令的出現(xiàn)頻度來適當(dāng)?shù)卦O(shè)定第2處理裝置的流水線處理級(jí)數(shù)。
所述第2處理裝置也可以選擇只延長(zhǎng)K級(jí)中的規(guī)定級(jí)來取代可變K級(jí)和L級(jí)的情況。按照這種構(gòu)成,在延長(zhǎng)第2處理裝置的規(guī)定級(jí)的情況下,可以提高第1處理裝置的動(dòng)作時(shí)鐘頻率。
附圖簡(jiǎn)要說明圖1是原來的數(shù)據(jù)處理裝置的構(gòu)成方框圖。
圖2是原來的數(shù)據(jù)處理裝置的動(dòng)作時(shí)序圖。
圖3是本發(fā)明的第一實(shí)施例中的數(shù)據(jù)處理裝置的構(gòu)成方框圖。
圖4A、4B是同一實(shí)施例中的數(shù)據(jù)處理裝置的動(dòng)作時(shí)序圖。
圖5是第二實(shí)施例中的由主要根據(jù)數(shù)據(jù)處理裝置的擴(kuò)展處理裝置構(gòu)成的信息處理裝置的構(gòu)成方框圖。
圖6A、6B是同一實(shí)施例中的信息處理裝置的動(dòng)作時(shí)序圖。
圖7是本發(fā)明的其他實(shí)施例中的信息處理裝置的動(dòng)作時(shí)序圖。
圖8A-8C是本發(fā)明的其他實(shí)施例中的信息處理裝置的流水線構(gòu)成圖。
圖9是第三實(shí)施例中的數(shù)據(jù)處理裝置和擴(kuò)展處理裝置的構(gòu)成方框圖。
圖10是同一實(shí)施例中的流水線控制電路的控制邏輯說明圖。
圖11是表示同一實(shí)施例中的低速動(dòng)作的時(shí)序圖。
圖12是表示同一實(shí)施例中的高速動(dòng)作的時(shí)序圖。
圖13是第三實(shí)施例中的數(shù)據(jù)處理裝置和擴(kuò)展處理裝置的構(gòu)成方框圖。
圖14是表示同一實(shí)施例中的低速動(dòng)作的時(shí)序圖。
圖15是表示同一實(shí)施例中的高速動(dòng)作的時(shí)序圖。
以下用圖3到圖8來說明本發(fā)明的實(shí)施例。
第一實(shí)施例圖3是本發(fā)明的第一實(shí)施例中的數(shù)據(jù)處理裝置的構(gòu)成方框圖。
由指令取出級(jí)(下稱IF級(jí))、指令譯碼級(jí)(下稱DEC級(jí))、第1指令執(zhí)行級(jí)和第2指令執(zhí)行級(jí)(下稱EX1級(jí)和EX2級(jí))的3級(jí)或4級(jí)構(gòu)成3級(jí)或4級(jí)流水線結(jié)構(gòu)。
在圖3中,數(shù)據(jù)處理裝置1由指令取出電路11、指令譯碼電路12、指令執(zhí)行電路13和高速節(jié)距標(biāo)志14構(gòu)成,并且流水線處理級(jí)數(shù)可變?yōu)?級(jí)或4級(jí)。
指令取出電路11在IF級(jí)動(dòng)作,并從圖外的內(nèi)裝存儲(chǔ)器或外部存儲(chǔ)器讀出指令。
指令譯碼電路12在DEC級(jí)動(dòng)作,并對(duì)由指令取出電路11所讀出的指令進(jìn)行譯碼。并且,指令譯碼電路12具有控制流水線處理及其級(jí)數(shù)的流水線控制電路121。流水線控制電路121控制流水線處理,使之在設(shè)定了高速節(jié)距標(biāo)志14的情況下,在2級(jí)內(nèi)使指令執(zhí)行電路13動(dòng)作;在清除掉高速節(jié)距標(biāo)志14的情況下,使指令執(zhí)行電路13僅在1級(jí)內(nèi)動(dòng)作。就這樣,根據(jù)高速節(jié)距標(biāo)志的內(nèi)容擇一地控制4級(jí)流水線處理和3級(jí)流水線處理。
指令執(zhí)行電路13由存儲(chǔ)運(yùn)算操作數(shù)的寄存器131、傳送寄存器131讀出的數(shù)據(jù)或存儲(chǔ)在寄存器131內(nèi)的數(shù)據(jù)的總線132a~132c、作為用由總線132a和總線132b傳送的數(shù)據(jù)進(jìn)行運(yùn)算的運(yùn)算器的前半部分的第1部分運(yùn)算器133、保持第1部分運(yùn)算器133的結(jié)果的鎖存器134、在設(shè)定了高速節(jié)距標(biāo)志14時(shí)選擇鎖存器134并在清除高速節(jié)距標(biāo)志14時(shí)選擇第1部分運(yùn)算器133的結(jié)果的選擇器135和輸入選擇器135的輸出并進(jìn)行運(yùn)算的后半部分的第2運(yùn)算器136構(gòu)成。按照這種構(gòu)成,在設(shè)定了高速節(jié)距標(biāo)志的情況下,指令執(zhí)行電路13一直持續(xù)2級(jí)(EX1級(jí)、EX2級(jí))進(jìn)行運(yùn)算,在清除高速節(jié)距標(biāo)志的情況下,在1級(jí)(EX級(jí))內(nèi)進(jìn)行運(yùn)算。
高速節(jié)距標(biāo)志14保持供給到本數(shù)據(jù)處理裝置1的動(dòng)作時(shí)鐘的頻率表示高速還是低速的時(shí)鐘。在本實(shí)施例中,在動(dòng)作時(shí)鐘的頻率高于50MHz時(shí)設(shè)定標(biāo)志,而在低于50MHz時(shí)清除標(biāo)志。在此,如圖4A所示,指令取出電路11、指令譯碼電路12、寄存器131的讀出時(shí)間、第1部分運(yùn)算器133、選擇器135、第2部分運(yùn)算器136的處理時(shí)間分別為8毫微秒、10毫微秒、5毫微秒、5毫微秒、1毫微秒、9毫微秒,其他處理時(shí)間可以忽略。為了容易地進(jìn)行比較,第1部分運(yùn)算器133的處理時(shí)間與第2部分運(yùn)算器136的處理時(shí)間的和是14毫微秒,其他的處理時(shí)間還與原來技術(shù)所示例的處理時(shí)間一樣。
對(duì)如上構(gòu)成的本發(fā)明的第一實(shí)施例的信息處理裝置分為(1)時(shí)鐘頻率低的情況和(2)時(shí)鐘頻率高的情況來說明。
(1)時(shí)鐘頻率低于50MHz(低速)的情況如圖4A所示,所表示的是本數(shù)據(jù)處理裝置以時(shí)鐘頻率50MHz即設(shè)備循環(huán)20毫微秒動(dòng)作的情況的時(shí)序圖。在這種情況下,高速節(jié)距標(biāo)志14被清除掉。指令執(zhí)行電路13僅在EX級(jí)動(dòng)作。圖4A表示每個(gè)設(shè)備循環(huán)中流水線的IF級(jí)、DEC級(jí)、EX1級(jí)的處理時(shí)間。
(定時(shí)1)指令取出電路11讀出指令(處理時(shí)間8毫微秒)。
(定時(shí)2)指令譯碼電路12對(duì)所讀出的指令進(jìn)行譯碼(10毫微秒)。
(定時(shí)3)因?yàn)楦咚俟?jié)距標(biāo)志14被清除,流水線控制電路121控制指令執(zhí)行電路13在1個(gè)設(shè)備循環(huán)內(nèi)進(jìn)行EX級(jí)處理。即從寄存器131中讀出由指令所指示的操作數(shù),并經(jīng)總線132a和總線132b首先由第1部分運(yùn)算器133進(jìn)行前半部分的運(yùn)算。選擇器135選擇第1部分運(yùn)算器133的結(jié)果,并輸出到第2運(yùn)算器136中。以相同的設(shè)備循環(huán)的定時(shí)同時(shí)進(jìn)行后半部分的運(yùn)算。經(jīng)總線132c把結(jié)果存儲(chǔ)在寄存器131內(nèi),然后結(jié)束(處理時(shí)間共計(jì)20毫微秒)。
(2)時(shí)鐘頻率超過50MHz而低于100MHz的情況如圖4B表示的是本數(shù)據(jù)處理裝置以時(shí)鐘頻率100MHz即設(shè)備循環(huán)10毫微秒動(dòng)作的情況的時(shí)序圖。該圖表示每個(gè)設(shè)備循環(huán)中流水線的IF級(jí)、DEC級(jí)、EX1級(jí)、EX2級(jí)的處理時(shí)間。
(定時(shí)1)指令取出電路11讀出指令(處理時(shí)間8毫微秒)。
(定時(shí)2)指令譯碼電路12對(duì)所讀出的指令進(jìn)行譯碼(10毫微秒)。
(定時(shí)3)因?yàn)樵O(shè)定了高速節(jié)距標(biāo)志14,流水線控制電路121控制指令執(zhí)行電路13在2個(gè)設(shè)備循環(huán)內(nèi)進(jìn)行EX1級(jí)和EX2級(jí)處理。指令譯碼電路12控制指令執(zhí)行電路13執(zhí)行指令。指令執(zhí)行的詳細(xì)情況如下從寄存器131中讀出由指令所指示的操作數(shù),經(jīng)總線132a和總線132b首先由第1部分運(yùn)算器133進(jìn)行前半部分的運(yùn)算,把結(jié)果保持在鎖存器134內(nèi)。鎖存器134用來作為EX1級(jí)的流水線鎖存器,到此為止結(jié)束EX1級(jí)(處理時(shí)間共計(jì)10毫微秒)。
(定時(shí)4)把EX1級(jí)的處理結(jié)果從鎖存器134經(jīng)選擇器135輸出,第2部分運(yùn)算器136進(jìn)行后半部分的運(yùn)算。把運(yùn)算結(jié)果經(jīng)總線132c存儲(chǔ)到寄存器131內(nèi),然后結(jié)束(處理時(shí)間共計(jì)10毫微秒)。
如上所述,按照本發(fā)明的第一實(shí)施例,由于通過設(shè)定高速節(jié)距標(biāo)志14而把處理時(shí)間長(zhǎng)的指令執(zhí)行電路13的動(dòng)作分割為EX1、EX2兩級(jí),所以就把流水線的各級(jí)處理時(shí)間均等了,并且低于10毫微秒。天此,在動(dòng)作時(shí)鐘超過50MHz而低于100MHz的范圍內(nèi)提高了處理性能。
在時(shí)鐘頻率低于50MHz的情況下,由于通過清除高速節(jié)距標(biāo)志14而在指令執(zhí)行電路13的處理時(shí)間比其他長(zhǎng)的一個(gè)EX級(jí)內(nèi)動(dòng)作,所以使整體按3級(jí)流水線動(dòng)作。這時(shí),與4級(jí)流水線相比,就能夠縮短分支聯(lián)鎖。即能夠減少由于分支指令的執(zhí)行而降起的指令數(shù)和聯(lián)鎖循環(huán)數(shù)。
第二實(shí)施例圖5是第二實(shí)施例中的由主要根據(jù)數(shù)據(jù)處理裝置的擴(kuò)展處理裝置構(gòu)成的信息處理裝置的構(gòu)成方框圖。
本信息處理裝置由數(shù)據(jù)處理裝置3和擴(kuò)展處理裝置2構(gòu)成,在該圖中,把與圖3所示的數(shù)據(jù)處理裝置1相同的構(gòu)成要素標(biāo)注同樣的號(hào)碼,并省略了說明,僅以不同點(diǎn)為中心來予以說明。
數(shù)據(jù)處理裝置3根據(jù)高速節(jié)距標(biāo)志14擇一地進(jìn)行3級(jí)流水線處理和4級(jí)流水線處理,這一點(diǎn)與數(shù)據(jù)處理裝置1是相同的,設(shè)置指令譯碼電路32和指令執(zhí)行電路33來取代指令譯碼電路12和指令執(zhí)行電路13以及用總線232a、232b、232c連接到擴(kuò)展處理裝置2是兩者的不同點(diǎn)。在由指令取出電路11讀出的指令中,數(shù)據(jù)處理裝置1用的指令(下稱通常指令)和擴(kuò)展處理裝置2用的擴(kuò)展運(yùn)算指令有兩種,這一點(diǎn)兩者也不相同。
指令譯碼電路32在指令譯碼電路12的功能上附加了功能,即對(duì)擴(kuò)展運(yùn)算指令譯碼,并把用其操作數(shù)所指定的數(shù)據(jù)從寄存器131中讀出來,提供給擴(kuò)展處理裝置2,再進(jìn)行控制,從擴(kuò)展處理裝置2內(nèi)把使用該操作數(shù)的擴(kuò)展運(yùn)算結(jié)果提取出來寫入到寄存器131內(nèi)。
指令執(zhí)行電路33比指令執(zhí)行電路13追加了緩沖器138a~138c以及設(shè)置加法器137來取代第1部分運(yùn)算器133和第2部分運(yùn)算器136這一點(diǎn)兩者不同;指令執(zhí)行電路33在指令執(zhí)行電路13的功能上加了如下功能,即在指令譯碼電路32的控制下,經(jīng)總線132a、132b把從寄存器131讀出的數(shù)據(jù)由緩沖器138a、138b輸出到擴(kuò)展處理裝置2,再?gòu)臄U(kuò)展處理裝置2經(jīng)緩沖器138c把所輸入的數(shù)據(jù)寫入到寄存器131內(nèi)。加法器137具有第1部分運(yùn)算器133和第2部分運(yùn)算器136的功能。
指令總線231是把指令取出電路11讀出的指令同時(shí)傳送到指令譯碼電路32和擴(kuò)展指令譯碼電路22的總線。
總線232a、b是傳送從數(shù)據(jù)處理裝置3供給的控制運(yùn)算指令用的操作數(shù)數(shù)據(jù)的總線。
總線232c是把由擴(kuò)展處理裝置2所作出的運(yùn)算結(jié)果數(shù)據(jù)傳送到數(shù)據(jù)處理裝置3的總線。
擴(kuò)展處理裝置2具有擴(kuò)展指令譯碼電路22和擴(kuò)展指令執(zhí)行電路23,并與數(shù)據(jù)處理裝置3共用動(dòng)作時(shí)鐘,它根據(jù)高速節(jié)距標(biāo)志14擇一地進(jìn)行由IF級(jí)、擴(kuò)展指令譯碼級(jí)(下稱DEC(E)級(jí))、擴(kuò)展指令執(zhí)行級(jí)(下稱EX(E)級(jí))構(gòu)成的3級(jí)流水線處理和由IF級(jí)、DEC(E)級(jí)、第1擴(kuò)展指令執(zhí)行級(jí)(下稱EX1(E)級(jí))、第2擴(kuò)展指令執(zhí)行級(jí)(下稱EX2(E)級(jí))構(gòu)成的4級(jí)流水線處理。這其中的IF級(jí)由指令取出電路11進(jìn)行,DEC(E)級(jí)、EX(E)級(jí)、EX1(E)級(jí)、EX2(E)級(jí)各級(jí)分別取代數(shù)據(jù)處理裝置3的DEC級(jí)、EX級(jí)、EX1級(jí)、EX2級(jí)各級(jí)。
擴(kuò)展指令譯碼電路22在DEC(E)級(jí)動(dòng)作,對(duì)由指令取出電路11所讀出的擴(kuò)展運(yùn)算指令進(jìn)行譯碼,在設(shè)定有高速節(jié)距標(biāo)志14的情況下,其內(nèi)部的擴(kuò)展流水線控制電路221進(jìn)行流水線控制,使擴(kuò)展指令執(zhí)行電路23在由EX1(E)級(jí)和EX2(E)級(jí)構(gòu)成的2級(jí)中動(dòng)作,在清除了高速節(jié)距標(biāo)志14的情況下,只在EX(E)級(jí)中動(dòng)作。就這樣來根據(jù)高速節(jié)距標(biāo)志14的內(nèi)容擇一地控制4級(jí)流水線處理和3級(jí)流水線處理。
擴(kuò)展指令執(zhí)行電路23由連接到緩沖器138a~138c的總線232a~232c、作為根據(jù)由總線232a和總線232b傳送的數(shù)據(jù)進(jìn)行乘法運(yùn)算的乘法器的前半部分的第1部分乘法器233、保持第1部分乘法器233的結(jié)果的鎖存器234、在設(shè)定了高速節(jié)距標(biāo)志14時(shí)選擇鎖存器234并在清除高速節(jié)距標(biāo)志14時(shí)選擇第1部分乘法器233的結(jié)果的選擇器235和輸入選擇器235的輸出并進(jìn)行乘法運(yùn)算的后半部分的第2乘法器236構(gòu)成。
如圖6A、6B所示,指令取出電路11、指令譯碼電路32、寄存器131的讀出時(shí)間、加法器137、選擇器135、擴(kuò)展指令譯碼電路22、第1部分乘法器233、選擇器235、第2乘法器236的處理時(shí)間分別為8毫微秒、10毫微秒、5毫微秒、4毫微秒、1毫微秒、9毫微秒、5毫微秒、1毫微秒、9毫微秒,其他處理時(shí)間可以忽略。為了容易地進(jìn)行比較,第1部分乘法器233的處理時(shí)間與第2部分乘法器236的處理時(shí)間的和是14毫微秒,其他的處理時(shí)間還與原來技術(shù)所示例的處理時(shí)間一樣。
對(duì)如上構(gòu)成的本發(fā)明的第二實(shí)施例的信息處理裝置分為(1)時(shí)鐘頻率低的情況和(2)時(shí)鐘頻率高的情況來說明。
(1)時(shí)鐘頻率低速(低于50MHz)的情況如圖6A所表示的是以時(shí)鐘頻率50MHz即設(shè)備循環(huán)20毫微秒的動(dòng)作為例。預(yù)先把高速節(jié)距標(biāo)志14清除掉,指令執(zhí)行電路33僅在EX級(jí)動(dòng)作,且擴(kuò)展指令執(zhí)行電路23只在EX(E)級(jí)動(dòng)作。該圖表示每個(gè)設(shè)備循環(huán)中流水線的IF級(jí)、DEC級(jí)、EX級(jí)和EX(E)級(jí)的處理時(shí)間。
(定時(shí)1)指令取出電路11讀出指令(處理時(shí)間8毫微秒)。
(定時(shí)2)指令譯碼電路32和擴(kuò)展指令譯碼電路22對(duì)所讀出的指令進(jìn)行譯碼(處理時(shí)間分別為10毫微秒和9毫微秒)。
(定時(shí)3)在判明指令譯碼電路32和擴(kuò)展指令譯碼電路22的譯碼結(jié)果為只用數(shù)據(jù)處理裝置3處理的指令的情況下,指令執(zhí)行電路33執(zhí)行指令,在判明為用擴(kuò)展處理裝置2處理的指令的情況下,由擴(kuò)展指令執(zhí)行電路23執(zhí)行指令。指令的執(zhí)行的細(xì)節(jié)如下在加法指令的情況下,從寄存器131內(nèi)讀出指令所指示的操作數(shù),經(jīng)總線132a和總線132b用加法器137進(jìn)行加法運(yùn)算,并把結(jié)果保持在鎖存器134內(nèi)。但是,因?yàn)楦咚俟?jié)距標(biāo)志14被清除掉,所以選擇器135選擇加法器137的結(jié)果,并把來自總線132C的輸出存儲(chǔ)到寄存器131內(nèi),然后結(jié)束(處理時(shí)間共計(jì)10毫微秒)。
在乘法指令的情況下,從寄存器131內(nèi)讀出指令所指示的操作數(shù),并從總線132a和總線132b經(jīng)緩沖器138a和緩沖器138b傳送到總線232a和232b,首先由第1部分乘法器233進(jìn)行前一半的乘法運(yùn)算,把其結(jié)果保持在鎖存器234內(nèi)。但是,由于高速節(jié)距標(biāo)志14被清除掉,所以選擇器235選擇第1部分乘法器233的結(jié)果,第2部分乘法器236同時(shí)在該定時(shí)內(nèi)進(jìn)行后一半的乘法運(yùn)算。經(jīng)緩沖器138c把結(jié)果從總線232c傳送到總線132c,存儲(chǔ)到寄存器131內(nèi),然后結(jié)束(處理時(shí)間共計(jì)20毫微秒)。
(2)時(shí)鐘頻率為高速(超過50MHz而低于100MHz)的情況圖6B表示的是以時(shí)鐘頻率100MHz即設(shè)備循環(huán)10毫微秒的動(dòng)作例。預(yù)先設(shè)定高速節(jié)距標(biāo)志14,指令執(zhí)行電路33在EX1級(jí)和EX2級(jí)動(dòng)作,且擴(kuò)展指令執(zhí)行電路23在EX1(E)級(jí)和EX2(E)級(jí)動(dòng)作。該圖表示每個(gè)設(shè)備循環(huán)中流水線的IF級(jí)、DEC級(jí)、EX1級(jí)及EX1(E)級(jí)、EX2級(jí)和EX2(E)級(jí)的處理時(shí)間。
(定時(shí)1)指令取出電路11讀出指令(處理時(shí)間8毫微秒)。
(定時(shí)2)指令譯碼電路32和擴(kuò)展指令譯碼電路22對(duì)所讀出的指令進(jìn)行譯碼(處理時(shí)間分別為10毫微秒和9毫微秒)。
(定時(shí)3)在判明指令譯碼電路32和擴(kuò)展指令譯碼電路22的譯碼結(jié)果為只用數(shù)據(jù)處理裝置3處理的指令的情況下,指令執(zhí)行電路33執(zhí)行指令,在判明為用擴(kuò)展處理裝置2處理的指令的情況下,由擴(kuò)展指令執(zhí)行電路23執(zhí)行指令。指令的執(zhí)行的細(xì)節(jié)如下在加法指令的情況下,從寄存器131內(nèi)讀出指令所指示的操作數(shù),經(jīng)總線132a和總線132b用加法器137進(jìn)行加法運(yùn)算,并把結(jié)果保持在鎖存器134內(nèi)。鎖存器134用作EX1級(jí)流水線鎖存器,到此為止,結(jié)束EX1級(jí)處理(處理時(shí)間共計(jì)9毫微秒)。
在乘法指令的情況下,從寄存器131內(nèi)讀出指令所指示的操作數(shù),并從總線132a和總線132b經(jīng)緩沖器138a和緩沖器138b傳送到總線232a和232b,首先由第1部分乘法器233進(jìn)行前半部分的乘法運(yùn)算,把其結(jié)果保持在鎖存器234內(nèi)。鎖存器234用作EX1(E)級(jí)流水線鎖存器,到此為止,結(jié)束EX1(E)級(jí)(處理時(shí)間共計(jì)10毫微秒)。
(定時(shí)4)接下來,在指令執(zhí)行電路33和擴(kuò)展指令執(zhí)行電路23中,分別進(jìn)行EX2級(jí)和EX2(E)級(jí)的處理。
在加法指令的情況下,由于設(shè)定了高速節(jié)距標(biāo)志14,選擇器135選擇鎖存器134的輸出,把輸出從總線132c存儲(chǔ)到寄存器131內(nèi),然后結(jié)束處理(處理時(shí)間1毫微秒)。
在乘法指令的情況下,由于設(shè)定了高速節(jié)距標(biāo)志14,所以選擇器235選擇鎖存器234的輸出,第2部分乘法器236進(jìn)行后半部分的乘法運(yùn)算,把結(jié)果從總線232c經(jīng)緩沖器138c傳送到總線132c,并存儲(chǔ)到寄存器131內(nèi),然后結(jié)束處理(處理時(shí)間10毫微秒)。
如上所述,按照本發(fā)明的第二實(shí)施例,在時(shí)鐘頻率超過50MHz的情況下,由于通過設(shè)定高速節(jié)距標(biāo)志14而把處理時(shí)間長(zhǎng)的指令執(zhí)行電路23的動(dòng)作流水線分割為兩級(jí),所以就把流水線的各級(jí)處理時(shí)間均等了,并且低于10毫微秒。即使附加擴(kuò)展處理裝置2直到100MHz的時(shí)鐘頻率也能動(dòng)作。在時(shí)鐘頻率低于50MHz的情況下,由于在擴(kuò)展指令執(zhí)行電路23的處理時(shí)間比其他長(zhǎng)的一個(gè)級(jí)內(nèi)動(dòng)作,通過清除高速節(jié)距標(biāo)志14就能使整體按3級(jí)流水線動(dòng)作。與4級(jí)流水線相比,就能夠縮短處于分支時(shí)的流水線的停止時(shí)間,從而能夠減少由上述分支聯(lián)鎖導(dǎo)致的補(bǔ)償。
在本發(fā)明的第1實(shí)施例中,在時(shí)鐘頻率超過50MHz的情況下,設(shè)定高速節(jié)距標(biāo)志14,并把指令執(zhí)行電路13的動(dòng)作的流水線分割為EX1級(jí)和EX2級(jí)兩級(jí),把指令執(zhí)行電路13的處理時(shí)間分開,但是,如圖7的動(dòng)作時(shí)序圖所示,即使在時(shí)鐘頻率超過50MHz的情況下,指令執(zhí)行電路13的動(dòng)作也只是在EX1級(jí)一個(gè)級(jí)內(nèi)進(jìn)行,但是在這種情況下,也可以不在這一設(shè)備循環(huán)內(nèi)結(jié)束該級(jí)處理,進(jìn)一步延伸一個(gè)設(shè)備循環(huán),在2個(gè)設(shè)備循環(huán)中結(jié)束處理。即使是這樣,由于指令執(zhí)行電路13的處理時(shí)間被分為該圖的定時(shí)3和定時(shí)4,所以,與圖4所示的第1實(shí)施例一樣,直到頻率為100MHz的時(shí)鐘都能動(dòng)作。也能完全一樣地實(shí)現(xiàn)由時(shí)鐘頻率在50MHz以下的情況的分支聯(lián)鎖而削減補(bǔ)償??墒牵袳X1級(jí)跨2個(gè)設(shè)備循環(huán)執(zhí)行的指令的下一個(gè)指令就要在按圖7的定時(shí)4譯碼的定時(shí)5以后再執(zhí)行。
在本發(fā)明的第二實(shí)施例中,與上述的一樣,即使時(shí)鐘頻率在超過50MHz的情況下,擴(kuò)展指令執(zhí)行電路23的動(dòng)作也可以只在EX1(E)級(jí)的一級(jí)內(nèi)進(jìn)行,只把EX1(E)級(jí)延伸一個(gè)設(shè)備循環(huán),在2個(gè)設(shè)備循環(huán)內(nèi)結(jié)束處理。
在本發(fā)明的第二實(shí)施例中,由3級(jí)流水線構(gòu)成信息處理裝置的基本結(jié)構(gòu),并按照時(shí)鐘頻率來分割末級(jí)的執(zhí)行級(jí),但是,也可以把它作成為像圖8A~8C的流水線結(jié)構(gòu)圖那樣的結(jié)構(gòu)。圖8A~8C的任一種結(jié)構(gòu)的主數(shù)據(jù)處理裝置都由指令取出級(jí)(IF級(jí))、指令譯碼級(jí)(DEC級(jí))、執(zhí)行級(jí)(EX級(jí))、存儲(chǔ)器存取級(jí)(MEM級(jí))、重寫級(jí)(WB級(jí))等5級(jí)流水線構(gòu)成,不取決于時(shí)鐘的頻率。另一方面,相應(yīng)的擴(kuò)展處理裝置由擴(kuò)展譯碼級(jí)(DEC(E)級(jí))和擴(kuò)展執(zhí)行級(jí)構(gòu)成,后者按照時(shí)鐘的頻率動(dòng)作如下在時(shí)鐘的頻率低,擴(kuò)展執(zhí)行級(jí)能夠在基本設(shè)備循環(huán)內(nèi)動(dòng)作的情況下,就成為圖8A的情況,即在由基本設(shè)備循環(huán)構(gòu)成的擴(kuò)展處理裝置的EX(F)級(jí)內(nèi)執(zhí)行之后,伴隨擴(kuò)展處理裝置的處理的指令合并到數(shù)據(jù)處理裝置的MEM級(jí)中。
在時(shí)鐘的頻率高,擴(kuò)展執(zhí)行級(jí)不能在基本設(shè)備循環(huán)內(nèi)動(dòng)作的情況下,就成為圖8B或圖8C的情況,即在擴(kuò)展處理裝置的EX1(E)級(jí)和EX2(E)級(jí)兩級(jí)內(nèi)執(zhí)行之后,伴隨擴(kuò)展處理裝置的處理的指令合并到數(shù)據(jù)處理裝置的WB級(jí)中,在圖8C中,在設(shè)備循環(huán)延伸了的擴(kuò)展處理裝置的EX(E)級(jí)內(nèi)執(zhí)行之后,伴隨擴(kuò)展處理裝置的處理的指令合并到數(shù)據(jù)處理裝置的WB級(jí)中。
即使圖8B或圖8C的任一種結(jié)構(gòu)中,流水線的各級(jí)的處理時(shí)間大體是均等的,而且短,即使附加擴(kuò)展處理裝置也不會(huì)降低時(shí)鐘頻率的上限。另外,如圖8A所示,在時(shí)鐘頻率低的情況下,由于把擴(kuò)展處理裝置中的處理結(jié)果合并到數(shù)據(jù)處理裝置的MEM級(jí)內(nèi),所以,與合并到WB級(jí)的情況相比,能夠縮短把該處理結(jié)果用到后續(xù)指令中情況下的流水線的停止時(shí)間,并能夠削減資源干擾聯(lián)鎖導(dǎo)致的補(bǔ)償。
第三實(shí)施例作為第三實(shí)施例,以下來說明能夠切換上述圖8A和圖8B的流水線處理的信息處理裝置的具體例。
圖9是第三實(shí)施例中的數(shù)據(jù)處理裝置和擴(kuò)展處理裝置的構(gòu)成方框圖。在該圖中,由于把與第二實(shí)施例的圖5相同的構(gòu)成要素標(biāo)注同樣的號(hào)碼,所以省略了相同部分的說明,以下僅以不同點(diǎn)為中心來說明。
與第二實(shí)施例的圖5的不同點(diǎn)是設(shè)置數(shù)據(jù)處理裝置4來取代數(shù)據(jù)處理裝置3。如圖8A、圖8B所示,不管高速節(jié)距標(biāo)志14如何,數(shù)據(jù)處理裝置4的流水線級(jí)數(shù)(5級(jí))都是固定的。
作為與數(shù)據(jù)處理裝置3不同的新的構(gòu)成要素,數(shù)據(jù)處理裝置4具有指令譯碼電路92(包含流水線控制電路192)、加法器93、選擇器94、RAM95、鎖存器96、選擇器97,并進(jìn)行IF級(jí)、DEC級(jí)、EX級(jí)、MEM級(jí)、WB級(jí)等5級(jí)流水線處理。
指令譯碼電路92對(duì)數(shù)據(jù)處理裝置4用的通常指令進(jìn)行譯碼,并對(duì)擴(kuò)展處理裝置2用的擴(kuò)展運(yùn)算指令進(jìn)行譯碼。把其操作數(shù)所指定的數(shù)據(jù)從寄存器131中讀出來提供給擴(kuò)展處理裝置2,再進(jìn)行控制,從擴(kuò)展處理裝置2中取出使用該操作數(shù)的擴(kuò)展運(yùn)算結(jié)果,并存儲(chǔ)到寄存器131內(nèi)。指令譯碼電路92也可以把該擴(kuò)展運(yùn)算結(jié)果取入到MEM級(jí)和WB級(jí)。
選擇器94在流水線控制電路192的控制下,在MEM級(jí)中執(zhí)行通常指令時(shí)選擇前級(jí)的流水線鎖存器134的內(nèi)容(該圖的B輸入),在執(zhí)擴(kuò)展運(yùn)算指令時(shí)選擇擴(kuò)展處理裝置2的擴(kuò)展運(yùn)算結(jié)果(該圖的A輸入)。
選擇器97在流水線控制電路192的控制下,在WB級(jí)中執(zhí)行通常指令時(shí)選擇RAM95輸出(該圖的B輸入)或流水線鎖存器96的內(nèi)容(該圖的C輸入),在執(zhí)行擴(kuò)展運(yùn)算指令時(shí)選擇擴(kuò)展處理裝置2的擴(kuò)展運(yùn)算結(jié)果(該圖的A輸入)。
流水線控制電路192根據(jù)高速節(jié)距標(biāo)志14控制把擴(kuò)展運(yùn)算結(jié)果取入到MEM級(jí)內(nèi),或取入到WB級(jí)內(nèi)。具體地說,在清除掉高速節(jié)距標(biāo)志14的情況下,如圖8A所示,把擴(kuò)展處理裝置2的EX(E)級(jí)中所執(zhí)行的擴(kuò)展運(yùn)算結(jié)果取入到MEM級(jí)內(nèi),在WB級(jí)中重寫到寄存器131內(nèi)。在設(shè)定高速節(jié)距標(biāo)志14的情況下,如圖8B所示,把擴(kuò)展處理裝置2的EX(E)級(jí)中所執(zhí)行的擴(kuò)展運(yùn)算結(jié)果取入到WB級(jí)內(nèi),同時(shí)重寫到寄存器131中。
圖10是由流水線控制電路192進(jìn)行的選擇器94和97的控制邏輯的說明圖。在該圖中,第1動(dòng)作模式是指如圖8A所示在清除掉高速節(jié)距標(biāo)志14時(shí),擴(kuò)展處理裝置2在EX(E)級(jí)運(yùn)算擴(kuò)展運(yùn)算指令的動(dòng)作;第2動(dòng)作模式是指如圖8B所示設(shè)定了高速節(jié)距標(biāo)志14時(shí),擴(kuò)展處理裝置2在EX1(E)級(jí)和EX2(E)級(jí)運(yùn)算擴(kuò)展運(yùn)算指令的動(dòng)作。該圖的A、B、C表示選擇圖9中的選擇器94、97的哪一個(gè)輸入。
按照該圖的控制邏輯,按第1動(dòng)作模式執(zhí)行擴(kuò)展指令的情況下,在MEM級(jí)中,經(jīng)選擇器94(選擇A輸入)把由擴(kuò)展指令執(zhí)行電路23的擴(kuò)展運(yùn)算結(jié)果鎖存在流水線鎖存器96內(nèi),再在WB級(jí)中經(jīng)選擇器97(選擇C輸入)寫入到寄存器131內(nèi)。按第2動(dòng)作模式執(zhí)行擴(kuò)展指令的情況下,把由擴(kuò)展指令執(zhí)行電路23的擴(kuò)展運(yùn)算結(jié)果,在WB級(jí)中經(jīng)選擇器97(選擇A輸入)寫入到寄存器131內(nèi)。
在執(zhí)行通常指令的情況下,兩動(dòng)作模式的動(dòng)作相同。即在MEM級(jí)中經(jīng)選擇器94(選擇B輸入)把由指令執(zhí)行電路93的運(yùn)算結(jié)果寫入到RAM95內(nèi),或鎖存到流水線鎖存器96內(nèi)。再在WB級(jí)中經(jīng)選擇器97(選擇B或C輸入)寫入到寄存器131內(nèi)。這時(shí),選擇選擇器97的B輸入就是執(zhí)行例如把RAM95的數(shù)據(jù)傳送到寄存器131的指令的情況。選擇選擇器97的C輸入就是例如把指令執(zhí)行電路13的運(yùn)算結(jié)果重寫到寄存器131而不是重寫到RAM95的情況。
對(duì)如上構(gòu)成的本發(fā)明的第三實(shí)施例的信息處理裝置分為(1)時(shí)鐘頻率低的情況和(2)時(shí)鐘頻率高的情況來說明。
(1)時(shí)鐘頻率低于50MHz(低速)的情況圖11是清除了高速節(jié)距標(biāo)志14的情況下的動(dòng)作時(shí)序圖。該圖對(duì)應(yīng)于圖8A。
(定時(shí)1)指令取出電路11讀出指令(處理時(shí)間8毫微秒)。
(定時(shí)2)指令譯碼電路32和擴(kuò)展指令譯碼電路22對(duì)所讀出的指令進(jìn)行譯碼(處理時(shí)間分別為10毫微秒和9毫微秒)。
(定時(shí)3)在判明指令譯碼電路32和擴(kuò)展指令譯碼電路22的譯碼結(jié)果只用數(shù)據(jù)處理裝置3處理的通常指令的情況下,指令執(zhí)行電路33執(zhí)行指令,在判明為用擴(kuò)展處理裝置2處理的擴(kuò)展運(yùn)算指令的情況下,擴(kuò)展指令執(zhí)行電路23執(zhí)行指令。
在通常指令(加法指令)的情況下,從寄存器131內(nèi)讀出指令所指示的操作數(shù),經(jīng)總線132a和總線132b傳送到加法器137,并把加法器137進(jìn)行加法運(yùn)算的結(jié)果保持在鎖存器134內(nèi)(處理時(shí)間9毫微秒)。
在擴(kuò)展運(yùn)算指令(乘法指令)的情況下,從寄存器131內(nèi)讀出指令所指示的操作數(shù),從總線132a和總線132b經(jīng)緩沖器138a和緩沖器138b傳送到總線232a和232b,首先由第1部分乘法器233進(jìn)行前半部分的乘法運(yùn)算,把其結(jié)果保持在鎖存器234內(nèi)。但是,由于高速節(jié)距標(biāo)志14被清除掉,所以選擇器235選擇第1部分乘法器233的結(jié)果,第2部分乘法器236同時(shí)在該定時(shí)內(nèi)進(jìn)行后半部分的乘法運(yùn)算(處理時(shí)間20毫微秒)。
(定時(shí)4)在加法指令的情況下,經(jīng)選擇器94(B輸入)傳送保持在鎖存器134內(nèi)的加法運(yùn)算結(jié)果并保持在鎖存器96內(nèi)(處理時(shí)間1毫微秒)。
在乘法運(yùn)算指令的情況下,把第2部分乘法器236的運(yùn)算結(jié)果從總線232c經(jīng)緩沖器138c傳送到總線132c,再經(jīng)數(shù)據(jù)處理裝置4內(nèi)的選擇器94(A輸入)鎖存到鎖存器96內(nèi)(1毫微秒)。
(定時(shí)5)經(jīng)選擇器97(C輸入選擇)把鎖存器96的運(yùn)算結(jié)果存儲(chǔ)到寄存器131內(nèi)(處理時(shí)間5毫微秒)。
(2)時(shí)鐘頻率超過50MHz而低于100MHz(高速)的情況圖12是設(shè)定了高速節(jié)距標(biāo)志14的情況下的動(dòng)作時(shí)序圖。該圖對(duì)應(yīng)于圖8B。
(定時(shí)1)和(定時(shí)2)與圖11一樣。
(定時(shí)3)在判明指令譯碼電路32和擴(kuò)展指令譯碼電路22的譯碼結(jié)果為只用數(shù)據(jù)處理裝置3處理的通常指令的情況下,指令執(zhí)行電路33執(zhí)行指令,在判明為用擴(kuò)展處理裝置2處理的擴(kuò)展運(yùn)算指令的情況下,擴(kuò)展指令執(zhí)行電路23執(zhí)行指令。
在通常指令(加法指令)的情況下,從寄存器131內(nèi)讀出指令所指示的操作數(shù),經(jīng)總線132a和總線132b傳送到加法器137,并把加法器137進(jìn)行加法運(yùn)算的結(jié)果保持在鎖存器134內(nèi)(處理時(shí)間9毫微秒)。
在擴(kuò)展運(yùn)算指令(乘法指令)的情況下,從寄存器131內(nèi)讀出指令所指示的操作數(shù),從總線132a和總線132b經(jīng)緩沖器138a和緩沖器138b傳送到總線232a和232b,首先由第1部分乘法器233進(jìn)行前半部分的乘法運(yùn)算,把其結(jié)果保持在鎖存器234內(nèi)(處理時(shí)間10毫微秒)。
(定時(shí)4)在加法指令的情況下,經(jīng)選擇器94(B輸入選擇)傳送保持在鎖存器134內(nèi)的加法運(yùn)算結(jié)果并保持在鎖存器96內(nèi)(處理時(shí)間1毫微秒)。
在乘法運(yùn)算指令的情況下,由于設(shè)定了高速節(jié)距標(biāo)志14,所以選擇器235選擇保持在鎖存器234內(nèi)的前半部分的乘法運(yùn)算結(jié)果,第2部分乘法器236進(jìn)行后半部分的乘法運(yùn)算(處理時(shí)間10毫微秒)。
(定時(shí)5)在加法指令的情況下,經(jīng)選擇器97(C輸入選擇)把保持在鎖存器96的數(shù)據(jù)存儲(chǔ)在寄存器131內(nèi)(處理時(shí)間1毫微秒)。
在乘法運(yùn)算指令的情況下,把第2部分乘法器236的運(yùn)算結(jié)果從總線232c經(jīng)緩沖器138c傳送到總線132c,再經(jīng)數(shù)據(jù)處理裝置4內(nèi)的選擇器97(A輸入選擇)存儲(chǔ)到寄存器131內(nèi)(1毫微秒)。
如以上的說明,按照本實(shí)施例的數(shù)據(jù)處理裝置和擴(kuò)展處理裝置,如圖8A和圖8B所示,數(shù)據(jù)處理裝置的流水線級(jí)數(shù)固定不變,可以改變擴(kuò)展處理裝置內(nèi)部的處理級(jí)數(shù)。
第四實(shí)施例作為第四實(shí)施例,以下來說明能夠切換上述圖8A和圖8C的流水線處理的信息處理裝置的具體例。
圖13是第四實(shí)施例中的數(shù)據(jù)處理裝置和擴(kuò)展處理裝置的構(gòu)成方框圖。在該圖中,由于把與第三實(shí)施例的圖9相同的構(gòu)成要素標(biāo)注同樣的號(hào)碼,所以省略了相同部分的說明,以下僅以不同點(diǎn)為中心來說明。
圖13對(duì)于圖9的不同點(diǎn)是去掉了擴(kuò)展處理裝置內(nèi)的鎖存器234和選擇器235,并設(shè)置了指令譯碼電路130以取代指令譯碼電路92。
去掉擴(kuò)展處理裝置內(nèi)的鎖存器234和選擇器235是因?yàn)闉榱税褦U(kuò)展執(zhí)行級(jí)(EX(E)級(jí))延伸就不要流水線鎖存器。即如圖8A和圖8B所示,存在擴(kuò)展處理裝置的擴(kuò)展執(zhí)行級(jí)(EX(E)級(jí))在1循環(huán)時(shí)間內(nèi)執(zhí)行擴(kuò)展運(yùn)算指令的情況和在2循環(huán)時(shí)間內(nèi)執(zhí)行擴(kuò)展運(yùn)算指令的情況。在2循環(huán)時(shí)間內(nèi)執(zhí)行的情況下,也不要流水線鎖存器。結(jié)果,在EX(E)級(jí)是1循環(huán)時(shí)間的情況下(圖8A),擴(kuò)展處理裝置6把每1循環(huán)時(shí)間的一個(gè)擴(kuò)展運(yùn)算指令作為流水線整體的通過量來處理,在EX(E)級(jí)是2循環(huán)時(shí)間的情況下(圖8C),擴(kuò)展處理裝置6把每2循環(huán)時(shí)間的一個(gè)擴(kuò)展運(yùn)算指令作為流水線整體的通過量來處理。
指令譯碼電路130在圖9的指令譯碼電路92的功能上附加了功能,即在設(shè)定了高速節(jié)距標(biāo)志14時(shí),控制流水線的流量,使之對(duì)擴(kuò)展運(yùn)算指令跨2循環(huán)時(shí)間進(jìn)行處理。流水線控制電路1301與圖9的流水線控制電路192一樣,由圖10所示的控制邏輯來控制選擇器94和選擇器97。
對(duì)如上構(gòu)成的本發(fā)明的第四實(shí)施例的信息處理裝置分為時(shí)鐘頻率低的情況和時(shí)鐘頻率高的情況來說明。
圖14是清除了高速節(jié)距標(biāo)志14的情況下的動(dòng)作時(shí)序圖。圖14對(duì)應(yīng)于圖8A,表示與第三實(shí)施例所示的圖11同樣的動(dòng)作,但是,不同點(diǎn)僅在于在定時(shí)3中沒有選擇器235的延時(shí)。所以定時(shí)3中的處理時(shí)間是19毫微秒。
圖15是設(shè)定了高速節(jié)距標(biāo)志14的情況下的動(dòng)作時(shí)序圖。圖15對(duì)應(yīng)于圖8C,表示與第三實(shí)施例所示的圖12同樣的動(dòng)作,但是,其不同點(diǎn)在于擴(kuò)展處理裝置6在于跨2循環(huán)時(shí)間進(jìn)行一個(gè)擴(kuò)展執(zhí)行級(jí)(EX(E)級(jí))。再一個(gè)不同點(diǎn)是在定時(shí)4中沒有選擇器235的延時(shí)。所以,定時(shí)4中的處理時(shí)間是9毫微秒。
如以上的說明,按照本實(shí)施例的數(shù)據(jù)處理裝置和擴(kuò)展處理裝置,如圖8A和圖8C所示,數(shù)據(jù)處理裝置的流水線級(jí)數(shù)固定不變,可以延伸擴(kuò)展處理裝置內(nèi)部的擴(kuò)展執(zhí)行級(jí)。如圖8C所示,在把擴(kuò)展執(zhí)行級(jí)延伸了的情況下,每一個(gè)擴(kuò)展運(yùn)算指令就占2循環(huán)時(shí)間。比較圖14和圖15時(shí),即使延伸擴(kuò)展運(yùn)算裝置的執(zhí)行級(jí),關(guān)于擴(kuò)展運(yùn)算指令的執(zhí)行也得不到高速化的優(yōu)點(diǎn),但是由于能夠提高時(shí)鐘頻率,所以,關(guān)于數(shù)據(jù)處理裝置中的通常指令能夠高速化。這是因?yàn)槌绦騼?nèi)所包含擴(kuò)展運(yùn)算指令的比例遠(yuǎn)小于通常指令,即使僅僅使通常指令高速化也能夠提高整體的處理能力。
在上述四個(gè)實(shí)施例中,擴(kuò)展指令譯碼電路22對(duì)擴(kuò)展運(yùn)算指令進(jìn)行譯碼,來控制執(zhí)行。與此不同,也可以由數(shù)據(jù)處理裝置3內(nèi)部的指令譯碼電路32附加擴(kuò)展運(yùn)算指令的操作數(shù)的譯碼從而進(jìn)行擴(kuò)展指令執(zhí)行電路63的執(zhí)行控制。這時(shí),指令譯碼電路32具有擴(kuò)展指令譯碼電路22的譯碼和控制功能,還具有在數(shù)據(jù)處理裝置3和擴(kuò)展處理裝置2之間傳遞控制信號(hào)的控制總線。按照這種構(gòu)成,在圖8A~圖8C所示的流水線構(gòu)成圖中,DEC(E)級(jí)就不被吸收在DEC級(jí)內(nèi),接著DEC級(jí)執(zhí)行EX(E)級(jí)或EX1(E)級(jí)。
在上述的實(shí)施例中,描述了流水線中的某一個(gè)執(zhí)行級(jí)的處理時(shí)間比其他級(jí)的處理時(shí)間長(zhǎng)的情況,除執(zhí)行有規(guī)則的級(jí)之外,顯然,即使是未包含指令譯碼級(jí)的級(jí)也能應(yīng)用本發(fā)明。
在上述實(shí)施例中,把高速節(jié)距標(biāo)志14按動(dòng)作時(shí)鐘的頻率超過規(guī)定的頻率(50MHz)或低于規(guī)定頻率來設(shè)定。此外,也可以根據(jù)所提供的電源電壓值來設(shè)定。一般,因?yàn)殡娫措妷焊?,電路的延時(shí)快,電源電壓低延時(shí)慢,所以,數(shù)據(jù)處理裝置的電源電壓在5V的情況下和3V的情況下可以靈活使用高速節(jié)距標(biāo)志14的設(shè)定。
權(quán)利要求
1.一種數(shù)據(jù)處理裝置,設(shè)置有對(duì)指令進(jìn)行流水線處理的處理裝置和切換處理裝置的流水線級(jí)數(shù)的切換裝置;所述流水線處理的流水線級(jí)數(shù)可變?yōu)閚級(jí)和比n級(jí)大的m級(jí),所述流水線處理是以n級(jí)或m級(jí)的某一種級(jí)數(shù)對(duì)指令進(jìn)行流水線處理。
2.根據(jù)權(quán)利要求1的數(shù)據(jù)處理裝置,其特征在于所述切換裝置設(shè)置有指定裝置和流水線控制裝置,指定裝置指定供給數(shù)據(jù)處理裝置的動(dòng)作時(shí)鐘是比規(guī)定頻率高的高速時(shí)鐘還是比規(guī)定頻率低的低速時(shí)鐘,在指定為低速時(shí)鐘的情況下,流水線控制裝置控制所述處理裝置按n級(jí)執(zhí)行,在指定為高速時(shí)鐘的情況下,流水線控制裝置控制所述處理裝置按m級(jí)執(zhí)行。
3.根據(jù)權(quán)利要求2的數(shù)據(jù)處理裝置,其特征在于所述指定裝置是保持指示動(dòng)作時(shí)鐘是高速還是低速的標(biāo)志的雙穩(wěn)態(tài)多諧振蕩器、保持指示動(dòng)作時(shí)鐘是高速還是低速的數(shù)據(jù)的寄存器、輸入指示動(dòng)作時(shí)鐘是高速還是低速的邏輯值的輸入端的任一種。
4.根據(jù)權(quán)利要求1的數(shù)據(jù)處理裝置,其特征在于所述切換裝置設(shè)置有指定裝置和流水線控制裝置,指定裝置指定供給數(shù)據(jù)處理裝置的電源電壓是比規(guī)定值高還是比規(guī)定值低,在指定為高的情況下,流水線控制裝置控制所述處理裝置按n級(jí)執(zhí)行,在指定為低的情況下,流水線控制裝置控制所述處理裝置按m級(jí)執(zhí)行。
5.根據(jù)權(quán)利要求4的數(shù)據(jù)處理裝置,其特征在于所述指定裝置是保持指示動(dòng)作時(shí)鐘是高速還是低速的標(biāo)志的雙穩(wěn)態(tài)多諧振蕩器、保持指示動(dòng)作時(shí)鐘是高速還是低速的數(shù)據(jù)的寄存器、輸入指示動(dòng)作時(shí)鐘是高速還是低速的邏輯值的輸入端的任一種。
6.根據(jù)權(quán)利要求1的數(shù)據(jù)處理裝置,其特征在于所述處理裝置具有指令取出級(jí)、指令譯碼級(jí)和指令執(zhí)行級(jí)等至少三級(jí)的流水線級(jí)數(shù);所述指令取出級(jí)、指令譯碼級(jí)和指令執(zhí)行級(jí)的至少一級(jí)能夠把其處理內(nèi)容分割為順序的多個(gè)部分處理;所述處理裝置在進(jìn)行所述n級(jí)流水線控制的情況下在一級(jí)內(nèi)來進(jìn)行所行的部分處理,在進(jìn)行所述m級(jí)流水線控制的情況下分別在一級(jí)內(nèi)進(jìn)行各個(gè)部分處理。
7.根據(jù)權(quán)利要求6的數(shù)據(jù)處理裝置,其特征在于各個(gè)處理器分別執(zhí)行所述各級(jí)處理;這些處理器的至少一個(gè)設(shè)置有多個(gè)部分處理器和多個(gè)透過保持器,所述多個(gè)處理器進(jìn)行所述多個(gè)部分級(jí)中的部分處理,所述多個(gè)透過保持器設(shè)置在部分處理器和下一級(jí)的部分處理器之間,并在所述n級(jí)流水線處理情況下透過下一級(jí)輸出該部分的處理結(jié)果,在所述m級(jí)流水線處理情況下保持該部分的處理結(jié)果,并輸出到下一級(jí);所述至少一個(gè)處理器在所述n級(jí)流水線處理的情況下,在1級(jí)內(nèi)使多個(gè)部分處理器動(dòng)作,在所述n級(jí)流水線處理的情況下,在1級(jí)內(nèi)使多個(gè)部分處理器的各個(gè)動(dòng)作。
8.根據(jù)權(quán)利要求7的數(shù)據(jù)處理裝置,其特征在于所述各透過保持器包括保持來自部分處理器的部分處理結(jié)果的流水線鎖存器和選擇器,在所述n級(jí)流水線處理的情況下,選擇器選擇該部分處理結(jié)果,在所述m級(jí)流水線處理的情況下,選擇器選擇流水線鎖存器的輸出,并輸出到下一級(jí)部分處理器。
9.根據(jù)權(quán)利要求7的數(shù)據(jù)處理裝置,其特征在于所述處理裝置具有在指令取出級(jí)中進(jìn)行指令取出的指令取出器、在指令譯碼級(jí)進(jìn)行所取出的指令的譯碼的指令譯碼器和指令執(zhí)行器,在第1模式下,指令執(zhí)行器在1級(jí)內(nèi)執(zhí)行全部指令,在第2模式下,在1級(jí)內(nèi)執(zhí)行指令的一部分,在另1級(jí)內(nèi)執(zhí)行指令的其余部分;所述切換裝置具有指定數(shù)據(jù)處理裝置處于第1動(dòng)作環(huán)境下還是處于第2動(dòng)作環(huán)境下的指定裝置和流水線控制裝置;在指定為處于第1動(dòng)作環(huán)境情況下,所述流水線控制裝置使指令執(zhí)行器按第1模式執(zhí)行,以便使處理裝置按n級(jí)執(zhí)行;在指定為處于第2動(dòng)作環(huán)境情況下,所述流水線控制裝置使指令執(zhí)行器按第2模式執(zhí)行,以便使處理裝置按m級(jí)執(zhí)行;根據(jù)提供給數(shù)據(jù)處理裝置的動(dòng)作時(shí)鐘的頻率和提供給數(shù)據(jù)處理裝置的電源電壓之任一種來區(qū)分是處于所述第1動(dòng)作環(huán)境還是處于所述第2動(dòng)作環(huán)境。
10.根據(jù)權(quán)利要求9的數(shù)據(jù)處理裝置,其特征在于所述指令執(zhí)行器具有根據(jù)在指令譯碼器中譯碼的指令執(zhí)行指令內(nèi)容的一部分的第1部分運(yùn)算器、鎖存第1部分運(yùn)算器的執(zhí)行結(jié)果的流水線鎖存器、選擇第1部分運(yùn)算器的執(zhí)行結(jié)果和流水線鎖存器的輸出的某一個(gè)的選擇器和對(duì)選擇器輸出執(zhí)行前述指令內(nèi)容的其余部分的第2部分運(yùn)算器;所述流水線控制器在第1動(dòng)作環(huán)境下,用選擇器選擇前者,以便按第1模式使指令執(zhí)行器動(dòng)作,而且在1級(jí)內(nèi)使第1部分運(yùn)算器和第2部分運(yùn)算器動(dòng)作;在第2動(dòng)作環(huán)境下,用選擇器選擇后者,以便按第2模式使指令執(zhí)行器動(dòng)作,而且在1級(jí)內(nèi)使第1部分運(yùn)算器動(dòng)作,在下1級(jí)內(nèi)使第2部分運(yùn)算器動(dòng)作。
11.根據(jù)權(quán)利要求1的數(shù)據(jù)處理裝置,其特征在于所述數(shù)據(jù)處理裝置設(shè)置有對(duì)由處理裝置讀出的擴(kuò)展運(yùn)算指令進(jìn)行流水線處理的擴(kuò)展處理裝置,所述擴(kuò)展處理裝置還可以設(shè)置擴(kuò)展處理器和擴(kuò)展流水線控制裝置,所述擴(kuò)展處理器對(duì)擴(kuò)展運(yùn)算指令進(jìn)行流水線處理,所述流水線處理的流水線級(jí)數(shù)可變?yōu)镵級(jí)和比K大的L級(jí),所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換擴(kuò)展處理器的流水線級(jí)數(shù)。
12.根據(jù)權(quán)利要求11的數(shù)據(jù)處理裝置,其特征在于所述擴(kuò)展處理器具有對(duì)所述指令取出器所取出的擴(kuò)展運(yùn)算指令進(jìn)行譯碼的指令譯碼器和在1級(jí)和2級(jí)的任一種內(nèi)執(zhí)行所述擴(kuò)展運(yùn)算指令的擴(kuò)展指令執(zhí)行器;所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換使擴(kuò)展指令執(zhí)行器在1級(jí)內(nèi)動(dòng)作或在2級(jí)內(nèi)動(dòng)作。
13.一種數(shù)據(jù)處理裝置,其特征在于設(shè)置有對(duì)指令進(jìn)行流水線處理的處理裝置和切換處理裝置的流水線級(jí)數(shù)的切換裝置;所述流水線處理的流水線級(jí)數(shù)可變?yōu)閚級(jí)和比n級(jí)大的m級(jí),所述流水線處理是以n級(jí)或m級(jí)的某一種級(jí)數(shù)對(duì)指令進(jìn)行流水線處理;所述切換裝置具有指定數(shù)據(jù)處理裝置處于第1動(dòng)作環(huán)境下還是處于第2動(dòng)作環(huán)境下的指定裝置和流水線控制裝置;在指定為處于第1動(dòng)作環(huán)境的情況下,所述流水線控制裝置使處理裝置按n級(jí)執(zhí)行;在指定為處于第2動(dòng)作環(huán)境情況下,所述流水線控制裝置使處理裝置按m級(jí)執(zhí)行;所述處理裝置具有指令取出級(jí)、指令譯碼級(jí)和指令執(zhí)行級(jí)的至少3級(jí)的流水線級(jí)數(shù);所述指令取出級(jí)、指令譯碼級(jí)和指令執(zhí)行級(jí)的至少一個(gè)的處理內(nèi)容被分割為順序的多個(gè)部分級(jí),在進(jìn)行所述n級(jí)流水線處理的情況下,在1級(jí)內(nèi)處理多個(gè)部分級(jí),在進(jìn)行所述m級(jí)流水線處理的情況下,在1級(jí)內(nèi)處理各部分級(jí);根據(jù)提供給數(shù)據(jù)處理裝置的動(dòng)作時(shí)鐘的頻率和提供給數(shù)據(jù)處理裝置的電源電壓之任一種來區(qū)分是處于所述第1動(dòng)作環(huán)境還是處于所述第2動(dòng)作環(huán)境。
14.根據(jù)權(quán)利要求13的數(shù)據(jù)處理裝置,其特征在于各個(gè)處理器分別執(zhí)行所述處理裝置的各級(jí)處理;這些處理器的至少一個(gè)設(shè)置有多個(gè)部分處理器和多個(gè)透過保持器,所述多個(gè)部分處理器進(jìn)行所述多個(gè)部分級(jí)中的部分處理,所述多個(gè)透過保持器設(shè)置在部分處理器和下一級(jí)的部分處理器之間,并在所述n級(jí)流水線處理情況下透過下一級(jí)輸出該部分的處理結(jié)果,在所述m級(jí)流水線處理情況下保持該部分的處理結(jié)果,并輸出到下一級(jí)。
15.根據(jù)權(quán)利要求13的數(shù)據(jù)處理裝置,其特征在于所述各透過保持器包括保持來自部分處理器的部分處理結(jié)果的流水線鎖存器和選擇器,在所述n級(jí)流水線處理的情況下,選擇器選擇該部分處理結(jié)果,在所述m級(jí)流水線處理的情況下,選擇器選擇流水線鎖存器的輸出,并輸出到下一級(jí)部分處理器。
16.根據(jù)權(quán)利要求13的數(shù)據(jù)處理裝置,其特征在于所述數(shù)據(jù)處理裝置設(shè)置有對(duì)由處理裝置讀出的指令中的擴(kuò)展運(yùn)算指令進(jìn)行流水線處理的擴(kuò)展處理裝置,所述擴(kuò)展處理裝置還可以設(shè)置擴(kuò)展處理器和擴(kuò)展流水線控制裝置,所述擴(kuò)展處理器對(duì)擴(kuò)展運(yùn)算指令進(jìn)行流水線處理,所述流水線處理的流水線級(jí)數(shù)可變?yōu)镵級(jí)和比K大的L級(jí),所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換擴(kuò)展處理器的流水線級(jí)數(shù)。
17.根據(jù)權(quán)利要求16的數(shù)據(jù)處理裝置,其特征在于所述擴(kuò)展處理器具有在指令譯碼級(jí)中對(duì)所述指令取出器所取出的擴(kuò)展運(yùn)算指令進(jìn)行譯碼的指令譯碼器和在1級(jí)和2級(jí)的任一種內(nèi)執(zhí)行所述擴(kuò)展運(yùn)算指令的擴(kuò)展指令執(zhí)行器;所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換使擴(kuò)展指令執(zhí)行器在1級(jí)內(nèi)動(dòng)作或在2級(jí)內(nèi)動(dòng)作。
18.一種數(shù)據(jù)處理裝置,其特征在于設(shè)置有對(duì)指令進(jìn)行流水線處理的處理裝置和切換處理裝置的流水線級(jí)數(shù)的切換裝置;所述流水線處理的流水線級(jí)數(shù)可變?yōu)閚級(jí)和比n級(jí)大的m級(jí),所述流水線處理是以n級(jí)或m級(jí)的某一種級(jí)數(shù)對(duì)指令進(jìn)行流水線處理;所述處理裝置包含按1循環(huán)時(shí)間進(jìn)行指令取出的指令取出器、按1循環(huán)時(shí)間對(duì)所取出的指令進(jìn)行譯碼的指令譯碼器、按1循環(huán)時(shí)間和2循環(huán)時(shí)間的某一種執(zhí)行譯碼指令的指令執(zhí)行器;所述切換裝置具有指定數(shù)據(jù)處理裝置處于第1動(dòng)作環(huán)境下還是處于第2動(dòng)作環(huán)境下的指定裝置和流水線控制裝置;在指定為處于第1動(dòng)作環(huán)境情況下,所述流水線控制裝置執(zhí)行使指令執(zhí)行器按1循環(huán)時(shí)間動(dòng)作的n級(jí)流水線控制;在指定為處于第2動(dòng)作環(huán)境情況下,所述流水線控制裝置進(jìn)行使指令執(zhí)行器按2循環(huán)時(shí)間動(dòng)作的m級(jí)流水線控制;根據(jù)提供給數(shù)據(jù)處理裝置的動(dòng)作時(shí)鐘的頻率和提供給數(shù)據(jù)處理裝置的電源電壓之任一種來區(qū)分是處于所述第1動(dòng)作環(huán)境還是處于所述第2動(dòng)作環(huán)境。
19.根據(jù)權(quán)利要求18的數(shù)據(jù)處理裝置,其特征在于所述處理裝置包含按1循環(huán)時(shí)間進(jìn)行指令取出的指令取出器、按1循環(huán)時(shí)間對(duì)所取出的指令進(jìn)行譯碼的指令譯碼器、按1循環(huán)時(shí)間和2循環(huán)時(shí)間的某一種執(zhí)行譯碼指令的指令執(zhí)行器;在動(dòng)作時(shí)鐘的頻率比所述規(guī)定的頻率低的情況下,所述流水線控制裝置進(jìn)行使指令執(zhí)行器按1循環(huán)時(shí)間動(dòng)作的n級(jí)流水線控制;在動(dòng)作時(shí)鐘的頻率比所述規(guī)定的頻率高的情況下,所述流水線控制裝置進(jìn)行使指令執(zhí)行器按2循環(huán)時(shí)間動(dòng)作的m級(jí)流水線控制。
20.根據(jù)權(quán)利要求19的數(shù)據(jù)處理裝置,其特征在于所述指令執(zhí)行器具有根據(jù)在指令譯碼器中譯碼的指令執(zhí)行指令內(nèi)容的一部分的第1部分運(yùn)算器、鎖存第1部分運(yùn)算器的執(zhí)行結(jié)果的流水線鎖存器、選擇第1部分運(yùn)算器的執(zhí)行結(jié)果和流水線鎖存器的輸出的某一個(gè)的選擇器和對(duì)選擇器輸出執(zhí)行前述指令內(nèi)容的其余部分的第2部分運(yùn)算器;在動(dòng)作時(shí)鐘的頻率比所述規(guī)定的頻率低的情況下,所述流水線控制裝置用選擇器選擇前者,并使指令執(zhí)行器按1循環(huán)時(shí)間動(dòng)作;在動(dòng)作時(shí)鐘的頻率比所述規(guī)定的頻率高的情況下,所述流水線控制裝置用選擇器選擇后者,并使指令執(zhí)行器按2循環(huán)時(shí)間動(dòng)作。
21.根據(jù)權(quán)利要求20的數(shù)據(jù)處理裝置,其特征在于所述數(shù)據(jù)處理裝置設(shè)置有對(duì)由數(shù)據(jù)處理裝置讀出的指令中的擴(kuò)展運(yùn)算指令進(jìn)行流水線處理的擴(kuò)展處理裝置,所述擴(kuò)展處理裝置還可以設(shè)置擴(kuò)展處理器和擴(kuò)展流水線控制裝置,所述擴(kuò)展處理器對(duì)擴(kuò)展運(yùn)算指令進(jìn)行流水線處理,所述流水線處理的流水線級(jí)數(shù)可變?yōu)镵級(jí)和比K大的L級(jí),所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換擴(kuò)展處理器的流水線級(jí)數(shù);所述擴(kuò)展處理器具有在1循環(huán)時(shí)間內(nèi)對(duì)所述指令取出器所取出的擴(kuò)展運(yùn)算指令進(jìn)行譯碼的指令譯碼器和在1循環(huán)時(shí)間和2循環(huán)時(shí)間的任一種時(shí)間內(nèi)執(zhí)行所述擴(kuò)展運(yùn)算指令的擴(kuò)展指令執(zhí)行器;所述擴(kuò)展流水線控制裝置跟隨所述切換裝置切換使擴(kuò)展指令執(zhí)行器在1循環(huán)時(shí)間內(nèi)動(dòng)作還是在2循環(huán)時(shí)間內(nèi)動(dòng)作。
22.一種數(shù)據(jù)處理裝置,其特征在于具有第1處理裝置、第2處理裝置和切換第2處理裝置的流水線級(jí)數(shù)的切換裝置;所述第1處理裝置具有存儲(chǔ)器和寄存器,從存儲(chǔ)器讀出指令并對(duì)第1類指令進(jìn)行流水線處理;第2處理裝置對(duì)由第1處理裝置讀出的指令中的第2類指令進(jìn)行流水線處理,流水線的級(jí)數(shù)可變?yōu)镵級(jí)和比K級(jí)大的L級(jí),所述第2處理裝置按K級(jí)和L級(jí)的任一種級(jí)數(shù)對(duì)指令進(jìn)行流水線處理;在第2處理裝置進(jìn)行K級(jí)流水線處理的情況下,所述第1處理裝置在規(guī)定的級(jí)內(nèi)獲得第2處理裝置的執(zhí)行結(jié)果;在第2處理裝置進(jìn)行L級(jí)流水線處理的情況下,所述第1處理裝置在從規(guī)定的級(jí)起的(L-K)級(jí)后的級(jí)內(nèi)獲得第2處理裝置的執(zhí)行結(jié)果,并把獲得的執(zhí)行結(jié)果存儲(chǔ)在所述寄存器內(nèi)。
23.根據(jù)權(quán)利要求22的數(shù)據(jù)處理裝置,其特征在于所述數(shù)據(jù)處理裝置還具有把第1處理裝置讀出的指令傳送到第2處理裝置的指令總線、把第2類指令所指定的寄存器數(shù)據(jù)從第1處理裝置傳送到第2處理裝置的第1總線和把第2處理裝置的第2類指令的執(zhí)行結(jié)果從第2處理裝置傳送到第1處理裝置的第2總線;所述第1處理裝置通過第1總線把第2類指令所指定的寄存器數(shù)據(jù)發(fā)送到第2處理裝置,并通過第2總線獲得第2處理裝置的執(zhí)行結(jié)果。
24.根據(jù)權(quán)利要求22的數(shù)據(jù)處理裝置,其特征在于所述切換裝置具有指定數(shù)據(jù)處理裝置處于第1動(dòng)作環(huán)境下還是處于第2動(dòng)作環(huán)境下的指定裝置和流水線控制裝置;在指定為處于第1動(dòng)作環(huán)境情況下,所述流水線控制裝置使第2處理裝置按K級(jí)執(zhí)行;在指定為處于第2動(dòng)作環(huán)境情況下,所述流水線控制裝置使第2處理裝置按L級(jí)執(zhí)行;根據(jù)提供給數(shù)據(jù)處理裝置的動(dòng)作時(shí)鐘的頻率和提供給數(shù)據(jù)處理裝置的電源電壓之任一種來區(qū)分是處于所述第1動(dòng)作環(huán)境還是處于所述第2動(dòng)作環(huán)境。
25.根據(jù)權(quán)利要求22的數(shù)據(jù)處理裝置,其特征在于所述第1處理裝置進(jìn)行包含第1級(jí)、第2級(jí)、第3級(jí)、第4級(jí)、第5級(jí)的流水線處理,并設(shè)置指令取出器、第1譯碼器、第1執(zhí)行器和數(shù)據(jù)控制器;指令取出器在第1級(jí)中從存儲(chǔ)器內(nèi)取出指令;第1譯碼器在第2級(jí)中對(duì)所取出來的第1類指令進(jìn)行譯碼,同時(shí)對(duì)由第2類指令所指定的存儲(chǔ)器地址進(jìn)行譯碼;第1執(zhí)行器在第3級(jí)中根據(jù)第1譯碼器的譯碼結(jié)果執(zhí)行第1類指令;數(shù)據(jù)控制器在第4級(jí)中根據(jù)第1譯碼器的譯碼結(jié)果把指令的執(zhí)行結(jié)果存儲(chǔ)到存儲(chǔ)器內(nèi),并在第5級(jí)中進(jìn)行把指令的執(zhí)行結(jié)果存儲(chǔ)到寄存器內(nèi)的控制;所述第2處理裝置具有第2譯碼器和第2執(zhí)行器;第2譯碼器在第2級(jí)中對(duì)指令取出器所取出的第2類指令進(jìn)行譯碼;第2執(zhí)行器按第1模式在第3級(jí)中執(zhí)行指令,按第2模式在第3級(jí)中執(zhí)行指令的一部分,在第4級(jí)中執(zhí)行指令的剩余部分;所述流水線控制裝置在指定為處于第1動(dòng)作環(huán)境的情況下,使第2執(zhí)行器按第1模式執(zhí)行,在指定為處于第2動(dòng)作模式的情況下,按第2模式執(zhí)行;所示數(shù)據(jù)控制器還在第4級(jí)中按第1模式獲得第2執(zhí)行器的執(zhí)行結(jié)果,在第5級(jí)中寫入到寄存器內(nèi),在第5級(jí)中按第2模式獲得第2執(zhí)行器的執(zhí)行結(jié)果,并寫入到寄存器內(nèi)。
26.根據(jù)權(quán)利要求25的數(shù)據(jù)處理裝置,其特征在于所述第2執(zhí)行器具有執(zhí)行由第2譯碼器譯碼的指令的一部分的第1部分運(yùn)算器、透過保持器以及第2部分運(yùn)算器;透過保持器在第1模式下透過輸出第1部分運(yùn)算器的執(zhí)行結(jié)果,在第2模式下保持第1部分運(yùn)算器的執(zhí)行結(jié)果,并輸出到下一級(jí);所述第2部分運(yùn)算器接受由透過保持器輸出的第1部分運(yùn)算器的執(zhí)行結(jié)果,并執(zhí)行該指令的剩余部分。
27.一種數(shù)據(jù)處理裝置,其特征在于具有第1處理裝置、第2處理裝置和切換裝置;所述第1處理裝置具有存儲(chǔ)器和寄存器,從存儲(chǔ)器讀出指令并對(duì)第1類指令進(jìn)行流水線處理,該流水線由m級(jí)構(gòu)成,各級(jí)消耗同樣的單位時(shí)間;第2處理裝置對(duì)由第1處理裝置讀出的指令中的第2類指令進(jìn)行流水線處理,該流水線由比所述m級(jí)小的K級(jí)流水線構(gòu)成,K級(jí)中的某級(jí)可以切換消耗所述單位時(shí)間的通常模式和消耗所述單位時(shí)間的整數(shù)倍的延伸模式;所述切換裝置切換把第2處理裝置的所述規(guī)定級(jí)作為通常模式還是作為延伸模式;在第2處理裝置處于通常模式的情況下,所述第1處理裝置在規(guī)定的級(jí)內(nèi)獲得第2處理裝置的執(zhí)行結(jié)果;在第2處理裝置處于延伸模式的情況下,所述第1處理裝置在比所述規(guī)定的級(jí)延長(zhǎng)一級(jí)后的級(jí)內(nèi)獲得第2處理裝置的執(zhí)行結(jié)果;第1處理裝置再把獲得的執(zhí)行結(jié)果存儲(chǔ)在所述寄存器內(nèi)。
28.根據(jù)權(quán)利要求27的數(shù)據(jù)處理裝置,其特征在于所述數(shù)據(jù)處理裝置還具有把第1處理裝置讀出的指令傳送到第2處理裝置的指令總線、把第2類指令所指定的寄存器數(shù)據(jù)從第1處理裝置傳送到第2處理裝置的第1總線和把第2處理裝置的第2類指令的執(zhí)行結(jié)果從第2處理裝置傳送到第1處理裝置的第2總線;所述第1處理裝置通過第1總線把第2類指令所指定的寄存器數(shù)據(jù)發(fā)送到第2處理裝置,并通過第2總線獲得第2處理裝置的執(zhí)行結(jié)果。
29.根據(jù)權(quán)利要求27的數(shù)據(jù)處理裝置,其特征在于所述第1處理裝置進(jìn)行包含第1級(jí)、第2級(jí)、第3級(jí)、第4級(jí)、第5級(jí)的流水線處理,并設(shè)置指令取出器、第1譯碼器、第1執(zhí)行器和數(shù)據(jù)控制器;指令取出器在第1級(jí)中從存儲(chǔ)器內(nèi)取出指令;第1譯碼器在第2級(jí)中對(duì)所取出來的第1類指令進(jìn)行譯碼,同時(shí)對(duì)由第2類指令所指定的存儲(chǔ)器地址進(jìn)行譯碼;第1執(zhí)行器在第3級(jí)中根據(jù)第1譯碼器的譯碼結(jié)果執(zhí)行第1類指令;數(shù)據(jù)控制器在第4級(jí)中根據(jù)第1譯碼器的譯碼結(jié)果存儲(chǔ)到存儲(chǔ)器內(nèi),并在第5級(jí)中進(jìn)行把指令的執(zhí)行結(jié)果存儲(chǔ)到寄存器內(nèi)的控制;所述第2處理裝置具有第2譯碼器和第2執(zhí)行器;第2譯碼器在第2級(jí)中對(duì)指令取出器所取出的第2類指令進(jìn)行譯碼;第2執(zhí)行器按第1模式在第3級(jí)中消耗所述單位時(shí)間執(zhí)行指令,按第2模式在延伸了的第3級(jí)中消耗所述單位時(shí)間的2倍執(zhí)行指令;所述流水線控制裝置在指定為處于第1動(dòng)作環(huán)境的情況下,使第2執(zhí)行器按第1模式執(zhí)行,在指定為處于第2動(dòng)作模式的情況下,按第2模式執(zhí)行;所述數(shù)據(jù)控制器還在第4級(jí)中按第1模式獲得第2執(zhí)行器的執(zhí)行結(jié)果,在第5級(jí)中寫入到寄存器內(nèi),在第5級(jí)內(nèi)按第2模式獲得第2執(zhí)行器的執(zhí)行結(jié)果,并寫入到寄存器內(nèi)。
全文摘要
數(shù)據(jù)處理裝置設(shè)置有對(duì)指令進(jìn)行流水線處理的處理裝置和切換處理裝置的流水線級(jí)數(shù)的切換裝置;流水線處理的流水線級(jí)數(shù)可變?yōu)閚級(jí)和更大的m級(jí),流水線處理是以其中某一級(jí)數(shù)對(duì)指令作流水線處理;切換裝置在指定為處于第1動(dòng)作環(huán)境情況下使處理裝置按n級(jí)執(zhí)行,在指定為處于第2動(dòng)作環(huán)境情況下使處理裝置按m級(jí)執(zhí)行。根據(jù)提供給數(shù)據(jù)處理裝置的動(dòng)作時(shí)鐘的頻率和電源電壓之任一種區(qū)分處于第1還是第2動(dòng)作環(huán)境。
文檔編號(hào)G06F9/38GK1170906SQ9710960
公開日1998年1月21日 申請(qǐng)日期1997年3月29日 優(yōu)先權(quán)日1996年3月29日
發(fā)明者鈴木正人, 森河徹, 檜垣信生, 宮地信哉 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社