国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可變流水線級數(shù)的數(shù)據(jù)處理裝置的制作方法

      文檔序號:6442889閱讀:113來源:國知局
      專利名稱:可變流水線級數(shù)的數(shù)據(jù)處理裝置的制作方法
      技術領域
      本發(fā)明涉及一種根據(jù)存儲器中的指令對數(shù)據(jù)進行流水線處理的數(shù)據(jù)處理裝置。
      隨著近年來電子技術的發(fā)展,普及了以微計算機為首的信息處理裝置,并應用于所有的領域。
      原來的信息處理裝置大體可以分為以指令種類豐富為特征的CISC(ComplexInstruction Set Computer)型和限定指令種類的以高速度為特征的RISC(ReducedInstruction Set Computer)型,例如前者有TRON和MC68040等,后者有SPARC和MIPS等。這些裝置都采取流水線結構,以期縮短常見指令的執(zhí)行時間。所謂流水線是至少把指令的處理分為讀出、譯碼、執(zhí)行步驟,并且并列地執(zhí)行這些步驟。


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