CN1206145A - 带有流水线处理电路的信号处理器及其方法 - Google Patents
带有流水线处理电路的信号处理器及其方法 Download PDFInfo
- Publication number
- CN1206145A CN1206145A CN 98115530 CN98115530A CN1206145A CN 1206145 A CN1206145 A CN 1206145A CN 98115530 CN98115530 CN 98115530 CN 98115530 A CN98115530 A CN 98115530A CN 1206145 A CN1206145 A CN 1206145A
- Authority
- CN
- China
- Prior art keywords
- instruction
- address
- storage
- transfer
- stored
- 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.)
- Pending
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
一种用于流水线处理的信号处理器及方法,该处理器能有效地避免因转移指令而导致的处理效率下降,其中当获得了关于ID模块内所译码的指令是转移指令的结果时,就在下一个周期内对EX模块内的转移存在情况进行判断,并在IF模块内同时取出转移目的地的指令和非转移目的地的指令,随后在下一周期中,根据存在转移的结果选定所取出的转移目的地或非转移目的地的指令,然后在ID模块内对该指令译码。
Description
本发明涉及带有流水线电路的信号处理器及其方法。
安装在数字信号处理器(DSP)内的精简指令集计算机(RISC)等通常如下所述那样根据程序进行信号处理。也就是说,一个处理器通过顺序地执行下列指令步骤(阶段)来对程序中的各条指令进行信号处理:指令读取步骤(IF步骤),它用于从指令存储器中取出指令;指令译码步骤(ID步骤),它用于对取出的指令进行译码;执行步骤(EX步骤),它用于执行已译码的指令;存储器访问步骤(MEM步骤),它用于访问存储器;以及,写入步骤(WB步骤),它用于将上述访问所获得的结果写入存储器。
在这种情况下,在把用于读取指令的时间调整到用于前一指令的WB步骤结束之后时间时,对各个IF步骤、ID步骤、EX步骤、MEM步骤以及WB步骤来说,从开始读取前一指令的时间到用于下一指令的WB步骤结束时间需要花费双倍的总时间。
图1是相关技术的计算机处理器1的框图。
如图1所示,处理器1包括一IF模块2、一寄存器3、一ID模块4、一寄存器5、一EX模块6、一寄存器7、一MEM模块8、一寄存器9、一WB模块10以及一控制器11。
IF模块2、ID模块4、EX模块6、MEM模块8,WB模块10分别执行IF步骤、ID步骤、EX步骤、EX步骤、MEM步骤以及WB步骤。
这里,在处理器1中,为了增加单位时间的处理量,通常采用流水线处理,这种处理并行地执行上述不同步骤的处理。
在流水线处理中,如图2所示,在一个周期内完成所有步骤的处理,就每个周期而言,指令顺序地输入给处理器,并且,并行地执行有IF步骤、ID步骤、EX步骤、MEM步骤和WB步骤的不同指令。
具体地说,在图1所示的处理器1中,在一个周期间隔将指令n至n+4输入给处理器1。在周期20中,并行地执行指令n的WB步骤、指令n+1的MEM步骤、指令n+2的EX步骤、指令n+3的IF步骤以及指令n+4的IF步骤。
通过这种方式,在使用五步流水线处理时,与不用流水线处理的情况相比,每个周期的处理量可增加四倍。
尽管参照使用五步流水线处理的实例说明了上述处理器1,但是,也可以对指令的处理进一步细分以简化每一步骤中的处理,从而提高时钟频率并增加单位时间的处理量。
如上所述,在处理器1中,如图2所示,在开始指令n的EX步骤时,就开始指令n+1的ID步骤和指令n+2的IF步骤。
当指令n是一转移指令时,会在ID步骤中识别出指令n是否是转移指令。但是,仅在处理EX步骤中的指令n时才判断是否转移,也即是否满足转移条件。因此,在确定了指令n是一转移指令时,已经取出了指令n之后的指令n+1和n+2。
这时,如果指令n+1和n+2继续进入流水线处理,就会终止执行用于非转移目的地的指令(紧接着转移指令之后的指令),从而不能正确地执行。
为了避免上述情况,例如,如图3所示,当在EX步骤中确定出一条指令是转移指令时,就中断业已取出的后续指令n+1和n+2,并且,顺序地读取下一个周期的转移目的地处的指令m和m+1。
但是,中断业已取出的指令具有降低处理效率的缺点。例如,在图3所示的情况中,转移会导致两个周期的延时。
为了克服上述现象,使用了设置转移指令之后的指令的“延时转移”技术,因此,将以与判断转移指令是否存在无关的方式执行的指令放置在紧接着转移指令之后,并且,延时执行那些与是否有转移指令有关的指令。这里,转移指令之后的指令中以与转移无关的方式执行的一组指令称为“延时段(delay slot)”。
在使用上述延时转移技术时,如果延时段中的指令数量大于取出之后因转移而中断的指令数量,则可以把延时段放置于紧接在转移指令之后。如果不是这种情况,必须将一指示系统什么都不做的“nop”(空操作)指令放置于紧接在转移指令之后。因此,存在处理效率下降的缺点。
还有诸如在ID步骤中识别出转移指令时使流水线停止、仅在转移判断之后取出一转移目的地或一非转移目的地指令、然后使流水线重新开始之类的其它方法。
但是,不论使用什么方法,都不可能在执行转移指令(转移判断)之前指定取下一条指令,所以,流水线会停止,直至指定读取的指令,从而处理效率会下降。
因此,使用流水线处理的处理器1具有由转移指令所导致的“转移损失”。不可能减少这种损失以便有更好的效率。
为了尽可能地减少这种转移损失,存在有事先预测转移的方法。但是,如果预测错误,则会导致较大的损失。还有,安装预测电路具有增加处理器尺寸的缺点。
另一种方法是在ID步骤中进行转移判断并立即进行转移。但是,如果转移指令之前的指令(在EX步骤中)正在处理上述判断所涉及的数据,则会出现临界的路径,难以进行高速安装。
本发明考虑到了上述相关技术。本发明的一个目的是提供一种用于流水线处理的信号处理器及其方法,所述信号处理器及方法能有效地抑制因转移指令所导致的处理效率下降。
依照本发明的第一个方面,提供了一种信号处理器,它包括:用于存储指令的装置;用于从上述指令存储装置中取出指令的装置;用于对取出的指令进行译码的装置;用于执行上述译码后的指令的装置;一存储器;用于访问上述存储器的装置;用于将所执行的结果写入被访问的存储器的装置;以及,用于对指令读取装置、指令译码装置、指令执行装置、存储器访问装置以及写入装置中的操作进行流水线处理的装置。所述指令读取装置包括:一程序计数器,它以顺序的方式指定指令存储装置中的地址;一地址存储部分,它在译码后的指令是转移指令时存储一地址,该地址是被包括在转移指令中的转移目的地的地址;一指令存储部分,它带有多个其中存储有指令的可同时访问的存储区;一读取部分,它可在译码后的指令是转移指令时同时取出存储在指令存储装置内第一地址处的第一指令以及存储在指令存储装置内第二地址处的第二指令,所述第一地址由程序计数器来指示,所述第二地址由存储在地址存储装置内的地址来指示;以及,一选择部分,它用于根据对转移指令中的转移条件的判断而选择同时取出的第一和第二指令中的一个并将该指令输出给指令译码装置。
最佳的是,指令存储部分将一转移指令的转移目的地的指令以及该转移指令的非转移目的地的另一条指令存储到不同的存储区内。
更佳的是,指令存储部分将对应于存储区数目的多个顺序且连续处理的指令存储到不同的存储区。
最佳的是,指令存储部分包括一单端口式存储器,它具有一个单个的读出端口。
最佳的是,指令读取装置还包括一标志存储部分,该部分存储表示存储在地址存储部分内的地址合法性的标志,并且,该指令读取装置仅在存储在标志存储部分内的标志表示地址是合法的时才取出存储在指令存储部分内的地址,该地址由存储在地址存储部分内的地址来指示。
最佳的是,指令读取装置内的读取部分根据地址的第一部分来指定存储区,并根据地址的第二部分指定存储区内的地址。
最佳的是,指令译码装置包括:一译码部分,它用于对在选择部分处选定的指令进行译码并生成一控制信号以便执行译码后的指令;以及,还包括一数据存储部分,它存储指令执行装置中所使用的数据。
最佳的是,指令执行装置包括一算法与逻辑处理部分以及一转移判断部分,该部分用于判断转移指令的转移条件。
最佳的是,写入装置将指令执行装置的处理结果存储进存储器和指令译码装置中的数据存储部分。
更佳的是,所述信号处理器包括一单个指令读取装置、一单个指令译码装置、一单个指令执行装置、一单个指令访问装置以及一单个写入装置。
依照本发明的第二个方面,提供了处理信号的方法,该方法包括下列步骤:从指令存储装置中读取出一条指令;对取出的指令进行译码;执行译码后的指令;访问存储器;将执行后的结果写入所访问的存储器;以及,以流水线的方式处理所说的读取、译码、执行、访问和写入操作,所述读取步骤包括下列步骤:顺序地指定指令存储装置中的地址以指明一非转移目的地指令的地址;在译码后的指令是转移指令时存储一地址,该地址是被包括在转移指令中的转移目的地地址;将转移目的地的指令和非转移目的地的另一条指令存入指令存储装置中不同的可同时访问的存储区内;当译码后的指令是一转移指令时,同时读取存储在指令存储装置中第一地址处的第一指令和存储在指令存储装置中第二地址处的第二指令,所述第一地址由程序计数器来指示,所述第二地址由存储在地址存储装置中的地址来指示;根据对转移指令的转移条件的判断而选择出同时取出的第一和第二指令中的一个;以及,对所选定的取出指令进行译码。
以下参照附图详细说明本发明的上述和其它目的及特点,在附图中:
图1是相关技术的处理器的框图;
图2是图1所示处理器中流水线处理的示意图;
图3是在图2的流水线处理中执行一转移指令时的处理过程的示意图;
图4是本发明一个实施例的处理器的框图;
图5是图4所示指令存储器的框图;
图6是图5中存储器内指令存储格式的示意图;以及
图7是在图4所示的处理器中通过流水线处理来执行一转移指令时的处理过程的示意图。
以下说明本发明一个实施例的处理器。
图4是本发明实施例的处理器41的框图。
如图4所示,处理器41例如包括一模块42、一寄存器43、ID模块44、寄存器45、EX模块46、寄存器47、MEM模块48、寄存器49、WB模块50以及控制器51。
IF模块42、ID模块44、EX模块46、MEM模块48以及WB模块50分别执行IF步骤、ID步骤,EX步骤、MEM步骤和WB步骤。
处理器41执行与上述处理器1相同的流水线处理。但以不同于处理器1的方式处理转移指令。也就是说,在处理器41中,以与图1中处理器1相同的方式在一个周期内完成对各个步骤的处理,指令在每个周期内顺序地输入给处理器,通过流水线处理并行地执行用于五个指令的IF步骤、ID步骤、EX步骤和MEM步骤。
但是,与处理器1不同,处理器41在ID模块中对指令进行译码,并在把一指令识别为转移指令时判断下一个周期的EX模块46中是否存在一个转移,且在IF模块42中同时取出用于转移目的地的指令和用于非转移目的地的指令。在随后的周期中,根据转移判断的结果选定取出的用于转移目的地或非转移目的地的指令中的一个,并在ID模块44中对选出的指令进行译码。
以下详细说明图4所示的处理器41的结构单元。
首先说明IF模块42。
如图4所示,IF模块42例如包括一程序计数器60、指令存储器61以及用作一个选择单元的多路转换器62。
程序计数器60根据来自控制器51的控制信号S51a指示下次要读取的指令在指令存储器61内的地址并在每一个周期均顺序地使该地址增一。
图5是指令存储器61的框图。
如图5所示,指令存储器61包括用作指令存储单元的存储器80、一标志寄存器81、地址寄存器82和83、访问控制单元841至848以及多路转换器86和87。
存储器80是一单端口存储器,它具有八个存储单元例如801至88,可同时访问这八个存储单元。通过把一单端口存储器用作存储器80,可以减小设备的尺寸并降低成本。
最佳的是,将存储器80的存储单元的数量设置为2的幂。
如图6所示,程序中的指令1、2、3、4、5、6、7和8顺序地存储在存储单元801、802、803、804、805、806、807和808中,然后,指令9……顺序地存储于存储单元801到808。因此,在一条转移指令出现时,用于转移目的地的指令和用于非转移目的地的指令被存储到同一存储单元内的概率为八分之一。当用于转移目的地的指令和用于非转移目的地的指令存储在同一存储单元内时,不可能同时取出这些指令。当这种情况出现时,在不改变程序语义(意义)的情况下用另一条指令来替换这些指令中的一个。如果这种替换是不可能的,则将“nop”(空操作)指令插入移位指令,因此,用于转移目的地的指令和用于非转移目的地的指令不会到达同一存储单元。
结果,在转移指令出现时,可以将用于转移目的地的指令和用于非转移目的地的指令存入不同的存储单元并能同时读出这些指令。
当存储器80具有如前所述那样的8个存储单元结构时,存储在地址寄存器82和83中的地址的较低3位表示存储单元号,较高位表示各存储单元中的地址。
当存储在地址寄存器82或83中的地址的较低三位分别是000,001,010,011,100,101,110和111时,存储单元801至808被启动。
地址寄存器82将地址存入存储器80,存储器80则存储有由程序计数器60所指示的用于非转移目的地的指令。
地址寄存器83将地址存入存储器80,存储器80则存储有来自ID模块44的用于转移目的地输入的指令。
因此,IF模块42有两个地址寄存器,它们用于同时访问存储器80的两个存储单元。
标志寄存器81存储有一标志,它指示存储在地址寄存器83内的转移目的地的地址是否合法。标志寄存器81在来自ID模块44的转移目的地的地址存入地址寄存器83时存储有标志〔1〕,而在其它情况下则存储有标志〔0〕。
多路转换器851至858例如根据来自控制器51的控制信号S51a来选定存储在地址寄存器82内的用于非转移目的地的指令地址和存储在地址寄存器83内的用于转移目的地的指令地址这二者中的一个,并将它们输出以便分别访问控制单元841至848。
当来自多路转换器851至858的地址的较低三位表示相应的存储单元801至808时,访问控制单元841至848会根据所说的来自多路转换器851到858的地址用较高位分别从存储单元801至808中读出指令。
当存储在标志寄存器中的标志表示〔1〕时,访问控制单元841至848不会用存储在地址寄存器83中的地址对存储单元801至808进行读操作。
多路转换器86从自访问控制单元841至848中读取的结果之中选定从由存储在地址寄存器82中的地址的较低三位所指定的存储单元801至808中读出的结果,并将选定的转移目的地的指令S86输出给多路转换器82。
多路转换器86从自访问控制单元841至848中读取的结果之中选定从由存储在地址寄存器83中的地址的较低三位所指定的存储单元801至808中读出的结果,并将选定的转移目的地的指令S87输出给多路转换器62。
在IF模块42中,同时读出由存储在地址寄存器82中的地址所表示的非转移目的地的指令地址和由存储在地址寄存器82中的地址所表示的转移目的地的指令地址。这时,转移指令处于EX步骤并判断是否进行转移。在判断周期结束之前,转移判断S46的结果从EX模块46返回至多路转换器62。因此,根据上述结果在多路转换器62处选定已经同时读出的用于转移目的地的指令S68或用于非转移目的地的指令S87这二者中的一个,并且,结束IF模块中处理。所选定的指令S62在锁存于图4所示寄存器43之后被输出给ID模块44。
以下说明图4所示的ID模块44。
如图4所示,ID模块44具有一译码器65和一寄存器文件66。
译码器65根据控制信号S51b对经由寄存器43自IF模块42输入的指令S62进行译码、生成多个用于执行指令的控制信号并将控制信号S65输出给控制器51。同时,译码器访问寄存器文件66并读取要用于在EX模块46中进行处理的数据。读出的数据S66锁存在寄存器45内并输出给随后的EX模块46。
还有,当对来自寄存器43的指令S62的译码结果表示该指令是一转移指令时,译码器65就将转移目的地的地址S44a输出给图5所示IF模块42中的地址寄存器83以便进行存储,并将标志〔1〕存入模块42中的标志寄存器81。
结果,在随后的周期中,对EX模块46中的转移指令进行转移判断。同时,在IF模块42中同时读取出用于转移目的地的指令和用于非转移目的地的指令。
以下说明图4所示的EX模块46。
EX模块46包括:一ALU(算法与逻辑单元)67,它用于执行算法处理;一转移判断电路68;以及,一未示出的地址生成电路。
ALU67根据控制信号S51c按照来自控制器51的译码结果用数据S66进行信号处理。
所述地址生成电路生成数据存储器69内的地址,而数据存储器69则存储有ALU67中处理结果的数据。
请注意,就算法处理而言,ALU68使用存储在数据存储器69中并通过访问寄存器文件66输出给寄存器文件66的数据。
还有,ALU67通过寄存器文件66将算法处理的结果存入存储器69。
EX模块46将ALU68所处理的算法结果以及地址生成电路所生成的地址通过寄存器47输出给MEM模块48。
当在ALU67中执行的指令是转移指令时,转移判断电路68就将指示进行转移的转移判断结果S46输出给IF模块42。同时,对转移条件求值,从而进行转移判断。IF模块42根据转移判断的结果S46选择在图5所示的多路转换器62处同时取出的用于转移目的地的指令或用于非转移目的地的指令这两者之中的一个。
以下说明MEM模块48。
MEM模块48具有数据存储器69和未示出的控制电路。
在接收到写操作指令时,MEM模块48根据来自控制器51的控制信号S51d将自EX模块46输入的算法处理结果数据存至(写至)数据存储器69中通过寄存器47自EX模块46输入的地址。
在接收到读操作指令时,MEM模块根据来自控制器51的控制信号S51d从数据存储器69中通过寄存器47自EX模块46输入的地址读取数据。
在接收到不需要访问数据存储器69的指令时,MEM模块48通过寄存器49将通过寄存器47自EX模块输入的算法处理结果数据输出给WB模块50。
此外,MEM模块根据来自控制器51的控制信号在多路转换器处选定读自数据存储器69的数据或来自EX模块的算法处理结果数据这两者之中的一个,并将其通过寄存器49输出至WB模块50。
以下说明WB模块50。
WB模块50根据控制信号S51e将通过寄存器49自MEM模块48输入的数据存至ID模块44中的寄存器文件66。
以下说明处理器41的操作。
图1是处理器41中出现转移时转移指令的流水线处理的示意图。
首先,在周期“1”中将指令n锁存至图4中所示的IF模块42,然后,在下一个周期“2”中于ID模块44处对指令n译码,同时,在IF模块42处取出指令n+1。
这期间,在IF模块42中,将表示〔0〕的标志存入图5所示的标志寄存器81,并且,访问控制器841至848根据程序计数据60所指示的存储在地址寄存器82中的地址从存储器80中读出指令,并通过多路转换器86和62将读出的指令输出给寄存器43。
而且,在ID模块44处将指令n确认为一转移指令,图4所示的译码器65将标志〔1〕存入图5所示的指令存储器61的标志寄存器81内,并且,用于转移目的地的指令的地址存在地址寄存器83内。
然后,在图1所示的周期“3”中,在EX模块46的转移判断电路68处判断指令n是否满足转移条件。当满足所述条件时,将表示满足该条件的转移判断结果S46输出给图4和图5所示的多路转换器62。
同时,在图5所示的指令存储器61中,访问控制单元841至848根据存储在地址寄存器82和83内的地址从存储器80中读出用于转移目的地的指令m和用于非转移目的地的指令n+2。然后,将用于非转移目的地的指令n+1(S86)和用于转移目的地的指令m(S87)输出给多路转换器62,此后,根据转移判断的结果S46在多路转换器62处选出用于转移目的地的指令m,并将其作为指令S62通过寄存器47输出给MEM模块48。
在周期“2”中,中断在IF模块42处取出的指令n+1。
然后,在周期4中,MEM模块48、ID模块44和IF模块42分别执行指令n的MEM步骤、指令m的ID步骤以及指令m+1的IF步骤。
此后,在周期5中,WB模块50、EX模块46、ID模块44以及IF模块42分别执行指令n的WB步骤、指令m的EX步骤、指令m+1的ID步骤以及指令m+2的IF步骤。
然后,只要没有转移指令,就可顺序地执行指令m+3、m+4、……的IF步骤、ID步骤、EX步骤、MEM步骤和WB步骤。
图2是处理器41中转移指令进行转移时的流水线处理的示意图。
在这种情况下,可在周期“1”和“2”中实现与上述因转移指令而出现转移的情况的流水线处理相同的处理。
然后,在周期“3”中,在EX模块的转移判断电路68中判断指令n是否满足转移条件。在不满足上述条件时,将表示不满足转移条件的转移判断结果S46输出给图4和图5所示的多路转换器62。
同时,在图5所示的指令存储器61中,根据存储在地址寄存器82和83中的地址,在访问控制单元841至848内从存储器80读出用于转移目的地的指令m和用于非转移目的地的指令n+2。然后,将用于非转移目的地的指令n+2(S86)和用于转移目的地的指令m(S87)输出给多路转换器62,其中,根据转移判断的结果S46选定用于非转移目的地的指令n+2并将其作为指令S62通过寄存器47输出给MEM模块48。
而且,中断周期“2”中在IF模块42内取出的指令n+1。
然后,在周期“4”中,MEM模块48、ID模块44以及IF模块42分别执行指令n的MEM步骤、指令n+1的ID步骤以及指令n+2的IF步骤。
此后,在周期“5”中,WB模块50、EX模块46、ID模块44和IF模块42分别执行指令n的WB步骤、指令n+1的EX步骤、指令n+2的ID步骤以及指令n+3的IF步骤。
然后,只要没有转移指令,就指令n+4、n+5、……而言,可由IF步骤、ID步骤、EX步骤、MEM步骤以及WB步骤顺序地实现相同的处理。
如上所述,依照处理器41,当在ID模块44内把一指令确认为转移指令同时该转移指令正被执行并在下一个周期的EX模块46中进行转移判断时,一旦获得了转移判断的结果S46,就同时读出用于转移目的地的指令和用于非转移目的地的指令,并且选出一适当的指令。结果,可以以与是否进行转移的转移判断结果S46无关的方式在下一周期将用于转移或非转移目的地的指令输出给ID模块44。
所以,与相关技术的上述并行处理器1相比,在转移时可以有效地防止处理效率下降。
具体地说,依照处理器41,与不预测转移的传统方法相比,在出现转移指令时,可将处理时间缩短若干个周期。
此外,依照处理器41,与预测转移出现的传统方法相比,在预测被证明是错误的时,可将处理时间缩短若干个周期。
再者,依照处理器41,与传统的延时转移方法相比,当用若干插入的空操作指令来执行转移指令以便防止延时段为其它指令所占用时,可以降低无用的时钟消耗(转移损失)。
本发明并不局限于上述实施例。
例如,在上述实施例中,可将具有单个读取端口的单个存储器端口用作图5所示的存储器80,但是,也可以使用具有多个读取端口的多端口存储器。
而且,在上述实施例中,如图4所示那样说明了五步流水线处理的结果,但是,本发明也可用于多于五步的流水线处理。
此外,对于图4所示的指令存储器61的结构,只要具有相同的功能就不局限于具体如图5所示的结构。
如上所述,依照本发明,可以有效地防止流水线处理的效率因转移指令而下降。
Claims (11)
1.一种微处理器,它包括:
用于存储指令的装置;
用于从上述指令存储装置中取出指令的装置;
用于对取出的指令进行译码的装置;
用于执行上述译码后的指令的装置;
一存储器;
用于访问上述存储器的装置;
用于将所执行的结果写入被访问的存储器的装置;以及,
用于对指令读取装置、指令译码装置、指令执行装置、存储器访问装置以及写入装置中的操作进行流水线处理的装置。
所述指令读取装置包括:
一程序计数器,它以顺序的方式指定指令存储装置中的地址;
一地址存储部分,它在译码后的指令是转移指令时存储一地址,该地址是被包括在转移指令中的转移目的地的地址;
一指令存储部分,它带有多个其中存储有指令的可同时访问的存储区;
一读取部分,它可在译码后的指令是转移指令时同时取出存储在指令存储装置内第一地址处的第一指令以及存储在指令存储装置内第二地址处的第二指令,所述第一地址由程序计数器来指示,所述第二地址由存储在地址存储装置内的地址来指示;以及,
一选择部分,它用于根据对转移指令中的转移条件的判断而选择同时取出的第一和第二指令中的一个并将该指令输出给指令译码装置。
2.如权利要求1的微处理器,其特征在于,所述指令存储部分将一转移指令的转移目的地的指令以及该转移指令的非转移目的地的另一条指令存储到不同的存储区内。
3.如权利要求1的微处理器,其特征在于,所述指令存储部分将对应于存储区数目的多个顺序且连续处理的指令存储到不同的存储区。
4.如权利要求1的微处理器,其特征在于,所述指令存储部分包括一单端口式存储器,它具有一个单个的读出端口。
5.如权利要求1的微处理器,其特征在于,所述指令读取装置还包括:
一标志存储部分,该部分存储表示存储在地址存储部分内的地址合法性的标志,并且,
该指令读取装置仅在存储在标志存储部分内的标志表示地址是合法的时才取出存储在指令存储部分内的地址,该地址由存储在地址存储部分内的地址来指示。
6.如权利要求1的微处理器,其特征在于,所述指令读取装置内的读取部分根据地址的第一部分来指定存储区,并根据地址的第二部分指定存储区内的地址。
7.如权利要求1的微处理器,其特征在于,所述指令译码装置包括:
一译码部分,它用于对在选择部分处选定的指令进行译码并生成一控制信号以便执行译码后的指令;以及,
一数据存储部分,它存储指令执行装置中所使用的数据。
8.如权利要求1的微处理器,其特征在于,所述指令执行装置包括:
一算法与逻辑处理部分,以及
一转移判断部分,该部分用于判断转移指令的转移条件。
9.如权利要求1的微处理器,其特征在于,所述写入装置将指令执行装置的处理结果存储进存储器和指令译码装置中的数据存储部分。
10.如权利要求1的微处理器,所述微处理处理器包括:
一单个指令读取装置;
一单个指令译码装置;
一单个指令执行装置;
一单个指令访问装置以及
一单个写入装置。
11.一种处理信号的方法,该方法包括下列步骤:
从指令存储装置中读取出一条指令;
对取出的指令进行译码;
执行译码后的指令;
访问存储器;
将执行后的结果写入所访问的存储器;以及,
以流水线的方式处理所说的读取、译码、执行、访问和写入操作,
所述读取步骤包括下列步骤:
顺序地指定指令存储装置中的地址以指明一非转移目的地的指令的地址;
在译码后的指令是转移指令时存储一地址,该地址是被包括在转移指令中的转移目的地地址;
将转移目的地的指令和非转移目的地的另一条指令存入指令存储装置中不同的可同时访问的存储区内;
当译码后的指令是一转移指令时,同时读取存储在指令存储装置中第一地址处的第一指令和存储在指令存储装置中第二地址处的第二指令,所述第一地址由程序计数器来指示,所述第二地址由存储在地址存储装置中的地址来指示;
根据对转移指令的转移条件的判断而选择出同时取出的第一和第二指令中的一个;以及,
将所选定的取出指令输出给指令译码装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 98115530 CN1206145A (zh) | 1997-06-30 | 1998-06-29 | 带有流水线处理电路的信号处理器及其方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP174407/97 | 1997-06-30 | ||
CN 98115530 CN1206145A (zh) | 1997-06-30 | 1998-06-29 | 带有流水线处理电路的信号处理器及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1206145A true CN1206145A (zh) | 1999-01-27 |
Family
ID=5224621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 98115530 Pending CN1206145A (zh) | 1997-06-30 | 1998-06-29 | 带有流水线处理电路的信号处理器及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1206145A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7076638B2 (en) | 2001-09-20 | 2006-07-11 | Matsushita Electric Industrial Co., Ltd. | Processor, compiler and compilation method |
CN1294484C (zh) * | 2000-11-02 | 2007-01-10 | 英特尔公司 | 利用重新调度的重放队列中断处理器中的重放依赖关系循环 |
CN100343800C (zh) * | 2004-06-15 | 2007-10-17 | 精工爱普生株式会社 | 信息处理装置、微型计算机及电子设备 |
CN100444107C (zh) * | 2004-03-31 | 2008-12-17 | 阿尔特拉公司 | 优化的处理器和指令对准 |
CN101189575B (zh) * | 2005-04-05 | 2010-05-19 | 英特尔公司 | 定序器地址管理 |
CN101201736B (zh) * | 2006-12-13 | 2011-08-10 | 索尼株式会社 | 数学运算处理装置 |
CN102315840A (zh) * | 2011-04-29 | 2012-01-11 | 中国科学技术大学 | 脉冲产生方法及装置 |
CN101178644B (zh) * | 2006-11-10 | 2012-01-25 | 上海海尔集成电路有限公司 | 一种基于复杂指令集计算机结构的微处理器架构 |
-
1998
- 1998-06-29 CN CN 98115530 patent/CN1206145A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1294484C (zh) * | 2000-11-02 | 2007-01-10 | 英特尔公司 | 利用重新调度的重放队列中断处理器中的重放依赖关系循环 |
US7076638B2 (en) | 2001-09-20 | 2006-07-11 | Matsushita Electric Industrial Co., Ltd. | Processor, compiler and compilation method |
US7761692B2 (en) | 2001-09-20 | 2010-07-20 | Panasonic Corporation | Processor, compiler and compilation method |
CN100444107C (zh) * | 2004-03-31 | 2008-12-17 | 阿尔特拉公司 | 优化的处理器和指令对准 |
CN101387951B (zh) * | 2004-03-31 | 2013-07-17 | 阿尔特拉公司 | 具有用于各种不同类型指令的公共子电路的处理器 |
CN100343800C (zh) * | 2004-06-15 | 2007-10-17 | 精工爱普生株式会社 | 信息处理装置、微型计算机及电子设备 |
US7340587B2 (en) | 2004-06-15 | 2008-03-04 | Seiko Epson Corporation | Information processing apparatus, microcomputer, and electronic computer |
CN101189575B (zh) * | 2005-04-05 | 2010-05-19 | 英特尔公司 | 定序器地址管理 |
CN101178644B (zh) * | 2006-11-10 | 2012-01-25 | 上海海尔集成电路有限公司 | 一种基于复杂指令集计算机结构的微处理器架构 |
CN101201736B (zh) * | 2006-12-13 | 2011-08-10 | 索尼株式会社 | 数学运算处理装置 |
CN102315840A (zh) * | 2011-04-29 | 2012-01-11 | 中国科学技术大学 | 脉冲产生方法及装置 |
CN102315840B (zh) * | 2011-04-29 | 2014-01-15 | 中国科学技术大学 | 脉冲产生方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1147794C (zh) | 具有静态转移预测支持的去耦取指令-执行引擎 | |
CN1148647C (zh) | 数据处理系统及其控制方法 | |
CN1088214C (zh) | 用多指令集处理数据的器件和方法 | |
US20030154358A1 (en) | Apparatus and method for dispatching very long instruction word having variable length | |
CN1121014C (zh) | 具有risc结构的八位微控制器 | |
CN1292343C (zh) | 处理器及处理管线中例外反应的装置与方法 | |
CN1655118A (zh) | 处理器和编译器 | |
CN1364261A (zh) | 用于在一个多线程处理器内进行线程切换的方法和装置 | |
CN1725175A (zh) | 分支目标缓冲器及其使用方法 | |
CN1250906A (zh) | 使用组合的数据处理器系统和指令系统 | |
CN1222985A (zh) | 在多级流水线结构中处理条件跳转的方法 | |
CN1206145A (zh) | 带有流水线处理电路的信号处理器及其方法 | |
CN1260647C (zh) | 在数据处理设备中锁定源寄存器的方法和该数据处理设备 | |
CN1729446A (zh) | 流水线安排的处理器方法和电路 | |
CN1035190A (zh) | 基于操作数长度和对位的微码转移 | |
CN1088701A (zh) | 三维计算机图形设备 | |
CN1149472C (zh) | 更名装置及处理器 | |
CN1427336A (zh) | 微处理器 | |
CN1155883C (zh) | 在流水线处理器中用于跳转延迟时隙控制的方法和装置 | |
CN1804789A (zh) | 具有包括数据部分和相关计数器的条目的硬件堆栈 | |
CN100339826C (zh) | 处理器和半导体器件 | |
CN100343799C (zh) | 产生流水线微处理器的早期状态标志的装置及方法 | |
CN1537268A (zh) | 信息处理装置及信息处理方法 | |
CN1716182A (zh) | 地址创建器和算术电路 | |
CN1577634A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |