您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第6章输入输出和中断
第六章输入和输出和中断本章重点:本章主要讲述输入输出的概念、输入输出方式、中断的概念、中断类型、向量表、优先级、处理过程、中断程序设计以及BIOS/DOS中断调用。6.1输入/输出(I/O)指令和数据的传送方式本节重点:本节重点介绍接口电路的概念和作用,接口的类型,输入输出的寻址方式,CPU与外设数据传送的方式知识回顾:主机为什么要和输入输出设备通信,他们之间的关系如何?主机硬件系统——输入/输出接口简写为I/O接口,是CPU与外部设备间的桥梁CPU外设I/O接口微型计算机的概念结构存储器I/O接口输入设备I/O接口地址总线AB输出设备CPU数据总线DB控制总线CBI/O接口6.1.1接口电路的概念与作用一、外设为什么一定要通过接口电路和主机总线相连?1、高速CPU与低速外设间的速度矛盾;2、主机数字信号与外设模拟信号的矛盾;3、CPU与外设间并行/串行信号形式的矛盾。6.1.1接口电路的概念与作用一、外设为什么一定要通过接口电路和主机总线相连?1、高速CPU与低速外设间的速度矛盾;2、主机数字信号与外设模拟信号的矛盾;3、CPU与外设间并行/串行信号形式的矛盾。6.1.1接口电路的概念与作用二、为什么存储器不用接口却可以直接与CPU连接?1、功能单一:保存信息;2、传送方式单一:一次传送1个字节或1个字;3、品种有限:只读和读/写;4、存取速度与CPU工作速度基本匹配。6.1.2输入输出的寻址方式众多的外部设备如何识别?我们教学楼的教室是如何区分的?编址6.1.2输入输出的寻址方式一、统一编址(存储器对应输入输出方式)内存和外设端口进行统一编址,只有一个统一的地址空间。通常不用设置专门的输入和输出指令。访问外设就好像在访问主存一样(地址唯一)。二、独立编址(端口寻址的输入输出方式)SPCE061A片内存储器映射2KSRAM中断向量0X00000XFFF60X07FF0X0800保留空间0X6FFF0X7000I/O端口系统端口0X7FFF0X80000XFFF50XFFFF32KFLASHROMRAM、ROM统一编址。2Kword的SRAM。片内32KWordFlashROM。6.1.2输入输出的寻址方式一、统一编址(存储器对应输入输出方式)二、独立编址(端口寻址的输入输出方式)建立两个地址空间,一个为内存地址空间,一个为外设地址空间。通过控制总线来确定CPU到底要访问内存空间还是访问外设地址空间。因此需要专门的输入输出指令来访问外部设备(地址冲突),8086外设寻址范围(0000H~FFFFH)。三、输入输出指令I/O指令使用的寄存器:AL/AX、DX1.输入指令IN格式:INAL,PORT;(PORT)ALINAL,DX;[(DX)]ALINAX,PORT;(PORT)AXINAX,DX;[(DX)]AX其中PORT、DX指明I/O地址。当I/O地址为0~255时,可用立即数的形式,当I/O地址0~255时,必须使用DX寄存器存放I/O地址。2.输出指令OUT格式:OUTPORT,AL;(AL)PORTOUTDX,AL;(AL)[DX]OUTPORT,AX;(AX)PORTOUTDX,AX;(AX)[DX]其中PORT、DX指明I/O地址。当I/O地址为0~255时,可用立即数的形式,当I/O地址0~255时,必须使用DX寄存器存放I/O地址。示例:(1)INAL,40H;(40H)AL(2)OUT80H,AL;(AL)80H(3)MOVDX,378H;端口地址378HINAL,DX;([DX])AL6.1.3接口的信息类型和结构特点一、CPU与I/O设备之间的接口信息1、数据信息(1)数字量:以二进制形式表示的数或以ASCII码表示的数或字符(2)模拟量:声音信号(3)开关量:只有两个状态(1和0)的量,用一位二进制数即可表示。2、状态信息反映了当前外设的工作状态,是外设通过接口往CPU传送的。对于输入设备来说,通常用准备好(READY)信号来表明输入的数据是否准备就绪;对于输出设备来说,通常用忙(BUSY)信号表示输出设备是否处于空闲状态。3、控制信息CPU通过接口传送给外设的,CPU通过发送控制信息控制外设的工作。二、接口的结构和识别1、端口:每个接口都有一组寄存器,称这些寄存器为I/O端口(PORT),每一个端口都有一个端口地址。2、端口的类型:•数据端口:对来自CPU和内存的数据或送往CPU和内存的数据起缓冲作用。•状态端口:存放外部设备或接口部件本身的状态。•控制端口:存放CPU发出的命令,以便控制接口和设备的动作。3、端口的识别:一个外设往往有几个端口地址CPU寻址的是端口,而不是笼统的外设,不管是输入还是输出,所用到的地址都是对端口而言的。任务分组讨论:幼儿园老师要完成5个小朋友每人分3块糖,并且全部吃完的一个任务,请同学们讨论一下,有几种可行的方案?6.1.4CPU与外设之间传送数据的方式幼儿园老师要完成5个小朋友每人分3块糖,并且全部吃完的一个任务,请同学们讨论一下,有几种可行的方案?方法1:她先给孩子甲一块糖,然后再给第二块,又给第三块。接着给孩子乙,其过程与孩子甲完全一样。依次类推,直至到第5个孩子发完四块糖。方法2:她先给孩子甲一块糖,盯着甲吃完,然后再给第二块,等吃完第二块又给第三块。接着给孩子乙,其过程与孩子甲完全一样。依次类推,直至到第5个孩子发完四块糖。看来这种方法效率太低,重要之点还在于孩子们吃糖时她一直在守候,什么事也不能干。方法3:每人发一块糖各自去吃,并约定谁吃完后就向她举手报告,再发第二块。看来这种新方法提高了工作效率,而且在未接到孩子们吃完糖的报告以前,她还可以腾出时间给孩子们改作业。但是这种方法还可以改进。方法4:进行批处理:每人拿3块糖各自去吃,吃完3块糖后再向她报告。显然这种方法工作效率大大提高,她可以腾出更多的时间改作业。方法5:权力下放,把发糖的事交给另一个人分管,只是必要时她才过问一下。6.1.4CPU与外设之间传送数据的方式1无条件传送2查询传送3中断传送4直接存储器传送(DMA)5通道方式6外围处理机方式(PPU)1、无条件传送方式(同步方式)1.无条件传送方式(同步方式)如果计算机能够确信一个外设已经准备就绪,那就不必查询外设的状态而可直接进行信息传输,这称为无条件传送方式。特点:适用于CPU与外设速度同步的情况,结构简单,可靠性要求不高的设备,一般较少使用三态缓冲器地址译码器数据总线地址总线数据来自外设IO/MRD无条件传送的输入方式要求CPU在执行输入指令时,外设的数据是准备好的,即已经存放在三态缓冲器中,否则出错。dataaddress1101011要求CPU在执行输出指令时,确信所选中的输出锁存器是空的。锁存器地址译码器数据总线地址总线数据到外设IO/MWR无条件传送的输出方式address11data01101返回你吃完了吗?还没有吃完啦吃完啦吃完啦吃完啦吃完啦2.查询传送方式2.查询传送方式查询方式:CPU通过执行程序不断地读取并测试外设的状态,如果外设处于准备好状态(输入设备)或空闲状态(输出设备),则CPU执行输入指令或输出指令。特点:CPU与外设速度不同步的情况。CPU在传送数据之前要查询外设的相关状态。当外设满足传送条件时,就传送数据,否则,继续查询状态,等待满足条件,此时CPU要占用很多时间去查询外设的状态。(1)、查询式输入输入状态信息READY?输入数据NY输入设备锁存器三态缓冲器缓冲器地址译码器数据去数据总线+5VIO/MRDIO/MRDREADY地址总线DRQ选通状态信息数据查询式输入的接口电路接口电路中除了有传送数据的端口外,还有传送状态的端口。adressdata10111101110100111110(2)、查询式输出读状态端口BUSY?输出数据准备输出数据YN输出设备锁存器三态缓冲器地址译码器去数据总线+5VIO/MWD地址总线DR数据IO/MRD状态信息“BUSY”Q数据总线ACK选通信号“BUSY”查询输出接口电路返回3.中断传送方式3.中断传送方式中断的概念:当输入设备将数据准备好或者输出设备可以接收数据时,向CPU发出中断请求,使CPU暂时停下目前的工作而和外设进行一次数据传输。等输入操作或输出操作完成以后,CPU继续进行原来的工作。特点:中断传送方式弥补了查询方式中CPU要占用很多时间去查询状态的不足,实现了CPU与外设的同步操作。CPU进行I/O操作之后,就去执行其他程序;外设完成操作,向CPU发出中断请求,使CPU进入中断处理程序,接收外设传送的数据或启动下一次I/O操作。处理完本次中断后,CPU继续执行进入中断前的程序。显然,CPU与外设是并行工作的,在这种方式下,CPU的工作效率很高,并可使多台外设与CPU并行工作。:::::::现行程序:::::::A::B:::中断服务程序入口地址3、中断传送方式随机产生的中断申请堆栈输入设备锁存器三态缓冲器数据去数据总线+5VIO/MRDDRQ选通数据装置中断允许三态缓冲器中断矢量去数据总线INTA(中断响应信号)地址译码器地址总线INTR中断传送方式的接口电路返回4、直接存储器传送方式4.直接存储器传送方式(DMA:DirectMemoryAccess)问题:无条件方式、查询方式和中断方式下,都是通过CPU执行指令来实现主机和外设的传输,每一条指令要有取指和执行时间,通常传送一个字节需要几十到几百微秒,这对于高速的I/O设备来讲,显得速度太慢了。解决办法:在DMA方式下,外部设备利用专用的接口电路直接和存储器进行高速的数据传送,而并不经过CPU。4.直接存储器传送(DMA)方式特点:DMA方式适用于高速I/O设备。通过DMA硬件控制,直接在外设与存储器之间交换数据。在DMA方式下,CPU让出总线控制权,使外设与存储器在很短的时间内成批交换数据。当数据交换完成后,CPU收回总线控制权。DMA实现方法:在利用DMA方式进行数据传送时,要利用系统的数据总线、地址总线和控制总线。在用DMA方式进行数据传输时,接口电路要向CPU发出请求,使CPU让出总线,把总线控制权交给DMA传输的接口电路(DMA控制器)。数据端口状态/控制端口地址寄存器计数器状态/控制寄存器DMA控制器CPU存储器数据缓寄存器DMA请求触发器输入设备READYDMA请求DMA响应HOLDHLDA4、直接存储器传送(DMA)方式data1data1111data2+1-1(一)DMA操作的基本方法2、周期挪用:把CPU不访问存储器的那些周期“挪用”来进行DMA操作。3、周期扩展:CUP与DMA交替访问存储器。即轮流使用总线,不需要总线的申请、建立和释放过程。1、CPU停机方式:最常用也是最简单的一种DMA方式。(二)DMA控制器的基本功能1、能接收外设的请求,向CPU发出DMA请求信号。2、当CPU发出DMA响应信号后,接管对总线的控制,进入DMA方式。3、能输出地址信息和修改地址信息。4、能向存储器和外设发出相应的读/写信号。5、能控制传送的字节数,判断DMA传送是否结束。6、在DMA传送结束时,能结束DMA请求信号,释放总线,把总线控制权还给CPU。(三)DMA传送方式1、单字节方式:每次DMA请求只传送一个字节数据,每传送完一个字节,都撤除DMA请求信号释放总线。2、字节传方式:每次DMA请求连续传送一个数据块,待规定长度的数据块传送完后才撤除DMA请求信号释放总线。返回吃完了吗?正吃着呢吃完了5.通道方式及外围处理机方式5.通道方式DMA的不足之处:计算机中连接着许多输入输出设备,其中包括字设备和块设备。为每一个设备都配置一个专用的DMA控制器是不经济的。而且多个DMA的并行工作还会使存储器的访问发生冲突。因而必须在多个设备之间共享DMA控制器,这样就形成了输入输出通道的概念。通道是一个具有输入输出处理器控制的输入输出部件。通道控制器有自己的指令,即通道命令,能够根据程序控制多个外部设备并提
本文标题:第6章输入输出和中断
链接地址:https://www.777doc.com/doc-3669261 .html