第5章输入输出及中断

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章半导体存储器本章提要5.1概述5.2系统总线及接口5.3中断控制系统5.4计数定时接口5.5并行输入输出接口5.6串行接口5.1概述数据总线DB控制总线CB地址总线AB存储器I/O接口输入设备I/O接口输出设备CPU微机系统的基本组成5.1概述四种类型开关量:状态量数字量二进制信息——数ASCII码表示的数或字符脉冲量:两个稳态之间的变化模拟量:模拟电压和电流,模拟量经A/D转换后输入计算机一.I/O信号的形式5.1概述-I/O接口I/O接口:将外设连接到总线上的一组逻辑电路的总称。用以实现外设与主机之间的信息交换二.I/O接口1.I/O接口的功能1)信号的形式变换2)电平转换和放大3)锁存及缓冲4)I/O定向(译码)5)并行及串行转换5.1概述-I/O接口1)数据信息2)状态信息:表示外设当前所处的工作状态例如:某一外设,当其为CPU准备好数据后,I/O端口地址2的D0位为1;当数据未准备好时,该位为0。WAIT:INAL,2TESTAL,1JZWAIT;未准备好,CPU继续查询;若准备好,CPU可读入数据3)控制信息:由CPU发出的,用于控制I/O接口的工作方式以及外设的启动和停止等。2.I/O接口的内容分类5.1概述-I/O接口3.I/O接口的构成5.1概述-I/O编址三.I/O编址1.存储器映像编址从存储器地址中分出一部分给I/O端口使用,可用访问存储器的方法来访问I/O端口。2.I/O单独编址CPU使用专门的I/O指令及控制信号进行I/O访问。5.1概述-I/O编址1)输入指令格式:IN累加器,端口功能:把端口中数据读到AL、或AX中。例:INAL,21HMOVDX,201HINAX,DX2)输出指令格式:OUT端口,累加器功能:把寄存器AL、或AX中数据输出到端口。例:OUT32H,ALMOVDX,201HINDX,AX3.I/O端口的访问5.1概述-I/O的控制方式直接传送查询式传送中断方式传送DMA方式四.I/O的控制方式5.1概述-I/O的控制方式特点:1.适用于外设动作时间固定且已知的情况,在CPU与外设进行数据传送时,外设保证已准备好,如开关,发光二极管等2.要求严格的时序配合。方法:CPU不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用I/O指令完成与外设的数据传送。优点:软件及接口硬件简单缺点:CPU效率低,只适用于简单外设,适应范围较窄1.直接传送方式(无条件传送方式、同步传送方式)5.1概述-I/O的控制方式传送数据前先检查外设状态,在状态满足条件时才可传送数据,否则等待。缺点:CPU花大量的时间进行状态查询,CPU效率较低适用场合:外设并不总是准备好对传送速率和效率要求不高对外设及接口的要求:外设应提供设备状态信息接口应具备状态端口2.查询方式(异步传送方式)5.1概述-I/O的控制方式完成一次传送过程的步骤如下:(1)通过执行一条输入指令,读取所选外设的当前状态(2)根据该设备的状态决定程序去向外设“忙”或“未准备就绪”—重复检测外设状态外设“空”或“准备就绪”—发出I/O指令,进行一次数据传送。5.1概述-I/O的控制方式超时?READY?与外设进行数据交换超时错读入并测试外设状态YNYN传送完?防止死循环,可没有复位计时器NY优点:软件比较简单缺点:CPU效率低,数据传送的实时性差,速度较慢5.1概述-I/O的控制方式为提高系统的工作效率,充分发挥CPU的高速运算能力,引入了“中断”系统,利用中断来实现CPU与外设之间的数据传送,这就是中断传送方式。特点:外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序。中断使CPU和外设以及外设之间能并行工作。优点:CPU效率高,实时性好,速度快缺点:程序编制较为复杂3.中断传送方式5.1概述-I/O的控制方式以上三种I/O方式的共性均需CPU作为中介:软件:外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的缺点:程序的执行速度限定了传送的最大速度(约为几十KB/s)5.1概述-I/O的控制方式外设和内存之间直接传送数据的方式,即DMA传送方式。在DMA传送方式中,对这一数据传送过程进行控制的硬件称为DMA控制器(DMAC特点:外设直接与存储器进行数据交换,不需要CPU干预也不需软件介入,数据传输速度快。总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。4.DMA(直接存储器访问)方式5.1概述-I/O的接口举例例1.简单输入接口查看8个开关的开关状态74LS244—单向,4个三态门为一组,共2组MOVDX,218HINAL,DX5.1概述-I/O的接口举例控制发光二极管的明灭MOVDX,219HOUTDX,AL例2.简单输出接口5.1概述-I/O的接口举例例3:计算机乙:先查询BUSY状态,若BUSY=1,继续查询,直到BUSY=0,表示不忙,输出字节DATA1~DATA8;同时用STROBE使得373锁存DATA1~DATA8,并将D触发器置1,使BUSY=1计算机甲:先通过D0读入BUSY的状态,若D0=1,表示计算机乙还没准备好数据,继续查询,直到D0=0,读数据,并清除BUSY,告诉计算机乙可以发送下一个数据。5.1概述-I/O的接口举例计算机甲用查询方式输入数据的程序MOVDX,CS1INAL,DXMOVCX,DELAYTIMECHKS:MOVDX,CS0INAL,DXTESTAL,00000001BJZDATINLOOPCHKS…DATIN:MOVDX,CS1INAL,DX5.2系统总线及接口-总线概述概念:多个电路传送信号的公共通道特点:1)多信号源2)被分时使用3)由主设备控制一.总线概述1.总线的定义5.2系统总线及接口-总线概述1)片内总线CPU内部总线2)系统级总线计算机机箱内部,插卡与插卡之间的连接总线3)设备级总线各种I/O设备和计算机之间,位于设备机箱外的总线2.总线的分级5.2系统总线及接口-总线标准规定接插件的几何尺寸、引脚排序、电路信号名称及其电器特性等PC机:使用IBMPC/XT总线、ISA总线及PCI总线工控机:STD总线及PC104总线二.系统总线标准5.2系统总线及接口-总线标准5.2系统总线及接口-总线标准5.2系统总线及接口-总线标准5.3中断控制系统-中断的基本概念中断—外设随机地(指主程序运行到任何一条指令时)或程序预先安排产生中断请求信号,暂停CPU正在运行的程序,转入执行称为中断服务的子程序,中断服务完毕后,返回到主程序一.中断的基本概念1.什么是中断中断源—引起中断的事件2.什么是中断源5.3中断控制系统-中断的基本概念一次典型的中断5.3中断控制系统-中断的基本概念输入、输出设备:如键盘、显示器和打印机等;数据通道:如磁带等;实时控制过程中的各种参数;故障源:如掉电保护等;控制系统的现场测试信号以及软件中断。5.3中断控制系统-中断的基本概念3.中断的分类硬件中断(外部中断)软件中断(内部中断)被零除中断溢出中断断点中断单步中断软件中断INTn非屏蔽中断NMI可屏蔽中断INTR256种中断源类型码0~2555.3中断控制系统-中断的基本概念硬件中断——由外部硬件产生的,也称外部中断。软件中断—CPU根据软件的某些指令或者软件对标志寄存器某个标志位的设置而产生的,由于它与外部中断电路完全无关,故称为内部中断。非屏蔽中断:通过CPU的NMI引入,它不受内部中断允许标志位IF的屏蔽,一般在一个系统中只允许有一个非屏蔽中断。可屏蔽中断:通过CPU的INTR引入,它受IF的控制。只有在IF=1时,CPU才能响应中断源的请求。当IF=0时,中断请求被屏蔽。5.3中断控制系统-中断的基本概念NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部逻辑断点中断可屏蔽中断请求n430128086/8088中断源类型5.3中断控制系统-中断的基本概念存放中断地址的一段内存空间称中断矢量表。存放各类中断的中断服务程序的入口地址;表的地址位于内存的0000∶0000~0000∶03FFH(即0段的0000~03FFH)大小为1KB,共256个入口;每个入口占用4个单元,依次为IP:CS,低字为段内偏移,高字为段基址。4.中断矢量表5.3中断控制系统-中断的基本概念IPCS中断类型码与中断向量所在位置(中断向量地址指针)之间的对应关系为:中断向量地址指针=4*5.3中断控制系统-中断的基本概念例:中断类型码为20H(32)的中断源所对应的中断服务程序首址存放在0000∶0080H(4*20H=80H)开始的4个单元中。若在0080H至0083H这4个单元中存放的值分别为10H、20H、30H、40H,则该系统中20H号中断所对应的中断处理(服务)程序入口地址为4030∶2010H中断向量表┇0080H┇10H20H30H40H0083H0082H0081H5.3中断控制系统-中断的基本概念在8086/8088系统中,通过执行中断指令或由CPU本身启动的中断称为内部中断(也称软件中断)。除单步中断外,内部中断无法用软件禁止,即不受IF的影响。5.内部中断—软中断(1)0型中断——除法出错中断(2)1型中断——单步中断(3)3型中断——断点中断(4)4型中断——溢出中断(5)INTn指令中断1)内部中断的类型5.3中断控制系统-中断的基本概念如何获取相应的中断类型码专用中断:中断类型码是自动形成的。几种类型码为:类型0、1、3、4。对于INTn指令,其类型码为指令中给定的n。2)内部中断的处理过程5.3中断控制系统-中断的基本概念取得了类型码后的处理过程:①类型码*4—向量表指针。②标志寄存器FR入栈,保护各个标志。③清除IF和TF标志,屏蔽新的INTR中断和单步中断。④保存断点(断点处IP和CS压栈,先压CS后压IP)。⑤从中断向量表中取出中断服务程序入口地址分别送入IP和CS中。⑥按新的地址执行中断服务程序。5.3中断控制系统-中断的基本概念非屏蔽中断——NMI引脚产生的中断,不受IF控制,类型号为2。可屏蔽中断——由CPU的INTR端接收可屏蔽中断。受IF控制,只有当IF=1,在一条指令执行结束后,CPU才能响应可屏蔽中断的请求。可屏蔽中断请求:INTR有效,且IF=1,进入可屏蔽中断响应周期,CPU从DB获得中断类型码。8086/8088可屏蔽中断响应周期时序如下图:6.外部中断—硬中断5.3中断控制系统-中断的基本概念外部中断处理过程CPU对于一个可屏蔽中断请求的响应要执行7个总线周期:①执行第一个INTA周期。②执行第二个INTA周期,CPU得到类型码后将其乘4,形成中断向量表指针③执行一个写存储器总线周期,将FR压栈。之后CPU将IF置0,TF置0。④执行一个写存储器总线周期,将CS压栈。⑤执行一个写存储器总线周期,将IP压栈。⑥执行一个读存储器总线周期,从向量表中取偏移地址送入IP。⑦执行一个读存储器总线周期,从向量表中取段地址送入CS。对于非屏蔽中断、内部中断,直接执行③—⑦步,即要执行5个总线周期。5.3中断控制系统-中断的基本概念7.各类中断的优先权及中断响应和处理流程在8086/8088系统中中断优先级从高到低为:除法出错,INTn,INT0,NMI,INTR,单步中断。NYNYNNNNNYY执行指令执行完否?取指令IF=1?内部中断?NMI?INTR?TF=1?类型码=0~255类型码=2类型码=1中断响应,读回类型码FLAG入栈TEMP←TFTF=TF=0CS、IP入栈计算向量表地址高字→CS低字→IP执行中断服务程序又有NMI?TEMP=1?转入中断服务程序恢复CS和IP恢复FLAGS返回被中断的程序YYYYNIRET指令的操作5.

1 / 152
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功