《微机原理与接口技术》课件第5章.ppt
- 【下载声明】
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
展开阅读全文