【技术实现步骤摘要】
处理器访问异常的处理方法、装置、存储介质及计算设备
[0001]本申请涉及数据处理
,具体而言,涉及一种处理器访问异常的处理方法、装置、存储介质及计算设备。
技术介绍
[0002]龙芯处理器是基于MIPS架构,属于RISC指令集,它对访问地址有一定要求,比如,存储访问半字(half word)时需要存储器地址是2字节对齐或者是其整数倍,访问字(word)时,存储器的地址必须是4字节对齐或者是其整数倍。
[0003]通常程序被设计能够访问任何地址空间的数据,但是由于MIPS架构的限制,导致很多程序移植到龙芯平台会出现执行异常和不定期的程序崩溃,这就是非对齐地址访问造成的异常错误,目前现有解决方式可以通过应用编写进行控制,使存储读写访问进行刻意设置,进行对齐处理,包括数据结构设计时使用字节填充或者pack对齐调整,但是对于一些具有通信功能的外设难免会进行单个字节的读写,这就很容易再次出现非对齐访问的异常,即使通过编程注意加以避免,但会牺牲更多的时间和效率。
[0004]针对上述现有技术中处理非对齐访问繁琐的 ...
【技术保护点】
【技术特征摘要】
1.处理器访问异常的处理方法,其特征在于,包括:在处理器访问内存的过程中,当检测到非对齐访问指令引发异常时,调用该异常对应的异常服务函数,保存异常地址和异常指针,其中所述异常地址为非对齐访问指令所要访问的地址,所述异常指针指向所述非对齐访问指令;控制系统进入内核态,创建陷阱任务后退出内核态,返回系统态;执行所述陷阱任务,将针对异常地址的非对齐访问指令转化为涵盖所述异常地址的对齐访问指令,执行所述对齐访问指令,以模拟所述非对齐访问指令实现对所述异常地址的访问。2.根据权利要求1所述的方法,其特征在于,所述非对齐访问指令包括:试图从非对齐的地址读取信息的读访问指令,和/或试图向非对齐的地址写入信息的写访问指令。3.根据权利要求2所述的处理方法,其特征在于,执行所述陷阱任务,将针对异常地址的非对齐访问指令转化为涵盖所述异常地址的对齐访问指令包括:确定所述异常地址中的对齐边界,以确定异常地址在所述对齐边界左侧的第一部分,以及异常地址在所述对齐边界右侧的第二部分;根据所述对齐边界,将所述非对齐访问指令拆分为访问所述第一部分的第一对齐访问指令和访问所述第二部分的第二对齐访问指令。4.根据权利要求3所述的处理方法,其特征在于,当所述非对齐访问指令包括:试图从非对齐的地址读取信息的读访问指令时,所述第一对齐访问指令包括第一对齐读访问指令,所述第二对齐访问指令包括第二对齐读访问指令,其中,执行所述对齐访问指令,以模拟所述非对齐访问指令实现对所述异常地址的访问包括:执行所述第一对齐读访问指令,从内存中得到第一组数据;从第一组数据中提取所述第一部分对应的数据,存储到临时结果中;执行所述第二对齐读访问指令,从内存中得到第二组数据;从第二组数据中提取所述第二部分对...
【专利技术属性】
技术研发人员:王东方,徐贵洲,弓羽箭,焦进星,韩辉,
申请(专利权)人:广州翼辉信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。