输入输出系统

计算机小白的爬坑之路 计算机小白的爬坑之路     2022-12-02     248

关键词:

输入输出系统

一、概述

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请求,速度越高的设备优先级越高。

计算机组成输入输出系统

输入输出系统概述组成:外设、接口、总线、管理软件基本功能完成计算机内外的信息传递保证CPU正确选择输出设备利用缓冲等,实现主机与外设的速度匹配特点:异步性、实时性、设备无关性输入过程:CPU把地址值放入总线--&... 查看详情

计算机组成原理基础知识-输入输出系统

四.输入输出系统--输入输出系统由I/O软件和I/O硬件两部分组成 --I/O设备  输入设备:完成输入程序、数据、命令等功能:键盘、鼠标、触摸屏、其他  输出设备:显示设备、打印设备  其他I/O设备:终端设备、A/D与D/A... 查看详情

对于输入输出系统的理解

目录键盘的输入如何被系统识别  键盘中断  接收队列终端的概念  多终端如何实现  TTY私有接收队列  控制字符的处理将TTY纳入文件系统  进程和TTY绑定  读写对象  字符设备文件  TASK_TTY键盘的输入如何... 查看详情

-输入输出系统

第六章输入输出系统6.1I/O系统的功能、模型和接口I/O系统管理的主要对象:I/O设备,设备控制器。I/O系统的主要任务:完成用户提出的I/O请求;提高I/O速率;提高设备的利用率;为更高层的进程方便地使用... 查看详情

i/o系统(输入/输出)

I/O系统1:流:   (1)判断到底是输入,还是输出;永远站在程序的立场上;   (2)判断传递的到底是字节还是字符,从而决定管道的粗细;      字节管道可以传递所有数据,字符管... 查看详情

信号与系统1.简单概念介绍

...:抓住主要矛盾,简化复杂的细节。 信号是什么?系统输入输出的物理量,例如电路输出的电压或电流都是信号。信号是人为定义的,是人最关心的东西。通常来讲这些物理量都是时间的函数,因此信号本质上也是一个函数。... 查看详情

重学计算机机组d8章:输入输出系统

1.输入输出系统概述组成:外设、接口、总线、管理软件基本功能完成计算机内外的信息传递保证CPU正确选择输出设备利用缓冲等,实现主机与外设的速度匹配特点:异步性、实时性、设备无关性输入过程:CPU把地址值放入总线-... 查看详情

如何将流程的输入/输出流复制到其系统对应物?

】如何将流程的输入/输出流复制到其系统对应物?【英文标题】:Howtocopyinput/outputstreamsoftheProcesstotheirSystemcounterparts?【发布时间】:2011-05-0919:42:17【问题描述】:这是对thisquestion的跟进。建议的答案是将进程输出、错误和输入... 查看详情

os-输入输出系统(代码片段)

第六章输入输出系统6.1I/O系统的功能,模型,和接口基本功能隐藏物理设备的细节与设备的无关性提高处理机和I/O设备的利用率对I/O设备进行控制确保对设备的正确共享错误处理层次结构I/O系统接口块设备接口块设备隐藏了磁盘... 查看详情

5-输入输出系统io

...讲解,非常棒,墙裂推荐;【1】IO概述【1.1】输入输出系统的发展概况  通道(通道是netty的io多路复用的底层原理,需要重点了解):可以看做是一个小型的功能更强的DMA控制器;能够 查看详情

操作系统——第五章输入输出(i/o)管理

  这就是SDT表和DCT表  查看详情

Perl 的反引号/系统给出“tcsetattr:输入/输出错误”

】Perl的反引号/系统给出“tcsetattr:输入/输出错误”【英文标题】:Perl\'sbackticks/systemgiving"tcsetattr:Input/outputerror"【发布时间】:2011-05-1320:27:03【问题描述】:我正在编写一个perl脚本,它使用ssh在几个不同的服务器上启动... 查看详情

(计算机组成原理)第七章输入和输出系统-第二节1:外部设备之输入和输出设备(键盘鼠标显示器和打印机)

文章目录一:输入设备(1)键盘(2)鼠标二:输出设备(1)显示器A:分类B:参数信息(2)打印机A:按印字原理不同分类B:按打印机工作方式不同分类C:按工作方式不同分类外部设备又称为外围设备,是除了主机以外的,能... 查看详情

文件输入输出的管理以及管道的使用

...个进程在默认的情况下都有三个标准的通道,分别为标准输入、标准输出和标准错误输出。标准输入的操作代码为0,标准输出的操作代码为1,标准错误输出的操作代码为2。在linux系统中用普通用户执行命令find/etc/?-namepasswd有两... 查看详情

系统架构设计方法-3-应用架构设计篇

应用架构设计工作内容 工作内容-1-确定应用域输入(架构资产部分)输出模板和示例工作内容-2-确定应用输入(架构资产部分) 输出模板和示例工作内容-3-确定应用模块输入(架构资产部分)输出模板... 查看详情

低级输入输出

低级输入输出标准I/O函数提供了丰富便捷的输入输出函数,但有时并不需要标准I/O函数提供的数据转换和缓冲处理,某些特殊操作需要UNIX的输入输出系统调用,这些系统调用习惯上成为低级I/O函数。(我觉得理解为底层I/O函数... 查看详情

管理输入输出管道tee

管理输入输出在linux系统中,正确输出的编号为1,错误输出编号为2在系统中用普通用户执行"student"find/etc-namepasswd因为student用户权限问题会有以下输出find:‘/etc/pki/CA/private’:Permissiondenied       ##没有进... 查看详情

存储中断总线及输入输出系统

存储系统的基本要求:大容量,快速度和低价格。訪问时间:存储器从接到訪存读申请。到信息被读到数据总线上所用的时间存储周期:连续启动一个存储体所需的时间间隔频宽:每秒传输的信息位数并行主存系统:能并行读取... 查看详情