- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DMA传送的工作过程 ⑴ CPU对DMA控制器进行初始化设置 ⑵ 外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制 ⑶ DMA传送 DMA读存储器:存储器 → 外设 DMA写存储器:存储器 ← 外设 ⑷ 自动增减地址和计数,判断传送完成否 传送方式的比较 无条件传送:慢速外设需与CPU保持同步 查询传送: 简单实用,效率较低 中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送 小结 1. 了解I/O接口电路的主要功能、内部和外部特点、端口编址方法、I/O地址译码特点 2. 掌握输入输出指令 3. 掌握无条件、查询传送方式、中断方式、DMA方式的特点和应用范围 4. 能够根据接口电路设计简单的IO程序 5. 理解中断、中断源、中断工作过程、中断源识别、优先权排队和中断嵌套 6. 理解DMA传送的工作过程 练习 6.3, 6.4, 6.5, 6.8 输出接口的锁存环节 内 部 数 据 总 线 外 部 数 据 引 脚 锁存控制 D C Q D C Q D C Q 返回 输出接口的锁存、缓冲环节 内 部 数 据 总 线 外 部 数 据 引 脚 锁存控制 D C Q D C Q D C Q 读数据 返回 输入接口的缓冲环节 内 部 数 据 总 线 外 部 数 据 引 脚 选通 缓冲器 返回 输入接口的锁存、缓冲环节 内 部 数 据 总 线 外 部 数 据 引 脚 锁存控制 锁存器 缓冲器 D C D C D C Q Q Q 选通 返回 端口(PORT) 端口泛指I/O地址,通常对应寄存器 一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息 数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息 输入、输出端口可以是同一个I/O地址 一定要理解 返回 IN AL, 21H 返回 OUT 43H, AL 返回 无条件传送流程 返回 就绪(Ready) 在输入场合 “就绪”说明输入接口已准备好送往CPU的数据,正等着CPU来读取 该状态也可用接口中数据缓冲器已“满”来描述 在输出场合 “就绪”说明输出接口已做好准备,等待接收CPU要输出的数据 该状态也可用接口数据缓冲器已“空”、或者用接口(外设)“闲”或不“忙(Busy)”来描述 就绪:满,空、闲、不忙 返回 查询传送流程 返回 中断传送流程 返回 DMA传送流程 返回 I/O寻址方式 8088/8086的端口有64K个,无需分段,设计有两种寻址方式 直接寻址:只用于寻址00H ~ FFH前256个端口,操作数i8表示端口号 间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号 对大于FFH的端口只能采用间接寻址方式 数据交换方式 如果输入输出一个字节,利用AL寄存器 如果输入输出一个字,利用AX寄存器 输入一个字,实际上是从连续两个端口输入两个字节,分别送AL(对应低地址端口)和AH(对应高地址端口) 输出一个字,实际上是将AL(对应低地址端口)和AH(对应高地址端口)两个字节的内容输出给连续两个端口 IN指令(从20H端口输入一个字) ;方法1:字量输入,直接寻址 in ax,20h ;方法2:字量输入,间接寻址 mov dx,20h in ax,dx ;方法3:字节输入,直接寻址 in al,21h mov ah,al in al,20h ;方法4:字节输入,间接寻址 mov dx,21h in al,dx mov ah,al dec dx in al,dx OUT指令(向300H端口输出一个字节) ;唯一的方法:间接寻址 mov al,bvar ;bvar是字节变量 mov dx,300h out dx,al 1.5 I/O地址的译码 I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点: 常采用部分译码方式。可以是中间地址线不连接、也有最低地址线不连接的情况(低地址用于访问内部端口) 为了给系统一定的选择余地,有些接口电路利用比较器、开关或跨接器等进行多组I/O地址的译码 除采用译码器、门电路进行译码外,I/O地址译码还经常采用可编程逻辑器件PLA 1.6 IBM PC/AT主机板的I/O译码电路 PC中,IO端口采用独立编址方式 利用地址总线的低10位,共有1024个端口,其中000~0FFH供主板使用,0100H~03FFH供扩充插槽用 1.6 IBM PC/AT主机板的I/O译码电路 接口芯片内部译码 A0~A4 DMA控制器1 中断控制器1 定时计数器 并行接口电路 DMA页面寄存器 中断
文档评论(0)