书签 分享 收藏 举报 版权申诉 / 299
上传文档赚钱

类型《微机原理与接口技术》课件第5章.ppt

  • 上传人(卖家):momomo
  • 文档编号:7817546
  • 上传时间:2024-08-22
  • 格式:PPT
  • 页数:299
  • 大小:3.19MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《微机原理与接口技术》课件第5章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    微机原理与接口技术 微机 原理 接口 技术 课件
    资源描述:

    1、第5章 基本的I/O接口 5.1 接口技术5.2 中断系统5.3 DMA系统5.4 定时/计数器5.5 本章小结习题与思考题 第5章 基本的I/O接口 5.1.1 接口技术的功能接口技术的功能1.接口的功能接口的功能1)I/O设备选择功能设备选择功能计算机系统中一般带有多种外设,而CPU在同一时间里只能与一台I/O设备交换信息,这就要借助于接口的地址译码来选定外设,只有被选定的I/O设备才能与CPU进行数据交换。接口电路的任务之一就是对I/O设备进行地址译码。5.1 接接 口口 技技 术术第5章 基本的I/O接口 2)对输入对输入/输出数据进行缓冲、隔离和锁存输出数据进行缓冲、隔离和锁存由于外

    2、设的速度慢,CPU和总线又十分繁忙,因此在输出环节中,一般都要安排锁存环节(如锁存器,称为数据的输出端口、输出寄存器),以便锁存CPU瞬间输出数据,同时也使较慢的外设有足够的时间进行处理,而CPU和总线可以处理其他工作。在输入接口中,一般要安排缓冲隔离环节(如三态门,称为数据的输入端口、输入三态缓冲器),只有当CPU选通时,才允许某个选定的输入设备的数据线与系统总线的数据线连通,将选定输入设备的数据送到系统总线上,其他输入设备此时与数据总线隔离,这样就不会造成总线的竞争。第5章 基本的I/O接口 3)对信号的形式和数据的格式进行变换对信号的形式和数据的格式进行变换由于计算机直接处理的信号为TT

    3、L电平或CMOS电平,I/O设备大多是复杂的机电设备,其电气信号与CPU能处理的信号截然不同,因此在输入/输出时,必须将它们转变为适合对方的形式。例如,将电平信号变为电流信号,将弱电信号变为强电信号,将数字信号变为模拟信号,将并行数据格式变为串行数据格式等。第5章 基本的I/O接口 4)与与CPU和和I/O设备进行联络设备进行联络I/O接口处在CPU和I/O设备的中间,在传送数据时经常要在两个方向进行联络,即需把I/O设备的状态传递给CPU,同时也需要把CPU产生的控制信号传递给I/O设备。换言之,通常I/O接口为了完成I/O设备的输入/输出,需设置数据端口以传递数据信息,还需设置状态端口以传

    4、递状态信息,设置控制端口以传递控制信息。第5章 基本的I/O接口 5)中断管理功能中断管理功能当外设需要及时得到CPU服务,特别是一些随机需要与CPU交换信息的外设,就要求接口中设置中断控制器,为CPU处理有关中断事务(中断请求、中断优先级设置,提供中断向量等)。这样既增加了微机系统对外设随机事件的处理能力,又使CPU与外设并行工作,提高了CPU的利用率。6)可编程功能可编程功能目前,外设和接口芯片几乎都是可编程的,这样,在不改变接口硬件电路的情况下,只要更改接口驱动程序就可以改变接口的工作方式,大大增加了接口的灵活性和可扩展性,使接口向智能化方向发展。第5章 基本的I/O接口 2.I/O寻址

    5、方式寻址方式在计算机中主要有两种输入/输出寻址方式:存储器对应的I/O寻址方式和端口I/O寻址方式。1)存储器对应的存储器对应的I/O寻址方式寻址方式在这种寻址方式中,外部设备的I/O端口是存储器的某些存储单元,每一个外部设备占用一个或几个存储器地址,从而处理器(CPU)对外部设备输入/输出一个数据相当于做一次存储器读/写操作。这种I/O寻址方式由于外部设备占用内存单元地址(I/O与存储器共用内存分布空间),会使计算机的有效内存容量减少,不便于计算机的并行操作(存储器操作和I/O),在目前的计算机系统中已不再使用。第5章 基本的I/O接口 2)端口端口I/O寻址方式寻址方式在这种寻址方式中,处

    6、理器(CPU)有专门的I/O指令,在计算机系统中使用不同的端口地址来区分不同的外部设备,操作时以端口(PORT)作为寻址单元。接口中的不同信息(数据、状态和控制信息)均通过不同的端口地址来区分。一般来说,一个外部设备往往需要多个端口地址。这种端口I/O寻址方式是目前IBM PC系列计算机以及其他类型的微型计算机系统普遍采用的I/O寻址方式。第5章 基本的I/O接口 3.I/O地址译码方法地址译码方法可以说,掌握了存储器的地址译码方法,就掌握了存储器芯片应用的精髓。存储器的地址译码方式可以分为两种,一种称为全地址译码,另一种称为部分地址译码。1)全地址译码方式全地址译码方式所谓全地址译码,就是构

    7、成存储器时要使用全部地址总线(对于8088 CPU,地址总线为20位)信号,即所有的高位地址信号用来作为译码器的输入,低位地址信号接存储芯片的地址输入线,从而使得存储器芯片上的每一个单元在整个内存空间中具有唯一的一个地址。对6264芯片来讲,就是用低13位地址信号(A0A12)决定每个单元的片内地址,即片内寻址;而用高7位地址信号(A19A13)决定芯片在内存中的地址范围,即做片选地址译码,如图5.1所示。第5章 基本的I/O接口 图5.1 6264的全地址译码连接第5章 基本的I/O接口 图5.1所示是一片SRAM 6264与8086/8088系统的连接图。它用地址总线的高7位地址信号(A1

    8、9A13)作为地址译码器的输入,地址总线的低13位地址信号A12A0接到芯片的A12A0端,故这是一个全地址译码方式的连接。可以看出,只要A19A13为以下二进制位时,就可访问6264存储单元(具体哪一个存储单元由低13位(A12A0)决定):1011 101 第5章 基本的I/O接口 低13位(A12A0)可为0 0000 0000 00001 1111 1111 1111之间的任何一个数,所以该片6264的地址范围为1011 1010 0000 0000 0000=BA000H到 851011 1011 1111 1111 1111=BBFFFH若将图5.1中的“与非”门改为“或”门,如图

    9、5.2所示,则6264的地址范围就变成44000H45FFFH。由此可以看出,使用不同的译码电路,可将存储器芯片映射到内存空间中的任意一个范围中。第5章 基本的I/O接口 图5.2 或门译码第5章 基本的I/O接口 2)部分地址译码方式部分地址译码方式顾名思义,部分地址译码就是仅把地址总线的一部分地址信号线与存储器连接,通常是用高位地址信号的一部分(而不是全部)为片选译码信号。图5.3所示就是一个部分地址译码的例子。从图5.3可以看出,A19A0为以下二进制位时,就可访问6264存储单元:1111 1 低13位可取0 0000 0000 00001 1111 1111 1111,所以该片的地址

    10、范围为1111 10 0000 0000 00001111 11 1111 1111 1111第5章 基本的I/O接口 图5.3 部分地址译码连接图第5章 基本的I/O接口 从图5.3可以看出,A14、A13为任何值,只要其余地址线的信号在上面的范围内,都可访问该6264的某一存储单元。例如,当A14、A13分别为00、01、10、11时,该6264芯片的地址范围为1111 1000 0000 0000 0000=F8000H 到 当A14A13=001111 1001 1111 1111 1111=F9FFFHFA000HFBFFFH 当A14A13=01FC000HFDFFFH 当A14A

    11、13=10FE000HFFFFFH 当A14A13=11第5章 基本的I/O接口 即该6264芯片共占据了四个8 KB的内存空间,而6264芯片本身只有8 KB的存储容量。为什么会出现这种情况呢?其原因就在于图中的高位地址译码并没有利用地址总线上的全部地址信号,而只利用了其中的一部分。按这种地址译码方式,芯片占用的这四个8 KB的区域决不可再分配给其他芯片。否则,会造成总线竞争而使微机无法正常工作。另外,在对这个6264芯片进行存取时,可以使用以上四个地址范围的任意一个。第5章 基本的I/O接口 部分地址译码使地址出现重叠区,而重叠的部分必须空着不准使用,这就破坏了地址空间的连续性,实际上就是

    12、减小了总的可用存储地址空间。部分地址译码方式的优点是其译码器的构成比较简单,成本较低。图5.3中就少用了两条译码输入线,但这点是以牺牲可用内存空间为代价换来的。第5章 基本的I/O接口 可以想象,参加译码的高位地址越少,译码器就越简单,而同时所构成的存储器所占用的内存地址空间就越多。若只用一条高位地址线做选片信号,如在图5.3中,若只将Al9接在上,则这片6264芯片将占据00000H7FFFFH共512 KB的地址空间。这种只用一条高位地址线进行选片的连接方法称为线性选择,这种地址译码方法一般仅在系统中只使用12个存储芯片时考虑使用。在实际中,采用全地址译码还是部分地址译码,应根据具体情况来

    13、定。如果地址资源很富裕,为使电路简单可考虑用部分地址译码方式;如果要充分利用地址空间,则应采用全地址译码方式。CS1第5章 基本的I/O接口 4.接口的典型结构接口的典型结构1)内部结构内部结构图5.4所示为I/O接口的典型结构,其内部一般由数据、状态、控制三类寄存器组成,用来保存和交换不同的信息。可通过数据、状态、控制三种端口的地址来访问其中的数据。这三种端口简称为数据口、状态口、控制口。对于数据口,在I/O设备输入时,保存I/O设备输入的数据;在I/O设备输出时,保存向I/O设备输出的数据。有些数据寄存器同时支持输入/输出,那是因为其内部具有输入和输出两套设备,但共用一个端口地址,随读/写

    14、控制的不同分别访问其中的输入或输出寄存器。I/O接口中的状态和控制寄存器分别用来保存状态和命令。通过数据总线,CPU从状态口中读取当前的状态,也可向控制口写入命令,以控制I/O设备的工作。第5章 基本的I/O接口 图5.4 I/O接口的典型结构第5章 基本的I/O接口 2)外部特性外部特性接口电路的外部特性由其对外的引脚体现。接口引脚根据其连接的特性又分为面向CPU一侧的信号和面向外设一侧的信号。对于面向CPU一侧的信号,一般都引出了数据线、地址线和控制线。在众多的I/O电路中,其数据线、地址线及读/写控制线比较规整。面向外设的信号比较复杂,因为外设种类繁多,型号不一,所提供的信号五花八门,其

    15、功能定义、时序及有效电平等差异较大,要在清楚外设工作原理与工作特点的基础上才能真正理解某些信号的含义。因为I/O接口是连接CPU系统和外设的桥梁,所以对其外部特性的掌握是实现I/O接口物理连接的基础,是接口技术的一个重点。第5章 基本的I/O接口 5.1.2 输入输入/输出传送方式输出传送方式CPU与外设之间传输数据的控制方式通常有三种:程序方式、中断方式和DMA方式。1.直接程序控制方式直接程序控制方式程序方式就是由用户进程来直接控制内存或CPU和外围设备之间的数据传送。根据程序控制的方法不同,又可以分为无条件输入/输出方式和条件输入/输出方式1)无条件输入无条件输入/输出方式输出方式该方式

    16、在传送前,CPU不需要了解端口的状态,直接进行数据传送,如图5.5所示。这就要求CPU与外设交换信息时,对于任意的输入/输出时刻,都能保证外设总是处于“准备好”状态。第5章 基本的I/O接口 图5.5 无条件输入/输出(a)无条件输入;(b)无条件输出第5章 基本的I/O接口 假设,地址译码器的译码为200H,我们可用指令:MOV DX,200HIN AL,DX把外设的数据输入到AL寄存器。同样,我们可用指令:MOV DX,200HOUTDX,AL把AL的值通过锁存器输出外设。无条件输入/输出方式的优点是涉及的软、硬件都比较简单,其缺点是局限性较大。因为很难保证外设在每次信息传送时都处于“准备

    17、好”状态。第5章 基本的I/O接口 2)条件输入条件输入/输出方式输出方式该方式又称查询方式,即通过程序查询相应设备的状态。传送前,CPU先查询端口状态,在端口就绪时进行数据传送。一般外设均可以提供一些反映其状态的信号。对于输入设备来数,它能够提供“准备好”(READY)信号,READY=1则表示输入数据已准备好。输出设备则提供“忙”(BUSY)信号,BUSY=1表示当前时刻不能接收来自CPU的输出数据,只有当BUSY=0时,才表示当前时刻可以接收来自CPU的输出数据。图5.6所示为条件输出方式示意图。第5章 基本的I/O接口 图5.6 条件输出方式示意图第5章 基本的I/O接口 条件输入/输

    18、出方式的优点是能够保证输入/输出数据的可靠性,其缺点是在这种方式下,CPU要不断查询外设的状态,当外设未准备好时,CPU只能循环等待,不能执行其他程序,这样就浪费了CPU的大量时间,降低了CPU的利用率。第5章 基本的I/O接口 2.中断方式中断方式在查询方式中,CPU要不断地读取状态字以检测状态信息,因此传送速率慢,CPU利用率低。特别是在有多个外设的系统中,多个外设要求CPU为它服务是随机的,若采用查询方式工作,就不能保证系统实时地对外设的请求做出响应。为了提高CPU的效率,使系统有实时性能,于是产生了中断处理技术。采用中断方式传送信息时,在外设没有做好数据传送准备时,CPU可执行与传送数

    19、据无关的其他指令。当外设做好传送准备后,主动向CPU请求中断,若CPU响应这一请求,则暂停正在运行的程序,转入中断服务程序,完成数据传送,待服务完毕后,自动返回原来运行的程序。整个过程如图5.7所示。第5章 基本的I/O接口 图5.7 中断方式程序示意图第5章 基本的I/O接口 3.DMA方式方式利用中断进行信息传送可以大大提高CPU的利用率,但是其传送过程必须由CPU进行监控。每次中断,CPU都必须进行断点及现场信息的保护和恢复操作,这些都是一些额外的,但又必须要做的操作,会占用一定的CPU时间。如果需要在内存的不同区域之间,或者在内存与外设端口之间进行数据块的高速传送,则用查询或中断方式就

    20、不能满足速度上的要求,这时应采用直接数据传送(Direct Memory Access,DMA),即DMA数据传送方式。第5章 基本的I/O接口 DMA数据传送是在内存的不同区域之间,或者在内存与外设端口之间直接进行的数据传送,它不经过CPU中转,是由硬件直接控制的一种数据传送方式,可以大大提高数据的传送速度。有关DMA的详细论述请见5.3节。DMA方式的接口示意图如图5.8所示。第5章 基本的I/O接口 图5.8 DMA方式的接口示意图第5章 基本的I/O接口 当CPU与外设用查询方式传送数据时,外设完全处于被动状态,只有被CPU查询到并且具备传送数据的条件时才有可能工作,因此在查询方式下,

    21、CPU将大量时间花在等待上,降低了工作效率,因此在计算机技术中引入了中断的概念。中断是现代计算机必须具备的重要功能,也是计算机发展史上的一个重要里程碑,它的出现给计算机结构与应用带来了新的突破。建立准确的中断概念和灵活掌握中断技术是学好本门课程的关键之一。5.2 中中 断断 系系 统统第5章 基本的I/O接口 5.2.1 中断的基本原理中断的基本原理1.中断的概念及分类中断的概念及分类中断是指计算机的CPU在正常运行程序时,由于内部或外部某个紧急事件的发生,使CPU暂停正在运行的程序,而转去执行请求中断的那个外设或事件的中断服务(处理)程序,待处理完后再返回被中断的程序,继续执行的过程。例如,

    22、某个外设向CPU提出交换数据的中断请求,此时CPU的主程序执行到第N条指令,CPU接收到这个中断请求并给予响应,将断点即第N+1条指令的内存地址保护入栈,后转入中断服务程序去执行。当完成中断服务程序后,再返回到主程序的断点继续执行。第5章 基本的I/O接口 这样,便产生了保护现场和恢复现场的要求,即保护断点和CPU中一些寄存器的内容(在主程序中用到的可能在中断服务程序中仍被使用的寄存器),当数据交换完毕,即中断返回时,再恢复断点和寄存器的内容,以便继续执行主程序并且不会丢失中断前的数据。早期中断概念的引入是为了解决快速CPU与慢速外设间的速度匹配问题,以提高CPU的工作效率,因此中断源主要是由

    23、外部硬件产生的。第5章 基本的I/O接口 随着计算机系统结构的不断改进以及应用技术的日益提高,中断的适用范围也随之扩大,不再限于外部硬件产生中断(称硬件中断或外中断),还可由CPU内部产生,即出现了所谓的内部中断。内部中断是为解决机器运行时所出现的某些随机事件及编程方便而出现的。把因内部意外条件而改变程序执行的流程,以报告出错情况和非正常状态的过程或者由程序预先安排,即由指令INT n调用中断服务程序产生的中断,称为内部中断或软件中断。80286以上CPU称内部中断为异常。第5章 基本的I/O接口 如上所述,按产生中断来源的不同,可将中断分为外部中断和内部中断,如图5.9所示。1)外部中断外部

    24、中断外部中断是由CPU的外部中断请求引脚NMI和INTR引起的中断过程,可分为非屏蔽中断和可屏蔽中断两种。(1)非屏蔽中断:若CPU的NMI引脚接收到一个有效高电平持续两个时钟周期以上的正跳变信号(上升沿)时,则可能会产生一次中断,由于这种中断的响应不受中断允许标志IF的控制,因此称为非屏蔽中断。第5章 基本的I/O接口 图5.9 中断源的种类第5章 基本的I/O接口 1)外部中断外部中断外部中断是由CPU的外部中断请求引脚NMI和INTR引起的中断过程,可分为非屏蔽中断和可屏蔽中断两种。(1)非屏蔽中断:若CPU的NMI引脚接收到一个有效高电平持续两个时钟周期以上的正跳变信号(上升沿)时,则

    25、可能会产生一次中断,由于这种中断的响应不受中断允许标志IF的控制,因此称为非屏蔽中断。第5章 基本的I/O接口 非屏蔽中断主要用于处理系统的意外或故障,如电源断电、存储器读/写错误或受到严重的干扰。在IBM PC/XT中的非屏蔽中断源有三种:浮点运算协处理器8087的中断请求、系统板上RAM的奇偶校验错和扩展槽中的I/O通道错。以上三者中的任何一个都可以单独提出中断请求,但是否真正形成NMI信号,还要受NMI屏蔽寄存器的控制。当这个屏蔽寄存器的D7=1时才允许向CPU发送NMI请求,否则即使有中断请求,也不能发出NMI信号。NMI屏蔽寄存器的端口地址为A0H,可以用OUT指令对这一位写入1或0

    26、,达到允许或禁止NMI的效果。Intel公司在设计8086/8088芯片时,已将非屏蔽中断NMI的中断类型号预先定义为类型2。因此,当NMI请求被响应时,不要求外部向CPU提供中断类型号,CPU在总线上也不发送中断应答信号,而是CPU自动转入相应的中断服务程序。第5章 基本的I/O接口(2)可屏蔽中断:可屏蔽中断是由用户定义的外部硬件中断。当外部中断源向8086/8088CPU的INTR引脚发送一个高电平中断请求信号时,该信号必须保持到当前指令的结束。这是因为CPU只在每条指令的最后一个时钟周期才对INTR引脚的状态进行采样,如果CPU采样到有可屏蔽中断请求产生,它是否响应还要取决于中断允许标

    27、志IF的状态。第5章 基本的I/O接口 当中断允许标志IF=0时,INTR的中断请求被屏蔽;当IF=1时,产生一次可屏蔽中断,并通过引脚向产生中断请求的中断源发送两个中断应答信号的负脉冲。在接收到第二个负脉冲时,外部中断源接口电路自动将中断类型号送至数据总线,而CPU将自动从数据总线上读取被响应中断源的中断类型号,由中断类型号就可找到中断服务程序的入口地址。在IBM PC/XT中,所有8个可屏蔽中断的中断源都先经过中断控制器8259A管理之后再向CPU发出INTR请求。而在IBM PC/AT中,使用两片8259A,用来管理15级外部中断。即IBM PC/AT在IBM PC/XT的基础上,增加了

    28、一个从片8259A,形成主从式结构。第5章 基本的I/O接口 外部中断源主要包括:(1)一般的I/O设备。如键盘、显示器、打印机等在完成自身的操作后,向CPU发出中断请求,要求CPU为其服务。(2)数据通道。如磁盘、磁带等也可以向CPU发出中断请求,要求CPU为其传送数据。(3)实时时钟。在控制系统中,常需要定时检测与控制,这时可采用外部时钟电路,并编程控制其定时间隔。当需要定时时,CPU发出命令,启动时钟电路开始计时,待定时时间到,时钟电路就发出中断请求。(4)故障源。计算机内设有故障自动检测装置,如电源断电、存储器出错、外设故障以及越限报警等意外事件都能使CPU产生中断,进行相应的中断处理

    29、。第5章 基本的I/O接口 2)内部中断内部中断8086/8088有相当丰富的内部中断功能。它们可以由CPU内部硬件产生,也可由软件的中断指令INT n引起,其中,n称为中断类型号。一部分已定义的中断类型号用于CPU的特殊功能处理。内部中断源主要包括:(1)由于CPU的错误产生异常。CPU在运行过程中所发生的各种错误都会引起中断,如除法运算出错、算术运算溢出、边界检测出错、协处理器出错以及无效代码故障等。第5章 基本的I/O接口(2)程序执行INT软件中断指令。用户在调试外部中断服务程序时可以用INT n指令来调用并检查。另外,INT n中已有不少被微机系统的BIOS和DOS功能调用所定义,它

    30、们的操作大多涉及外设的I/O操作。(3)为调试程序(DEBUG)设置的中断。在程序调试时,为了检查中间结果,或者为了寻找程序问题所在,往往要求在程序中设置断点或进行单步操作,这些就要由中断系统来实现。第5章 基本的I/O接口 2.中断系统及其功能和组成中断系统及其功能和组成发现中断源并能实现中断服务的手段,包括所需要的硬件和软件,称为中断系统。高效率的中断系统能以最少的响应时间和内部操作去处理所有外设的中断请求,使整个计算机系统的性能达到最佳状态。1)中断系统所具有的功能中断系统所具有的功能为了满足上述要求,中断系统应具有如下功能:(1)多中断源请求,软件可禁止和允许每个中断源的中断请求。第5

    31、章 基本的I/O接口 通常,在系统中会有多个中断源,如果在某段时间内,CPU不想为某个或某几个中断源服务,这就要求系统能够通过软件暂时屏蔽对应的中断源,而对其他中断源仍保持开放状态。当在另外的时间段,系统还可通过软件开放前面被屏蔽的中断源。8086/8088系统可处理256种不同类型的中断,每个中断对应一个中断类型号,所以256种中断对应的中断类型号为0255,这256种不同类型的中断可以来自外部,即由硬件产生,也可以来自内部,即由软件(中断指令)产生,或者满足某些特定条件后引发CPU中断。第5章 基本的I/O接口(2)中断优先级判别功能。当系统中的多个中断源同时申请中断时,就必须要求用户事先

    32、根据各中断源的轻重缓急规定一个中断级别,即优先级。CPU可根据优先级找到中断级别最高的中断源,并响应它的中断请求。当中断处理完后,再响应级别较低的中断源。(3)中断嵌套功能。中断嵌套即级别高的中断可中断级别较低的中断。当CPU正在执行某个中断源中断服务程序时,若有级别更高的中断源向CPU申请中断,则CPU应能暂停正在执行的中断服务程序而响应级别高的中断,在处理完级别高的中断后,再继续执行被暂停的中断服务程序。第5章 基本的I/O接口(4)中断实现。当某一中断源向CPU申请中断后,CPU能决定是否给予响应,当响应中断后,能自动转向中断处理程序去执行,中断处理结束后能自动返回主程序继续执行。(5)

    33、禁止中断和中断屏蔽。在某种情况下,CPU可能不允许响应可屏蔽中断INTR,此时若中断源向CPU申请中断,CPU就不能终止当前正在运行的程序并转到中断服务程序,这种情况称之为禁止中断。第5章 基本的I/O接口 一般在CPU内部有一个中断允许触发器,只有当该触发器的状态为运行状态时,CPU才能响应外部中断,否则CPU不能响应中断。中断允许触发器可以通过指令STI进行置位,或通过指令CLI进行复位。在另一种情况下,比如当CPU正在进行中断处理时,CPU可能不需要响应几种特殊类型的中断,而其余的中断则可以响应,这就叫中断屏蔽。中断屏蔽可以通过中断屏蔽触发器来实现。将中断源对应的中断屏蔽触发器置1时,该

    34、中断源的中断请求被屏蔽,否则该中断源的中断请求被允许。第5章 基本的I/O接口 2)中断系统的组成中断系统的组成为实现上述功能,完整的中断系统应包括以下三方面:(1)微处理器应有处理中断请求的机制与相关硬件电路。即接收请求、响应请求、保护现场、转向中断服务程序以及中断处理完返回。(2)外围应有一个与处理器匹配的中断控制器,能管理多个中断源,进行优先级裁决及中断源屏蔽等功能。(3)根据处理器的结构编写中断处理程序,安排相关的系统初始化。第5章 基本的I/O接口 3.中断的基本过程中断的基本过程当外设准备好与CPU传送数据,或者有某些紧急情况需要处理时,外设向CPU发出中断请求,CPU接收到请求并

    35、在一定情况下,暂停执行原来的程序而转去中断处理,完成中断服务后再返回继续执行原来的程序,这就是一个中断过程。下面将中断过程分成5个阶段来讨论。1)中断请求中断请求凡是能引起中断的设备或事件都称为中断源。外部硬件中断源产生了中断请求信号或内部发生了某种异常,都通知CPU,这就是中断请求。第5章 基本的I/O接口 2)中断判优中断判优由于中断是随机的,可能出现两个或两个以上的中断源同时请求中断服务,在这种情况下,就必须对申请中断的中断源进行优先级判别,这称为中断判优。CPU首先响应当前优先级最高的中断源的中断请求,处理完后再响应优先级次高的中断源的中断请求。第5章 基本的I/O接口 3)中断响应中

    36、断响应CPU在没有接到中断请求信号时,一直执行原来的程序(称为主程序)。由于外设的中断申请随机发生,有中断申请后CPU能否立即服务要看中断的类型,若为非屏蔽中断申请,则CPU执行完现行指令后,做好保护现场工作即可去处理中断服务;若为可屏蔽中断申请,则CPU只有得到允许后才能去服务。把从CPU接收到中断请求到进入中断服务程序之前的这一段时间称为中断响应周期。这期间CPU还要自动将标志寄存器内容及断点地址入栈保护,并自动寻找被响应的中断源的中断服务程序入口地址。对可屏蔽中断,CPU通过连续发出两个中断应答信号INTA完成一个中断响应周期。第5章 基本的I/O接口 4)中断处理中断处理一旦CPU响应

    37、中断,就可自动转入中断服务程序,中断处理要做以下五件事情:(1)保护现场。CPU响应中断时自动将标志寄存器内容和断点地址入栈保护,但主程序中使用的寄存器的保护则由用户视使用情况而定。由于在中断服务程序中要用到某些寄存器,因而若不保护这些寄存器在中断前的内容,当中断服务程序的执行修改了寄存器的内容时,从中断服务程序返回主程序后,程序便不能正确执行。由用户对这些寄存器的内容进行保护的过程称为保护现场。保护现场的指令是PUSH。第5章 基本的I/O接口(2)开中断。CPU接收并响应一个中断后会自动关闭中断,这样做的目的是防止在中断响应过程中被其他级别更高的中断打断,使得在获取中断类型号时出错。但在某

    38、些情况下,有比该中断更优先的情况要处理,此时,应停止对该中断的服务而转入优先级更高的中断处理,故需要再开中断,若不允许嵌套,也可不开中断。开中断的指令是STI。(3)中断服务。中断服务是执行输入/输出或非常事件的处理,是中断处理的核心。(4)关中断。由于在前面有开中断,因而在此处对应一个关中断过程,是为确保无干扰的恢复现场。关中断的指令是CLI。第5章 基本的I/O接口(5)恢复现场。为保护中断服务程序结束后正确返回原来被中止了的程序,应使原来使用的寄存器内容不变,将原来保护的内容再恢复出来。恢复现场的指令是POP。5)中断返回中断返回(1)开中断。此处的开中断对应CPU响应中断后自动关闭中断

    39、。在返回主程序前,也就是在返回中断服务程序的倒数第二条指令往往是开中断指令,以便中断返回后,其他的可屏蔽中断请求能再次得到响应。第5章 基本的I/O接口(2)返回。中断服务程序的最后一条指令无一例外的都使用中断返回指令IRET。该指令使原来在中断响应过程中的断点地址和标志寄存器中的内容,依次从堆栈中弹出,以便继续执行原来的程序。由上述过程可知,当CPU处理一个中断时,不论该中断是外部可屏蔽中断请求INTR或非屏蔽中断请求NMI引发的,还是由INT指令或CPU内部错误引发的,其中断点及现场保护工作是一样的,并且都需要自动寻找中断服务程序入口地址,然后转去执行中断服务程序。因此,CPU在对不同类型

    40、中断进行处理时,机器状态没有区别。第5章 基本的I/O接口 4.中断类型号和中断向量表我们首先介绍几个概念。中断类型号:为每个中断源指定的一个8位的编号,以识别不同的中断源,这8位的编号称为中断类型号。中断向量:每一个中断服务程序的入口地址,称为中断向量。中断向量表:把系统中所有的中断向量集中起来,根据中断类型号从小到大的顺序存放到存储器的某一个区域内,这个存放中断向量的存储区称为中断向量表。在实模式下,中断向量表位于内存的第一个1 KB空间。第5章 基本的I/O接口 以80X86为处理器的计算机系统均采用矢量中断,80X86处理器(CPU)能处理256级中断向量,类型号为00H0FFH。一个

    41、中断向量占用4个字节,分别存放中断服务程序的IP和CS,因此,整个中断向量(0H0FFH)共占用1024字节,用以存放各个中断向量的中断服务程序的入口地址(CS:IP)。中断向量表就是各个中断处理程序的地址表,如图5.10所示。中断向量表用存储器0:0H0:3FFH区域存放各个中断服务程序的入口地址,256级中断向量对应256种中断类型,每项占4字节,前两个字节存放中断处理程序的偏移地址IP,后两个字节存放中断处理程序的段地址CS。各中断处理程序的段地址和偏移地址在向量表中按中断类型顺序存放,所以某中断向量的处理程序的入口地址偏移可由中断类型号4计算出来。第5章 基本的I/O接口 采用中断向量

    42、表,可大大加快处理器(CPU)响应处理中断的速度。从另一方面说,采用中断向量表也为用户编写自己的中断向量服务程序去替换,加强原计算机的中断服务程序带来了方便。80X86对各种中断的响应和处理过程是不相同的,其主要区别在于如何获取响应的中断类型码(向量)。第5章 基本的I/O接口 对于硬件(外部)中断,CPU是在当前指令周期的最后一个T状态采用中断请求输入信号。如果有可屏蔽中断请求,且CPU处在开中断状态(IF标志为1),则CPU转入两个连续的中断响应周期,在第二个中断响应周期的T4状态前沿,读取数据线获取由外设输入的中断类型码。若是非屏蔽中断请求,则CPU不经过上述的两个中断响应周期,而在内部

    43、自动产生中断类型码2。软件(内部)中断的响应过程与非屏蔽中断类似,中断类型码也是自动形成的。软件中断的类型码及中断名称如图5.10所示。第5章 基本的I/O接口 图5.11描述了微处理器在实模式下执行中断操作时查询中断向量表的前后过程及流程。(1)堆栈指针SP减2,标志寄存器Flags自动进栈保存,然后中断标志位I(bit9)与陷阱标志位T(bit8)清0,表示此后关闭了外部硬件中断。第5章 基本的I/O接口 图5.10 8088中断向量表第5章 基本的I/O接口(2)堆栈指针SP减2,代码段寄存器CS自动进栈保存;堆栈指针SP再减2,指令指针IP自动进栈保存。(3)将向量号N乘以4即得表格中

    44、的中断向量首地址,在该单元与4N+1中存放着IP值;在4N+2与4N+3中存放着CS值,将它们分别装入IP与CS即获得中断服务程序的入口地址。(4)CPU从入口地址处开始执行中断服务程序。中断服务处理完毕后由IRET指令实施弹出堆栈的逆向操作,恢复Flags、CS与IP寄存器的原值,返回原主程序。第5章 基本的I/O接口 以上是中断向量表查表的一般过程,Pentium系列实模式下的中断与8086的中断都遵循这一过程。两者的差别在于,8086处理器中向量表的位置是由硬件固定在处理器的最底端00000H处的,而Pentium系列的向量表位置则灵活了一些,可以改变。因为它们的CPU中增加了一个中断描

    45、述符表地址寄存器(IDTR),其中存放着中断描述符表的基地址与表格大小。处理器复位后自动进入实模式,IDTR中的基地址总是00000000H,而大小尺寸总为03FFH,这正好与8086的中断向量表相兼容。但是通过LIDT与SIDT两条装载指令,可以修改IDTR中的基地址值与大小值,以此改变中断向量表格的尺寸并可以将其搬移到实模式寻址空间的任意地段。第5章 基本的I/O接口 图5.11 实模式下的中断过程及流程第5章 基本的I/O接口 5.2.2 中断控制器中断控制器8259A8259A是Intel公司生产的专为8086/8088 CPU配套的可编程中断控制器(Programmable Inte

    46、rrupt Controller,PIC),又称为优先级控制器。它可以管理8级具有优先权的中断源,并且可以以级联的方式扩展到64级优先级;可以给每个中断源提供中断类型号及固定或可变的优先级;当中断被响应后,能及时清除中断标志,以供别的中断源申请中断;能够提供8259A与80X86的接口电路;能够屏蔽无关的中断源;能够以查询方式管理多于64种中断源等。正因为它功能强大,所以编程结构比较复杂。第5章 基本的I/O接口 图5.12 8259A 的外部引脚第5章 基本的I/O接口 1.8259A的引脚功能的引脚功能8259A是28引脚的双列直插式封装芯片,如图5.12所示。其外部引脚信号的含义如下所述

    47、:1)与与CPU连接部分连接部分(1)D7D0:双向三态8位数据线,在系统中与数据总线相连,实现与CPU的数据交换。(2)INT:中断请求信号线,输出,高电平有效。与CPU的INTR引脚相连,用于向CPU发送中断请求。第5章 基本的I/O接口(3):中断响应信号,输入,低电平有效。与CPU的引脚相连,用于接收来自CPU的中断应答信号。8259A要求中断应答信号由两个负脉冲组成,第一个负脉冲作为中断响应信号,第二个负脉冲将中断类型号送上数据总线。(4):读控制信号,输入,低电平有效。用来通知8259A将某个内部寄存器的内容送上数据总线。(5):写控制信号,输入,低电平有效。用来通知8259A从数

    48、据总线上接收CPU发送的控制命令字。(6):芯片选择信号线,输入,低电平有效。通过地址译码电路与地址总线相连。INTAINTARDWRCS第5章 基本的I/O接口(7)A0:端口选择信号线,输入,高电平有效。用来指出当前8259A的哪个端口被选中。当A0=0时,选中低端口地址(偶地址);当A0=1时,选中高端口地址(奇地址)。在8088系统中,数据总线是8位的,所以8259A的数据线可以直接连接在系统数据总线上。这时,系统地址总线的A0与8259A的端口选择信号线A0相连,当CPU访问8259A时,只要使系统地址总线的A0为0或1就能满足8259A对端口地址的编码要求。第5章 基本的I/O接口

    49、 在IBM PC/XT系统上,由于使用的是8088 CPU,所以8259A的端口地址为20H和21H。在8086系统中,数据总线是16位的,而8259A的数据线只有8根,通常8259A都是连接在数据总线的低8位上。为使所有的数据传输都是利用数据总线的低8位,必须将系统地址总线的A1与8259A的端口选择信号线A0相连,而使系统地址总线的A0位总是为0。第5章 基本的I/O接口 这是因为,在8086系统中约定,偶存储体和偶地址端口总是和数据总线的低8位相联系的,而奇存储体和奇地址端口总是和数据总线的高8位相联系的,因此8086 CPU与偶地址端口交换数据时和与偶存储体交换字节数据一样,总是通过低

    50、8位数据线进行传输。在这种情况下,从CPU的角度来说,是对两个相邻的偶地址端口寻址(A0=0、A1=1或A1=0);从8259A的角度来说,只有地址总线的A1和8259A的A0相连,因此仍然是一个低端口地址(偶地址)和一个高端口地址(奇地址)。第5章 基本的I/O接口 2)与外设连接的信号与外设连接的信号IR7IR0:8个外部中断请求信号,输入,高电平或上升沿有效。系统默认的优先级为IR0最高,IR7最低,依次类推。3)用于多片级联的信号用于多片级联的信号(1)CAS0CAS2:级联控制信号,双向。如果8259A为主片,则这三条引脚为输出线;如果8259A为从片,则为输入线,作为从片标识码进入

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《微机原理与接口技术》课件第5章.ppt
    链接地址:https://www.163wenku.com/p-7817546.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库