【计组】5.输入输出系统

♡♡♡ 说明
本笔记为笔者学习中国大学MOOC计算机组成原理课程时结合课程PPT和自己总结所做,为个人笔记,如果对你有所帮助的话,我很荣幸。
课件PPT及笔记(word版、pdf版)及深入理解计算机系统pdf可在我的微信公众号 “分享猿” 回复关键词 N02获取。

计算机组成原理系列课程笔记入口:计算机组成原理[哈工大]

一、概述

1.1 I/O 系统的发展概况
  1. 早期
    分散连接
    CPU和I/O设备串行工作 程序查询方式

  2. 接口模块和 DMA 阶段
    总线连接
    CPU和I/O设备并行工作(中断方式、DMA方式

  3. 具有通道结构的阶段
    通道负责管理I/O设备以实现主存与I/O设备之间交换信息的部件,是一个从属于CPU且不完全独立的处理器。

  4. 具有I/O处理机的阶段

1.2 I/O 系统的组成
  1. I/O软件
    (1) I/O指令  CPU 指令的一部分
    |操作码|命令码|设备码|
    (2) 通道指令  通道自身的指令
    指出数组的首地址、传送字数、操作命令
    如IBM/370 通道指令为 64 位
  2. I/O硬件
    设备  I/O接口
    设备  设备控制器 通道
1.3 I/O 设备与主机的联系方式
  1. I/O设备编址方式
    (1)统一编址  看作存储器的一部分(占用主存),用取数、存数指令
    (2)不统一编址  有专门的I/O指令
  2. 设备选址
    用设备选择电路识别是否被选中
  3. 传送方式
    (1)串行  速度慢,但只需一根数据线,适合远距离数据通信
    (2)并行  速度快,数据线多
  4. 联络方式
    (1) 立即响应 指示灯等
    (2) 异步工作采用应答信号 见下图(分并行和串行)
    (3) 同步工作采用同步时标 I/O设备与CPU工作速度完全同步
    在这里插入图片描述
    在这里插入图片描述
  5. I/O 设备与主机的连接方式
    (1) 辐射式连接
    在这里插入图片描述
    (2) 总线连接
    便于增删设备,现代计算机基本采用
4. I/O 设备与主机信息传送的控制方式
  1. 程序查询方式
    在这里插入图片描述
  2. 程序中断方式
    I/O 工作  自身准备        CPU不查询
            与主机交换信息   CPU暂停现行程序
    CPU和 I/O 部分的并行工作
    在这里插入图片描述
    程序中断方式流程
    在这里插入图片描述
  3. DMA方式
    主存和I/O之间有一条直接数据通道
    不中断现行程序
    周期挪用(周期窃取) CPU和I/O并行工作
    在这里插入图片描述
  4. 三种方式的CPU工作效率比较
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、外部设备

2.1 概述

在这里插入图片描述
外部设备大致分三类
1.人机交互设备 键盘、鼠标、打印机、显示器
2.计算机信息存储设备 磁盘、光盘、磁带
3.机-机通信设备 调制解调器等

2.2 输入设备
  1. 键盘
    按键 → 判断哪个键按下 → 将此键翻译成ASCII码(编码键盘法)
  2. 鼠标
    机械式  金属球 电位器
    光电式  光电转换器
  3. 触摸屏
2.3 输出设备
  1. 显示器
    (1)字符显示  字符发生器
    (2)图形显示  主观图像
    (3)图像显示  客观图像
  2. 打印机
    (1)击打式    点阵式(逐字、逐行)
    (2)非击打式   激光(逐页)喷墨(逐字)
2.4 其他
  1. A/D、D/A
    模拟/数字(数字/模拟)转换器
  2. 终端
    由键盘和显示器组成
    完成显示控制与存储、键盘管理及通信控制
  3. 汉字处理
    汉字输入、汉字存储、汉字输出
2.5 媒体技术
  1. 什么是多媒体
  2. 多媒体计算机的关键技术

三、接口

3.1 概述

为什么要设置接口?

  1. 实现设备的选择
  2. 实现数据缓冲达到速度匹配
  3. 实现数据串并格式转换
  4. 实现电平转换
  5. 传送控制命令
  6. 反映设备的状态(“忙”、“就绪”、“中断请求”)
3.2 接口的功能和组成

在这里插入图片描述

  1. 总线连接方式的I/O接口电路
    (1) 设备选择线
    (2) 数据线
    (3) 命令线
    (4) 状态线
  2. 接口(通用)的功能和组成
功能组成
选址设备选择电路
传送命令命令寄存器命令译码器
传送数据数据缓冲寄存器
反映设备状态设备状态标记

完成触发器 D
工作触发器 B
中断请求触发器 INTR
屏蔽触发器 MASK
(如:D=0,B=0设备暂停状态、D=1,B=0设备准备就绪、D=1,B=1设备准备状态、INTR=1I/O设备向CPU发出中断请求)

  1. I/O接口的基本组成
    在这里插入图片描述
3.3 接口类型
  1. 按数据传送方式分类
    并行接口   Intel 8255
    串行接口   Intel 8251
  2. 按功能选择的灵活性分类
    可编程接口     Intel 8255、 Intel 8251
    不可编程接口   Intel 8212
  3. 按通用性分类
    通用接口   Intel 8255、 Intel 8251
    专用接口   Intel 8279、 Intel 8275
  4. 按数据传送的控制方式分类
    中断接口    Intel 8259
    DMA 接口   Intel 8257

四、程序查询方式

4.1 程序查询流程
  1. 查询流程
    在这里插入图片描述
  2. 程序流程
    在这里插入图片描述
4.2 程序查询方式的接口电路

以输入为例
在这里插入图片描述

五、程序中断方式

5.1 中断的概念

在这里插入图片描述

5.2 I/O 中断的产生

以打印机为例 CPU与打印机部分并行工作
在这里插入图片描述

5.3 程序中断方式的接口电路
  1. 配置中断请求触发器和中断屏蔽触发器
    在这里插入图片描述
    注意:设备发出中断请求时,其本身必须准备就绪,即D=1
    中断源:把凡能向CPU提出中断请求的各种因素称为中断源
  2. 排队器
    排队 硬件方法  在CPU内设一统一排队器或在接口电路中(链式排队器)
         软件方法  详见第八章
    在这里插入图片描述
    设备1#、2#、3#、4# 优先级按 降序排列
    I N T R i = 1 {INTR_i}=1 INTRi=1 有请求 即 I N T R i ‾ = 0 \overline{INTR_i}=0 INTRi=0
  3. 中断向量地址形成部件
    入口地址   由软件产生   详见第八章
              硬件向量法   由硬件产生向量地址,再由向量地址找到入口地址
    在这里插入图片描述
  4. 程序中断方式接口电路的基本组成
    在这里插入图片描述
5.4 I/O 中断处理过程
  1. CPU响应中断的条件和时间
    (1)条件
    允许中断触发器 EINT = 1
    用开中断指令将 EINT 置“1”
    用关中断指令将 EINT 置“0”或硬件自动复位
    (2)时间
    当D=1(随机)且MASK=0 时
    在每条指令执行阶段的结束前
    CPU 发中断查询信号(将 INTR 置“1” )
  2. I/O中断处理过程
    以输入为例
    在这里插入图片描述
    中断处理过程简化为:中断请求、中断判优、中断响应、中断服务、中断返回
5.5 中断服务程序流程
  1. 中断服务程序的流程
    (1) 保护现场
    程序断点的保护  中断隐指令完成
    寄存器内容的保护  中断服务程序令完成 存储器保存或进栈指令
    (2) 中断服务  对不同的 I/O 设备具有不同内容的设备服务
    (3) 恢复现场  出栈指令
    (4) 中断返回  中断返回指令
  2. 单重中断和多重中断
    单重中断  不允许中断现行的中断服务程序
    多重中断  允许级别更高的中断源中断现行的中断服务程序
  3. 单重中断和多重中断的服务程序流程
    在这里插入图片描述
  4. 主程序和服务程序抢占CPU示意图
    在这里插入图片描述
    宏观上 CPU 和 I/O 并行工作
    微观上 CPU 中断现行程序为 I/O 服务

六、DMA方式

6.1 DMA方式的特点
  1. DMA程序中断两种方式的数据通路
    在这里插入图片描述
  2. DMA与主存交换数据的三种方式
    (1)停止CPU访问主存
         控制简单
         CPU 处于不工作状态或保持状态
         未充分发挥CPU对主存的利用率
    在这里插入图片描述
    (2)周期挪用(或周期窃取)
         CPU此时不访存
         CPU正在访存
         CPU与DMA 同时请求访存
         此时 CPU 将总线控制权让给 DMA
    在这里插入图片描述
    (3)DMA与CPU交替访问
         CPU工作周期 C1专供DMA 访存
                      C2专供CPU 访存
    在这里插入图片描述
    不需要申请建立和归还总线的使用权
6.2 DMA接口的功能和组成
  1. DMA接口功能
    (1)向CPU申请 DMA 传送
    (2)处理总线控制权的转交
    (3)管理系统总线、控制数据传送
    (4)确定数据传送的首地址和长度,修正传送过程中的数据地址和长度
    (5)DMA传送结束时,给出操作完成信号
  2. DMA接口组成
    在这里插入图片描述
    ①主存地址寄存器AR:存放主存中需要交换数据的地址,每次+1
    ②字计数器WC:记录传送数据的总字数,每次+1或-1直至计数器为0
    ③数据缓冲寄存器BR:暂存每次传送的数据
    ④DMA控制逻辑
    DREQ- DMA请求信号,HRQ-总线使用权请求信号
    HLDA-CPU响应信号,DACK- 授予一个DMA周期
    ⑤中断机构:与之前不同,这里为了报告一批数据传送结束
    ⑥设备地址寄存器DAR:存放I/O设备设备码或表示信息存储区的寻址信息
6.3 DMA的工作过程
  1. DMA传送过程
    预处理、数据传送、后处理
    (1) 预处理
    CPU通过几条输入输出指令预置如下信息
    ①通知DMA控制逻辑传送方向(入/出)
    ②设备地址→DMA的DAR
    ③主存地址→DMA的AR
    ④传送字数→DMA的WC
    (2) DMA传送过程示意
    在这里插入图片描述
    (3) 数据传送过程(输入)
    在这里插入图片描述
    (4) 数据传送过程(输出)
    在这里插入图片描述
    (5) 后处理
    校验送入主存的数是否正确
    是否继续用DMA
    测试传送过程是否正确,错则转诊断程序
    由中断服务程序完成

  2. DMA接口与系统的连接方式
    (1) 具有公共请求线的DMA请求
    在这里插入图片描述
    (2) 独立的DMA请求
    在这里插入图片描述

  3. DMA方式与程序中断方式的比较

-中断方式DMA方式
数据传送程序硬件
响应时间指令执行结束存取周期结束
处理异常情况不能
中断请求传送数据后处理
优先级
6.4 DMA接口的类型
  1. 选择型 在物理上连接多个设备
           在逻辑上只允许连接一个设备
    在这里插入图片描述
  2. 多路型 在物理上连接多个设备
            在逻辑上允许连接多个设备同时工作
  3. 多路型DMA接口的工作原理
    在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值