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设备的数据传送方式的主要内容,如果未能解决你的问题,请参考以下文章