微处理器中用以执行弹出比较微指令的装置及系统制造方法及图纸

技术编号:2867097 阅读:183 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种微处理器中用以执行弹出比较微指令的装置及系统,用以执行弹出比较运算。此微处理器中的装置包括成对运算转译逻辑器、载入逻辑器及执行逻辑器。成对运算转译逻辑器接收一指定弹出比较运算的宏指令,并产生弹出比较微指令。弹出比较微指令会指示微处理器中的管线层执行弹出比较运算。载入逻辑器耦接至成对运算转译逻辑器,用以接收弹出比较微指令,并从存储器的一地址中,读取第一操作数,其中,此地址由一寄存器的内容所指定。此寄存器由弹出比较微指令来指定。执行逻辑器则耦接至载入逻辑器,用以接收第一操作数,并将第一操作数与一第二操作数进行比较。

【技术实现步骤摘要】

本专利技术有关于微电子的领域,特别是有关于管线微处理器中用以有效执行字符串扫描及比较运算的装置及系统。
技术介绍
早期的微处理器一次只能执行一个指令。因此,每个个别的指令会从存储器中提取出来,并且该指令所指定的所有功能会由微处理器内的功能单元来执行,直到所有功能完成。此时,会将个别指令丢弃,并从存储器中,提取下个指令来执行。虽然早期微处理器中的程序指令的执行易于了解,但是其实际的执行效果是相当缓慢的。从那时起,微处理器的设计者即已不断着力于修改微处理器的架构,来改善指令的执行速度或处理量(throughput)。近来,管线架构在此
中已很普遍用来作为增加指令处理量的手段。管线架构将微处理器的功能单元拆解成一连串的连续运算,与装配线的层分化非常类似。因此,在一应用程序中,当微处理器的一特定层正执行由第一指令所指定的运算时,一紧接在该特定层前的层则执行由接在第一指令后的第二指令所指定的另一运算,这种情形是非常可能的(并且,从处理量的观点来看,是非常理想的)。当所有管线层都在执行运算时,就能使微处理器达到有效率的处理量。但当一特定管线层执行其指定运算花费太久的时间时,就会产生无效率的问题。在此情况中,一停顿(stall)信号会被送到先前的管线层,强制其暂停运作,直到该特定管线层完成其功能为止。管线架构已持续发展到如下程度许多程序指令(亦称为宏指令)所指定的运算可于通过管线一次即完成。例如,寄存器对寄存器的加法运算可在一寄存器层内,从寄存器中同时提取两个寄存器操作数,并在后续的一个执行层中将其相加产生结果,最后并在执行层后的一结果写回层中,将结果写回到一结果寄存器。因此,用以执行寄存器对寄存器的加法运算的单一指令,会被组态为与一管线频率同步而通过连续的管线层,而最终结果则为使用者可在单一管线周期内,执行寄存器对寄存器的加法。虽然许多宏指令所指定的运算可经由通过管线一次而完成执行,但仍有很多指令,其指定运算是如此复杂,以致无法通过管线在一个处理期间即完成。所谓的字符串比较指令即是一种这样类型的宏指令,如扫描字符串指令或比较字符串指令。这种类型的指令会间接指定一或两个操作数(其必须从数据存储器中读取,并且相互比较,或与储存于内部寄存器中的一第三操作数进行比较,以产生比较结果)的位置。此种型式的运算称为载入比较运算。然而,大部份的现代微处理器具有一特定管线层,其可进行这样的操作1)存取存储器中的操作数,或是2)使用提供的操作数来执行算术或逻辑计算。因此,在此特定层内的相同管线周期期间,不能同时执行这些型式的运算。因此,载入比较运算需要执行两个子运算。首先,操作数必须从存储器中读取。紧接于此的是,读取的操作数必须进行比较,以产生结果。因此,当执行从存储器中读取操作数的运算(亦即,第一子运算)时,后续指令的提取必须暂停。而当执行加法运算(亦即,第二子运算)时,才恢复提取的动作。从处理量的观点而言,使管线暂停一或多个周期是不利的。一个单一载入比较运算会导致至少一次管线暂停。特别是当字符串比较宏指令重复使用很多次时(通常可在很多应用程序内见到),原本因重复一次字符串比较运算所导致的暂停,会随着所指定的重复次数增加,而变得更为不利。在一管线微处理器中,任何需要多个管线周期来完成的运算,都会面临管线层的运作缺乏效率的问题。当这种无效率的运作因为前述重复状况而加重时,微处理器的执行速度会变差。因此,需要一种微处理器中的装置及系统,使载入比较运算能在单一管线周期中完成。
技术实现思路
除了别的应用外,本专利技术针对解决现有技术的这些及其它问题及缺点。本专利技术提出一种技术,用以达成管线微处理器中的载入比较及弹出比较运算。本专利技术提出一种微处理器装置,用以执行弹出比较运算。此微处理器装置包括一成对运算转译逻辑器、一载入逻辑器以及一执行逻辑器。成对运算转译逻辑器接收指定弹出比较运算的宏指令,并产生弹出比较微指令。弹出比较微指令会指示微处理器中的管线层执行弹出比较运算。载入逻辑器耦接至成对运算转译逻辑器,用以接收弹出比较微指令,并从存储器的一地址中,读取第一操作数,其中,此地址由一寄存器的内容所指定。此寄存器由弹出比较微指令来指定。执行逻辑器则耦接至载入逻辑器,用以接收第一操作数,并将第一操作数与一第二操作数进行比较。其中,该弹出比较微指令指示该载入逻辑器读取该第一操作数,并指示该执行逻辑器将该第一操作数与该第二操作数进行比较。该载入逻辑器包括该管线层中的一第一层,而该执行逻辑器包括该管线层中的一第二层,其中,该第二层位于该第一层之后。该弹出比较微指令于一单一管线周期中处理该第一层与该第二层其中之一。该第一层将该第一操作数及该弹出比较微指令传送到该第二层,以进行该第一操作数与该第二操作数的比较。该执行逻辑器根据该第一操作数与该第二操作数的一比较结果,更新一标志寄存器。该标志寄存器包括一零标志、一进位标志及一溢位标志。该执行逻辑器同时递增或递减该寄存器的该内容,使该内容指向该存储器中下一个地址,以供该执行逻辑器于下一个弹出比较运算期间进行比较。另一方面,本专利技术提出一种微处理器中的装置,用以执行扫描字符串指令或比较字符串指令。此装置具有一成对运算转译器,其组态为将扫描字符串指令或比较字符串指令转译成对应的微指令。对应微指令包括弹出比较微指令,用以指示微处理器,执行两种运算,其中这两种运算由微处理器的两个连续层来执行。这两个连续层包括载入层及执行层。载入层用以执行这两种运算中的第一种。这两种运算中的第一种包括从存储器的一位置中,读取第一操作数。执行层耦接至载入层。执行层用以执行这两种运算中的第二种。这两种运算中的第二种包括接收第一操作数,并将第一操作数与一第二操作数进行比较,而产生结果。其中,在该微处理器中,该执行层跟随该载入层。该弹出比较微指令是于一单一管线周期中处理该载入层与该执行层其中之一。该载入层将该第一操作数及该弹出比较微指令传送到该执行层,以进行该第一操作数与该第二操作数的比较。该执行层依据该结果更新一标志寄存器。该执行层同时递增或递减一寄存器的内容,使该内容指向该存储器的下一个地址,该存储器的该地址存储器有下一个操作数,以供该执行层于下一个弹出比较运算期间进行比较。另一方面,本专利技术提出一种管线微处理器中的系统,用以执行弹出比较运算。此系统具有一转入逻辑器及一载入逻辑器。该转入逻辑器所接收及转译的一宏指令对应于一弹出比较微指令。载入逻辑器接收该弹出比较微指令,并从一存储器位置中,读取第一操作数,且将第一操作数传送到管线微处理器的一后续层中的执行逻辑器。执行逻辑器在单一管线周期中,会将第一操作数与一第二操作数进行比较,而产生比较结果。其中,该弹出比较微指令指示该载入逻辑器读取该第一操作数,并指示该执行逻辑器比较该第一操作数与该第二操作数。该弹出比较微指令是于一单一管线周期中处理该载入层。附图说明图1为一相关技术的管线微处理器的管线层的方框图;图2为由图1的微处理器来执行重复字符串比较运算的表;图3为依据本专利技术绘示的用以进行成对载入比较或弹出比较运算的微处理器300的方框图;以及图4为由图3的微处理器来执行重复弹出比较运算的表。其中,附图标记说明如下100,300微处理器 101提取层102转译层 103寄存器层104地址层 本文档来自技高网
...

【技术保护点】
一种在微处理器中用以执行一弹出比较运算的装置,包括:一成对运算转译逻辑器,用以接收指定该弹出比较运算的一宏指令,并产生一弹出比较微指令,其中,该弹出比较微指令指示一微处理器中的管线层执行该弹出比较运算;一载入逻辑器,耦接至该 成对运算转译逻辑器,用以接收该弹出比较微指令,并从存储器的一地址读取一第一操作数,其中,该地址由一寄存器的内容所指定,该寄存器由该弹出比较微指令指定;以及一执行逻辑器,耦接至该载入逻辑器,用以接收该第一操作数,并将该第一操作数与一第 二操作数进行比较。

【技术特征摘要】

【专利技术属性】
技术研发人员:葛拉M柯尔G葛兰亨利泰瑞派克斯
申请(专利权)人:智慧第一公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1