0%

【知识总结】 第七章-输入输出系统

基本概念

  • 输入:信息从外部送到主机
  • 输出:信息从主机送到外部
  • 接口:外设和主机传输数据进行协调(比如速度匹配、电平和格式转换)的逻辑部件
  • 外部设备:输入输出设备或通过输入输出接口才能访问的外存储设备
    • 输入设备:键盘、鼠标
    • 输出设备:打印机、显示器
    • 外存设备:硬磁盘、光盘、U盘
  • IO系统构成
    • IO软件
      • 包括:驱动程序、用户程序、管理程序、升级补丁
      • 通过IO指令和通道指令(详见后面IO控制方式的通道方式)实现CPU和IO设备信息交换
    • IO硬件:
      • 包括:外部设备、设备控制器和接口、IO总线
      • 设备控制器控制IO设备
      • IO接口(或设备控制器、适配器)和总线相连
      • IO端口是接口电路的一些寄存器,可被CPU访问;IO接口是主机和外部的交接面(详见IO接口小节)
  • IO控制方式
    • 程序查询方式:CPU通过程序查询IO设备是否可用
    • 程序中断方式:IO设备可用时向CPU发出中断请求
    • DMA方式:用于主存和IO设备的数据交换,无需调用中断服务程序
    • 通道方式
      • 系统设置通道控制部件,每个通道挂接若干外设
      • 通道程序保存在主存,由通道执行通道指令
      • 通道指令实现数据传送,即执行IO操作(包括读、写、磁盘走带、寻道等)
      • IO指令实现启停IO设备、查询通道和IO设备状态、对通道进行控制等

外部设备

输入设备

  • 键盘
    • 矩阵形式排列按键
    • 按下键电信号连通;松开键电信号断开
    • 键盘输入信息步骤:查出按哪个键、翻译为ASCII码、编码传给主机
  • 鼠标
    • 控制光标位置的定位输入设备
    • 分为机械式和光电式
    • 鼠标底部有传感器,可能检测运动的方向和距离

输出设备

  • 显示器
    • 按器件分类
      • 阴极射线管(CRT)显示器
      • 液晶显示器(LCD)
      • 发光二极管(LED)显示器
    • 按信息内容分类
      • 字符显示器
      • 图形显示器
      • 图像显示器
    • 按扫描方式分类(CRT显示器)
      • 光栅扫描显示器:只能按固定顺序扫描,比如一行一行扫描
      • 随机扫描显示器:可以按随意方向扫描
    • 显示器按点阵方式运行,主要参数有
      • 屏幕大小:对角线长度,单位英寸
      • 分辨率:长宽的像素乘积
      • 灰度级:同一个像素的灰度个数,比如8位有256个灰度,是256级
      • 刷新:在光点消失前重新扫描显示,一次刷新需要扫描整个屏幕(通常是按行扫描)
      • 刷新频率:单位时间刷新的次数,通常是60-120HZ(大于30HZ人类视觉就感受不到闪烁)
      • 显示存储器(VRAM):即刷新存储器
      • VRAM容量:分辨率灰度级位数,单位比特
      • VRAM带宽:VRAM容量帧频(帧频是单位时间的画面数量,可以认为等于刷新频率)
  • 打印机
    • 按工作原理分类
      • 击打式:比如针式打印机
      • 非击打式:用物理化学方法印刷,比如喷墨式、激光打印机
    • 按工作方式分类(都是点阵打印机)
      • 针式打印机:多层复写,适合票据打印。原理简单、价格便宜;分辨率低、打印速度慢
      • 喷墨式打印机:噪声小、高质量彩印、打印快;防水差
      • 激光打印机:激光技术和电子显像技术结合,核心部件是感光鼓。打印质量高、速度快、噪声小;价格贵、不能复写打印

存储设备

基本介绍

  • 目前主要使用磁表面存储器,如磁盘、磁带、磁鼓
  • 容量大、可重复记录、可脱机存储、非破坏读出;存取慢、结构复杂

磁盘存储器

本节在第三章的外存储器中也有介绍,可以对应参考

  • 组成
    • 磁盘
      • 磁头数:即盘面数,一个磁头对应一个盘面
      • 柱面数:即一个盘面的磁道数
      • 扇区数:即一个磁道的扇区个数。扇区又叫块,磁盘读写基本单位,磁盘按块存取。
    • 磁盘驱动器:驱动磁盘转动并在盘面上通过磁头进行读写的装置,每个驱动器对应一个磁盘
    • 磁盘控制器:属于磁盘面向计算机的接口设备,接受计算机命令,向磁盘驱动器发出控制信号
  • 原理
    • 磁头和磁性介质相对运动完成读写操作
    • 用存储介质的磁层磁化翻转状态表示二进制信息
  • 性能指标
    • 容量
      • 非格式化容量:可利用的磁化单元总数
      • 格式化容量:按某种格式能记录的信息总量
    • 记录密度
      • 道密度:半径方向单位长度磁道数
      • 位密度:磁道单位长度的二进制代码位数
      • 面密度:位密度乘以道密度,即单位面积二进制信息量
    • 平均存取时间
      • 寻道时间:半径方向定位,移动磁头到目标磁道的平均时间
      • 旋转时间:角度定位,取盘面旋转半圈的时间
      • 传输时间:定位后的传输时间
    • 数据传输率:单位时间传输到主机的字节数,等于每秒转圈数一个磁道的容量
  • 磁盘地址
    • 驱动器号
    • 磁道号(柱面号)
    • 盘面号
    • 扇区号
  • 磁盘工作过程
    • 操作为:寻址、读盘、写盘
    • 每个操作对应一个控制字,具体操作是取控制字、执行控制字
    • 硬盘的所有读写操作都是串行,不能同时进行

磁盘阵列

  • RAID(廉价冗余磁盘阵列):把多个物理磁盘组成一个独立逻辑磁盘,数据交叉存储,并行访问
  • RAID按可靠性等级从低到高分为
    • RAID0:无冗余、无校验
    • RAID1:采用磁盘镜像
    • RAID2:采用纠错海明码
    • RAID3:采用位交叉奇偶校验
    • RAID4:采用块交叉奇偶校验
    • RAID5:采用无独立校验的奇偶校验
  • RAID0容量大、并行存取、速度快;没有容错能力
  • RAID1用两个磁盘同时读写,相互备份;容量减半
  • 特点总结:使用多个磁盘并行存取,速度快;通过镜像校验提高可靠性和容错能力

光盘存储器

  • 利用光学原理,非接触方式记录信息
  • 组成:驱动器、控制器、光盘片、驱动软件
  • 特点:存储密度高、轻便、便宜、容量大、存储期限久、易保存
  • 分类
    • CD-ROM:只读型光盘
    • CD-R:只可写入一次信息
    • CD-RW:可重复读写的光盘
    • DVD-ROM(DVD是通用数字化多功能光盘):高容量CD-ROM

固态硬盘

  • 详见第三章ROM存储器小节的固态硬盘内容

IO接口

IO接口是主机和外设的交接面,解决主机和外设信息形式和工作速度的差异问题

功能

  • 控制主机和外设的通信,协调工作速度不同的问题
  • 对CPU送来的地址码进行译码并选择设备
  • 实现数据缓冲,也是为了解决速度不匹配问题
  • 信号格式转换,解决信息形式不一致问题。比如电平转换、并-串或串-并转换、模-数或数-模转换
  • 传送CPU控制命令、反馈外设的状态信息

结构

  • IO接口的外部,主机侧通过IO总线连接内存、CPU等主机的设备,外设侧连接着各个外部设备
  • IO接口内部包括
    • 数据缓冲寄存器
      • 双向的保存缓冲数据
      • 连接数据总线
    • 状态寄存器
      • 从外设到主机传送状态信息
      • 连接数据总线和IO控制逻辑部件
    • 控制寄存器
      • 从主机到外设传送控制信息
      • 连接数据总线和IO控制逻辑部件
    • IO控制逻辑部件
      • 地址译码、传送控制信号到外设控制逻辑、传送状态到状态寄存器、发送或接收缓冲寄存器数据
      • 连接地址总线、控制总线、控制寄存器、状态寄存器、数据缓冲寄存器
    • 外设界面控制逻辑
      • 接收或发送数据到外设,接受外设的状态发给IO控制逻辑,把IO控制逻辑发来的控制发送给外设
      • 连接外设、连接IO控制逻辑部件
  • 对IO接口里的寄存器的访问通过操作系统的IO特权指令
  • IO接口的这些可读写寄存器叫做IO端口

类型

  • 按IO接口外设侧的传送数据方式分类
    • 并行接口:多个位同时传
    • 串行接口:一位一位的传
  • 按主机的IO控制方式分类
    • 程序查询接口
    • 中断接口
    • DMA接口
  • 按功能的灵活性分类
    • 可编程接口
    • 不可编程接口

IO端口

  • 指的是接口电路被CPU可直接访问的寄存器
  • 分为数据端口(CPU可读写)、状态端口(CPU可读)、控制端口(可写)
  • IO端口加上一些控制逻辑组成IO接口
  • IO端口被CPU访问需要进行编址,编址方式有
    • 统一编址
      • 又叫存储器映射方式,把IO当作存储器的单元进行地址分配
      • 优点是不需要专门的IO指令,方便;缺点是内存容量变小,执行速度慢
    • 独立编址
      • 又叫IO映射方式,IO端口的地址空间和主存地址空间是两个独立的空间
      • 地址码形式相同,需要设置专门的IO指令来访问IO端口
      • 优点是编程清晰、容易理解;缺点是需要CPU提高存储器读写、IO设备读写两组控制信号,复杂

IO方式

程序查询

  • 由主机程序实现信息交换
  • 工作流程如下
    • CPU初始化程序,设置传送参数
    • 向IO接口发出命令,启动IO设备
    • 取外设状态,不断查询外设状态,直至就绪
    • 传送一次数据
    • 修改地址,计数器(记录还需要传送几次数据)减1
    • 当计数器大于0则返回第三步,否则程序结束
  • 优点是设计简单、设备量少;缺点是CPU查询等待耗费时间(CPU踏步等待现象),且一段时间只能和一台设备交换信息

程序中断

  • 详见计组笔记第五章的异常和中断机制
  • 补充一个IO接口角度的中断驱动方式工作流程
    • 接收CPU读命令
    • 从外部设备读数据到数据寄存器
    • 提供控制线给CPU发送中断信号
    • 接收CPU取数据请求
    • 把数据放到数据总线,传到CPU的寄存器中

DMA方式

DMA方式特点

  • 外设和内存有直接数据通路,全称是直接存储器存取方式
  • 数据不经过CPU,IO和CPU并行工作,不需要保存恢复CPU现场等操作,传送速度快
  • 数据块传送时,主存地址、传送数据计数由硬件电路实现
  • 主存开辟专门的缓冲区,接收和供给外设数据
  • 开始前:通过程序进行预处理
  • 结束后:通过中断方式进行后处理

DMA控制器

  • 又叫DMA接口
  • 组成为
    • 主存地址计数器:存放数据主存地址
    • 传送长度计数器:存放数据长度,计数溢出时即传送完毕(减到长度为0时)
    • 数据缓冲寄存器:缓存传送的数据
    • DMA请求触发器:接收IO设备的就绪控制信号
    • 控制/状态逻辑:协调同步DMA请求信号和CPU响应信号、指定传送方向、修改传送参数
    • 中断机构:传送完毕后向CPU提出中断请求
  • 以单总线结构为例(即主存、CPU和IO接口都挂在一组总线上),DMA控制器功能如下(可结合后面的传送过程部分进行理解)
    • 接受外设的DMA请求DRQ,向CPU发出总线请求HRQ
    • CPU发出总线响应信号HLDA,让出系统总线控制权(地址总线、数据总线、控制总线)给DMA控制器,进入DMA周期
    • 确定传送数据的主存地址和长度,自动修改主存地址计数器和传送长度计数器
    • 规定传送方向,发出读写控制信号,执行数据传送
    • 向CPU报告DMA操作完成

传送方式

CPU和IO设备同时访问主存时会发生冲突,本节介绍解决冲突的方式

  • 块传送方式(停止CPU访存)
    • 由DMA控制器向CPU发送停止信号,总线控制权交给DMA控制器
    • 工作完成后向CPU发出操作完成信号,总线控制器归还给CPU
    • 适合高速IO
  • 单字传送方式(周期挪用、周期窃取)
    • 当CPU不在访存:此时无冲突
    • 当CPU正在访存:待存取周期结束再让出总线控制器给DMA控制器
    • 当CPU正在申请访存:IO访存的优先级更高,因为IO不立刻访存会丢失数据
    • 适合低速IO
  • DMA和CPU交替访存
    • 要求主存存取周期不到CPU工作周期的一半
    • CPU工作周期分成两个部分,分别供CPU访存和DMA访存
    • 不需要总线使用权的申请、建立、归还,而是通过分时控制

传送过程

可结合前面的DMA控制器功能的部分进行理解

  • 预处理阶段
    • CPU执行IO指令
      • 测试IO设备状态
      • 设置DMA控制器的传送长度计数器和主存地址计数器的初值
      • 设置传送方向
      • 启动IO设备
    • IO设备准备好后向DMA控制器发送DMA请求
    • DMA控制器向CPU发送总线请求(上一条的DMA请求和总线请求可以统称为DMA请求)
  • 数据传送阶段
    • 基本传送单位:单字节、单字或数据块
    • 本阶段完全由DMA硬件控制。比如基本传送单位为数据块的情况(比如硬盘),循环由DMA控制器实现而不是CPU
    • 本阶段流程细化为(按单总线结构)
      • 判断是否允许传送
      • 是则把主存地址送总线,数据根据传送方向送IO设备或主存,修改主存地址计数器和传送长度计数器
      • 判断是否结束传送。不结束则返回第一步,结束则进入后处理阶段
  • 后处理阶段
    • DMA控制器向CPU发送中断请求
    • CPU执行中断服务程序做DMA结束处理
      • 校验数据传输是否正确
      • 错误需要转入诊断程序
      • 决定是否继续用DMA传送数据块

和中断方式的区别

  • 中断方式是程序的切换,需要保存、恢复现场;DMA方式数据传送阶段不占用CPU任何资源
  • 中断响应在指令执行周期后;DMA响应可以在各个机器周期后(取指、间址、执行周期后),CPU不需占用总线时,便可以进行响应
  • 中断传送需要CPU干预;DMA传送不需要CPU干预,适合高速外设成组数据传送
  • DMA请求优先级高于中断请求,因为DMA传送几乎不占用CPU资源
  • 中断方式还可以处理异常;DMA方式仅用于数据IO传送
  • 中断方式靠程序传送;DMA方式靠硬件传送

通道控制方式

流程

  • CPU向IO通道发送IO指令
  • IO指令给出了通道程序首地址、要访问的IO设备
  • 通道接收IO指令,执行通道程序
  • 执行完成后通道向CPU发送中断请求

特点

  • 通道程序保存在内存,即和CPU共享内存
  • 通道自己控制数据块大小、传输的内存位置
    • DMA方式在预处理阶段由CPU设置这些信息
  • 一个通道可以控制多台设备和内存的数据交换
    • DMA方式只能是一台设备