10级微机原理9_IO-OK解读.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8237A内部逻辑框图 1 2 3 4 5 方式字中通道号 8237引脚定义与功能 I/O缓冲部分: DB7~0 从模式:DB7~0供CPU读写8237内部寄存器 主模式:DB7~0输出地址A15~8 MEM到MEM模式下:分时复用 送源地址,接收数据并暂存,送目的地址 时序控制部分 READY:低速设备握手信号 EOP:DMA结束 输入:强迫结束 输出:计数结束 命令控制部分 在从模式下根据CPU读写地址进行内部地址译码 8237的编程结构 8237A 的内部寄存器 1 4 4 1 1、地址寄存器 基地址寄存器 16位 CPU分两次写入 CPU只能写,不能读 当前地址寄存器 用来保存DMA传送时存储单元的地址值 每传送一个字节,其内容自动加1或减1 2、字寄存器 基字节寄存器 16位 用来存放每次DMA操作需要传送的数据字节数 在编程状态下由CPU写入 CPU只能写,不能读 当前计数寄存器 表示本次DMA操作还需要传送的数据字节数 每传送一个字节,其内容减1 当该寄存器的内容由0000H减为FFFFH(即-1)时,产生终止计数信号,使EOP变为低电平 3、方式寄存器 方式选择 00:请求方式 01:单字节方式 10:数据块方式 11:级联方式 自动预置功能选择 0:禁止 1:选择 地址增减选择 0:递增 1:递减 通道选择 00:通道0 01:通道1 10:通道2 11:通道3 传递类型选择 00:校验传送 01:写传送 10:读传送 11:无效 4、请求寄存器 支持“请求传输方式”,软件申请DMA传送 每个通道一个(一位) “请求字”格式: D2置1表示请求DMA传送 0:请求触发器置0 1:请求触发器置1 通道选择 00:通道0 01:通道1 10:通道2 11:通道3 无用位 5、屏蔽寄存器 禁止某通道工作(即使外设有DREQ) 每个通道有各自的屏蔽寄存器:每个通道一个(1位) 可以分别设置,也可以通过写“总屏蔽寄存器”进行设置 “屏蔽字”格式与“请求字”格式同 D2置1表示屏蔽 6、命令寄存器 设置操作方式 7、状态寄存器 有无DREQ 对应位为1表示有请求 计数结束? 对应位为1表示终止计数 读入,供检测用 8、暂存器 地址暂存器和字计数暂存器 支持对当前地址和字计数寄存器的修改 每读写一个字节,将当前地址和字计数寄存器的值取入这两个暂存器后分别加1或减1,再写回 CPU不访问 数据暂存器 MEM到MEM的传输模式下数据的暂存 8237A DMA控制器端口地址 8237A的DMA操作时序 8237A有两种主要的周期:空闲周期和有效周期。 每种周期都由若干个状态组成。 S1:地址高8位;S2:地址低8位 S3:读令RD; S4:写令WR 8237A的传送类型 单字节 读:MEM到I/O 写:I/O到MEM 校验 块 读、写、校验 请求 读、写、校验 MEM到MEM 通道0(源地址),通道1(目的地址) 自动预置:EOP后重复 循环优先 压缩时序:连续传输,省略S3,读写令都在S4发出 DMA传输(块字节方式)正常时序 读写命令的对象? 存储器到存储器之间的传送时序 8237A的编程和应用 编程说明:初始化和状态检查 如果处于SI,且_CS=0,HLDA=0,则进入编程状态 对16位寄存器的读写操作 先后触发器 CPU应保证编程和DMA响应是相互排斥的 在编程时禁止8237工作 步骤: 主清 写基地址/当前地址 写基计数/当前计数 写方式字 写屏蔽字 写命令字 写请求字(可选) 8237A在IBM-PC/XT机中的应用 IBM PC/XT机使用一片8237A 通道0:动态存贮器DRAM刷新 通道1:用户使用(同步数据链路控制(SDLC)协议设备,如网络通信) 通道2:内存与软盘的高速数据交换 通道3:内存与硬盘的高速数据交换 不进行存储器到存储器的数据传输 使用单字节传送方式 PC机用DMA控制电路进行刷新,所以DMA传送不能长时间占用总线(不应超过15?s) 固定优先权(通道0、1、2、3) 使用页面地址寄存器LS670产生A19~A16。 由CPU预先写入A19~A16的值,在响应时再根据(DACK2、DACK3)读出对应通道所需的值。 举例:IBM-PC/XT中的使用: 初始化和测试程序段: DMA表示8237端口首地址(0000H) MOV AL,04 MOV DX,DMA+8 ;DX指向控制寄存器端口 OUT DX,AL ;输出控制命令,关闭8237 MOV AL,00 MOV DX,DMA+0

文档评论(0)

挺进公司 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档