计算机组成原理输入输出系统_第1页
计算机组成原理输入输出系统_第2页
计算机组成原理输入输出系统_第3页
计算机组成原理输入输出系统_第4页
计算机组成原理输入输出系统_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理第0011章 输入输出(I/O)系统2014 Fall 输入输出系统概述 I/O系统输入输出系统包括主机以外的外部设备(输入输出设备和辅存),以及这些设备与主机间的控制部件(控制器)。I/O系统I/O设备2I/O设备kI/O设备1控制器控制器控制器CPURAM主机I/O系统I/O系统的控制器 也称为设备适配器 作用:控制并实现主机与外部设备间的数据传送 实现数据缓冲 提供设备接口的状态 接收主机指令来控制设备I/O系统的演进:分散连接(第1阶段)CPU主存I/O设备 I/O设备与主存交换信息必须经过CPU 每个I/O设备具有独立的电路与CPU相连 I/O过程穿插在CPU工作过程

2、很难添加、更换I/O设备I/O系统的演进:接口模块和DMA(第2阶段)CPUI/O设备1I/O设备2接口接口I/O设备k接口主存总线结构DMA方式(直接存储器访问)I/O 设备与 CPU 之间具有了一定的并行性I/O系统的演进:通道结构(第3阶段)CPU主存I/O设备通道通道用来负责管理I/O设备以及实现主存与I/O设备之间的信息交换,可以被看做是一种具有特殊功能的处理器。CPU不直接参与I/O设备与主机的信息交换。通道有专用的通道指令,但不是一个完全独立的处理器,它必须依靠CPU的I/O指令进行启动、停止和改变工作状态。pDMA接口成本pDMA 挪用 CPU 的周期p多个DMA设备同时访问

3、RAM,依然需要CPU 来控制I/O系统的演进:I/O处理机(第4阶段) I/O 处理机又称为外围处理机 独立于主机工作(这一点上有别于通道) 可以实现 I/O 通道的功能 可以完成格式处理、数据块检错等操作I/O 设备与 CPU 之间具有高度的并行性I/O 系统的组成I/O 软件软件(1) I/O 指令(2) 通道指令CPU 指令的一部分通道自身用来执行I/O操作的指令I/O 硬件硬件设备+ I/O 接口模块设备+ 设备控制器+ 通道操作码命令码设备码在主机与I/O设备间传送数据;进行I/O设备的状态测试;形成具体的操作命令,比如,读扇区、写扇区、找磁道等硬盘的I/O操作I/O 指令是 CP

4、U 机器指令的一部分反映 CPU 与 I/O 设备交换信息的特点操作码:用来区分其他指令(访存、算逻、控制指令)命令码:体现 I/O 设备的具体操作设备码:I/O 设备的选择码(地址)操作码命令码设备码通道指令 对具有通道的I/O系统设置的 用来指明:参与传输的数据在主存的首地址、末地址 指令位数较长(IBM370, 64bit),不属于 CPU 指令集 存放在主存中,由通道从主存中取出并执行 一旦 CPU 启动了 I/O 设备,由通道实现对 I/O 设备的管理I/O 设备与主机的联络方式涉及的问题: I/O设备是谁?即,如何对 I/O 设备进行编址? 信息传输是串行还是并行(不同的接口电路)

5、? I/O 设备以何种方式与 CPU 联系来交换各自的状态? . .I/O 设备编址方式 统一编址统一编址 给I/O设备分配的地址占用了主存的地址空间 但 CPU 不需要额外的 I/O 指令 非统一编址非统一编址 不占用主存空间 CPU 需要使用专用的 I/O 指令(增加了复杂性)016RAM此时,0 -16 这些地址编号对应的存储空间不能用来存储用户的程序或者数据在主机眼里,I/O 设备就是一个地址,对I/O设备的访问就是对其地址的访问主机与 I/O 设备的联络方式: 了解彼此的状态 立即响应 当与CPU联系时,已处于等待状态 CPU 指令一到,立即响应,而无需特定的联络信号 适用于慢速 I

6、/O 设备 异步应答信号联络 同步时标联络 I/O 与 CPU完全同步传输数据,需要专用电路(比如,串口通信)“Ready”“Strobe”I/O 接 口I/O 设 备CPU“中间人”主机与 I/O 设备的连接方式强调物理上的连接 辐射式连接 每台I/O设备都配有一套控制线路 不便于增删设备 总线连接 只需一组总线 现代计算机采用的方式 外设 1 外设 2 外设 3主机I/O 设备与主机信息传输的控制方式 控制方式: 程序查询 程序中断 直接存储器访问(DMA) I/O通道方式 I/O处理机方式计算机体系结构的研究范畴I/O 设备与主机的传输控制:程序查询方式从I/O接口中读 一个字到CPU或

7、从CPU向主存 写入一个字CPU向I/O发 读指令CPU读I/O状态检查状态 完成否未准备就绪是出错已准备就绪否1. CPU启动I/O设备2. CPU不断查询I/O设备是否准备3. 逐字传输(RAMI/O)4. CPU 与I/O 串行工作,效率低I/O 设备与主机的传输控制:程序中断方式CPU 向 I/O 发读指令CPU 读 I/O 状态检查状态完成否?CPU 做其他事情I/O 设备工作准备就绪CPU I/O从 CPU 向主存写入一个字CPU 主存从 I/O 接口中读一个字到CPUI/O CPU中断请求I/O CPU出错是否未错I/O 设备与主机的传输控制:程序中断 CPU 启动 I/O 设备

8、,然后继续执行原有程序 当 I/O 设备就绪后,向 CPU 发送中断请求 CPU 暂停当前程序,响应该中断请求 CPU 中转 I/O 与主存间的数据传输 传输任务结束后,CPU 回到原程序 CPU 与 I/O 部分时间内并行工作,效率有所提升CPU 不再反复查看I/O设备的状态,看其是否准备好,这个与程序查询方式不同。主存与I/O设备间的数据传输,依然需要CPU参与,这个与程序查询方式相同。I/O 设备与主机的传输控制:DMA DMA: 直接存储器访问方式(Direct Memory Access) 在 I/O 设备与主存交换信息时,不需要 CPU 干预 在 DMA 方式中,主存与 I/O 设

9、备之间有一条数据通路 如CPU与DMA同时访存,CPU总是将总线占有权让给DMA能否 I/O 设备直接与主存进行数据交换?I/O 设备与主机的传输控制:DMA存取周期结束CPU 执行现行程序CPU 继续执行现行程序DMA请求启动I/OI/O准备I/O准备一个存取周期一个存取周期1. 当需要I/O设备传送一批数据时,由 DMA 接口向 CPU 发一个信号,2. CPU收到该信号,放弃总线(地址、数据、控制总线)控制权,3. DMA设备传送数据4. DMA接口把总线控制权交回给CPU。由DMA控制器来实现I/O与主存之间的传送输入输出设备I/O 设备主机 设备控制器机、电磁、光部分I/O接口I/O

10、 设备I/O 设备分类 人-机交互设备 键盘、鼠标、打印机 信息存储设备 磁盘、光盘、磁带 网络通信设备 网卡、调制解调器也可以按照输入、输出设备来进行分类键盘键盘是由一组排列成阵列形式的按键开关组成的,每按下一个键,产生一个相应的字符代码(每个按键的位置码),然后将它转换成 ASCII 码或其他码送主机。目前的键盘常用有104个键,除了提供通常的ASCII字符外,还有多个功能键、光标控制键与编辑键等。键盘工作原理2 键盘中有一块电路板,上面有一个微处理器。它周期性地检查每个键连接的电路。通过测出电流的增减,它可知道你何时按下或释放这个键。它每秒循环数百次。1 按下一个键,与这个键相连的电路中

11、的电流会发生变化。3 根据测到的键,微处理器生成相关的扫描码。每个键有两个码,分别对应按下和抬起。该码被放入键盘的数据缓冲器,并进而送到一个端口。同时键盘向CPU发出中断请求。CPU会暂停其它程序处理这个中断,进入中断服务程序。扫描仪1 将要扫描的纸正面向下放在玻璃窗上。光源从下面进行扫描。纸上颜色越浅,反光越强。2 扫描头在电机的带动下接收反射的光。每次为1/90000平方英寸大小。3 反射回来的光经过一组镜子。镜子必须不断转动以便光束与镜头对齐。4 镜头将光束聚焦在光敏二极管上,转化为电流。光强越高,电流越强。5 模/数转换器将电流转换为数字存储。6 数字传给PC,图形软件根据数字,产生图

12、象。I/O 接口I/O接口概述I/O接口概述I/O接口主机与I/O设备之间设置的一个硬件电路及相应的控制程序I/O 接口的作用: 实现设备的选择 实现数据缓冲,进而达到CPU与I/O设备的速度匹配 实现数据串行-并行传输模式的转换 实现电平转换 负责传送控制命令 反馈设备状态总线方式连接的I/O接口设备选择线的个数取决于I/O指令中设备码的位数。命令线用来传输CPU向设备发出的指令,如启动、清除、读、写等。状态线是单向的,设备向CPU发送自身状态,如是否准备就绪、是否申请中断。I/O接口设备I/O接口数据线命令线状态线I/O总线设备选择线设备I/O 接口的基本组成外 部 设 备数据线命令状态数

13、据线命令线状态线CPU地址线 命令寄存器和命令译码器 设备选择 电路 设备状态 标记 数据缓冲 寄存器DBR 控制逻辑电路I/O接口I/O 设备与主机的传输控制方式I/O 设备与主机信息传输的控制方式有 ? 种常用方式3程序查询方式程序查询方式的核心在于:CPU如果要对I/O设备进行操作,就要一直查询 I/O 设备是否准备就绪。(原地踏步原地踏步)检查状态标记1 设备1 准备就绪?检查状态标记N 设备N准备就绪?处理设备1是否否处理设备N是检查状态标记交换数据准备就绪?是否单个设备多个设备测试指令转移指令传送指令串行!程序查询方式执行流程启动外设传送一个数据修改主存地址修改计数值准备好?传送完

14、?未完是完否保护寄存器内容设置计数器设置主存缓冲区启动I/O结束CPU进行的准备阶段程序查询方式的I/O传输控制需要使用CPU的寄存器CPU启动I/O一般要传输一批数据主存与I/O间交换数据的存储空间程序查询方式的效率Quiz: CPU 的时钟频率为50MHz, 每一次对I/O设备的查询操作需要100个时钟周期。如果,CPU 每秒对鼠标进行 30 次查询,求:CPU 用在查询鼠标上的时间的比例。(假设CPU频率为10进制表示)1 秒时间内执行 30 次查询所需时间 :1 秒时间内包含的时钟周期数:CPU 用于查询鼠标所用时间的比例:30 x 100 = 3000 (时钟周期)50 x 106(

15、时钟周期)3000/50 x 10-6 = 0.006%程序查询方式的效率Quiz: CPU 的时钟频率为50MHz, 每一次对I/O设备的查询操作需要100个时钟周期。如果每次查询,硬盘都以32位字长进行传输,系统要求传输率为1MBps。求:CPU 用在查询硬盘上的时间的比例。 (假设CPU频率为10进制表示)每秒需要对硬盘进行多少次查询,才能满足 1MBps 的吞吐率?每秒内查询需要的时钟周期数:对磁盘的查询占 CPU 的时间比例:1MB/32b = 1MB/4B = 256K 次256K x 100 = 256 x 1024 x 100 = 26.2 x 106 (26.2 x 106

16、)/ (50 x 106 ) = 52.4% 程序查询方式不适合磁盘这样的高速设备如果要求系统传输率为 2MBps 呢?程序中断方式中断由 I/O 设备或其他非预期的、急需处理的事件引起的,它使 CPU 暂时停止当前正在执行的任务,转至另一个服务程序去处理这些事件,处理结束之后再返回原程序并继续执行。KK+1QQ+1中断服务程序1中断服务程序2入口1入口2打印机的 I/O 程序中断方式启动打印机命令主程序打印机准备中断请求传送待打印数据打印PrinterCPUCPU与打印机并行工作CPU与打印机串行工作中断源 中断源:引起中断的事件,即发出中断请求的来源 中断源的种类 外部中断 内部中断 tr

17、ap 指令产生的软中断来自CPU外部的中断,比如,I/O设备、系统时钟产生的中断来自CPU内部的中断:处理器故障、程序出错等产生的中断,比如,温度过高,除零操作。操作系统处理用户程序中的系统调用中断方式的接口电路DQ&1INTR 中断请求触发器MASK 中断屏蔽触发器来自 CPU 的中断查询信号受设备本身控制INTR D MASKQD 完成触发器中断请求INTR = 1 有中断请求MASK = 1中断被屏蔽当多个中断出现时,CPU只能处理一个中断,而必须屏蔽其他的。CPU 在每个指令周期结束后,查询所有设备是否有中断请求。只有 D=1, MASK=0 的时候,CPU 的中断查询信号才会

18、置 INTR = 1每个外部设备必须配置一个INTR寄存器设备准备就绪,D=1中断的优先权中断优先权 所谓优先权是指有多个中断同时发生时,对各个中断相应的优先次序。 一般来说,高速I/O设备的中断优先级也较高中断的分级 把所有中断按不同的类别分为若干级,称为中断级,在同一级中还可以有多个中断源。若不能获得及时响应(CPU给予的中断处理),数据可能会丢失(为什么?)。禁止中断CPU中断允许触发器CPU 内部放置一个“中断允许”触发器EINT = 1 : 开中断,允许 CPU 去响应中断EINT = 0 : 关中断,CPU 不响应所有中断当 CPU 正在处理一个中断时,设置中断允许触发器为 0 ,

19、这样,CPU 就不会同时去响应其他中断请求。EINT中断屏蔽 每个中断源(I/O设备的接口)有一个中断屏蔽触发器MASK 如果 CPU 置该中断源的 MASK = 1, 不允许该中断被响应 有些中断不可被屏蔽,比如,掉电,CPU 必须响应“非屏蔽中断”,具有最高的优先权CPU对中断的处理:确定中断服务程序的地址中断服务程序入口1如何找到中断服务程序?中断服务程序在哪里?硬件向量法向量地址 显示器服务程序 打印机服务程序JMP 400JMP 300JMP 200主存主存121314200300向量地址入口地址入口地址中断向量地址 形成部件 设备编码器0 0 0 1 0 0 1 0INTA1 IN

20、TA2 INTAn注意:中断向量地址不等于中断服务程序入口地址INTA : 中断响应信号中断服务程序的一般流程1. 保护现场。保存原来程序的断点,保存通用寄存器的内容,设置EINT=02. 中断服务(设备服务)。3. 恢复现场。数据传输结束后,将原程序中断时刻的现场恢复4. 中断返回。设置EINT=1,返回到原程序的断点,CPU可以继续执行原程序,也可以继续响应后续的中断。中断否?保护现场设备服务恢复现场 开中断中断返回取指令执行指令 中断响应 程序断点进栈 关中断 向量地址 PC是否CPU 在每个指令周期结束后,查询所有设备是否有中断请求。多重中断服务程序的流程 允许中断间的嵌套 单重中断服务程序中,在中断返回前才开中断,即设置 EINT=1 多重中断服务程序中,现场保护后就开中断中断返回保护现场设备服务恢复现场开中断取指令执行指令中断否?否 中断响应 程序断点进栈 关中断向量地址 PC是DMA 方式DMA 和程序中断两种方式的数据通路CPU主存寄存器 中断接口DMA 接口I/O 设 备中断方式数据传送通路输入指令输出指令DMA方式数据传送通路DMA 方式 什么是DMA(直接存储器访问)方式?CPU暂时放弃对主存的控制权,让输入输出设备可以直接使用总线与主存交换数据,数据传送是在DMA控制器控制下进行的。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论