湖大微机原理及其应用-第5章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《湖大微机原理及其应用-第5章.ppt》由用户(hyngb9260)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 及其 应用
- 资源描述:
-
1、第5章输入/输出技术与中断系统 I/O I/O接口的功能接口的功能 I/O I/O端口与其寻址方式端口与其寻址方式 CPU CPU与外设之间的数据传送方式与外设之间的数据传送方式 中断系统的基本概念中断系统的基本概念 8086CPU8086CPU的中断系统的中断系统 8259A8259A可编程中断控制器可编程中断控制器 掌握微型计算机接口技术的基本概念掌握微型计算机接口技术的基本概念 了解主机与外设之间的各种数据传送方式了解主机与外设之间的各种数据传送方式 了解了解I/O端口的寻址方式端口的寻址方式 掌握掌握8 8086CPU的中断系统的中断系统 掌握掌握 8259A可编程中断控制器可编程中断
2、控制器 5.1 I/O接口的功能和传送的接口信号接口的功能和传送的接口信号 CPUCPU可通过可通过系统总线系统总线与外设相连,进行系与外设相连,进行系统的扩展与开发,而外设必须通过统的扩展与开发,而外设必须通过接口接口才能才能与与CPUCPU交换信息。交换信息。CPU系统总线系统总线I/O接口接口电路电路外外设设5.1.1 I/O接口的功能接口的功能 1 1、数据的、数据的缓冲缓冲与与锁存;锁存;2 2、I/OI/O设备的设备的寻址;寻址;3 3、提供、提供CPUCPU与外设间交换数据与外设间交换数据 所需的所需的控制控制与与状态状态信号;信号;4 4、信号的、信号的转换;转换;5 5、可编
3、程可编程功能。功能。5.1.2 CPU与外设间交换的信号与外设间交换的信号 1、数据数据 (1 1)数字量数字量:是以是以二进制形式或以二进制形式或以ASCIIASCII码码表示的数字表示的数字或字符或字符 (2 2)模拟量模拟量:外部的模拟量必须先经过外部的模拟量必须先经过A/DA/D转换成数字转换成数字量后才能量后才能进入进入CPUCPU;CPUCPU对现场的控制信号也必须经过对现场的控制信号也必须经过D/AD/A转转换成模拟量后,才能去换成模拟量后,才能去控制控制某些执行机构。某些执行机构。(3 3)开关量:开关量:只有只有两个状态两个状态的量,最终转化为两个电平的量,最终转化为两个电平
4、电量,对应电量,对应一位一位二进制的二进制的“1”1”或或“0”0”。(4 4)脉冲量:)脉冲量:以以脉冲形式脉冲形式表示的一种信号,例如计数脉表示的一种信号,例如计数脉冲、定时脉冲、控制脉冲等。冲、定时脉冲、控制脉冲等。在在8086中,中,数据信息最终都转化成为数据信息最终都转化成为8位、位、16位或位或32位二进制数位二进制数。对输入设备为是否准备好准备好?(READY)对输出设备为是否空闲空闲?(Empty或BUSY)反映当前外设工作状态的信息,例如:3.控制(Control)信息 CPUCPU通过接口输出用以通过接口输出用以控制外设控制外设工作的信息,工作的信息,如控制如控制I/O设备
5、的设备的运行模式运行模式等控等控制信号。制信号。上述数据、状态信息及控制信息是三上述数据、状态信息及控制信息是三类类不同性质不同性质的接口信号,必须的接口信号,必须分别分别传送;传送;但大部分微机系统中都只有通用的输但大部分微机系统中都只有通用的输入、输出指令,因此状态信息与控制信息入、输出指令,因此状态信息与控制信息也必须也必须作一种数据作一种数据来传送;来传送;CPUCPU与接口连接时为使三者之间能区分与接口连接时为使三者之间能区分开,必须给它们安排开,必须给它们安排各自不同各自不同的端口地址。的端口地址。图5.1 I/O接口示意图I/O接口内部一般由接口内部一般由数据、状态、控制数据、状
6、态、控制三类三类寄存器组成。寄存器组成。数据寄存器数据寄存器在在输入输入时,保存外设发往时,保存外设发往CPU的数的数据据(输入寄存器输入寄存器);在在输出输出时,保存时,保存CPU发往外设的数发往外设的数据据(输出寄存器输出寄存器);状态寄存器状态寄存器保存状态信息,保存状态信息,CPU可从状态口读可从状态口读取取当前状态当前状态;控制寄存器控制寄存器用来保存用来保存CPU写入的写入的控制字控制字。外部设备与微处理器进行外部设备与微处理器进行信息交换信息交换,必须,必须通过通过访问访问该外设相对应的端口来实现。该外设相对应的端口来实现。寻找这些外设端口的过程叫做寻找这些外设端口的过程叫做寻址
7、寻址。通常有通常有两种两种寻址方式:寻址方式:存储器映像存储器映像的的I/OI/O寻址方式;寻址方式;I/OI/O端口单独寻址端口单独寻址方式方式。5.2 I/O 端口端口的的寻址方式寻址方式5.2.1 存储器映像的存储器映像的I/O寻址方式寻址方式 将将I/OI/O端口地址与存储器地址端口地址与存储器地址统一分配统一分配,即,即把一个外设端口作为存储器的一个单元来把一个外设端口作为存储器的一个单元来对待,对待,占有占有存储器的存储器的一个一个地址。地址。CPUCPU没有专门的输入、输出指令,当从外设没有专门的输入、输出指令,当从外设做一次输入做一次输入/输出操作时,是作为一次存储输出操作时,
8、是作为一次存储器的器的读读/写写操作。操作。优点:优点:1.端口寻址手段丰富,且端口寻址手段丰富,且不需要专门的不需要专门的I/OI/O指令指令2.I/OI/O寄存器数目(或外设数目寄存器数目(或外设数目)仅受仅受总存储容量总存储容量的限制的限制。3.读写控制逻辑比较读写控制逻辑比较简单简单。缺点缺点:I/OI/O端口要占用存储器的一部分端口要占用存储器的一部分地址空间,使可用的内存空间地址空间,使可用的内存空间减少减少;用访问内存的指令来访问外设,用访问内存的指令来访问外设,延长延长了指令执行的时间。了指令执行的时间。5.2.2 I/O端口单独寻址方式端口单独寻址方式 I/OI/O端口和存储
9、器端口和存储器分开分开寻址;寻址;CPUCPU有专用的有专用的I/OI/O指令,故也称为指令,故也称为专用专用I/OI/O指令方式;指令方式;专用的专用的I/OI/O指令通常有两类,即:指令通常有两类,即:输入输入指令、指令、输出输出指令及其相关指令组指令及其相关指令组。优点优点:1.I/O端口的地址空间独立,端口的地址空间独立,不占用不占用存储器的存储器的地址空间;地址空间;2.对对I/O端口的寻址只需用到较少的地址线,端口的寻址只需用到较少的地址线,因此寻址因此寻址速度速度相对较快;相对较快;3.专门专门I/O指令的使用,使编制的汇编语言源指令的使用,使编制的汇编语言源程序中的输入程序中的
10、输入/输出部分更为输出部分更为清晰清晰,便于,便于理理解解和和调试调试。缺点缺点:I/OI/O指令的类型指令的类型较少较少,访问外设的程序,访问外设的程序设计灵活性设计灵活性较差较差;需要存储器和需要存储器和I/OI/O端口两套控制逻辑电端口两套控制逻辑电路,增加了硬件的路,增加了硬件的复杂性复杂性。5.2.3 8086 CPU对对I/O端口的寻址方式端口的寻址方式采用采用I/O端口端口单独单独寻址方式,用低寻址方式,用低16位地址总线位地址总线(A15A0)寻址寻址I/O端口;端口;支持支持字节型字节型和和字型字型I/O传送;传送;最多支持最多支持64K个个字节型字节型I/O端口,或者说最多
11、支持端口,或者说最多支持32K个个字型字型端口;端口;有两种寻址方式:有两种寻址方式:直接直接寻址,地址范围为寻址,地址范围为0255;DX间接间接寻址,地址范围为寻址,地址范围为065535。为解决为解决8086与8位I/O设备数据线的连接问题连接问题,与存储器的奇/偶体方式相类似,也可以把I/O设备分成2个体个体,其中:偶偶I/O体体的数据线与CPU的D0D7连接,用地址总线A0作为偶体(低低8位位数据传送)选通信号;奇奇I/O体体的数据线与CPU的D8D15连接,用 作为奇体(高高8位位数据传送)选通信号。BHE 对于对于16位的位的字型字型端口,其端口地址应是端口,其端口地址应是偶偶地
12、址;地址;对于对于8位的位的字节型字节型端口:端口:若接若接低低8位位数据总线,则是数据总线,则是偶偶地址端口;地址端口;若接若接高高8位位数据总线,则是数据总线,则是奇奇地址端口。地址端口。如果一个如果一个I/OI/O接口系统中接口系统中多个字多个字节型节型端口都接到数据总线的低端口都接到数据总线的低8 8位位(也可以接高(也可以接高8 8位),则这些端口地位),则这些端口地址的址的A A0 0均均固定为固定为0 0,全部为偶地址全部为偶地址。因此,因此,A0不能参与各接口芯片的不能参与各接口芯片的片内端口寻址,这时可用片内端口寻址,这时可用A1来来替代替代。5.3 CPU与外设之间的数据传
13、送方式与外设之间的数据传送方式微机微机与外设间的数据传送,实际上是与外设间的数据传送,实际上是CPU与与I/O接口间的数据传送。接口间的数据传送。CPU与外设间的数与外设间的数据传送据传送方式方式通常包括通常包括无条件传送无条件传送、查询传送、查询传送、中断传送、中断传送、以及以及DMA方式方式。5.3.1 无条件传送方式无条件传送方式 无条件传送一般适合于数据传送无条件传送一般适合于数据传送不太频不太频繁繁的情况,如对开关、数码显示器等一些的情况,如对开关、数码显示器等一些简简单外设单外设的操作的操作。所谓无条件,就是所谓无条件,就是假设假设外设已处于就绪外设已处于就绪状态,数据传送时,程序
14、状态,数据传送时,程序不必去查询不必去查询外设的外设的状态,而状态,而直接执行直接执行I/OI/O指令进行数据传输指令进行数据传输。5.3.2 查询传送方式查询传送方式 程序控制下的查询传送方程序控制下的查询传送方式,又称式,又称异步传送异步传送方式。方式。它在执行输入输出操作它在执行输入输出操作之之前前,需通过测试程序对外部设,需通过测试程序对外部设备的状态进行备的状态进行检查检查。当所选定的外设已准备当所选定的外设已准备“就绪就绪”后,才开始进行输入后,才开始进行输入输出操作。输出操作。查询传送方式流程图 查询传送方式查询传送方式工作流程包括工作流程包括两个基本两个基本工作环节工作环节(1
15、 1)查询环节)查询环节 主要通过读取状态寄存器的主要通过读取状态寄存器的标志位标志位来来检查外设是否检查外设是否“就绪就绪”。(2 2)传送环节)传送环节 通过输入指令从数据端口通过输入指令从数据端口输入输入数据,数据,或利用输出指令向数据端口或利用输出指令向数据端口输出输出数据数据。一个典型的查询式输入接口电路如图一个典型的查询式输入接口电路如图5.2所示。所示。图中,由输入设备提供图中,由输入设备提供8位数据位数据和和1个个选通选通信号,通过数据端口(信号,通过数据端口(8位锁存器和三位锁存器和三态缓冲器态缓冲器1#)或状态端口()或状态端口(D型触发器和型触发器和三态缓冲器三态缓冲器2
16、#)将信息传送到)将信息传送到CPU,其中状态端口其中状态端口仅用仅用到到1位,只接数据总位,只接数据总线的线的DB0 图5.2 查询式输入接口电路工作过程:工作过程:当输入设备的数据已经准备好后,一方面当输入设备的数据已经准备好后,一方面将数据将数据送入送入8 8位锁存器位锁存器,另一方面对,另一方面对D D触发器触发,触发器触发,使状态信息标志位使状态信息标志位D D0 0为为1 1。当当CPUCPU要求外设输入信息时,先要求外设输入信息时,先检查检查状态信状态信息。若数据已经准备好,则输入相应数据,并使息。若数据已经准备好,则输入相应数据,并使状态信息状态信息清清“0”0”。否则,等待数
17、据准备否则,等待数据准备“就绪就绪”。查询式输入时的数据和状态信息 查询式输入程序流程图 WAIT:IN A,STATUS-PORT ;从状态口输入;从状态口输入状态信息状态信息TEST AL,01H ;测试测试标志位是否为标志位是否为1JZ WAIT ;未就绪,未就绪,继续继续查询查询IN AL,DATA-PORT ;从数据端口从数据端口输入数据输入数据 与查询式输入与查询式输入相类似相类似。一个典型的查。一个典型的查询式输出电路如图询式输出电路如图5.4所示,所示,图中,图中,8位锁存器为数据端口,位锁存器为数据端口,D型触型触发器与发器与1位的三态缓冲器构成状态端口,其位的三态缓冲器构成
18、状态端口,其输出的输出的状态信号状态信号Busy经三态缓冲器接数据经三态缓冲器接数据总线总线DB7。图5.4 查询式输出电路工作过程:工作过程:当输出设备将数据输出后,当输出设备将数据输出后,发出一个发出一个ACKACK信号信号,使,使D D触发器翻转触发器翻转为为0 0。CPUCPU查询到这个状态信息后,执行输出指令,将查询到这个状态信息后,执行输出指令,将新的新的输出数据输出数据发送发送到数据总线上,同时把数据端口地址发送到到数据总线上,同时把数据端口地址发送到地址总线上。地址总线上。由地址译码器产生的译码信号和由地址译码器产生的译码信号和 相相“与与”后,发后,发出选通信号,将出选通信号
19、,将输出数据送至输出数据送至8 8位锁存器位锁存器。同时同时将将D D触发器置为触发器置为1 1,并通知外设进行数据,并通知外设进行数据传传输操输操作。作。WR查询式输出的端口信息 WAIT0WAIT0:IN AL,STATUS_PORT IN AL,STATUS_PORT ;从状态口输入;从状态口输入状态信息状态信息 TEST AL,80H TEST AL,80H ;测试测试标志位标志位D D7 7 JNZ WAIT0 JNZ WAIT0 ;未就绪;未就绪,继续查询继续查询 MOV AL,BUF MOV AL,BUF ;从缓冲区;从缓冲区BUFBUF取数据取数据 OUT DATA_PORT,
20、AL OUT DATA_PORT,AL ;向数据端口;向数据端口输出输出 读入状态端口信息 输出数据 Busy=0?N 图 5.5 查询式输出程序流程图 3.查询传送方式的特点查询传送方式的特点 接口电路和工作程序均相当简单,较好地解接口电路和工作程序均相当简单,较好地解决了决了CPU与外设之间的与外设之间的速度匹配速度匹配问题;问题;在一些在一些CPU不太忙不太忙且传送速度且传送速度不高不高的情况下,的情况下,常采用这种方式。常采用这种方式。但这种方式实际上是但这种方式实际上是CPU与外设之间的一种与外设之间的一种串行串行(交替)工作的方式,大大(交替)工作的方式,大大降低降低了了CPU的的
21、效率效率。5.3.3 中断传送方式中断传送方式CPUCPU和外设并行运行和外设并行运行的工作方式:的工作方式:CPUCPU启动外设后,继续执行启动外设后,继续执行其他其他的工作程序,的工作程序,不不需要需要去查询外设的状态;去查询外设的状态;当外设准备好后,当外设准备好后,主动主动向向CPUCPU发出中断申请;发出中断申请;CPUCPU响应后,响应后,暂时停止暂时停止当前程序,当前程序,转去转去执行数据执行数据的输入或输出操作,待的输入或输出操作,待I/OI/O处理完成后,再处理完成后,再返回返回到被到被打断的程序继续运行,这一过程即为打断的程序继续运行,这一过程即为中断中断。CPUCPU通过
22、通过反复反复响应中断,来完成批量数据的输入响应中断,来完成批量数据的输入或输出。或输出。中断方式的数据输入采用中断传送方式时采用中断传送方式时,无需无需CPU花费大量时间去查花费大量时间去查 询外设的工作状态询外设的工作状态。与程序方式相比,大大提高了与程序方式相比,大大提高了CPU的的效率效率。外设请求中断INTR有效主程序中断服务程序输入数据外设准备数据5.3.4 DMA DMA方式方式1.1.问题的提出问题的提出 利利用中断方式进行数据传送,可以大大地提高用中断方式进行数据传送,可以大大地提高CPU的效率,但中断传送也是通过的效率,但中断传送也是通过CPU执行指令来执行指令来完成的,传送
23、一个数据常需要执行完成的,传送一个数据常需要执行十几条十几条指令,指令,几十几十微秒微秒的时间。的时间。这对于高速的这对于高速的I/O设备与内存间批量数据交换来设备与内存间批量数据交换来说,显得说,显得太慢太慢了。为解决这个问题,可以采用:了。为解决这个问题,可以采用:DMA(Direct Memory Access)方式。方式。CPU总线存储器外设程序控制的数据输入/输出DMADMA与程序控制数据传送路径比较2.DMA传送的特点传送的特点 (1)数据传送过程中的一些)数据传送过程中的一些操作操作,如:存,如:存/取取数、修改地址、计数等不是由软件,而是由数、修改地址、计数等不是由软件,而是由
24、硬件硬件(DMA控制器)来实现的;控制器)来实现的;(2)传送的速度上限一般主要)传送的速度上限一般主要取决于取决于存储器的存储器的存取速度存取速度;(3)DMA传送过程中,传送过程中,CPU需需让出让出系统总线系统总线的的控制权控制权,让,让DMA控制器接管,因此控制器接管,因此DMA控制控制器电路器电路结构复杂结构复杂,硬件,硬件成本高成本高。DMA传送原理图(2)当当CPU发出发出DMA响应信号后,响应信号后,接管系统总接管系统总线线进入进入DMA方式;方式;(1 1)在收到外设的在收到外设的DMA请求后,能向请求后,能向CPU 发出发出 BUSRQ 请求信号。请求信号。(3)能发出地址
25、信息,并对能发出地址信息,并对I/O端口或存储器端口或存储器寻寻址址。并能。并能修改修改地址指针;地址指针;(5)能对传送的字节计数,判断能对传送的字节计数,判断DMA传送传送是否结束是否结束(4 4)能向存储器和能向存储器和I/O设备发出设备发出读读/写控制写控制信号信号(6)能发出)能发出DMA结束信号,结束信号,让出让出系统总线,使系统总线,使CPU恢复正常工作恢复正常工作DMA工作流程 4.8086 CPU的的DMA方式方式 通过通过HOLDHOLD、HLDAHLDA来接受、响应来接受、响应DMADMA控制器的总线控制器的总线请求:当请求:当DMADMA控制器发出控制器发出HOLD(H
展开阅读全文