异常、中断的发生时刻与响应时刻 ·异常:立即响应(同步) ID EX MEM WB 一指令异常:终止执行,或重启当前指令 一系统调用:返回下一条指令 时钟冂几几门几几几几几几几门 节拍 中断:指令周期结束才响应 (状态) 机器周期 机器周期 机器周期→ (取指令) (取有效地址) (执行指令) 一返回下一条指令,停止 指令周期 0 精确断点:p228 User program Interrupt handler 一之前的指令己执行完成 ·已经提交其体系结构可见状态 一之后的指令还没有发射 ·没有改变任何机器状态 0 程序语义:顺序,按序,精确
异常、中断的发生时刻与响应时刻 • 异常:立即响应(同步) – 指令异常:终止执行,或重启当前指令 – 系统调用:返回下一条指令 • 中断:指令周期结束才响应 – 返回下一条指令,停止 • 精确断点:p228 – 之前的指令已执行完成 • 已经提交其体系结构可见状态 – 之后的指令还没有发射 • 没有改变任何机器状态 • 程序语义:顺序,按序,精确
The Basics of Exception Handling Offset o Reserved for 软硬件接口约定(p228) Interrupt Vectors Top of Stack- Reserved for 一EPC:断点=异常指令地址/下一条指令地址 Stack RAM -Cause:检测并记录异常原因 Reserved for Heap -关中断,清当前中断 Top of Heap 8 bytes DATA -保存PSW/CSR Unused Memory Mapped -建立处理环境:user mode=>kernel mode Vector::转ESR/ISR入口,非向量式/向量式 ROM CODE 50 bytes 1.保存现场:RF User program Interrupt handler 2.开中断 3.进行异常服务 4.关中断 5.恢复现场:RF Interrupt occurs here 6.中断返回:iret/eret -开中断,恢复用户模式,恢复PSW
The Basics of Exception Handling • 软硬件接口约定(p228) – EPC:断点=异常指令地址/下一条指令地址 – Cause:检测并记录异常原因 – 关中断,清当前中断 – 保存PSW/CSR – 建立处理环境:user mode => kernel mode – Vector:转ESR/ISR入口,非向量式/向量式 1. 保存现场:RF 2. 开中断 3. 进行异常服务 4. 关中断 5. 恢复现场:RF 6. 中断返回:iret/eret – 开中断,恢复用户模式,恢复PSW