导图社区 《微机原理》-中断技术
《微机原理》系列,异常处理与中断技术。 当有人敲门和水开了同时发生,作为主控的你会如何安排优先级? 整活!让知识自己说话~~
社区模板帮助中心,点此进入>>
中断技术
先知道什么是 异常
异常就是不正常
正常工作:在预先存储的程序控制下一步步 按照程序执行流程执行程序中的指令
异常类型
用户干预
设备故障
非法指令
外设交互
中断类型码:中断源的编码 中断向量:中断服务程序入口地址
发现异常怎么办 异常处理机制
处理原则
对不同异常事件有针对性处理, 处理结束后返回原程序且不破化原程序的正常执行
识别异常事件
状态位法
类型码法
新技能:能够优先输出高级别异常
进入有针对性处理
返回原程序继续执行
被中断时,要保存当前PC值
保存PC方法
特殊寄存器,如MIPS EPC
栈保存
皇上决定 微处理器硬件调用
正常执行程序无法预知中断, 需由微处理器硬件直接调用异常处理程序
进入异常处理程序 查表
软硬件实现:总中断服务程序。触发硬件更改PC进入
纯硬件实现:硬件查各个异常程序地址表
中断
是什么
外设向微处理器发出请求,微处理器响应后再传送数据
中断控制器
我是管家
需要的功能
中断请求信号保持与清除
中断执行指令过程不能被中断 中断请求来了,我收下了,然后就闭嘴好啦
硬件电路
中断响应寄存器,是个三态门 中断状态寄存器是个D触发器
中断源识别 出现中断请求信号
出事了?
是哪个中断源?
中断类型码
只有一个中断
多个中断
中断使能控制
中断使能寄存器,是个D触发器
中断优先级设置
软件判断,从头到尾
硬件 优先编码器 老人小孩优先
实例:AXI INTC
接口逻辑输出寄存器值,或向寄存器写
工作模式
普通中断模式
软件方式,总中断服务程序 中断源识别和调用中断服务程序都是软件完成
ISR通过写清除
快速中断模式
硬件方式,硬件识别中断向量,中断向量寄存器IVAR,并由硬件维护
ISR由硬件自动清除
寄存器含义
ISR中断状态寄存器 有没有中断
每一位代表一个中断源, 1时代表出现中断请求
IER中断使能寄存器 能不能中断
每一位都是代表, 1表示中断使能
IAR中断响应寄存器 清不清中断
每一位都是代表 1表示写入,清除ISR对应状态
IPR保存还未响应的中断源状态
SIE\CIE对应为1时,
SIE使得IER为1
CIE使得IER为0
IMR工作模式寄存器
0--普通中断模式 1--快速中断模式
IVR
保存最高优先级中断源编码
intr0的优先级最高!
32位
MER主中断使能寄存器
只有两个位 HIE(D1)为1时,表示使能硬件中断,为0时是软件中断,要关注ISR ME(D0)为1时,表示允许Irq产生中断请求
IVAR中断向量表
存32个中断向量,一个四字节
基地址0x100