CN1607499A - 可变流水线级数的数据处理装置 - Google Patents
可变流水线级数的数据处理装置 Download PDFInfo
- Publication number
- CN1607499A CN1607499A CNA2004100974753A CN200410097475A CN1607499A CN 1607499 A CN1607499 A CN 1607499A CN A2004100974753 A CNA2004100974753 A CN A2004100974753A CN 200410097475 A CN200410097475 A CN 200410097475A CN 1607499 A CN1607499 A CN 1607499A
- Authority
- CN
- China
- Prior art keywords
- instruction
- level
- data processing
- processing equipment
- treating apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 242
- 238000000034 method Methods 0.000 claims abstract description 119
- 230000008569 process Effects 0.000 claims abstract description 119
- 230000009471 action Effects 0.000 claims abstract description 95
- 238000004519 manufacturing process Methods 0.000 claims description 54
- 230000001351 cycling effect Effects 0.000 claims description 30
- 238000012423 maintenance Methods 0.000 claims description 4
- 238000003825 pressing Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 claims 2
- 230000000750 progressive effect Effects 0.000 claims 2
- 238000012546 transfer Methods 0.000 abstract description 5
- 230000008859 change Effects 0.000 abstract description 4
- 230000015572 biosynthetic process Effects 0.000 description 23
- 238000005755 formation reaction Methods 0.000 description 23
- 230000004087 circulation Effects 0.000 description 20
- 230000003750 conditioning effect Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 239000000654 additive Substances 0.000 description 6
- 230000000996 additive effect Effects 0.000 description 6
- 230000008676 import Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 101001074449 Crotalus durissus terrificus Phospholipase A2 inhibitor CNF Proteins 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3873—Variable length pipelines, e.g. elastic pipeline
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Power Sources (AREA)
- Multi Processors (AREA)
Abstract
数据处理装置设置有对指令进行流水线处理的处理装置和切换处理装置的流水线级数的切换装置;流水线处理的流水线级数可变为n级比n大的m级,流水线处理是以n级或m级中某一级数对指令作流水线处理;切换装置在指定为处于第1动作环境情况下使处理装置按n级执行,在指定为处于第2动作环境情况下使处理装置按m级执行。根据提供给数据处理装置的动作时钟的频率和电源电压之任一种区分处于所述第1还是第2动作环境。从而,能够提供一种根据用途无论是在使用高速时钟还是使用低速时钟都能发挥良好的处理能力的成本性能优越的数据处理装置。
Description
本发明涉及一种根据存储器中的指令对数据进行流水线处理的数据处理装置。
随着近年来电子技术的发展,普及了以微计算机为首的信息处理装置,并应用于所有的领域。
原来的信息处理装置大体可以分为以指令种类丰富为特征的CISC(ComplexInstruction Set Computer)型和限定指令种类的以高速度为特征的RISC(ReducedInstruction Set Computer)型,例如:前者有TRON和MC68040等,后者有SPARC和MIPS等。这些装置都采取流水线结构,以期缩短常见指令的执行时间。所谓流水线是至少把指令的处理分为读出、译码、执行步骤,并且并列地执行这些步骤。
图1是构成原来的信息处理装置的数据处理装置的方框图。
在该图中,数据处理装置7具有指令取出电路71、指令译码电路72和指令执行电路73。其中指令取出电路71在指令取出级(下称IF级)动作,从存储器(图外)读出指令;指令译码电路72在指令译码级(下称DEC级)动作,对指令取出电路71所读出的指令进行译码;指令执行电路73在指令执行级(下称EX级)动作,并受指令译码电路72控制。由上述三级构成三级流水线结构。另外,指令执行电路73由存储运算操作数的寄存器731、传送从寄存器731读出的数据或存储在寄存器731内的数据的总线732a~732c、根据由总线732a和732b传送的数据进行运算的运算器733构成。
对于具有上述构成的原来的数据处理装置7,用图2所示的定时来说明动作时钟的频率为50MHz(兆赫)即各级处理时间为20毫微秒的情况下的动作。
指令译码电路72对指令取出电路71所读出的指令(IF级:8毫微秒)进行译码(DEC级:10毫微秒),并由指令执行电路73执行(EX级:19毫微秒)。EX级的详细情况是:从寄存器731读出由指令指示的操作数数据(5毫微秒),经总线732a和总线732b输入到运算器733,由运算器733进行运算,并把运算结果经总线732c存储到寄存器731中(14毫微秒),该运算时间表示整数乘法运算等的最长时间。
可是,在采取流水线结构的信息处理装置中,要求流水线的各级处理时间要大体均等且尽可能短。在图1所示的原来的信息处理装置中,各级的处理时间出现零散,EX级的处理时间比其他级的处理时间长,结果,把动作时钟的频率的上限压低下来。
这样,出现流水线级的处理时间的零散时,由具有最长处理时间的级来决定时钟的上限,就很难提高处理性能。为了使EX级的处理时间与其他级的处理时间大体均等,要求极高速的装置和并行安装,结果会提高成本和增加电耗。
用图2所示的动作时序图来详细说明这个问题。因为IF级和DEC级在设备周期的前半周结束,如果只有这两级,直到100MHz都能动作。可是,EX级的处理时间为19毫微秒,占绝对优势地长,而动作时钟的上限又取决于该处理时间,从该图可知,作为一个整体,只能以低于大约50MHz的频率动作。
在RISC中,通过装载高速的指令超高速缓冲存储器以及指令的单纯化使IF级和DEC级的处理时间趋于缩短,相反,由于高功能的运算器的引入使EX级的处理时间增加,这个问题就更加显著。另一方面,在CICS中,出现的其他问题是由于可变长指令的复杂化使DEC级比其他级要增大处理时间。
特别是对应于近年来的多媒体化,为了用扩展处理装置实现必要的多功能的数据处理,而引入高功能的专用运算器使EX(E)级的处理时间增大,上述的问题就变得显著。
鉴于这样的问题,本发明的目的是提供一种能够提高时钟的频率范围的上限,而且根据用途无论是在使用高速时钟还是使用低速时钟都能发挥良好的处理能力的成本性能优越的数据处理装置。
为实现上述目的,本发明的数据处理装置设置有对指令进行流水线处理的处理装置和切换处理装置的流水线级数的切换装置。所述流水线处理的流水线级数可变为n级和通过用多级流水线处理进行上述n级中规定级的处理可变为比n级大的m级,所述流水线处理是以n级或m级的某一种级数对指令进行流水线处理。
另外,所述处理装置通过将流水线锁存器选择性地插入到处理上述规定级的电路中,用多级流水线处理进行上述规定级的处理。
按照这种构成,可以根据用途需要进行n级流水线处理和能够高速动作的m级流水线处理。具体地说,即使在n级流水线处理中各级的处理时间出现零散,由于在m级流水线处理时把各级的处理时间均等,所以,也能在m级流水线处理时提高动作时钟的上限,从而提高处理性能。而且,在以低速时钟就能满足的用途下,分支联锁的补偿可以利用级数少的n级流水线处理。但是,由于在处理时间长的级中不需要高速器件及并行安装,所以既可以不增大由于高速化引起的耗电,还可以实现低成本。
所述切换装置也可以设置指定装置和流水线控制装置,指定装置指定供给数据处理装置的动作时钟是比规定频率高的高速时钟还是比规定频率低的低速时钟,在指定为低速时钟的情况下,流水线控制装置控制所述处理装置按n级执行,在指定为高速时钟的情况下,流水线控制装置控制所述处理装置按m级执行。
按照这种构成,可以根据用户所希望的时钟频率来设定n级或m级,在需要高速处理的用途下,可以实现m级流水线处理的高速处理。
所述切换装置也可以设置指定装置和流水线控制装置,指定装置指定供给数据处理装置的电源电压是比规定值高还是比规定值低,在指定为高的情况下,流水线控制装置控制所述处理装置按n级执行,在指定为低的情况下,流水线控制装置控制所述处理装置按m级执行。
按照这种构成,可以根据用户所希望的电源电压来设定n级或m级,在用高电压的情况下,可以实现m级流水线处理的高速处理。
另外,所述处理装置具有指令取出级、指令译码级和指令执行级等至少三级的流水线级数;所述指令取出级、指令译码级和指令执行级的至少一级能够把其处理内容分割为顺序的多个部分处理;所述处理装置也可以在进行所述n级流水线控制的情况下用一级来进行所有的部分处理,在进行所述m级流水线控制的情况下分别用一级来进行各个部分处理。
按照这种构成,由于可以把处理时间长的级分割为部分级,并分割用来决定n级流水线处理的动作时钟频率的上限的处理时间,所以,能够进一步提高m级流水线处理的动作时钟频率的上限。
在数据处理装置中,各个处理器分别执行各级处理,这些处理器的至少一个也可以设置多个部分处理器和多个透过保持器,所述多个处理器进行前述多个部分级中的部分处理,所述多个透过保持器设置在部分处理器和下一级的部分处理器之间,并在前述n级流水线处理情况下透过下一级输出该部分的处理结果,在前述m级流水线处理情况下保持该部分的处理结果,在下一个循环时间中输出到下一级。
按照这种构成,由于把进行处理时间长的级的处理器分割为多个部分处理器和透过保持器,所以,就能够使m级流水线处理中的动作时钟频率的上限提高。
各透过保持器还可以设置保持来自部分处理器的部分处理结果的流水线锁存器和选择器,在前述n级流水线处理的情况下,选择器选择该部分处理结果,在前述m级流水线处理的情况下,选择器选择流水线锁存器的输出,并输出到下一级部分处理器。按照这种构成,能够用流水线锁存器和选择器那样的简单的电路把多个部分处理器作成流水线。
前述处理装置还具有在指令取出级中进行指令取出的指令取出器、在指令译码级进行所取出的指令的译码的指令译码器和指令执行器,在第1模式下,指令执行器在1级内执行1循环时间的指令,在第2模式下,在1级内执行指令的一部分,在下1级内执行指令的其余部分。
前述流水线控制装置也可以设置成在动作时钟比前述规定频率低的频率的情况下按第1模式使指令执行器动作,而在动作时钟比前述规定频率高的频率的情况下按第2模式使指令执行器动作。按照这种构成,由于分割一般处理时间长的指令执行级,所以能够主要使RISC型数据处理装置提高动作时钟的上限。
前述指令执行器具有根据在指令译码器中译码的指令执行指令内容的一部分的第1部分运算器、锁存第1部分运算器的执行结果的流水线锁存器、选择第1部分运算器的执行结果和流水线锁存器的输出的某一个的选择器和对选择器输出执行前述指令内容的其余部分的第2部分运算器。
前述流水线控制器也可以为在第1模式下使指令执行器动作而用选择器选择前者,而且在1级内使指令执行器动作,为在第2模式下使指令执行器动作而用选择器选择后者,并且在1级内使第1部分运算器动作,在1级内使第2部分运算器动作。
按照这种构成,由于指令执行器分割为2个部分运算器,所以,能够使数据处理装置提高动作时钟的上限。
前述数据处理装置还设置对数据处理装置读出的扩展运算指令进行流水线处理的扩展处理装置,所述扩展处理装置还可以设置扩展处理器和扩展流水线控制装置,所述扩展处理器对扩展运算指令进行流水线处理,所述流水线处理的流水线级数可变为K级和比K大的L级,所述扩展流水线控制装置由所述切换装置切换扩展处理器的流水线级数。
按照这种构成,不仅能使数据处理装置高速化,而且能同时使扩展处理装置高速化。
所述扩展处理装置还可以由扩展指令执行器和扩展流水线控制器构成,所述扩展指令执行器按1循环时间和2循环时间的某一种来执行所述扩展运算指令,扩展流水线控制器用所述切换装置切换扩展指令执行器按1循环时间动作或按2循环时间动作。按照这种构成,为了进行复杂的运算,可以把处理时间长的扩展运算执行器分割为多级。
实现上述目的的数据处理装置设置有第1处理装置、第2处理装置和切换第2处理装置的流水线级数的切换装置,所述第1处理装置具有存储器和寄存器,从存储器中读出指令,并对第1类指令进行流水线处理,第2处理装置对由第1处理装置读出的指令中的第2类指令进行流水线处理,第2处理装置按K级或L级的流水线级数对指令进行流水线处理,流水线级数可变为K级和大于K级的L级。
在第2处理装置进行K级流水线处理的情况下,所述第1处理装置在规定的级内获得第2处理装置的执行结果,并把所获得的执行结果存储在所述寄存器内,而在第2处理装置进行L级流水线处理的情况下,第1处理装置从规定的级开始的(L-K)级后的级内获得第2处理装置的执行结果,并把所获得的执行结果存储在所述寄存器内。
在此,所述第1处理装置进行包含第1级、第2级、第3级、第4级、第5级的流水线处理,并设置指令取出器、第1译码器、第1执行器和数据控制器。指令取出器在第1级中从存储器内取出指令;第1译码器在第2级中对所取出来的第1类指令进行译码,同时对由第2类指令所指定的存储器地址进行译码;第1执行器在第3级中根据第1译码器的译码结果执行第1类指令;数据控制器在第4级中根据第1译码器的译码结果把指令的执行结果存储到存储器内,并在第5级中进行控制,把指令的执行结果存储到存储器内。
所述第2处理装置具有第2译码器和第2执行器。第2译码器在第2级中对由指令取出器所取出的第2类指令进行译码;第2执行器在第1模式下第3级中按1循环时间执行指令,在第2模式下第3级中执行指令的一部分,在第4级中执行指令的其余部分。
所述数据控制器还可以在第5级把第2执行器的执行结果存储到寄存器内。
按照这种构成,在由作为主处理器的第1处理装置和作为子处理器的第2处理装置构成的数据处理装置中,由第1处理装置取出第2类指令,由第2处理装置进行指令内容的运算,再由第1处理装置把该运算的结果存储在数据存储地址的寄存器内。第1处理装置的流水线级数是固定的,只能改变第2处理装置的流水线级数。也就是说,第2处理装置可以改变指令取出级后级的级数,例如:在把指示浮动小数点的乘除运算或复杂运算的第2类指令也加在主要指示整数运算的第1类指令的处理的情况下,也可以根据程序中的第2类指令的出现频度来适当地设定第2处理装置的流水线处理级数。
所述第2处理装置也可以选择只延长K级中的规定级来取代可变K级和L级的情况。按照这种构成,在延长第2处理装置的规定级的情况下,可以提高第1处理装置的动作时钟频率。
附图简要说明
图1是原来的数据处理装置的构成方框图。
图2是原来的数据处理装置的动作时序图。
图3是本发明的第一实施例中的数据处理装置的构成方框图。
图4A、4B是同一实施例中的数据处理装置的动作时序图。
图5是第二实施例中的由主要根据数据处理装置的扩展处理装置构成的信息处理装置的构成方框图。
图6A、6B是同一实施例中的信息处理装置的动作时序图。
图7是本发明的其他实施例中的信息处理装置的动作时序图。
图8A-8C是本发明的其他实施例中的信息处理装置的流水线构成图。
图9是第三实施例中的数据处理装置和扩展处理装置的构成方框图。
图10是同一实施例中的流水线控制电路的控制逻辑说明图。
图11是表示同一实施例中的低速动作的时序图。
图12是表示同一实施例中的高速动作的时序图。
图13是第三实施例中的数据处理装置和扩展处理装置的构成方框图。
图14是表示同一实施例中的低速动作的时序图。
图15是表示同一实施例中的高速动作的时序图。
以下用图3到图8来说明本发明的实施例。
第一实施例
图3是本发明的第一实施例中的数据处理装置的构成方框图。
由指令取出级(下称IF级)、指令译码级(下称DEC级)、第1指令执行级和第2指令执行级(下称EX1级和EX2级)的3级或4级构成3级或4级流水线结构。
在图3中,数据处理装置1由指令取出电路11、指令译码电路12、指令执行电路13和高速节距标志14构成,并且流水线处理级数可变为3级或4级。
指令取出电路11在IF级动作,并从图外的内装存储器或外部存储器读出指令。
指令译码电路12在DEC级动作,并对由指令取出电路11所读出的指令进行译码。并且,指令译码电路12具有控制流水线处理及其级数的流水线控制电路121。流水线控制电路121控制流水线处理,使之在设定了高速节距标志14的情况下,在2级内使指令执行电路13动作;在清除掉高速节距标志14的情况下,使指令执行电路13仅在1级内动作。就这样,根据高速节距标志的内容择一地控制4级流水线处理和3级流水线处理。
指令执行电路13由存储运算操作数的寄存器131、传送寄存器131读出的数据或存储在寄存器131内的数据的总线132a~132c、作为用由总线132a和总线132b传送的数据进行运算的运算器的前半部分的第1部分运算器133、保持第1部分运算器133的结果的锁存器134、在设定了高速节距标志14时选择锁存器134并在清除高速节距标志14时选择第1部分运算器133的结果的选择器135和输入选择器135的输出并进行运算的后半部分的第2运算器136构成。按照这种构成,在设定了高速节距标志的情况下,指令执行电路13一直持续2级(EX1级、EX2级)进行运算,在清除高速节距标志的情况下,在1级(EX级)内进行运算。
高速节距标志14保持供给到本数据处理装置1的动作时钟的频率表示高速还是低速的时钟。在本实施例中,在动作时钟的频率高于50MHz时设定标志,而在低于50MHz时清除标志。在此,如图4A所示,指令取出电路11、指令译码电路12、寄存器131的读出时间、第1部分运算器133、选择器135、第2部分运算器136的处理时间分别为8毫微秒、10毫微秒、5毫微秒、5毫微秒、1毫微秒、9毫微秒,其他处理时间可以忽略。为了容易地进行比较,第1部分运算器133的处理时间与第2部分运算器136的处理时间的和是14毫微秒,其他的处理时间还与原来技术所示例的处理时间一样。
对如上构成的本发明的第一实施例的信息处理装置分为(1)时钟频率低的情况和(2)时钟频率高的情况来说明。
(1)时钟频率低于50MHz(低速)的情况
如图4A所示,所表示的是本数据处理装置以时钟频率50MHz即设备循环20毫微秒动作的情况的时序图。在这种情况下,高速节距标志14被清除掉。指令执行电路13仅在EX级动作。图4A表示每个设备循环中流水线的IF级、DEC级、EX1级的处理时间。
(定时1)指令取出电路11读出指令(处理时间8毫微秒)。
(定时2)指令译码电路12对所读出的指令进行译码(10毫微秒)。
(定时3)因为高速节距标志14被清除,流水线控制电路121控制指令执行电路13在1个设备循环内进行EX级处理。即:从寄存器131中读出由指令所指示的操作数,并经总线132a和总线132b首先由第1部分运算器133进行前半部分的运算。选择器135选择第1部分运算器133的结果,并输出到第2运算器136中。以相同的设备循环的定时同时进行后半部分的运算。经总线132c把结果存储在寄存器131内,然后结束(处理时间共计20毫微秒)。
(2)时钟频率超过50MHz而低于100MHz的情况
如图4B表示的是本数据处理装置以时钟频率100MHz即设备循环10毫微秒动作的情况的时序图。该图表示每个设备循环中流水线的IF级、DEC级、EX1级、EX2级的处理时间。
(定时1)指令取出电路11读出指令(处理时间8毫微秒)。
(定时2)指令译码电路12对所读出的指令进行译码(10毫微秒)。
(定时3)因为设定了高速节距标志14,流水线控制电路121控制指令执行电路13在2个设备循环内进行EX1级和EX2级处理。指令译码电路12控制指令执行电路13执行指令。指令执行的详细情况如下:从寄存器131中读出由指令所指示的操作数,经总线132a和总线132b首先由第1部分运算器133进行前半部分的运算,把结果保持在锁存器134内。锁存器134用来作为EX1级的流水线锁存器,到此为止结束EX1级(处理时间共计10毫微秒)。
(定时4)把EX1级的处理结果从锁存器134经选择器135输出,第2部分运算器136进行后半部分的运算。把运算结果经总线132c存储到寄存器131内,然后结束(处理时间共计10毫微秒)。
如上所述,按照本发明的第一实施例,由于通过设定高速节距标志14而把处理时间长的指令执行电路13的动作分割为EX1、EX2两级,所以就把流水线的各级处理时间均等了,并且低于10毫微秒。因此,在动作时钟超过50MHz而低于100MHz的范围内提高了处理性能。
在时钟频率低于50MHz的情况下,由于通过清除高速节距标志14而在指令执行电路13的处理时间比其他长的一个EX级内动作,所以使整体按3级流水线动作。这时,与4级流水线相比,就能够缩短分支联锁。即:能够减少由于分支指令的执行而隆起的指令数和联锁循环数。
第二实施例
图5是第二实施例中的由主要根据数据处理装置的扩展处理装置构成的信息处理装置的构成方框图。
本信息处理装置由数据处理装置3和扩展处理装置2构成,在该图中,把与图3所示的数据处理装置1相同的构成要素标注同样的号码,并省略了说明,仅以不同点为中心来予以说明。
数据处理装置3根据高速节距标志14择一地进行3级流水线处理和4级流水线处理,这一点与数据处理装置1是相同的,设置指令译码电路32和指令执行电路33来取代指令译码电路12和指令执行电路13以及用总线232a、232b、232c连接到扩展处理装置2是两者的不同点。在由指令取出电路11读出的指令中,数据处理装置1用的指令(下称通常指令)和扩展处理装置2用的扩展运算指令有两种,这一点两者也不相同。
指令译码电路32在指令译码电路12的功能上附加了功能,即:对扩展运算指令译码,并把用其操作数所指定的数据从寄存器131中读出来,提供给扩展处理装置2,再进行控制,从扩展处理装置2内把使用该操作数的扩展运算结果提取出来写入到寄存器131内。
指令执行电路33比指令执行电路13追加了缓冲器138a~138c以及设置加法器137来取代第1部分运算器133和第2部分运算器136这一点两者不同;指令执行电路33在指令执行电路13的功能上加了如下功能,即:在指令译码电路32的控制下,经总线132a、132b把从寄存器131读出的数据由缓冲器138a、138b输出到扩展处理装置2,再从扩展处理装置2经缓冲器138c把所输入的数据写入到寄存器131内。加法器137具有第1部分运算器133和第2部分运算器136的功能。
指令总线231是把指令取出电路11读出的指令同时传送到指令译码电路32和扩展指令译码电路22的总线。
总线232a、b是传送从数据处理装置3供给的控制运算指令用的操作数数据的总线。
总线232c是把由扩展处理装置2所作出的运算结果数据传送到数据处理装置3的总线。
扩展处理装置2具有扩展指令译码电路22和扩展指令执行电路23,并与数据处理装置3共用动作时钟,它根据高速节距标志14择一地进行由IF级、扩展指令译码级(下称DEC(E)级)、扩展指令执行级(下称EX(E)级)构成的3级流水线处理和由IF级、DEC(E)级、第1扩展指令执行级(下称EX1(E)级)、第2扩展指令执行级(下称EX2(E)级)构成的4级流水线处理。这其中的IF级由指令取出电路11进行,DEC(E)级、EX(E)级、EX1(E)级、EX2(E)级各级分别取代数据处理装置3的DEC级、EX级、EX1级、EX2级各级。
扩展指令译码电路22在DEC(E)级动作,对由指令取出电路11所读出的扩展运算指令进行译码,在设定有高速节距标志14的情况下,其内部的扩展流水线控制电路221进行流水线控制,使扩展指令执行电路23在由EX1(E)级和EX2(E)级构成的2级中动作,在清除了高速节距标志14的情况下,只在EX(E)级中动作。就这样来根据高速节距标志14的内容择一地控制4级流水线处理和3级流水线处理。
扩展指令执行电路23由连接到缓冲器138a~138c的总线232a~232c、作为根据由总线232a和总线232b传送的数据进行乘法运算的乘法器的前半部分的第1部分乘法器233、保持第1部分乘法器233的结果的锁存器234、在设定了高速节距标志14时选择锁存器234并在清除高速节距标志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毫微秒,其他的处理时间还与原来技术所示例的处理时间一样。
对如上构成的本发明的第二实施例的信息处理装置分为(1)时钟频率低的情况和(2)时钟频率高的情况来说明。
(1)时钟频率低速(低于50MHz)的情况
如图6A所表示的是以时钟频率50MHz即设备循环20毫微秒的动作为例。预先把高速节距标志14清除掉,指令执行电路33仅在EX级动作,且扩展指令执行电路23只在EX(E)级动作。该图表示每个设备循环中流水线的IF级、DEC级、EX级和EX(E)级的处理时间。
(定时1)指令取出电路11读出指令(处理时间8毫微秒)。
(定时2)指令译码电路32和扩展指令译码电路22对所读出的指令进行译码(处理时间分别为10毫微秒和9毫微秒)。
(定时3)在判明指令译码电路32和扩展指令译码电路22的译码结果为只用数据处理装置3处理的指令的情况下,指令执行电路33执行指令,在判明为用扩展处理装置2处理的指令的情况下,由扩展指令执行电路23执行指令。指令的执行的细节如下:
在加法指令的情况下,从寄存器131内读出指令所指示的操作数,经总线132a和总线132b用加法器137进行加法运算,并把结果保持在锁存器134内。但是,因为高速节距标志14被清除掉,所以选择器135选择加法器137的结果,并把来自总线132C的输出存储到寄存器131内,然后结束(处理时间共计10毫微秒)。
在乘法指令的情况下,从寄存器131内读出指令所指示的操作数,并从总线132a和总线132b经缓冲器138a和缓冲器138b传送到总线232a和232b,首先由第1部分乘法器233进行前一半的乘法运算,把其结果保持在锁存器234内。但是,由于高速节距标志14被清除掉,所以选择器235选择第1部分乘法器233的结果,第2部分乘法器236同时在该定时内进行后一半的乘法运算。经缓冲器138c把结果从总线232c传送到总线132c,存储到寄存器131内,然后结束(处理时间共计20毫微秒)。
(2)时钟频率为高速(超过50MHz而低于100MHz)的情况
图6B表示的是以时钟频率100MHz即设备循环10毫微秒的动作例。预先设定高速节距标志14,指令执行电路33在EX1级和EX2级动作,且扩展指令执行电路23在EX1(E)级和EX2(E)级动作。该图表示每个设备循环中流水线的IF级、DEC级、EX1级及EX1(E)级、EX2级和EX2(E)级的处理时间。
(定时1)指令取出电路11读出指令(处理时间8毫微秒)。
(定时2)指令译码电路32和扩展指令译码电路22对所读出的指令进行译码(处理时间分别为10毫微秒和9毫微秒)。
(定时3)在判明指令译码电路32和扩展指令译码电路22的译码结果为只用数据处理装置3处理的指令的情况下,指令执行电路33执行指令,在判明为用扩展处理装置2处理的指令的情况下,由扩展指令执行电路23执行指令。指令的执行的细节如下:
在加法指令的情况下,从寄存器131内读出指令所指示的操作数,经总线132a和总线132b用加法器137进行加法运算,并把结果保持在锁存器134内。锁存器134用作EX1级流水线锁存器,到此为止,结束EX1级处理(处理时间共计9毫微秒)。
在乘法指令的情况下,从寄存器131内读出指令所指示的操作数,并从总线132a和总线132b经缓冲器138a和缓冲器138b传送到总线232a和232b,首先由第1部分乘法器233进行前半部分的乘法运算,把其结果保持在锁存器234内。锁存器234用作EX1(E)级流水线锁存器,到此为止,结束EX1(E)级(处理时间共计10毫微秒)。
(定时4)接下来,在指令执行电路33和扩展指令执行电路23中,分别进行EX2级和EX2(E)级的处理。
在加法指令的情况下,由于设定了高速节距标志14,选择器135选择锁存器134的输出,把输出从总线132c存储到寄存器131内,然后结束处理(处理时间1毫微秒)。
在乘法指令的情况下,由于设定了高速节距标志14,所以选择器235选择锁存器234的输出,第2部分乘法器236进行后半部分的乘法运算,把结果从总线232c经缓冲器138c传送到总线132c,并存储到寄存器131内,然后结束处理(处理时间10毫微秒)。
如上所述,按照本发明的第二实施例,在时钟频率超过50MHz的情况下,由于通过设定高速节距标志14而把处理时间长的指令执行电路23的动作流水线分割为两级,所以就把流水线的各级处理时间均等了,并且低于10毫微秒。即使附加扩展处理装置2直到100MHz的时钟频率也能动作。在时钟频率低于50MHz的情况下,由于在扩展指令执行电路23的处理时间比其他长的一个级内动作,通过清除高速节距标志14就能使整体按3级流水线动作。与4级流水线相比,就能够缩短处于分支时的流水线的停止时间,从而能够减少由上述分支联锁导致的补偿。
在本发明的第1实施例中,在时钟频率超过50MHz的情况下,设定高速节距标志14,并把指令执行电路13的动作的流水线分割为EX1级和EX2级两级,把指令执行电路13的处理时间分开,但是,如图7的动作时序图所示,即使在时钟频率超过50MHz的情况下,指令执行电路13的动作也只是在EX1级一个级内进行,但是在这种情况下,也可以不在这一设备循环内结束该级处理,进一步延伸一个设备循环,在2个设备循环中结束处理。即使是这样,由于指令执行电路13的处理时间被分为该图的定时3和定时4,所以,与图4所示的第1实施例一样,直到频率为100MHz的时钟都能动作。也能完全一样地实现由时钟频率在50MHz以下的情况的分支联锁而削减补偿。可是,把EX1级跨2个设备循环执行的指令的下一个指令就要在按图7的定时4译码的定时5以后再执行。
在本发明的第二实施例中,与上述的一样,即使时钟频率在超过50MHz的情况下,扩展指令执行电路23的动作也可以只在EX1(E)级的一级内进行,只把EX1(E)级延伸一个设备循环,在2个设备循环内结束处理。
在本发明的第二实施例中,由3级流水线构成信息处理装置的基本结构,并按照时钟频率来分割末级的执行级,但是,也可以把它作成为像图8A~8C的流水线结构图那样的结构。图8A~8C的任一种结构的主数据处理装置都由指令取出级(IF级)、指令译码级(DEC级)、执行级(EX级)、存储器存取级(MEM级)、重写级(WB级)等5级流水线构成,不取决于时钟的频率。另一方面,相应的扩展处理装置由扩展译码级(DEC(E)级)和扩展执行级构成,后者按照时钟的频率动作如下:
在时钟的频率低,扩展执行级能够在基本设备循环内动作的情况下,就成为图8A的情况,即:在由基本设备循环构成的扩展处理装置的EX(E)级内执行之后,伴随扩展处理装置的处理的指令合并到数据处理装置的MEM级中。
在时钟的频率高,扩展执行级不能在基本设备循环内动作的情况下,就成为图8B或图8C的情况,即:在扩展处理装置的EX1(E)级和EX2(E)级两级内执行之后,伴随扩展处理装置的处理的指令合并到数据处理装置的WB级中,在图8C中,在设备循环延伸了的扩展处理装置的EX(E)级内执行之后,伴随扩展处理装置的处理的指令合并到数据处理装置的WB级中。
即使图8B或图8C的任一种结构中,流水线的各级的处理时间大体是均等的,而且短,即使附加扩展处理装置也不会降低时钟频率的上限。另外,如图8A所示,在时钟频率低的情况下,由于把扩展处理装置中的处理结果合并到数据处理装置的MEM级内,所以,与合并到WB级的情况相比,能够缩短把该处理结果用到后续指令中情况下的流水线的停止时间,并能够削减资源干扰联锁导致的补偿。
第三实施例
作为第三实施例,以下来说明能够切换上述图8A和图8B的流水线处理的信息处理装置的具体例。
图9是第三实施例中的数据处理装置和扩展处理装置的构成方框图。在该图中,由于把与第二实施例的图5相同的构成要素标注同样的号码,所以省略了相同部分的说明,以下仅以不同点为中心来说明。
与第二实施例的图5的不同点是设置数据处理装置4来取代数据处理装置3。如图8A、图8B所示,不管高速节距标志14如何,数据处理装置4的流水线级数(5级)都是固定的。
作为与数据处理装置3不同的新的构成要素,数据处理装置4具有指令译码电路92(包含流水线控制电路192)、加法器93、选择器94、RAM95、锁存器96、选择器97,并进行IF级、DEC级、EX级、MEM级、WB级等5级流水线处理。
指令译码电路92对数据处理装置4用的通常指令进行译码,并对扩展处理装置2用的扩展运算指令进行译码。把其操作数所指定的数据从寄存器131中读出来提供给扩展处理装置2,再进行控制,从扩展处理装置2中取出使用该操作数的扩展运算结果,并存储到寄存器131内。指令译码电路92也可以把该扩展运算结果取入到MEM级和WB级。
选择器94在流水线控制电路192的控制下,在MEM级中执行通常指令时选择前级的流水线锁存器134的内容(该图的B输入),在执行扩展运算指令时选择扩展处理装置2的扩展运算结果(该图的A输入)。
选择器97在流水线控制电路192的控制下,在WB级中执行通常指令时选择RAM95输出(该图的B输入)或流水线锁存器96的内容(该图的C输入),在执行扩展运算指令时选择扩展处理装置2的扩展运算结果(该图的A输入)。
流水线控制电路192根据高速节距标志14控制把扩展运算结果取入到MEM级内,或取入到WB级内。具体地说,在清除掉高速节距标志14的情况下,如图8A所示,把扩展处理装置2的EX(E)级中所执行的扩展运算结果取入到MEM级内,在WB级中重写到寄存器131内。在设定高速节距标志14的情况下,如图8B所示,把扩展处理装置2的EX(E)级中所执行的扩展运算结果取入到WB级内,同时重写到寄存器131中。
图10是由流水线控制电路192进行的选择器94和97的控制逻辑的说明图。在该图中,第1动作模式是指如图8A所示在清除掉高速节距标志14时,扩展处理装置2在EX(E)级运算扩展运算指令的动作;第2动作模式是指如图8B所示设定了高速节距标志14时,扩展处理装置2在EX1(E)级和EX2(E)级运算扩展运算指令的动作。该图的A、B、C表示选择图9中的选择器94、97的哪一个输入。
按照该图的控制逻辑,按第1动作模式执行扩展指令的情况下,在MEM级中,经选择器94(选择A输入)把由扩展指令执行电路23的扩展运算结果锁存在流水线锁存器96内,再在WB级中经选择器97(选择C输入)写入到寄存器131内。按第2动作模式执行扩展指令的情况下,把由扩展指令执行电路23的扩展运算结果,在WB级中经选择器97(选择A输入)写入到寄存器131内。
在执行通常指令的情况下,两动作模式的动作相同。即:在MEM级中经选择器94(选择B输入)把由指令执行电路93的运算结果写入到RAM95内,或锁存到流水线锁存器96内。再在WB级中经选择器97(选择B或C输入)写入到寄存器131内。这时,选择选择器97的B输入就是执行例如把RAM95的数据传送到寄存器131的指令的情况。选择选择器97的C输入就是例如把指令执行电路13的运算结果重写到寄存器131而不是重写到RAM95的情况。
对如上构成的本发明的第三实施例的信息处理装置分为(1)时钟频率低的情况和(2)时钟频率高的情况来说明。
(1)时钟频率低于50MHz(低速)的情况
图11是清除了高速节距标志14的情况下的动作时序图。该图对应于图8A。
(定时1)指令取出电路11读出指令(处理时间8毫微秒)。
(定时2)指令译码电路32和扩展指令译码电路22对所读出的指令进行译码(处理时间分别为10毫微秒和9毫微秒)。
(定时3)在判明指令译码电路32和扩展指令译码电路22的译码结果为只用数据处理装置3处理的通常指令的情况下,指令执行电路33执行指令,在判明为用扩展处理装置2处理的扩展运算指令的情况下,扩展指令执行电路23执行指令。
在通常指令(加法指令)的情况下,从寄存器131内读出指令所指示的操作数,经总线132a和总线132b传送到加法器137,并把加法器137进行加法运算的结果保持在锁存器134内(处理时间9毫微秒)。
在扩展运算指令(乘法指令)的情况下,从寄存器131内读出指令所指示的操作数,从总线132a和总线132b经缓冲器138a和缓冲器138b传送到总线232a和232b,首先由第1部分乘法器233进行前半部分的乘法运算,把其结果保持在锁存器234内。但是,由于高速节距标志14被清除掉,所以选择器235选择第1部分乘法器233的结果,第2部分乘法器236同时在该定时内进行后半部分的乘法运算(处理时间20毫微秒)。
(定时4)在加法指令的情况下,经选择器94(B输入)传送保持在锁存器134内的加法运算结果并保持在锁存器96内(处理时间1毫微秒)。
在乘法运算指令的情况下,把第2部分乘法器236的运算结果从总线232c经缓冲器138c传送到总线132c,再经数据处理装置4内的选择器94(A输入)锁存到锁存器96内(1毫微秒)。
(定时5)经选择器97(C输入选择)把锁存器96的运算结果存储到寄存器131内(处理时间5毫微秒)。
(2)时钟频率超过50MHz而低于100MHz(高速)的情况
图12是设定了高速节距标志14的情况下的动作时序图。该图对应于图8B。
(定时1)和(定时2)与图11一样。
(定时3)在判明指令译码电路32和扩展指令译码电路22的译码结果为只用数据处理装置3处理的通常指令的情况下,指令执行电路33执行指令,在判明为用扩展处理装置2处理的扩展运算指令的情况下,扩展指令执行电路23执行指令。
在通常指令(加法指令)的情况下,从寄存器131内读出指令所指示的操作数,经总线132a和总线132b传送到加法器137,并把加法器137进行加法运算的结果保持在锁存器134内(处理时间9毫微秒)。
在扩展运算指令(乘法指令)的情况下,从寄存器131内读出指令所指示的操作数,从总线132a和总线132b经缓冲器138a和缓冲器138b传送到总线232a和232b,首先由第1部分乘法器233进行前半部分的乘法运算,把其结果保持在锁存器234内(处理时间10毫微秒)。
(定时4)在加法指令的情况下,经选择器94(B输入选择)传送保持在锁存器134内的加法运算结果并保持在锁存器96内(处理时间1毫微秒)。
在乘法运算指令的情况下,由于设定了高速节距标志14,所以选择器235选择保持在锁存器234内的前半部分的乘法运算结果,第2部分乘法器236进行后半部分的乘法运算(处理时间10毫微秒)。
(定时5)在加法指令的情况下,经选择器97(C输入选择)把保持在锁存器96的数据存储在寄存器131内(处理时间1毫微秒)。
在乘法运算指令的情况下,把第2部分乘法器236的运算结果从总线232c经缓冲器138c传送到总线132c,再经数据处理装置4内的选择器97(A输入选择)存储到寄存器131内(1毫微秒)。
如以上的说明,按照本实施例的数据处理装置和扩展处理装置,如图8A和图8B所示,数据处理装置的流水线级数固定不变,可以改变扩展处理装置内部的处理级数。
第四实施例
作为第四实施例,以下来说明能够切换上述图8A和图8C的流水线处理的信息处理装置的具体例。
图13是第四实施例中的数据处理装置和扩展处理装置的构成方框图。在该图中,由于把与第三实施例的图9相同的构成要素标注同样的号码,所以省略了相同部分的说明,以下仅以不同点为中心来说明。
图13对于图9的不同点是去掉了扩展处理装置内的锁存器234和选择器235,并设置了指令译码电路130以取代指令译码电路92。
去掉扩展处理装置内的锁存器234和选择器235是因为为了把扩展执行级(EX(E)级)延伸就不要流水线锁存器。即:如图8A和图8B所示,存在扩展处理装置的扩展执行级(EX(E)级)在1循环时间内执行扩展运算指令的情况和在2循环时间内执行扩展运算指令的情况。在2循环时间内执行的情况下,也不要流水线锁存器。结果,在EX(E)级是1循环时间的情况下(图8A),扩展处理装置6把每1循环时间的一个扩展运算指令作为流水线整体的通过量来处理,在EX(E)级是2循环时间的情况下(图8C),扩展处理装置6把每2循环时间的一个扩展运算指令作为流水线整体的通过量来处理。
指令译码电路130在图9的指令译码电路92的功能上附加了功能,即:在设定了高速节距标志14时,控制流水线的流量,使之对扩展运算指令跨2循环时间进行处理。流水线控制电路1301与图9的流水线控制电路192一样,由图10所示的控制逻辑来控制选择器94和选择器97。
对如上构成的本发明的第四实施例的信息处理装置分为时钟频率低的情况和时钟频率高的情况来说明。
图14是清除了高速节距标志14的情况下的动作时序图。图14对应于图8A,表示与第三实施例所示的图11同样的动作,但是,不同点仅在于在定时3中没有选择器235的延时。所以定时3中的处理时间是19毫微秒。
图15是设定了高速节距标志14的情况下的动作时序图。图15对应于图8C,表示与第三实施例所示的图12同样的动作,但是,其不同点在于扩展处理装置6在于路2循环时间进行一个扩展执行级(EX(E)级)。再一个不同点是在定时4中没有选择器235的延时。所以,定时4中的处理时间是9毫微秒。
如以上的说明,按照本实施例的数据处理装置和扩展处理装置,如图8A和图8C所示,数据处理装置的流水线级数固定不变,可以延伸扩展处理装置内部的扩展执行级。如图8C所示,在把扩展执行级延伸了的情况下,每一个扩展运算指令就占2循环时间。比较图14和图15时,即使延伸扩展运算装置的执行级,关于扩展运算指令的执行也得不到高速化的优点,但是由于能够提高时钟频率,所以,关于数据处理装置中的通常指令能够高速化。这是因为程序内所包含扩展运算指令的比例远小于通常指令,即使仅仅使通常指令高速化也能够提高整体的处理能力。
在上述四个实施例中,扩展指令译码电路22对扩展运算指令进行译码,来控制执行。与此不同,也可以由数据处理装置3内部的指令译码电路32附加扩展运算指令的操作数的译码从而进行扩展指令执行电路63的执行控制。这时,指令译码电路32具有扩展指令译码电路22的译码和控制功能,还具有在数据处理装置3和扩展处理装置2之间传递控制信号的控制总线。按照这种构成,在图8A~图8C所示的流水线构成图中,DEC(E)级就不被吸收在DEC级内,接着DEC级执行EX(E)级或EX1(E)级。
在上述的实施例中,描述了流水线中的某一个执行级的处理时间比其他级的处理时间长的情况,除执行有规则的级之外,显然,即使是未包含指令译码级的级也能应用本发明。
在上述实施例中,把高速节距标志14按动作时钟的频率超过规定的频率(50MHz)或低于规定频率来设定。此外,也可以根据所提供的电源电压值来设定。一般,因为电源电压高,电路的延时快,电源电压低延时慢,所以,数据处理装置的电源电压在5V的情况下和3V的情况下可以灵活使用高速节距标志14的设定。
Claims (30)
1.一种数据处理装置,设置有对指令进行流水线处理的处理装置和切换处理装置的流水线级数的切换装置;所述流水线处理的流水线级数可变为n级和通过用多级流水线处理进行上述n级中规定级的处理可变为比n级大的m级,所述流水线处理是以n级或m级的任一种级数对指令进行流水线处理;
上述切换装置具有流水线控制装置,在电路的延迟时间变得小于时钟周期的第1动作环境情况下,将上述处理装置以n级执行,在电路的延迟时间变得大于时钟周期的第2动作环境情况下,将上述处理装置以m级执行。
2.根据权利要求1的数据处理装置,其特征在于所述处理装置通过将流水线锁存器选择性地插入到处理上述规定级的电路中,用多级流水线处理进行上述规定级的处理。
3.根据权利要求1的数据处理装置,其特征在于所述切换装置还设置有指定装置,指定供给数据处理装置的动作时钟是比规定频率高的高速时钟还是比规定频率低的低速时钟;在指定为低速时钟的情况下,上述流水线控制装置控制所述处理装置按n级执行,在指定为高速时钟的情况下,流水线控制装置控制所述处理装置按m级执行。
4.根据权利要求3的数据处理装置,其特征在于所述指定装置是保持指示动作时钟是高速还是低速的标志的双稳态多谐振荡器、保持指示动作时钟是高速还是低速的数据的寄存器、输入指示动作时钟是高速还是低速的逻辑值的输入端的任一种。
5.根据权利要求1的数据处理装置,其特征在于所述切换装置还设置有指定装置,指定供给数据处理装置的电源电压是比规定值高还是比规定值低;在指定为高的情况下,上述流水线控制装置控制所述处理装置按n级执行,在指定为低的情况下,流水线控制装置控制所述处理装置按m级执行。
6.根据权利要求5的数据处理装置,其特征在于所述指定装置是保持指示动作时钟是高速还是低速的标志的双稳态多谐振荡器、保持指示动作时钟是高速还是低速的数据的寄存器、输入指示动作时钟是高速还是低速的逻辑值的输入端的任一种。
7.根据权利要求1的数据处理装置,其特征在于所述处理装置具有指令取出级、指令译码级和指令执行级的至少三级的流水线级数;所述指令取出级、指令译码级和指令执行级的至少一级其处理内容可分割为顺序的多个部分处理;所述处理装置在进行所述n级流水线控制的情况下在一级内进行所有的部分处理,在进行所述m级流水线控制的情况下分别在一级内进行各个部分处理。
8.根据权利要求7的数据处理装置,其特征在于各个处理器分别执行所述各级处理;这些处理器的至少一个设置有多个部分处理器和多个透过保持器,所述多个部分处理器进行所述多个部分级中的部分处理,所述多个透过保持器设置在部分处理器和下一级的部分处理器之间,并在所述n级流水线处理情况下透过输出该部分处理结果,在所述m级流水线处理情况下保持该部分处理结果,并输出到下一级;所述至少一个处理器在所述n级流水线处理的情况下,在1级内使多个部分处理器动作,在所述m级流水线处理的情况下,在1级内使多个部分处理器的各个动作。
9.根据权利要求8的数据处理装置,其特征在于所述各透过保持器包括保持来自部分处理器的部分处理结果的流水线锁存器;和选择器,在所述n级流水线处理的情况下,选择该部分处理结果,在所述m级流水线处理的情况下,选择流水线锁存器的输出,并输出到下一级部分处理器。
10.根据权利要求8的数据处理装置,其特征在于所述处理装置具有在指令取出级中进行指令取出的指令取出器、在指令译码级进行所取出的指令的译码的指令译码器;和指令执行器,在第1模式下,在1级内执行全部指令,在第2模式下,在1级内执行指令的一部分,在另1级内执行指令的其余部分;
在指定为处于第1动作环境情况下,所述流水线控制装置使指令执行器按第1模式执行,以便使所述处理装置按n级执行;在指定为处于第2动作环境情况下,所述流水线控制装置使指令执行器按第2模式执行,以便使所述处理装置按m级执行;
根据提供给数据处理装置的动作时钟的频率和提供给数据处理装置的电源电压之任一种来区分是处于所述第1动作环境还是处于所述第2动作环境。
11.根据权利要求10的数据处理装置,其特征在于所述指令执行器具有根据在指令译码器中译码的指令执行指令内容的一部分的第1部分运算器、锁存第1部分运算器的执行结果的流水线锁存器、选择第1部分运算器的执行结果和流水线锁存器的输出的某一个的选择器和对选择器输出执行前述指令内容的其余部分的第2部分运算器;
所述流水线控制器在第1动作环境下,用选择器选择前者,以便按第1模式使指令执行器动作,而且在1级内使第1部分运算器和第2部分运算器动作;在第2动作环境下,用选择器选择后者,以便按第2模式使指令执行器动作,而且在1级内使第1部分运算器动作,在下1级内使第2部分运算器动作。
12.根据权利要求1的数据处理装置,其特征在于所述数据处理装置还设置有对由处理装置读出的指令中的扩展运算指令进行流水线处理的扩展处理装置,所述扩展处理装置设置扩展处理器和扩展流水线控制装置,所述扩展处理器对扩展运算指令进行流水线处理,所述流水线处理的流水线级数可变为K级和比K大的L级,所述扩展流水线控制装置跟随所述切换装置切换扩展处理器的流水线级数。
13.根据权利要求12的数据处理装置,其特征在于所述扩展处理器具有对所述指令取出器所取出的扩展运算指令进行译码的指令译码器和在1级和2级的任一种内执行所述扩展运算指令的扩展指令执行器;
所述扩展流水线控制装置跟随所述切换装置切换使扩展指令执行器在1级内动作或在2级内动作。
14.根据权利要求1的数据处理装置,其特征在于:
所述处理装置具有指令取出级、指令译码级和指令执行级的至少3级的流水线级数;
所述指令取出级、指令译码级和指令执行级的至少一个的处理内容被分割为顺序的多个部分级,在进行所述n级流水线控制的情况下,在1级内处理多个部分级,在进行所述m级流水线控制的情况下,在1级内处理各部分级;
根据提供给数据处理装置的动作时钟的频率和提供给数据处理装置的电源电压之任一种来区分是处于所述第1动作环境还是处于所述第2动作环境。
15.根据权利要求14的数据处理装置,其特征在于各个处理器分别执行所述处理装置的各级处理;这些处理器的至少一个设置有多个部分处理器和多个透过保持器,所述多个部分处理器进行所述多个部分级中的部分处理,所述多个透过保持器设置在部分处理器和下一级的部分处理器之间,并在所述n级流水线处理情况下透过输出该部分处理结果,在所述m级流水线处理情况下保持该部分处理结果,并输出到下一级。
16.根据权利要求14的数据处理装置,其特征在于所述各透过保持器包括保持来自部分处理器的部分处理结果的流水线锁存器;和选择器,在所述n级流水线处理的情况下,选择该部分处理结果,在所述m级流水线处理的情况下,选择流水线锁存器的输出,并输出到下一级部分处理器。
17.根据权利要求14的数据处理装置,其特征在于所述数据处理还装置设置有对由处理装置读出的指令中的扩展运算指令进行流水线处理的扩展处理装置,所述扩展处理装置设置扩展处理器和扩展流水线控制装置,所述扩展处理器对扩展运算指令进行流水线处理,所述流水线处理的流水线级数可变为K级和比K大的L级,所述扩展流水线控制装置跟随所述切换装置切换扩展处理器的流水线级数。
18.根据权利要求17的数据处理装置,其特征在于所述扩展处理器具有在指令译码级中对所述指令取出器所取出的扩展运算指令进行译码的指令译码器和在1级和2级的任一种内执行所述扩展运算指令的扩展指令执行器;
所述扩展流水线控制装置跟随所述切换装置切换使扩展指令执行器在1级内动作或在2级内动作。
19.根据权利要求1的数据处理装置,其特征在于:所述处理装置包含按1循环时间进行指令取出的指令取出器、按1循环时间对所取出的指令进行译码的指令译码器、按1循环时间和第2循环时间的某一种执行译码指令的指令执行器;
在指定为处于第1动作环境情况下,所述流水线控制装置执行使指令执行器按1循环时间动作的n级流水线控制;在指定为处于第2动作环境情况下,所述流水线控制装置进行使指令执行器按2循环时间动作的m级流水线控制;
根据提供给数据处理装置的动作时钟的频率和提供给数据处理装置的电源电压之任一种来区分是处于所述第1动作环境还是处于所述第2动作环境。
20.根据权利要求19的数据处理装置,其特征在于所述指定装置根据提供给数据处理装置的动作频率时钟和提供给数据处理装置的电源电压之任一种来指定是处于第1动作环境还是处于第2动作环境。
21.根据权利要求20的数据处理装置,其特征在于所述指令执行器具有根据在指令译码器中译码的指令执行指令内容的一部分的第1部分运算器、锁存第1部分运算器的执行结果的流水线锁存器、选择第1部分运算器的执行结果和流水线锁存器的输出的某一个的选择器和对选择器输出执行前述指令内容的其余部分的第2部分运算器;
在动作时钟的频率比所述规定的频率低的情况下,所述流水线控制装置用选择器选择前者,并使指令执行器按1循环时间动作;在动作时钟的频率比所述规定的频率高的情况下,所述流水线控制装置用选择器选择后者,并使指令执行器按2循环时间动作。
22.根据权利要求21的数据处理装置,其特征在于所述数据处理还装置设置有对由处理装置读出的指令中的扩展运算指令进行流水线处理的扩展处理装置,所述扩展处理装置设置扩展处理器和扩展流水线控制装置,所述扩展处理器对扩展运算指令进行流水线处理,所述流水线处理的流水线级数可变为K级和比K大的L级,所述扩展流水线控制装置跟随所述切换装置切换扩展处理器的流水线级数;
所述扩展处理器具有在1循环时间内对所述指令取出器所取出的扩展运算指令进行译码的指令译码器和在1循环时间和2循环时间的任一种时间内执行所述扩展运算指令的扩展指令执行器;
所述扩展流水线控制装置跟随所述切换装置切换使扩展指令执行器在1循环时间内动作还是在2循环时间内动作。
23.根据权利要求1的数据处理装置,其特征在于:
上述数据处理装置,还具有:
主处理装置,具有寄存器和从存储器读出指令的取出部,并在读出的指令中,对第1类的指令进行流水线处理;
上述处理装置,在由上述主处理装置读出的指令中,对第2类的指令进行流水线处理;
在上述处理装置进行n级流水线处理的情况下,所述主处理装置在规定的级内获得上述处理装置的执行结果;在上述处理装置进行m级流水线处理的情况下,所述主处理装置在从规定的级起的(m-n)级后的级内获得上述处理装置的执行结果,并把获得的执行结果存储在所述寄存器内。
24.根据权利要求23的数据处理装置,其特征在于所述数据处理装置还具有把上述主处理装置读出的指令传送到上述处理装置的指令总线、把第2类指令所指定的寄存器数据从上述主处理装置传送到上述处理装置的第1总线和把上述处理装置得到的第2类指令的执行结果从上述处理装置传送到上述主处理装置的第2总线;
所述主处理装置通过第1总线把第2类指令所指定的寄存器数据发送到上述处理装置,并通过第2总线获得上述处理装置的执行结果。
25.根据权利要求23的数据处理装置,其特征在于:
根据提供给数据处理装置的动作时钟的频率和提供给数据处理装置的电源电压之任一种来区分是处于所述第1动作环境还是处于所述第2动作环境。
26.根据权利要求23的数据处理装置,其特征在于所述主处理装置进行包含第1级、第2级、第3级、第4级、第5级的流水线处理,并设置指令取出器、第1译码器、第1执行器和数据控制器;指令取出器在第1级中从存储器内取出指令;第1译码器在第2级中对所取出来的第1类指令进行译码,同时检测出由第2类指令所指定的数据存储地址;第1执行器在第3级中根据第1译码器的译码结果执行第1类指令;数据控制器在第4级中根据第1译码器的译码结果对存储器进行存取,并在第5级中进行把指令的执行结果存储到寄存器内的控制;
所述处理装置具有第2译码器和第2执行器;第2译码器在第2级中对指令取出器所取出的第2类指令进行译码;第2执行器按第1模式在第3级中执行指令,按第2模式在第3级中执行指令的一部分,在第4级中执行指令的剩余部分;
所述流水线控制装置在指定为处于第1动作环境的情况下,使第2执行器按第1模式执行,在指定为处于第2动作环境的情况下,按第2模式执行;
所示数据控制器还按第1模式在第4级中获得第2执行器的执行结果,在第5级中写入到寄存器内,按第2模式在第5级中获得第2执行器的执行结果,并写入到寄存器内。
27.根据权利要求26的数据处理装置,其特征在于所述第2执行器具有:第1部分运算器,执行由第2译码器译码的指令的一部分;透过保持器,在第1模式下透过输出第1部分运算器的执行结果,在第2模式下保持第1部分运算器的执行结果,并输出到下一级;第2部分运算器,接受从透过保持器输出的第1部分运算器的执行结果,并执行该指令的剩余部分。
28.根据权利要求23的数据处理装置,其特征在于:上述主处理装置,对上述第1类指令进行比n大的L级所构成的流水线处理,各个级消耗相同单位时间;
在上述处理装置中的n级中的某级还可以切换消耗所述单位时间的通常模式和消耗所述单位时间的整数倍的延伸模式;
上述流水线控制装置,在第1动作环境的情况下,对上述规定级进行为通常模式的n级的流水线控制,在第2动作环境的情况下,对上述规定级进行为延伸模式的m级的流水线控制;
在上述处理装置处于通常模式的情况下,所述主处理装置在规定的级内获得上述处理装置的执行结果;在上述处理装置处于延伸模式的情况下,所述主处理装置在比所述规定级所延长份额之后的级内获得上述处理装置的执行结果;上述主处理装置再把获得的执行结果存储在所述寄存器内。
29.根据权利要求28的数据处理装置,其特征在于所述数据处理装置还具有把上述主处理装置读出的指令传送到上述处理装置的指令总线、把第2类指令所指定的寄存器数据从上述主处理装置传送到上述处理装置的第1总线和把由上述处理装置得到的第2类指令的执行结果从上述处理装置传送到上述主处理装置的第2总线;
所述主处理装置通过第1总线把第2类指令所指定的寄存器数据发送到所述处理装置,并通过第2总线获得上述处理装置的执行结果。
30.根据权利要求23的数据处理装置,其特征在于所述主处理装置进行包含第1级、第2级、第3级、第4级、第5级的流水线处理,并设置指令取出器、第1译码器、第1执行器和数据控制器;指令取出器在第1级中从存储器内取出指令;第1译码器在第2级中对所取出来的第1类指令进行译码,同时检测出由第2类指令所指定的数据存储地址;第1执行器在第3级中根据第1译码器的译码结果执行第1类指令;数据控制器在第4级中根据第1译码器的译码结果对存储器进行存取,并在第5级中进行把指令的执行结果存储到寄存器内的控制;
所述处理装置具有第2译码器和第2执行器;第2译码器在第2级中对指令取出器所取出的第2类指令进行译码;第2执行器按第1模式在第3级中消耗所述单位时间执行指令,按第2模式在延伸了的第3级中消耗所述单位时间的2倍执行指令;
所述流水线控制装置在指定为处于第1动作环境的情况下,使第2执行器按第1模式执行,在指定为处于第2动作环境的情况下,按第2模式执行;
所述数据控制器还按第1模式在第4级中获得第2执行器的执行结果,在第5级中写入到寄存器内,按第2模式在第5级内获得第2执行器的执行结果,并写入到寄存器内。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7731396 | 1996-03-29 | ||
JP77313/96 | 1996-03-29 | ||
JP77313/1996 | 1996-03-29 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB971096023A Division CN1183462C (zh) | 1996-03-29 | 1997-03-29 | 可变流水线级数的数据处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1607499A true CN1607499A (zh) | 2005-04-20 |
CN1303524C CN1303524C (zh) | 2007-03-07 |
Family
ID=13630438
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB971096023A Expired - Lifetime CN1183462C (zh) | 1996-03-29 | 1997-03-29 | 可变流水线级数的数据处理装置 |
CNB2004100974753A Expired - Lifetime CN1303524C (zh) | 1996-03-29 | 1997-03-29 | 可变流水线级数的数据处理装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB971096023A Expired - Lifetime CN1183462C (zh) | 1996-03-29 | 1997-03-29 | 可变流水线级数的数据处理装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6018796A (zh) |
EP (1) | EP0798633B1 (zh) |
KR (1) | KR100471794B1 (zh) |
CN (2) | CN1183462C (zh) |
DE (1) | DE69733444D1 (zh) |
TW (1) | TW337567B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100451951C (zh) * | 2006-01-26 | 2009-01-14 | 深圳艾科创新微电子有限公司 | Risc cpu中的5+3级流水线设计方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167529A (en) * | 1997-12-30 | 2000-12-26 | Intel Corporation | Instruction dependent clock scheme |
JP2001092662A (ja) * | 1999-09-22 | 2001-04-06 | Toshiba Corp | プロセッサコア及びこれを用いたプロセッサ |
US6862677B1 (en) * | 2000-02-16 | 2005-03-01 | Koninklijke Philips Electronics N.V. | System and method for eliminating write back to register using dead field indicator |
US7024663B2 (en) * | 2002-07-10 | 2006-04-04 | Micron Technology, Inc. | Method and system for generating object code to facilitate predictive memory retrieval |
US20040243875A1 (en) * | 2002-12-23 | 2004-12-02 | Vishram Dalvi | Instruction dependent clock scheme |
KR20070004705A (ko) * | 2004-03-10 | 2007-01-09 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 전자 회로와 그 동작 방법 |
JP4444860B2 (ja) | 2005-03-10 | 2010-03-31 | 富士通株式会社 | リコンフィギュラブル回路およびそのコンフィギュレーション方法 |
US7809926B2 (en) * | 2006-11-03 | 2010-10-05 | Cornell Research Foundation, Inc. | Systems and methods for reconfiguring on-chip multiprocessors |
US20110067015A1 (en) * | 2008-02-15 | 2011-03-17 | Masamichi Takagi | Program parallelization apparatus, program parallelization method, and program parallelization program |
JP5481793B2 (ja) * | 2008-03-21 | 2014-04-23 | 富士通株式会社 | 演算処理装置および同装置の制御方法 |
JP5170234B2 (ja) * | 2008-03-25 | 2013-03-27 | 富士通株式会社 | マルチプロセッサ |
US11645083B2 (en) * | 2013-08-23 | 2023-05-09 | Texas Instruments Incorporated | Processor having adaptive pipeline with latency reduction logic that selectively executes instructions to reduce latency |
CN105739948A (zh) * | 2014-12-12 | 2016-07-06 | 超威半导体(上海)有限公司 | 自适应可调节的流水线以及适应性地调节流水线的方法 |
KR102171119B1 (ko) | 2015-11-05 | 2020-10-28 | 삼성전자주식회사 | 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법 |
CN109634667B (zh) * | 2018-12-11 | 2023-03-14 | 中国电子科技集团公司第四十七研究所 | 一种基于时钟的双速流水线架构微处理器及其实现方法 |
CN110045989B (zh) * | 2019-03-14 | 2023-11-14 | 合肥雷芯智能科技有限公司 | 一种动态切换式低功耗处理器 |
CN110780616A (zh) * | 2019-09-06 | 2020-02-11 | 重庆东渝中能实业有限公司 | 一种基于流水线技术处理通讯命令的方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57168350A (en) * | 1981-04-09 | 1982-10-16 | Mitsubishi Electric Corp | Information processor |
JPS58106641A (ja) * | 1981-12-18 | 1983-06-25 | Fujitsu Ltd | パイプライン命令実行制御方式 |
JP2806524B2 (ja) * | 1988-03-04 | 1998-09-30 | 日本電気株式会社 | ベクトル演算命令発行制御方法 |
JPH02159624A (ja) * | 1988-12-13 | 1990-06-19 | Nec Corp | 先入れ先出しレジスタ装置 |
JPH077356B2 (ja) * | 1989-05-19 | 1995-01-30 | 株式会社東芝 | パイプライン方式のマイクロプロセッサ |
US5488729A (en) * | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
US5471626A (en) * | 1992-05-06 | 1995-11-28 | International Business Machines Corporation | Variable stage entry/exit instruction pipeline |
US5706459A (en) * | 1994-01-06 | 1998-01-06 | Fujitsu Limited | Processor having a variable number of stages in a pipeline |
SG75756A1 (en) * | 1994-02-28 | 2000-10-24 | Intel Corp | Method and apparatus for avoiding writeback conflicts between execution units sharing a common writeback path |
US5778250A (en) * | 1994-05-23 | 1998-07-07 | Cirrus Logic, Inc. | Method and apparatus for dynamically adjusting the number of stages of a multiple stage pipeline |
US5734598A (en) * | 1994-12-28 | 1998-03-31 | Quantum Corporation | Low power filter coefficient adaptation circuit for digital adaptive filter |
-
1997
- 1997-03-26 EP EP97302072A patent/EP0798633B1/en not_active Expired - Lifetime
- 1997-03-26 DE DE69733444T patent/DE69733444D1/de not_active Expired - Lifetime
- 1997-03-27 TW TW086103949A patent/TW337567B/zh not_active IP Right Cessation
- 1997-03-28 KR KR1019970011067A patent/KR100471794B1/ko not_active IP Right Cessation
- 1997-03-28 US US08/825,479 patent/US6018796A/en not_active Expired - Lifetime
- 1997-03-29 CN CNB971096023A patent/CN1183462C/zh not_active Expired - Lifetime
- 1997-03-29 CN CNB2004100974753A patent/CN1303524C/zh not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100451951C (zh) * | 2006-01-26 | 2009-01-14 | 深圳艾科创新微电子有限公司 | Risc cpu中的5+3级流水线设计方法 |
Also Published As
Publication number | Publication date |
---|---|
DE69733444D1 (de) | 2005-07-14 |
CN1183462C (zh) | 2005-01-05 |
EP0798633B1 (en) | 2005-06-08 |
KR970066864A (ko) | 1997-10-13 |
CN1170906A (zh) | 1998-01-21 |
EP0798633A2 (en) | 1997-10-01 |
CN1303524C (zh) | 2007-03-07 |
KR100471794B1 (ko) | 2005-05-16 |
EP0798633A3 (en) | 2000-01-26 |
US6018796A (en) | 2000-01-25 |
TW337567B (en) | 1998-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1183462C (zh) | 可变流水线级数的数据处理装置 | |
CN1114152C (zh) | 适合于进行饱和运算的处理器及其控制方法 | |
CN1089460C (zh) | 多指令集的数据处理 | |
CN1129843C (zh) | 使用组合的数据处理器系统和指令系统 | |
CN1088214C (zh) | 用多指令集处理数据的器件和方法 | |
CN1208900C (zh) | 运算电路 | |
CN1637748A (zh) | 可重配置电路、具备可重配置电路的处理装置 | |
CN1210647C (zh) | 适于作由正值处理及饱和运算处理组成的修整处理的处理器 | |
CN1121014C (zh) | 具有risc结构的八位微控制器 | |
CN1828563A (zh) | 处理器及信息处理方法 | |
CN1655118A (zh) | 处理器和编译器 | |
CN1503142A (zh) | 控制高速缓存的高速缓存系统和高速缓存控制装置 | |
CN1146784C (zh) | 用字长短的指令实现多个寄存器的数据传送的信息处理装置 | |
CN1147155C (zh) | Dct运算装置 | |
CN1272704C (zh) | 低电力动作控制装置及程序最佳化装置 | |
CN1286005C (zh) | 微处理器 | |
CN1310116C (zh) | 具有功率控制功能的微处理器以及指令转换装置 | |
CN1442954A (zh) | 包含逻辑电路的总线缓冲电路 | |
CN1202473C (zh) | 具有中断控制功能的信息处理方法和信息处理装置 | |
CN1882923A (zh) | 高速缓冲存储器及其控制方法 | |
CN1734415A (zh) | 分枝预测装置及分枝预测方法 | |
CN1324421C (zh) | 一种中央处理器变频及中央处理器风扇变速的方法和装置 | |
CN1598797A (zh) | 实时处理器系统及控制方法 | |
CN1969458A (zh) | 可编程逻辑电路控制装置、可编程逻辑电路控制方法和程序 | |
CN1301005C (zh) | 信息处理装置及使用它的电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151104 Address after: Kanagawa Patentee after: Co., Ltd. Suo Si future Address before: Osaka Japan Patentee before: Matsushita Electric Industrial Co., Ltd. |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20070307 |