在一个处理系统中处理多条存储指令完成的方法和系统技术方案

技术编号:2888107 阅读:230 留言:0更新日期:2012-04-11 18:40
本发明专利技术的一个方面涉及处理按序完成指令的超标量处理器中存储指令的装置,该处理器具有一个指令分发单元、一个结构化寄存器堆、一个重命名寄存器堆、一个加载存储单元、一个完成单元和超高速缓冲存储器。在本发明专利技术的一个实施例中,该装置包括一个指针队列,其具有相应于所述存储指令的条目,所述条目包含指向结构化和重命名寄存器堆中的条目的指针,这些寄存器堆包括存储指令所需的数据。该装置还包括一个连接结构化和重命名寄存器堆上读端口的多路转换器,以便把数据从其中一个寄存器堆传送到数据队列中的一个条目,该数据队列连接到超高速缓冲存储器。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般来说涉及一个处理系统,更特别说涉及在一个处理系统中提供多条存储指令完成。在持续开发更快更强的计算机系统的过程中,使用了一个重要的微处理器,称为精简指令集计算机(RISC)处理器。RISC处理器领域的日益进步引起超标量处理器的发展。超标量处理器,如其名所指,执行在传统标量微处理器中并不普遍存在的功能。这些功能中包括不按程序顺序执行指令的能力。虽然这些指令不按序发生,但是执行的结果就像按程序顺序发生的一样,从而维护适当的数据相干性。超标量处理器性能中的一个共同瓶颈是在一给定时间处理器内可能容纳的未完成的指令数目。通常,指令单元包含一个队列,它指示未完成指令的数目。如果达到一个最大数目的话,则该队列通常暂停指令的进一步分发。可能缓慢完成的一类指令是存储指令。存储指令完成慢的原因有几种。例如,存储指令完成慢是由于可以在每一周期完成的存储的最大数目,以及由于可以在每一周期更新超高速缓冲存储器的存储的数目的限制。常规超标量处理器通常每周期只完成一条存储指令。这常常引起分发停顿。因此,需要一个系统,来有效充分解决这些问题,并减少没有存储指令完成导致的分发单元停顿的次数,从而增强总处理器性能。因此,本专利技术旨在增加可以在一周期内完成的存储指令数目。公开了一种方法和系统,其用于在一个停顿条件后处理在一个处理系统中的多条存储指令完成。该处理系统包括一个指令单元,一个转换单元和至少一个执行单元。指令单元包括一个分发单元和一个完成单元。一个加载存储单元包括一个用于接收从分发单元来的多条指令的指令队列,至少一个用于接收从指令队列来的多条指令的有效地址(EA)单元,和一个存储队列。存储队列连接到转换单元、至少一个执行单元和至少一个EA单元。存储队列在完成多条指令中的每一条之前从至少一个执行单元接收与多条指令中的每一条指令相关的数据和实际地址信息。通过这样做,解决了常规系统伴随的瓶颈,亦即减少了可以由指令单元分发的最大指令数目。根据本专利技术的一个实施例,提供一个用于超标量处理器的电路,其允许迅速完成在一个完成表中排队的存储指令。根据本专利技术的该实施例,提供一个存储为存储指令所用数据的数据队列。在存储指令执行后,以及其有效地址可用时,该电路确定存储指令需要的数据在GPR或重命名寄存器中的位置。如果最初产生由该存储需要的数据的指令成功完成,则将该数据结构化,亦即取决于该指令是定点还是浮点运算置于通用寄存器(“GPRs”)或浮点寄存器(“FPRs”)中。为当前讨论起见,假定是定点指令。应该理解,对于熟悉本
的人来说,本专利技术很容易扩展到浮点指令。如果产生存储指令需要的数据的指令尚未完成,但是由相关执行单元处理而产生一个最后结果的话,那么该数据将作为有效数据存储在重命名存储器中。如果该指令尚未产生存储指令需要的数据,则为接收该数据而设定的重命名寄存器将由处理器标记为无效。一旦存储指令需要的数据可用的话,则不管该数据在GPR还是在一个有效的重命名寄存器中,都将传送给在该数据队列中的一个条目。在重命名寄存器上提供一个读端口以便利该项操作。由于在本专利技术的当前版本中完成必须以程序顺序进行,因此,传送数据到数据队列中的步骤可能远在完成队列指针指向作为下一要完成的指令的存储指令之前发生。如果完成已由一个在该存储指令之前发布的指令停顿的话,这一点特别如此。当存储指令应该完成的时刻,该存储指令需要的数据已经在数据队列中,并且可以送往超高速缓冲存储器,不像常规处理器,需要访问GPRs。这允许多条存储指令可以在单一时钟周期内完成,因为在GPR端口处无瓶颈,这是由于当存储指令在完成窗口内正在等待它轮到时数据已被“预加载”。当然这在GPRs只有单一读端口的常规处理器内是不可能的。可以增加更多端口,但是这将需要另外的设计,芯片面积和复杂性。根据下面对本专利技术的详细实施例的公开,熟悉本
的人会清楚本专利技术的其它目的和优点。结合下面详细的说明和附图,可以更充分理解本专利技术各方面的这些和其它优点。附图说明图1表示根据本专利技术的一个计算机系统的方框图。图2是用于完成一个处理系统中的存储指令的常规系统。图3是一个定时图,说明图2的数据流的操作。图4是说明根据本专利技术为完成多个存储指令的数据流的第一实施例的图,其中单一LSU访问GPRs和FPRs。图5是说明根据本专利技术为完成存储指令的数据流的流程图。图6是一个定时图,说明图4的数据流的操作。图7是说明根据本专利技术为完成多个存储指令的数据流的第二实施例的图,其中双LSU访问GPRs和FPRs。图8是一个定时图,说明图7的数据流的操作。图9是一个方框图,说明根据本专利技术的一个实施例的一个处理器,它访问GPRs、FPRs和重命名寄存器。图10A-10F说明用在图9的处理器中所示的实施例中的各种队列的逻辑内容。图11A-11B是说明根据本专利技术的一个实施例的一个处理器的操作流程图。图12是一个定时图,说明根据本专利技术的一个实施例的一个处理器的操作。本专利技术涉及增加可以在一个超标量处理器中完成的存储指令数目以减少分发停顿。介绍下面的说明以使熟悉本
的人能制作和使用本专利技术,其在一个专利申请及其需求的上下文内提供。十分明显,熟悉本
的人很容易对此间叙述的优选实施例和一般原理及其特征进行各种修改。图1是根据本专利技术用于处理信息的一个处理器系统10的方框图。在该优选实施例中,处理器10是一个单集成电路超标量微处理器,诸如德克萨斯州Austin市IBM公司生产的PowerPC处理器。相应地,如下面进一步要叙述的,处理器10包括各种单元、寄存器、缓冲器,和其它部分,所有这些都由集成电路形成。另外,在该优选实施例中,处理器10根据精简指令集计算(“RISC”)技术操作。如图1所示,系统总线11连接到处理器10的一个总线接口单元(“BIU”)12。BIU12控制在处理器10和系统总线11之间的信息传输。BIU12连接到处理器10的一个指令超高速缓冲存储器14和一个数据超高速缓冲存储器16。指令超高速缓冲存储器14输出指令到一个定序器单元18。定序器单元18响应从指令超高速缓冲存储器14输出的指令选择性地输出指令到处理器10的其它执行电路。除包括分发单元46和完成单元48两执行单元的定序器单元18以外,在该优选实施例中,处理器10的执行电路还包括多重执行单元,亦即分支单元20、定点单元A(“FXUA”)22、定点单元B(“FXUB”)24,复定点单元(“CFXU”)26、加载/存储单元(“LSU”)28和浮点单元(“FPU”)30。FXUA22、FXUB24、CFXU26和LSU28从通用结构寄存器(“GPRs”)32和定点重命名缓冲器34输入其源操作数信息。此外,FXUA22和FXUB24从进位(“CA”)寄存器42输入一个“进位位”。FXUA22、FXUB24、CFXU26和LSU28输出其运算结果(目的操作数信息)存储在定点重命名缓冲器34中选择的条目。另外,CFXU26把源操作数信息和目的操作数信息从专用寄存器(“SPRs”)40输入或向其输出。FPU30从浮点结构寄存器(“FPRs”)36和浮点重命名缓冲器38输入其源操作数信息。FPU30输出其运算结果(目的操作数信息)存储在浮点重命名缓冲器38中选择的条目。定序器本文档来自技高网
...

【技术保护点】
一种处理超标量处理器中存储指令的方法,该方法包括:从分发单元分发存储指令;执行该存储指令以决定一个实际地址存储器位置以存储该存储指令所指向的数据以及寄存器堆中包含该数据的条目;在存储指令完成前把数据从寄存器堆条目向一个数据队列传 送;在完成存储指令时把数据从数据队列向超高速缓冲存储器传送。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:BD威廉森JE菲利普斯DQ恩古延
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1