第七章 输入输出系统_第1页
第七章 输入输出系统_第2页
第七章 输入输出系统_第3页
第七章 输入输出系统_第4页
第七章 输入输出系统_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第七章输入输出系统7.5DMA方式7.4程序中断方式7.3程序查询方式7.2输入/输出控制7.1输入/输出设备7.1输入/输出设备一、概述主机设备控制器机、电磁、光部分I/O接口外部设备外部设备大致分三类键盘、鼠标、打印机、显示器磁盘、光盘、磁带1.人机交互设备2.计算机信息存储设备3.机机通信设备调制解调器等二、输入设备1.键盘2.鼠标3.触摸屏按键判断哪个键按下将此键翻译成ASCII码(编码键盘法)机械式金属球电位器光电式光电转换器三、输出设备1.显示器(1)字符显示(2)图形显示(3)图像显示字符发生器主观图像客观图像2.打印机(1)击打式(2)非击打式点阵式(逐字、逐行)喷墨(逐字)激光(逐页)四、其他1.A/D、D/A2.终端3.汉字处理完成显示控制与存储、键盘管理及通信控制模拟/数字(数字/模拟)转换器汉字输入、汉字存储、汉字输出由键盘和显示器组成7.2输入/输出控制一、I/O接口1.为什么要设置接口?实现设备的选择实现数据缓冲达到速度匹配实现电平转换传送控制命令反映设备的状态(“忙”、“就绪”、“中断请求”)实现数据串并格式转换2.什么是接口接口:两个系统或两个部件之间的交接部分。既可以是两个硬件之间的连接电路,也可以是两个软件之间的公共逻辑边界I/0接口:主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。3.接口的功能和组成1)设备选择线2)数据线3)命令线4)状态线I/O接口设备I/O接口设备数据线命令线状态线I/O总线设备选择线(1)总线连接方式的I/O接口电路(2)接口的功能和组成功能组成识别设备的功能传送控制命令的功能传送数据与缓冲的功能反映设备状态的功能设备选择电路命令寄存器数据缓冲寄存器设备状态寄存器完成触发器D工作触发器B中断请求触发器INTR屏蔽触发器MASK(3)I/O接口的基本组成命令寄存器设备选择电路设备状态寄存器数据缓冲寄存器DBR控制逻辑电路I/O接口外部设备数据线命令状态数据线命令线状态线CPU地址线4.接口类型并行接口串行接口可编程接口不可编程接口通用接口专用接口(1)按数据传送方式分类(2)按功能选择的灵活性分类(3)按通用性分类(4)按数据传送的控制方式分类中断接口DMA接口Intel8255Intel8251Intel8255、Intel8251Intel8212Intel

8255、Intel

8251Intel8279、Intel8275Intel8259Intel82575.I/O端口的编址方式将I/O端口与存储器单元进行统一编址I/O端口与存储器单元独立编址,CPU需要设置专门的输入/输出指令访问端口(1)统一编址方式(2)独立编址方式I/O端口:I/O接口中的寄存器或特定的硬件电路优点:不需要专门的输入/输出指令

CPU访问I/O的操作更灵活、方便缺点:进行数据输入/输出操作执行速度慢优点:程序编制清晰、易于理解缺点:CPU需要提供存储器读/写,I/O读写等控制信号,增加了控制的复杂性二、输入/输出控制方式1.程序查询方式CPU和I/O串行工作踏步等待CPU读I/O状态检查状态未准备就绪出错从I/O接口中读一个字到CPU从CPU向主存写入一个字CPU向I/O发读指令CPU读I/O状态检查状态完成否未准备就绪现行程序是出错已准备就绪否2.程序中断方式I/O工作CPU不查询自身准备与主机交换信息CPU和I/O并行工作

启动I/O现行程序

………中断服务程序KK+1…没有踏步等待现象中断现行程序程序中断方式流程CPU向I/O发读指令CPU读I/O状态检查状态完成否?CPU做其他事情I/O设备工作准备就绪CPUI/O从CPU向主存写入一个字CPU主存从I/O接口中读一个字到CPUI/OCPU中断请求I/OCPU出错是否未错3.DMA方式主存和I/O之间有一条直接数据通道不中断现行程序周期挪用(周期窃取)CPU和I/O并行工作存取周期结束CPU执行现行程序CPU执行现行程序DMA请求启动I/OI/O准备I/O准备一个存取周期实现I/O与主存之间的传送三种方式的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方式I/O准备及传送4.I/O通道控制方式I/O通道控制方式是DMA方式的进一步发展具有特殊功能的处理器,由通道对I/O统一管理通道I/O接口设备n

……I/O接口设备0

CPU主存主存总线I/O总线5.I/O处理机方式I/O处理机的结构更接近于一般的处理机I/O处理机独立于主机工作计算机系统结构由功能集中式发展为功能分散的分布式系统7.3程序查询方式一、程序查询流程检查状态标记1设备1准备就绪?检查状态标记N设备N准备就绪?…处理设备1是否否处理设备N是1.查询流程检查状态标记交换数据准备就绪?是否单个设备多个设备测试指令转移指令传送指令2.程序流程设置内存缓冲区首址设置计数器启动外设传送一个数据修改内存地址修改计数值结束I/O传送准备好?传送完?未完是完否②设备选择电路DBRQQ&数据线准备就绪启动命令地址线SEL输入数据启动设备设备工作结束①③④⑤⑥DB二、程序查询方式的接口电路①②③⑤⑥1010④以输入为例时序读写方式主机I/O设备设备选择电路数据缓冲寄存器设备状态寄存器控制逻辑电路启动准备好数据线控制线地址线接口...数据线二、程序查询方式的接口电路中断服务程序中断服务程序入口1入口2127.4程序中断方式一、中断的基本概念…KK+1QQ+1……中断服务程序1中断服务程序21.中断的概念⑴定义

在计算机的运行过程中,如果发生某种随机事态,CPU将暂停执行现行程序,转去执行中断处理程序,为该事态服务,并在服务完毕后自动恢复原程序的执行。⑵实质与特点①实质程序切换方法:保存断点,保护现场;恢复现场,返回断点。时间:一条指令结束时切换,保证程序的完整性。②特点随机性随机发生的事态注意中断与转子的区别(按键、故障)随机请求2.I/O中断的产生以打印机为例发中断请求空闲接收数据接收数据准备发中断请求打印打印打印机执行主程序继续执行主程序继续执行主程序响应中断中断返回响应中断中断返回启动打印机传送数据传送数据CPUCPU与打印机并行工作二、中断系统1.概述(1)引起中断的各种因素1)人为设置的中断2)程序性事故如转管指令溢出、操作码不能识别、除法非法5)外部事件4)I/O设备数据传送、故障处理、DMA或通道的后处理3)硬件故障用键盘中断现行程序转管指令………管理程序(2)中断系统需解决的问题1)各中断源如何向CPU提出请求?2)各中断源同时提出请求怎么办?5)如何寻找入口地址?4)如何保护现场?3)CPU什么条件、什么时间、以什么方式

响应中断?6)如何恢复现场,如何返回?7)处理中断的过程中又出现新的中断怎么办?硬件

+软件2.中断请求(1)中断源的建立与屏蔽INTR一个请求源

一个INTR

中断请求触发器多个INTR

组成中断请求寄存器INTR

分散在各个中断源的接口电路中INTR集中在CPU

的中断系统内12345n掉电过热阶上溢内存读写校验错非法除法键盘打印机DQ&1INTR中断请求触发器INTR=1有请求中断屏蔽寄存器MASK=1被屏蔽来自CPU的中断查询信号受设备本身控制INTRDMASKQD完成触发器中断请求中断屏蔽触发器和中断屏蔽寄存器12345nMASK中断屏蔽触发器(2)中断请求信号的传送①独立请求线②公共请求线

CPU

中断源1中断源nINTR1INTRn…CPU中断源2中断源1INTRINTA…中断源n③二维结构CPU中断源12中断源11INTR1INTA1…中断源1n中断源22中断源21INTR2INTA2…中断源2n中断源m2中断源m1INTRmINTAm…中断源mn…④

兼有公共请求线和独立请求线CPU中断源32中断源31INTR3INTA3…中断源3n中断源m2中断源m1INTRmINTAm…中断源mn…中断源1中断源2INTR1INTR2优先顺序:硬件故障中断→程序错误中断→DMA请求→I/O设备中断高速I/O设备→低速I/O设备实时控制I/O设备→一般I/O设备近的同级别I/O设备→远的同级别I/O设备3.中断判优逻辑3.中断判优逻辑①集中在CPU

内(1)硬件实现(排队器)111&1

&1&INTR1INTR2INTR3INTR4INTP1INTP2INTP3INTP4INTP1´INTP2´INTP3´INTP4´INTR1INTR2INTR3INTR41&1&1&1&INTR1设备1#、2#、3#、4#优先级按降序排列INTRi

=1有请求即INTRi

=0②分散在各个中断源的接口电路中链式排队器1INTP11INTP21INTP31INTP4&&&&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR41&1&1&1&INTP1´INTP2´INTP3´INTP4´INTR2INTR1INTR1INTR21&INTP2NYYY(2)软件实现(程序查询)保存断点和现场0#中断源有请求?1#中断源有请求?n#中断源有请求?恢复断点和现场返回主程序…执行0#中断源中断服务程序执行1#中断源中断服务程序执行n#中断源中断服务程序NN4.中断响应(1)CPU响应中断的条件和时间CPU接收到中断请求信号CPU允许中断中断允许触发器EINT=13)一条指令执行完毕指令执行周期结束时刻由CPU发查询信号

CPU中断查询INTR1DQINTR2DQINTRnDQ中断源1中断源2中断源n……至排队器(2)中断隐指令1)关中断2)保存断点和现场3)取中断服务程序入口地址断点存于特定地址内断点进栈向量地址形成部件INTSQREINTSQRPC

1&≥1排队器……INT中断请求EINT中断允许R–S

触发器向量地址PC(硬件向量法)中断查询程序入口地址MPC(软件查询法)3)服务程序入口的获取方式入口地址…向量地址…排队器输出由软件产生硬件向量法

显示器服务程序

打印机服务程序JMP400JMP300JMP200…………主存12H13H14H200300向量地址入口地址入口地址中断向量地址形成部件设备编码器1000…000100100100…00010011由硬件产生向量地址再由向量地址找到入口地址5.中断处理(1)保护现场(2)中断服务(3)恢复现场(4)中断返回对不同的I/O设备具有不同内容的设备服务中断返回指令IRET中断隐指令完成进栈指令PUSH出栈指令POP程序断点的保护寄存器内容的保护6.中断处理方式单重中断多重中断允许级别更高的中断源中断现行的中断服务程序不允许中断现行的中断服务程序

关中断保存断点及PSW取服务程序入口地址及新PSW中断周期是单重中断和多重中断的服务程序流程中断否?保护现场设备服务恢复现场开中断中断返回取指令执行指令中断服务程序开中断中断隐指令中断隐指令否取指令执行指令中断否?否关中断保存断点及PSW取服务程序入口地址及新PSW中断周期是中断服务程序单重多重关中断保护现场开中断设备服务送新屏蔽字恢复现场开中断恢复原屏蔽字中断返回(1)多重中断的概念klmk

+1l

+1m

+1第一次中断第二次中断第三次中断程序断点k+1,l+1,m+17.中断屏蔽技术INTR3INTR2INTR1(2)实现多重中断的条件B,CA中断请求主程序2)优先级别高的中断源有权中断优先级别低的中断源1)提前设置开中断指令ABCD中断服务程序(A、B、C、D优先级按降序排列)D

&(3)屏蔽技术1)屏蔽触发器的作用MASK=0(未屏蔽)INTR能被置“1”

1

&

&

&

1

1

1

1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ1DINTR

MASKQCPU查询MASKi

=1(屏蔽)中断屏蔽寄存器的作用编码器排队逻辑……向量地址&&&&≥1INT0101010101010101由程序控制中断屏蔽寄存器中断请求寄存器INTR1INTR4INTR2INTR32)中断屏蔽技术应用场合多重中断中断升级通过中断屏蔽字改变中断优先级优先级含义:中断响应优先级:CPU对各设备中断请求进行响应,并准备好处理的先后次序。中断处理优先级:CPU实际上对各中断源请求处理的先后次序。例1:某计算机的中断系统有4个中断源A、B、C、D,按中断响应的优先次序由高到低为A>B>C>D。每个中断源对应一个屏蔽字。中断源屏蔽字ABCDA1111B0111C0011D0001中断处理次序和中断响应次序是一致的。中断屏蔽字设置CPU的运动轨迹A中断源服务程序B中断源服务程序C中断源服务程序D中断源服务程序现行程序ABDCBA要使中断处理次序为A>D>C>B中断屏蔽字为:中断源屏蔽字ABCDA1111B0100C0110D0111处理次序改变后的CPU运动轨迹A中断源服务程序B中断源服务程序C中断源服务程序D中断源服务程序现行程序ABDCBA设备选择电路DBR

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

设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应INTA中断请求命令译码三、程序中断方式接口电路的基本组成设备选择电路DBRDQ&数据线启动命令地址线SEL输入数据启动设备设备工作结束&1QQDINTRBQQMASK设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应INTA中断请求命令译码①②③④⑤⑥⑦⑧I/O中断处理过程①10&DBR③④⑤⑦⑧⑥设备选择电路01以输入为例②主程序和服务程序抢占CPU示意准备工作准备工作准备工作传送数据传送数据发中断请求发中断请求I/O宏观上CPU和I/O并行工作微观上CPU中断现行程序为I/O服务主程序继续执行主程序启动外设

服务程序(传送数据)

服务程序(传送数据)继续执行主程序CPU7.5DMA方式一、DMA方式的特点1.DMA和程序中断两种方式的数据通路CPU主存ACC中断接口DMA接口I/O

设备中断方式数据传送通路输入指令输出指令DMA方式数据传送通路2.DMA与主存交换数据的三种方式(1)停止CPU访问主存控制简单CPU处于不工作状态或保持状态未充分发挥CPU对主存的利用率主存工作时间CPU不执行程序DMA不工作DMA不工作DMA工作CPU控制并使用主存DMA控制并使用主存t(2)周期挪用(或周期窃取)DMA访问主存有三种可能

CPU此时不访存

CPU正在访存

CPU与DMA同时请求访存此时CPU将总线控制权让给DMA主存工作时间CPU控制并使用主存DMA控制并使用主存t(3)与CPU交替访存主存工作时间DMA控制并使用主存CPU控制并使用主存tCPU工作周期C1专供DMA访存C2专供CPU

访存所有指令执行过程中的一个基准时间二、DMA控制器1.DMA控制器的功能(1)向CPU申请

DMA传送(2)处理总线控制权的转交(3)管理系统总线、控制数据传送(4)确定数据传送的首地址和长度(5)DMA传送结束时,给出操作完成信号修正传送过程中的数据地址和长度DMA接口主存CPU2.DMA控制器的组成DMA

控制逻辑中断逻辑设备HLDAARWCDARHRQ中断请求数据线地址线+1+1溢出信号DREQDACKBR三、DMA的工作过程1.DMA传送过程预处理、数据传送、后处理(1)预处理通过几条输入输出指令预置如下信息通知DMA控制逻辑传送方向(入/出)设备地址DMA的DAR主存地址DMA的AR传送字数DMA的WC预处理:主存起始地址设备地址

传送数据个数启动设备DMADMADMA数据传送:继续执行主程序同时完成一批数据传送后处理:中断服务程序做DMA结束处理继续执行主程序CPU(2)DMA传送过程示意允许传送?主存地址送总线数据送I/O设备(或主存)主存地址加1传送个数减1数据块传送结束?向CPU申请程序中断DMA请求否否是是数据传送(3)数据传送过程(输入)BR设备DMA

控制逻辑中断逻辑ARWCDARDMA接口主存CPU+1+1DREQ②HRQ③HLDA④地址线⑤DACK⑥①数据线⑦溢出信号中断请求ARWC+1+1BRBRBRBRBRBRBR设备DMA

控制逻辑中断逻

温馨提示

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

评论

0/150

提交评论