深入解析CPU:中断、模式、协处理器与内存系统
1. CPU中断响应机制
CPU在应对中断时,其响应延迟情况较为复杂。从最坏情况来看,响应中断的延迟包含以下几个部分:
- 同步外部请求需要2个时钟周期。
- 完成当前指令最多需要20个时钟周期。
- 数据中止需要3个时钟周期。
- 进入中断处理状态需要2个时钟周期。
将这些部分相加,最坏情况下的延迟可达27个时钟周期。而最好情况下,仅需4个时钟周期。
对于C55x而言,其处理中断的时间从不低于7个时钟周期,在很多情况下,需要13个时钟周期。当向CPU发送可屏蔽中断请求后,会按以下步骤进行处理:
1. 设置与该中断对应的中断标志寄存器(IFR)。
2. 检查中断使能寄存器(IER),确保该中断已被使能。
3. 检查中断屏蔽寄存器(INTM),确认该中断未被屏蔽。
4. 清除与该标志对应的中断标志寄存器(IFR)。
5. 保存适当的寄存器作为上下文。
6. 将INTM设置为1,禁用可屏蔽中断。
7. 将DGBM设置为1,禁用调试事件。
8. 将EALLOW设置为0,禁止访问非CPU仿真寄存器。
9. 跳转到中断服务程序(ISR)。
C55x提供了两种机制来保存和恢复中断及其他上下文切换时的寄存器,分别是快速返回和慢速返回。这两种方式都会保存返回地址和循环上下文寄存器。快速返回模式使用RETA保存返回地址,使用CFCT保存循环上下文位;而慢速返回模式则将返回地址和循环上下文位保存在栈中。
超级会员免费看
订阅专栏 解锁全文
4475

被折叠的 条评论
为什么被折叠?



