关于计算机组成:程序中断

16次阅读

共计 1326 个字符,预计需要花费 4 分钟才能阅读完成。

前言

输入输出零碎是指咱们电脑上的键盘,鼠标,硬盘,打印机等设施。输入输出零碎有三种形式向主机之间进行数据传输。
一种是程序查问形式,这种形式要求 cpu 必须停下手中的工作,一直期待 I / O 零碎的进行。这就好比树懒申请闪电侠送货色。闪电侠解决货色只有 1 秒钟,而要期待树懒说十分钟的话。

这显然是一种节约 CPU 资源的一种形式。长处是硬件构造简略。
第二种是 DMA 形式,这在咱们上次讲三总线结构的时候说过。DMA 传输方式由一个专门的 DMA 控制器负责。并且通过 DMA 总线传输,不会烦扰其余 CPU 工作的进行。只有 DMA 在传输完一大段数据时(如 1kb), 才像 CPU 报告工作状况。

DMA 形式实用于磁盘等大批量数据的输入输出零碎。
还有一种是中断形式。咱们说程序查问形式比拟节约 CPU 资源,而 DMA 形式只实用于磁盘等大量数据的 I / O 设施。所以中断形式利用于键盘鼠标等大量数据的 I / O 设施。中断形式是在 CPU 执行现行工作过程中,如果呈现键盘输入或者鼠标点击等事件,CPU 暂停解决现行程序并保留以后环境(打断点)。而后转而去解决 I / O 输出,在处理完毕后 CPU 又主动返回现行程序的断点处,继续执行现行程序。这样使得 CPU 不用始终期待键盘鼠标的输入输出,进步了 CPU 的效率。程序查问形式像是监视器模式,而中断形式像是观察者模式。
中断岂但利用于 I / O 设施,也利用于各种程序异样,如地址非法,校验谬误,算术溢出谬误,除数为 0 等异样。

指令周期

咱们将一条指令执行周期按性能分为不同的局部。


依据 PC 的地址从主存中取指令到 IR 中称为取指周期。
依据指令的地址码从内存中取操作数成为间址周期。
依据指令执行相应的操作(如加减乘除)称为执行周期。
解决中断请求称为中断周期。

一个指令经验取指周期,间址周期,执行周期,中断周期能力成为一个指令周期。

中断判优

终端零碎在任意时刻只能解决一个中断请求。因为多个中断源提出中断请求的工夫是随机的,因而当多个中断源同时提出申请时,须要通过中断判优逻辑确定响应那个中断源的申请。例如故障中断的优先级最高,而后是 I / O 中断。

中断隐指令

CPU 相应中断后,通过某些操作,转去解决中断请求。这些操作是由硬件间接实现的,咱们将这些操作对立称为中断隐指令。中断隐指令不是一条真正的指令,而是在解决中断前执行的一系列步骤。
中断隐指令过程如下:
1. 关中断。在执行中断隐指令时,为了保障不被别的中断程序所打断,执行关中断操作。关中断操作保障不再承受中断请求,从而保障了中断隐指令是一个原子操作。
2. 保留断点。为了保障在解决完中断请求后能正确的放回到原来的程序,必须将原来程序的断点保存起来,如保留程序计数器 PC 的内容。
3. 引出中断服务程序。引出中断服务程序的本质是,取出中断服务程序的入口地址并传送到程序计数器 PC 中。
中断处理过程

爱护现场及屏蔽字。进入中断服务程序后首先要保留现场,现场信息个别是指 CPU 的一些寄存器的内容。
开中断。容许优先级更高的中断请求,实现中断嵌套。
执行中断服务。
关中断,保障在回复现场和屏蔽字时不被中断。
回复现场和屏蔽字。将现场和屏蔽字回复道原来的状态。
开中断和中断返回。中断服务程序的最初一条指令个别是一条中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。

正文完
 0