第七章:输入输出系统

一、I/O系统基本概念

外部设备

  • 输入设备
    • 鼠标、键盘
  • 输出设备
    • 显示器
      • 种类
        • 阴极射线管显示器(CRT)
          • 电子枪、偏转线圈、荧光粉等组成
        • 液晶显示器(LCD)
          • 利用液晶分子的光电效应
        • 发光二极管显示器(LED)
          • 通过发光二极管发光来显示
      • 参数
        • 屏幕大小
          • 以对角线长度表示
        • 分辨率
          • 屏幕上像素点的个数
        • 灰度级
          • 表示一个颜色需要多少二进制位数
        • 刷新频率
          • 单位时间内更新屏幕的次数
        • 显示存储器(VRAM)
          • 容量=分辨率*灰度级位数(2010)
          • 带宽=容量*刷新频率(2010)
    • 打印机
      • 针式打印机
        • 喷墨式打印机
          • 激光式打印机
  • 外部存储器
    • 磁表面存储器
      • 固态硬盘(SSD)
        • 光盘存储器

二、I/O接口

1. I/O接口的功能

  • 进行地址译码和设备选择、实现主机和外设的通信联络控制、实现数据缓冲、信号格式转换、传送控制命令和状态信息

2. I/O接口的基本结构

  • (状态端口和控制端口可以合用一个寄存器) image

3. I/O接口的类型

  • 并行接口/串行接口
    • 程序查询接口/中断接口/DMA接口
      • 可编程接口/不可编程接口

4. I/O端口及其编址

  • 概念
    • 接口电路中可被CPU直接访问的一组寄存器(2014)
    • I/O指令实现的数据传输通常发生在通用寄存器和I/O端口之间(2017)
  • 编址
    • 统一编址(存储器映射)
      • 使用统一的访存指令来完成输入输出操作(2014)
      • 端口有较大的编址空间但内存容量变小
      • 统一编址下的I/O地址可以在地址空间的任何地方
      • 靠不同的地址码区分存储单元和I/O设备
    • 独立编址(I/O映射)
      • 使用专门的输入输出指令(IN/OUT)
      • 靠不同的指令区分存储单元和I/O设备

三、I/O方式

1. 程序查询方式

  • 工作流程
    • CPU向I/O接口发出命令字,启动I/O设备
    • CPU不断从接口读取状态信息,直到外设准备就绪
    • 传输一次数据,修改地址和计数器参数
    • 反复执行直到计数器为0
  • 特点
    • 一段时间内CPU只能和一个外设交换信息,CPU要花费大量时间查询和等待

2. 程序中断方式

  • 中断原理
    • (CPU与外设并行工作示意图) image
    • image
      • image
  • 中断优先级
    • 中断源的识别和判优
      • 软件查询
        • 原理
          • 按照中断优先顺序依次查询哪个设备有中断请求并转到第一个查询到的中断服务程序去执行
        • 特点
          • 可以改变软件的查询顺序来改变中断响应优先级,比较灵活;但查询速度较慢
      • 硬件判优
        • 原理
          • 根据中断判优电路和编码器得到所有未被屏蔽的中断请求中具有最高响应优先权的中断源
        • 涉及到的概念
          • 中断向量
            • 中断服务程序的首地址
          • 中断向量地址
            • 每个中断向量所在的地址
          • 中断向量表
            • 所有中断向量存放在一个表中称为中断向量表
          • 中断类型号
            • 每个中断向量在中断向量表中的位置或编号
    • 中断优先级
      • 分类
        • 中断响应优先级
          • 由查询程序或判优电路决定的优先权(不可更改),反映的是多个中断同时请求时选择哪个先被相应
        • 中断处理优先级
          • 由各自的中断屏蔽字来动态设定(可以更改),反映了本中断与其它中断之间的处理优先关系(2020)
      • 优先顺序
        • 不可屏蔽中断>内部异常>可屏蔽中断(2020)
        • 内部异常中,硬件故障>软件故障
        • DMA中断>I/O中断(2020)
        • I/O中断中,高速设备>低速设备,输入设备>输出设备,实时设备>普通设备
    • 中断屏蔽字
      • 每个中断源都有屏蔽触发器,所有屏蔽触发器组合在一起构成中断屏蔽字寄存器,其中的内容称为屏蔽字
      • “1”表示屏蔽,“0”表示正常申请(每个中断源都要屏蔽自身)(2011)
      • 例:A>B>C>D
        • C的屏蔽字为0011
  • 中断响应的三个条件
    • CPU处于“开中断”状态(2018、2021)
    • 至少有一个未被屏蔽的中断请求(2021)
    • 当前指令刚执行完(2018)
  • 中断过程(经常考)
    • 中断响应(硬件实现)
      • 关中断
        • 将中断允许标志置为不允许状态,此时可屏蔽掉所有可屏蔽中断请求
      • 保存断点
        • 将PC和PSW送入栈或特殊寄存器
      • 识别中断源
        • 取得中断服务程序首地址和初始 PSW分别送PC和PSWR
    • 中断处理(软件实现)
      • 保护现场(用户可见的工作寄存器的内容)和屏蔽字
      • 开中断
      • 执行中断服务程序
      • 关中断—-恢复现场和屏蔽字—-开中断—-中断返回

3. DMA方式

  • 基本概念
    • 全名:直接存储器存取。在外设与内存之间直接开设一条数据通道,由DMA控制器控制数据传输,数据不再经过CPU
    • 适用于磁盘、显卡、声卡、网卡等高速设备大批量数据的传送(鼠标键盘适合中断方式)
    • 数据流向:内存–数据总线–DMA控制器–外设
  • DMA传送方式
    • CPU停止法
      • CPU脱离总线停止访问主存
    • 周期挪用法
      • CPU让出一个总线事务周期,DMA控制器挪用一个主存周期来访问主存传输一个数据缓冲寄存器的内容(2020)
    • 交替分时访问法
      • 每个存储周期分为两个时间片,一个给CPU,一个给DMA控制器
  • DMA传送过程(经常考)
    • 图示
      • image
    • 步骤
      • 预处理
        • CPU完成一些准备工作后执行原来程序,I/O设备准备好收发数据后向DMA控制器发出DMA请求信号,DMA控制器向CPU发出总线请求信号(申请总线使用权)
      • 数据传输
        • DMA控制器占用总线后进行数据传输(此阶段完全由DMA控制器控制,CPU不可以访问主存储器)(2018、2020)
      • 后处理
        • 数据传输完成后DMA控制器向CPU发出中断请求并转入中断服务程序,做一些数据校验等后续处理工作(2020)
  • 中断和DMA方式的比较
    • (经常涉及到) image

四、考研大题

出题年份:2009、2012、2016、2018

出题方向

  • 程序查询
    • 查询的最大间隔
  • 中断
    • 给出主频、CPI、中断处理程序指令个数、数据传输速率、求CPU利用率
    • 能否使用中断?否,因为CPU来不及处理,数据可能丢失
    • 中断过程:设备把数据送给缓冲寄存器—-I/O接口发出中断请求—-CPU响应并执行中断处理程序
  • DMA
    • 给出主频、CPI、中断处理程序指令个数、数据传输速率、求CPU利用率
    • DMA请求优先级高于CPU,原因是数据不及时传送可能丢失(2012大题)

补充(异步串行通信)

  • image