7、中断系统(1)
- 格式:ppt
- 大小:2.80 MB
- 文档页数:33


7.1 MIPS CPU概述27.1.4 MIPS CPU中断机制●在MIPS体系结构中,最多支持4个协处理器(Co-Processor)。
其中,协处理器CP0是体系结构中必须实现的。
MMU、异常处理、乘除法等功能,都依赖于协处理器CP0来实现。
●MIPS的CP0包含32个寄存器。
本课程仅讨论常用的一些寄存器,如表7.1.2所示。
7.1.3 CP0表7.1.2CP0常用寄存器寄存器寄存器功能Register 0Index,作为MMU的索引用。
Register 10EntryHi,这个寄存器同EntryLo0/1一样,用于MMU中。
Register 11Compare,配合Count使用。
当Compare和Count的值相等的时候,会☐Status●这个寄存器标识了处理器的状态。
其中,中断控制的8个IM位和设定处理器大小端的RE位。
8个IM位,分别可以控制8个硬件中断源。
RE位这个Bit可以让CPU在大端(Big Endian)和小端(Little Endian)之间切换。
☐Cause●在处理器异常发生时,这个寄存器标识出了异常的原因,如图7.1.2所示。
其中,最重要的是从Bit2到Bit6,5个Bit的Excetion Code位。
它们标识出了引起异常的原因。
具体数值代表的异常类型。
☐EPC●这个寄存器的作用很简单,就是保存异常发生时的指令地址。
从这个地方可以找到异常发生的指令,再结合BadVAddr, sp, ra等寄存器,就可以推导出异常时的程序调用关系,从而定位问题的根因。
☐WatchLo/WatchHi●这一对寄存器可以用来设定“内存硬件断点”,也就是对指定点的内存进行监测。
当访问的内存地址和这两个寄存器中地址一致时,会发生一个异常。
●mfc0 rt, rd将CP0中的rd寄存器内容传输到rt通用寄存器;●mtc0 rt, rd将rt通用寄存器中内容传输到CP0中寄存器rd;●mfhi/mflo rt将CP0的hi/lo寄存器内容传输到rt通用寄存器中;●mthi/mtlo rt 将rt通用寄存器内容传输到CP0的hi/lo寄存器中;CP0主要操作●MIPS体系结构是一个无互锁,高度流水的五级pipeline架构,这就意味着,前一条指令如果尚未执行完,后一条指令有可能已经进入了取指令/译码阶段。
《微机原理与接口技术》习题解答习题77.1 什么是中断?常见的中断源有哪几类?CPU响应中断的条件是什么?【解答】中断是指CPU在正常执行程序时,由于内部/外部时间或程序的预先安排引起CPU暂时终止执行现行程序,转而去执行请求CPU为其服务的服务程序,待该服务程序执行完毕,又能自动返回到被中断的程序继续执行的过程。
常见的中断源有:一般的输入/输出设备请求中断;实时时钟请求中断;故障源;数据通道中断和软件中断。
CPU响应中断的条件:若为非屏蔽中断请求,则CPU执行完现行指令后,就立即响应中断。
CPU若要响应可屏蔽中断请求,必须满足以下三个条件:①无总线请求;②CPU 允许中断;③CPU执行完现行指令。
7.2 简述微机系统的中断处理过程。
【解答】(1)中断请求:外设需要进行中断处理时,向CPU提出中断请求。
(2)中断响应:CPU执行完现行指令后,就立即响应非屏蔽中断请求。
可屏蔽中断请求,CPU若要响应必须满足三个条件。
(3)中断处理:保护现场、开中断、中断服务。
(4)中断返回:CPU执行IRET中断返回指令时,自动把断点地址从堆栈中弹出到CS 和IP中,原来的标志寄存器内容弹回Flags,恢复到原来的断点继续执行程序。
7.3 软件中断和硬件中断有何特点?两者的主要区别是什么?【解答】硬件中断由外部硬件产生,是由CPU外部中断请求信号触发的一种中断,分为非屏蔽中断NMI和可屏蔽中断INTR。
软件中断是CPU根据某条指令或者对标志寄存器的某个标志位的设置而产生的,也称为内部中断。
通常有除法出错中断、INTO溢出中断、INT n中断、断点中断和单步中断等。
两者的主要区别:硬件中断由外部硬件产生,而软件中断与外部电路无关。
7.4 中断优先级的排队有哪些方法?采用软件优先级排队和硬件优先级排队各有什么特点?【解答】软件优先级排队:各中断源的优先权由软件安排。
优点是电路比较简单,可以直接修改软件查询顺序来修改中断优先权,不必更改硬件。