5.1I/O系统
本文最后更新于1454天前,其中的信息可能已经有所发展或是发生改变。

5.1.1 I/O设备

  1. I/O设备的类型

计算机生成了可选文字:
设昔使用特性
》/0设备
数据传输单位
设备共享属性
输入/输出设蚤
低速设蚤
中速设蚤
高速设蚤
块设蚤
字符设蚤
独占设蚤.
共享设蚤.
虚拟设蚤.
磁盘、磁带等.持点是容量大价格便宜.
盘、显示器等可L以扌箬收甲户的。显示
的执行陌果
指传i率仅为每秒钟几个字节至数百个字节的
一类设蚤.如:盘到标器等.
指传i在每秒钟数千个字节至数万个字节的
一类设蚤.如:行打印机、光打印机等.
指其传i在每秒钟数万个字节至兆字节的
一类设蚤.如:磁带机、磁盘机、光盘等:
用于存储信息,于有陌构设蚤.其传输速率较
高;可寻址。即可随机地读/写任一块.
用于数据的输入和输土.其基本望位是字符
故称为字符设蚤.
如:打印机.
指在一段时闫丙允许多个进程同时访河的设蚤.
指i到莖虚拟技术。将一占占设蚤变为若干台
逻辑设蚤供若干进程同时使甲。如虚拟打絮机

  1. I/O设备分类的重要指标:
    1. 设备使用特性
    2. 数据传输速率
    3. 数据传输单位
    4. 设备共享属性
  2. 按设备的使用特性分类
    1. 存储设备。如磁盘、磁带等; 特点是容量大,价格便宜。
    2. 输入/输出设备。如:键盘、显示器等, 可以接收用户的命令,显示命令的执行结果。
  3. 按传输速率的高低,可分为:
    1. 低速设备,指传输速率仅为每秒钟几个字节至数百个字节 的一类设备。如:键盘、 鼠标器等。
    2. 中速设备,指传输速率在每秒钟数千个字节至数万个字节 的一类设备。如:行式打印机、激光打印机等。
    3. 高速设备,指其传输速率在每秒钟数万个字节至数兆字节 的一类设备。如:磁带机、 磁盘机、 光盘机等。
  4. 按信息交换的单位分类
    1. 块设备,用于存储信息,属于有结构设备。其传输速 率较高;可寻址,即可随机地读/写任一块。
    2. 字符设备,用于数据的输入和输出。 其基本单位是 字符, 故称为字符设备。
  5. 按设备的共享属性分类
    1. 独占设备。如:打印机。
    2. 共享设备。 指在一段时间内允许多个进程同时访问 的设备。如:磁盘。
    3. 虚拟设备。 指通过虚拟技术,将一台独占设备变换 为若干台逻辑设备,供若干进程同时使用。如虚拟打 印机
  6. 设备与控制器间的接口
    1. 计算机生成了可选文字:
数据
至设备
控制器
数据信号线
状态信号线
110ü
缓冲转换器
控制逻
    2. 数据信号线:用于在设备和设备控制器之间传送数据信号。
      1. 对于输入设备,由外界输入的信号经转换器转换后所形成的数 据,先送入缓冲器中,当数据量达到一定的字符数后,再从缓冲器 通过一组数据信号线传送给设备控制器。
      2. 对于输出设备,将从设备控制器,经过数据信号线传送来的一 批数据,先暂存于缓冲器中,经转换器适当转换后,再逐个字符地 输出。
    3. 控制信号线: 作为由设备控制器向I/O设备发送控制信号时的通路。 规定了设备将要执行的操作,如:
      1. 读操作:指由设备向控 制器传送数据;
      2. 写操作:从控制器接收数据。
    4. 状态信号线 用于传送指示设备当前状态的信号
      1. 正在读;
      2. 读完成等。

5.1.2 设备控制器

设备控制器是CPU与I/O设备之间的接口,接收从CPU发 来的命令,去控制I/O设备工作,使CPU从繁杂的设备控制事 务中解脱出来。 设备控制器是一个可编址的设备,可连接多个设备,使 每个设备地址对应一个设备。 设备控制器通常做成电路卡形式,称为接口卡。如打印 卡、显卡等。

计算机生成了可选文字:
CPU与控制器接口
数据线
数据寄存器
控制/'状态
寄存器
地址线
]/O逻辑
控制线
控制器与设备接口
控制器
与设备
接口1
控制器
与设备
接口i
数据
状态
控制
数据
状态
控制

  1. 设备控制器的基本功能
    1. 接收和识别命令
    2. 数据交换
    3. 标识和报告设备的状态
    4. 地址识别
    5. 数据缓冲
    6. 差错控制

5.1.3 I/O通道

  1. IO通道的引入
    1. I/O通道是一种特殊的处理机。它具有执行I/O 指令的能力,并通过执行通道(I/O)程序来控制I/O 操作。
    2. I/O通道又与一般的处理机不同:
      1. 其指令类型单一,这是由于通道硬件比较简单, 所能执行的命令,主要局限于与I/O操作有关的指令;
      2. 通道没有自己的内存,通道所执行的通道程序是 放在主机的内存中的,通道与CPU共享内存。
    3. I/O通道类型
      1. 字节多路通道
        1. 字节多路通道是一种按字节交叉方式工作的通道。它 包含许多非分配型子通道,每个通道连接并控制一台I/O 设备,这些子通道按照时间片轮转方式,共享主通道。

计算机生成了可选文字:
AIBC•••A2BC.
AAA.
BBB.
NINN灬
设备
子通j
控制暑訊
子通j
控制髫
子通j还
控制髫℃
控制暑
控制暑趴
图5一3字节多路通道的工作原理

  1. 数组选择通道
    1. 数组选择通道可以连接多台高速设备,但只含有一个分配型子通道, 在一段时间内只能执行一道通道程序,控制一台设备进行数据传送, 致 使当某台设备占用了该通道后,便一直由它独占,即使它无数据传送, 通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放 该通道。
  2. 数组多路通道
    1. 数组多路通道是将数组选择通道传输速率高和字节多 路通道能使各子通道(设备)分时并行操作的优点相结合而 形成的一种新通道。被广泛地用于连接多台高、中速的外 围设备。

计算机生成了可选文字:
通道1
存储器
通道2
控制器1
控制暑恝
控制暑
控制暑煢
设备1
设备2
设备3
设备4
设备5
设备6
设备7
图5一4单通路|/0系统

  1. 计算机生成了可选文字:
通道1
存储器
通道2
I/O设备
控制器1
I/O设备
I/O设备
控制巼
I/O设备
图5一5多通路|/0系统

5.1.4 总线系统

计算机系统中的各部件,如CPU、主存、I/O设备之间的 联系,都是通过总线实现的。 总线性能是用总线的时钟频率、带宽、传输速率等指 标来衡量的。

计算机生成了可选文字:
CPU
磁盘驱动器
磁盘
存储器
控制器
打印机
打印机
控制器
控制器
系统总线
图5一6总线型I/0系统结构

  1. ISA总线是为了1984年推出的80286型微机而设计 的总线结构。其总线的带宽为8位,最高传输速率为2Mb/s。
  2. EISA总线是扩展ISA总线,其带宽为32位,总线 的传输速率高达32Mb/s,可以连接12台外部设备。
  3. 局部总线,是指将多媒体卡、高速LAN网卡、高 性能图形板等,从ISA总线上卸下来,再通过局部总 线控制器,直接连接到CPU总线上,使之与高速CPU总 线相匹配,而打印机、传真机、CDROM等仍挂在ISA总 线上。
  4. VESA总线带宽32位,最高传输速率132M b/s。
  5. 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方式

  1. 5.2.1 程序I/O方式
    1. 早期的计算机系统中, 没有中断系统,所以CPU和I/O设备进行通信,传输数据时CPU速度远快于I/O设备,于是CPU需要不断测试I/O设备,看其是否完成了传输。
    2. 计算机生成了可选文字:
在处理机向控制器发出一条I/0指令启动输
入设备输入数据时,读出状态寄存器的设备状
态,将busy标志位置为1,然后,需要不停测
试busy标志位,如果busy标志位:1,表示输
入未完成,处理机继续测试,直到busy标志
位=0,表明输入数据已进入控制器的数据寄
存器中;处理机将数据寄存器中的数据取出,
送入指定内存单元中。
/(》扌0刂过晷
就弋《0;7
亻0三苎
一:哛了《扌旨.令.
    3. 程序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控制方式

  1. 中断驱动I/O控制方式
    1. 当某进程要启动某个 I/O 设备工作时,便由 CPU 向相应的设备控制器发出一条 I/O 命令,然后立即返回继续执行原来的任务。仅当输完一个数据时,才需 CPU 花费极短的时间去做些中断处理
    2. 计算机生成了可选文字:
在输入数据时,当设备控制器收到
CPU发来的读命令后,便去控制输入设备
读数据。当输入数据己进入控制器的数
据寄存器时,控制器便通过控制线向CPU
发送一个中断信号,CPU检查输入过程中
是否出错,若无错,便向控制器发送取
走数据的信号,再通过控制器与数据线
将数据写入指定内存单元中。
CPU—I/O
丨匀L'O扌屯刂髫晷
CPU亻故甚0它《事:
;L'O扌刂秀晷
向内.存
40三兰
一下过条旨.
  2. 例如,从终端输入一个字符的时间约为100 ms,而将字符送入 终端缓冲区的时间小于 0.1 ms。若采用中断驱动方式后,CPU可利 用这 99.9 ms的时间去做其它事情,而仅用0.1 ms的时间来处理由 控制器发来的中断请求。
  3. 在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作,提高了整个系统的资源利用率及吞吐量。

5.2.3 直接存储器访问DMA控制方式

  1. DMA控制方式的引入
    1. 数据传输的基本单位是数据块,即在CPU与 I/O设备之间,每次传送至少一个数据块;
    2. 所传送的数据是从设备直接送入内存的,或 者相反;
    3. 仅在传送一个或多个数据块的开始和结束时, 才需CPU干预,整块数据的传送是在控制器的控 制下完成的。
    4. 计算机生成了可选文字:
「℃控制器CPU—DNA
发布读块分令-
CPV做其它事
.MA控制
器的状态
DYLA—•C?V
下条指令
@DN溘方式
  2. DMA控制器的组成
    1. 计算机生成了可选文字:
CPU
内存
count
命令
主机一控制器接口控制器与块设备接口
DR
MAR
DC
CR
系统总线
I/O
DM空制器
  3. 为了实现在主机与控制器之间成块数据的直接交换, 必须在DMA控制 器中设置如下四类寄存器:
    1. 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制 信息, 或设备的状态。
    2. 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内 存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
    3. 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。
    4. 数据计数器DC。存放本次CPU要读或写的字(节)数
  4. 3. DMA工作过程
    1. 整个数据传送过程由DMA控制器进行控制。
    2. 当从磁盘读入一个字节的数据,并送入数据寄存器后,再挪用一个 存储周期,将字节送到内存地址寄存器中(MAR)所指示的内存单元中; 接着,对内存地址寄存器MAR内容加1;将数据计数器DC内容减1。
    3. 若减1后,数据计数器内容不为0,表示传送未完,便继续传送下一 个字节;否则,由DMA控制器发出中断请求。由CPU完成一个完整数据块的 数据读入。

5.2.4 I/O通道控制方式

  1. I/O通道控制方式的引入
    1. I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对 一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写) 及有关的控制和管理为单位的干预。
    2. 例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向 I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访 问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定 的I/O任务。
  2. 通道程序
    1. 操作码。
    2. 内存地址。
    3. 计数。
    4. 通道程序结束位P。
    5. 记录结束标志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设备

  1. I/O设备的类型

计算机生成了可选文字:
设昔使用特性
》/0设备
数据传输单位
设备共享属性
输入/输出设蚤
低速设蚤
中速设蚤
高速设蚤
块设蚤
字符设蚤
独占设蚤.
共享设蚤.
虚拟设蚤.
磁盘、磁带等.持点是容量大价格便宜.
盘、显示器等可L以扌箬收甲户的。显示
的执行陌果
指传i率仅为每秒钟几个字节至数百个字节的
一类设蚤.如:盘到标器等.
指传i在每秒钟数千个字节至数万个字节的
一类设蚤.如:行打印机、光打印机等.
指其传i在每秒钟数万个字节至兆字节的
一类设蚤.如:磁带机、磁盘机、光盘等:
用于存储信息,于有陌构设蚤.其传输速率较
高;可寻址。即可随机地读/写任一块.
用于数据的输入和输土.其基本望位是字符
故称为字符设蚤.
如:打印机.
指在一段时闫丙允许多个进程同时访河的设蚤.
指i到莖虚拟技术。将一占占设蚤变为若干台
逻辑设蚤供若干进程同时使甲。如虚拟打絮机

  1. I/O设备分类的重要指标:
    1. 设备使用特性
    2. 数据传输速率
    3. 数据传输单位
    4. 设备共享属性
  2. 按设备的使用特性分类
    1. 存储设备。如磁盘、磁带等; 特点是容量大,价格便宜。
    2. 输入/输出设备。如:键盘、显示器等, 可以接收用户的命令,显示命令的执行结果。
  3. 按传输速率的高低,可分为:
    1. 低速设备,指传输速率仅为每秒钟几个字节至数百个字节 的一类设备。如:键盘、 鼠标器等。
    2. 中速设备,指传输速率在每秒钟数千个字节至数万个字节 的一类设备。如:行式打印机、激光打印机等。
    3. 高速设备,指其传输速率在每秒钟数万个字节至数兆字节 的一类设备。如:磁带机、 磁盘机、 光盘机等。
  4. 按信息交换的单位分类
    1. 块设备,用于存储信息,属于有结构设备。其传输速 率较高;可寻址,即可随机地读/写任一块。
    2. 字符设备,用于数据的输入和输出。 其基本单位是 字符, 故称为字符设备。
  5. 按设备的共享属性分类
    1. 独占设备。如:打印机。
    2. 共享设备。 指在一段时间内允许多个进程同时访问 的设备。如:磁盘。
    3. 虚拟设备。 指通过虚拟技术,将一台独占设备变换 为若干台逻辑设备,供若干进程同时使用。如虚拟打 印机
  6. 设备与控制器间的接口
    1. 计算机生成了可选文字:
数据
至设备
控制器
数据信号线
状态信号线
110ü
缓冲转换器
控制逻
    2. 数据信号线:用于在设备和设备控制器之间传送数据信号。
      1. 对于输入设备,由外界输入的信号经转换器转换后所形成的数 据,先送入缓冲器中,当数据量达到一定的字符数后,再从缓冲器 通过一组数据信号线传送给设备控制器。
      2. 对于输出设备,将从设备控制器,经过数据信号线传送来的一 批数据,先暂存于缓冲器中,经转换器适当转换后,再逐个字符地 输出。
    3. 控制信号线: 作为由设备控制器向I/O设备发送控制信号时的通路。 规定了设备将要执行的操作,如:
      1. 读操作:指由设备向控 制器传送数据;
      2. 写操作:从控制器接收数据。
    4. 状态信号线 用于传送指示设备当前状态的信号
      1. 正在读;
      2. 读完成等。

5.1.2 设备控制器

设备控制器是CPU与I/O设备之间的接口,接收从CPU发 来的命令,去控制I/O设备工作,使CPU从繁杂的设备控制事 务中解脱出来。 设备控制器是一个可编址的设备,可连接多个设备,使 每个设备地址对应一个设备。 设备控制器通常做成电路卡形式,称为接口卡。如打印 卡、显卡等。

计算机生成了可选文字:
CPU与控制器接口
数据线
数据寄存器
控制/'状态
寄存器
地址线
]/O逻辑
控制线
控制器与设备接口
控制器
与设备
接口1
控制器
与设备
接口i
数据
状态
控制
数据
状态
控制

  1. 设备控制器的基本功能
    1. 接收和识别命令
    2. 数据交换
    3. 标识和报告设备的状态
    4. 地址识别
    5. 数据缓冲
    6. 差错控制

5.1.3 I/O通道

  1. IO通道的引入
    1. I/O通道是一种特殊的处理机。它具有执行I/O 指令的能力,并通过执行通道(I/O)程序来控制I/O 操作。
    2. I/O通道又与一般的处理机不同:
      1. 其指令类型单一,这是由于通道硬件比较简单, 所能执行的命令,主要局限于与I/O操作有关的指令;
      2. 通道没有自己的内存,通道所执行的通道程序是 放在主机的内存中的,通道与CPU共享内存。
    3. I/O通道类型
      1. 字节多路通道
        1. 字节多路通道是一种按字节交叉方式工作的通道。它 包含许多非分配型子通道,每个通道连接并控制一台I/O 设备,这些子通道按照时间片轮转方式,共享主通道。

计算机生成了可选文字:
AIBC•••A2BC.
AAA.
BBB.
NINN灬
设备
子通j
控制暑訊
子通j
控制髫
子通j还
控制髫℃
控制暑
控制暑趴
图5一3字节多路通道的工作原理

  1. 数组选择通道
    1. 数组选择通道可以连接多台高速设备,但只含有一个分配型子通道, 在一段时间内只能执行一道通道程序,控制一台设备进行数据传送, 致 使当某台设备占用了该通道后,便一直由它独占,即使它无数据传送, 通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放 该通道。
  2. 数组多路通道
    1. 数组多路通道是将数组选择通道传输速率高和字节多 路通道能使各子通道(设备)分时并行操作的优点相结合而 形成的一种新通道。被广泛地用于连接多台高、中速的外 围设备。

计算机生成了可选文字:
通道1
存储器
通道2
控制器1
控制暑恝
控制暑
控制暑煢
设备1
设备2
设备3
设备4
设备5
设备6
设备7
图5一4单通路|/0系统

  1. 计算机生成了可选文字:
通道1
存储器
通道2
I/O设备
控制器1
I/O设备
I/O设备
控制巼
I/O设备
图5一5多通路|/0系统

5.1.4 总线系统

计算机系统中的各部件,如CPU、主存、I/O设备之间的 联系,都是通过总线实现的。 总线性能是用总线的时钟频率、带宽、传输速率等指 标来衡量的。

计算机生成了可选文字:
CPU
磁盘驱动器
磁盘
存储器
控制器
打印机
打印机
控制器
控制器
系统总线
图5一6总线型I/0系统结构

  1. ISA总线是为了1984年推出的80286型微机而设计 的总线结构。其总线的带宽为8位,最高传输速率为2Mb/s。
  2. EISA总线是扩展ISA总线,其带宽为32位,总线 的传输速率高达32Mb/s,可以连接12台外部设备。
  3. 局部总线,是指将多媒体卡、高速LAN网卡、高 性能图形板等,从ISA总线上卸下来,再通过局部总 线控制器,直接连接到CPU总线上,使之与高速CPU总 线相匹配,而打印机、传真机、CDROM等仍挂在ISA总 线上。
  4. VESA总线带宽32位,最高传输速率132M b/s。
  5. PCI总线支持64位系统,最高传输速率132Mb/s;在 CPU与设备之间插入一个管理层,协调数据传输,提供一 致的接口。

5.2 I/O 控制方式

5.2.1 程序I/O方式

  1. 5.2.1 程序I/O方式
    1. 早期的计算机系统中, 没有中断系统,所以CPU和I/O设备进行通信,传输数据时CPU速度远快于I/O设备,于是CPU需要不断测试I/O设备,看其是否完成了传输。
    2. 计算机生成了可选文字:
在处理机向控制器发出一条I/0指令启动输
入设备输入数据时,读出状态寄存器的设备状
态,将busy标志位置为1,然后,需要不停测
试busy标志位,如果busy标志位:1,表示输
入未完成,处理机继续测试,直到busy标志
位=0,表明输入数据已进入控制器的数据寄
存器中;处理机将数据寄存器中的数据取出,
送入指定内存单元中。
/(》扌0刂过晷
就弋《0;7
亻0三苎
一:哛了《扌旨.令.
    3. 程序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控制方式

  1. 中断驱动I/O控制方式
    1. 当某进程要启动某个 I/O 设备工作时,便由 CPU 向相应的设备控制器发出一条 I/O 命令,然后立即返回继续执行原来的任务。仅当输完一个数据时,才需 CPU 花费极短的时间去做些中断处理
    2. 计算机生成了可选文字:
在输入数据时,当设备控制器收到
CPU发来的读命令后,便去控制输入设备
读数据。当输入数据己进入控制器的数
据寄存器时,控制器便通过控制线向CPU
发送一个中断信号,CPU检查输入过程中
是否出错,若无错,便向控制器发送取
走数据的信号,再通过控制器与数据线
将数据写入指定内存单元中。
CPU—I/O
丨匀L'O扌屯刂髫晷
CPU亻故甚0它《事:
;L'O扌刂秀晷
向内.存
40三兰
一下过条旨.
  2. 例如,从终端输入一个字符的时间约为100 ms,而将字符送入 终端缓冲区的时间小于 0.1 ms。若采用中断驱动方式后,CPU可利 用这 99.9 ms的时间去做其它事情,而仅用0.1 ms的时间来处理由 控制器发来的中断请求。
  3. 在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作,提高了整个系统的资源利用率及吞吐量。

5.2.3 直接存储器访问DMA控制方式

  1. DMA控制方式的引入
    1. 数据传输的基本单位是数据块,即在CPU与 I/O设备之间,每次传送至少一个数据块;
    2. 所传送的数据是从设备直接送入内存的,或 者相反;
    3. 仅在传送一个或多个数据块的开始和结束时, 才需CPU干预,整块数据的传送是在控制器的控 制下完成的。
    4. 计算机生成了可选文字:
「℃控制器CPU—DNA
发布读块分令-
CPV做其它事
.MA控制
器的状态
DYLA—•C?V
下条指令
@DN溘方式
  2. DMA控制器的组成
    1. 计算机生成了可选文字:
CPU
内存
count
命令
主机一控制器接口控制器与块设备接口
DR
MAR
DC
CR
系统总线
I/O
DM空制器
  3. 为了实现在主机与控制器之间成块数据的直接交换, 必须在DMA控制 器中设置如下四类寄存器:
    1. 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制 信息, 或设备的状态。
    2. 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内 存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
    3. 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。
    4. 数据计数器DC。存放本次CPU要读或写的字(节)数
  4. 3. DMA工作过程
    1. 整个数据传送过程由DMA控制器进行控制。
    2. 当从磁盘读入一个字节的数据,并送入数据寄存器后,再挪用一个 存储周期,将字节送到内存地址寄存器中(MAR)所指示的内存单元中; 接着,对内存地址寄存器MAR内容加1;将数据计数器DC内容减1。
    3. 若减1后,数据计数器内容不为0,表示传送未完,便继续传送下一 个字节;否则,由DMA控制器发出中断请求。由CPU完成一个完整数据块的 数据读入。

5.2.4 I/O通道控制方式

  1. I/O通道控制方式的引入
    1. I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对 一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写) 及有关的控制和管理为单位的干预。
    2. 例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向 I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访 问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定 的I/O任务。
  2. 通道程序
    1. 操作码。
    2. 内存地址。
    3. 计数。
    4. 通道程序结束位P。
    5. 记录结束标志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设备

  1. I/O设备的类型

计算机生成了可选文字:
设昔使用特性
》/0设备
数据传输单位
设备共享属性
输入/输出设蚤
低速设蚤
中速设蚤
高速设蚤
块设蚤
字符设蚤
独占设蚤.
共享设蚤.
虚拟设蚤.
磁盘、磁带等.持点是容量大价格便宜.
盘、显示器等可L以扌箬收甲户的。显示
的执行陌果
指传i率仅为每秒钟几个字节至数百个字节的
一类设蚤.如:盘到标器等.
指传i在每秒钟数千个字节至数万个字节的
一类设蚤.如:行打印机、光打印机等.
指其传i在每秒钟数万个字节至兆字节的
一类设蚤.如:磁带机、磁盘机、光盘等:
用于存储信息,于有陌构设蚤.其传输速率较
高;可寻址。即可随机地读/写任一块.
用于数据的输入和输土.其基本望位是字符
故称为字符设蚤.
如:打印机.
指在一段时闫丙允许多个进程同时访河的设蚤.
指i到莖虚拟技术。将一占占设蚤变为若干台
逻辑设蚤供若干进程同时使甲。如虚拟打絮机

  1. I/O设备分类的重要指标:
    1. 设备使用特性
    2. 数据传输速率
    3. 数据传输单位
    4. 设备共享属性
  2. 按设备的使用特性分类
    1. 存储设备。如磁盘、磁带等; 特点是容量大,价格便宜。
    2. 输入/输出设备。如:键盘、显示器等, 可以接收用户的命令,显示命令的执行结果。
  3. 按传输速率的高低,可分为:
    1. 低速设备,指传输速率仅为每秒钟几个字节至数百个字节 的一类设备。如:键盘、 鼠标器等。
    2. 中速设备,指传输速率在每秒钟数千个字节至数万个字节 的一类设备。如:行式打印机、激光打印机等。
    3. 高速设备,指其传输速率在每秒钟数万个字节至数兆字节 的一类设备。如:磁带机、 磁盘机、 光盘机等。
  4. 按信息交换的单位分类
    1. 块设备,用于存储信息,属于有结构设备。其传输速 率较高;可寻址,即可随机地读/写任一块。
    2. 字符设备,用于数据的输入和输出。 其基本单位是 字符, 故称为字符设备。
  5. 按设备的共享属性分类
    1. 独占设备。如:打印机。
    2. 共享设备。 指在一段时间内允许多个进程同时访问 的设备。如:磁盘。
    3. 虚拟设备。 指通过虚拟技术,将一台独占设备变换 为若干台逻辑设备,供若干进程同时使用。如虚拟打 印机
  6. 设备与控制器间的接口
    1. 计算机生成了可选文字:
数据
至设备
控制器
数据信号线
状态信号线
110ü
缓冲转换器
控制逻
    2. 数据信号线:用于在设备和设备控制器之间传送数据信号。
      1. 对于输入设备,由外界输入的信号经转换器转换后所形成的数 据,先送入缓冲器中,当数据量达到一定的字符数后,再从缓冲器 通过一组数据信号线传送给设备控制器。
      2. 对于输出设备,将从设备控制器,经过数据信号线传送来的一 批数据,先暂存于缓冲器中,经转换器适当转换后,再逐个字符地 输出。
    3. 控制信号线: 作为由设备控制器向I/O设备发送控制信号时的通路。 规定了设备将要执行的操作,如:
      1. 读操作:指由设备向控 制器传送数据;
      2. 写操作:从控制器接收数据。
    4. 状态信号线 用于传送指示设备当前状态的信号
      1. 正在读;
      2. 读完成等。

5.1.2 设备控制器

设备控制器是CPU与I/O设备之间的接口,接收从CPU发 来的命令,去控制I/O设备工作,使CPU从繁杂的设备控制事 务中解脱出来。 设备控制器是一个可编址的设备,可连接多个设备,使 每个设备地址对应一个设备。 设备控制器通常做成电路卡形式,称为接口卡。如打印 卡、显卡等。

计算机生成了可选文字:
CPU与控制器接口
数据线
数据寄存器
控制/'状态
寄存器
地址线
]/O逻辑
控制线
控制器与设备接口
控制器
与设备
接口1
控制器
与设备
接口i
数据
状态
控制
数据
状态
控制

  1. 设备控制器的基本功能
    1. 接收和识别命令
    2. 数据交换
    3. 标识和报告设备的状态
    4. 地址识别
    5. 数据缓冲
    6. 差错控制

5.1.3 I/O通道

  1. IO通道的引入
    1. I/O通道是一种特殊的处理机。它具有执行I/O 指令的能力,并通过执行通道(I/O)程序来控制I/O 操作。
    2. I/O通道又与一般的处理机不同:
      1. 其指令类型单一,这是由于通道硬件比较简单, 所能执行的命令,主要局限于与I/O操作有关的指令;
      2. 通道没有自己的内存,通道所执行的通道程序是 放在主机的内存中的,通道与CPU共享内存。
    3. I/O通道类型
      1. 字节多路通道
        1. 字节多路通道是一种按字节交叉方式工作的通道。它 包含许多非分配型子通道,每个通道连接并控制一台I/O 设备,这些子通道按照时间片轮转方式,共享主通道。

计算机生成了可选文字:
AIBC•••A2BC.
AAA.
BBB.
NINN灬
设备
子通j
控制暑訊
子通j
控制髫
子通j还
控制髫℃
控制暑
控制暑趴
图5一3字节多路通道的工作原理

  1. 数组选择通道
    1. 数组选择通道可以连接多台高速设备,但只含有一个分配型子通道, 在一段时间内只能执行一道通道程序,控制一台设备进行数据传送, 致 使当某台设备占用了该通道后,便一直由它独占,即使它无数据传送, 通道被闲置,也不允许其它设备使用该通道,直至该设备传送完毕释放 该通道。
  2. 数组多路通道
    1. 数组多路通道是将数组选择通道传输速率高和字节多 路通道能使各子通道(设备)分时并行操作的优点相结合而 形成的一种新通道。被广泛地用于连接多台高、中速的外 围设备。

计算机生成了可选文字:
通道1
存储器
通道2
控制器1
控制暑恝
控制暑
控制暑煢
设备1
设备2
设备3
设备4
设备5
设备6
设备7
图5一4单通路|/0系统

  1. 计算机生成了可选文字:
通道1
存储器
通道2
I/O设备
控制器1
I/O设备
I/O设备
控制巼
I/O设备
图5一5多通路|/0系统

5.1.4 总线系统

计算机系统中的各部件,如CPU、主存、I/O设备之间的 联系,都是通过总线实现的。 总线性能是用总线的时钟频率、带宽、传输速率等指 标来衡量的。

计算机生成了可选文字:
CPU
磁盘驱动器
磁盘
存储器
控制器
打印机
打印机
控制器
控制器
系统总线
图5一6总线型I/0系统结构

  1. ISA总线是为了1984年推出的80286型微机而设计 的总线结构。其总线的带宽为8位,最高传输速率为2Mb/s。
  2. EISA总线是扩展ISA总线,其带宽为32位,总线 的传输速率高达32Mb/s,可以连接12台外部设备。
  3. 局部总线,是指将多媒体卡、高速LAN网卡、高 性能图形板等,从ISA总线上卸下来,再通过局部总 线控制器,直接连接到CPU总线上,使之与高速CPU总 线相匹配,而打印机、传真机、CDROM等仍挂在ISA总 线上。
  4. VESA总线带宽32位,最高传输速率132M b/s。
  5. 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方式

  1. 5.2.1 程序I/O方式
    1. 早期的计算机系统中, 没有中断系统,所以CPU和I/O设备进行通信,传输数据时CPU速度远快于I/O设备,于是CPU需要不断测试I/O设备,看其是否完成了传输。
    2. 计算机生成了可选文字:
在处理机向控制器发出一条I/0指令启动输
入设备输入数据时,读出状态寄存器的设备状
态,将busy标志位置为1,然后,需要不停测
试busy标志位,如果busy标志位:1,表示输
入未完成,处理机继续测试,直到busy标志
位=0,表明输入数据已进入控制器的数据寄
存器中;处理机将数据寄存器中的数据取出,
送入指定内存单元中。
/(》扌0刂过晷
就弋《0;7
亻0三苎
一:哛了《扌旨.令.
    3. 程序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控制方式

  1. 中断驱动I/O控制方式
    1. 当某进程要启动某个 I/O 设备工作时,便由 CPU 向相应的设备控制器发出一条 I/O 命令,然后立即返回继续执行原来的任务。仅当输完一个数据时,才需 CPU 花费极短的时间去做些中断处理
    2. 计算机生成了可选文字:
在输入数据时,当设备控制器收到
CPU发来的读命令后,便去控制输入设备
读数据。当输入数据己进入控制器的数
据寄存器时,控制器便通过控制线向CPU
发送一个中断信号,CPU检查输入过程中
是否出错,若无错,便向控制器发送取
走数据的信号,再通过控制器与数据线
将数据写入指定内存单元中。
CPU—I/O
丨匀L'O扌屯刂髫晷
CPU亻故甚0它《事:
;L'O扌刂秀晷
向内.存
40三兰
一下过条旨.
  2. 例如,从终端输入一个字符的时间约为100 ms,而将字符送入 终端缓冲区的时间小于 0.1 ms。若采用中断驱动方式后,CPU可利 用这 99.9 ms的时间去做其它事情,而仅用0.1 ms的时间来处理由 控制器发来的中断请求。
  3. 在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作,提高了整个系统的资源利用率及吞吐量。

5.2.3 直接存储器访问DMA控制方式

  1. DMA控制方式的引入
    1. 数据传输的基本单位是数据块,即在CPU与 I/O设备之间,每次传送至少一个数据块;
    2. 所传送的数据是从设备直接送入内存的,或 者相反;
    3. 仅在传送一个或多个数据块的开始和结束时, 才需CPU干预,整块数据的传送是在控制器的控 制下完成的。
    4. 计算机生成了可选文字:
「℃控制器CPU—DNA
发布读块分令-
CPV做其它事
.MA控制
器的状态
DYLA—•C?V
下条指令
@DN溘方式
  2. DMA控制器的组成
    1. 计算机生成了可选文字:
CPU
内存
count
命令
主机一控制器接口控制器与块设备接口
DR
MAR
DC
CR
系统总线
I/O
DM空制器
  3. 为了实现在主机与控制器之间成块数据的直接交换, 必须在DMA控制 器中设置如下四类寄存器:
    1. 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制 信息, 或设备的状态。
    2. 内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内 存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。
    3. 数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据。
    4. 数据计数器DC。存放本次CPU要读或写的字(节)数
  4. 3. DMA工作过程
    1. 整个数据传送过程由DMA控制器进行控制。
    2. 当从磁盘读入一个字节的数据,并送入数据寄存器后,再挪用一个 存储周期,将字节送到内存地址寄存器中(MAR)所指示的内存单元中; 接着,对内存地址寄存器MAR内容加1;将数据计数器DC内容减1。
    3. 若减1后,数据计数器内容不为0,表示传送未完,便继续传送下一 个字节;否则,由DMA控制器发出中断请求。由CPU完成一个完整数据块的 数据读入。

5.2.4 I/O通道控制方式

  1. I/O通道控制方式的引入
    1. I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对 一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写) 及有关的控制和管理为单位的干预。
    2. 例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向 I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访 问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定 的I/O任务。
  2. 通道程序
    1. 操作码。
    2. 内存地址。
    3. 计数。
    4. 通道程序结束位P。
    5. 记录结束标志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

点击数:227

    暂无评论

    发送评论 编辑评论

    
    				
    |´・ω・)ノ
    ヾ(≧∇≦*)ゝ
    (☆ω☆)
    (╯‵□′)╯︵┴─┴
     ̄﹃ ̄
    (/ω\)
    ∠( ᐛ 」∠)_
    (๑•̀ㅁ•́ฅ)
    →_→
    ୧(๑•̀⌄•́๑)૭
    ٩(ˊᗜˋ*)و
    (ノ°ο°)ノ
    (´இ皿இ`)
    ⌇●﹏●⌇
    (ฅ´ω`ฅ)
    (╯°A°)╯︵○○○
    φ( ̄∇ ̄o)
    ヾ(´・ ・`。)ノ"
    ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
    (ó﹏ò。)
    Σ(っ °Д °;)っ
    ( ,,´・ω・)ノ"(´っω・`。)
    ╮(╯▽╰)╭
    o(*////▽////*)q
    >﹏<
    ( ๑´•ω•) "(ㆆᴗㆆ)
    😂
    😀
    😅
    😊
    🙂
    🙃
    😌
    😍
    😘
    😜
    😝
    😏
    😒
    🙄
    😳
    😡
    😔
    😫
    😱
    😭
    💩
    👻
    🙌
    🖕
    👍
    👫
    👬
    👭
    🌚
    🌝
    🙈
    💊
    😶
    🙏
    🍦
    🍉
    😣
    Source: github.com/k4yt3x/flowerhd
    颜文字
    Emoji
    小恐龙
    花!
    上一篇
    下一篇