状态寄存器更新逻辑电路的系统及其方法技术方案

技术编号:2874827 阅读:189 留言:0更新日期:2012-04-11 18:40
一种最佳化用来更新状态寄存器的管线式微处理器逻辑电路的系统,包括: 存储单元,用来存储多个指令; 寄存器缓冲器组; 读取单元,用来从该存储单元读取指令,并且与该寄存器缓冲器组连接;以及 解码单元,用来解码来自该读取单元的指令, 其中,当侦测到状态指令时,该解码单元会将该状态指令的完成延迟一段预定的时间。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术是关于微处理器的领域,特别是关于更新状态寄存器和最佳化逻辑电路。
技术介绍
管线式处理(pipeline processing)是一种信息(information)处理的方法。管线(pipeline)是由对信息执行处理的数个单元所组成。在第一个单元完成其对信息的处理之后,信息会被传递到另一单元。对该信息的处理会持续进行,直到信息通过管线中的所有单元为止。管线的优点是可以增加单位时间的处理量。使得在较少的周期(cycle)之内,可以处理更多的指令(instruction)。图1示出了一个使用管线式处理的微处理器100的方框图。微处理器100包括指令读取单元(instruction fetch unit)110,该指令读取单元110连接到解码单元115和指令快取单元(insturction cache unit,简称IC)135。解码单元115连接到执行单元120。执行单元120连接到存储器存取单元125。存储器存取单元125连接到寄存器回写单元(register writeback unit)130和存储器140。寄存器缓冲器组105连接到指令读取单元110、解码单元115、执行单元120、和寄存器回写单元130。在一个代表性的实施例中,寄存器回写单元130只能将信号传送到寄存器缓冲器组105,而不能从寄存器缓冲器组105接收信号。在图1中的微处理器100接收指令顺序作为输入,例如是指令n到指令n+9。指令读取单元110从指令快取单元135,要求和获取指令。指令快取单元135从主处理器存储器获得指令,并存储这些指令。指令快取单元135可以降低指令读取单元110获得指令所需的时间。通过在指令快取单元135中的些指令,指令读取单元110并不需要花费额外的时间等待来自主存储器的指令到达。当指令读取单元110获取指令时,也会同时要求其它指令。在需要之前,先要求指令,就是一般所知的预取(prefetching)。通过要求指令,快取单元135预取指令,可以进一步降低指令读取单元110等待接收指令所需的时间。在指令读取单元110已经返回指令快取单元135,以获取先前所要求的指令时,指令读取单元110会接收该指令,或必须等待指令快取单元135获得该指令。每当所要求的指令无法立即提供给指令读取单元110时,指令快取单元135会送出一个等待信号给指令读取单元110。以便告知指令读取单元110其需要等待,以接收该要求,而且在做其它额外的预取要求之前必须等待。当指令读取单元110从指令快取单元135,接收指令n时,指令读取单元110接下来会要求指令n+1。在下一个时间周期,如果没有从指令快取单元135接收到等待信号,则指令读取单元110会继续要求指令n+2。指令读取单元110接收指令n+1,而解码单元115接收指令n。这个处理程序会持续地在整个微处理器100中进行,直到指令n通过每一个单元、且结果被写回寄存器缓冲器组105为止。虽然管线式处理可以增加指令群的处理速度,但是,其对于处理必须依赖之前的状态指令(status instruction)的结果的指令而言,仍具有相当困难。状态指令是一种造成系统状态变化的指令,例如是否开启或关闭中断、或是从使用者模式变到系统模式的指令。一旦状态指令已经改变了处理的状态,如果在状态变化期间查询结果,寄存器缓冲器组105会传回错误的结果。指令的结果会写回寄存器缓冲器组105。因此,每当指令需要上一个指令的结果时,就会在寄存器缓冲器组105中寻找结果。当结果还未写回寄存器缓冲器组105时,就可能产生问题。举例来说,如果执行单元120正在计算一个新的结果,则在该结果写回寄存器缓冲器组105之前,必须先通过存储器存取单元125和寄存器回写单元130。当系统状态变化时,类似的问题也会发生。如果系统状态已经因为状态指令而改变,则在新状态完全通过处理器管线之前,存取依赖目前处理器资源的状态,将会传回错误的结果。解决这些问题的其中一个方法是数据转送(data forwarding)。如其名称所暗示,数据转送就是将数据或结果,从第一指令转送到第二,也就是一个正在等待该结果的相关(dependent)指令。经由数据转送,相关指令可以毫无错误或延迟地在管线中前进。数据转送可以将系统状态转送到相关指令。接下来所要求的指令就可以获得正确的信息。数据转送的问题是需要使用额外的硬件来实现。因此将会导致要消耗额外功率的较大晶片。此外,在很多情况下,数据转送必须沿着一条关键路径(critical path)设定。因此会影响整个系统的速度。本专利技术打算克服上述的一个或多个前述的问题。
技术实现思路
为实现本专利技术的目的,本专利技术将提供一个用来最佳化更新状态寄存器的管线式微处理器逻辑电路的系统。该系统包括存储单元,用来存储指令;寄存器缓冲器组;读取单元,用来从存储单元读取指令,并且与寄存器缓冲器组连接;以及解码单元,用来解码来自读取单元的指令。其中,当侦测到状态指令时,解码单元会将状态指令的完成延迟一段预定的时间。为实现本专利技术的目的,本专利技术将提供一个用来最佳化更新状态寄存器的管线式微处理器逻辑电路的方法。该方法包括下列步骤在解码单元上接收一个状态指令;在解码单元上指派额外时间周期,直到到达状态指令的终点为止;延迟该状态指令之后的指令,直到额外时间周期结束为止;以及让状态变化通过处理器管线传送。为使本专利技术的上述和其它目的、特征、和优点能明显易懂,下文特举一个较佳实施例,并配合所附附图,作详细说明如下附图说明图1示出了一个使用管线式处理的已知的微处理器的方框图。图2示出了一个根据本专利技术实现状态寄存器更新逻辑电路最佳化系统的一个微处理器的方框图。图3示出了一个流程图,用来说明根据本专利技术实现状态寄存器更新逻辑电路最佳化的程序。图4示出了一个流程图,用来说明另一个实现状态寄存器更新逻辑电路最佳化的程序。附图标记说明13 223a-223f寄存器100微处理器105寄存器缓冲器组110指令读取单元115解码单元120执行单元125存储器存取单元130寄存器回写单元135指令快取单元140存储器200微处理器205寄存器缓冲器组210指令读取单元215解码单元217状态变化处理器220执行单元225存储器存取单元230寄存器回写单元235指令快取单元240存储器310~340步骤410~430步骤实施方式图2示出了一个根据本专利技术用在状态寄存器更新逻辑电路最佳化系统中的微处理器200。图2中的微处理器200使用管线式处理。如前所述,管线式处理使微处理器200增加其处理指令的速度。在图2中,指令读取单元210连接到解码单元215和指令快取单元235。解码单元215连接到执行单元220。执行单元220连接到存储器存取单元225。存储器存取单元225连接到寄存器回写单元230。存储器存取单元225同时也连接到存储器240。寄存器缓冲器组205连接到指令读取单元210、解码单元215、执行单元220、和寄存器回写单元230。图2还示出了用在根据本专利技术实施例的微处理器200的寄存器缓冲器组205中的多个寄存器元件(component)13 223a-223f。解码单元所存取的寄存器13的各个组件,是由处理器的目前状态所控制。在一个脉冲周期结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:查理斯F·雪洛
申请(专利权)人:威盛赛瑞斯公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利