arm处理器异常模式有哪些

arm处理器异常处理 所谓异常就是正常的用户程序被暂时中止,处理器就进入异常模式,例如响应一个来自外设的中断,或者当前程序非法访问内存地址都会进入相应异常模式。
1.1.1 异常分类 (1)复位异常 当cpu刚上电时或按下reset重启键之后进入该异常,该异常在管理模式下处理。
(2)一般/快速中断请求 cpu和外部设备是分别独立的硬件执行单元,cpu对全部设备进行管理和资源调度处理,cpu要想知道外部设备的运行状态,要么cpu定时的去查看外部设备特定寄存器,要么让外部设备在出现需要cpu干涉处理时“打断”cpu,让它来处理外部设备的请求,毫无疑问第二种方式更合理,可以让cpu“专心”去工作,这里的“打断”操作就叫做中断请求,根据请求的紧急情况,中断请求分一般中断和快速中断,快速中断具有最高中断优先级和最小的中断延迟,通常用于处理高速数据传输及通道的中数据恢复处理,如dma等,绝大部分外设使用一般中断请求。
(3)预取指令中止异常 该异常发生在cpu流水线取指阶段,如果目标指令地址是非法地址进入该异常,该异常在中止异常模式下处理。
(4)未定义指令异常 该异常发生在流水线技术里的译码阶段,如果当前指令不能被识别为有效指令,产生未定义指令异常,该异常在未定义异常模式下处理。
(5)软件中断指令(swi)异常 该异常是应用程序自己调用时产生的,用于用户程序申请访问硬件资源时,例如:printf()打印函数,要将用户数据打印到显示器上,用户程序要想实现打印必须申请使用显示器,而用户程序又没有外设硬件的使用权,只能通过使用软件中断指令切换到内核态,通过操作系统内核代码来访问外设硬件,内核态是工作在特权模式下,操作系统在特权模式下完成将用户数据打印到显示器上。这样做的目的无非是为了保护操作系统的安全和硬件资源的合理使用,该异常在管理模式下处理。
(6)数据中止访问异常 该异常发生在要访问数据地址不存在或者为非法地址时,该异常在中止异常模式下处理。
arm处理器中有7种异常情况: 快速中断请求,中断请求,预取指中止,数据中止,软件中断,未定义指令,复位
快速中断请求异常进入快中断模式,支持高速数传输及通道处理(fiq异常响应时进入此模式)
中断请求异常进入中断模式,用于通用中断处理,(irq异常响应时进入此模式) 预取指中止,数据中止异常进入中止模式,用于支持虚拟内存和/或存储器保护 未定义指令异常进入未定义模式,支持硬件协处理器的软件仿真(未定义指令异常响应时进入此模式)
软件中断,复位异常进入管理模式,操作系统保护代码(系统复位和软件中断响应时进入此模式)
cprs的i位为中断禁止位,f位为快中断禁止位

汇顶科技将推出最新的5G超薄指纹识别技术
华为荣耀v9和华为荣耀9相差近千元,详细对比看看具体相差在哪里?
夏普新上市LED阵列具有色温可调功能
Vivado工程模式和非工程模式的比较
未来式的存储器会是怎样的
arm处理器异常模式有哪些
PL2586 USB2.0高速4端口集线器控制器概述及特点
距领奖台仅一步之遥,远景电动方程式车队摩纳哥站斩获双积分
下一代通用内存会是ULTRARAM吗?
如何使用近场探头?
2016年EUV降临 半导体格局生变
2022“航天宏图杯”遥感影像智能处理算法大赛决赛名单出炉
联发科9200和麒麟9000参数对比
预端接光纤有哪些特点
三峡工程中的结构化布线系统解析
区块链从哪一些方面赋能了制造业
TI SensorTag套件协助蓝牙低功耗智能手机应用开发
滴滴出行正在加利福尼亚州山景城建立一个新实验室
简单介绍MOSFET的原理
微软Edge浏览器开启了夜间模式和双因素身份验证功能