计算机组成原理2014第十三讲_第1页
计算机组成原理2014第十三讲_第2页
计算机组成原理2014第十三讲_第3页
计算机组成原理2014第十三讲_第4页
计算机组成原理2014第十三讲_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理舒燕君计算机科学与技术学院第十三讲四、I/O设备与主机信息传送的控制方式1.程序查询方式CPU和I/O串行工作踏步等待CPU读I/O状态检查状态未准备就绪出错从I/O接口中读一个字到CPU从CPU向主存写入一个字CPU向I/O发读指令CPU读I/O状态检查状态完成否未准备就绪现行程序是出错已准备就绪否5.12.程序中断方式I/O工作CPU不查询CPU暂停现行程序自身准备与主机交换信息CPU和I/O并行工作

启动I/O设备现行程序

……中断服务程序KK+1…没有踏步等待现象中断现行程序5.1程序中断方式流程CPU向I/O发读指令CPU读I/O状态检查状态完成否?CPU做其他事情I/O设备工作准备就绪CPUI/O从CPU向主存写入一个字CPU主存从I/O接口中读一个字到CPUI/OCPU中断请求I/OCPU出错是否未错5.13.DMA方式主存和I/O之间有一条直接数据通道不中断现行程序周期挪用(周期窃取)CPU和I/O并行工作存取周期结束CPU执行现行程序CPU执行现行程序DMA请求启动I/OI/O准备I/O准备一个存取周期实现I/O与主存之间的传送5.1三种方式的CPU工作效率比较存取周期结束CPU执行现行程序CPU执行现行程序DMA请求启动I/OI/O准备I/O准备一个存取周期实现I/O与主存之间的传送CPU

执行现行程序CPU查询等待并传输I/O数据CPU

执行现行程序启动I/OI/O准备及传送指令执行周期结束CPU执行现行程序CPU执行现行程序启动I/O中断请求I/O准备I/O准备CPU处理中断服务程序实现I/O与主机之间的传送间断启动I/O启动I/OI/O准备中断请求启动I/OI/O准备一个存取周期DMA请求程序查询方式程序中断方式DMA方式5.1I/O准备及传送间断I/O准备I/O准备5.3I/O接口一、概述为什么要设置接口?1.实现设备的选择2.实现数据缓冲达到速度匹配4.实现电平转换5.传送控制命令6.反映设备的状态(“忙”、“就绪”、“中断请求”)3.实现数据串并格式转换二、接口的功能和组成(1)设备选择线(2)数据线(3)命令线(4)状态线I/O接口设备I/O接口设备数据线命令线状态线I/O总线设备选择线总线连接方式的I/O接口电路5.32.接口的功能和组成功能组成选址功能传送命令的功能传送数据的功能反映设备状态的功能设备选择电路命令寄存器、命令译码器数据缓冲寄存器设备状态标记完成触发器D工作触发器B中断请求触发器INTR屏蔽触发器MASK5.33.I/O接口的基本组成命令寄存器和命令译码器设备选择电路设备状态标记数据缓冲寄存器DBR控制逻辑电路I/O接口外部设备数据线命令状态数据线命令线状态线CPU地址线5.35.4程序查询方式一、程序查询流程检查状态标记1设备1准备就绪?检查状态标记N设备N准备就绪?…处理设备1是否否处理设备N是1.查询流程检查状态标记交换数据准备就绪?是否单个设备多个设备测试指令转移指令传送指令2.程序流程设置主存缓冲区首址设置计数值启动外设传送一个数据修改主存地址修改计数值结束I/O传送准备好?传送完?未完是完否5.4

保存寄存器内容②设备选择电路DBRQQ&数据线准备就绪启动命令地址线SEL输入数据启动设备设备工作结束①③④⑤⑥DB二、程序查询方式的接口电路①②③⑤1010④5.4以输入为例⑥5.5程序中断方式一、中断的概念…KK+1QQ+1……中断服务程序1中断服务程序2入口1入口2二、I/O中断的产生以打印机为例发中断请求空闲接收数据接收数据准备发中断请求打印打印打印机执行主程序继续执行主程序继续执行主程序响应中断中断返回响应中断中断返回启动打印机传送数据传送数据CPUCPU与打印机并行工作5.5三、程序中断方式的接口电路1.配置中断请求触发器和中断屏蔽触发器DQ&1INTR中断请求触发器INTR=1有请求MASK中断屏蔽触发器MASK=1被屏蔽来自CPU的中断查询信号受设备本身控制INTRDMASKQD完成触发器5.5中断请求2.排队器排队在CPU内或在接口电路中(链式排队器)硬件软件5.5详见第八章INTP1´INTP2´INTP3´INTP4´INTR1INTR2INTR3INTR41&1&1&1&INTR1设备1#、2#、3#、4#优先级按降序排列INTRi

=1有请求即INTRi=01INTP11INTP21INTP31INTP4&&&&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR41&1&1&1&INTP1´INTP2´INTP3´INTP4´INTR2INTR1INTR1INTR25.51&INTP22.排队器排队在CPU内或在接口电路中(链式排队器)硬件软件详见第八章3.中断向量地址形成部件入口地址…向量地址…排队器输出由软件产生硬件向量法

显示器服务程序

打印机服务程序JMP400JMP300JMP200…………主存12H13H14H200300向量地址入口地址入口地址中断向量地址形成部件设备编码器1000…000100100100…00010011详见第八章由硬件产生向量地址再由向量地址找到入口地址5.5设备选择电路DBR

DQ&数据线启动命令地址线SEL输入数据启动设备设备工作结束&1QQDINTRBQQMASK

设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应INTA中断请求命令译码4.程序中断方式接口电路的基本组成5.5四、I/O中断处理过程1.CPU响应中断的条件和时间(1)条件(2)时间允许中断触发器EINT=1用开中断指令将EINT置“1”用关中断指令将EINT置“0”或硬件自动复位当D=1(随机)且MASK=0

时在每条指令执行阶段的结束前CPU发中断查询信号(将INTR置“1”)5.5设备选择电路DBRDQ&数据线启动命令地址线SEL输入数据启动设备设备工作结束&1QQDINTRBQQMASK设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应INTA中断请求命令译码①②③④⑤⑥⑦⑧2.I/O中断处理过程①10&DBR④⑤⑦⑧设备选择电路01以输入为例②5.5③⑥五、中断服务程序流程1.中断服务程序的流程(1)保护现场(2)中断服务(3)恢复现场(4)中断返回对不同的I/O设备具有不同内容的设备服务中断返回指令2.单重中断和多重中断不允许中断现行的中断服务程序单重中断多重中断允许级别更高的中断源中断现行的中断服务程序中断隐指令完成进栈指令出栈指令程序断点的保护寄存器内容的保护5.53.单重中断和多重中断的服务程序流程中断否?保护现场设备服务恢复现场开

温馨提示

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

评论

0/150

提交评论