寄存器写冲突检测方法及装置、以及处理器制造方法及图纸

技术编号:8022222 阅读:209 留言:0更新日期:2012-11-29 04:27
本发明专利技术提供了一种寄存器写冲突检测方法及装置、以及处理器。初始地对写有效队列进行重置。获取所述指令的指令执行延迟。读取写有效队列中与处于指令准备发射状态的指令的指令执行延迟等时长的队列位置的写有效位值。判断所读取的写有效队列读取的写有效位值。在判断读取的值表示允许发射指令时允许发射所述处于指令准备发射状态的指令;并且在写有效队列中与处于指令准备发射状态的指令的指令执行延迟等时长的位置处设置不允许发射指令的写有效位值。在判断读取的值为不允许发射指令时不允许发射处于指令准备发射状态的指令。本发明专利技术提供了一种基于寄存器写冲突的检测方法,可利用较少的硬件复杂性实现指令的乱序发射,以提高指令流水线的效率。

【技术实现步骤摘要】

本专利技术涉及计算机
,更具体地说,本专利技术涉及一种用于指令发射的寄存器写冲突检测方法及寄存器写冲突检测装置,此外,本专利技术还涉及一种采用了该用于指令发射的寄存器写冲突检测方法或装置的处理器。
技术介绍
现代处理器一般采用流水线技术来提高处理器的处理速度。流水线技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。更具体地说,流水线技术将一条指令执行过程分为多个阶段,其中在不同阶段执行不同指令,从而实现指令的并行,由此可以提高处理器的处理速度。现有的处理器流水线发射机制,主要有乱序发射和顺序发射两种。 一方面,通常的乱序发射机制主要是为了改善指令流水线的性能。更具体地说,在乱序发射机制的情况下,只要指令就绪,就可以发射指令,当指令执行完,写入物理寄存器文件。但是,这种乱序发射的问题是,由于未考虑指令完成的时机,因此存在多条指令同时写物理寄存器文件的可能,需要实现多个写端口,从而增大了物理寄存器文件的复杂性。另一方面,通常的顺序发射机制主要是为了降低指令流水线的复杂性。更具体地说,在顺序发射机制中,指令就绪后,要等前面已经发射的指令执行完后才能继续发射。虽然顺序发射降低了物理寄存器文件的复杂性,只要实现一个写端口,但是也降低了指令流水线的效率。因此,希望能够提供一种可利用较少的硬件复杂性实现指令的乱序发射来提高指令流水线的效率的技术方案。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种可利用较少的硬件复杂性实现指令的乱序发射来提高指令流水线的效率的用于指令发射的寄存器写冲突检测方法、以及采用了该用于指令发射的寄存器写冲突检测方法的处理器。根据本专利技术的第一方面,提供了一种用于指令发射的寄存器写冲突检测方法,其包括第一步骤,用于初始地对写有效队列进行重置,以便将写有效队列中的数据位置都重置为表示允许发射指令的写有效位值;第二步骤,用于获取处于指令准备发射状态的指令的指令执行延迟;第三步骤,用于读取写有效队列中与所述处于指令准备发射状态的指令的指令执行延迟等时长的队列位置的写有效位值,所述写有效位值表示允许发射指令或者表示不允许发射指令;第四步骤,用于判断所读取的写有效队列读取的写有效位值表示允许发射指令还是不允许发射指令;第五步骤,用于在所述第四步骤中判断读取的值表示允许发射指令时允许发射所述处于指令准备发射状态的指令;第六步骤,用于在第五步骤之后在写有效队列中与处于指令准备发射状态的指令的指令执行延迟等时长的位置处设置不允许发射指令的写有效位值;以及第七步骤,用于在所述第四步骤中判断读取的值为不允许发射指令时不允许发射所述处于指令准备发射状态的指令。优选地,根据本专利技术第一方面所述的用于指令发射的寄存器写冲突检测方法还包括第八步骤,其在所述第六步骤或所述第七步骤之后执行,用于使所述写有效队列向队列头逻辑移位一位,并且在所述写有效队列的队列尾的位置处设置一个表示允许发射指令的写有效位值。优选地,在根据本专利技术第一方面所述的用于指令发射的寄存器写冲突检测方法中,所述寄存器写冲突检测方法在执行完所述第八步骤之后回到所述第二步骤。优选地,在根据本专利技术第一方面所述的用于指令发射的寄存器写冲突检测方法中,数值“0”表示允许发射指令的写有效位值,并且数值“ I ”表示不允许发射指令的写有效位值。根据本专利技术的第二方面,提供了一种采用了根据本专利技术第一方面所述的用于指令发射的寄存器写冲突检测方法的处理器。 根据本专利技术的第三方面,提供了一种用于指令发射的寄存器写冲突检测装置,其包括存储单元,其中存储了与指令的最长的指令执行延迟等长的写有效队列;以及控制单元,用于执行下述操作初始地对写有效队列进行重置,以便将写有效队列中的数据位置都重置为表示允许发射指令的写有效位值;获取处于指令准备发射状态的指令的指令执行延迟;读取写有效队列中与所述处于指令准备发射状态的指令的指令执行延迟等时长的队列位置的写有效位值,所述写有效位值表示允许发射指令或者表示不允许发射指令;判断所读取的写有效队列读取的写有效位值表示允许发射指令还是不允许发射指令;在判断读取的值表示允许发射指令时,允许发射所述处于指令准备发射状态的指令,并在写有效队列中与处于指令准备发射状态的指令的指令执行延迟等时长的位置处设置不允许发射指令的写有效位值;以及在判断读取的值为不允许发射指令时不允许发射所述处于指令准备发射状态的指令。优选地,在根据本专利技术第三方面所述的用于指令发射的寄存器写冲突检测装置中,所述控制单元还用于在不允许发射所述处于指令准备发射状态的指令或者允许发射所述处于指令准备发射状态的指令之后,使所述写有效队列向队列头逻辑移位一位,并且在所述写有效队列向的队列尾的位置处设置一个表示允许发射指令的写有效位值。优选地,在根据本专利技术第三方面所述的用于指令发射的寄存器写冲突检测装置中,所述存储单元是通过处理器的寄存器装置实现的。优选地,在根据本专利技术第三方面所述的用于指令发射的寄存器写冲突检测装置中,所述控制单元是通过处理器的中央处理单元实现的。根据本专利技术的第四方面,提供了一种配置了根据本专利技术的第三方所述的用于指令发射的寄存器写冲突检测装置的处理器。根据本专利技术,通过使用统一的写有效队列逻辑移位和冲突判断,允许指令乱序写寄存器文件,从而提高指令发射的效率。更具体地说,本专利技术的指令发射方案通过对写寄存器文件的冲突判断,使用较少的硬件开销,允许短延迟指令超越长延迟指令先写寄存器文件,实现乱序写寄存器文件,充分利用寄存器文件的写端口,从而提高指令发射效率。由此,本专利技术提供一种基于寄存器写冲突的检测方法和装置,该检测方法和装置可利用较少的硬件复杂性实现指令的乱序发射,以提高指令流水线的效率。附图说明结合附图,并通过参考下面的详细描述,将会更容易地对本专利技术有更完整的理解并且更容易地理解其伴随的优点和特征,其中图I示意性地示出了根据本专利技术优选实施例的用于指令发射的寄存器写冲突检测方法的流程图。图2示意性地示出了根据本专利技术优选实施例的写有效队列的示例。图3示意性地示出了根据本专利技术优选实施例的用于指令发射的寄存器写冲突检测装置的框图。需要说明的是,附图用于说明本专利技术,而非限制本专利技术。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。 具体实施例方式为了使本专利技术的内容更加清楚和易懂,下面结合具体实施例和附图对本专利技术的内容进行详细描述。<第一实施例>图I示意性地示出了根据本专利技术优选实施例的用于指令发射的寄存器写冲突检测方法的流程图。需要说明的是,本说明书中的术语“寄存器写冲突检测”针对即是“物理寄存器文件”的“写冲突检测”,简称为寄存器写冲突检测”。如图I所示,根据本专利技术优选实施例的用于指令发射的寄存器写冲突检测方法包括第一步骤1,用于初始地(例如在处理器启动时)对写有效队列进行重置,以便将写有效队列中的数据位置都重置为表示允许发射指令的写有效位值;例如,如图I所示,可以在初始时,使写有效队列清零,即,使写有效队列中的数据位置都为零(在本实施例中,采用值“ 0 ”来表示允许发射指令)。第二步骤2,当指令处于“指令准备发射”状态时,获取该指令的指令执行延迟。即,在第二步骤2获取处于“指令准备发射”本文档来自技高网...

【技术保护点】
一种用于指令发射的寄存器写冲突检测方法,其特征在于包括:第一步骤,用于初始地对写有效队列进行重置,以便将写有效队列中的数据位置都重置为表示允许发射指令的写有效位值;第二步骤,用于获取处于指令准备发射状态的指令的指令执行延迟;第三步骤,用于读取写有效队列中与所述处于指令准备发射状态的指令的指令执行延迟等时长的队列位置的写有效位值,所述写有效位值表示允许发射指令或者表示不允许发射指令;第四步骤,用于判断所读取的写有效队列读取的写有效位值表示允许发射指令还是不允许发射指令;第五步骤,用于在所述第四步骤中判断读取的值表示允许发射指令时允许发射所述处于指令准备发射状态的指令;第六步骤,用于在第五步骤之后在写有效队列中与处于指令准备发射状态的指令的指令执行延迟等时长的位置处设置不允许发射指令的写有效位值;以及第七步骤,用于在所述第四步骤中判断读取的值为不允许发射指令时不允许发射所述处于指令准备发射状态的指令。

【技术特征摘要】

【专利技术属性】
技术研发人员:过锋许勇任秀江高红光郑方唐勇施晶晶
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

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

1