[发明专利]一种芯片内核浮点异常的处理方法在审
申请号: | 202111084592.6 | 申请日: | 2021-09-17 |
公开(公告)号: | CN113867683A | 公开(公告)日: | 2021-12-31 |
发明(设计)人: | 陈左亮;娄琦;张雷;丁茂实;芮正新;陈闯;申传宗;徐雄飞 | 申请(专利权)人: | 大唐南京发电厂;南京科远智慧科技集团股份有限公司 |
主分类号: | G06F7/499 | 分类号: | G06F7/499;G06F11/07 |
代理公司: | 北京元中知识产权代理有限责任公司 11223 | 代理人: | 贺兆乐 |
地址: | 210059 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 芯片 内核 浮点 异常 处理 方法 | ||
本发明公开了一种芯片内核浮点异常的处理方法,所述处理方法包括:监测芯片在运行过程中不满足屏蔽条件的第一异常信息,所述第一异常信息包括异常浮点;确定引起所述第一异常信息中异常浮点的输入浮点寄存器;对所述输入异常浮点的浮点寄存器进行处理,修正所述输入浮点寄存器至合法值。通过对输入异常浮点的浮点寄存器进行修正,对异常浮点的处理方法进行分析优化,提高了芯片内核下异常浮点的处理速度。不同于传统的调用软浮点模拟程序的处理方法,该方法直接对操作指令进行解析,查找操作数的值,将其校正后退出返回到原处理流程,提高了处理速度。
技术领域
本发明属于计算机验证技术领域,具体地说,涉及一种芯片内核浮点异常的处理方法。
背景技术
随着国产化处理器的发展,越来越多的基于MIPS架构的国产处理器使用到了工业生产中。工业生产中通常使用RTOS操作系统,相对于通用的操作系统RTOS要求系统响应快速简洁。但是相对于X86架构POWERPC架构MIPS浮点异常处理需要依赖于软件,传统处理方法需要调用软浮点程序进行处理,处理过程较长,消耗CPU资源并且影响RTOS环境下的中断异常的响应速度,给国产芯片内核架构CPU在工业场合的应用带来一系列的问题。
有鉴于此特提出本发明。
发明内容
本发明要解决的技术问题在于克服现有技术的不足,提供一种芯片内核浮点异常的处理方法,解决了芯片内核浮点异常处理速度慢的问题。
为解决上述技术问题,本发明采用技术方案的基本构思是:
一种芯片内核浮点异常的处理方法,所述处理方法包括:
监测芯片在运行过程中不满足屏蔽条件的第一异常信息,所述第一异常信息包括异常浮点;
确定引起所述第一异常信息中异常浮点的输入浮点寄存器;
对所述输入异常浮点的浮点寄存器进行处理,修正所述输入浮点寄存器至合法值。
进一步,所述方法还包括:在所述芯片初始化的过程中,监测所述芯片中满足屏蔽条件的第二异常信息;所述第二异常信息包括多种类型的MIPS异常;
对所述第二异常信息进行屏蔽处理。
进一步,在监测过程中,需要将浮点寄存器与通用寄存器压入堆栈中。
进一步,浮点寄存器与通用寄存器压入堆栈之后,处理器执行浮点指令,执行过程中,不满足屏蔽条件的异常浮点会被保存在浮点异常寄存器中,从而确定输入异常浮点的浮点寄存器。
进一步,在监测芯片过程中,屏蔽条件为:需对芯片内核初始化,将浮点寄存器中FS置为1,RM域置为0,Enables区域全部置0。
进一步,对于未满足屏蔽条件的异常浮点,则取出当前epc指向的指令填入待处理指令缓存,并判断异常浮点是否在MIPS分支延时槽之中,若是,将epc指向的下一条指令填入待处理指令缓存。
进一步,若异常浮点未在MIPS分支延时槽之中,则解析当前指令,找出当前指令输入的浮点寄存器。
进一步,找到浮点异常寄存器内的异常浮点,异常浮点与检验堆栈中的输入浮点寄存器中的值相对应,将其修正为规格化数。
进一步,异常结束处理流程,弹栈恢复寄存器上下文,跳转到epc返回地址。
进一步,监测芯片在运行过程中接收来自于内核的舍入方式信号,运算核心对初步的运算结果进行舍入操作。
采用上述技术方案后,本发明与现有技术相比具有以下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐南京发电厂;南京科远智慧科技集团股份有限公司,未经大唐南京发电厂;南京科远智慧科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111084592.6/2.html,转载请声明来源钻瓜专利网。