您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机原理与接口技术第五章
西华师范大学计算机学院第五章微机和外设的信息交换西华师范大学计算机学院2本章内容•接口基础•CPU和外设之间的数据传送方式西华师范大学计算机学院3学习目的•掌握接口分类、信息及端口的分类、端口的编址及使用•掌握CPU与外设间数据传送方式的分类、理解传送过程,掌握程序传送方式的实现方法•理解中断的分类、中断向量表和中断全过程西华师范大学计算机学院4第一节接口基础一、使用接口电路的原因功能、品种、速度、信息的表示形式和传输方式、多个外设的选中二、接口电路的作用寻址、输入输出、数据转换、联络、中断管理、复位、可编程、错误检测主要功能:缓冲和联络西华师范大学计算机学院5三、接口按功能分类•使微处理器正常工作所需要的辅助电路•I/O(输入/输出)接口电路其中,I/O接口电路的分类:1、I/O接口电路按信息传输方式分为并行接口串行接口2、I/O接口电路按信息传送方向分为输入接口输出接口输入输出接口单通道双通道第一节接口基础西华师范大学计算机学院6四、CPU和输入输出设备之间的信号数据信息状态信息控制信息数字量模拟量开关量第一节接口基础西华师范大学计算机学院7五、接口部件的I/O端口1、I/O端口即接口中的寄存器2、分类数据端口状态端口(只读)控制端口或命令端口(只写)第一节接口基础西华师范大学计算机学院83、端口的使用•独立编址形成输入输出地址空间•每个端口有一个端口地址,但未必一一对应(一对多的关系)•输入输出指令*CPU对外设的I/O操作实质是对接口中各端口的读写操作。第一节接口基础西华师范大学计算机学院9六、接口与系统的连接和系统总线相连和外设相连第一节接口基础西华师范大学计算机学院10七、CPU对端口输入/输出信息的过程八、CPU和外设之间的数据传送方式分类程序传送方式中断方式DMA方式第一节接口基础西华师范大学计算机学院11第二节程序传送方式一、无条件传送(简单程序传送)1、使用条件:用于不需要联络控制信号的外设2、接口设计(1)硬件原理图西华师范大学计算机学院12无条件传送方式的工作原理图第二节程序传送方式西华师范大学计算机学院13(2)程序实现①输入:MOVDX,端口地址INAL,DX②输出:MOVAL,数据MOVDX,端口地址OUTDX,AL3、实例分析第二节程序传送方式西华师范大学计算机学院14例1:读取搬键开关的状态,假设这开关事先就已搬定(假设端口地址为23FH)。实现程序段:MOVDX,23FHINAL,DX第二节程序传送方式西华师范大学计算机学院15例2:将AL内的8位数据送到二极管LED去显示(假设端口地址为23FH)。实现程序段:MOVDX,23FHOUTDX,AL第二节程序传送方式西华师范大学计算机学院16二、条件传送(程序询问传送、查询方式)1、使用条件用于需要联络控制信号的外设2、硬件原理图第二节程序传送方式查询式输入的接口电路西华师范大学计算机学院17查询式输出的接口电路第二节程序传送方式西华师范大学计算机学院183、数据传送流程图(接口程序设计)取状态信息准备好?从端口输入信息YN(输入操作流程图)第二节程序传送方式西华师范大学计算机学院19取状态信息准备输出信息向端口输出信息设备忙?NY(输出操作流程图)第二节程序传送方式西华师范大学计算机学院203、实例分析例1:用条件传送方式输入A/D转换器转换的数据,假设状态端口地址为23FH,数据端口地址为23EH。A/D转换器需要两个联络信号:①启动信号(上升沿),当A/D转换器收到此信号时,便开始进行A/D转换。②准备好信号(“0”脉冲),当A/D转换器转换完一个数后,便发出此信号,该信号置“1”接口的“输入数据准备好”状态位。第二节程序传送方式西华师范大学计算机学院21查询式输入A/D转换器数据接口逻辑原理图第二节程序传送方式西华师范大学计算机学院22读取A/D转换器转换数据的程序段:…MOVDX,23FHLOOP1:INAL,DXTESTAL,80HJZLOOP1MOVDX,23EHINAL,DX…;数据未准备好查询等待;已准备好,读取A/D转换数据,同时清“0”状态位,为下一次传送作准备。第二节程序传送方式西华师范大学计算机学院23例2:有一种语音发声器芯片,它有两个联络信号:①启动信号(上升沿),启动语音发声器将D0~D7表示的音素码进行发声。②准备好信号(“0”脉冲),当发声器发完一个音码时,该信号置“1”接口的“输出准备好”状态位。假设状态端口地址为23FH,数据端口地址为23EH。第二节程序传送方式西华师范大学计算机学院24查询式输出语音发生器数据接口逻辑原理图第二节程序传送方式西华师范大学计算机学院25输出音码SCODE的程序段:…MOVDX,23FHLOOP1:INAL,DXTESTAL,80HJZLOOP1MOVDX,23EHMOVAL,SCODEOUTDX,AL…;数据未准备好查询等待;已准备好,发出一个新音码,同时清“0”状态位,为下一次传送作准备。第二节程序传送方式西华师范大学计算机学院26例3:教材P205~207查询式I/O的程序实现。DATA_SEGSEGMENTMESSAGEDB‘BUFFEROVERFLOW’,0DH,0AH…COM_SEGSEGMENTBUFFERDB82BUP(?)COUNTDB?COM_SEGENDS…CODESEGMENTASSUMEDS:DATA_SEG,ES:COM_SEG,CS:CODESTAT:MOVAX,DATA_SEGMOVDS,AX;接收缓冲区;计数器;对DS初始化第二节程序传送方式西华师范大学计算机学院27MOVAX,COM_SEGMOVES,AXMOVDI,OFFSETBUFFERMOVCOUNT,DIMOVCX,81CIDNEXT_IN:INAL,56HTESTAL,02HJZNEXT_ININAL,52HORAL,0JPENO_ERRORJMPERROR;对ES初始化;计数器指向缓冲区首址;字符行长度;查询输入程序段;校验正确,则转NO_ERROR;校验出错,则转ERROR第二节程序传送方式西华师范大学计算机学院28NO_ERROR:ANDAL,7FHSTOSBCMPAL,0DHLOOPNENEXT_INJNEOVERFLOWMOVAL,0AHSTOSBSUBDI,COUNTMOVCOUNT,DI…OVERFLOW:MOVSI,OFFSETMESSAGEMOVCX,17第二节程序传送方式西华师范大学计算机学院29NEXT_OUT:INAL,56HTESTAL,01HJZNEXT_OUTLODSBOUT54H,ALLOOPNEXT_OUT…;查询输出程序段第二节程序传送方式*对多个外设采用轮询方式(无优先级和有优先级)4、缺点:独占CPU,以致CPU利用率低西华师范大学计算机学院30第三节8086/8088的中断一、中断的分类硬中断/外中断(由外部硬件产生)软中断/异常/内中断(由软件中的某条指令或软件对标志寄存器中某个标志的设置而产生,完全和硬件电路无关)可屏蔽中断INTR(INTR引脚上引入的高电平激发)不可屏蔽中断NMI(NMI引脚上进入的上升沿激发)(整个系统中只能有一个)西华师范大学计算机学院31二、向量表1、中断向量即中断处理子程序的入口地址,每个中断类型对应一个中断向量。2、中断向量表位于内存的0~3FFH区域设中断类型号为N,则中断向量的逻辑地址计算方法如下:IP(4×N,4×N+1)CS(4×N+2,4×N+3)第三节8086/8088的中断西华师范大学计算机学院32类型255类型3类型2类型1类型00000:03FFH0000:000FH0000:000BH0000:0007HCSIPCSIP…CSIPCSIPCSIP0000:0003H0000:000CH0000:0008H0000:0004H0000:0000H第三节8086/8088的中断西华师范大学计算机学院33三、硬件中断的响应及时序1、响应过程(可屏蔽中断的响应和执行)2、要点:•在当前指令执行完以后,开始响应外部的中断。•封锁指令和往段寄存器传送数据的指令要等执行完下一条指令后,才能响应中断。•等待指令和串操作指令,允许在指令执行过程中进入中断,但必须在一个基本动作完成之后。•INTR的高电平必须维持到CPU响应中断才结束,NMI的上升沿之后的高电平必须维持两个时钟周期。第三节8086/8088的中断西华师范大学计算机学院343、流程图4、中断响应的时序5、中断处理子程序四、软中断•中断指令本身就提供了中断类型码(INTn)。•用软件中断的办法可以调用任何一个中断处理程序。•进入中断时,不需要执行中断响应总线周期•不受IF的影响。•在执行软中断期间,可以响应硬件中断。•没有随机性。第三节8086/8088的中断西华师范大学计算机学院35第四节Pentium的中断一、中断分类可屏蔽中断INTR不可屏蔽中断NMI外部中断(由外部硬件产生)异常中断(CPU在执行指令期间遇到一些异常事件而产生的中断和中断指令本身引起的软件中断,包括内部中断和软件中断。)故障(faults)(检测到异常并在异常起作用前就立即报告且进行处理,是一种调度机制,如缺页故障。)陷阱(即软件中断,是指执行指令时产生异常,从而立即报告并进入中断处理的异常中断,如断点中断)异常终止(往往对应了一个硬件错误或者非法数值,此时会出现针对错误的报告信息,是真正遇到问题和处理问题的中断。)西华师范大学计算机学院36二、中断管理1、实地址方式•与8086方式相同•保留中断表2、保护方式•通过中断描述符表IDT来协助中断响应和处理•门描述符陷阱门:对应异常处理子程序,不影响IF的状态。任务门:在多任务系统中完成任务的切换中断门:对应外部中断的处理程序,进入中断处理之前IF清0并由中断返回指令恢复为原值。•保留中断表第四节Pentium的中断西华师范大学计算机学院37第五节中断优先级问题的解决1、软件查询方式•固定优先级或没有优先级2、简单硬件方式——菊花链法•固定优先级3、专用硬件方式——可编程的中断控制器•固定或不固定优先级第四节Pentium的中断西华师范大学计算机学院38第六节DMA方式1、中断方式的缺点和DMA方式的优点2、DMA传送的原理3、DMA控制器的功能*小结:I/O过程中提出的几个问题①系统如何知道接口部件已经准备就绪②优先级问题③缓冲区的概念问题及工作方式西华师范大学计算机学院未完待续
本文标题:微机原理与接口技术第五章
链接地址:https://www.777doc.com/doc-4012319 .html