第5章输入输出系统5.6DMA方式5.5程序中断方式5.4程序查询方式5.3I/O接口5.2外部设备5.1概述For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息5.1概述一、输入输出系统的发展概况1.早期分散连接CPU和I/O设备串行工作程序查询方式2.接口模块和DMA阶段总线连接CPU和I/O设备并行工作3.具有通道结构的阶段4.具有I/O处理机的阶段中断方式DMA方式For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息二、输入输出系统的组成1.I/O软件(1)I/O指令(2)通道指令CPU指令的一部分通道自身的指令指出数组的首地址、传送字数、操作命令如IBM/370通道指令为64位2.I/O硬件设备I/O接口设备设备控制器通道操作码命令码设备码5.1For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息三、I/O设备与主机的联系方式1.I/O设备编址方式(1)统一编址(2)不统一编址用取数、存数指令有专门的I/O指令2.设备选址用设备选择电路识别是否被选中3.传送方式(1)串行(2)并行5.1For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息数据字命令字命令字01101000起始位终止位9.09ms2×9.09ms4.联络方式(1)立即响应(2)异步工作采用应答信号“Ready”“Strobe”I/O接口I/O设备CPU(3)同步工作采用同步时标5.1并行串行起始位终止位9.09ms2×9.09msFor:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息5.I/O设备与主机的连接方式(1)辐射式连接(2)总线连接外设Ⅰ外设Ⅱ外设Ⅲ主机不便于增删设备每台设备都配有一套控制线路和一组信号线5.1便于增删设备For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息四、I/O设备与主机信息传送的控制方式1.程序查询方式CPU和I/O串行工作踏步等待CPU读I/O状态检查状态未准备就绪出错从I/O接口中读一个字到CPU从CPU向主存写入一个字CPU向I/O发读指令CPU读I/O状态检查状态完成否未准备就绪现行程序是出错已准备就绪否5.1For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息2.程序中断方式I/O工作CPU不查询CPU暂停现行程序自身准备与主机交换信息CPU和I/O并行工作启动I/O设备现行程序……中断服务程序KK+1…没有踏步等待现象中断现行程序5.1For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息程序中断方式流程CPU向I/O发读指令CPU读I/O状态检查状态完成否?CPU做其他事情I/O设备工作准备就绪CPUI/O从CPU向主存写入一个字CPU主存从I/O接口中读一个字到CPUI/OCPU中断请求I/OCPU出错是否未错5.1For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息3.DMA方式主存和I/O之间有一条直接数据通道不中断现行程序周期挪用(周期窃取)CPU和I/O并行工作存取周期结束CPU执行现行程序CPU执行现行程序DMA请求启动I/OI/O准备I/O准备一个存取周期实现I/O与主存之间的传送5.1For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息三种方式的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准备For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息5.2I/O设备一、概述主机设备控制器机、电磁、光部分I/O接口外部设备外部设备大致分三类键盘、鼠标、打印机、显示器磁盘、光盘、磁带1.人机交互设备2.计算机信息存储设备3.机机通信设备调制解调器等For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息二、输入设备1.键盘2.鼠标3.触摸屏按键判断哪个键按下将此键翻译成ASCII码(编码键盘法)机械式金属球电位器5.2光电式光电转换器For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息三、输出设备1.显示器(1)字符显示(2)图形显示(3)图像显示字符发生器主观图像客观图像2.打印机(1)击打式(2)非击打式点阵式(逐字、逐行)喷墨(逐字)激光(逐页)5.2For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息四、其他1.A/D、D/A2.终端3.汉字处理五、多媒体技术完成显示控制与存储、键盘管理及通信控制模拟/数字(数字/模拟)转换器汉字输入、汉字存储、汉字输出1.什么是多媒体2.多媒体计算机的关键技术5.2由键盘和显示器组成For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息5.3I/O接口一、概述为什么要设置接口?1.实现设备的选择2.实现数据缓冲达到速度匹配4.实现电平转换5.传送控制命令6.反映设备的状态(“忙”、“就绪”、“中断请求”)3.实现数据串并格式转换For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息二、接口的功能和组成(1)设备选择线(2)数据线(3)命令线(4)状态线I/O接口设备I/O接口设备数据线命令线状态线I/O总线设备选择线1.总线连接方式的I/O接口电路5.3For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息2.接口的功能和组成功能组成选址功能传送命令的功能传送数据的功能反映设备状态的功能设备选择电路命令寄存器、命令译码器数据缓冲寄存器设备状态标记完成触发器D工作触发器B中断请求触发器INTR屏蔽触发器MASK5.3For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息3.I/O接口的基本组成命令寄存器和命令译码器设备选择电路设备状态标记数据缓冲寄存器DBR控制逻辑电路I/O接口外部设备数据线命令状态数据线命令线状态线CPU地址线5.3For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息三、接口类型并行接口串行接口可编程接口不可编程接口通用接口专用接口1.按数据传送方式分类2.按功能选择的灵活性分类3.按通用性分类4.按数据传送的控制方式分类中断接口DMA接口5.3Intel8255Intel8251Intel8255、Intel8251Intel8212Intel8255、Intel8251Intel8279、Intel8275Intel8259Intel8257For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息5.4程序查询方式一、程序查询流程检查状态标记1设备1准备就绪?检查状态标记N设备N准备就绪?…处理设备1是否否处理设备N是1.查询流程检查状态标记交换数据准备就绪?是否单个设备多个设备测试指令转移指令传送指令For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息2.程序流程设置主存缓冲区首址设置计数值启动外设传送一个数据修改主存地址修改计数值结束I/O传送准备好?传送完?未完是完否5.4保存寄存器内容For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息②设备选择电路DBRQQ&数据线准备就绪启动命令地址线SEL输入数据启动设备设备工作结束①③④⑤⑥DB二、程序查询方式的接口电路①②③⑤1010④5.4以输入为例⑥For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息5.5程序中断方式一、中断的概念…KK+1QQ+1……中断服务程序1中断服务程序2入口1入口2For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息二、I/O中断的产生以打印机为例发中断请求空闲接收数据接收数据准备发中断请求打印打印打印机执行主程序继续执行主程序继续执行主程序响应中断中断返回响应中断中断返回启动打印机传送数据传送数据CPUCPU与打印机并行工作5.5For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息三、程序中断方式的接口电路1.配置中断请求触发器和中断屏蔽触发器DQ&1INTR中断请求触发器INTR=1有请求MASK中断屏蔽触发器MASK=1被屏蔽来自CPU的中断查询信号受设备本身控制INTRDMASKQD完成触发器5.5中断请求For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息2.排队器排队在CPU内或在接口电路中(链式排队器)硬件软件5.5详见第八章INTP1´INTP2´INTP3´INTP4´INTR1INTR2INTR3INTR41&1&1&1&INTR1设备1#、2#、3#、4#优先级按降序排列INTRi=1有请求即INTRi=0For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息1INTP11INTP21INTP31INTP4&&&&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR41&1&1&1&INTP1´INTP2´INTP3´INTP4´INTR2INTR1INTR1INTR25.51&INTP22.排队器排队在CPU内或在接口电路中(链式排队器)硬件软件详见第八章For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息3.中断向量地址形成部件入口地址…向量地址…排队器输出由软件产生硬件向量法显示器服务程序打印机服务程序JMP400JMP300JMP200…………主存12H13H14H200300向量地址入口地址入口地址中断向量地址形成部件设备编码器1000…000100100100…00010011详见第八章由硬件产生向量地址再由向量地址找到入口地址5.5For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息设备选择电路DBRDQ&数据线启动命令地址线SEL输入数据启动设备设备工作结束&1QQDINTRBQQMASK设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应INTA中断请求命令译码4.程序中断方式接口电路的基本组成5.5For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息四、I/O中断处理过程1.CPU响应中断的条件和时间(1)条件(2)时间允许中断触发器EINT=1用开中断指令将EINT置“1”用关中断指令将EINT置“0”或硬件自动复位当D=1(随机)且MASK=0时在每条指令执行阶段的结束前CPU发中断查询信号(将INTR置“1”)5.5For:news.wdsxx.com新闻From:fenlei.wdsxx.com分类信息设备选择电路DBRDQ&数据线启动命令地址线SEL输入数据启动设备设备工作结束&1QQDINTRBQQMASK设备编码器排队器中断查询来自高一级的排队器至低一级的