Interrupt System(IR中断系统)

本文详细解释了在TriCore系统中,中断源如何通过中断请求触发CPU处理,包括中断优先级的管理、中断控制寄存器的功能、中断服务例程的执行过程,以及中断向量表的使用策略,如优先级组和向量间隔的选择。

        在TriCore系统中,多个中断源(如外设或外部中断)可以生成中断请求(如cpu或DMA通道)。本文描述了CPU的中断处理能力,包括中断优先级方案和对向量表的访问。

一、常规操作 

         每个中断源被分配一个唯一的中断优先级编号,称为服务请求优先级编号(SRPN)。从中断源接收到中断请求时,中断控制单元(ICU)使用SRPN在多个并发中断请求之间确定优先级。获胜请求的SRPN作为Pending Interrupt Priority Number (PIPN)与请求触发器一起提供给CPU。CPU通过比较PIPN和当前CPU优先级数(CCPN)来决定是否接受请求的中断。如果CPU决定接受请求的中断,它响应一个中断确认,并返回被占用的中断的优先级号。然后ICU将清除请求中断源。
 

     

1、 ICU 中断控制寄存器 (ICR) 

      ICU中断控制寄存器(ICR)保存:

                                  当前CPU优先级号(CCPN),Current CPU Priority Number

                                  全局中断启用/禁用位(IE),Interrupt      enable

                                  当前等待中断优先级号(PIPN),current Pending Interrupt Priority Number 

 
 2 、CPU 中断请求的操作

CPU检查全局中断使能位ICR.IE的状态,并比较当前CPU的优先级数ICR.CCPN和PIPN。CPU只有在ICR.IE == 1且PIPN大于CCPN时才会中断。中断发生时CPU进入中断例程。PIPN用于确定中断向量表入口点并确认ICU, ICU反过来将确认发送回挂起的中断请求。

有几种情况可能会阻止CPU立即响应ICU生成的中断请求。这些都是:

                                 中断系统被全局禁用(ICR.IE = = 0)。

                                 当前CPU优先级(CCPN)等于或高于Pending Interrupt priority Number (PIPN)

                                 CPU正在进入中断或trap服务程序

                                CPU正在处理不间断trap业务

                                CPU正在执行一条多周期指令

                                CPU正在执行一条修改ICR的指令

只有当这些条件不再为真时,CPU才响应中断请求。


评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值