欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    工学微机原理与接口分析课件.pptx

    • 资源ID:78707037       资源大小:4.19MB        全文页数:321页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    工学微机原理与接口分析课件.pptx

    第 10 章 输入输出接口(1)微处理器支持输入输出操作的逻辑和指令支持执行输入输出指令的逻辑 8259芯片为核心组成的中断控制逻辑8237为核心组成的DMA控制逻辑 这些逻辑,一侧与微处理器相连,受微处理器控制和管理,另一侧则形成系统总线接到扩充插槽的接点上,成为与输入输出接口板的物理连接点。第1页/共321页10.1输入输出接口基础 输入输出的基本方式 1.输入输出指令 在输入输出地址空间中,占据一个输入输出地址的称为一个输入输出端口或简称为端口(PORT)。CPU可以从端口读入数据,也可以向端口输出数据。对8086微处理器,输入输出指令的一般格式为:第2页/共321页 IN DST,SRC OUT DST,SRC IN指令,目的地址DST的寻址方式为寄存器方式,字节输入时为AL,字输入时为AX。源操作数的寻址方式有两种:(1)直接寻址方式,即在SRC的位置上直接写上代表端口地址的数或能求出值的表达式。对于直接寻址方式有一点限制,就是端口地址不能大于255(0FFH),因为直接寻址方式的指令汇编后是两个字节的指令,第2个字节是端口地址的二进制代码。(2)寄存器间接寻址。间址寄存器为DX,书写为IN AL,DX或IN AX,DX。第3页/共321页 采用DX寄存器,端口地址的大小没有限制,但必须在合法的输入输出地址空间内(有效I/O地址范围为0FFFFH)。间接寻址指令经汇编为单字节指令。对于OUT指令,源操作数的寻址方式和IN指令的目的操作数的寻址方式相同,目的操作数寻址方式与IN指令的源操作数寻址方式相同。有 8 位端口和 16 位端口两种端口。如表10.1所示。对于 8 位端口而言,要用一条指令输入或输出 16 位数据将涉及两个相邻的端口,对于 16 位端口,用一条指令输入或输出 16 位数据只涉及一个端口。第4页/共321页第5页/共321页 输入输出指令的执行不影响任何标志位的状态。80286及以后的微处理器增加了字符串输入输出指令。这些指令既具有某些输入输出指令的特点又具有某些字符串操作指令的特点。第6页/共321页 2.输入输出同步问题 IN指令可以把外部数据输入CPU,OUT指令可以把CPU的数据输出到外部,它们是实现数据输入输出传输的基础。在实际数据传输过程中,有一个突出的必须解决的问题,就是主机与外部设备之间时间同步的问题。表现在:第7页/共321页 (1)外部设备工作时有自己的定时机构,主机在运行程序、执行指令时也有自己的定时系统,它们在时间上是不同步的。解决方法:主机和外部设备之间除传输数据之外,还需要互相提供联络信息。联络信息可以理解为状态信息,如向接收方提供“数据已准备好”的状态,请对方取走;联终信息也可理解为命令或请求,如“把数据取走”。第8页/共321页 (2)一个微机系统中,如果有多个外部设备存在,也就存在这种可能性:两个或多于两个设备同时要求与主机交换信息。解决方法:必须以某种策略决定首先应该响应和处理哪个设备的传输请求,然后响应和处理哪个设备的传输请求。第9页/共321页 3.数据输入输出的基本方式 有3种基本输入输出方式。(1)程序直接控制传送方式(查询方式)程序直接控制输入输出方式就是完全通过执行程序来控制实现主机与外部设备之间的数据交换。可以归纳为以下特点:数据的传输靠执行指令实现 外部设备的状态信息用IN指令输入,然后测试 这种输入输出方式的优点简单、实现容易。缺点:第1,为了测试和等待外部设备作好传输数据的准备,要花费大量的时间。第2,CPU在一段时间里只能和一个外部设备之间传输数据,其它设备只能等待。第3,不能发现和处理预先无法估计的错误和异常现象。第10页/共321页第11页/共321页图 查询式输出数据的程序流程图第12页/共321页 查询输出的程序段如下:SCAN:IN AL,状态口地址;取状态信息 TEST AL,01H ;测忙闲标志 JNZ SCAN ;忙,转移 MOV AL,某数 OUT 数据口地址,AL;空闲,输出数据第13页/共321页 (2)程序中断控制方式 程序中断就是主机在运行程序时出现了特殊的情况,暂时停止执行正在运行的程序,转到另一段处理特殊情况的程序,待特殊情况处理程序执行完后,返回到被暂时停止的程序接着运行。第14页/共321页图 中断过程示意图第15页/共321页图 中断处理流程第16页/共321页 内部中断:由于CPU内部操作或执行某些指令时引起的程序中断。外中断:由于CPU外部信号引起的程序中断。借助于CPU响应外中断请求的能力,实现输入输出的控制,简称为程序中断方式输入输出。利用程序中断机制,可以实现多种功能。首先,外部设备要有接口逻辑,能把外部设备的状态信息变成中断请求信号,加入CPU的中断请求输入端。然后,CPU接受(响应)中断请求,转入中断处理程序(也称中断服务程序),输入输出数据的传输是在中断处理程序中用输入输出指令实现的。第17页/共321页 对于程序中断输入输出方式可以概括出以下特点:虽然程序中断功能参与了控制,但数据的传输仍然要靠在程序中排入I/O指令完成。这一点和程序直接控制输入输出方式是相同的。外部设备要求与CPU传输数据的状态信息,是从CPU的中断请求输入端直接加入的,从而使系统的时间利用率大大提高了。中断控制输入输出是靠硬件和软件相配合实现的。这种输入输出方式的主要优点是采用中断控制输入输出大大提高了CPU的时间利用率。第18页/共321页 (3)存储器直接存取方式 存储器直接存取DMA(Direct Memory Access)方式的基本思想是在外部设备和存储器之间开辟直接的数据传输通路,数据传输不是靠执行I/O指令,数据不经过CPU内的任何寄存器,而是在存储器和外部设备之间的通路上直接传输数据。这种I/O方式的实现主要是靠硬件的功能。首先,微处理器本身在设计时就能实现这种功能。其次,在组成微机系统时,还必须配有DMA控制器,共同组成DMA控制机构,实现DMA传输所需要的全部功能。DMA的I/O方式的实现更加复杂,不仅要有DMA传输数据的控制机构,还要有程序直接控制的输入输出方式或中断控制输入输出方式的硬件和软件支持DMA的实现。第19页/共321页 输入输出接口的基本结构 接口(Interface)一词的基本意思是交接界面,所以任何相关的异体之间总存在着接口。在一个微机系统内,由于各部分之间要交换信息,所以各部分之间也存在接口;在微机系统内,微处理器与其它部分的接口就是体现在微处理器输入输出引脚上的微处理器级总线。系统级总线是I/O接口的重要组成部分,是讨论的重点之一。第20页/共321页 1.I/O接口的组成框图 图10.2是IBM PC系列微机的组成框图。在主机板中,这些I/O控制逻辑从功能上可以归纳出这些部分:(1)为执行I/O指令服务的逻辑;(2)实现中断控制功能的逻辑;(3)实现DMA控制的逻辑;(4)某些外设的接口逻辑。系统级总线才是主机板与外界之间的最直接的界面。系统总线体现为一组信号线。第21页/共321页图 10.2 IBM PC系列机I/O结构框图 第22页/共321页 在微机系统中,输入输出的操作是由复杂的I/O接口控制实现的。输入输出接口一般都是由硬件和软件共同支持完成的。硬件:I/O接口包括主机板上的接口逻辑、系统总线和具体外设的接口逻辑。软件:接口与软件的关系有两方面的含义。一方面的含义是接口的软件。接口的开发自然包括必要的软件开发。另一方面含义是软件的接口。接口开发设计的任务是在充分利用系统已经提供的I/O接口的硬、软件资源的基础上,开发出专用设备的接口逻辑和应用软件。第23页/共321页 2.IBMPC系统提供的接口资源 IBM PC/XT及其兼容机的基本配置包括主机箱、键盘、CRT显示器、打印机和软、硬磁盘机。如图10.2。第24页/共321页 系统总线是通过扩展插槽与外部设备的接口逻辑相接的。所有插槽是并联的,即各插槽接点上的信号排列是相同的。基本配置的系统为I/O接口即提供了硬件资源又提供了软件资源。提供的硬件资源包括:(1)在扩充插槽上提供了系统级总线。系统总线是主机板与外部设备接口相连的唯一途径,任何外设接口的开发,必须建立在系统总线的基础上。(2)主机板上有键盘接口逻辑和扬声器接口逻辑。键盘接口逻辑的出口不接到系统总线上,而是接在机箱后的专用插座上。扬声器接口与固定在机箱内的扬声器直接相接。第25页/共321页 (3)主机板上有以两片8259中断控制器为核心组成的中断控制逻辑。(4)主机板上有以两片8237DMA控制器为核心组成的DMA传送控制逻辑,供协处理器接口以及CMOS等使用,其余中断级留给其它外设接口使用。第26页/共321页 (5)主机板上有一片8254定时/计数器芯片,有 3 个功能:第 1 个功能是用于当日计时,和CMOS共同组成定时计时系统。第 2 个功能是为动态存储器刷新提供定时信号。第 3 个功能是通过编程向扬声器提供声音信号。(6)基本(或常规)配置的系统微机包含的I/O接口卡可能有不同的组合,但在功能上和编程上是兼容的。通常包括以下接口逻辑:显示器接口。由于现在很少用单色显示器,所以现在显示器接口虽有不同制式,但都支持彩色的字符和图形显示。两个标准(Centronics)的并行打印机接口,不仅支持并行打印机工作,也支持任何遵守这种接口协议的输出设备,如绘图仪等。第27页/共321页 两个标准(RS232)的串行异步通信接口。由于RS232串行异步通信接口应用广泛,早期它是可选接口,现在已成为基本配置的接口。借助电话网络实现微机之间通信时,基本方法是微机的RS232接口经过一个Modem(调制解调器)与电话线相接。磁盘驱动器接口,通常能连接两个软盘驱动器和两个硬盘驱动器。除此之外,系统总线中还提供了相当容量的+5 V、-5 V、+12 V和-12 V直流电源。系统为I/O接口提供的软件资源包括DOS的功能调用和BIOS(Basic Input/Output System)调用。第28页/共321页 3.IBMPC/XT机的系统级总线 为任何外部设备开发接口,都必须依据系统总线提供的信号。系统总线的全部信号都接在扩充插槽的接点上。IBM PC/XT系统总线。PC/XT的微处理器是8088/8086,总线的地址为20位,数据线为8位,称其为8位总线。80286微处理器组成的IBM PC/AT系统级总线,称为ISA(Industry Standard Architecture)总线,又称PC/AT总线。它是在8位的PC/XT总线基础上扩展成为16位总线。EISA(Extended ISA)总线和MCA(Micro Channel Architecture)总线等。第29页/共321页第30页/共321页 (1)地址总线 A0A19,方向为输出,是系统存储器和I/O端口公用的地址总线。在存储器地址选择时,20位地址总线全部采用,但I/O端口地址译码只用其中的A0A9共10条线。(2)数据总线 D0D7,数据总线,是双向的。D0为低位,D7为高位,高电平为数值1。(3)控制总线 对控制总线,按功能还可以分成以下几组:扩充板上存储器操作需要的控制信号线有:第31页/共321页 ,方向为输出,存储器读控制信号,低电平有效。扩充板上的存储器在这个信号控制下,把选定单元的数据置入数据总线。,方向为输出,存储器与控制信号,低电平有效。扩充板上的存储器在这个信号控制下,把数据总线上的数据写入选定的存储单元。I/O读写操作需要的控制信号线有:,方向为输出,I/O端口读操作控制信号,低电平有效。在执行IN指令时,CPU发出这个信号;在DMA传送时,由DMA控制器发出这个信号。I/O接口设计时可以利用这个信号控制把外设的数据置入D0D7数据线。第32页/共321页 ,方向为输出,I/O端口写操作控制信号,低电平有效。在执行OUT指令时由CPU发出;在DMA传送是由DMA控制器发出。可以利用这个信号控制外设接收数据总线上的数据。AEN,方向为输出,控制信号。在DMA操作时为高;执行IN和OUT指令时为低。当用户自己开发I/O接口时,这个信号不可忽视,后面还将说明。I/O端口地址译码时,它要经过反相加入译码器的输入端。I/,外部输入信号引端,低电平有效。在扩充板上的存储器或I/O端口上,如果有奇偶校验逻辑,其输出信号可以加在这个引端上。如果校验有错产生低电平加入,将引起NMI中断。第33页/共321页 存储器读写和I/O读写可能需要以下的信号线:ALE,输出的“地址锁存”控制信号。它总是伴随着地址总线上的地址信号的出现而出现。所以,可以利用它的下降边把地址线上的信号锁存于锁存器中,以便地址线上的信号消失时使用。I/O CHRDY,外部输入信号引端。它向CPU提供是否“准备好”信息。如果扩充板上的存储器或I/O接口的工作速度较低,在正常的机器周期内不能完成规定的操作,可产生一个低电平信号加在此端。此端的低电平可以使机器周期延长数个时钟周期,从而实现CPU操作与低速外设操作在时间上的同步。中断请求信号线:第34页/共321页 IRQ2IRQ7,27级的中断请求信号输入端。就是说,允许有6个外部的中断信号源。这6级中,级2优先级最高,级7优先级最低。级0和级1被主机板上定时中断和键盘中断占用。系统板上的中断控制器8259在程序初始化阶段已经设定,在IRQ2IRQ7上的有效信号形式是从低电平向高电平的上跳变。DMA操作请求和响应信号线:DRQ1DRQ3,方向为输入,3 个通道的DMA传送请求信号端。DRQ1的级别最高,DRQ3的级别最低。DRQ0在主机板内部,用于控制动态存储器的刷新。高电平信号有效。第35页/共321页 ,方向为输出,是CPU对DMA请求的回答(允许)信号,它们分别对应DRQ0、DRQ1DRQ3,低电平有效。T/C,方向为输出,来自于DMA控制器,当某个通道计数到终值(0)时,该端输出高电平信号。(4)其它信号线 OSC,输出信号,输出14.318 MHz的方波。CLK,输出信号,是OSC信号经过三分频形成的4.77 MHz基本时钟脉冲。RESETDRV,输出信号,在系统加电或复位时产生,在时间上与时钟信号的下降边同步,高电平有效,用于对接口或外设的初始化。第36页/共321页 指令需要的接口逻辑和I/O端口地址分配 无论哪种输入输出方式,I/O指令是实现输入输出控制的基础。从应用的目的出发,本节还将介绍IBM PC机基本配置下I/O端口地址的分配情况。1.I/O指令需要的接口逻辑 I/O指令执行时,都必须有I/O端口地址的选择。第37页/共321页图 外设接口第38页/共321页 端口地址是利用A0A9共10条地址线。开发一个I/O端口方法:指定一个端口地址;设计一个地址译码器;在输入端的地址状态与指定的端口地址一致时,译码器恰好输出有效信号,作为端口选择信号。图10.4是端口译码电路的一个例子,只形成两个端口选择信号,一个用于输出指令读,另一个用于输出指令写,但都对应一个端口地址300H。第39页/共321页第40页/共321页 图10.5是多端口地址译码电路的例子,取自于IBM PC机并行打印机接口逻辑图。输出端WPA和WPC分别是端口地址378H和37AH的写选择信号,在执行OUT指令时产生;RPA、RPB和RPC分别是地址378H、379H和37AH的读选择信号,在执行IN指令时产生。第41页/共321页图 10.5 多端口地址译码电路 第42页/共321页 芯片的数据线端D0D7将与系统总线的数据总线D0D7相接。经过这样连接后,就可用IN指令和OUT指令访问芯片内有端口地址的寄存器了。图10.6所示的单端口地址译码电路。对于输入数据的端口,执行IN指令时输入一个数据。它可以等效为一个锁存器和一组三态门缓冲器,其典型结构如图10.7所示。第43页/共321页图 10.6 大规模集成I/O接口 第44页/共321页图 10.7 输入数据据端口第45页/共321页 对于输出数据的端口,执行OUT指令时将接收CPU经数据总线输出的一个数据。它也可以等效为一个锁存器,其典型结构如图10.8所示。第46页/共321页第47页/共321页 2.IBMPC/AT机的I/O端口地址分配 IBM PC/AT系统I/O地址空间范围为03FFH(01023)。表10.2列出了PC/AT系统I/O端口地址的分配情况。用户可以使用的I/O地址有:1001EF、22026F、2802AF、30035F。第48页/共321页第49页/共321页10.2中 断系统 微处理器的中断功能 中断是反映CPU暂停正在执行的程序,转去执行处理中断事件的中断服务程序,待执行完中断服务程序再返回到原被中断的程序继续执行。通常称引起中断的事件为中断源。1.中断的种类和中断类型号 中断的种类可以概括如下:第50页/共321页第51页/共321页图 8086/8088中断分类第52页/共321页 从大的方面分,中断可分为外部硬中断和内部中断两大类。外部硬中断是微处理器外部事件发生,产生中断请求信号,中断请求信号再通过微处理器芯片上的接受中断请求信号的引脚 加入微处理器而出现的中断。微处理器芯片上有两个引脚用于接受外部中断请求信号:NMI和INTR,分别接受非可屏蔽中断请求和可屏蔽中断清求。可屏蔽:是指微处理器的PSW寄存器中的IF控制位对中断响应存在控制作用。非可屏蔽:是指微处理器的PSW寄存器中的IF控制位对中断响应不存在控制作用。第53页/共321页 可屏蔽中断的中断请求信号在微处理器的INTR端加入。常规外部设备,如键盘、打印机、磁盘机、串行异步通信接口,以及自己开发的接口设备或专用接口(如组成计算机网络的链路卡)等。将主要讨论可屏蔽中断操作及应用。非可屏蔽中断NMI用来处理存储器奇偶校验出错等对整个系统来说致命的异常情况,个人用户通常不介入NMI的使用。内部中断的中断源在微处理器内部。由于微处理器的主要工作就是执行程序中的指令,所以内部中断都涉及到指令的执行。第54页/共321页 内部中断又分为异常中断和软中断两类。最好理解的是软中断,就是中断指令INT执行时所产生的中断。软中断和其它中断一样,也将转去执行中断服务子程序。软中断是用汇编语言编程时,用户的应用程序调用系统软件(主要是操作系统)中子程序的主要方法。系统软件,特别是在ROM BIOS和常驻内存的操作系统中,有许多精心设计的子程序,它们作为系统资源可供用户使用。第55页/共321页 内部中断的另一类称为异常中断。根据与指令执行的不同关系,异常中断有三种:故障中断:指令在执行之前已经检测出不具备正确执行指令的条件,从而引起中断。隐阱(或自陷)中断:在指令执行时,由于满足了陷阱条件引起中断,同时意味着本条指令已经执行结束,所以在中断返回时,不是重新执行本条指令而是执行相邻的下一条指令。终止:是另一种异常中断,它不能准确确定引起异常条件的指令位置。终止将造成停机。第56页/共321页 例1:溢出中断指令INTO。如果程序运行到该条指令时,处理器的PSW中的OF标志位已经为1,执行该条INTO指令将产生一个中断,中断返回后,将从INTO的下一条指令继续执行。例2:陷阱中断。是当将处理器内PSW中的TF控制器标志位置1后,处理器每执行完一条指令都将产生一次中断。在用DEBUG程序调试用户程序时,执行有断点的G命令就利用了这种中断。在设定断点的位置上装入一条INT指令,程序运行到这条指令时引起中断,中断服务程序的一般功能是显示此时各寄存器的内容,并把这条单字节的INT指令改变为原来程序的指令码。陷阱中断举例第57页/共321页 在微处理器中,不同的中断是以中断类型号来区别的。每种中断配以固定的中断类型号。在中断发生时,借助中断类型号,能使程序转入相对应的中断服务程序。中断类型号的范围为0255,即最多256个。第58页/共321页 由中断指令产生的软中断,其中断类型号由指令本身给出,INT n指令中的n即是中断类型号。例如INT 21H,其中断类型号为21H。可屏蔽中断的中断类型号由外部中断控制逻辑提供,并在处理器响应中断时从外部输入处理器(后面还将详细讨论)。表10.3给出了80386和80486微处理器非可屏蔽中断NMI和内部中断的中断类型号,这些中断类型号微处理器硬件决定的,是固定的。第59页/共321页第60页/共321页第61页/共321页 表10.3列出的内部中断,有些不适用于实模式的操作。中断类型号10、11和14的异常条件在实模式下将不会发生。中断类型号8、12和13在实模式下的含义也与保护模式不同。在实模式下,如果INT n指令的n值过大,超越向量表的界限将引起中断类型号为8的中断;如果取指令操作使偏移地址超越FFFFH或访问数据段时偏移地址超越FFFFH,则产生类型号为13的中断;如果访问堆栈段时,偏移地址超越FFFFH时,则产生类型号为12的中断。应该指出的是8086微处理器与80286以上高档微处理器相比较,外部硬中断,包括非可屏蔽中断和可屏蔽中断的功能和操作基本相同。由于外部硬中断,特别是可屏蔽中断与I/O接口关系密切,所以将重点讨论。第62页/共321页 2.中断向量表和中断描述符表 微处理器响应任何中断都将转向中断服务程序。从而获得中断服务程序的入口地址。每种中断有自己的中断类型号与中断类型号相适应,在实模式下有中断向量表,在保护模式下有中断描述符表IDT。(1)中断向量表 8086微处理器家族各成员在设计时硬件逻辑保证了这一项规则:在实模式下,存储器地址最低的1024单元,即地址0000H03FFH,用于存储各种中断服务的入口地址。从00000H开始,每4个单元存放一个中断服务程序入口。其中前两个单元的16位是入口地址的段内偏移部分,后两个单元的16位是入口地址的段地址。第63页/共321页 程序运行转入中断服务程序时,入口地址的段内偏移部分将装入IP中,入口地址的段地址部分装入CS。中断服务程序的这32位以逻辑地址形式表示的入口地址称为中断向量或中断指针。存储器地址最低的1024个单元共可存256种中断向量,这个专用于存储中断向量的存储区称为中断向量表。中断类型号是访问中断向量表的索引号。也就是说,中断向量在中断向量表中的存储顺序是以中断类型号为索引的。中断类型号与中断向量在向量表中的位置之间的对应关系为:中断向量地址指针=4中断类型号 中断类型号为0,其中断向量在向量表的00000H00003H地址。中断类型号为1,其中断向量在00004H00007H地址,中断类型号为255时,其中断向量应在003FCH003FFH地址。中断类型号与中断向量地址的对应关系如图10.9所示。第64页/共321页第65页/共321页 中断类型号只与存放中断向量的地址有关,存放中断向量的地址等于中断类型号乘以4。中断向量:中断服务程序的入口地址和中断服务程序是软件开发者确定和设计的。在系统启动时,操作系统不仅要把这个中断服务程序装入内存,还要把服务程序的入口地址装入00000H00003H单元。第66页/共321页 第67页/共321页 在保护模式下,中断向量表起作用的是中断描述符表IDT。把中断向量表称为实模式下的IDT。IDT内保存若干个 8 个字节组成的描述符称作中断门、陷阱门和任务门。通过访问这类门可进一步获得用中断机制转入的程序(中断服务程序或任务)的入口地址。为了与实模式下的中断向量表相分离,又为了与保护模式下的虚拟存储器系统和多任务相适应,IDT不再固定设置在主存器地址的最低端。它被定义成一个特殊的段,其基地址中断描述符表寄存器IDTR决定。8个字节的门在IDT中的排列顺序与门对应的中断类型号有关。也就是说,中断类型号是其对应的门在IDT中的索引号。中断类型号乘以8就是该中断门在IDT的偏移地址(设IDT开始地址为0)。第68页/共321页 IDTR是个48位的寄存器,可用LIDT指令向其中装入值,其值分为两部分:32位指明 IDT的基地址,其余16位指明IDT的边界,即字节数。可见IDT的大小不是固定不变的,它的边界取决于实际包含的中断类型号的最大值。IDT中包含8个字节的中断门、陷阱门和任务门。任务门用于任务切换(见第8章),中断门和陷阱门用于中断。中断门和陷阱门的格式如图10.11所示。从图10.11中可见,这两种门包含16位的代码段选择符和32位的段内偏移地址。代码段选择符指向GDT或LDT内的代码段描述符,进而指向一个代码段;32位的段内偏移地址,确定了代码段内的一具体地址,这就是要转入的中断服务程序的入口地址。第69页/共321页第70页/共321页 3.实模式下的中断响应和返回操作过程 中断响应的操作过程,对于可屏蔽中断、非可屏蔽中断和内部中断,是不尽相同的。(1)可屏蔽中断的响应操作 可屏蔽中断的响应过程:在IF位为1(即开中断)情况下,从INTR端加入中断请求信号开始,到进入中断服务程序为止所经过的一系列操作。这个响应过程包括以下操作:等待当前指令结束,然后进入中断响应周期。在进入中断响应周期之前必须执行完当前指令。有几种特殊情况:关于有前缀的指令。第71页/共321页 指令前缀有3种:指定段寄存器前缀(如指令MOV AX,CS:VAR)、重复前缀(如指令REP MOVSB)和LOCK前缀。对于有重复前缀的字符串操作指令,例如REP MOVSB指令,每一次传送(一个字节或一个字)之后可以响应中断,但这时保存的返回地址是REP字节的地址。这就保证了中断服务程序执行结束返回时,仍返回到这条指令,把没有完成的重复传送完成。第72页/共321页 对于目的地址是段寄存器的MOV和POP指令(CS不允许是目的地址),本条指令之后不允许响应中断,而是还要执行一条指令结束后才能响应中断。这一操作特点可以保证在更换段地址又更换指针(如SS和SP都更换)之间不被中断(编程时应保证用MOV指令向SS置值时,相邻下条指令要向SP置值)。从微处理器外部的中断控制逻辑获得中断类型号。它能向CPU提供中断类型号。这一操作是中断响应周期完成的操作之一。中断响应周期有关信号的时序关系如图10.12所示。第73页/共321页第74页/共321页 中断响应周期在时间上占两个机器周期,共8个时钟周期。微处理器INTR端上的中断请求信号至少要持续这么长时间,在 端相继发生两个负脉冲。第 1 个机器周期的 脉冲通知外部中断控制逻辑处理器接受了中断请求。第2个机器周期的 脉冲控制外部中断控制逻辑把中断类型号置于数据总线并进入CPU。当前的PSW、CS和IP的内容依次压入堆栈。保存了断点的状态和断点地址,以便返回时恢复。第75页/共321页 清除PSW中的IF位和TF位为0。清除IF位为0意味着关中断,中断服务程序中排有STI指令开中断,或者服务程序结束时返回指令IRET之后才恢复开中断状态。把中断服务程序的入口地址置入IP和CS,即把地址为4n和4n+1两个单元的16位数作为中断服务程序入口的偏移地址置入IP,把地址为4n+2和4n+3两个单元的16位数作服务程序的段地址置入CS。完成了可屏蔽中断的响应过程,开始进入中断服务程序。(2)非可屏蔽中断的响应过程 非可屏蔽的中断请求在NMI端加入。CPU对它的响应不受IF位的控制(但可在外部逻辑中对加入NMI端的信号进行控制)。第76页/共321页 与可屏蔽中断一样,非可屏蔽中断也要等待当前指令执行结束。如果同时出现了非可屏蔽中断请求和可屏蔽中断请求,CPU将优先响应非可屏蔽中断请求。因为非可屏蔽中断的中断类型号为2,是微处理器硬件决定的,不需要从外部取回一个字节的中断类型号操作。非可屏蔽中断响应的其它操作和可屏蔽中断相同。(3)内部中断的响应操作 所有的内部中断,其中断响应操作有以下共同点:中断类型号要么是指令码给定的,要么是处理硬件决定的,都不需要从外部逻辑输入。没有包括 信号的响应周期。不受IF位的控制,但单步中断受TF位控制。第77页/共321页 除单步中断之外,其它内部中断都比外部中断优先响应。所以CPU对中断响应的优先次序是:除数为0中断、INT n和INTO指令的优先级最高,NMI次之,INTR再次,单步中断优先级最低。除上述特点外,内部中断响应也要执行可屏蔽中断响应的、和项操作。应该说明的是,中断响应时清除TF标志位对单步中断特别有意义。TF为1时,每执行完一条指令时引起一次单步中断,在中断服务程序中显示各寄存器的内容和状态字信息。第78页/共321页 中断的返回,无论内部中断或外部中断,都是由中断服务程序的末尾设置IRET指令实现的。IRET指令的操作是恢复断点处的地址和PSW的内容,即依次从堆栈中弹出保存的IP、CS和PSW值,使被中断了的程序继续执行。第79页/共321页图 中断响应过程第80页/共321页图 中断响应时CPU查询中断源的顺序第81页/共321页 外中断控制逻辑和中断控制芯片8529A 外部设备利用中断机制与CPU交换信息,实际上就是利用外部可屏蔽中断。对于微处理器来说,与可屏蔽中断有关的两个引脚是INTR中断请求信号引脚,用于按受外部中断请求;INTA中断响应信号输出引脚,用于指明对中断请求的响应情况。80286及其以后的微机系统中,用两片8259A组成了可屏蔽中断的外部控制逻辑,如图10.13所示。第82页/共321页第83页/共321页 图10.13中标的口地址是指为8259A编程占用I/O端口地址。主片占用端口地址为20H和21H,从片占用的端口地址为A0H和A1H。第84页/共321页1.8259的编程模型 图10.14是8259的编程模型。图中各部分的功能是:中断请求寄存器IRR用来寄存有中断请求的所有中断级,每级对应一位,有中断请求时对应位置1。服务寄存器ISR寄存正在服务的所有中断级(在执行互相嵌套的多级中断时,这些中断级都被认为是正在服务)。第85页/共321页第86页/共321页 优先级分析器能把IRR内所有为1的位按优先次序规则进行分析,以确定哪一级是有请求的最高级。在处理器响应中断过程中,当发来第 1 个 信号时,能把ISR中对应位置1,准备转入该级服务子程序。在8259内起控制作用的逻辑部分包括许多受指令直接访问的控制位。第1组4个寄存器寄存初始化命令字ICW1ICW4,通常是在系统加电后程序对系统初始化阶段设置的,在以后的操作中基本保持不变;第2组3个寄存器寄存操作命令字OCW1OCW3。程序对这3个寄存器置入不同的命令字,实现对中断过程的管理。第87页/共321页 在实际系统中,主片8259A的两个端口地址是20H和21H,从片8259A的两个端口地址是70H和71H。CAS0CAS2是3条级联线。在级联方式时,一片8259作为主片,带动最多8片8259作为从片(每个从片的中断请求端INT与主片一条中断请求线IR相接),接多能控制64个中断级。主片的CAS0CAS2和所有从片CAS0CAS2相接。但这时主片的CAS0CAS2是作为输出信号端,从片的CAS0CAS2作为输入信号端。在响应中断请求时,主片向这3条线发出的3位代码将选定一个从片。第88页/共321页 端有两种用途:工作在非缓冲方式时,用作输入端,可以被控制作为主片“1”或从片“0”;工作于缓冲方式时,用作输出端,输出开关控制信号,在与系统的数据总线相接的引线上有三态缓冲门时,这个信号用作三态门控制信号。INT是中断请求输出端,与CPU的中断请求输入端INTR相接。端接受从CPU来的 信号,把应该响应的中断级中的中断类型号置入数据总线,传送入CPU,以便转入相应服务子程序入口。IR0IR7是外设加向该片的中断请求输入端。请求信号的有效形式,是低电平跳向高电平的上升边有效,还是高电平本身有效,将在初始化时用指令设定。第89页/共321页 2.8259的编程 8259的编程为两个阶段:初始化阶段。应该在系统加电或复位后由系统初始化程序完成。这阶段要用输出指令向8259置入初始化命令字。操作阶段。要用输出指令向8259发适当的操作命令字,实现对8259的状态,中断方式和过程的控制。这期间一般不再发初始化命令字。第90页/共321页 (1)初始化编程 初始化编程阶段的任务是:设定中断请求信号的有效形式,即是高电平有效,还是低电平向高电平跳变的上升边沿有效;8259是单片工作方式还是级联工作方式;设定8259管理的中断类型号基值,即0级中断IRQ0对应的中断类型号,以便在中断请求响应时,得到中断向量表中相应类型号的地址;设定各级的优先排序规则;设定一次中断处理结束时的结束操作规则。这些任务都是通过向8259发初始命令字ICW实现的。初始化命令字ICW1 第91页/共321页1LTIM0SNGLIC4D7 D6 D4 D5 D3 D2 D1 D0 其中位表示无关位,可为任何值。LTIM位为1表示有效的中断请求信号是高电平,为0表示有效中断请求信号是低电平向高电平跳变的上升边。SNGL位为1表示这片8259是单片方式工作,为0表示多片级联方式工作。IC4位为1表示在后面程序还要设置初始化命令字ICW4,为0表示不再设置ICW4。ICW1的设置完成了前面说的初始化任务的第1和第2。第92页/共321页图 ICW1格式第93页/共321页 设置ICW1需要I/O地址为A0=0,对于IBM PC系列微机而言,这个I/O地址分别是020H和A0H。后面还将说到,发送操作命令字OCW2和OCW3时也用这个I/O端口地址,发送的命令字的位4为1是ICW1的特征标志,OCW2和OCW3的位4都不是1。8259在接收命令字时对位4差别以确认其命令字是否是ICW1。初始化命令字ICW2 ICW2用于设置中断类型号基值。微处理器在响应外中断时,依据中断类型号获得中断向量在中断向量表内的地址,即保存中断服务子程序入口地址的地址。第94页/共321页 外中断的中断类型号是在中断响应期间由8259提供的。8259是依据初始化过程中用ICW2命令置入的中断类型号基值提供中断类型号的。IRQ0对应的中断类型号称为中断类型号基值,它一定是可以被8整除的正整数。ICW2的用途就是设定这个基值,格式为:D7 D6 D4 D5 D3 D2 D1 D0T7 T6 T5 T4 T3 0 0 0 第95页/共321页 这个字节的值就是中断类型基值,其中低3位必须为0。在IBM PC系列微机中,两片8259A的中断类型号基值分别为08H和70H,ICW2的高5位T7T3分别为00001和01110。8259有这样的功能:CPU响应中断时向8259发来信号。在第 2 个 信号控制下,8259通过数据总线向CPU发回中断类型号字节。其高5位保持ICW2的高5位,最低3位则根据IRQ0IRQ7中是响应哪级中断,分别对应000111。这样一来,系列微机的中断类型号08H0FH与外中断请求端IRQ0IRQ7相对应,中断类型号70h77H与外中断请求端IRQ8IRQ15相对应。第96页/共321页 设置ICW2的地址为A0=1,对于IBM PC系列微机,I/O地址分别为21H和A1H。初始化命令字ICW3 如果外中断控制逻辑只由一片8259A组成(设置ICW1时D1位SNG1为1),则不设置ICW3。只有在多于一片8259A组成级联控制逻辑时,无论主片还是从片设置的ICW1的D1位设置为0,并且在ICW2设置之后向A0=1地址设置的才是ICW3。对于主片和从片设置的ICW3是不同的,意义也不同。向主片设置的ICW3,指明主片的哪个或那些输入端IR接有从片。第97页/共321页图 ICW3格式第98页/共321页 初始化命令字ICW4 只有ICW1中的IC4位为1才能设置ICW4。它的各位意义如图10.15所示。位7位5总为0。位4SFNM,设置该位为1,将工作于特殊的全嵌套方式;该位为0,工作于正常全嵌套方式。IBM PC系统设置该位为0。第99页/共321页第100页/共321页 位3BUF,该位设置为1,表明缓冲方式,这时芯片的 为输出引脚,输出信号可作为数据收发缓冲器(三态门)的控制信号。该位设置为0,表明不工作于缓冲方式,不需要也不输出

    注意事项

    本文(工学微机原理与接口分析课件.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开