中断介绍PPT学习教案
中断是计算机系统中的一种机制,用于处理异步事件。中断可以使CPU暂停当前的工作,转而去处理这些事件,处理完以后,再回到原来被中断的地方继续原来的工作。
中断类型可以分为 RESET、不可屏蔽中断(NMI)和可屏蔽中断(INT4-INT15)。 RESET 是一种复位中断,用于重置系统。不可屏蔽中断是一个高优先级的中断,不能被屏蔽掉。可屏蔽中断是一种可被屏蔽掉的中断,可以根据需要进行屏蔽。
中断服务表(IST)是包含中断服务代码的取指包的一个地址表。当 CPU 开始处理一个中断时,它要参照 IST 进行。 IST 包含 16 个连续取指包,每个中断服务取指包都含有 8 条指令。
中断寄存器是处理中断的重要组件。控制状态寄存器(CSR)控制全局使能或禁止中断。中断使能寄存器(IER)使能或禁止中断处理。中断标志寄存器(IFR)示出有中断请求但尚未得到服务的中断。中断设置寄存器(ISR)人工设置 IFR 中的标志位。中断清零寄存器(ICR)人工清除 IFR 中的标志位。中断服务表指针(ISTP)指向中断服务表的起始地址。不可屏蔽中断返回指针(NRP)包含从不可屏蔽中断返回的地址,该中断返回通过 B NRP 指令完成。中断返回指针(IRP)包含从可屏蔽中断返回的地址,该中断返回通过指令 B IRP 完成。
中断响应过程包括接收中断请求、中断确认和执行中断服务程序。中断服务程序是处理中断的关键步骤,需要根据不同的中断类型和中断优先级进行不同的处理。
在编程中,中断服务程序通常使用C语言编写,并使用#define语句定义寄存器的地址。例如,#define CSR 0x-------定义了控制状态寄存器的地址。中断服务程序还需要使用指针来访问寄存器,例如,*(unsigned int *)CSR = 0x----;
在编程中,中断服务程序还需要使用函数来处理中断,例如,void Interrupt_Init(void)函数用于初始化中断系统。interrupt void c_int4(void)函数用于处理INT4中断。
中断机制是计算机系统中一个重要的组件,用于处理异步事件。中断类型、中断寄存器和中断服务表都是中断机制的重要组件。中断响应过程和中断服务程序是处理中断的关键步骤。