浮点异常处理装置制造方法及图纸

技术编号:2907019 阅读:180 留言:0更新日期:2012-04-11 18:40
本实用新型专利技术公开了一种浮点异常处理装置,包括浮点控制寄存器、浮点异常寄存器、浮点中断控制电路和浮点中断产生电路,其特点是还包括非屏蔽异常产生电路和浮点现场寄存器,所述的浮点中断控制电路是微程序RAM,用户向控制寄存器中写入浮点控制信息,处理器执行浮点指令,执行过程中,浮点指令的异常保存在浮点异常寄存器中,浮点指令地址和数据地址被保存在浮点现场寄存器中,控制异常指令;浮点控制寄存器和浮点异常寄存器的内容输入到非屏蔽异常产生电路,判断是否有非屏蔽异常,并将结果输入到浮点中断产生电路,同时相应的微指令也输入到浮点中断产生电路,控制中断请求信号或者中断向量。由于本实用新型专利技术使用微程序RAM,设计中发生错误可进行纠正。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及一种浮点异常处理装置,还涉及利用这种装置进行异常处理的方法。
技术介绍
文献“专利号为6826682的美国专利”公开了一种浮点异常检测方法,该方法首先采取一个过程,这个过程可以自动向一个正在执行的指令序列中添加用于测试浮点异常的特殊指令。其次在该指令序列的执行中,通过将指令序列重置到一个已知的正确状态来对异常进行处理。最后按照每个单个指令为一个队列进行单独执行。该方法可以实现浮点异常的检测,但是由于需要向正常指令序列添加特殊指令,特殊指令的译码和执行消耗了大量的处理器时间,额外时间开销非常较大。文献“专利号为5257214的美国专利”公开了一种自定时的异常检测触发机制。通过非边沿触发逻辑,该专利技术以小的延时获得异常信息。但是该触发逻辑不能有效滤波,因此系统的抗干扰能力差,如果电路中因为外部干扰有一个小毛刺出现都可能被认为是异常,另外在浮点指令和定点指令并行执行的情况下,这种方式由于需要保存定点现场来对浮点异常进行处理,需要花费大量的访存代价。文献“专利号为5410657的美国专利”公开了一种异常检测处理方法。在浮点指令运算时,定点单元不再执行程序中的有效指令,而是执行一个由系统产生的“哑指令”,该哑指令没有任何有效操作,只是在浮点指令发射时返回该浮点指令的地址,这样如果该浮点指令产生异常,系统就可以精确定位并区分是那条浮点指令产生的浮点异常。这种方法可以有效区分浮点指令间的异常,但是在浮点指令执行期间,定点指令需要执行一个专门用于报告浮点指令地址的哑指令,相当于程序的定点指令是完全停滞的,浮点和定点指令之间成为一种顺序执行关系,严重影响了指令并行度(ILP)。本专利技术设置了专门保存现场的浮点现场寄存器,可以通过硬件精确定位发生异常的浮点指令,完全可以保证浮点指令和定点指令的并行执行。参照图5,公知的浮点异常处理装置包括浮点控制寄存器、浮点异常寄存器、浮点中断控制电路和浮点中断产生电路,浮点控制寄存器用于保存异常的控制信息,浮点异常寄存器用于保存已发生的浮点异常,浮点中断控制电路根据浮点异常和控制寄存器内容控制浮点中断产生电路,以决定是否触发中断。如果发生某类浮点异常,并且控制寄存器中没有对该类浮点异常进行屏蔽,该装置才允许触发中断。该装置存在以下问题:浮点中断控制电路比较复杂,而且一旦发生设计上的错误,就无法进行纠正。
技术实现思路
-->为了克服现有技术浮点异常处理代价高及浮点异常处理装置中浮点中断控制电路设计复杂、发生错误不能改正的不足,本技术提供一种浮点异常处理装置,将浮点中断控制电路用一个可改写的微程序RAM替换,该微程序RAM构造简单,而且一旦发生设计上的错误,即使在芯片流片后也可进行纠正。本技术解决其技术问题所采用的技术方案:一种浮点异常处理装置,包括浮点控制寄存器、浮点异常寄存器、浮点中断控制电路和浮点中断产生电路,其特点是还包括非屏蔽异常产生电路和浮点现场寄存器,所述的浮点中断控制电路是微程序RAM,用户向控制寄存器中写入浮点控制信息,处理器执行浮点指令,执行过程中,浮点指令的异常保存在浮点异常寄存器中,浮点指令地址和数据地址被保存在浮点现场寄存器中,控制异常指令。本技术的有益效果是:由于浮点中断控制电路用一个可改写的微程序RAM替换,该微程序RAM构造简单,可以对异常中断的触发方式进行编程,一旦发生设计上的错误,即使在芯片流片后也可进行纠正;相比软件的浮点异常检测、处理方式降低了成本。下面结合附图和实施例对本技术作详细说明。附图说明图1是本技术浮点异常处理装置的结构框图。图2是公知的浮点异常处理装置。具体实施方式参照图1,本技术在构造上采用了微程序加硬连线的全硬件浮点异常处理装置,整个装置由浮点异常寄存器、浮点控制寄存器、非屏蔽异常产生电路,浮点现场寄存器,微程序RAM,浮点中断产生电路四大部分组成,微程序RAM替代了浮点中断控制电路,浮点异常寄存器保存现在和已有的不同浮点异常,浮点控制寄存器用于控制是否屏蔽某个异常,非屏蔽异常产生电路生成非屏蔽异常信号;浮点现场寄存器保存每一条正在执行的浮点指令的程序地址指针和数据地址指针;微程序RAM保存不同浮点指令的微程序,各个微程序由浮点完成检测微指令,浮点异常检测微指令,其他微指令和浮点完成微指令按序组成;浮点中断产生电路为硬连线,首先输入非屏蔽异常和正在执行的微指令,如果发生了非屏蔽异常,且正在执行的微指令为浮点异常检测微指令,则该电路会触发浮点中断产生电路向处理器发送浮点单元异常中断信号和中断向量号。整个电路的信息流向为:用户向控制寄存器中写入浮点控制信息,然后处理器开始执行浮点指令,在执行中,浮点指令的异常保存在浮点异常寄存器中,浮点指令地址和数据地址被保存在浮点现场寄存器中。浮点控制寄存器和浮点异常寄存器的内容输入到非屏蔽异常产生电路,该电路判断是否有非屏蔽异常,并将结果输入到浮点中断产生电路,同时-->相应的微指令也输入到浮点中断产生电路,控制该电路是否要向处理器产生中断。从执行流程上看,该装置有以下几个特点:首先整个异常现场保存、异常中断生成全部由微程序控制,而微程序可以通过重写RAM进行改变,整个执行流程可以变得非常灵活。其次微程序的执行和浮点协处理器的执行是独立的,处理器通过微程序启动浮点协处理器后,可以执行其它定点指令的微指令,从而可以并行执行浮点指令和定点指令。另外浮点微程序完成微指令表示的是浮点微程序执行完毕,并不表示浮点指令执行完毕,浮点协处理器可能还在进行运行,因此在每条指令微程序的开始都需要设置测试浮点完成检测微指令,该微指令保证前一条浮点指令执行完毕之后才判断前一条浮点指令是否有异常发生,保证了判断的正确性。-->本文档来自技高网
...

【技术保护点】
一种浮点异常处理装置,包括浮点控制寄存器、浮点异常寄存器、浮点中断控制电路和浮点中断产生电路,其特征在于:还包括非屏蔽异常产生电路和浮点现场寄存器,所述的浮点中断控制电路是微程序RAM,用户向控制寄存器中写入浮点控制信息,处理器执行浮点指令,执行过程中,浮点指令的异常保存在浮点异常寄存器中,浮点指令地址和数据地址被保存在浮点现场寄存器中,控制异常指令。

【技术特征摘要】
1、一种浮点异常处理装置,包括浮点控制寄存器、浮点异常寄存器、浮点中断控制电路和浮点中断产生电路,其特征在于:还包括非屏蔽异常产生电路和浮点现场寄存器,所述的浮点中断控制电路是微...

【专利技术属性】
技术研发人员:高德远张盛兵田杭沛樊晓桠王党辉黄小平魏廷存张萌郑然
申请(专利权)人:西北工业大学
类型:实用新型
国别省市:87[中国|西安]

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

1