微机原理6-基本输入输出接口_第1页
微机原理6-基本输入输出接口_第2页
微机原理6-基本输入输出接口_第3页
微机原理6-基本输入输出接口_第4页
微机原理6-基本输入输出接口_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

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

I/O接口电路的典型结构无条件传送方式查询传送方式中断工作过程36.1I/O接口概述I/O设备有哪些?为什么需要I/O接口(电路)?微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大它们不能与CPU直接相连,必须经过中间电路再与系统相连46.1I/O接口概述(续1)什么是I/O接口(电路)?I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路主板上的可编程接口芯片、I/O总线插槽的接口卡电路板(适配器adapter)都是接口电路接口一般还需要软件支持(编程):初始设置,工作驱动CPU接口电路I/O设备56.1I/O接口概述(续2)什么是微机接口技术?处理微机系统与外设间联系的技术根据应用系统的需要,使用或构造相应的接口电路,编制配套的接口程序66.1.1I/O接口的主要功能⑴对输入输出数据进行缓冲

驱动、隔离和锁存⑵对信号的形式和数据的格式进行变换微机直接处理:数字量、开关量、脉冲量,而外设工作信号可能是如高电压、大电流的模拟信号,需要进行信号变换。⑶对I/O端口进行寻址

一个外设可以有多个端口⑷与CPU和I/O设备进行联络

外设状态,控制信号,外设请求76.1.2I/O接口的典型结构控制总线CB地址总线ABI/O接口电路数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器8I/O接口的典型结构1.接口电路的内部结构2.接口电路的外部特性3.接口芯片的分类4.接口芯片的可编程性91.接口电路的内部结构CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部: ⑴数据寄存器保存外设给CPU和CPU发往外设的数据 ⑵状态寄存器保存外设或接口电路的状态 ⑶控制寄存器保存CPU给外设或接口电路的命令102.接口电路的外部特性面向CPU一侧的信号(比较统一):用于与CPU连接主要是数据、地址和控制信号(与M类似)面向外设一侧的信号(各不相同):用于与外设连接提供的信号五花八门功能定义、时序及有效电平等差异较大113.接口芯片的分类接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片):通用接口芯片支持通用的数据输入输出和控制的接口芯片,如8255面向外设的专用接口芯片针对某种外设设计、与该种外设接口,如8279(键盘/显示器接口芯片

面向微机系统的专用接口芯片与CPU和系统配套使用,以增强其总体功能,如8259(中断控制器),8237(DMA控制器),8253(定时/计数器)124.接口电路的可编程性(Programmable)许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种;多数接口不仅需要进行物理连接,还需要编写接口软件;其工作方式和内部资源可通过编程加以控制,因此为接口设计和应用提供了更大的灵活性。136.1.3I/O端口的编址接口电路占用的I/O端口有两类编排形式I/O端口单独编址I/O地址空间独立于存储地址空间如8086/8088I/O端口与存储器统一编址它们共享一个地址空间如M6800(Motrola)14I/O端口单独编址优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富80x86采用I/O端口独立编址,参见P14内存空间I/O空间FFFFF0FFFF015I/O端口与存储器统一编址优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间程序不易阅读(不易分清访存和访问外设)内存部分I/O部分存储空间0FFFFF166.1.48088/8086的输入输出指令输入指令INAL,i8/DX ;字节输入INAX,i8/DX ;字输入输出指令OUTi8/DX,AL ;字节输出OUTi8/DX,AX ;字输出176.1.5I/O地址的译码I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点:允许“浪费”不强调地址的连续性,因为各外设的操作相对独立,且访问频率远低于存储器例:书P157,图6-218用门电路实现I/O地址译码A9A8A7A6A5A2A4A3AENA1A074LS30(8输入与非门)I/O地址3E7HA9-A0:1111100111B19用跳线和拨动开关设置接口地址的例子(P158)20IBMPC/XT主机板的I/O译码电路Y0Y1Y2Y3Y4Y5Y6Y7A5A6A7A8A9-AEN-IOWAB

C-E1-E2E374LS138-DMACS(8237)-INTRCS(8259)-T/CCS(8253)-PPICS(8255)-WRTDMAPG(写DMA页面寄存器)-WRTNMIREG(写NMI屏蔽寄存器)接口芯片内部译码A0~A4-AEN:DMA地址有效21IBMPC/AT主机板的I/O译码电路接口芯片内部译码A0~A4DMA控制器1中断控制器1定时计数器并行接口电路DMA页面寄存器中断控制器2DMA控制器2协处理器A5A6A7A8A9138译码器HLDAMASTERABCE1-E2-E3Y0Y1Y2Y3Y4Y5Y6Y7HLDA和MASTER有效,表示别的设备控制总线,CPU不能寻址I/O226.1.6CPU与外设的数据传送方式程序控制下的数据传送——通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送查询传送中断传送直接存储器存取(DMA)——传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送I/O处理机——CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理236.2无条件传送方式及其接口在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键/按钮等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时处于就绪状态传送流程接口实例24无条件传送:输入示例IOR三态缓冲器OEI/O装置地址译码器CSD7~D0A15~A1A00160HMOVDX,160HINAL,DX25无条件传送:输入示例MOVDX,160HINAL,DX74LS244+5V10Kx8G1G2数据总线CSRD26无条件传送:输出示例地址译码器数据锁存器A15A0~A14-IOWCS0160H输出设备D7~D0MOVDX,160HMOVAL,[BX]OUTDX,AL27无条件传送:输出实例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300

x8LEOE数据总线CSWR28无条件传送:输入输出接口K7K1K0+5VD0~D7A0~A15CLK74LS06反相驱动器74LS2738D锁存器74LS244三态缓冲器8000H译码+5VLED0LED7……-G-IOW-IOR两个端口地址共用8000H,怎么区分?29无条件传送:输入输出接口 movdx,8000h ;DX指向数据端口next:

inal,dx

;从输入端口读开关状态

notal ;反相

outdx,al

;送输出端口显示

calldelay ;调子程序延时

jmpnext ;重复程序执行效果?K0闭合,LED0亮还是灭?306.3查询传送方式及其接口CPU先了解(查询)外设的工作状态,在外设就绪(可以交换信息)的情况下实现数据的输入或输出对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换查询传送的特点是:工作可靠,适用面宽,但传送效率低31查询传送的两个环节查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪传送环节寻址数据口是输入,通过输入指令从数据口读入数据是输出,通过输出指令向数据口输出数据输入状态就绪?数据交换YN传送流程接口实例326.3.1查询输入接口-IOR+5V8D锁存器8位三态缓冲器译码1位三态缓冲器

A0~A158000H8001HD0~D7D0输入设备-IOR-STB-RQD两次读入数据:1、D0(状态口),

2、D0-D7(数据口)33查询输入接口

movdx,8000h ;DX指向状态端口status:inal,dx

;读状态端口

testal,01h

;测试标志位D0(al&01h)

jzstatus;D0=0,未就绪,继续查询

incdx;D0=1,就绪,DX指向数据端口

inal,dx

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

A0~A158000H8001HD0~D7D7D+5V-ACK-IOW-IOR输出设备状态口35查询输出接口 movdx,8000h ;DX指向状态端口status: inal,dx ;读取状态端口的状态数据

testal,80h ;测试标志位D7 jnzstatus ;D7=1,未就绪,继续查询

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

moval,buf ;变量buf送AL outdx,al ;将数据输出给数据端口366.4中断传送方式程序断点主程序中断请求为外设继续执行返回断点传送流程CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序提供服务中断服务程序

入口376.4.1中断传送与接口中断传送是一种效率更高的程序传送方式;中断过程的完成由中断系统(硬件,如8259和CPU)和中断服务程序(软件)共同控制完成;进行传送的中断服务程序是预先设计好的,其入口地址已知;中断请求是外设随机向CPU提出的(时间随机);程序执行到何位置(断点)也是随机的(地点随机);38中断可能来自CPU内部,也可能来自CPU外部外部中断可分为可屏蔽中断和不可屏蔽中断

可屏蔽中断:INTR引入;-INTA响应。CPU可通过设置IF=1(开中断)和IF=0(关中断)决定是否响应。

不可屏蔽中断:NMI。必须响应,直接激活中服,如电源掉电、奇偶校验出错、浮点运算出错等。39CPU对中断请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚本章主要论述中断在输入和输出方面的应用:即中断传送中断还有着非常广泛的应用,如程序调试(软中断)等;时钟中断:多道程序并发执行的推动力40三态缓冲器中断输入接口(向量中断)D0~D7+5V8D锁存器8位三态缓冲器RQ

译码8001H中断向量号(8259提供)D0~D7INTRD输入设备中断允许触发器A0~A15中断请求触发器-IOR-INTA-STB数据口1、数据准备好,产生中断请求信号2、CPU响应中断,接收中断向量号3、根据中断向量,找到中服程序,读取数据41?中断向量如何获取中断向量表:在内存的前1K字节,可容纳256个中断向量;每个中断向量占用4个字节,用于存储对应中断源的服务程序入口地址。一部分为系统保留,其余用户可用,可作为外部中断源向量。每个中断向量,即一个1字节的中断类型码(00H~FFH),比如88H。426.4.2中断工作过程(可屏蔽)中断请求(外设)中断响应(CPU)关中断(CPU)断点保护(CPU)中断识别(硬件/软件)现场保护(用户)中断服务(用户)恢复现场(用户)开中断(CPU/用户)中断返回(IRET,用户)中断服务是进行数据交换的实质性环节43CPU响应中断的条件中断请求时,没有更高级别的请求发生,如RESET、HOLD、NMI等;中断请求应保持到它被响应为止;44断点保护与现场保护的不同断点保护是CPU自动完成的,保护内容有:FLAGS、CS、IP等;现场保护:用户根据需要在程序中施行,用PUSH。456.4.3中断识别和中断优先权处理问题1:CPU如何识别中断源?一个中断源: 向量中断(硬件)P164,图6-12多个中断源: 中断查询(软/硬件结合)中断源的识别46中断查询接口A0~A15锁存器INTR三态缓冲器译码

8001HD0~D7中断A中断B中断C中断H……-IOR软件流程见图6-14中服程序依次查询中断A-H,看有否发出申请,先查的优先级高476.4.3中断优先权(续1)问题2:有多个中断同时请求,CPU如何应对?硬件方案1:链式优先权排队电路2:优先权编码电路中断优先级排队48链式中断优先权排队电路A2A1C2C1D2D1B2B1中断源A触发器中断源B触发器中断源C触发器中断矢量D中断矢量C中断矢量B中断矢量A中断源D触发器缓冲器缓冲器缓冲器缓冲器-INTA高优先级INTRD0~D71、产生请求信号2、关闭B23、送出中断矢量49中断优先权编码电路比较器失效信号(当前无中断服务时有效)比较器8:3优先权编码器优先权寄存器D0~D721A<B中断请求0中断请求1中断请求2A0A1A2INTRB0B1B2…有中断请求中断请求7低优先权记录正在服务的中断编码,若无,则输出比较器失效信号50

设中断源2有中断请求,1、若当前没有中断服务…2、当前正在服务的是中断源1(优先级高于2)…3、当前正在服务的是中断源5(优先级低于2)…516.4.3中断优先权(续2)问题3:中断处理过程中,又有中断提出请求,怎么办?办法1:链式优先权排队电路办法2:优先权编码电路中断嵌套526.5DMA传送方式希望克服程序控制传送的不足: 外设→CPU→存储器 外设←CPU←存储器直接存储器存取DMA:不经CPU,不用指令

外设→存储器(DMA写)

外设←存储器(DMA读)CPU出让系统总线(输出高阻),由DMA控制器(DMAC)接管系统总线53DMA传送特点:DMAC同时访问存储器和I/O设备;对一个对象读,必然对另一个对象写;只对存储单元进行寻址,对I/O端口不寻址。54DMA传送的工作过程⑴CPU对DMA控制器进行初始化设置⑵外设、DMAC、CPU,3者通过应答信号建立联系:CPU将总线暂交DMAC控制,事后再将控制权收回。⑶DMA传送DMA读:存储器→外设DMA写:存储器←外设⑷DMAC的功能:对存储器寻址地址动加1/减1计数器减1判断传送是否完成传送流程55DMA传送(以DMA写为例)-MEMW-IOR数据总线地址总线输入设备存储器DMACCPU②③④①HOLDHLDA56DMA传送流程HLDA发存储器地址传送数据传送结束?DMA结束修改地址指针57传送方式的比较无条件传送:慢速外设需与CPU保持同步查询传送:简单实用,效率较低中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送58第

温馨提示

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

评论

0/150

提交评论