指令发射系统及方法、处理器及其设计方法技术方案

技术编号:4252527 阅读:186 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭示了一种指令发射系统及方法,该系统包括指令分类模块、指令发射模块。指令分类模块将操作队列中的指令进行分类;将操作队列中只能静态调度、顺序执行的指令归为静态调度类指令,将操作队列中可动态调度、乱序执行的指令归为动态调度类指令;指令发射模块将操作数准备好的静态调度类指令、动态调度类指令分别按照静态调度、动态调度的方法从操作队列中发射。本发明专利技术指明了数据相关性不易判断的指令,针对这类指令,本发明专利技术通过静态调度该类指令,这种执行方法能够严格保证了程序执行的正确性,大大降低了微处理器设计的复杂度。而对于数据相关性好判断的指令,继续采用动态调度指令的方法来充分利用流水线,提高处理器性能。

【技术实现步骤摘要】

本专利技术属于计算机
,涉及一种指令发射系统,尤其涉及一种动态调度和 静态调度相结合的指令发射系统及方法;此外,本专利技术还涉及包含上述指令发射系统的处 理器及该处理器的设计方法。
技术介绍
现代的微处理器通常采用流水线技术来提高微处理器的处理速度。流水线技术将 指令执行的过程分成几个阶段,通过在各个不同阶段执行不同的指令,来实现指令的并行 执行,从而提高处理器的性能。 如图1所示,根据处理器的具体结构可以将整条指令的执行分为几个阶段,通常 将流水线分为5个阶段,分别为(1)取指令阶段,从内存取到要执行的指令;(2)译码阶 段,识别指令的操作码、源寄存器、目的寄存器等指令相关信息;(3)发射阶段,译码后的指 令保存在操作队列中,从操作队列中选择不存在数据相关或者数据相关已经解决的指令发 射到功能部件中;(4)执行、写回阶段,功能部件执行从操作队列发射到该部件的指令,并 将执行结果送回到操作队列中;(5)提交阶段,指令进入操作队列的顺序和程序中的指令 顺序是一致的,按照先进先出的原则,顺序提交操作队列中的指令。 流水线的每个阶段都是独立执行,指令按照流水线从A到E的顺序依次执行。如 果指令之间不存在相关,不会堵塞流水线,且流水线的每个阶段只需要一个时钟周期就能 够完成,那么在第5个时钟周期后第一条指令执行完。如果指令间不存在数据相关,当前指 令执行所需要的源操作数不依赖于前面还没有执行完的指令,那么该指令就可以发射。理 想情况下,在cycle6 (第6个时钟周期)第二条指令执行完,在cycle7第三条指令执行完, 每一个时钟周期即可执行完一条指令,如图3-1。如果指令间存数据在相关,如图3-2所示, 指令2的源操作数依赖于指令1的运算结果,指令2必须等到指令1执行结束后才能够发 射。指令2不能发射,则指令3等译码完的指令也都不能发射,这种情况就会造成流水线的 某些阶段闲置,从而降低流水线效率,处理器的性能也会随之下降。针对这种情况就出现了 流水线动态调度的方法,在指令发射阶段,后续不存在数据相关的指令可以先发射执行,如 图3-3所示。指令3译码结束后,其源操作数与前面的指令1、指令2不存在数据相关,那 么指令3可以先于指令2发射、执行,从而减少了流水线的空闲时间,提高了效率。在现代 的通用处理器中,一般采用动态调度指令的方法来解决指令间相关造成的流水线堵塞的情 况。 在流水线结构中,使用动态调度指令的方法,可以解决指令间的数据相关带来的 流水线堵塞、流水线性能降低,从而处理器性能也降低的问题。但是在设计微处理器的结 构,采用动态调度指令的流水线方法时,还有很多问题需要考虑,因为还存在很多数据相关 性在指令发射阶段不能判断的情况,或者判断比较麻烦的指令。 本专利技术所要解决的技术问题是提供一种动态调度和静态调度相结合的指令发射系统,可降低微处理器设计的复杂度、提高处理器性能。 同时,本专利技术提供上述指令发射系统的发射方法。 另外,本专利技术还提供一种包含上述指令发射系统的处理器。 此外,本专利技术还提供上述处理器的设计方法。 为解决上述技术问题,本专利技术采用如下技术方案 —种指令发射系统,指令在写入操作队列中时做出指令间相关性的判断,且指令 间相关性的信息保存在操作队列中;该系统包括指令分类模块、指令发射模块。指令分类模 块用以将操作队列中相关性已经判断好的指令进行分类;将操作队列中只能静态调度、顺 序执行的指令归为静态调度类指令,将操作队列中可动态调度、乱序执行的指令归为动态 调度类指令;指令发射模块用以将操作数准备好的静态调度类指令、动态调度类指令分别 按照静态调度、动态调度的方法从操作队列中发射。 作为本专利技术的一种优选方案,所述指令分类模块包括第一判断逻辑电路、第二判 断逻辑电路;第一判断逻辑电路用以根据操作队列中指令的相关信息判断操作队列中的指 令是否是静态调度类指令,所述静态调度类指令必须严格按照指令在程序中的先后顺序发 射;第二判断逻辑电路用以根据操作队列中指令的相关信息判断操作队列中的指令是否是 动态调度类指令,所述动态调度类指令无需按照指令在程序中的先后顺序执行,可动态调 度、乱序执行。 作为本专利技术的一种优选方案,采用顺序执行的方式执行访存类指令、读写特殊寄 存器的指令;所述访存类指令包括读写内存的指令。 所述指令分类模块的分类方法为将操作队列中相关性难判断的指令归为静态调 度、顺序执行的指令;将操作队列中相关性易判断的指令归为动态调度、乱序执行的指令; 指令发射模块用以将操作数准备好的静态调度类指令、动态调度类指令分别按照静态调 度、动态调度的方法从操作队列中发射。 作为本专利技术的一种实施方式,指令分类模块通过一判断逻辑电路判断操作队列中 各指令的相关性是否容易判断得出;若容易判断得出,则将该指令归为动态调度类指令,否 则将该指令归为静态调度类指令。 —种指令发射方法,指令在写入操作队列中时做出指令间相关性的判断,且指令 间相关性的信息保存在操作队列中;该方法还包括如下步骤 指令分类步骤,将操作队列中相关性已经判断好的指令进行分类;将操作队列中 只能静态调度、顺序执行的指令归为静态调度类指令,将操作队列中可动态调度、乱序执行 的指令归为动态调度类指令; 指令发射步骤,将操作数准备好的静态调度类指令、动态调度类指令分别按照静 态调度、动态调度的方法从操作队列中发射。 作为本专利技术的一种优选方案,所述指令分类步骤包括 通过第一判断逻辑电路根据操作队列中指令的相关信息判断操作队列中的指令 是否是静态调度类指令,所述静态调度类指令必须严格按照指令在程序中的先后顺序发 射;5 通过第二判断逻辑电路根据操作队列中指令的相关信息判断操作队列中的指令 是否是动态调度类指令,所述动态调度类指令无需按照指令在程序中的先后顺序执行,可 动态调度、乱序执行。 作为本专利技术的一种优选方案,在指令分类步骤中,将操作队列中相关性难判断的 指令归为静态调度、顺序执行的指令;将操作队列中相关性易判断的指令归为动态调度、乱 序执行的指令。 —种处理器,该处理器包括指令发射系统,所述指令发射系统包括 指令分类模块,指令在写入操作队列中时做出指令间相关性的判断,且指令间相 关性的信息保存在操作队列中;该指令分类模块用以将操作队列中相关性已经判断好的指 令进行分类;将操作队列中只能静态调度、顺序执行的指令归为静态调度类指令,将操作队 列中可动态调度、乱序执行的指令归为动态调度类指令; 指令发射模块,用以将操作数准备好的静态调度类指令、动态调度类指令分别按 照静态调度、动态调度的方法从操作队列中发射。 —种处理器设计方法,在设计处理器结构时,将操作队列中相关性难判断的指令 归为静态调度、顺序执行的指令;将操作队列中相关性易判断的指令归为动态调度、乱序执 行的指令。 本专利技术的有益效果在于本专利技术提出的动态调度和静态调度相结合的指令发射系 统及方法,指明了数据相关性不易判断或者说不易识别的指令,针对这类指令,本专利技术提出 了静态调度该类指令的思想,这种执行方法能够严格保证了程序执行的正确性,大大降低 了微处理器设计的复杂度。而对于数据相关性好判断的指令,继续采用动态调度指令的方 法来充分利用流水线,提高处理器性能。附图说明 图1为采用流水线本文档来自技高网...

【技术保护点】
一种指令发射系统,其特征在于,指令在写入操作队列中时做出指令间相关性的判断,且指令间相关性的信息保存在操作队列中;该系统包括:    指令分类模块,用以将操作队列中相关性已经判断好的指令进行分类;将操作队列中只能静态调度、顺序执行的指令归为静态调度类指令,将操作队列中可动态调度、乱序执行的指令归为动态调度类指令;    指令发射模块,用以将操作数准备好的静态调度类指令、动态调度类指令分别按照静态调度、动态调度的方法从操作队列中发射。

【技术特征摘要】
一种指令发射系统,其特征在于,指令在写入操作队列中时做出指令间相关性的判断,且指令间相关性的信息保存在操作队列中;该系统包括指令分类模块,用以将操作队列中相关性已经判断好的指令进行分类;将操作队列中只能静态调度、顺序执行的指令归为静态调度类指令,将操作队列中可动态调度、乱序执行的指令归为动态调度类指令;指令发射模块,用以将操作数准备好的静态调度类指令、动态调度类指令分别按照静态调度、动态调度的方法从操作队列中发射。2. 根据权利要求1所述的指令发射系统,其特征在于所述指令分类模块包括第一判断逻辑电路,用以根据操作队列中指令的相关信息判断操作队列中的指令是否是静态调度类指令,所述静态调度类指令必须严格按照指令在程序中的先后顺序发射;第二判断逻辑电路,用以根据操作队列中指令的相关信息判断操作队列中的指令是否是动态调度类指令,所述动态调度类指令无需按照指令在程序中的先后顺序执行,可动态调度、乱序执行。3. 根据权利要求1所述的指令发射系统,其特征在于采用顺序执行的方式执行访存类指令、读写特殊寄存器的指令;所述访存类指令包括读写内存的指令。4. 根据权利要求1所述的指令发射系统,其特征在于所述指令分类模块的分类方法为将操作队列中相关性难判断的指令归为静态调度、顺序执行的指令;将操作队列中相关性易判断的指令归为动态调度、乱序执行的指令。5. 根据权利要求1至4之一所述的指令发射系统,其特征在于所述指令分类模块通过一判断逻辑电路判断操作队列中各指令的相关性是否容易判断得出;若容易判断得出,则将该指令归为动态调度类指令,否则将该指令归为静态调度类指令。6. —种指令发射方法,其特征在于,指令在写入操作队列中时做出指令间相关性的判断,且指令间相关性的信息保存在操作队列中;该方法包括如下步骤指令...

【专利技术属性】
技术研发人员:李祖松郝守青汪文祥徐翠萍
申请(专利权)人:北京龙芯中科技术服务中心有限公司
类型:发明
国别省市:11[中国|北京]

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

1