等待管线式总线要求的占用制造技术

技术编号:2874829 阅读:186 留言:0更新日期:2012-04-11 18:40
一种管线式处理微处理器,包括: 一存储单元,用来存储多个指令;以及 一读取单元,用来从该存储单元的这些指令中,要求和读取一指令, 其中,当一中断条件发生时,该读取单元会将该中断条件之前所要求的一指令删除。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术是有关于一种管线式处理,且较特别的是,有关于一种具有可占用等待管线式总线要求的管线式电路的一种微处理器。
技术介绍
管线式处理(pipeline processing)是一种信息(information)处理的方法。管线(pipeline)是由在信息上执行工作的不同单元所组成。信息是在管线的每一个单元中工作。在第一个单元完成其在信息上的工作之后,第一个单元会将信息传递到另一单元。在该信息上的工作会持续进行,直到信息通过管线中的所有单元为止。管线的优点是可以增加单位时间的处理量。使得在较少的周期(cycle)之内,可以处理更多的指令(instruction)。虽然管线式处理可以增加指令处理的速度,但其在处理向量(vector)或分支(branch)指令时,仍具有相当问题。分支或向量指令需要微处理器要求与已要求的指令不同的指令顺序。因此会导致不再需要已在管线中的指令。图1绘示了一个使用管线式处理的现有的微处理器100的方块图。读取单元(fetch unit)连接到译码单元115、向量要求信号165、分支要求信号170、和总线接口单元(BIU)135。译码单元115连接到执行单元120。执行单元120连接到数据存储器存取单元125和读取单元110。数据存储器存取单元125连接到寄存器回写单元(register write-back unit)130和一个存储器160。寄存器文件105连接到读取单元110、译码单元115、执行单元120、和寄存器回写单元130。各单元之间保持通信联络。总线接口单元135使用一个存储器要求140,同时也被称为读取要求140、一个地址_大小_控制线145、一个指令总线150、和一个等待线155,与读取单元110沟通。总线接口单元135是一个用来获得和保持预取(prefetched)指令的存储器存储装置。读取单元110从总线接口单元135,要求和读取指令。译码单元115译码所读取的指令。执行单元120执行所译码的指令。数据存储器存取单元125存取存储器160。寄存器回写单元130将从数据存储器存取单元125所接收的结果,写入寄存器文件105。向量要求信号165代表有向量发生。分支要求信号170代表有分支发生。微处理器100一般会接收指令(如图2所示的n到n+9),将其当成输入信号。读取单元110会从总线接口单元135,要求和拾取指令。如上所述,总线接口单元135会获得并且存储这些指令。总线接口单元135用来降低读取单元110读取一个指令所需的时间。藉由在总线接口单元135中的指令,读取单元110寻找指令并不需要花费额外的时间周期。当读取单元110拾取指令时,也会同时要求另一个指令。在需要之前先要求指令,就是一般所知的预取(prefetching)。藉由要求总线接口单元135预取指令,可以更加降低读取单元110等待接收指令所需的时间。在读取单元110已经要求指令之后,总线接口单元135在接下来的时间周期期间,会提供有效指令或是等待读取单元110。每当所要求的指令无法立即提供给读取单元110时,数据接口总线135会藉由驱动启动等待线155,并且等待读取单元110。这意味着读取单元110必须等待以接收要求,而且在做其它预取要求之前,必须等待。然而,读取单元110在接收等待线155之前,已经做第二个要求。因此,在读取单元110取样等待线155,并且将其当成启动之前,已经做了两个要求。当读取单元110从数据接口总线135接收指令n时,读取单元110接下来会要求指令n+1。在下个时间周期,如果等待线155还未由总线接口单元135驱动启动,则读取单元110会要求n+2。读取单元110接收n+1,译码单元115接收n。这种处理会在微处理器100中持续进行,直到n通过每一个单元,而且结果被写入寄存器文件105为止。如果在这个处理期间,等待线155已经由总线接口单元135驱动启动,则会迫使读取单元110在接收所要求的指令之前先等待。这个动作会短暂地暂停通过所有单元的指令流。如前所述,指令会在微处理器100中的各个单元中前进。有些时候,到达执行单元120的指令是一个分支或向量指令。如上所述,分支或向量指令需要微处理器100要求一个不同的指令顺序。因此,在向量或分支指令发生之前,由管线所预取,而且存在管线中的任何指令,目前都不再需要用到。管线式处理的问题是无法避免不需要的预取指令在管线中继续前进。即使并不需要,但是仍然会处理这些指令,所以这些不需要的指令会降低微处理器的速度。图2绘示了一个时序图,用来说明在没有向量或分支指令时,发生在微处理器100中的处理。时钟脉冲(clock)205显示时间周期,而地址、大小、控制信号145代表相关的指令要求信息信号。读取要求140识别读取单元110所要求的指令。等待信号155代表总线接口单元135需要额外的时间以获得指令。指令总线150代表读取单元110已经读取有效指令。如图2所示,除了在n+4指令之外,每一个读取要求140都是在下一个时间周期才被读取。在n+4时,当总线接口单元135寻找n+4和n+5时,会要求一个等待信号155。因此,虽然n+4是在时间周期5被要求,在时间周期7之前,读取单元110并未完全接收该指令。因为指令n+4接收一个启动的等待信号155,在被读取单元110得到之前,读取要求140n+5同时也会被延迟一个额外的时间周期。图3绘示了一个时序图,用来说明现有的微处理器100如何处理一个不需要的预取指令。向量标示信号(vector indicated)305识别其上发生向量的时钟脉冲信号。如前所述,当向量或分支指令发生时,需要来自总线接口单元135的新指令。因为目前的向量或分支指令需要新指令,所以之前预取的指令将不再被用到。在图3中,指令n已经被读取单元110所要求。当总线接口单元135正在获得n时,读取单元110会要求n+1。总线接口单元135会传送一个等待信号155给读取单元110,表示目前正在获得n。因此,不会要求在n+1之外的额外指令。在时钟脉冲周期5,n已经被读取,而n+1正在进行中。然而在时间周期3,有一个向量发生,所以必须向总线接口单元135要求新指令。在时间周期6,已经要求新指令V。因为有向量发生,所以不再需要指令n+1。所需要的下一指令是V。然而,图1中的微处理器110在读取指令V之前,依旧会读取不需要的指令n+1。即始并不需要n+1,但是因为仍然必须处理n+1,所以会减慢微处理器100的速度。已经有一种方法被发展出来解决这种问题,该方法藉由获得两个可能的接下来的指令,其中一个指令是分支指令,而另一个指令是非分支指令,加快管线执行单元的处理速度。然而,这种方法需要同时获得这两个指令。本专利技术的实施例是针对用来克服一个或多个前述的问题。
技术实现思路
为符合本专利技术,以下将详细说明本专利技术的实施例。本专利技术的实施例包括一个管线式处理微处理器。该管线式处理微处理器包括一个存储单元,用来存储指令;以及一个读取单元,用来要求和读取在存储单元中的指令,其中在中断条件时,读取单元会删除一个正在进行中断条件的之前要求的指令。为符合本专利技术,以下将详细说明本专利技术的实施例。本专利技术的实施例包括一个处理指令的方法。该方法包括下列步骤存储指令;读本文档来自技高网
...

【技术保护点】

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

【专利技术属性】
技术研发人员:保罗·J·佩特承威廉·V·米勒
申请(专利权)人:威盛赛瑞斯公司
类型:发明
国别省市:

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

1