希赛考试网
首页 > 软考 > 软件设计师

软件设计师考试知识点:中断

希赛网 2023-04-12 10:19:05

在计算机中,I/O系统可以有三种不同的工作方式,分别是程序控制方式、程序中断方式和DMA工作方式。

1.程序控制方式

在程序控制方式模式下,输入输出完全由CPU控制,在整个I/O过程中CPU必须等待其完成,限制了CPU的高速能力。不过这种方式下,是由程序主动查询外设,完成主机与外设间的数据传送,方法简单,硬件开销小。

在这种方式下,I/O设备有2种编码方式:

(1)存储器映射:即I/O设备和主存储器统一编址,使用相同的机器指令来访问内存和外设,这种方式下,CPU是采用地址的不同来区分访问的是外设还是存储器的。

(2)独立编址:I/O设备和主存储器的地址空间相互独立,CPU使用专门的I/O指令来访问外设。

程序查询时,CPU既可以进行串行点名,也可以进行并行查询。

(1)串行点名:CPU依次对所有的外设进行查询,不过每次只查询一台。

(2)并行查询:对各个外设的状态位集中起来,由CPU通过一个专用的端口来读取,每次可以同时查询多个外设的状态。

2.程序中断方式

在I/O控制中引入中断,是为了解决"程序控制输入输出"方法中CPU低效等待的缺陷。采用该机制,它将无须定期查询I/O系统的状态,而可以抽身处理其他途径。当I/O系统完成后,则以中断信号通知CPU,之后CPU保存正在执行程序的现场(包括程序计数器PC,记住执行到哪个指令),然后转入I/O中断服务程序完成数据交换。而收到中断请求后,停止正在执行的代码,保存现场的时间称之为中断响应时间,这个时间应该尽可能短。

在系统中有多个中断源时,常见的处理方法包括如下所示:

(1)多中断信号线法:就是给每个中断源"拉一根电话线",做到专线专用。

(2)中断软件查询法:CPU收到中断后转到中断服务程序,由该程序来确认中断源。

(3)雏菊链法:硬件查询法,所有的I/O模块共享一条共同的中断请求线。

(4)总线仲裁法:一个I/O设备在发出中断请求前,必须先获得总线控制权。由总线仲裁机制来决定谁有权发出中断信号。

(5)中断向量表法:中断向量表用来保存各个中断源的中断服务程序的入口地址,当外设发出中断后,由中断控制器确定其中继号。

3.DMA方式

中断法虽然比程序控制法要更加有效,但由于都是由软件来完成工作的,因此难以满足高速传输的要求。而DMA方式则使用DMA控制器来控制和管理数据传输。DMAC与CPU共享系统总线,并且具有可以独立访问存储器的能力。

在进行DMA时,CPU放弃对系统总线的控制,改由DMAC控制总线;由DMAC提供存储器地址及必须的读写控制信号,实现外设与存储器的数据交换。

(1)向CPU申请DMA传送。

(2)获得CPU允许后,DMA控制器接管系统总线的控制权。

(3)在DMA控制器的控制下,在存储器和外设之间进行数据传送,在传送过程中无须CPU参与,开始时需要提供传送数据的长度和起始地址。

(4)传送结束后,向CPU返回DMA操作完成信号。

DMAC获取系统总线的控制权可以采用暂停方式(CPU交出控制权到DMA操作结束)、周期窃取方式(CPU空闲时暂时放弃总线时,插入一个DMA周期)、共享方式(CPU不使用系统总线时,由DMAC来进行DMA传输)。

微信扫一扫,领取最新备考资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考报考咨询

微信扫一扫,定制学习计划