I/O控制方式

I/O控制方式随着计算机技术的发展 I O 控制方式主要有以下四种 1 程序 I O 方式 程序直接控制方式 早期的计算机系统中 由于无中断机构 处理机对 I O 设备的控制采取程序直接控制方式 或称

大家好,欢迎来到IT知识分享网。

—- 随着计算机技术的发展,I/O控制方式(设备与内存之间的数据传输控制方式)主要有以下四种:

1、程序I/O方式(程序直接控制方式)

—- 早期的计算机系统中,由于无中断机构,处理机对I/O设备的控制采取程序直接控制方式,或称为忙–等待方式,即在处理机向控制器发出

一条I/O指令启动输入设备输入数据时,要同时把状态寄存器中的忙/闲标志busy置为1,然后便不断地循环测试busy。当busy=1时,表示输入机

尚未输完一个字(符),处理机应继续对该标志进行测试,直至busy=0,表明输入机已将输入数据送入控制器的数据寄存器中。于是处理机将

数据寄存器中的数据取出,送入内存指定单元中,这样便完成了一个字/符的I/O。接着再去启动读下一个数据,并置busy=1.

—- 在程序I/O方式中,由于CPU的高速性I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O循环测试中,造成对

CPU的极大浪费。在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构,使I/O设备无法向CPU报告它已完成了

一个字符的输入操作。

2、中断控制方式(中断驱动I/O控制方式)

—- 在现代的计算机系统中,都引入了中断机构,所以对I/O设备的控制都广泛采用中断驱动(Interrupt Driven)方式,即当某进程要启动某个I/O

设备工作时,便由CPU相应的设备控制器发出一条I/O命令,然后立即返回继续执行原来的任务。设备控制器于是按照该命令的要求去控制指定

的I/O设备。此时,CPU与I/O设备并行操作。例如,在输入时,当设备控制器收到CPU发来的读命令后,便去控制相应的输入设备读数据。

一旦数据进入数据寄存器(在设备控制器中),设备控制器便通过控制线向CPU发送一中断信号,由CPU检查输入过程是否出错。

若无错,便向控制器发送取走数据的信号,然后再通过控制器数据线将数据写入内存指定单元中。

—- 在I/O设备输入每个数据的过程中,由于无需CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去

做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。

3、DMA控制方式(直接存储器访问I/O控制方式)

—- 虽然中断驱动I/O比程序I/O方式更有效,但须注意,它仍是以字(节)为单位进行I/O的,每当完成一个字节的I/O时,控制器便要向CPU请求

一次中断。换言之,采用中断驱动I/O方式时的CPU是以字(节)为单位进行干预的。如果将这种方式用于块设备的I/O,显然是极其低效的。

例如,为了从磁盘中读出1KB的数据块,需要中断CPU1K次。为了进一步减少CPU对I/O的干预而引入了DMA访问方式,该方式的特点是:

— 1)数据传输的基本单位数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;

— 2)所传送的数据是从设备直接送入内存的,或者相反,即只能单向传输

— 3)仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在DMA控制器的控制下完成的。

—- DMA控制器由三部分组成:主机与DMA控制器的接口DMA控制器与块设备的接口I/O控制逻辑

      为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如下四类寄存器

— 1)命令/状态寄存器(CR,command register)。用于接收从CPU发来的I/O命令,或有关控制信息,或设备的状态。

— 2)内存地址寄存器(MAR,memory address register)。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存

到设备的内存源地址

— 3)数据寄存器(DR,data register).用于暂存从设备到内存,或从内存到设备的数据。

— 4)数据计数器(DC,data counter).存放本次CPU要读或写的字(节)数

      I/O控制方式

—- DMA工作过程:以磁盘读入数据为例,说明DAM方式的工作流程

— 1)当CPU要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令,该命令被送入(控制器的)命令寄存器(CR)中。

— 2)同时,还需发送本次要将数据读入的内存起始目标地址,该地址被送入内存地址寄存器(MAR)中。

— 3)本次要读数据的字(节)数则送入数据计数器(DC)中,将磁盘中的源地址直接送至DMA控制器的I/O控制逻辑上。

— 4)启动DMA控制器进行数据传送,以后CPU便可去处理其他任务。此后整个数据传送过程便由DMA控制器进行控制。

— 5)当DMA控制器已从磁盘中读入一个字(节)的数据并送入数据寄存器(DR)后,再挪用一个存储器(内存)周期,将该字(节)传送到

MAR所指示的内存单元中。接着对MAR的内容加1,DC内容减1。若减1后DC的内容不为0,表示传送未完,便继续传送下一个字(节)。

若DC的内容为0,表示数据已传送完,由DMA控制器发出中断请求。DMA方式的工作流程图如下所示:

                             I/O控制方式

—- DMA控制方式的特点为:数据传输的基本单位是数据块,而且数据是单向传输,从设备到内存或者相反。

—- DMA控制方式与中断控制方式的主要区别是:

1)中断控制方式在每个数据传送完成后中断CPU,而DMA控制方式则是在所要求传送的一批数据全部传送结束时才中断CPU。

2)中断控制方式的数据传送是在中断处理时由CPU控制完成的,而DMA控制方式则是在DMA控制器的控制下完成。

优点:DMA控制方式下,设备和CPU可以并行工作,同时设备与内存的数据交换速度加快,并且不需要CPU干预。

缺点:数据传送的方向只能是单向的。存放输入数据的内存起始地址及传送的数据长度等都由CPU控制,并且每台设备都需要一个DMA

控制器,当设备增加时,多个DMA控制器的使用也不经济。

4、通道控制方式—-后续章节。。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/153709.html

(0)
上一篇 2025-03-02 16:00
下一篇 2025-03-02 16:05

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信