基于指令块的指令发射控制方法及装置、以及处理器制造方法及图纸

技术编号:8105543 阅读:174 留言:0更新日期:2012-12-21 04:03
本发明专利技术提供了一种基于指令块的指令发射控制方法及装置、以及处理器。判断处于指令准备发射状态的指令的指令类型。若判定所述处于指令准备发射状态的指令的指令类型是栏栅指令,则进一步判断发射条件;若判定还有更先执行序的指令不能发射,则使得作为栏栅指令的所述处于指令准备发射状态的指令不能发射;若判定更先执行序的指令均能发射或均已发射,则发射作为栏栅指令的所述处于指令准备发射状态的指令。如果判定所述处于指令准备发射状态的指令的指令类型是普通指令,则进一步判断发射条件;若判定还有更先执行序的栏栅指令未发射,则使得作为普通指令的所述处于指令准备发射状态的指令不能发射;若判定无更先执行序的栏栅指令未发射,则发射作为普通指令的所述处于指令准备发射状态的指令。

【技术实现步骤摘要】

本专利技术涉及计算机
,更具体地说,本专利技术涉及一种基于指令块的指令发射控制方法和指令发射控制装置,此外本专利技术还涉及一种采用了该基于指令块的指令发射方法或装置的处理器。
技术介绍
现代处理器一般采用流水线技术来提高处理器的处理速度。流水线技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。更具体地说,流水线技术将一条指令执行过程分为多个阶段,其中在不同阶段执行不同指令,从而实现指令的并行,由此可以提高处理器的处理速度。 现有的处理器流水线发射机制,主要有乱序发射和顺序发射两种。一方面,通常的乱序发射机制主要是为了改善指令流水线的性能。更具体地说,在乱序发射机制的情况下,只要指令就绪,就可以发射指令,当指令执行完,写入物理寄存器文件。但是,这种乱序发射的问题是,为了增加发射机率而从尽可能多的指令中选择就绪指令,导致指令发射机制异常复杂。另一方面,通常的顺序发射机制主要是为了降低指令流水线的复杂性。更具体地说,在顺序发射机制中,指令就绪后,要等前面已经发射的指令执行完后才能继续发射。虽然顺序发射机制较为简单,但过于限定发射条件而不能发掘前后指令之间的无关性,而导致流水线性能较差。因此,希望能够提供一种具有一定的乱序能力,而硬件复杂性又较少的提高指令流水线的效率的技术方案。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种可利用较少的硬件复杂性实现一定范围内指令的乱序发射来提高指令流水线的效率的基于指令块的指令发射控制方法和指令发射控制装置,此外本专利技术还提供一种采用了该基于指令块的指令发射方法或装置的处理器。根据本专利技术的第一方面,提供了一种基于指令块的指令发射控制方法,其包括第二步骤,用于判断处于指令准备发射状态的指令的指令类型,以确定所述处于指令准备发射状态的指令是属于栏栅指令还是属于普通指令;如果在所述第二步骤中判定所述处于指令准备发射状态的指令的指令类型是栏栅指令,则在第三步骤中进一步判断所述处于指令准备发射状态的指令的发射条件;如果在第三步骤中判定还有更先执行序的指令不能发射,则在第四步骤中使得作为栏栅指令的所述处于指令准备发射状态的指令不能发射;如果在第三步骤中判定更先执行序的指令均能发射或均已发射,则在第五步骤S5中发射作为栏栅指令的所述处于指令准备发射状态的指令;如果在所述第二步骤中判定所述处于指令准备发射状态的指令的指令类型是普通指令,则在第六步骤中进一步判断所述处于指令准备发射状态的指令的发射条件;如果在所述第六步骤中判定还有更先执行序的栏栅指令未发射,则在第七步骤中使得作为普通指令的所述处于指令准备发射状态的指令不能发射;以及如果在所述第六步骤中判定无更先执行序的栏栅指令未发射,则在第八步骤中发射作为普通指令的所述处于指令准备发射状态的指令。优选地,在上述基于指令块的指令发射控制方法中,在执行了第四步骤、第五步骤、第七步骤以及第八步骤中的一个步骤之后,所述基于指令块的指令发射控制方法回到所述第二步骤。优选地,在上述基于指令块的指令发射控制方法中,所述处于指令准备发射状态的指令由栏栅指令以及普通指令组成。优选地,上述基于指令块的指令发射控制方法还包括启动程序步骤。 优选地,在上述基于指令块的指令发射控制方法中,所述栏栅指令是改变指令流方向的指令。根据本专利技术的第二方面,提供了一种采用了根据本专利技术第一方面所述的基于指令块的指令发射控制方法的处理器。根据本专利技术的第三方面,提供了一种基于指令块的指令发射控制装置,其包括指令获取单元,用于获取处于指令准备发射状态的指令;指令类型判断单元,用于判断所述处于指令准备发射状态的指令的指令类型,以确定所述处于指令准备发射状态的指令属于栏栅指令还是普通指令;指令发射条件判断单元,用于在所述指令类型判断单元的判断结果的基础上,通过确定是否还有更先执行序的指令不能发射来判断是否发射所述处于指令准备发射状态的指令;以及控制处理单元,用于根据所述指令发射条件判断单元的判断结果,执行所述处于指令准备发射状态的指令的发射、或者不执行所述处于指令准备发射状态的指令的发射。优选地,在上述基于指令块的指令发射控制装置中,如果所述指令类型判断单元判定所述处于指令准备发射状态的指令的指令类型是栏栅指令,则所述指令发射条件判断单元在还有更先执行序的指令不能发射的情况下使得作为栏栅指令的所述处于指令准备发射状态的指令不能发射,并且,所述指令发射条件判断单元在更先执行序的指令均能发射或均已发射的情况下发射作为栏栅指令的所述处于指令准备发射状态的指令;并且其中,如果所述指令类型判断单元判定所述处于指令准备发射状态的指令的指令类型是普通指令,则所述指令发射条件判断单元在还有更先执行序的栏栅指令未发射的情况下使得作为普通指令的所述处于指令准备发射状态的指令不能发射,并且,所述指令发射条件判断单元在无更先执行序的栏栅指令未发射的情况下发射作为普通指令的所述处于指令准备发射状态的指令。优选地,在上述基于指令块的指令发射控制装置中,所述处于指令准备发射状态的指令由栏栅指令以及普通指令组成。优选地,在上述基于指令块的指令发射控制装置中,所述栏栅指令是改变指令流方向的指令。根据本专利技术的第四方面,提供了配置了根据本专利技术的第三方面所述的基于指令块的指令发射控制装置的处理器。在根据本专利技术实施例的基于指令块的指令发射方法及装置中,通过将改变指令流方向的指令定义成栏栅指令,从而将运行中的指令划分成由栏栅指令分隔的许多指令块。由此,指令流以指令块为粒度向前推进。相应地,可以允许同一个指令块内的指令乱序发射、以及不同指令块之间的顺序发射。由此,在本专利技术中,允许同一个指令块内的指令乱序发射,不同指令块之间顺序发射,从而在简化逻辑复杂性的同时,保持较好的性能。所以,本专利技术提供了一种基于指令块的指令发射方法和装置,其可以更好的平衡指令流水线的复杂性和效率;其中,本专利技术的基于指令块的指令发射方法和装置可利用较少的复杂性实现指令的乱序发射,以提闻指令流水线的效率。附图说明结合附图,并通过参考下面的详细描述,将会更容易地对本专利技术有更完整的理解并且更容易地理解其伴随的优点和特征,其中图I示意性地示出了根据本专利技术优选实施例的基于指令块的指令发射控制方法的流程图。 图2示意性地示出了根据本专利技术优选实施例的基于指令块的指令发射控制装置的框图。需要说明的是,附图用于说明本专利技术,而非限制本专利技术。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。具体实施例方式为了使本专利技术的内容更加清楚和易懂,下面结合具体实施例和附图对本专利技术的内容进行详细描述。<基于指令块的指令发射控制方法>图I示意性地示出了根据本专利技术优选实施例的基于指令块的指令发射控制方法 的流程图。首先对本说明书中的一些术语进行解释,以便可以更好地理解本专利技术。术语“指令块”是处理器执行的程序的动态运行状态下的概念,具体地说,术语“指令块”是指运行中由栏栅指令分隔出的指令序列。整个程序的动态运行可以划分为多个指令块。术语“栏栅指令”是指改变指令流方向的指令;比如,“栏栅指令”可以是分支指令,也可以是其它自定义的改变指令流方向的指令。术语“执行序”是指程序在动态运行过程中指令间的一本文档来自技高网...

【技术保护点】
一种基于指令块的指令发射控制方法,其特征在于包括:第二步骤,用于判断处于指令准备发射状态的指令的指令类型,以确定所述处于指令准备发射状态的指令是属于栏栅指令还是属于普通指令;如果在所述第二步骤中判定所述处于指令准备发射状态的指令的指令类型是栏栅指令,则在第三步骤中进一步判断所述处于指令准备发射状态的指令的发射条件;如果在第三步骤中判定还有更先执行序的指令不能发射,则在第四步骤中使得作为栏栅指令的所述处于指令准备发射状态的指令不能发射;如果在第三步骤中判定更先执行序的指令均能发射或均已发射,则在第五步骤S5中发射作为栏栅指令的所述处于指令准备发射状态的指令;如果在所述第二步骤中判定所述处于指令准备发射状态的指令的指令类型是普通指令,则在第六步骤中进一步判断所述处于指令准备发射状态的指令的发射条件;如果在所述第六步骤中判定还有更先执行序的栏栅指令未发射,则在第七步骤中使得作为普通指令的所述处于指令准备发射状态的指令不能发射;以及如果在所述第六步骤中判定无更先执行序的栏栅指令未发射,则在第八步骤中发射作为普通指令的所述处于指令准备发射状态的指令。

【技术特征摘要】
1.一种基于指令块的指令发射控制方法,其特征在于包括 第二步骤,用于判断处于指令准备发射状态的指令的指令类型,以确定所述处于指令准备发射状态的指令是属于栏栅指令还是属于普通指令; 如果在所述第二步骤中判定所述处于指令准备发射状态的指令的指令类型是栏栅指令,则在第三步骤中进一步判断所述处于指令准备发射状态的指令的发射条件; 如果在第三步骤中判定还有更先执行序的指令不能发射,则在第四步骤中使得作为栏栅指令的所述处于指令准备发射状态的指令不能发射; 如果在第三步骤中判定更先执行序的指令均能发射或均已发射,则在第五步骤S5中发射作为栏栅指令的所述处于指令准备发射状态的指令; 如果在所述第二步骤中判定所述处于指令准备发射状态的指令的指令类型是普通指令,则在第六步骤中进一步判断所述处于指令准备发射状态的指令的发射条件;· 如果在所述第六步骤中判定还有更先执行序的栏栅指令未发射,则在第七步骤中使得作为普通指令的所述处于指令准备发射状态的指令不能发射;以及 如果在所述第六步骤中判定无更先执行序的栏栅指令未发射,则在第八步骤中发射作为普通指令的所述处于指令准备发射状态的指令。2.根据权利要求I所述的基于指令块的指令发射控制方法,其特征在于,在执行了第四步骤、第五步骤、第七步骤以及第八步骤中的一个步骤之后,所述基于指令块的指令发射控制方法回到所述第二步骤。3.根据权利要求I或2所述的基于指令块的指令发射控制方法,其特征在于,所述处于指令准备发射状态的指令由栏栅指令以及普通指令组成。4.根据权利要求I或2所述的基于指令块的指令发射控制方法,其特征在于还包括启动程序步骤。5.根据权利要求I或2所述的基于指令块的指令发射控制方法,其特征在于,所述栏栅指令是改变指令流方向的指令。6.一种采用了根据权利要求I至5之一所述的基于指令块的指令发...

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

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

1