资源预览内容
第1页 / 共64页
第2页 / 共64页
第3页 / 共64页
第4页 / 共64页
第5页 / 共64页
第6页 / 共64页
第7页 / 共64页
第8页 / 共64页
第9页 / 共64页
第10页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
微机原理与接口技术微机原理与接口技术2010-2011学年第二学期学年第二学期黄景涛黄景涛Tel: 13613796210Email: hjt.haustgmail.comLab: 10-825河南科技大学河南科技大学电子信息工程学院电子信息工程学院第第5章章 微型计算机和外设的数据传输微型计算机和外设的数据传输n主要内容主要内容 I/O接口电路的典型结构接口电路的典型结构 无条件传送方式无条件传送方式 查询传送方式查询传送方式 中断工作过程中断工作过程 DMA工作原理工作原理25.1 为什么要用接口电路为什么要用接口电路n为什么需要为什么需要I/O接口(电路)?接口(电路)?微机的外部设备多种多样微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速度工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大方面彼此差别很大它们不能与它们不能与CPU直接相连直接相连必须经过中间电路再与系统相连必须经过中间电路再与系统相连这部分电路被称为这部分电路被称为I/O接口电路接口电路35.1为什么要用接口电路为什么要用接口电路n什么是什么是I/O接口(电路)?接口(电路)?I/O接口接口(电路)(电路)是位于系统与外设间、用来协助完成数是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路据传送和控制任务的逻辑电路PC机系统板的可编程接口芯片、机系统板的可编程接口芯片、I/O总线槽的电路板总线槽的电路板(适配器)都是接口电路(适配器)都是接口电路CPUCPU接口接口电路电路 I/OI/O设备设备设备设备4I/O接口的主要功能接口的主要功能 对输入输出数据进行缓冲和锁存对输入输出数据进行缓冲和锁存输出接口有输出接口有锁存环节锁存环节输入接口有输入接口有缓冲环节缓冲环节 对信号的形式和数据的格式进行变换对信号的形式和数据的格式进行变换微机直接处理:微机直接处理:数字量数字量 对对I/O端口进行寻址端口进行寻址 与与CPU和和I/O设备进行联络设备进行联络55.2 CPU和输入输出设备之间的信号和输入输出设备之间的信号 5.2.1 数据信息数据信息 包括三种形式:包括三种形式:1.数字量数字量2.模拟量模拟量 3.开关量开关量65.2 CPU和输入输出设备之间的信号和输入输出设备之间的信号5.2.2 状态信息状态信息 r外设通过接口向外设通过接口向CPU传送的信号传送的信号r如:如:“准备好准备好”(READY)信号、信号、“忙忙”(BUSY)信号)信号5.2.3控制信息控制信息 rCPU通过接口传送给外设的通过接口传送给外设的 r如:外设的启动信号、停止信号就是常见的控制信息如:外设的启动信号、停止信号就是常见的控制信息r注意:控制信息是注意:控制信息是CPU通过接口控制外设的与通过接口控制外设的与CPU控制接口控制接口的信息不同的信息不同75.3 接口部件的接口部件的I/O端口端口nCPU和外设进行数据传输时,各类信息在接口中进入不同和外设进行数据传输时,各类信息在接口中进入不同的寄存器,(注意接口和端口的不同)一般称这些寄存器的寄存器,(注意接口和端口的不同)一般称这些寄存器为为I/O端口端口,每个端口有一个端口地址。,每个端口有一个端口地址。n数据端口数据端口(数据寄存器数据寄存器)用于对来自用于对来自CPU和内存的数据或者送往和内存的数据或者送往CPU和内存的数据起缓冲和内存的数据起缓冲作用。作用。n状态端口状态端口(状态寄存器状态寄存器)用来存放外部设备或者接口部件本身的状态用来存放外部设备或者接口部件本身的状态n控制端口控制端口(控制寄存器控制寄存器)用来存放用来存放CPU发出的命令,以便控制接口和设备的动作发出的命令,以便控制接口和设备的动作理解端口理解端口I/O接口电路的典型结构接口电路的典型结构85.3 接口部件的接口部件的I/O端口端口图图5.1 外设通过接口和系统的连接外设通过接口和系统的连接 9I/O端口的编址端口的编址接口电路占用的接口电路占用的I/O端口有两类编排形式端口有两类编排形式nI/O端口单独编址端口单独编址I/O地址空间独立于存储地址空间地址空间独立于存储地址空间如如8086/8088nI/O端口与存储器统一编址端口与存储器统一编址它们共享一个地址空间它们共享一个地址空间如如MCS51108088/8086的输入输出指令的输入输出指令8086有单独的输入输出指令有单独的输入输出指令n输入指令输入指令IN AL,i8/DX ;字节输入字节输入IN AX,i8/DX ;字输入字输入n输出指令输出指令OUT i8/DX,AL ;字节输出字节输出OUT i8/DX;字输出字输出功能功能演示演示功能功能演示演示115.3 接口部件的接口部件的I/O端口端口注意:注意:1.无论输入还是输出,所用到的地址总是无论输入还是输出,所用到的地址总是对端口对端口而言的,不是对接口部件而言的。而言的,不是对接口部件而言的。2.为了节省地址空间,将为了节省地址空间,将数据输入端口和数据输数据输入端口和数据输出端口对应同一个端口地址出端口对应同一个端口地址。同样,。同样,状态端口状态端口和控制端口也常用同一个端口地址和控制端口也常用同一个端口地址。3.CPU对外设的输入对外设的输入/输出操作就归结为对接口芯输出操作就归结为对接口芯片各端口的读片各端口的读/写操作。写操作。 12I/O端口单独编址端口单独编址n优点:优点:I/O端口的地址空间独立端口的地址空间独立控制和地址译码电路相对简单控制和地址译码电路相对简单专门的专门的I/O指令使程序清晰易读指令使程序清晰易读n缺点:缺点:I/O指令没有存储器指令丰富指令没有存储器指令丰富80x86采用采用I/O端口独立编址端口独立编址内存内存空间空间I/O空间空间FFFFF0FFFF013I/O端口与存储器统一编址端口与存储器统一编址n优点:优点:不需要专门的不需要专门的I/O指令指令I/O数据存取与存储器数据存取数据存取与存储器数据存取一样灵活一样灵活n缺点:缺点:I/O端口要占去部分存储器地址端口要占去部分存储器地址空间空间程序不易阅读(不易分清访存程序不易阅读(不易分清访存和访问外设)和访问外设)内存内存部分部分I/O部分部分存存储储空空间间0FFFFF145.4 CPU和外设之间的数据传送方式和外设之间的数据传送方式 5.4.1程序方式程序方式n用输入用输入/输出指令,来控制信息传输的方式,分为输出指令,来控制信息传输的方式,分为两类:两类:无条件传送方式无条件传送方式条件传送方式条件传送方式15程序控制方式程序控制方式1 无条件传送方式无条件传送方式n在在CPU与慢速设备交换数据时,可以认为它们总与慢速设备交换数据时,可以认为它们总是处于是处于“就绪就绪”状态,随时可以进行数据传送,这状态,随时可以进行数据传送,这即无条件传送即无条件传送n适合于简单设备,如适合于简单设备,如LED 数码管、按键数码管、按键/按钮等按钮等n无条件传送的接口和操作均十分简单无条件传送的接口和操作均十分简单n传送前提传送前提外设必须随时处于就绪状态外设必须随时处于就绪状态16程序控制方式程序控制方式1 无条件传送方式无条件传送方式无条件传送示例无条件传送示例图图5.3 无条件传送方式的工作原理无条件传送方式的工作原理17程序控制方式程序控制方式2 (条件条件)查询传送方式查询传送方式nCPU先了解(查询)外设的工作状态,在外设先了解(查询)外设的工作状态,在外设就绪就绪(可以交换信息)的情况下实现数据的输入或输出(可以交换信息)的情况下实现数据的输入或输出n对多个外设的情况,则对多个外设的情况,则CPU按一定顺序依次查询按一定顺序依次查询(轮询轮询)。先查询的外设将优先进行数据交换)。先查询的外设将优先进行数据交换n查询传送的特点是:工作可靠,适用面宽,但传送查询传送的特点是:工作可靠,适用面宽,但传送效率低效率低18查询传送的两个环节查询传送的两个环节n查询环节查询环节寻址状态口寻址状态口读取状态寄存器的标志位读取状态寄存器的标志位若不就绪就继续查询,直至就绪若不就绪就继续查询,直至就绪n传送环节传送环节寻址数据口寻址数据口输入时由输入指令从数据口读入数据输入时由输入指令从数据口读入数据输出时由输出指令向数据口输出数据输出时由输出指令向数据口输出数据数据交换数据交换Y输入状态输入状态就绪?就绪?N查询式数据传送流程查询式数据传送流程19查询式输入接口电路查询式输入接口电路1查询式输入的接口查询式输入的接口20查询式输出接口电路查询式输出接口电路1BUSYREADY0READY查询式输出的接口查询式输出的接口21查询式输入流程查询式输入流程开始开始初始化初始化 测试数据测试数据是否准备好?是否准备好?N输入输入1个字节或字到个字节或字到CPU对数据进行处理对数据进行处理传送到内存缓冲区传送到内存缓冲区操作完成否?操作完成否?处理缓冲区中数据处理缓冲区中数据后处理后处理NYY22程序示例程序示例n从终端往缓冲区输入从终端往缓冲区输入1个字符行,当遇到回车符个字符行,当遇到回车符(0DH)或者字符行超过或者字符行超过80个字符时,输入便结束,并自动加上个字符时,输入便结束,并自动加上1个换行符个换行符(0AH)。如果在输人。如果在输人的的81个字符中未见到回车符,则在终端上输出信息个字符中未见到回车符,则在终端上输出信息“BUFFER OVERFLOW”。用偶校验。如果校验出错,也输出错误信息。用偶校验。如果校验出错,也输出错误信息 .n假定接口的数据输入端口地址为假定接口的数据输入端口地址为0052H,数据输出端口地址为,数据输出端口地址为0054H,状态端口地址为状态端口地址为0056H,并且设定如果状态寄存器中第,并且设定如果状态寄存器中第1位为位为1,则表示,则表示输入缓冲器中已经有输入缓冲器中已经有1个字节准备好,可以进行输入。此外,还设定如个字节准备好,可以进行输入。此外,还设定如果状态寄存器的第果状态寄存器的第0位为位为1,则表示输出缓冲器已经腾空,因而,则表示输出缓冲器已经腾空,因而CPU可可以往终端输出数据以往终端输出数据 23程序示例程序示例 DATA_SEG SEGMENT MESSAGE DB BUFFER OVERFLOW,0DH,0AH DATA_SEG ENDS COM_SEG SEGMENT BUFFER DB 82 DUP(?) COUNT DB ? COM_SEG ENDS CODE SEGMENT ASSUME DS:DATA_SEG, ES:COM_SEG,CS:CODE STAT:MOV AX,DATA_SEG MOV DS,AX MOV AX,COM_SEG MOV ES, AX MOV DI,OFFSET BUFFER MOV COUNT, DI MOV CX,81 CLD 24程序示例程序示例NEXT_IN:IN AL,56H TEST AL,02H JZ NEXT_IN IN AL,52H 0R AL,0 JPE NO_ERROR JMP ERROR NO_ERROR:AND AL,7FH STOSB CMP AL,0DH LOOPNE NEXT_IN JNE OVERFLOW MOV AL,0AH STOSB SUB DI,COUNT MOV COUNT,DI OVERFLOW: MOV SI,OFFSET MESSAGE MOV CX,17 NEXT_OUT: IN AL,56H TEST AL,01H JZ NEXT_OUT LODSB OUT 54H,AL LOOP NEXT_OUT 255.4.2 中断方式中断方式程序程序断点断点主程序主程序中断请求中断请求为为外外设设继继续续执执行行返回断点返回断点nCPU在执行程序中,被在执行程序中,被内部或外部的事件所打内部或外部的事件所打断,转去执行一段预先断,转去执行一段预先安排好的中断服务程序安排好的中断服务程序n服务结束后,又返回原服务结束后,又返回原来的断点,继续执行原来的断点,继续执行原来的程序来的程序提提供供服服务务中断服务程序中断服务程序入口入口中断方式数据传送流程中断方式数据传送流程26中断传送与接口中断传送与接口n中断传送是一种效率更高的程序传送方式中断传送是一种效率更高的程序传送方式 。n进行传送的进行传送的中断服务程序是预先设计好的中断服务程序是预先设计好的n查询方式查询方式CPU主动,中断方式外设主动主动,中断方式外设主动,中断请求中断请求是外设随机向是外设随机向CPU提出的提出的nCPU对请求的检测是有规律的对请求的检测是有规律的:一般是在每条指令:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚的最后一个时钟周期采样中断请求输入引脚n本节主要论述中断在输入和输出方面的应用本节主要论述中断在输入和输出方面的应用n中断还有着非常广泛的应用中断还有着非常广泛的应用27中断方式输入的接口电路中断方式输入的接口电路10图图5.728可可屏屏蔽蔽中中断断的的执执行行过过程程302. 中断优先级问题的解决中断优先级问题的解决问题问题1:系统有多个中断请求,:系统有多个中断请求,CPU如何识别哪个中断源发如何识别哪个中断源发 出的请求?出的请求?办法办法1:向量中断(硬件)向量中断(硬件)办法办法2:中断查询(软中断查询(软/硬件结合)硬件结合)中断源的识别(解决谁提出服务请求的问题)中断源的识别(解决谁提出服务请求的问题)312. 中断优先级问题的解决中断优先级问题的解决问题问题2:有多个中断同时请求,:有多个中断同时请求,CPU如何应对?如何应对?办法办法1:软件查询方式:软件查询方式办法办法2:简单硬件方式:简单硬件方式菊花链法菊花链法办法办法3:专用硬件方式:专用硬件方式中断优先级排队(解决先为谁服务的问题)中断优先级排队(解决先为谁服务的问题)322. 中断优先级问题的解决中断优先级问题的解决问题问题3:中断处理过程中,又有中断提出请求,怎么办?:中断处理过程中,又有中断提出请求,怎么办?办法办法1:链式优先权排队电路:链式优先权排队电路办法办法2:优先权编码电路:优先权编码电路中断嵌套中断嵌套33(1)软件查询方式)软件查询方式A0A15锁锁存存器器INTR三态三态缓冲器缓冲器译码译码 8001HD0D7中断中断A中断中断B中断中断C中断中断H-IOR101034(1)软件查询方式)软件查询方式35(2)简单硬件方式)简单硬件方式菊花链法菊花链法设计思想设计思想n将所有的设备连成一条链,靠近将所有的设备连成一条链,靠近CPU的设备优先级的设备优先级最高,越远的设备优先级别越低;最高,越远的设备优先级别越低;n若级别高的设备发出了中断请求,在它接到中断响若级别高的设备发出了中断请求,在它接到中断响应信号的同时,封锁其后的较低级设备使得它们的应信号的同时,封锁其后的较低级设备使得它们的中断请求不能响应中断请求不能响应n只有等它的中断服务结束以后或中断服务子程序中只有等它的中断服务结束以后或中断服务子程序中开中断后才允许为低级的设备服务开中断后才允许为低级的设备服务36(2)简单硬件方式)简单硬件方式菊花链法菊花链法中断优先级菊花链及其逻辑电路中断优先级菊花链及其逻辑电路(a) 菊花链电路菊花链电路 (b) 菊花链逻辑电路菊花链逻辑电路37(3)专用硬件方式)专用硬件方式n采采用用可可编编程程的的中中断断控控制制器器芯芯片片。如如Intel8259A* * * * *385.4.3 DMA传送方式传送方式1DMA传送方式的提出传送方式的提出n希望克服程序控制传送的不足:希望克服程序控制传送的不足:外设外设CPU存储器存储器外设外设CPU存储器存储器n直接存储器存取直接存储器存取DMA:不经不经CPU,不用指令不用指令 外设外设存储器存储器(DMA写)写) 外设外设存储器存储器(DMA读)读) 扩展扩展:外设外设 外设外设nCPU出让系统总线(输出高阻),由出让系统总线(输出高阻),由DMA控制器控制器(DMAC)接管系统总线接管系统总线392.DMA控制器的功能和控制器的功能和DMA传送的原理传送的原理DMA控制器应该具备的功能:控制器应该具备的功能:1.当外设准备就绪,希望进行当外设准备就绪,希望进行DMA操作时操作时DMA控制器应能向控制器应能向CPU发总发总线请求信号。线请求信号。2.CPU总线请求允许,总线请求允许,DMA控制器应能实行对总线的控制。控制器应能实行对总线的控制。3.DMA控制器得到总线控制权以后,要向地址总线发送地址信号,修控制器得到总线控制权以后,要向地址总线发送地址信号,修改所用存储器的地址指针。改所用存储器的地址指针。4.在在DMA传送期间,传送期间,DMA控制器应能发读写控制信号。控制器应能发读写控制信号。5.为了决定所传送的字节数,并且判断为了决定所传送的字节数,并且判断DMA传送是否结束,在传送是否结束,在DMA控控制器内部必须有制器内部必须有1个字节计数器,用来存放所传送的字节数。个字节计数器,用来存放所传送的字节数。6.DMA过程结束时,过程结束时,DMA控制器应向控制器应向CPU发出结束信号,将总线控制发出结束信号,将总线控制权交还给权交还给CPU。40用用DMA方方式式单单个个数数据据传传输输 DMA控控制制器器的的内内部部最最小小配配置置和和接接口口要要求求 45各传送方式的特点各传送方式的特点n无条件传送无条件传送:慢速外设需与:慢速外设需与CPU保持同步保持同步n查询传送查询传送: 简单实用,效率较低简单实用,效率较低n中断传送中断传送:外设主动,可与:外设主动,可与CPU并行工作,并行工作,但每次传送需要额外时间开销但每次传送需要额外时间开销 nDMA传送传送:DMAC控制,外设直接和存储控制,外设直接和存储器进行数据传送,适合大量、快速数据传送器进行数据传送,适合大量、快速数据传送46习题与思考:习题与思考: 1. CPU与外设之间的数据传输控制方式有哪几种?何谓程序控制方式?与外设之间的数据传输控制方式有哪几种?何谓程序控制方式?它有哪两种基本方式?请分别用流程图的形式描述出来。它有哪两种基本方式?请分别用流程图的形式描述出来。2. 试从程序转移的角度比较中断控制与子程序调用这两种处理过程,它们试从程序转移的角度比较中断控制与子程序调用这两种处理过程,它们有哪些根本区别?又有哪些相似之处?有哪些根本区别?又有哪些相似之处?3. 用查询方式将用查询方式将DATA开始的存贮区的开始的存贮区的100个字节数据在个字节数据在0FCH端口输出,端口输出,完成程序。完成程序。(设状态端口地址为(设状态端口地址为0FFH,最高位为,最高位为1就绪就绪)4什么是接口?什么是端口?在什么是接口?什么是端口?在8086/8088微机系统中,微机系统中,CPU是如何实现是如何实现端口寻址的?端口寻址的?5简述菊花链式中断优先级排队电路的工作过程?简述菊花链式中断优先级排队电路的工作过程?6中断处理的主要步骤有哪些?试说明每一步的主要动作。中断处理的主要步骤有哪些?试说明每一步的主要动作。47教学要求教学要求1. 了解了解I/O接口电路的主要功能、内部和外部特接口电路的主要功能、内部和外部特点、端口编址方法、点、端口编址方法、I/O地址译码特点地址译码特点2. 温习温习掌握输入输出指令掌握输入输出指令3. 掌握无条件、查询传送方式掌握无条件、查询传送方式4. 理解中断、中断源、中断工作过程、中断源识理解中断、中断源、中断工作过程、中断源识别、优先权排队和中断嵌套别、优先权排队和中断嵌套5. 理解理解DMA传送的工作过程传送的工作过程48
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号