5.1.1 I/O设备
- I/O设备的类型
- I/O设备分类的重要指标:
- 设备使用特性
- 数据传输速率
- 数据传输单位
- 设备共享属性
- 按设备的使用特性分类
- 存储设备。如磁盘、磁带等; 特点是容量大,价格便宜。
- 输入/输出设备。如:键盘、显示器等, 可以接收用户的命令,显示命令的执行结果。
- 按传输速率的高低,可分为:
- 低速设备,指传输速率仅为每秒钟几个字节至数百个字节 的一类设备。如:键盘、 鼠标器等。
- 中速设备,指传输速率在每秒钟数千个字节至数万个字节 的一类设备。如:行式打印机、激光打印机等。
- 高速设备,指其传输速率在每秒钟数万个字节至数兆字节 的一类设备。如:磁带机、 磁盘机、 光盘机等。
- 按信息交换的单位分类
- 块设备,用于存储信息,属于有结构设备。其传输速 率较高;可寻址,即可随机地读/写任一块。
- 字符设备,用于数据的输入和输出。 其基本单位是 字符, 故称为字符设备。
- 按设备的共享属性分类
- 独占设备。如:打印机。
- 共享设备。 指在一段时间内允许多个进程同时访问 的设备。如:磁盘。
- 虚拟设备。 指通过虚拟技术,将一台独占设备变换 为若干台逻辑设备,供若干进程同时使用。如虚拟打 印机
- 设备与控制器间的接口
- 数据信号线:用于在设备和设备控制器之间传送数据信号。
- 对于输入设备,由外界输入的信号经转换器转换后所形成的数 据,先送入缓冲器中,当数据量达到一定的字符数后,再从缓冲器 通过一组数据信号线传送给设备控制器。
- 对于输出设备,将从设备控制器,经过数据信号线传送来的一 批数据,先暂存于缓冲器中,经转换器适当转换后,再逐个字符地 输出。
- 控制信号线: 作为由设备控制器向I/O设备发送控制信号时的通路。 规定了设备将要执行的操作,如:
- 读操作:指由设备向控 制器传送数据;
- 写操作:从控制器接收数据。
- 状态信号线 用于传送指示设备当前状态的信号
- 正在读;
- 读完成等。
- 数据信号线:用于在设备和设备控制器之间传送数据信号。
5.1.2 设备控制器
设备控制器是CPU与I/O设备之间的接口,接收从CPU发 来的命令,去控制I/O设备工作,使CPU从繁杂的设备控制事 务中解脱出来。 设备控制器是一个可编址的设备,可连接多个设备,使 每个设备地址对应一个设备。 设备控制器通常做成电路卡形式,称为接口卡。如打印 卡、显卡等。
- 设备控制器的基本功能
- 接收和识别命令
- 数据交换
- 标识和报告设备的状态
- 地址识别
- 数据缓冲
- 差错控制
5.1.3 I/O通道
- IO通道的引入
- I/O通道是一种特殊的处理机。它具有执行I/O 指令的能力,并通过执行通道(I/O)程序来控制I/O 操作。
- I/O通道又与一般的处理机不同:
- 其指令类型单一,这是由于通道硬件比较简单, 所能执行的命令,主要局限于与I/O操作有关的指令;
- 通道没有自己的内存,通道所执行的通道程序是 放在主机的内存中的,通道与CPU共享内存。
- I/O通道类型
- 字节多路通道
- 字节多路通道是一种按字节交叉方式工作的通道。它 包含许多非分配型子通道,每个通道连接并控制一台I/O 设备,这些子通道按照时间片轮转方式,共享主通道。
- 字节多路通道
- 数组选择通道
- 数组选择通道可以连接多台高速设备,但只含有一个分配型子通道, 在一段时间内只能执行一道通道程序,控制一台设备进行数据传送, 致 使当某台设备占用了该通道后,便一直由它独占,即使它无数据传送, 通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放 该通道。
- 数组多路通道
- 数组多路通道是将数组选择通道传输速率高和字节多 路通道能使各子通道(设备)分时并行操作的优点相结合而 形成的一种新通道。被广泛地用于连接多台高、中速的外 围设备。
5.1.4 总线系统
计算机系统中的各部件,如CPU、主存、I/O设备之间的 联系,都是通过总线实现的。 总线性能是用总线的时钟频率、带宽、传输速率等指 标来衡量的。
- ISA总线是为了1984年推出的80286型微机而设计 的总线结构。其总线的带宽为8位,最高传输速率为2Mb/s。
- EISA总线是扩展ISA总线,其带宽为32位,总线 的传输速率高达32Mb/s,可以连接12台外部设备。
- 局部总线,是指将多媒体卡、高速LAN网卡、高 性能图形板等,从ISA总线上卸下来,再通过局部总 线控制器,直接连接到CPU总线上,使之与高速CPU总 线相匹配,而打印机、传真机、CDROM等仍挂在ISA总 线上。
- VESA总线带宽32位,最高传输速率132M b/s。
- PCI总线支持64位系统,最高传输速率132Mb/s;在 CPU与设备之间插入一个管理层,协调数据传输,提供一 致的接口。
5.2 I/O 控制方式
5.2.1 程序I/O方式
5.2.2 中断驱动I/O控制方式
5.2.3 直接存储器访问DMA控制方式
5.2.4 I/O通道控制方式
5.2.1 程序I/O方式
- 5.2.1 程序I/O方式
- 早期的计算机系统中, 没有中断系统,所以CPU和I/O设备进行通信,传输数据时CPU速度远快于I/O设备,于是CPU需要不断测试I/O设备,看其是否完成了传输。
- 程序I/O方式中,从终端输入一个字符的时间约为100 ms,而将字符 送入终端缓冲区的时间小于 0.1 ms。若采用程序I/O方式,CPU约有 99.9 ms的时间处于忙—等待中。 由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。
5.2.2 中断驱动I/O控制方式
- 中断驱动I/O控制方式
- 当某进程要启动某个 I/O 设备工作时,便由 CPU 向相应的设备控制器发出一条 I/O 命令,然后立即返回继续执行原来的任务。仅当输完一个数据时,才需 CPU 花费极短的时间去做些中断处理
- 例如,从终端输入一个字符的时间约为100 ms,而将字符送入 终端缓冲区的时间小于 0.1 ms。若采用中断驱动方式后,CPU可利 用这 99.9 ms的时间去做其它事情,而仅用0.1 ms的时间来处理由 控制器发来的中断请求。
- 在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作,提高了整个系统的资源利用率及吞吐量。
5.2.3 直接存储器访问DMA控制方式
- DMA控制方式的引入
- 数据传输的基本单位是数据块,即在CPU与 I/O设备之间,每次传送至少一个数据块;
- 所传送的数据是从设备直接送入内存的,或 者相反;
- 仅在传送一个或多个数据块的开始和结束时, 才需CPU干预,整块数据的传送是在控制器的控 制下完成的。
- DMA控制器的组成
- 为了实现在主机与控制器之间成块数据的直接交换, 必须在DMA控制 器中设置如下四类寄存器:
- 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制 信息, 或设备的状态。
- 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内 存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
- 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。
- 数据计数器DC。存放本次CPU要读或写的字(节)数
- 3. DMA工作过程
- 整个数据传送过程由DMA控制器进行控制。
- 当从磁盘读入一个字节的数据,并送入数据寄存器后,再挪用一个 存储周期,将字节送到内存地址寄存器中(MAR)所指示的内存单元中; 接着,对内存地址寄存器MAR内容加1;将数据计数器DC内容减1。
- 若减1后,数据计数器内容不为0,表示传送未完,便继续传送下一 个字节;否则,由DMA控制器发出中断请求。由CPU完成一个完整数据块的 数据读入。
5.2.4 I/O通道控制方式
- I/O通道控制方式的引入
- I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对 一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写) 及有关的控制和管理为单位的干预。
- 例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向 I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访 问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定 的I/O任务。
- 通道程序
- 操作码。
- 内存地址。
- 计数。
- 通道程序结束位P。
- 记录结束标志R。
操作 | P | R | 计数 | 内存地址 |
WRITE | 0 | 0 | 80 | 813 |
WRITE | 0 | 0 | 140 | 1034 |
WRITE | 0 | 1 | 60 | 5830 |
WRITE | 0 | 1 | 300 | 2000 |
WRITE | 0 | 0 | 250 | 1850 |
WRITE | 1 | 1 | 250 | 720 |
第5讲 设备管理
2020年4月26日
16:31
5.1I/O系统
5.1.1 I/O设备
- I/O设备的类型
- I/O设备分类的重要指标:
- 设备使用特性
- 数据传输速率
- 数据传输单位
- 设备共享属性
- 按设备的使用特性分类
- 存储设备。如磁盘、磁带等; 特点是容量大,价格便宜。
- 输入/输出设备。如:键盘、显示器等, 可以接收用户的命令,显示命令的执行结果。
- 按传输速率的高低,可分为:
- 低速设备,指传输速率仅为每秒钟几个字节至数百个字节 的一类设备。如:键盘、 鼠标器等。
- 中速设备,指传输速率在每秒钟数千个字节至数万个字节 的一类设备。如:行式打印机、激光打印机等。
- 高速设备,指其传输速率在每秒钟数万个字节至数兆字节 的一类设备。如:磁带机、 磁盘机、 光盘机等。
- 按信息交换的单位分类
- 块设备,用于存储信息,属于有结构设备。其传输速 率较高;可寻址,即可随机地读/写任一块。
- 字符设备,用于数据的输入和输出。 其基本单位是 字符, 故称为字符设备。
- 按设备的共享属性分类
- 独占设备。如:打印机。
- 共享设备。 指在一段时间内允许多个进程同时访问 的设备。如:磁盘。
- 虚拟设备。 指通过虚拟技术,将一台独占设备变换 为若干台逻辑设备,供若干进程同时使用。如虚拟打 印机
- 设备与控制器间的接口
- 数据信号线:用于在设备和设备控制器之间传送数据信号。
- 对于输入设备,由外界输入的信号经转换器转换后所形成的数 据,先送入缓冲器中,当数据量达到一定的字符数后,再从缓冲器 通过一组数据信号线传送给设备控制器。
- 对于输出设备,将从设备控制器,经过数据信号线传送来的一 批数据,先暂存于缓冲器中,经转换器适当转换后,再逐个字符地 输出。
- 控制信号线: 作为由设备控制器向I/O设备发送控制信号时的通路。 规定了设备将要执行的操作,如:
- 读操作:指由设备向控 制器传送数据;
- 写操作:从控制器接收数据。
- 状态信号线 用于传送指示设备当前状态的信号
- 正在读;
- 读完成等。
- 数据信号线:用于在设备和设备控制器之间传送数据信号。
5.1.2 设备控制器
设备控制器是CPU与I/O设备之间的接口,接收从CPU发 来的命令,去控制I/O设备工作,使CPU从繁杂的设备控制事 务中解脱出来。 设备控制器是一个可编址的设备,可连接多个设备,使 每个设备地址对应一个设备。 设备控制器通常做成电路卡形式,称为接口卡。如打印 卡、显卡等。
- 设备控制器的基本功能
- 接收和识别命令
- 数据交换
- 标识和报告设备的状态
- 地址识别
- 数据缓冲
- 差错控制
5.1.3 I/O通道
- IO通道的引入
- I/O通道是一种特殊的处理机。它具有执行I/O 指令的能力,并通过执行通道(I/O)程序来控制I/O 操作。
- I/O通道又与一般的处理机不同:
- 其指令类型单一,这是由于通道硬件比较简单, 所能执行的命令,主要局限于与I/O操作有关的指令;
- 通道没有自己的内存,通道所执行的通道程序是 放在主机的内存中的,通道与CPU共享内存。
- I/O通道类型
- 字节多路通道
- 字节多路通道是一种按字节交叉方式工作的通道。它 包含许多非分配型子通道,每个通道连接并控制一台I/O 设备,这些子通道按照时间片轮转方式,共享主通道。
- 字节多路通道
- 数组选择通道
- 数组选择通道可以连接多台高速设备,但只含有一个分配型子通道, 在一段时间内只能执行一道通道程序,控制一台设备进行数据传送, 致 使当某台设备占用了该通道后,便一直由它独占,即使它无数据传送, 通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放 该通道。
- 数组多路通道
- 数组多路通道是将数组选择通道传输速率高和字节多 路通道能使各子通道(设备)分时并行操作的优点相结合而 形成的一种新通道。被广泛地用于连接多台高、中速的外 围设备。
5.1.4 总线系统
计算机系统中的各部件,如CPU、主存、I/O设备之间的 联系,都是通过总线实现的。 总线性能是用总线的时钟频率、带宽、传输速率等指 标来衡量的。
- ISA总线是为了1984年推出的80286型微机而设计 的总线结构。其总线的带宽为8位,最高传输速率为2Mb/s。
- EISA总线是扩展ISA总线,其带宽为32位,总线 的传输速率高达32Mb/s,可以连接12台外部设备。
- 局部总线,是指将多媒体卡、高速LAN网卡、高 性能图形板等,从ISA总线上卸下来,再通过局部总 线控制器,直接连接到CPU总线上,使之与高速CPU总 线相匹配,而打印机、传真机、CDROM等仍挂在ISA总 线上。
- VESA总线带宽32位,最高传输速率132M b/s。
- PCI总线支持64位系统,最高传输速率132Mb/s;在 CPU与设备之间插入一个管理层,协调数据传输,提供一 致的接口。
5.2 I/O 控制方式
5.2.1 程序I/O方式
- 5.2.1 程序I/O方式
- 早期的计算机系统中, 没有中断系统,所以CPU和I/O设备进行通信,传输数据时CPU速度远快于I/O设备,于是CPU需要不断测试I/O设备,看其是否完成了传输。
- 程序I/O方式中,从终端输入一个字符的时间约为100 ms,而将字符 送入终端缓冲区的时间小于 0.1 ms。若采用程序I/O方式,CPU约有 99.9 ms的时间处于忙—等待中。 由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。
5.2.2 中断驱动I/O控制方式
- 中断驱动I/O控制方式
- 当某进程要启动某个 I/O 设备工作时,便由 CPU 向相应的设备控制器发出一条 I/O 命令,然后立即返回继续执行原来的任务。仅当输完一个数据时,才需 CPU 花费极短的时间去做些中断处理
- 例如,从终端输入一个字符的时间约为100 ms,而将字符送入 终端缓冲区的时间小于 0.1 ms。若采用中断驱动方式后,CPU可利 用这 99.9 ms的时间去做其它事情,而仅用0.1 ms的时间来处理由 控制器发来的中断请求。
- 在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作,提高了整个系统的资源利用率及吞吐量。
5.2.3 直接存储器访问DMA控制方式
- DMA控制方式的引入
- 数据传输的基本单位是数据块,即在CPU与 I/O设备之间,每次传送至少一个数据块;
- 所传送的数据是从设备直接送入内存的,或 者相反;
- 仅在传送一个或多个数据块的开始和结束时, 才需CPU干预,整块数据的传送是在控制器的控 制下完成的。
- DMA控制器的组成
- 为了实现在主机与控制器之间成块数据的直接交换, 必须在DMA控制 器中设置如下四类寄存器:
- 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制 信息, 或设备的状态。
- 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内 存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
- 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。
- 数据计数器DC。存放本次CPU要读或写的字(节)数
- 3. DMA工作过程
- 整个数据传送过程由DMA控制器进行控制。
- 当从磁盘读入一个字节的数据,并送入数据寄存器后,再挪用一个 存储周期,将字节送到内存地址寄存器中(MAR)所指示的内存单元中; 接着,对内存地址寄存器MAR内容加1;将数据计数器DC内容减1。
- 若减1后,数据计数器内容不为0,表示传送未完,便继续传送下一 个字节;否则,由DMA控制器发出中断请求。由CPU完成一个完整数据块的 数据读入。
5.2.4 I/O通道控制方式
- I/O通道控制方式的引入
- I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对 一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写) 及有关的控制和管理为单位的干预。
- 例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向 I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访 问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定 的I/O任务。
- 通道程序
- 操作码。
- 内存地址。
- 计数。
- 通道程序结束位P。
- 记录结束标志R。
操作 | P | R | 计数 | 内存地址 |
WRITE | 0 | 0 | 80 | 813 |
WRITE | 0 | 0 | 140 | 1034 |
WRITE | 0 | 1 | 60 | 5830 |
WRITE | 0 | 1 | 300 | 2000 |
WRITE | 0 | 0 | 250 | 1850 |
WRITE | 1 | 1 | 250 | 720 |
第5讲 设备管理
2020年4月26日
16:31
5.1I/O系统
5.1.1 I/O设备
- I/O设备的类型
- I/O设备分类的重要指标:
- 设备使用特性
- 数据传输速率
- 数据传输单位
- 设备共享属性
- 按设备的使用特性分类
- 存储设备。如磁盘、磁带等; 特点是容量大,价格便宜。
- 输入/输出设备。如:键盘、显示器等, 可以接收用户的命令,显示命令的执行结果。
- 按传输速率的高低,可分为:
- 低速设备,指传输速率仅为每秒钟几个字节至数百个字节 的一类设备。如:键盘、 鼠标器等。
- 中速设备,指传输速率在每秒钟数千个字节至数万个字节 的一类设备。如:行式打印机、激光打印机等。
- 高速设备,指其传输速率在每秒钟数万个字节至数兆字节 的一类设备。如:磁带机、 磁盘机、 光盘机等。
- 按信息交换的单位分类
- 块设备,用于存储信息,属于有结构设备。其传输速 率较高;可寻址,即可随机地读/写任一块。
- 字符设备,用于数据的输入和输出。 其基本单位是 字符, 故称为字符设备。
- 按设备的共享属性分类
- 独占设备。如:打印机。
- 共享设备。 指在一段时间内允许多个进程同时访问 的设备。如:磁盘。
- 虚拟设备。 指通过虚拟技术,将一台独占设备变换 为若干台逻辑设备,供若干进程同时使用。如虚拟打 印机
- 设备与控制器间的接口
- 数据信号线:用于在设备和设备控制器之间传送数据信号。
- 对于输入设备,由外界输入的信号经转换器转换后所形成的数 据,先送入缓冲器中,当数据量达到一定的字符数后,再从缓冲器 通过一组数据信号线传送给设备控制器。
- 对于输出设备,将从设备控制器,经过数据信号线传送来的一 批数据,先暂存于缓冲器中,经转换器适当转换后,再逐个字符地 输出。
- 控制信号线: 作为由设备控制器向I/O设备发送控制信号时的通路。 规定了设备将要执行的操作,如:
- 读操作:指由设备向控 制器传送数据;
- 写操作:从控制器接收数据。
- 状态信号线 用于传送指示设备当前状态的信号
- 正在读;
- 读完成等。
- 数据信号线:用于在设备和设备控制器之间传送数据信号。
5.1.2 设备控制器
设备控制器是CPU与I/O设备之间的接口,接收从CPU发 来的命令,去控制I/O设备工作,使CPU从繁杂的设备控制事 务中解脱出来。 设备控制器是一个可编址的设备,可连接多个设备,使 每个设备地址对应一个设备。 设备控制器通常做成电路卡形式,称为接口卡。如打印 卡、显卡等。
- 设备控制器的基本功能
- 接收和识别命令
- 数据交换
- 标识和报告设备的状态
- 地址识别
- 数据缓冲
- 差错控制
5.1.3 I/O通道
- IO通道的引入
- I/O通道是一种特殊的处理机。它具有执行I/O 指令的能力,并通过执行通道(I/O)程序来控制I/O 操作。
- I/O通道又与一般的处理机不同:
- 其指令类型单一,这是由于通道硬件比较简单, 所能执行的命令,主要局限于与I/O操作有关的指令;
- 通道没有自己的内存,通道所执行的通道程序是 放在主机的内存中的,通道与CPU共享内存。
- I/O通道类型
- 字节多路通道
- 字节多路通道是一种按字节交叉方式工作的通道。它 包含许多非分配型子通道,每个通道连接并控制一台I/O 设备,这些子通道按照时间片轮转方式,共享主通道。
- 字节多路通道
- 数组选择通道
- 数组选择通道可以连接多台高速设备,但只含有一个分配型子通道, 在一段时间内只能执行一道通道程序,控制一台设备进行数据传送, 致 使当某台设备占用了该通道后,便一直由它独占,即使它无数据传送, 通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放 该通道。
- 数组多路通道
- 数组多路通道是将数组选择通道传输速率高和字节多 路通道能使各子通道(设备)分时并行操作的优点相结合而 形成的一种新通道。被广泛地用于连接多台高、中速的外 围设备。
5.1.4 总线系统
计算机系统中的各部件,如CPU、主存、I/O设备之间的 联系,都是通过总线实现的。 总线性能是用总线的时钟频率、带宽、传输速率等指 标来衡量的。
- ISA总线是为了1984年推出的80286型微机而设计 的总线结构。其总线的带宽为8位,最高传输速率为2Mb/s。
- EISA总线是扩展ISA总线,其带宽为32位,总线 的传输速率高达32Mb/s,可以连接12台外部设备。
- 局部总线,是指将多媒体卡、高速LAN网卡、高 性能图形板等,从ISA总线上卸下来,再通过局部总 线控制器,直接连接到CPU总线上,使之与高速CPU总 线相匹配,而打印机、传真机、CDROM等仍挂在ISA总 线上。
- VESA总线带宽32位,最高传输速率132M b/s。
- PCI总线支持64位系统,最高传输速率132Mb/s;在 CPU与设备之间插入一个管理层,协调数据传输,提供一 致的接口。
5.2 I/O 控制方式
5.2.1 程序I/O方式
5.2.2 中断驱动I/O控制方式
5.2.3 直接存储器访问DMA控制方式
5.2.4 I/O通道控制方式
5.2.1 程序I/O方式
- 5.2.1 程序I/O方式
- 早期的计算机系统中, 没有中断系统,所以CPU和I/O设备进行通信,传输数据时CPU速度远快于I/O设备,于是CPU需要不断测试I/O设备,看其是否完成了传输。
- 程序I/O方式中,从终端输入一个字符的时间约为100 ms,而将字符 送入终端缓冲区的时间小于 0.1 ms。若采用程序I/O方式,CPU约有 99.9 ms的时间处于忙—等待中。 由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。
5.2.2 中断驱动I/O控制方式
- 中断驱动I/O控制方式
- 当某进程要启动某个 I/O 设备工作时,便由 CPU 向相应的设备控制器发出一条 I/O 命令,然后立即返回继续执行原来的任务。仅当输完一个数据时,才需 CPU 花费极短的时间去做些中断处理
- 例如,从终端输入一个字符的时间约为100 ms,而将字符送入 终端缓冲区的时间小于 0.1 ms。若采用中断驱动方式后,CPU可利 用这 99.9 ms的时间去做其它事情,而仅用0.1 ms的时间来处理由 控制器发来的中断请求。
- 在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作,提高了整个系统的资源利用率及吞吐量。
5.2.3 直接存储器访问DMA控制方式
- DMA控制方式的引入
- 数据传输的基本单位是数据块,即在CPU与 I/O设备之间,每次传送至少一个数据块;
- 所传送的数据是从设备直接送入内存的,或 者相反;
- 仅在传送一个或多个数据块的开始和结束时, 才需CPU干预,整块数据的传送是在控制器的控 制下完成的。
- DMA控制器的组成
- 为了实现在主机与控制器之间成块数据的直接交换, 必须在DMA控制 器中设置如下四类寄存器:
- 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制 信息, 或设备的状态。
- 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内 存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
- 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。
- 数据计数器DC。存放本次CPU要读或写的字(节)数
- 3. DMA工作过程
- 整个数据传送过程由DMA控制器进行控制。
- 当从磁盘读入一个字节的数据,并送入数据寄存器后,再挪用一个 存储周期,将字节送到内存地址寄存器中(MAR)所指示的内存单元中; 接着,对内存地址寄存器MAR内容加1;将数据计数器DC内容减1。
- 若减1后,数据计数器内容不为0,表示传送未完,便继续传送下一 个字节;否则,由DMA控制器发出中断请求。由CPU完成一个完整数据块的 数据读入。
5.2.4 I/O通道控制方式
- I/O通道控制方式的引入
- I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对 一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写) 及有关的控制和管理为单位的干预。
- 例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向 I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访 问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定 的I/O任务。
- 通道程序
- 操作码。
- 内存地址。
- 计数。
- 通道程序结束位P。
- 记录结束标志R。
操作 |
P | R | 计数 | 内存地址 |
WRITE |
0 |
0 |
80 |
813 |
WRITE |
0 | 0 | 140 |
1034 |
WRITE |
0 | 1 | 60 |
5830 |
WRITE |
0 | 1 | 300 |
2000 |
WRITE |
0 | 0 | 250 |
1850 |
WRITE | 1 | 1 | 250 |
720 |
点击数:239