CPU与I/O设备的数据传送方式

Posted Rainbowman 0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CPU与I/O设备的数据传送方式相关的知识,希望对你有一定的参考价值。

1. 基本概念

1. I/O接口

计算机工作过程中,CPU要不断地和I/O设备进行信息交换。CPU和主存可以直接进行信息交换;而CPU与I/O设备不可以直接进行信息交换,需要一个中间电路进行传送,这一电路称为I/O接口电路。

示意图:
在这里插入图片描述

2. 三种数据传送方式

重点介绍中断方式

2.1 程序查询方式

1. 含义

完全通过程序控制主机和外设的信息传送,分为无条件传送和条件传送两种方式。

2. 无条件传送和条件传送

无条件传送:

前提条件:外部控制过程各种动作时间是固定的,而且是已知的,CPU不用查询外设状态可以直接执行输入输出指令。

特点:

适用于外设动作时间已知,在CPU与外设进行数据传送时,外设保证已准备好的情况;
软硬件十分简单。

条件传送:

在执行输入或输出前,要先查询相应设备的状态,当输入设备处于准备好状态,输出设备处于空闲状态时,CPU才执行输入/输出指令与外设交换信息。为此,接口电路中既要有数据端口,还要有状态端口。

特点:

【优点】
控制简单,无需额外的硬件支出;
【缺点】
CPU和外设之间只能串行工作,而CPU的速度比外设的速度快很多,CPU将花费大量时间都处于等待、空闲状态,使系统效率大大降低。

2.2 程序中断方式

1. 含义

当外设需要与CPU进行信息交换时,由外设向CPU发出请求信号,CPU暂停正在执行的程序,转去执行数据的输入/输出操作,数据传送结束后,CPU再继续执行被暂停的程序。

示意图:
在这里插入图片描述
2. 基本概念

(1)中断源:

引起中断的事件,即发出中断请求的来源。

中断源的种类
①外中断:来自处理机外部设备的中断,如定时器等。
②内中断:处理器硬件故障或程序出错引起的中断,如算术操作溢出、除数为0、校验错等。
③软中断:程序中预先安排的中断,如调试程序设置的断点。

(2)中断优先权

多个中断同时发生时,对各个中断响应的优先次序称为中断优先权。

(3)中断屏蔽

当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余中断仍然得到响应,称为中断屏蔽。
每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。将该位置1,屏蔽该中断源的请求;为0则响应。

(4)中断屏蔽字

通过中断屏蔽字可以重新设定中断优先级。

【举例】

设机器有5级中断,L0~L4,其中断的响应优先级为L0最高,L4最低,从左到右依次降低,现要求将中断处理次序改为L1>L3>L0>L4>L2,则可将各中断源屏蔽字设置成
在这里插入图片描述
(5)中断处理过程

中断请求、中断响应、保护现场、执行中断服务子程序、恢复现场、中断返回。

(6)中断响应条件

①外设提出中断申请;
②本中断位未被屏蔽;
③本中断优先级最高;
④ CPU允许中断。

3. 多重中断处理过程

原则:当到来的中断优先级高于正在处理的中断时,优先处理新到来的优先级更高的中断。
【举例】
在这里插入图片描述

2.3 DMA控制方式

含义:

DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。这样数据的传送速度就取决于存储器和外设的工作速度。
通常系统总线是由CPU管理的,在DMA方式时,就希望CPU把这些总线让出来,即CPU连到这些总线上的线处于第三态(高阻状态),而由DMA控制器接管,控制传送的字节数,判断DMA是否结束,以及发出DMA结束信号。

dma彻底解放了cpu与I/O通信的额外负担。
dma方式下cpu让出了总线(地址总线,数据总线,控制总线),暂时由dma控制器来接管总线,控制器就能直接完成i/o设备与主存的数据交换。
如果恰好cpu此时需要访问主存,那它不得不暂停一个存储周期(不是指令周期),如果只需要访问寄存器或者cache,那cpu就不会有任何停顿。

三种方式CPU效率比较

在这里插入图片描述

图片来源

以上是关于CPU与I/O设备的数据传送方式的主要内容,如果未能解决你的问题,请参考以下文章

输入输出系统

输入输出接口

DMA直接内存存取原理

(计算机组成原理)第七章输入和输出系统-第四节3:I/O方式之DMA方式

I/O控制方式

输入输出设备IO设备与主机信息传送的控制方式