微机原理与接口技术第6章输入输出与中断技术_第1页
微机原理与接口技术第6章输入输出与中断技术_第2页
微机原理与接口技术第6章输入输出与中断技术_第3页
微机原理与接口技术第6章输入输出与中断技术_第4页
微机原理与接口技术第6章输入输出与中断技术_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

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

文档简介

侯彦利第6章输入/输出与中断技术吉林大学工学部计算机硬件基础课程

微机原理与接口技术1第6章输入/输出与中断技术

侯彦利23本章教学目的了解输入输出系统的基本知识了解系统总线与输入输出设备的连接方式。掌握简单设备接口的设计方法了解中断的基本概念了解中断的处理过程熟悉8088/8086中断系统46.1I/O接口概述通常把处理器和主存储器之外的部分称为输入输出系统。包括输入输出设备、输入输出接口和输入输出软件;56.1.1I/O接口的功能(1)信号电平转换不同规格的电平转换为TTL或者MOS电路的电平(2)数据格式转换串并转换或数模转换(3)速度匹配通过缓冲或锁存保证CPU与外设传输数据时各部件都能正确接收数据。6(4)数据传送建立数据传输的逻辑关系,即规定好数据传输的过程与时序。(5)寻址能力为外设的各个端口编址,使外设能被cpu访问到。(6)错误检测功能可进行数据校验,保证数据传输的正确性。7高速的微处理器与低速的外设能够协调的工作,需要有一个具有数据缓冲和锁存能力、数据格式转换能力、提供外设状态和定时控制能力的连接电路,我们把它叫做输入输出接口。86.1.2I/O接口的分类CPU与接口之间通过系统总线传输信息,属于并行传输,传输的信息有接口的地址信息、控制信息和数据信息。接口与设备之间可以通过串行和并行两种方式交换信息,包括数据信息、控制信息和状态信息。9按接口与设备之间的数据传送方式,接口分为:并行接口:一次传送一个字节或字的所有位。串行接口:一位一位地传送。106.2I/O端口及其编址方式CPU与外设进行数据传输,接口电路需要设置若干专用寄存器,缓冲输入输出数据,设定控制方式,保存输入输出状态信息,这些寄存器常称为端口。接口中可被CPU直接访问的专用寄存器称为端口。端口可分为:数据端口:CPU与外设交换数据信息;状态端口:保存外设当前的状态信息;控制端口:CPU向外设发出的控制信息;11CPU通过对端口分配地址识别它们,称为编址。CPU给每个端口分配一个地址,称为端口地址或端口号。一个接口中的多个端口分配连续地址。思考:专用寄存器中保存的是什么数据?这些数据可能是从哪里来的?12根据传输方向,端口可分为输入端口和输出端口。输入端口:具有“通断”控制能力输出端口:具有锁存能力13D0~D774LS244+5VK0K1K2K3K4K5K6K7DO0~DO7I0I1I2I3I4I5I6I7E1E2≥1IORA2A3A4A5A6A7A8A9A15A10A11A12A13A14系统总线信号≥1&三态门作输入接口1474LS273作输出端口系统总线信号D0D0D7D7~~A0A1A2A3A4A5A6A7IOW&&≥111CP+5VQ0Q1Q6Q7…A8A9A10A11A12A13A14A15+5V74LS27374LS273156.2.2I/O端口的编址方式I/O端口编址方式是计算机系统为I/O端口分配端口号的方式。常见的I/O编址方式有两种:与内存单元统一编址方式独立编址方式16与内存单元统一编址方式:将存储器的存储单元与外设的端口统一编址,即一个端口与一个存储器单元等同看待;通常为一个外设的各个端口分配连续的地址。优点:数据传送指令、测试指令都可以访问I/O端口,不用设置专门的I/O指令;不需要专用的I/O端口控制信号。缺点:划出的端口地址范围,不能再作为内存地址使用,所以减少了内存地址空间。17独立编址方式:又称单独编址方式,给外部设备分配专用的端口地址,提供专用的控制信号,使它们成为一个独立的I/O地址空间,与内存编址无关。优点:不占用内存空间;输入输出地址线根数少,I/O端口译码电路简单。

缺点:需要专用的I/O指令、专用控制线。188088/8086CPU采用了I/O端口独立编址方式,它使用地址信号线A0~A15,最多能够管理64K个端口,地址范围0000H~FFFFH,有专用的控制信号IOR和IOW或IO/M、WR、RD;8位的端口地址用于访问系统主板上的设备;16位的端口地址用于访问串行口或并行口以及视频和磁盘驱动系统。1920

D0

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

A13

A14

A15

≥1

≥1

IOR

+5V

10KΩ

K21专用指令:INOUT内存地址(共1MB)0端口地址(共64KB)0FFFFFHFFFFHb独立编址地址空间内存地址(共960KB)0端口地址(共64KB)EFFFFHFFFFFHF0000Ha统一编址地址空间图6-2两种不同编址方式的地址空间22I/O端口地址的译码I/O端口的地址译码与内存地址译码原理一样,可以用基本逻辑门电路搭建,也可以使用专用的译码器译码。23D0D7~D0D7~Q011111111Q1Q2Q3Q4Q5Q6Q7CP74LS2737406510Ω×8abcdefg+5V10KΩKCIOW≥174LS138≥1A0IORA1A2A3A4A5A6A7A8A9A10A11A12A13A14A15≥1&CG2AG2BBAY0Y1系统总线D0DPG1A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00000000011110XXX74LS24424256.3CPU与外部设备之间的数据传送方式主机与外设之间通过一定的控制方式进行信息交换,常用的控制的方式包括无条件传送方式、程序查询传送方式、中断传送方式、直接存储器存取(DMA)方式。266.3.1无条件传送方式又称为同步方式,适合简单外设的数据输入输出。常用外设:开关、继电器、步进电机、发光二极管等。优点:控制程序简单,软、硬件开销都少。27无条件输入接口28无条件输出接口296.3.2程序查询传送方式又称为条件传送方式。I/O接口中有一个状态端口,CPU通过读取状态端口的信息了解设备目前的状态。工作过程:检查外设的状态,判断外设是否“准备好”。若没有准备好,则继续查询其状态。外设已准备好,CPU与外设进行数据传送。若还有数据待传输,则转①,否则终止传输。30程序查询传送方式流程图缺点:效率低实时性差316.3.3中断传送方式当设备处于空闲状态或者外设数据准备好时,接口向CPU发出中断请求信号,CPU收到申请后及时响应接口的中断请求,暂停执行主程序,转入执行I/O操作程序(中断服务子程序),完成数据传输之后再返回到主程序继续执行,这种数据传送方式称为中断方式。32中断传送流程图优点:实时性好处理迅速缺点:不适用于

大量数据

的高速传输执行主程序是否有中断请求?中断处理,执行数据输入/输出中断响应中断返回执行主程序输入/输出指令执行主程序一条指令执行结束33程序控制下的输入输出方式无条件传送方式、程序查询传送方式和中断传送方式在数据传送过程中,CPU从内存读出数据,再输出到外部设备,因此,这三种方式被统称为程序控制下的输入输出方式(Programmedinputandoutput),简称PIO方式。346.3.4DMA方式直接存储器存取(DirectMemoryAccess)方式简称为DMA方式。是在内存储器和I/O设备之间建立数据通路,不经过CPU的干预,实现内存与外设之间的快速数据传送。实现DMA方式需要专门的硬件装置DMA控制器(DMAC),它负责控制外设与内存之间的数据传输。(8237A-5、8237-2)35DMAC的功能DMAC接收外设请求信号,并向CPU发出总线请求信号。DMA过程中可实现:向地址总线发送地址信号,能够生成读写控制信号。控制数据传送的字节数。DMA过程结束时,能向CPU发出DMA结束信号,并将总线的控制权交还给CPU。36DMAC的工作流程①

外设向DMA控制器发出“DMA传送请求”信号(DRQ);②DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD,表示希望占用总线;③CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,向DMA控制器发出“总线响应”信号(HLDA)。④DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK;⑤DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送;⑥

规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。37386.4简单接口电路的应用接口电路结构包括:(1)和系统总线的连接部分;(2)和外设的连接部分;(3)信号转换电路;(4)上述三部分的控制逻辑。391.简单的输入接口电路4074LS244:8个三态门两个控制端:1G和2G,低电平有效,各控制4个三态门A端为数据输入端,Y端为数据输出端。当控制端为低电平时,数据从A端输入,Y端输出;当控制端为高电平时,三态门呈高阻状态,A端与Y端断开。41端口地址分别为FFC0H与FFC1H。读取开关的程序:MOVDX,0FFC0HINAL,DX42【例题6-1】分析电路,说明输入端口的地址范围,编写程序判断8个开关的状态,如果8个开关都闭合执行GOON程序段,否则执行NEXT程序段。4344 MOVDX,0FFC1H INAL,DX TESTAL,0FFH JZGOONNEXT: … MOVAX,BX ADDAX,CXGOON: …45测试K3的状态,K3断开时转到Label处执行,程序段如下:

TESTAL,4 JNZLabel ……Label:……466.4.2简单的输出接口电路74LS273、74LS3748位D锁存器,输入端D0~D7,输出端Q0~Q7MR清除端,为低电平时,芯片复位,Q端输出全为0;CP触发端,上升沿触发,当CP从低电平到高电平跳变时,D0~D7的数据输出到Q0~Q7并锁存。4774LS273作输出端口系统总线信号D0D0D7D7~~A0A1A2A3A4A5A6A7IOW&&≥111CP+5VQ0Q1Q6Q7…A8A9A10A11A12A13A14A15+5V74LS27374LS27348八段LED显示器abcdefghcomabcdefghcomabcdefgh图6-13八段LED显示器(a)段排列(b)共阴极(c)共阳极49八段LED显示字形代码表字型共阳极代码共阴极代码字型共阳极代码共阴极代码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH50【例题6-2】74LS273作为输出接口电路驱动一个共阴极8段LED显示器。请在LED显示器上循环显示数字0~F。515274LS273的端口地址为FE00H53程序数据段DSEG SEGMENTSEG8 DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB6FH,77H,7CH,39H,5EH,79H,71H,00HDSEG ENDS54程序代码段CSEG SEGMENT ASSUMECS:CSEG,DS:DSEGSTART: MOV AX,DSEG MOV DS,AX LEA BX,SEG8 ;取8段码显示字形表基地址 MOVDX,0FE00H AA1:MOV SI,0 AA2:MOV AL,[BX+SI]

;取显示字形码 OUT DX,AL55 CALLDELAY ;调用延时子程序 INCSI CMPSI,16 JZ AA1 JMPAA2 MOVAH,4CH INT21HCSEGENDS ENDSTART56延时子程序DELAY PROCNEAR ;子程序开始

PUSH CX MOV CX,2FFFHSUBS:LOOP SUBS POP CX RETDELAY ENDP ;子程序结束576.5中断技术58中断的概念中断,是指在程序执行过程中,出现某种紧急事件,CPU暂停执行现行程序,转去执行处理该事件的程序——中断服务程序,执行完后再返回到被暂停的程序继续执行,这一过程称为中断。59中断源引起中断的设备或事件称为中断源,计算机的中断源可能是某个硬件部件,也可能是软件。常见的中断源有:外围设备、CPU、存储器、控制器、总线、实时钟的定时中断、程序指令、硬件故障;60中断的分类:内部中断和外部中断内部中断包括:由CPU本身产生的中断、由控制器产生的中断、由程序员安排的中断指令引起的中断。外部中断又根据中断事件的紧迫程度将中断源划分为可屏蔽中断和不可屏蔽中断。可屏蔽中断是指可以延时处理的事件,例如打印机的输入输出中断请求。

不可屏蔽中断是指事件异常紧急,必须马上处理,例如掉电、内存奇偶校验错引起的中断。616.6中断处理的基本过程中断处理的基本过程包括中断请求、中断判优、中断响应、中断服务和中断返回。626.6.1中断请求内部中断无需请求外部中断请求由中断源提出。CPU的两个中断输入引脚INTR和NMI负责接收中断请求信号。INTR可屏蔽中断请求输入引脚。可屏蔽中断请求信号一般为高电平。受中断允许标志位IF的影响,当IF=1时,CPU接受中断请求;当IF=0时,CPU不予响应,该请求被屏蔽。NMI不可屏蔽中断请求输入引脚,上升沿触发。63646.6.2中断判优CPU一次只能接受一个中断源的请求。多个中断源同时向CPU提出中断请求时,CPU必须找出中断优先级最高的中断源,这一过程称为中断判优。中断判优可以采用硬件方法,也可采用软件方法。65软件判优CPU检测到中断请求后,响应中断进入中断服务程序,首先读取中断寄存器的内容,逐位检测它们的状态,检测到某一位为1,就确定对应的中断源有中断请求,转去执行它的中断服务程序。先检测哪一个,哪一个的优先级就高,后检测哪一个,哪一个优先级就低,检测的顺序就是各中断源的优先级顺序。66软件判优的简单电路67查询程序:

MOVDX,87FFHINAL,DX ;读中断请求寄存器内容RCRAL,1JCIR0 ;IRQ0有请求,转IR0RCRAL,1JCIR1 ;IRQ1有请求,转IR1RCRAL,1JCIR2 ;IRQ2有请求,转IR2软件判优的硬件电路简单,优先权安排灵活,但软件判优所花的时间长,如果中断源很多,中断的实时性就很差。68硬件判优两种常见的方式:菊花链判优电路和中断控制器判优。691.菊花链判优电路基本设计思想:每个中断源都有一个中断逻辑电路,所有的中断逻辑电路连成一条链,形如菊花。排在链前端的中断源优先级最高,越靠后的设备优先级越低。CPU收到中断请求,如果允许中断,CPU发出中断应答信号INTA,INTA信号首先到达菊花链的前端。70INTA71如果中断源1提出了中断请求,它就会截获INTA信号,封锁它,使它不能向下一个中断源传送,下面中断源的中断请求不能被响应。72中断控制器判优CPU根据中断向量码确定中断源。中断控制器中,有一个中断优先级判别器判断中断优先级,将优先级最高的中断源的中断向量码提供给CPU。736.6.3中断响应中断响应时,CPU向中断源发出中断应答信号INTA,同时:①

保护硬件现场,即将标志寄存器FLAGS入栈;②

关中断,即设置IF=0;③

保护断点,把主程序断点的CS和IP值压入堆栈;④

获得中断服务程序的入口地址,分别送入IP和CS中。746.6.4中断服务中断服务的过程:保护现场开中断中断服务恢复现场返回756.6.5中断返回中断返回操作是中断响应操作的逆过程,CPU从堆栈中弹出IP、CS和FLAGS,恢复被中断程序的基本信息,使被中断程序继续运行。在中断服务程序的最后一条语句IRET的功能就是中断返回的操作。766.78086/8088中断系统8086/8088CPU的中断系统可以处理256种中断。每种中断对应一个编号,范围0~255,这个编号称为中断源的中断类型码或中断向量码。77中断分为两类:内部中断和外部中断。外部中断又分为可屏蔽中断和不可屏蔽中断两类。781.外部中断不可屏蔽中断编号为2NMI是不可屏蔽中断请求信号的输入端。优先级最高。CPU不需获取中断向量码,不发送INTA,直接查中断向量表获得中断服务程序的入口地址。不可屏蔽中断用于处理紧急事件,如存储器读/写出错、电源掉电等。79可屏蔽中断INTR是可屏蔽中断请求信号的输入端。CPU收到中断请求信号后,检测中断允许标志位IF,若IF=1,CPU准备响应INTR请求;若IF=0时,CPU屏蔽INTR请求。中断标志位IF可以用指令STI和CLI进行设置。可屏蔽中断的优先级低于不可屏蔽中断。802.内部中断内部中断包括:INTnINT3INTO指令除法错中断单步中断。81INTnCPU执行INTn指令,产生中断向量码为n的中断。n的取值范围0~255。不管是内部中断还是外部中断都可以通过INTn指令调用其中断服务程序。INT3CPU执行INT3指令引起的中断,称为断点中断,中断向量码为3。这是个单字节指令,代码为0CCH。在调试程序时用这条指令设置断点。82INTO指令4号CPU执行INTO指令时,检测溢出标志位OF,如果OF=1,则产生中断向量码为4的中断。若OF=0,INTO指令不起作用。

MOVBL,126 MOVAL,5 ADDAL,BL;OF=1 INTO;执行溢出中断服务程序83除法错中断0号执行除法指令时,除数为0或商数超出了结果寄存器的取值范围,产生中断,中断向量码为0。这个中断的处理过程一般由系统软件负责。单步中断1号也叫陷阱中断,中断向量码为1。标志寄存器的标志位TF=1产生的中断,TF也叫陷阱(Trap)标志。如果TF=1,CPU执行一条指令后产生单步中断。单步中断常用于调试程序。843.中断优先级与中断嵌套8088/8086系统的中断优先级如下:不可屏蔽中断>除法错中断>INTn>INTO>可屏蔽中断>单步中断中断可以嵌套8088/8086中断的处理流程CPU在每条指令的最后一个时钟周期检测中断请求信号:(1).若有非屏蔽中断请求,则CPU执行完现行指令后,就立即响应中断。2号。8586(2).如果有可屏蔽中断请求,CPU响应中断需要满足4个条件:

CPU处于开中断状态,即IF=1;②

当前没有发生复位、没有总线请求、没有内部中断、没有不可屏蔽中断;③

当前执行的指令不是开中断指令STI,也不是中断返回指令IRET。如果刚巧是,CPU将它们执行结束后,再执行一条指令,CPU才能响应中断。④CPU执行完现行指令。(3).进入中断响应阶段,CPU向中断源发出中断应答信号INTA,同时:①

保护硬件现场,即将标志寄存器FLAGS入栈;②

关中断,即设置IF=0;③

保护断点,把主程序断点的CS和IP值压入堆栈;④

温馨提示

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

评论

0/150

提交评论