




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十四讲第十四讲 主机与外设的数据传输主机与外设的数据传输 重点:重点:微机系统主机与外部设备之间的数据传送,I/O端口的寻址方式,输入/输出的传送控制方式。 一、输入一、输入/输出数据的传输控制方式输出数据的传输控制方式 1、引言、引言 微机的外部设备多种多样,工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大,因此不能与CPU直接相连,必须经过中间电路再与系统相连,这部分电路被称为I/O接口电路2、输入、输入/输出端口的寻址方式输出端口的寻址方式 微机系统采用总线结构,各功能部件(CPU、内存、I/O端口)之间的信息交换都通过总线来进行,区分不同的I/O端口,是I/O寻址方式所要解
2、决的问题。有两类编排形式 I/O端口单独编址I/O地址空间独立于存储地址空间如:8086/8088 I/O端口与存储器统一编址共享一个地址空间如:M6800,R6502I/O端口单独编址 优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富内存内存空间空间I/O空间空间0FFFFFH00FFFFHI/O端口与存储器统一编址 优点: 不需要专门的I/O指令 I/O数据存取与存储器数据存取一样灵活 缺点: I/O端口要占去部分存储器地址空间 程序不易阅读(不易分清访问内存和访问外设)内存内存部分部分I/O部分部分存储器空
3、间存储器空间00000H0FFFFFH3、CPU与外设之间所传送的信息类型与外设之间所传送的信息类型 数据信息:包括数字量、模拟量、开关量等,可以输入、也可以输出。 状态信息:I/O端口送给CPU的外设当前状态的信息。供CPU进行分析、判断、决策。 控制信息:CPU送给I/O端口的控制命令,使外设完成特定的操作。4、8088/8086的输入输出指令 输入指令IN AL,PORT/DX ;字节输入IN AX,PORT/DX ;字输入 输出指令OUT PORT/DX,AL;字节输出OUT PORT/DX,AX;字输出二、二、 CPU与外设之间输入与外设之间输入/输出数据输出数据的传输控制方式的传输
4、控制方式 1、程序方式、程序方式 用I/O指令,控制信息传输的方式,可分为无条件传送方式和条件传送方式。 (1)无条件传送方式无条件传送方式 无条件:外设总是处于“准备好”状态,可直接利用I/O指令进行信息的I/O操作。MOV DX, 0160HINAL, DXIOR三态缓冲器OEI/O装置地址译码器CSD7D0A15A1A00160HMOV DX, 0160HMOV AL, BXOUT DX, AL地址译码器数据锁存器A15A1IOWA0CS0160H输出设备D7D0(2)条件传送方式条件传送方式又称查询方式,通过程序查询设备的状态,符合要求时,CPU进行I/O操作。外设提供反映其状态的信号
5、,对输入设备,提供“准备好”(“READY”)信号,“READY” 1 表示输入数据已准备好。输出设备提供“忙”(“BUSY”)信号,“BUSY”1表示当前不能接收数据。 输入接口 输入设备发选通信号将数据锁存READY1CPU查询(读READY)读数据清除READY。 IOR+5V8D锁存器锁存器8位位三态三态缓冲器缓冲器译码译码1位位三态三态缓冲器缓冲器RQ A0A158000H8001HD0D7D0D输入输入设备设备IORSTB mov dx,8000h ;DX指向状态端口status:in al ,dx;读状态端口test al,01h ;测试标志位D0jz status ;D00,未
6、就绪,继续查询inc dx;D01,就绪,DX指向数据端口in al,dx;从数据端口输入数据 输出接口 CPU送数据至锁存器,发选通信号,通知外设取数据;BUSY输出设备取完数据ACK清BUSYCPU查询 8D锁存器锁存器译码译码1位位三态三态缓冲器缓冲器RQ A0A158000H8001HD0D7D7D+5V输出输出设备设备ACKIOWIOR mov dx,8000h;DX指向状态端口status:in al,dx;读取状态端口状态数据test al,80h;测试标志位D7jnz status;D71未就绪继续查询inc dx;D70,DX指向数据端口mov al,buf;变量buf送AL
7、out dx,al ;将数据输出给数据端口 例1 设从某输入设备上输入一组数据送缓冲区,若缓冲区已满则输出信息“BOFFER OVERFLOW”,然后结束。设该设备的启动地址为0FCH,数据端口为0F8H,状态端口为FAH。 DATA SEGMENT MESS1 DB “BUFFER OVERFLOW”,“$” BUFF DB 60 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV BX,OFFSET BUFF;送缓冲区指针 MOV CX,60;送计数初值 OUT 0FCH,A
8、L ;启动设备 WAIT:IN AL,0FAH;查询状态,若为0等待 TEST AL,01H JZ WAIT IN AL,0F8H;输入数据 MOV BX,AL INC BX LOOP WAIT;检测缓冲区是否满,不满输入 MOV DX,OFFSET MESS1;缓冲区满,输出标志字符串 MOV AH,09H INT 21H MOV AH,4CH INT21H CODE ENDS END START 查询优先级问题 当CPU对多个设备进行查询时,先为哪个设备服务?采用轮流查询方式解决时,优先级是很明显的,即先查询的设备具有较高的优先级。这种优先级管理方式,存在着一个问题,设备的优先级是变化的,
9、当为设备B服务以后,这时即使A已准备好,它也不理睬,而是继续查询C,也就是说A的优先地位并不巩固(即不能保证随时处于优先)。为了保证A随时具有较高的优先级,可采用加标志的方法,当CPU为B服务完以后,先查询A是否准备好,若此时发现A已准备好,立即转向对A的查询服务,而不是为C设备服务。2、中断传送方式、中断传送方式 CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序断点断点主程序主程序中断服务程序中断服务程序中断请求中断请求对外设对外设进行处理进行处理继续执行继续执行返回断点返回断点中断方式下的接口电路中断方式下
10、的接口电路 D0D7+5V8D锁存器锁存器8位位三态三态缓冲器缓冲器三态缓冲器三态缓冲器RQ 译码译码 8001H中断向量号中断向量号D0D7INTRD输入输入设备设备中断允许触发器中断允许触发器A0A15中断请求触发器中断请求触发器IORINTASTB 数据输入的过程数据输入的过程:当外设发STB数据入锁存器,中断请求触发器置1若没有屏蔽则产生INTRCPU满足条件(允许中断)(进入中断服务子程序)读数据清中断请求触发器。 中断优先级中断优先级 软件查询法软件查询法A0A15锁锁存存器器INTR三态三态缓冲器缓冲器译码译码 8001HD0D7中断中断A中断中断B中断中断CIOR 简单硬件方法
11、简单硬件方法 链式中断优先权排队电路A2A1C2C1D2D1B2B1中断源中断源A触发器触发器中断源中断源B触发器触发器中断源中断源C触发器触发器中断矢量中断矢量D中断矢量中断矢量C中断矢量中断矢量B中断矢量中断矢量A中断源中断源D触发器触发器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器INTA 专用硬件方式专用硬件方式 采用可编程的中断控制器芯片Intel8259A。中断响应中断响应 中断源向CPU发出中断请求,若优先级别最高,CPU在满足一定的条件下,可以中断当前程序的运行,保护好现场信息。然后,根据中断源提供的信息,找到中断服务子程序的入口地址,转去执行中断服务子程序程序段,这就是中
12、断响应。 CPU响应中断的条件,允许中断、中断未被屏蔽、当前指令执行完等。中断服务子程序结构中断服务子程序结构 保护现场(由一系列的PUSH指令完成)。保存那些与主程序中产生冲突的寄存器,(如AX,BX,CX等),如果中断服务子程序中所使用的寄存器与主程序中所使用的寄存器等不产生冲突的话,这一步骤可以省略。 开中断(由STI指令实现)。实现中断的嵌套。 中断服务 恢复现场(由一系列的POP指令完成)。与保护现场对应,注意数据恢复的次序。 返回(使用中断返回指令IRET) 中断的工作过程可分为五大步骤:中断的工作过程可分为五大步骤: 即中断请求、中断判优、中断响应、中断服务和中断返回 3、DMA传送方式传送方式 克服程序控制传送的不足:外设CPU存储器外设CPU存储器 直接存储器存取DMA:外设存储器外设存储器 CPU释放总线,由DMA控制器管理HLDA发存储器地址发存储器地址传送数据传送数据传送结束?传送结束?DMA结束结束修改地址指针修改地址指针 DMA方式传送的主要步骤方式传送的主要步骤 (见流程图) 外设准备就绪时,向DMA控制器发DMA请求,DMA控制器接到此信号后,向CPU发DMA请求; CPU接到HOLD请求后,如果条件允许(一个总线操作结束),则发出HLDA信号作为响应,同时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河长制工作情况汇报(10篇)
- 食品货物运输采购合同(3篇)
- 杭州植物园导游词(15篇)
- 行政单位人事财务工作计划
- 2024年法院财务年度工作个人总结
- 租房居间合同范本3
- 2025年交直流电测仪器行业深度研究分析报告
- 2024年球类器材行业市场深度研究及投资战略规划建议报告
- 2025年二芳基乙烷项目可行性研究报告
- 2024年少儿编程行业市场深度分析及投资战略规划报告
- (新版)网络攻防知识考试题库(含答案)
- 建筑工程资料档案盒侧面标签
- 工程设计变更工程量计算表
- 广东粤教版第3册上信息技术课件第5课神奇的变化-制作形状补间动画(课件)
- 动力工程及工程热物理专业英语课件
- 幼儿系列故事绘本课件达芬奇想飞-
- (中职)中职生礼仪实用教材完整版PPT最全教程课件整套教程电子讲义(最新)
- 出纳收入支出日记账Excel模板
- 给水排水用格栅除污机通用技术条件
- 一年级下册综合实践活动课件-身边的水果和蔬菜全国通用16张
- 市政工程主要施工机械设备
评论
0/150
提交评论