您好,欢迎访问三七文档
·I/O接口概述I/O端口与其寻址方式CPU与外设之间的数据传送方式本章内容有关中断的基本概念8086中断系统8086CPU中断响应流程掌握微型计算机接口技术的基本概念了解主机与外设之间的各种数据传送方式了解I/O端口的寻址方式学习目的掌握中断技术的基本概念了解8086中断系统及其对各种类型中断的响应流程CPU控制寄存器输入缓冲寄存器输出缓冲寄存器状态寄存器数据总线地址译码读信号写信号准备好中断请求地址片选A0A1输入设备数据输入数据输入准备好数据输入回答输出设备数据输出数据输出准备好数据输出回答6.1I/O接口概述输入输出设备通过接口电路与CPU连接一、I/O接口的功能接口电路须为外部设备提供几个不同地址的寄存器,每个寄存器称为一个I/O端口。通常的I/O接口示意图如下:I/O接口示意图I/O接口内部一般由数据、状态、控制三类寄存器组成。数据寄存器在输入时,保存外设发往CPU的数据(输入寄存器)在输出时,保存CPU发往外设的数据(输出寄存器)状态寄存器——保存状态信息,CPU可从状态口读取当前状态;控制寄存器——用来保存CPU写入的控制字。二、CPU与I/O之间的接口信号CPUI/O设备I/O接口123ABDBCBDATASTATUSCONTROLCPU与外设之间的接口信息1.数据信息(DATA)(1)数字量二进制格式或以ASCII码标准(2)模拟量非电量信息传感器电量信号处理A/DCPU(3)开关量只表示两个状态的量(可以用0、1表示)2.状态信息(STATUS)输入时,输入设备是否准备好?(READY)输出时,输出设备是否空闲?(BUSY)反映当前外设工作状态的信息,例如:3.控制信息(CONTROL)例如设置I/O设备工作模式,控制I/O设备启动或停止等。CPU通过接口输出用以控制外设工作的信息。外部设备与微处理器进行信息交换必须通过访问该外设相对应的端口来实现。具体访问这些外设端口的过程叫做寻址。通常有两种寻址方式:存储器映像的I/O寻址方式和I/O端口单独寻址方式。三、I/O端口及其寻址方式(a)存储器映射方式示意图(b)I/O单独编址方式示意图I/O单独编址方式和存储器映射方式的示意图I/O空间0000HFFFFH00000H内存空间FFFFFH1M00000H供I/O接口使用内存空间FFFFFH1、存储器映像的I/O寻址方式端口地址与存储器地址统一编址优点:1).使用相同的指令访问外设和存储器。端口寻址手段丰富,不需要专门的I/O指令。2).I/O寄存器数目与外设数目不受限制,而只受总存储容量的限制。3).读写控制逻辑比较简单。缺点:I/O端口要占用存储器的一部分地址空间,使可用的内存空间减少。2、I/O端口单独寻址方式I/O端口和存储器分开寻址优点:1).I/O口的地址空间独立,不占用存储器地址空间。2).地址线较少,寻址速度相对较快。3).专门I/O指令的使用,使编制的程序清晰,便于理解和检查。1).I/O指令较少,导致程序设计的灵活性较差;2).需要存储器和I/O端口两套控制逻辑,增加了控制逻辑的复杂性。缺点:CPU访问I/O端口必须采用专用I/O指令,包括输入指令IN、输出指令OUT及其相关指令组。硬件上要有控制线来区分是存储器还是外设访问。80X86系列微处理器采用I/O端口单独寻址方式。指令包含直接寻址和寄存器间接寻址两种类型。采用直接寻址时指令格式为:输入指令:INAL,PORT输出指令:OUTPORT,AL这种直接寻址方式的端口地址为一个字节长,可寻址256个端口采用间接寻址时指令格式为:输入指令:INAL,DX输出指令:OUTDX,AL这种间接寻址方式的端口地址为两个字节长,由DX寄存器间接给出,可寻址64K个端口地址。186.2简单接口电路掌握:•两类简单接口芯片的应用19一、三态门接口•高电平、低电平、高阻态2074LS244•含8个三态门的集成电路芯片•在外设具有数据保持能力时用作输入接口•74LS244应用例(教材p239)21二、锁存器接口•通常由D触发器构成;•特点:–具有对数据的锁存能力;–不具备对数据的控制能力22常用锁存器芯片•74LS273–8D触发器,不具备数据的控制能力(p240图)•74LS373–含三态的8D触发器,具有对数据的控制能力(OE)。–既可以做输入接口,也可以做输出接口。•74LS373在CP高电平锁存,374在CP上升沿锁存23I/O接口综合应用例•根据开关状态在7段数码管上显示数字或符号•设输出接口的地址为F0H•设输入接口地址为F1H•当开关的状态分别为0000~1111时,在7段数码管上对应显示’0’~’F’(见p242)O1I1O2I2O3I3O4I4E1K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7abcdefgDP7406反相器74LS273Rx8≥174LS138D0~D7IOWIORY0Y1F0H=11110000F1H=11110001&A6~A4A3A2A1A0D0D1D2D3译码器A7A01符号形状7段码.gfedcba符号形状7段码.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’01101101’D’01011110’6’01111101’E’01111001’7’00000111’F’0111000126I/O接口综合应用例——程序段……Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71H……LEABX,Seg7MOVAH,0GO:INAL,0F1HANDAL,0FHMOVSI,AXMOVAL,[BX+SI]OUT0F0H,ALJMPGO6.3CPU与外设之间的数据传送方式CPU与外设间的数据传送,实际上是CPU与I/O接口间的数据传送。传送方式包括无条件传送、查询传送、中断传送、以及DMA方式。一、无条件传送方式无条件传送适合于数据传送不太频繁的情况,如对开关、数码显示器等一些简单外设的操作。所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输。无条件传送接口示意图输出操作:OUTPORT,AL输入操作:INAL,PORTM/IO=0,RD=0,地址译码有效,输入缓冲器被选中。M/IO=0,WR=0,地址译码有效,输出锁存器被选中。无条件传送的接口电路举例二、查询传送方式查询传送方式,又称异步传送方式。它在执行输入输出操作之前,需通过测试程序对外部设备的状态进行检查。当所选定的外设已准备“就绪”后,才开始进行输入输出操作。查询传送方式流程图查询传送方式工作流程包括两个基本环节(1)查询环节通过读取状态寄存器的标志位来检查外设是否“就绪”。(2)传送环节当上一环节完成后,将对数据口实现寻址,并通过输入指令从数据端口输入数据,或利用输出指令往数据端口输出数据。查询式输入时的数据和状态信息查询式输入程序流程图NEXT:INAL,STATUS-PORT;从状态口输入状态信息TESTAL,01H;测试标志位D0是否为1JZNEXT;未就绪,继续查询INAL,DATA-PORT;从数据端口输入数据1.查询式输入查询式输出的端口信息查询式输出程序流程图NEXTOUT:INAL,STATUS_PORT;从状态口输入状态信息TESTAL,80H;测试标志位D7是否为0JNZNEXTOUT;未就绪,继续查询MOVAL,BUF;从缓冲区BUF取数据OUTDATA_PORT,AL;从数据端口输出2.查询式输出三、中断传送方式为了进一步提高CPU的效率和系统实时性,可以采用中断传送方式。在中断传送方式下,当外设准备好时,主动向CPU发出中断请求,请求CPU进行数据的输入输出。中断方式的数据输入采用中断传送方式时,外设处于主动地位,无需CPU花费大量时间去查询外设的工作状态。与程序方式相比,大大提高了CPU的效率。外设请求中断INTR有效主程序中断服务程序输入数据外设准备数据四、DMA方式DMA(DirectMemoryAccess):是存储器与外设或存储器之间进行大量数据传送的方法,是在DMA控制器(DMAC)的控制下进行的。•通过DMA控制器实现的一种高速数据传送方式;典型应用是磁盘与内存的数据交换。•完全由硬件实现,不需要CPU干预,也不需要软件介入。•常用的DMA控制器是Intel8237。CPU总线存储器外设程序控制的数据输入/输出DMADMA与程序控制数据传送路径比较DMA与程序控制数据传送路径的比较1.DMA传送的工作原理DMA传送原理图DMA工作流程(2)CPU响应后,DMAC接管对总线的控制,进入DMA方式。(1)能向CPU发出BUSRQ请求信号。(3)能发出地址信息,并对I/O端口或存储器寻址。2.DMA控制器的基本功能(5)决定数据传送的地址和数据传送的长度。(4)发出读、写控制信号。(6)判断DMA操作的结束,撤消总线请求信号,使CPU恢复正常工作。3.DMA操作方式(1)单字节方式DMA控制器操作每次均只传送一个字节。(2)字组方式也叫请求方式或查询方式。这种方式以有DMA请求为前提,能够连续传送一批数据。(3)连续方式连续操作方式是指在数据块传送的整个过程中,不管DMA请求是否撤消,DMA控制器始终控制着总线。除非传送结束或检索到“匹配字节”,才把总线控制权交回CPU。特点从DMA操作角度来看,以连续方式最快,字组方式次之,单字节方式最慢。从CPU的使用效率来看,则正好相反,以单字节方式最好,连续方式最差,字组方式居中。INTn指令中断逻辑非屏蔽中断请求中断控制系统(8259A)INT3指令INTO指令单步中断除数为0中断…可屏蔽中断请求NMIINTR硬件中断软件中断6.48086CPU的中断系统一、中断类型8086能处理256种中断,分为两大类:外部中断和内部中断。其中断分类如右图8086的中断分类1.外部中断(硬件中断)(1)非屏蔽中断NMI(类型号为2)有效,不受FR中IF的影响,常用于处理系统的重大故障。(2)可屏蔽的中断INTR高有效,CPU是否响应,取决于FR中IF的状态。常用于各种外设的中断。2.内部中断(软件中断)通常由三种情况引起:(1)INTn指令中断(n为中断类型号)(2)处理CPU某些错误的中断除法错中断(中断类型号为0)溢出中断(INTO)(中断类型号为4)(3)为调试程序设置的中断a单步中断当FR中TF=1时,每执行一条指令,CPU产生类型为1的单步中断。b断点中断设置断点实际上是把指令“INT3”插入到程序中,CPU每执行到断点处的“INT3”指令,便产生类型为3的中断。二、中断优先级8086系统中,中断优先级的次序为:高低内部中断(除法错:0、INTO:4、INTn)NMI(类型2)INTR单步中断(类型1)三、中断向量表CPU响应中断后,如何得到中断服务程序的入口地址(中断向量),转入到中断服务程序?8086CPU通过建立中断向量表的方法解决。中断向量(中断服务程序入口地址)在表中的地址=中断类型号×4中断向量表溢出中断0000:0014H0000:0013H0000:0010H0000:000FH0000:000CH0000:000BH0000:0008H0000:0007H0000:0004H0000:0003H0000:0000H类型5类型255供用户定义的中断(共224个)0000:007FH0000:007EH0000:03FFHCSIPCSIPCSIPCSIPCSIPCSIPCSIP专用的中断(共5个)保留的中断(共27个)类型32类型31类型0类型4类型3类型2类型1除数为0中断非屏蔽中断单步中断断点中断溢出中断0000:0014H00
本文标题:输入输出和中断技术
链接地址:https://www.777doc.com/doc-3967885 .html