第七章输入输出系统[一]汇总
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据线 状态线
CPU
命令线 地址线
控 制 逻 辑 电 路
I/O接口 数据端口 状态端口 控制端口 设备识别
数据线 状态信息
I/O
命令
设备
图7.1 接口与主机、外设间连接示意图
• 数据线:I/O设备与主机之间数据的传输线;
• 地址线:用来传送设备号,多台I/O设备各自有其设 备号(地址);
数据线 状态线
一、程序中断方式的基本思路 • 依赖中断系统—— • 计算机系统中引入中断功能后,各部件并行工作 成为可能,其中包括CPU与外设并行及外设与外设 并行. • CPU变主动查询为被动响应—— • 在外设准备的时间里,CPU执行现行程序; • 直到外设准备好,发出中断请求; • CPU响应后中断现行程序转而执行与外设交换数 据的中断服务程序; • 之后再回到原来程序运行. 中断方式原理示意如图7.4所示:
数据线 状态线
CPU
命令线 地址线
控 制 逻 辑 电 路
I/O接口 数据端口 状态端口 控制端口 设备识别
数据线 状态信息
I/O
命令
设备
图7.1 接口与主机、外设间连接示意图
7.1.2 I/O接口的基本功能 I/O接口处于系统总线与外设之间,主要功能包括: 1、数据的格式转换
接口电路中必须具有实现各类数据相互转换的功能.例如, 并-串转换、串-并转换、模-数转换 、数-模转换及二进 制数和ASCII码的相互转换等. 数据线 状态线
7.3
程序中断方式
中断:在接到随机请求后,CPU暂停 执行原来的程序,转去执行更加紧迫事 件的中断服务程序,待处理完毕后CPU 恢复原程序的继续执行,这个过程称为 中断. 中断系统:在计算机内部自动处理 中断的系统称为中断系统,含软件和硬 件两个方面. 中断技术:实现此功能所需的软硬件 技术.
7.3.1 中断的基本概念
例:I/O的编址方式采用统一编址时,存储单元 和I/O设备是靠( ). A. 不同的地址线 B.不同的地址码 C. 不同的控制线 例: I/O采用统一编址时,进行输入输出操作的 指令是( ). A. 控制指令 B.访存指令 C. 输入输出指令 例: I/O采用不统一编址时, 进行输入输出操作 的指令是( ). A. 控制指令 B.访存指令 C. 输入输出指令
图7.1 接口与主机、外设间连接示意图
③端口主要分为三类:
状态端口:存放状态信息的寄存器,CPU对其内容只能读,如 80X86中用输入指令(IN AL,状态口地址)将外设状态标志送到CPU; 控制端口:存放控制命令的寄存器,CPU只能对其写,如80X86中 用输出指令(OUT 状态口地址,AL)将CPU的各种控制命令发送外设; 数据端口:存放数据信息的寄存器.
CPU
命令线 地址线
控 制 逻 辑 电 路
I/O接口 数据端口 状态端口 控制端口 设备识别
数据线 状态信息
I/O
命令
设备
图7.1 接口与主机、外设间连接示意图
2.寻址
CPU欲访问的设备号通过地址线送至所有设备的接 口,每个接口均具有选址功能,只有当地址线上的设备 号与本接口的设备号一致时,相应的设备才能通过命 令线、状态线和 数据线与主机交换信息. 数据线 状态线
占用CPU的时间比率为 10000 × 1024/107=102.4% 结论—— 即使CPU将全部时间用于对硬盘查询也 不能满足硬盘传输的要求,即程序查询方 式只适合与低速外设.
第七章 输入 输出系统
7.1 输入输出系统概述 7.2 程序查询方式 7.3 程序中断方式 7.4 DMA方式
图7.3 单个I/O设备的查询流程
主程序
需要I/O时 检查状态标记 就绪否 是 交换数据 继续运行
体会“程序直接控制”和 “程序查询方式”的名称 由来。
否
特点:
(1)简单; (2) I/O时间预知性; (3)不能发现和处理预先无法 估计的错误和异常情况; 图7.3 单个I/O设备的查询流程 (4) 数据输入输出要经过CPU控制,CPU与设备、 设备与设备均不能实现并行工作; (5) 用于连接低速外设.
⑤ 输入设备将数据送至 数据端口; ⑥ 由设备发设备工作结束信号,置D为“1”;B为 “0”,表示外设准备就绪; ⑦ D触发器以“准备就绪”状态通知CPU,表 示“数据缓冲满”; ⑧ CPU执行输入指令,将数据端口中的数据送 至CPU的通用寄存器,再存入主存单元.
例:在程序查询的I/O系统中,有三个不同的外设. 假定一个查询操作需要50个时钟周期,CPU的 时钟频率为10MHz.求CPU在以下三种情况下 为I/O查询所花费的时间比率(百分比),假定必 须进行足够的查询以免丢失数据并假定不考 虑各设备的相互等待即分别计算. (1)对终端每秒进行30次查询. 解: 每秒花在终端查询上的时钟周期数为 30 ×50=1500; 根据CPU的时钟频率为10MHz,即每秒 10×106个时钟周期,占用CPU时间比率为 1500/10M=0.015%
主程序
(需要I/O时) 启动外设
理解中断时应注意以下几个问题:(1)中 断过程实质上是一种程序切换过程,必 须处理好保存旧现场、建立新现场的 问题;(2)中断具有随机性,故必须及时 检测中断请求信号,以便能够及时处理 中断;(3)中断不具备重复性;(4) 程序中 断与调用子程序的异同.
优点:访存指令都能访问I/O端口,故不设置专门的 输入输出指令;由于访问存储单元的指令有较多的寻址 方式,所以I/O程序编制灵活。 缺点:需占用小部分存储器空间;机器语言或汇编 源程序中的I/O部分难以阅读及修改。 存储器统一编址方式示意图见下图:
I/O端口
存储器
图7.2 存储器映射的I/O设备编址方式 2、I/O端口单独编址方式(Isolated I/O Address Coding) 存储单元与I/O接口寄存器的地址分别编址,各自有自 己的译码部件,设计专门的I/O指令去访问端口。 优点:不占用存储空间;I/O指令与存储器指令有明显 区别,程序结构清晰,便于理解。 缺点:需专门的I/O指令,其寻址方式较简单,指令功 能较弱,编程灵活性稍差;CPU需要提供存储器读/写、 I/O设备读/写两套控制信号,增加了控制的复杂性。
第七章 输入 输出系统
7.1 输入输出系统概述 7.2 程序查询方式 7.3 程序中断方式 7.4 DMA方式
7.2.1程序查询方式(程序直接控制方式 (Program Direct Control,PDC) )流程
由CPU执行一段输入输出程序来控制实 现主机与外设之间的数据传送.一旦某外设被 选中并启动之后,主机将查询这个外设的某些 状态位,看其是否准备就绪?若外设未准备就 绪,主机将再次查询;若准备就绪,则执行一次 I/O操作. 单个设备的 查询流程见下图.
7.2.2 程序查询方式的接口电路
⑧ 准备就绪 ⑦
启动命令 ③ 数据线
数据端口 °D &° ②
Q
⑤
B
输入数据
° °
●
Q
°
④
启动设备
⑥
①
地址线
设备选择电路
图7.4 程序查Leabharlann Baidu方式接口 电路(输入)的基本组成
设备工作 结束
当地址线上的设备号与本设备号相符时,SEL有 效,可以接收命令;数据端口用于存放 欲传送的 数据;D是完成触发器,B是 工作触发器. 以输入设备 为例,接口工作如下: ① CPU通过I/O指令启动输入设备时,指令的设 备码字段通过地址线 送至 设备 选择电路; ② 若该接口地址码与地址线上的地址码吻合, 其输出SEL有效; ③ I/O指令的启动命令经过“与非”门将B置 “1”,将D置“0”; ④ 由B触发器启动设备 工作;
数据线 状态信息 命令
I/O 设备
命令线
地址线
图7.1 接口与主机、外设间连接示意图
7.1.3 I/O端口的编址方式
1、存储器统一编址方式(存储器映射方式Memorymapping Address Coding)
将I/O端口看成是存储空间的一个组成部分,按照存
储单元的编址方法统一编排地址号,每个I/O端口占用一 个地址。划给外设的这部分区域不能配置存储器芯片。
7.1.4 CPU与外设之间数据传送控制方式
I/O系统主要是解决主机与外设间的数据交 换问题 , 使外设与主机能协调一致地工作 . 为减 少处理机对外设的控制干预,在计算机发展过程 中人们先后采用了以下方法: 1、由程序控制的数据传送 程序查询方式 程序中断方式 2、由专有硬件控制的数据传送 DMA方式 通道方式 外围处理机方式
图7.1 接口与主机、外设间连接示意图
• I/O接口与端口的定义
① 接口(Interface):主机和外设之间实现信息交换的控 制电路.
②端口(Port):接口电路中可以被CPU直接访问的寄存器; 若干个端口加上相应的控制逻辑电路才组成接口. I/O接口 数据线 数据线 数据端口 控 制 状态线 状态信息 I/O CPU 逻 状态端口 辑 设备 命令线 命令 电 路 控制端口 地址线 设备识别
结论—— 终端查询基本不影响CPU性能. (2)CPU向打印机的数据传输按字节进行, 即每1个字节被CPU查询一次,数据传输 率为10KB/s. 解: 每秒查询次数为10KB/1B=10K次; 查询所需时钟数为 10K × 50=500K
占用CPU的时间比率为 500K/10M=500 × 1024/107=5.12% 结论—— 打印机的查询开销大于终端,尚可承受. (3)硬盘传输数据以字节为单位,即每1个字 节被CPU查询一次传输率为200KB/s. 解: 每秒查询次数为200K; 查询所用时钟周期数为 200K × 50=10000K次
数据线 状态信息 命令
I/O 设备
命令线
地址线
图7.1 接口与主机、外设间连接示意图
5. 反映设备工作状态 接口设置一些反映设备工作状态的触发器,以 便能随时采集并保存设备的工作状态(如 “忙”、“就绪”、”、“错误”、“中断 请求”等),以备主机查询.
数据线 状态线
CPU
I/O接口 数据端口 控 制 逻 辑 电 路 状态端口 控制端口 设备识别
CPU
I/O接口 数据端口 控 制 逻 辑 电 路 状态端口 控制端口 设备识别
数据线 状态信息 命令
I/O 设备
命令线
地址线
图7.1 接口与主机、外设间连接示意图
3.传送主机指令 只有被选中设备接口中的“控制端口”才能接 受和识别主机传送来的命令,并将命令传送到 设备.
数据线 状态线
CPU
I/O接口 数据端口 控 制 逻 辑 电 路 状态端口 控制端口 设备识别
数据线 状态信息 命令
I/O 设备
命令线
地址线
图7.1 接口与主机、外设间连接示意图
4.传送数据及缓冲 (1) 接口中必须有数据通路,完成数据传送; (2) 接口应具有对数据信息传送速度的缓冲作 用,即能将数据暂存在“数据端口”中,以实现 速度上的匹配.
数据线 状态线
CPU
I/O接口 数据端口 控 制 逻 辑 电 路 状态端口 控制端口 设备识别
为正确完成这种查询,通常执行 如下3条指令: 主程序
需要I/O时 检查状态标记
(1)测试指令:用来查询I/O设 备是否准备就绪;
(2)传送指令:当I/O设备已经 准备就绪时,执行传送指令;
就绪否 是 交换数据 继续运行
否
(3)转移指令:当I/O设备未准 备就绪时,执行转移指令,继续测 试I/O设备的状态.
第七章 输入 输出系统
7.1 输入输出系统概述 7.2 程序查询方式 7.3 程序中断方式 7.4 DMA方式
7.1 I/O系统概述
7.1.1 I/O系统组成 输入输出(I/O)系统是计算机系统中实现主机与外界交换 数据的软、硬件系统. 它包括输入输出设备、输入输出接 口(接口控制器)及相关控制软件,其中I/O接口是用来连接 主机与I/O设备的,三者的关系如下: I/O接口 数据线 数据线 数据端口 控 制 状态线 状态信息 I/O CPU 逻 状态端口 辑 设备 命令线 命令 电 路 控制端口 地址线 设备识别
CPU
命令线 地址线
控 制 逻 辑 电 路
I/O接口 数据端口 状态端口 控制端口 设备识别
数据线 状态信息
I/O
命令
设备
图7.1 接口与主机、外设间连接示意图
• 命令线: 传输CPU向设备发出的各种命令信号(如
启动、清除、读、写等);
• 状态线:将I/O设备的状态向主机报告的信号线(如
设备是否准备就绪,是否向CPU发出中断请求等) .