输入/输出系统

Posted yimumengke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入/输出系统相关的知识,希望对你有一定的参考价值。

第七章 输入/输出系统

【复习提示】

I/O方式是本章的重点和难点,每年不仅会以选择题的形式考查基本概念和原理,而且可能会以综合题的形式考査,特别是各种IO方式效率的相关计算,中断方式的各种原理、特点、处理过程、中断屏蔽,DMA方式的特点、传输过程、与中断方式的区别等。

在学习本章时,请读者思考以下问题

  • 1)IO设备有哪些编址方式?各有何特点?
  • 2)CPU响应中断应具备哪些条件?

请读者在学习本章的过程中寻找答案,本章末尾会给出参考答案。

【复习提示】
I/O方式是本章的重点和难点,每年不仅会以选择题的形式考査基本概念和原理,而且可能会以综合题的形式考査,特别是各种IO方式效率的相关计算,中断方式的各种原理、特点、处理过程、中断屏蔽,DMA方式的特点、传输过程、与中断方式的区别等。
在学习本章时,请读者思考以下问题:

  • 1)I/O设备有哪些编址方式?各有何特点?
  • 2)CPU响应中断应具备哪些条件?

请读者在学习本章的过程中寻找答案,本章末尾会给出参考答案。

7.1 I/O系统基本概念

7.1.1 输入/输出系统

输入、输出是以主机为中心谈论的!输入、输出设备都属于外部设备


7.1.2 I/O控制方式


7.1.4 解析

  1. I/O设备不可能直接与主板总线相连,它总是通过设备控制器来相连的
  2. I/O指令是指令系统的一部分,是机器指令的一类,但其为了反映与I/O设备交互的特点,格式和其他通用指令相比有所不同。
  3. 通道程序存放在主存而非通道中,由通道从主存中取出并执行。通道程序由通道执行,且只能在具有通道的I/O系统中执行

7.2 外部设备

  • 外部设备
    外部设备也称外围设备,是除了主机以外的、能直接或间接与计算机交换信息的装置。

7.2.1 输入设备

用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。

7.2.2 输出设备

用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备。





打印机从打字原理的角度可以分为:击打式和非击打式!


7.2.3 外存设备

是指除计算机内存及CPU缓存等以外的存储器。硬磁盘、光盘等是最基本的外存设备。






串行:不能同时写和读!


3.光盘存储器

4.固态硬盘


7.2.5 解析

  • 存取一个扇区的平均延迟时间为旋转半周的时间。
  • 磁盘存储器的最小读写单位为一个扇区,即磁盘按块存取。

7.3 I/O接口








7.4 I/O方式




















7.4.2 程序中断方式





7.4.3 DMA方式













7.5 本章开头提出的问题回答

1)I/O设备有哪些编址方式?各有何特点?

1)I/O设备有哪些编址方式?各有何特点?

统一编址和独立编址。统一编址是在主存地址中划出一定的范围作为I/O地址,以便通过访存指令即可实现对I/O的访问,但主存的容量相应减少。独立编址是指IO地址和主存是分开的,I/O地址不占主存空间,但访存需专门的I/O指令。

2)CPU响应中断应具备哪些条件?

  • 2)CPU响应中断应具备哪些条件?

    ①在CPU内部设置的中断屏蔽触发器必须是开放的
    ②外设有中断请求时,中断请求触发器必须处于“1”状态,保持中断请求信号。
    ③外设(接ロ)中断允许触发器必须为“1”,这样才能把外设中断请求送至CPU。
    具备上述三个条件时,CPU在现行指令结束的最后一个状态周期响应中断。

7.6 常见问题

1.中断响应优先级和中断处理优先级分别指什么?

  • 1.中断响应优先级和中断处理优先级分别指什么?

    中断响应优先级是由硬件排队线路或中断查询程序的查询顺序决定的,不可动态改变;而中断处理优先级可以由中断屏蔽字来改变,反映的是正在处理的中断是否比新发生的中断的处理优先级低(屏蔽位为“0”,对新中断开放),若是,则中止正在处理的中断,转到新中断去处理,
    处理完后再回到刚才被中止的中断继续处理。

2.向量中断、中断向量、向量地址三个概念是什么关系?

  • 2.向量中断、中断向量、向量地址三个概念是什么关系?

    中断向量:每个中断源都有对应的处理程序,这个处理程序称为中断服务程序,其入口地址称为中断向量。所有中断的中断服务程序入口地址构成一个表,称为中断向量表;也有的机器把中断服务程序入口的跳转指令构成一张表,称为中断向量跳转表。
    向量地址:中断向量表或中断向量跳转表中每个表项所在的内存地址或表项的索引值,称为向量地址或中断类型号。
    向量中断:指一种识别中断源的技术或方式。识别中断源的目的是找到中断源对应的中断服务程序的入口地址的地址,即获得向量地址。

3.程序中断和调用子程序有何区别?

  • 3.程序中断和调用子程序有何区别?

    两者的根本区别主要表现在服务时间和服务对象上不一样。
    1)调用子程序过程发生的时间是已知的和固定的,即在主程序中的调用指令(CALL)执行时发生主程序调用子程序过程,调用指令所在位置是已知的和固定的。而中断过程发生的时间一般是随机的,CPU在执行某个主程序时收到中断源提出的中断申请,就发生中断过程,而中断申请一般由硬件电路产生,申请提出时间是随机的。也可以说,调用子程序是程序设计者事先安排的,而执行中断服务程序是由系统工作环境随机决定的
    2)子程序完全为主程序服务,两者属于主从关系。主程序需要子程序时就去调用子程序,并把调用结果带回主程序继续执行。而中断服务程序与主程序二者一般是无关的,不存在谁为谁服务的问题,两者是平行关系。
    3)主程序调用子程序的过程完全属于软件处理过程,不需要专门的硬件电路;而中断处理系统是一个软/硬件结合的系统,需要专门的硬件电路才能完成中断处理的过程
    4)子程序嵌套可实现若干级,嵌套的最多级数受计算机内存开辟的堆栈大小限制;而中断嵌套级数主要由中断优先级来决定,一般优先级数不会很大。
    从宏观上看,虽然程序中断方式克服了程序査询方式中的CPU“踏步”现象,实现了CPU与I/O并行工作,提高了CPU的资源利用率,但从微观操作分析,CPU在处理中断服务程序时,仍需暂停原程序的正常运行,尤其是当高速I/O设备或辅助存储器频繁地、成批地与主存交换信息时,需要不断打断CPU执行现行程序,而执行中断服务程序。

4.IO指令和通道指令有何区别?

  • 4.IO指令和通道指令有何区别?

    I/O指令是CPU指令系统的一部分,是CPU用来控制输入/输出操作的指令,由CPU译码后执行。在具有通道结构的机器中,I/O指令不实现I/O数据传送,主要完成启、停I/O设备,査询通道和I/O设备的状态,及控制通道进行其他一些操作等。
    通道指令是通道本身的指令,用来执行I/O操作,如读、写、磁带走带及磁盘找道等操作。

输入输出系统

输入输出系统

一、概述

1、输入输出系统的组成

(1) I/O 软件
  1. I/O 指令:CPU 指令的一部分。

    操作码: I/O 指令标志。
    命令码:指出对I/O 设备做什么操作。
    设备码:给出 I/O 设备地址或 I/O 设备中某一寄存器的地址。

  2. 通道指令:实现I/O设备和主机直接信息传送,通道自身的指令。
    指出数组的首地址、传送字数、操作命令。

(2) I/O 硬件

设备、I/O 接口:设备通过接口,连接在总线上,和主机完成信息交换。
通道方式:设备——设备控制器——子通道——通道

2、I/O 设备与主机的联系方式

(1) I/O 设备编址方式
  1. 统一编址:取部分内存地址作为 I/O 设备地址,用取数、存数指令对 I/O 设备进行控制,不需要专门的 I/O 指令。
  2. 不统一编址:在内存地址外,设置一个专门的地址空间对 I/O 设备进行编址,输入输出有专门的 I/O 指令。
(2) 设备选址

设备选择电路识别是否被选中。

(3) 传送方式
  1. 串行
  2. 并行
(4) 联络方式
  1. 立即响应
  2. 异步工作,采用应答信号方式,分并行,串行两种

  3. 同步工作,采用同步时标
(5) I/O 设备与主机的连接方式

辐射式连接:每台设备都配有一套控制线路和一组信号线,不便于增删设备。

总线连接:外部设备通过接口和主机进行连接,接口能够向外部设备传送主机的控制命令,可以向主机传送设备的状态信息。便于增删设备。

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

(1) 程序查询方式

内存——CPU——外设
CPU和外设采用串行方式进行工作。CPU效率低。

(2) 程序中断方式

内存——CPU——外设
CPU实现和 I/O设备部分并行工作,I/O设备 进行数据准备时,CPU还可以执行自己的程序。

程序中断方式流程

(3) DMA 方式:周期挪用(周期窃取)

内存——DMA控制器——外设
由 DMA 控制器/接口,获取CPU的总线控制权,在一个存取周期中,直接控制外部设备和内存之间进行数据交换。不中断CPU的现行程序,但是在数据交换过程中,CPU不能使用系统总线,不能对内存进行访问。

(4) 三种方式的 CPU 工作效率比较


二、外部设备

1、概述


外部设备大致分三类

  1. 人机交互设备:键盘、鼠标、打印机、显示器
  2. 计算机信息存储设备:磁盘、光盘、磁带
  3. 机——机通信设备:调制解调器等

2、输入设备

  1. 键盘:判断哪个键按下,将此键翻译成 ASCII 码 (编码键盘法)
  2. 鼠标:
    机械式 金属球 电位器
    光电式 光电转换器
  3. 触摸屏

3、输出设备

  1. 显示器
    (1) 字符显示:字符发生器
    (2) 图形显示:主观图像
    (3) 图像显示:客观图像

  2. 打印机
    (1) 击打式
    (2) 非击打式
    点阵式(逐字、逐行)
    激光(逐页)喷墨(逐字)

4、其他

  1. A/D、D/A:模拟/数字(数字/模拟)转换器;
  2. 终端:由键盘和显示器组成,完成显示控制与存储、键盘管理及通信控制;
  3. 汉字处理:汉字输入、汉字存储、汉字输出;

5、多媒体设备

三、I/O接口

1、概述

接口的功能:

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

2、接口的功能和组成

(1) 总线连接方式的 I/O 接口电路

(2) 接口的功能和组成

(3) I/O 接口的基本组成

3、接口类型

  1. 按数据传送方式分类:并行接口;串行接口
  2. 按功能选择的灵活性分类:可编程接口;不可编程接口
  3. 通用性分类:通用接口;专用接口
  4. 数据传送的控制方式分类:中断接口;DMA 接口

四、程序查询方式

1、程序查询流程

(1) 单个设备

(2) 多个设备

(3)程序流程

2、程序查询方式的接口电路

  1. 首先是设备选择电路,由他来判断设备是否是参加这次传输的设备。
  2. CPU通过地址线给出外部设备的地址,设备选择电路把自己的设备地址或者是端口号和地址线上的地址相比较,若相同,说明这次启动就是连接在这个接口电路上的设备,SEL信号有效。
  3. 启动命令和SEL都有效的情况下,对两个状态进行复位。标记D为0,表示数据还没有准备好,标记B为1,表示设备开始工作。
  4. 准备好的数据保存在DBR中。
  5. 送入设备工作结束信号。此时,D标记为1,B标记为0.。
  6. 准备就绪信号被送出。

五、程序中断方式

1、中断的概念

中断指的是CPU在执行程序的时候出现了某些异常突发情况,需要紧急处理,CPU必须暂停当前的任务去处理紧急突发事件,处理完之后又返回原程序被打断的地方去继续执行。

2、I/O中断的产生

3、程序中断方式的接口电路

(1) 配置中断请求触发器和中断屏蔽触发器

(2) 排队器

(3) 中断向量地址形成部件

由 硬件 产生 向量地址,再由 向量地址 找到 入口地址。

(4) 程序中断方式接口电路的基本组成

4、I/O 中断处理过程

(1) CPU 响应中断的条件和时间

条件
允许中断触发器 EINT = 1

  1. 用 开中断 指令将 EINT 置 “1”
  2. 用 关中断 指令将 EINT 置“ 0” 或硬件 自动复位
    响应中断时间
    当 D = 1(随机)且 MASK = 0 时
    在每条指令执行阶段的结束前,CPU查询是否有中断请求,进行中断响应。CPU 发 中断查询信号,通过查询信号,把每一个接口中有中断请求的接口中中断触发器 INTR 置“1”。
(2) I/O 中断处理过程

  1. 首先是设备选择电路,由他来判断设备是否是参加这次传输的设备。
  2. CPU通过地址线给出外部设备的地址,设备选择电路把自己的设备地址或者是端口号和地址线上的地址相比较,若相同,说明这次启动就是连接在这个接口电路上的设备,SEL信号有效。
  3. 启动命令和SEL都有效的情况下,对两个状态进行复位。标记D为0,表示数据还没有准备好,标记B为1,表示设备开始工作。
  4. 准备好的数据保存在DBR中。
  5. 送入设备工作结束信号。此时,D标记为1,B标记为0.。
  6. 如果接口提出的中断请求没有被屏蔽,则MASK输出为1。D触发器输出为1,经过与非门、非门,将值送给INTR中,CPU在执行一条指令,执行阶段结束以后,发出中断查询信号,将接口中中断请求触发器置为“1”,同时启动排队器进行排队,经过排队器排队,排队器输出信号只有一个为1,其他均为0。CPU发出中断响应信号,形成向量地址,地址经过数据线传给CPU,传给PC,CPU利用地址取出中断服务程序的入口地址,完成中断服务程序。

5、中断服务程序流程

(1) 中断服务程序的流程
  1. 保护现场
    程序断点的保护:中断隐指令完成
    寄存器内容的保护:进栈指令
  2. 中断服务
    对不同的 I/O 设备具有不同内容的设备服务
  3. 恢复现场:出栈指令
  4. 中断返回:中断返回指令
(2) 单重中断和多重中断

单重中断:允许中断现行的中断服务程序;
多重中断:允许级别更高的中断源中断现行的中断服务程序,也称为中断嵌套。

(3) 单重中断和多重中断的服务程序流程

(4) 主程序和服务程序抢占 CPU 示意图


宏观 上 CPU 和 I/O 并行 工作
微观 上 CPU 中断现行程序 为 I/O 服务

六、DMA方式

1、DMA 方式的特点

(1) DMA 和程序中断两种方式的数据通路

DMA不需要CPU作为媒介进行数据传输。

(2) DMA 与主存交换数据的三种方式
  1. 停止 CPU 访问主存

    控制简单,CPU 处于不工作状态或保持状态,未充分发挥 CPU 对主存的利用率。

  2. 周期挪用(或周期窃取)
    周期挪用是指利用CPU不访问 存储器的那些周期来实现DMA操作,此时DMA可以使用总线而不用通知CPU也不会妨碍CPU的工作。周期挪用并不减慢CPU的操作,但可能需要复杂的时序电路,而且 数据传送过程是不连续的和不规则的。

DMA 访问主存有三种可能:
• CPU 此时不访存,存储器和总线的使用权分配给DMA。
• CPU 正在访存,DMA等待。
• CPU 与 DMA 同时请求访存,DMA优先,CPU 将总线控制权让给 DMA。

  1. DMA 与 CPU 交替访问
    不需要 申请建立和归还 总线的使用权

CPU 工作周期:
C1 专供 DMA 访存
C2 专供 CPU 访存

2、DMA 接口的功能和组成

(1) DMA 接口功能
  1. 向 CPU 申请 DMA 传送;
  2. 处理总线 控制权的转交;
  3. 管理 系统总线、控制 数据传送;
  4. 确定 数据传送的 首地址和长度,修正 传送过程中的数据 地址 和 长度;
  5. DMA 传送结束时,给出操作完成信号;
(2) DMA 接口组成

AR:主存地址寄存器
WC:字计数器
BR:数据缓冲寄存器
DAR:设备地址寄存器

3、DMA 的工作过程

(1) DMA 传送过程
  1. 预处理
    通过几条输入输出指令预置如下信息
    • 通知 DMA 控制逻辑传送方向(入/出)
    • 设备地址 DMA 的 DAR
    • 主存地址 DMA 的 AR
    • 传送字数 DMA 的 WC

  2. 数据传送

数据传送过程(输入):
1、数据从外部设备缓存到BR中,通知DMA接口,数据已准备好,设备通过DREQ信号通知DMA控制逻辑,然后通过总线向CPU和总线提出控制请求,CPU在允许的情况下给出应答,CPU放弃对主存和总线的占用。
2、AR寄存器通过地址线给出内存单元地址,使系统总线上地址有效。然后,DMA控制器给设备一个应答信号DACK,通知设备可以进行传输。
3、DMA发出对内存的对写控制指令,同时BR将数据通过数据线送到总线上,每传输一个数据,AR+1,WC+1。
4、然后判断是否传输完,没有则继续;若传输完成,WC值发生溢出,溢出信号送入中断机构,使中断机构中的中断触发器置 1,参加中断排队。

图示为数据输出;
5. 后处理
校验送入主存的数是否正确
是否继续用 DMA
测试传送过程是否正确,错则转诊断程序
由中断服务程序完成

(2) DMA 接口与系统的连接方式
  1. 具有公共请求线的 DMA 请求
  2. 独立的 DMA 请求
(3) DMA 方式与程序中断方式的比较

4、DMA 接口的类型

(1) 选择型

在 物理上 连接 多个 设备,在 逻辑上 只允许连接 一个 设备。

(2) 多路型

在 物理上 连接 多个 设备,在 逻辑上 允许连接 多个 设备同时工作,但在传输时只允许一个设备进行传输。

(3) 多路型 DMA 接口的工作原理

同时发出DMA请求,速度越高的设备优先级越高。

以上是关于输入/输出系统的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理 输入/输出系统

-输入输出系统

08-输入输出系统

输入输出系统

输入输出系统

“品品Linux中的输入输出”