微机原理教程06_第1页
微机原理教程06_第2页
微机原理教程06_第3页
微机原理教程06_第4页
微机原理教程06_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章输入输出接口第6章输入输出接口教学重点

I/O接口电路的典型结构无条件传送查询传送

中断传送6.1I/O接口概述为什么需要I/O接口(电路)?微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大它们不能与CPU直接相连必须经过中间电路再与系统相连这部分电路被称为I/O接口电路多种外设6.1I/O接口概述(续1)什么是I/O接口(电路)?I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路CPU接口电路

I/O设备6.1I/O接口概述(续2)什么是微机接口技术?处理微机系统与外设间联系的技术注意其软硬结合的特点根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备6.1.1I/O接口的典型结构控制总线CB地址总线ABI/O接口电路数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器1.内部结构2.外部特性3.基本功能4.软件编程1.内部结构CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:⑴数据寄存器输入数据寄存器:保存外设给CPU的数据输出数据寄存器:保存CPU给外设的数据⑵状态寄存器保存外设或接口电路的状态⑶控制寄存器保存CPU给外设或接口电路的命令2.外部特性主要体现在引脚上,分成两侧信号面向CPU一侧的信号:用于与CPU连接主要是数据、地址和控制信号面向外设一侧的信号:用于与外设连接提供的信号五花八门功能定义、时序及有效电平等差异较大3.基本功能数据缓冲匹配快速的处理器与相对慢速的外设的数据交换缓冲:实现接口双方数据传输的速度匹配信号变换把信号相互转换为适合对方的形式计算机直接处理的信号数字量(0和1组成的信号编码)开关量(只有两种状态的信号)脉冲量(低脉冲信号,高脉冲信号)4.软件编程接口具有可编程性(Programmable)命令字(控制字)写入接口芯片、选择工作方式、控制数据传输初始化程序选择I/O接口工作方式、设置原始工作状态等驱动程序操纵I/O接口完成具体工作硬件接口电路需要软件编程配合工作6.1.2I/O端口的编址I/O端口=I/O地址,对应I/O接口的寄存器一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口输入、输出端口可以是同一个I/O地址如何编排存储器地址和I/O地址?端口?

1.I/O端口与存储器地址独立编址优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富主存空间I/O空间FFFFF0FFFF80x86支持I/O端口独立编址2.I/O端口与存储器地址统一编址优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间程序不易阅读(不易分辨访问存储器和访问外设)主存部分I/O部分存储器空间00000FFFFF3.I/O地址译码与存储器地址译码在原理和方法上完全相同I/O地址不太强调连续,多采用部分译码6.1.3输入输出指令输入指令(IN:将外设数据传送给CPU内的AL/AX)INAL,i8 ;字节输入INAL,DX ;字节输入INAX,i8 ;字输入INAX,DX ;字输入输出指令(OUT:将CPU内的AL/AX数据传送给外设)OUTi8,AL ;字节输出OUTDX,AL ;字节输出OUTi8,AX ;字输出OUTDX,AX ;字输出演示8088/8086的I/O端口8088只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址8086用于寻址外设端口的地址线为16条,端口最多为216=65536(64K)个,端口号为0000H~FFFFH每个端口用于传送一个字节的外设数据1.I/O寻址方式8088/8086的端口有64K个,无需分段,设计有两种寻址方式直接寻址:只用于寻址00H~FFH前256个端口,操作数i8表示端口号间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号对大于FFH的端口只能采用间接寻址方式2.I/O数据传输量如果输入输出一个字节,利用AL寄存器如果输入输出一个字,利用AX寄存器输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口)输出一个字,实际上是将AL(对应低地址端口)和AH(对应高地址端口)两个字节的内容输出给连续两个端口IN指令实例(从20H端口输入一个字);方法1:直接寻址,字量输入

inax,20h;方法2:间接寻址,字量输入

movdx,20h

inax,dx;方法3:直接寻址,字节量输入

inal,21h

mov

ah,al

inal,20h;方法4:间接寻址,字节量输入

movdx,21h

inal,dx

mov

ah,al

dec

dx

inal,dxOUT指令实例(向300H端口输出一个字节);唯一的方法:间接寻址,字节量输出

mov

al,bvar

;bvar是字节变量

movdx,300h

outdx,al6.1.4数据传送方式附加硬件控制软件程序控制无条件传送查询传送中断传送直接存储器存取(DMA传送)I/O处理器控制传送6.2无条件传送在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“准备好”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键或按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时就绪无条件传送:输入示例MOV DX,160HINAL,DX无条件传送:输入实例MOV DX,160HINAL,DX74LS244+5V10Kx8G1G2数据总线CSRD无条件传送:输出示例MOVDX,160HMOVAL,[BX]OUTDX,AL无条件传送:输出实例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300

x8LEOE数据总线CSWRK7K1K0+5VD0~D7A0~A15CLK8位反相驱动器8位锁存器8位三态缓冲器6000H译码+5VLED0LED7……GIOWIOR无条件传送:输入输出接口

movdx,6000h ;DX指向数据端口

inal,dx ;从输入端口读开关状态

notal ;反相

outdx,al ;送输出端口显示

calldelay ;调子程序延时6.3查询传送CPU需要先了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(准备好)实现数据输入或输出对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低准备好?查询传送的两个环节⑴查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至准备好⑵传送环节寻址数据口是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据输入状态准备好?数据交换YN超时IOR+5V8位锁存器8位三态缓冲器译码1位三态缓冲器RQ

A0~A155001H5000HD0~D7D0D输入设备IORSTB

movdx,5001h

;DX指向状态端口status:

inal,dx

;读状态端口

testal,01h

;测试标志位D0

jzstatus

;D0=0,未准备好,继续查询

dec

dx

;D0=1,准备好,DX指向数据端口

inal,dx

;从数据端口输入数据2.查询输入接口8位锁存器译码1位三态缓冲器RQ

A0~A155001H5002HD0~D7D7D+5V输出设备ACKIOWIOR

movdx,5001h

;DX指向状态端口status:

inal,dx

;读取状态端口的状态数据

testal,80h

;测试标志位D7

jnzstatus

;D7=1,未就绪,继续查询

incdx

;D7=0,就绪,DX指向数据端口

mov

al,buf

;变量buf送AL

outdx,al

;将数据输出给数据端口3.查询输出接口6.4中断传送断点主程序中断服务程序中断请求对外设进行处理继续执行返回断点外设主动提出请求处理器响应请求执行中断服务程序, 完成一次数据传送中断处理结束, 继续执行原来程序6.4.1中断工作过程中断请求中断响应中断关闭断点保护

中断源识别

现场保护中断服务

恢复现场中断开放中断返回中断流程数据交换的实质性环节中断接口1.中断请求和响应中断请求外设以硬件信号的形式、向处理器发送有效信号,应保持有效到被响应中断传送过程由外设的中断请求启动,获得处理器认可,才真正进入中断传送过程处理器需要满足一定条件,才能响应中断请求:(1)指令执行结束后才能响应外设的中断请求(2)处理器处于开放中断的状态(3)中断请求的同时,没有更高级别的其他请求中断流程2.中断关闭和开放中断开放允许可屏蔽中断被响应中断允许、开中断中断关闭不允许可屏蔽中断被响应中断被屏蔽了、被禁止了,关中断2级(多级)中断响应控制处理器的中断屏蔽位:控制所有可屏蔽中断外设接口电路的中断屏蔽位:灵活控制某个外设中断流程中断屏蔽位用于实现中断的灵活控制3.断点保护和中断返回断点是指被中断执行的指令位置断点保护保护断点指令所在的存储器地址断点保护一般由处理器自动完成有的处理器还可能自动保护程序状态中断返回处理器返回断点继续执行原来的程序中断服务程序最后的一条中断返回指令实现中断流程5.现场保护和恢复现场:对处理器执行程序有影响的工作环境进入中断后需要保护现场中断返回前需要恢复现场断点地址(或加上程序状态)由处理器硬件自动保护其他需要由中断服务程序进行保护和恢复(通常是处理器的通用寄存器)具体的编程方法可以类似子程序编程中断流程中断源的识别4.中断源识别问题1:系统有多个中断请求,CPU如何识别中断源?解答1:中断向量(图6-12)解答2:中断查询(图6-13)中断向量接口中断查询接口中断流程中断优先权排队6.4.2中断优先权管理问题2:有多个中断同时请求,CPU如何应对?解答1:软件查询:逐个判断解答2:硬件电路:编码电路、链式排队电路中断嵌套6.4.2中断优先权管理(续)问题3:中断处理过程中,又有中断提出请求,怎么办?原则1:优先权低于或等于,不予理会原则2:优先权高于,中断嵌套6.5DMA传送希望克服程序控制传送的不足:外设→CPU→存储器外设←CPU←存储器直接存储器存取DMA:外设→存储器外设←存储器CPU释放总线,由DMA控制器管理传送方式的比较无条件传送慢速外设需与CPU保持同步查询传送简单实用,效率较低中断传送外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销DMA传送DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送第6章:教学要求1.了解I/O接口电路的主要功能、内部和外部特点、端口编址方法、I/O地址译码特点2.掌握输入输出指令3.掌握无条件、查询传送方式4.理解中断、中断源、中断工作过程、中断源识别、优先权排队和中断嵌套多种多样的外设工作原理不同机械、电子、机电、电磁……传送信息类型多样数字量、模拟量、开关量传送速度差别极大传送方式不尽相同串行、并行编码方式不同二进制、BCD码、ASCII码……返回端口(PORT)端口泛指I/O地址,通常对应接口电路的寄存器一个接口电路可以具有多个I/O端口(寄存器),每个端口用来保存和交换不同的信息数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息输入、输出端口可以是同一个I/O地址一定要理解返回输入输出指令返回输入接口的缓冲环节内部数据总线外部数据引脚选通缓冲器返回输出接口的锁存环节内部数据总线外部数据引脚锁存控制DCQDCQDCQ返回输入接口的锁存、缓冲环节内部数据总线外部数据引脚锁存控制锁存器缓冲器DCDCDCQQQ选通返回输出接口的锁存、缓冲环节内部数据总线外部数据引脚锁存控制DCQDCQDCQ读数据返回准备好(Ready)在输入场合“准

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论