您现在的位置: 中国污水处理工程网 >> 技术转移 >> 正文

单发射五级流水处理器精确异常处理方法

发布时间:2019-6-12 17:01:43  中国污水处理工程网

  申请日2013.05.31

  公开(公告)日2013.09.11

  IPC分类号G06F11/07

  摘要

  本发明公开了一种单发射五级流水处理器的精确异常处理方法,在流水线各单元中通过流水级间寄存器组依次相连,流水级间寄存器组中含有异常标志寄存器和指令废除标志寄存器;在取指级中增设异常检测模块、功耗控制模块、三输入或门、多路选择器和快速响应模块。该方法适用于单发射五级流水线处理器的高效率精确异常处理,通过禁止取指单元IF在精确异常发生时向主存请求指令,可以大大提高精确异常发生时的取指效率;通过提前给出指令废除信号,在提高嵌入式处理器的性能的同时降低了功耗。

 

  权利要求书

  1.一种单发射五级流水处理器的精确异常处理方法,其特征在于,包括以下操作:在取指单元IF、译码取指单元ID、执行取指单元EX、存储器访问取指单元M、写回取指单元WR五个单元之间设置流水级间寄存器组,流水级间寄存器组中含有异常标志寄存器和指令废除标志寄存器;在取指单元IF中增设异常检测模块(516)、多输入或门(514)、多路选择器(515)、功耗控制模块(526)和快速响应模块(517);流水级间寄存器组分别输出执行级异常标识信号、存储器访问级异常标识信号、写回级异常标识信号至多输入或门(514)相或;多输入或门(514)输出至异常检测模块(516),异常检测模块(516)的三个输出指令选择信 (518)、指令无效标志信号(522)和停止取指标志信号(521)分别至多路选择器(515)、功耗控制模块(526)和指令缓冲存储器(529);多路选择器(515)根据异常检测模块(516)的输出信息,从取指单元IF的指令缓冲存储器(529)输出或快速响应模块(517)的输出选择其中之输出给译码单元ID;功耗控制模块(526)根据指令无效标志信号(522),输出指令废除信号annul(527)给译码单元ID;指令缓冲存储器(529)根据停止取指标志信号(521),对流水线使能信号进行控制;当精确异常发生时,禁止处理器向主存请求指令,将快速响应模块(517)中提供的单周期指令送入译码取指单元ID,同时给出指令无效的标志信号,标志信号随着无效指令依次向下一个流水逻辑块传递,无效标志信号防止各流水逻辑块内的组合逻辑翻转。

  2.如权利要求书1所述的单发射五级流水处理器的精确异常处理方法,其特征在于,流水级间寄存器所输出的异常标识信号输出至多输入或门(514)相或,然后输出至异常检测模块(516);当异常检测模块(516)输出无效时,多路选择器(515)选来自主存或者指令缓冲存储器(529)的输出至译码级,同时置停止取指信号(521)和指令无效标志信号(522)无效,继续从指令缓冲存储器(529)或者主存取指令;当异常检测模块(516)输出有效时,多路选择器(515)选择快速响应模块(517)给出的单周期指令至译码级,同时置停止取指信号(521)和指令无效标志信号(522)有效,停止向指令缓冲存储器(529)或者主存请求指令,待产生异常的指令彻底流出流水线处理器时,处理器恢复正常取指。

  3.如权利要求1所述的单发射五级流 处理器的精确异常处理方法,其特征在于,所述的异常标志寄存器均为带使能端的一位寄存器,异常标志寄存器的使能端有效时,才能够寄存数据。

  4.如权利要求1所述的单发射五级流水处理器的精确异常处理方法,其特征在于,所述的快速响应模块(517)在精确异常发生时,提供一个单周期指令输出至多路选择器(515);所述的单周期指令为处理器指令集内的任意单周期指令。

  5.如权利要求1所述的单发射五级流水处理器的精确异常处理方法,其特征在于,所述的指令缓冲存储器的输出指令与PC值相对应,该指令来自指令缓冲存储器(529)或者主存。

  6.如权利要求1所述的单发射五级流水处理器的精确异常处理方法,其特征在于,当停止取指标志信号(521)有效时,则流水线中出现异常,停止向指令缓冲存储器(529)继续取指;指令缓冲存储器(529)检测到停止取指标志信号(521)有效时,置处理器的流水使能信号有效;当指令选择信号(518)有效时控制多路选择器(515)输出快速响应模块(517)的输出指令至译码单元ID;当无效标志信号(522)有效时功耗控制模块(526)会输出有效的指令废除信号annul(527)至译码单元ID。

  7.如权利要求6所述的单发射五级流水处理器的精确异常处理方法,其特征在于,指令废除信号annul与原写回单元生成的annul_all信号相连接。

  8.如权利要求1所述的单发射五级流水处理器的精确异常处理方法,其特征在于,指令缓冲存储器(529)检测到停止取指标志信号(521)有效时,置处理器的流水使能信号有效,同时停止向处理器提供指令,当停止取指标志信号无效时,保持原有控制逻辑;多路选择器(515)检测到指令选择信号(522)有效时,选择快速响应模块(517)的输出指令至译码单元ID,否则选择来自指令缓冲存储器或者主存的指令至译码单元ID;功耗控制模块(526)检测到无效标志信号有效时,置指令废除信号annul有效,否则置annul无效,annul输出至译码单元ID,且随着指令流水不断向写回单元WR传递,各流水单元的annul有效时,流水单元内的组合逻辑停止动作。

  说明书

  一种单发射五级流水处理器的精确异常处理方法

  技术领域

  本发明属于处理器技术领域,涉及一种五级流水的单发射处理器,具涉及一种单发射五级流水处理器的精确异常处理。

  背景技术

  单发射处理器是指每次启动一条指令进入流水线的处理器。而五级流水是指每条指令都需要经过取指、译码、执行、存储器访问、写回五个阶段才可以执行结束。而精确异常是指由一条具体的指令引起,并且处理器状态未被引起异常的指令改变,精确异常的处理需满足以下条件:一、将引发异常的指令的地址PC和下一条指令的地址NPC保存在本地寄存器;二、引发异常的指令之前的指令已经完全的执行;三、引发异常的指令之后的指令都没有执行。

  由上述说明可知,假设A指令产生精确异常,那么处理器必须保证A之前的指令执行完毕,A之后的指令没有执行,或者说A之后的指令必须为无效执行(即虽然执行但是执行的结果不会改变处理器状态,执行的结果不会写回寄存器文件)。

  为了尽可能的提高流水处理器的性能,处理器的体系结构定义时都将精确异常平均分配到不同的指令流水级,图1中200描述了某款嵌入式处理器所有精确异常的产生及处理流程,对于写回单元WR之前的异常,会经过异常优先级排列逻辑204产生优先级最高的异常,并将优先级最高的精确异常的信息(如异常类型)和异常标志位保存在寄存器组205、206、207、208中的有关寄存器中,然后在流水线中传递精确异常的信息,写回单元WR会检测由寄存器组208传递而来的异常标志位是否有效,如果异常标志位有效,那么将指令的PC值写进寄存器文件201的同时将异常的信息写入处理器相关寄存器202。

  通过上面的分析可知,目前的单发射流水线嵌入式处理器在执行指令过程中,如果指令A发生异常,那么指令A的后续指令A+1、A+2等在指令A达到写回单元WR之前会被正常从主存中取出,这种机制存在以下弊端:浪费大量的时间取回来的指令是无效指令,所谓无效指令即不被执行或者即使执行也不对处理器状态有任何影响。通过图2说明目前的单发射流水线嵌入式处理器如何保证A的后续指令A+1、A+2等的无效执行。假设第二条指令A引起精确异常,待第二条指令到达写回单元WR之后,WR的有关逻辑会检测其异常标志信号,如果其异常标志信号有效,那么WR会生成annul_all信号,该信号会被各流水单元检测,并被保存进入流水级间寄存器组,如果流水级间寄存器组中的废除信号有效,那么对应指令将不会引起流水单元内的逻辑变化,这样就保证annul_all信号会将其后的四条指令废除,即其后四条指令的执行不再改变处理器的状态。

  目前的单发射流水线嵌入式处理器在精确异常发生时,会花费大量的时钟周期去主存取若干条根本不会被有效执行的指令,这种精确异常处理方法效率较低,影响了嵌入式处理器的性能;同时无效指令的执行又在一定程度上增大了嵌入式处理器的功耗。

  发明内容

  本发明专利解决的问题在于一种单发射五级流水处理器的精确异常处理方法,在提高异常处理效率的同时降低了处理器在异常处理过程中的功耗。

  本发明是通过以下技术方案来实现:

  一种单发射五级流水处理器的精确异常处理方法,在取指单元IF、译码取指单元ID、执行取指单元EX、存储器访问取指单元M、写回取指单元WR五个单元之间设置流水级间寄存器组;在取指单元中增设异常检测模块、功耗控制模块、三输入或门、多路选择器和快速响应模块;流水级间寄存器组分别输出执行级异常标识信号、存储器访问级异常标识信号、写回级异常标识信号至多输入或门相或;多输入或门输出至异常检测模块,异常检测模块的三个输出指令选择信号、指令无效标志信号和停止取指标志信号分别至多路选择器、功耗控制模块和指令缓冲存储器(指令Cache);多路选择器根据指令选择信号,从指令缓冲存储器输出或快速响应模块的输出中选择其一,输出给译码单元ID;功耗控制模块会根据指令无效标志信号,输出指令废除信号annul给译码单元ID;指令缓冲存储器会根据停止取指标志信号,对流水线使能信号进行控制;

  当精确异常发生时,禁止处理器向主存请求指令,将快速响应模块(517)中提供的单周期指令送入译码逻辑块ID,同时给出指令无效的标志信号,标志信号随着无效指令依次向下一个流水逻辑块传递,无效标志信号防止各流水逻辑块内的组合逻辑翻转。

  所述的流水级间寄存器组输出的异常标识信号输出至多输入或门相或,然后输出至异常检测模块;

  当异常检测模块输出无效时,多路选择器选来自主存或者指令缓冲存储器的输出至译码级(译码单元ID),同时置停止取指信号和指令无效标志信号无效,继续从指令缓冲存储器或者主存请求指令;

  当异常检测模块输出有效时,多路选择器选择快速响应模块给出的单周期指令至译码级,同时异常检测模块置停止取指标志信号和指令无效标志信号有效,停止向指令缓冲存储器或者主存请求指令,待产生异常的指令彻底流出流水线处理器时,处理器恢复正常取指。

  所述的异常标志寄存器均为带使能端的一位寄存器,异常标志寄存器的使能端有效时,才能够寄存数据。

  所述的快速响应模块在精确异常发生时,提供一个单周期指令输出至多路选择器;所述的单周期指令为处理器指令集内的任意单周期指令。

  所述的指令缓冲存储器的输出指令与PC值相对应,该指令来自指令缓冲存储器或者主存。

  所述的异常检测模块输出停止取指标志信号、指令选择信号和无效标志信号,分别连接至指令缓冲存储器、多路选择器和功耗控制模块;当停止取指标志信号有效时,则流水线中出现异常,停止向指令缓冲存储器继续取指;指令缓冲存储器检测到停止取指标志信号有效时,置处理器的流水使能信号有效;

  当指令选择信号有效时控制多路选择器输出快速响应模块的输出指令至译码单元ID;当无效标志信号有效时功耗控制模块会输出有效的指令废除信号annu至译码单元ID。所述的流水使能信号连接至异常标志寄存器的使能端。当停止取指标志信号和指令无效标志信号有效时,表示流水线中出现异常。指令缓冲存储器检测到停止取指标志信号有效时,置处理器的流水使能信号有效,同时停止向处理器提供指令,当停止取指标志信号无效时,保持原有控制逻辑;

  多路选择器检测到指令选择信号有效时,会选择快速响应模块的输出指令至译码单元ID,否则选择来自指令缓冲存储器或者主存的指令至译码单元ID;功耗控制模块检测到无效标志信号有效时,置指令废除信号annul有效,否则置annul无效,annul输出至译码单元ID,且随着指令流水不断向写回单元WR传递,各流水单元的annul有效时,流水单元内的组合逻辑停止动作。

  与现有技术相比,本发明专利具有以下有益的技术效果:

  本发明提供的单发射五级流水处理器的精确异常处理方法,通过提前检测陷阱标志位,在流水线处理器取指单元IF内增加异常标志位检测、快速响应和功耗控制三个模块,将各流水级之间的寄存器组中的异常标志位相或之后送到异常标志位检测模块,一旦异常标志位检测模块检测到流水线中任何一级出现异常,将控制取指单元IF停止向主存取指令的动作,从快速响应模块中取出一条单周期指令送至译码单元ID,同时置指令废除信号有效。

  本发明提供的单发射五级流水处理器的精确异常处理方法,适用于单发射五级流水线处理器的高效率精确异常处理,当精确异常发生时,禁止处理器向主存请求指令,可以大大提高精确异常发生时的取指效率;将快速响应模块中提供的单周期指令送入译码逻辑块ID,同时给出指令无效的标志信号,标志信号随着无效指令依次向下一个流水逻辑块传递,无效标志信号可防止各流水逻辑块内的组合逻辑翻转;通过提前给出指令废除信号,降低了无效指令执行时的处理器功耗;在嵌入式处理器的性能的同时降低了功耗。

相关推荐
项目深度追踪
数据独家提供
服务开通便捷 >