计组复习(五)

对应唐书第五章——输入输出系统。

一、概述

1. 发展概况

  • 早期阶段:主存与I/O交换信息必须通过CPU。串行,分散连接。
  • 接口模块与DMA阶段:I/O设备通过接口设备与主机连接。总线连接,并行
  • 具有通道结构的阶段
  • 具有I/O处理机的阶段

2. 输入输出系统的组成

  • 主要由I/O软件和I/O硬件组成。
  • 软件:I/O指令(操作码、命令码、设备码)和通道指令。
  • 硬件:接口模块和I/O设备。

3. I/O设备与主机的联系方式

3.1 I/O设备编址方式

  • 通常将I/O设备码看做地址码,对I/O地址码的编址可采用两种方式——统一编址和不统一编址。
  • 统一编址:将I/O地址视为存储器地址的一部分,减少了主存容量。
  • 不统一编址:地址分开,需设I/O专用指令。

3.2 设备寻址

  • 利用接口电路中的设备选择电路 

3.3 传送方式

  • 串行(远距离,线少)与并行(短距离,线多)

3.4 联络方式

        I/O设备与主机之间必须相互了解彼此的状态,如是否可以传送、传送是否停止。

  • 立即响应(一些工作速度十分缓慢的设备,如指示灯的亮灭、开关的通断)
  • 异步工作采用应答信号(I/O与主机速度不匹配,有起始位和终止位)
  • 同步工作采用同步时标(I/O与主机速度完全同步)

3.5 I/O 设备与主机的连接方式

  • 辐射式连接:每台设备都有一套控制线路与信号线,不便于增删设备
  • 总线式连接:便于增删设备

4. I/O设备与主机信息传送的控制方式

        主要有程序查询方式、程序中断方式、直接存储器存取方式、I/O通道方式、I/O处理机方式。重点讲前三种。

4.1 程序查询方式

  • CPU通过程序不断查询设备是否做好准备
  • 踏步等待,低效,CPU与I/O串行

4.2 程序中断方式

  • 启动I/O后,CPU不查询,继续执行现行程序,当I/O发送中断请求时才响应(响应的时机在执行周期结束后)。
  • CPU与I/O一定程度上并行,在中断周期串行。
  • 需要额外电路,还有相应的中断服务程序。

4.3 DMA方式

  • 主存与I/O之间有一条数据通路,无需中断现行程序,CPU参与度更低,并行性更强。
  • 若DMA与CPU同时访存,则总线占有权让给DMA,此时CPU可以做一些无需访存的工作,通常这种占用成为窃取/挪用,时间为一个存取周期
  • DMA优先级高于中断。

二、I/O设备

三、I/O接口

1. 概述

  • 接口可以看做两个系统或两个部件之间的交接部分。I/O接口通常是指主机与I/O设备之间的一个硬件电路及其相应的软件控制。
  • 注意区分接口端口,端口是指接口电路中的一些寄存器,存放数据信息、控制信息、状态信息,若干端口加上相应的控制逻辑才能组成接口
  • 主要功能:设备选择,数据缓冲,串并行格式转换,电平转换,传送控制命令,报告状态。

2. 接口的功能和组成 

  • 选址功能:设备选择电路
  • 传送命令功能:命令寄存器和命令译码器
  • 传送数据功能:数据缓冲寄存器
  • 报告状态功能:完成触发器D和工作触发器B

3. 接口类型

  • 按数据传送方式:串行和并行。

  • 按功能选择的灵活性:可编程与不可编程。

  • 按通用性:通用和专用。

  • 按数据传送的控制方式:程序型和DMA型。

四、程序查询方式 

  • 这种方式会占用CPU中的寄存器,在设置计数值之前首先要保护寄存器原内容
  • 若计数值不为0则继续传送。

  • 注意,“输入”是针对CPU而言的,即CPU从I/O读入数据为输入。

五、程序中断方式

5.1 接口电路

  • 新增硬件:中断请求触发器,中断屏蔽触发器,排队器,中断向量地址形成部件。
  • 对I/O中断而言,速度越快优先级越高,否则信息很可能丢失。
  • 优先级的处理可用硬件方法,也可用软件方法。硬件排队器又可分为CPU内部的统一排队器(见第八章)和接口电路内的链式排队器。
链式排队器
链式排队器

  •  中断向量地址形成部件实质上是一个编码器,以排队器的输出作为输入,输出中断向量。要注意向量地址和中断服务程序入口地址是两个概念。

  •  接口电路基本组成如下,最后由中断服务程序取走数据。

5.2 I/O中断处理流程

  • 响应中断的时间:执行周期结束后。
  • 响应中断的条件:允许中断触发器EINT=1(开中断),完成触发器D=1,屏蔽触发器MASK=0.

5.3 中断服务程序的流程

  • 四大部分:保护现场,中断服务,恢复现场,中断返回。
  • 保护现场包括保存程序断点(中断隐指令完成),以及保护通用寄存器和状态寄存器(中断服务程序完成)
  • 单重中断与多重中断的“开中断”时机不同。单重中断在中断返回前开中断,多重中断在保护现场后开中断。

六、DMA方式

1. DMA方式的特点

  • 采用中断服务程序对于高速I/O来说效率较低,会频繁打断CPU执行。而DMA方式下,主存与设备交换信息不通过CPU,特别适合于高速I/O或辅存与主存之间 ,因为高速I/O在等待CPU响应时可能丢失数据。

  • 若I/O与CPU同时访问主存,CPU必须将总线的占有权(如地址线、数据线)让给DMA接口,挪用一个存取周期。

  •  DMA与主存交换数据的三种方式:停止CPU访存(控制简单,但很低效);周期挪用(适合I/O读写周期大于主存周期的情况);DMA与CPU交替访问(适合CPU周期大于存取周期的情况,现代CPU不采用)。

2. DMA接口的功能和组成

2.1 功能

2.2 组成 

  • 主存地址寄存器AR:先取出数据的首地址,每次交换后加一。
  • 字计数器WC:若以补码预置,则每次加一,直至为0;以原码预置则每次减一。
  • 数据缓冲器BR:通常DMA接口与主存交换以字为单位,与I/O交换以字节或位为单位。
  • DMA控制逻辑:设备准备好一个字后向DMA接口提出申请DREQ,控制逻辑向CPU请求DMA服务,发出总线使用权的请求信号HRQ。收到CPU响应信号HLDA后,开始DMA传送,并通知设备已被授予一个DMA周期DACK。
  • 中断机构:字计数器溢出时表明数据交换完毕,向CPU提出中断请求,请求CPU作DMA的后处理。
  • 设备地址寄存器DAR:存放I/O设备的设备码或寻址信息(如磁盘数据所在区号)。

3. DMA的工作过程

3.1 DMA传送过程

  • DMA数据传送过程分为预处理、数据传送和后处理3个阶段。
  • 预处理:CPU为DMA接口预置信息,指明数据传送方向,将设备号送入DAR并启动设备,交换数据的起始地址送入AR,并对WC赋值。
  • 数据传送:以数据块为单位。下图是数据输入(CPU)的过程。

  • 后处理:DMA的溢出中断响应后,执行中断服务程序,做一些后处理工作,包括数据的校验、决定是否继续传送、测试是否发送错误等。 

3.2 DMA接口与系统的连接方式

  • 两种连接方式:一种有公共请求线(链式查询),另一种每个接口有独立的DMA请求线与响应线。

3.3 DMA与程序中断方式对比

  • DMA没法处理异常状况,主要用于大批数据传送,如硬盘存取、图像处理等,可提高数据吞吐率。

 3.4 DMA接口的类型

  • 选择型DMA接口:物理上连多个,逻辑上连一个。

  •  多路型DMA接口:物理上、逻辑上都允许多个连接。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值