当前位置: 首页 > 专利查询>浙江大学专利>正文

基于主从架构的协处理器高效执行的装置制造方法及图纸

技术编号:4007472 阅读:266 留言:0更新日期:2012-04-11 18:40
一种基于主从架构的协处理器高效执行的装置,包括主处理器和协处理器,协处理器指令在主处理器的重排序缓存单元中创建表项时,直接将其标记为已完成运行状态,此时,协处理器指令被发送至协处理器指令缓冲区,在协处理器指令缓冲区中临时等待,由协处理器指令缓冲区实时监控主处理器重排序缓存单元中的该协处理器指令是否在主处理器中进入提交状态,当且仅当协处理器指令被主处理器提交时,协处理器指令从协处理器指令缓冲区发射至协处理器执行单元;主处理器指令在重排序缓存中创建表项时标记为未完成运行状态,需等到对应指令在主处理器执行单元中完成运行后才将其标记为已完成状态。本发明专利技术减少流水线空洞、提升主处理和和协处理器性能。

【技术实现步骤摘要】

本专利技术涉及嵌入式CPU的协处理器扩展机制,尤其是一种基于主从架构的协处理 器高效执行的装置。
技术介绍
在嵌入式领域中,协处理器多用来协助主处理器进行对其无法执行或执行效率低 下的处理工作而研究开发使用的,以此加速程序的执行。在使用协处理器加速主处理器中最主要的问题是解决主处理器与协处理器并行 执行,最大程度的发挥主处理器和协处理器的性能。在现有的技术中,通常的实现协处理器的方法是在协处理器可以接受协处理器指 令后将协处理器指令在主处理器重排序缓存中创建表项,并且当协处理器指令在主处理器 中处于提交状态后才将协处理器指令送入协处理器中执行,当协处理器指令在协处理器中 完成后才将主处理器重排序缓存中的协处理器指令更新为完成状态,然后在主处理器重排 序缓存中按序退休。这类传统实现方法由于协处理器指令在协处理器中执行可能需要许多个周期,所 以这条协处理器指令需要许多个周期才能够在主处理器重排序缓存中退休。在这种情况下 该协处理器指令的其他后续指令可能早已经执行完成但是由于此协处理器指令无法退休 导致后续的指令也无法退休,极端的情况下会出现指令塞满主处理器重排序缓存但是却没 有指令退休的状况,造成主处理器流水线中出现很大的空洞,影响主处理器和协处理器的 整体性能,极大的限制了流水线的优势。
技术实现思路
为了克服已有的嵌入式处理器的协处理器执行装置的存在流水线空洞、影响主处 理器和协处理器性能的不足,本专利技术提供一种减少流水线空洞、提升主处理器和协处理器 性能的基于主从架构的协处理器高效执行的装置。本专利技术解决其技术问题所采用的技术方案是一种基于主从架构的协处理器高效执行的装置,包括主处理器和协处理器,所述 主处理器包括流水线寄存器,用于储存译码后的主处理器指令和协处理器指令;主处理 器执行单元,用以主动运行主处理器指令;重排序缓存单元,用于对主处理器指令和协处理 器指令创建表项;所述协处理器包括协处理器指令缓冲区,用于缓存协处理器指令;协处 理器执行单元,用于接受协处理器指令缓冲区提供的协处理器指令,完成指令运行并返回 结果;协处理器指令在所述重排序缓存单元中创建表项时,直接将其标记为已完成运行 状态,此时,协处理器指令被发送至协处理器指令缓冲区,在协处理器指令缓冲区中临时等 待,由协处理器指令缓冲区实时监控主处理器重排序缓存单元中的该协处理器指令是否在 主处理器中进入提交状态,当且仅当协处理器指令被主处理器提交时,协处理器指令从协3处理器指令缓冲区发射至协处理器执行单元;主处理器指令在重排序缓存中创建表项时标记为未完成运行状态,需等到对应指 令在主处理器执行单元中完成运行后才将其标记为已完成状态。作为优选的一种方案主处理器指令和协处理器指令在重排序缓存单元中创建相 应的表项后,主处理器指令在主处理器执行单元中执行,协处理器指令在协处理器执行单 元中执行,两者并行执行。进一步,主处理器指令与协处理器指令在重排序缓存中创建表项时按序创建,退 休时按序退休。 再进一步,所述提交状态是指所述协处理器指令已经成为主处理器中最长历史的 指令,并已经被确认进入等待退休的状态。更进一步,协处理器指令缓冲区中缓存的协处理器指令分为已提交指令和未提交 指令,所述已提交的协处理器指令被送入协处理器执行单元执行,未提交的协处理器指令 将在缓冲区中等待主处理器对其进行提交状态确认。本专利技术的有益效果主要表现在(1)、使得协处理器指令和协处理器指令后的主处 理器指令能够尽可能早的送入协处理器执行单元和主处理器执行单元中执行并在主处理 器重排序缓存中退休,减少流水线的空洞,提高处理器的整体性能。(2)、本专利技术硬件开销 小,实现简单。仅需要增加一个协处理器指令缓冲区和少量的控制逻辑。附图说明图1是一种基于主从架构的协处理器高效执行的装置的结构示意图。图2是主处理器重排序缓存及其表项内容的结构示意图。图3是主处理器重排序缓存创建表项时的表项状态示意图。图4是主处理器重排序缓存表项退休的结构示意图。图5是协处理器指令缓冲区及其表项内容的结构示意图。图6是协处理器指令缓冲区中已提交指令与未提交指令的表项状态示意图。图7是协处理器指令缓冲区更新指令提交状态的结构示意图。图8是协处理器指令缓冲区表项退休的结构示意图。具体实施例方式下面结合附图对本专利技术作进一步描述。参照图1 图8,一种基于主从架构的协处理器高效执行的装置,包括主处理器10 和协处理器20,所述主处理器10包括流水线寄存器30,用于储存译码后的主处理器指令 和协处理器指令;主处理器执行单元50,用以主动运行主处理器指令;重排序缓存单元40, 用于对主处理器指令和协处理器指令创建表项;所述协处理器20包括协处理器指令缓冲 区60,用于缓存协处理器指令;协处理器执行单元70,用于接受协处理器指令缓冲区提供 的协处理器指令,完成指令运行并返回结果;协处理器指令在所述重排序缓存单元中创建表项时,直接将其标记为已完成运行 状态,此时,协处理器指令被发送至协处理器指令缓冲区,在协处理器指令缓冲区中临时等 待,由协处理器指令缓冲区实时监控主处理器重排序缓存单元中的该协处理器指令是否在主处理器中进入提交状态,当且仅当协处理器指令被主处理器提交时,协处理器指令从协 处理器指令缓冲区发射至协处理器执行单元;主处理器指令在重排序缓存中创建表项时标记为未完成运行状态,需等到对应指 令在主处理器执行单元中完成运行后才将其标记为已完成状态。本实施例中,包括主处理器10,协处理器20,流水线寄存器30,主处理器重排序缓 存40,主处理器执行单元50,协处理器指令缓冲区60,协处理器执行单元70。其中主处理 器10采取5级经典流水线,其处理主处理器指令,并发射协处理器指令给协处理器。协处 理器20处理协处理器指令。流水线寄存器30储存译码后的有关主处理器指令和协处理器 指令的信息。主处理器重排序缓存40储存主处理器指令和协处理器指令的提交,完成,退 休等信息。主处理器执行单元50执行主处理器的指令。协处理器指令缓冲区60储存和管 理协处理器指令。协处理器执行单元70执行协处理器指令。以下介绍本专利技术实施例的运行过程。在介绍具体的实施例之前,先对提交,完成,退休这几个术语进行说明。指令的提 交是指此指令已经成为主处理器中历史最长的指令且在后续运行过程中将最先实施退休, 其位于主处理器重排序缓存的顶端。指令的完成是指此指令已执行完成,获得运行结果。指 令的退休是指此指令更新处理器的状态(如回写寄存器堆等),并将指令从重排序缓存中 清除。高端嵌入式CPU目前采用乱序执行,按序提交和按序退休的运行机制。主处理器指令与协处理器指令通过主处理器10的取指、译码阶段后送入流水线 寄存器30中储存。当主处理器执行单元50可以接收主处理器指令时,将主处理器指令送 入主处理器执行单元50中;当协处理器20可以接收协处理器指令时,将协处理器指令送入 协处理器20中。在主处理器指令或协处理器指令被送往各自的目标单元的同时,主处理器 指令和协处理器指令都将在主处理器重排序缓存40中创建相应的表项。当主处理器指令 或协处理器指令在主处理器10中完成时,则在主处理器重排序缓存40中按序退休。当协 处理器20接收协处理器指令后将其送入协处理器本文档来自技高网...

【技术保护点】
一种基于主从架构的协处理器高效执行的装置,包括主处理器和协处理器,所述主处理器包括:流水线寄存器,用于储存译码后的主处理器指令和协处理器指令;主处理器执行单元,用以主动运行主处理器指令;重排序缓存单元,用于对主处理器指令和协处理器指令创建表项;所述协处理器包括:协处理器指令缓冲区,用于缓存协处理器指令;协处理器执行单元,用于接受协处理器指令缓冲区提供的协处理器指令,完成指令运行并返回结果;其特征在于:协处理器指令在所述重排序缓存单元中创建表项时,直接将其标记为已完成运行状态,此时,协处理器指令被发送至协处理器指令缓冲区,在协处理器指令缓冲区中临时等待,由协处理器指令缓冲区实时监控主处理器重排序缓存单元中的该协处理器指令是否在主处理器中进入提交状态,当且仅当协处理器指令被主处理器提交时,协处理器指令从协处理器指令缓冲区发射至协处理器执行单元;主处理器指令在重排序缓存中创建表项时标记为未完成运行状态,需等到对应指令在主处理器执行单元中完成运行后才将其标记为已完成状态。

【技术特征摘要】

【专利技术属性】
技术研发人员:王荣华孟建熠严晓浪葛海通
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

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

1