新微型计算机原理与接口技术 教学课件 吕林涛 主编 梁莉 宋继红 副主编 第八章.ppt

新微型计算机原理与接口技术 教学课件 吕林涛 主编 梁莉 宋继红 副主编 第八章.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.2.3 8237A的内部寄存器 1.内部寄存器 8237A的内部寄存器分为两类:一类是4个通道共用的寄存器;另一类是各个通道专用的寄存器. (1) 控制寄存器(CR) 8237A的4个通道共用一个控制寄存器。在编程时,由CPU向它写入控制字,而由复位信号(RESET)或软件命令清除它。控制寄存器格式如图所示。 8.2.3 8237A的内部寄存器 8.2.3 8237A的内部寄存器 1)D0:规定是否工作在存储器传送方式。8237A约定:当进行存储器之间的数据传送时,由通道0提供源地址,通道1提供目的地址并进行字节计数。 2)D1: 在存储器向存储器传送时,起控制作用。 3)D2: 用来启动和停止8237A的工作。 4)D3:8237A可以有两种工作时序:一种是正常时序,一种是压缩时序。如果系统各部分速度比较高,便可以压缩时序,这样可以提高DMA传输的数据吞吐量。 5)D4:选择各通道DMA请求的优先级。当D4=0时为固定优先级,即通道0优先级最高,通道3的优先级最低;当D4=1时为循环优先级,即在每次DMA服务之后,各个通道的优先级都发生变化。比如,某次传输前的优先级次序为2>3>0>1 ,那么在通道2进行一次传输之后,优先级次序成为3>0>1>2 。如果这时通道3没有DMA请求,而通道0有DMA请求,那么,在通道0完成DMA传输后,优先级次序成为1>2>3>0 。 8.2.3 8237A的内部寄存器 DMA的优先级排列只是用来决定同时请求DMA服务的通道的响应次序,而任何一个通道一旦进入DMA服务后,其他通道必须等到该通道的服务结束后,才可以进行DMA服务。 6)D5:若D5=1,选择扩展的写信号(IOW/MEMW比正常时序提前一个状态周期)。 7)D6、D7:确定DREQ和DACK的有效电平极性。对这两位如何设置,取决于I/O端口对DREQ信号和DACK信号的极性要求。 控制字是4个通道必须共同遵循的原则。 在PC系列机中,当BIOS初始化时,已将控制寄存器设定为00H,即禁止存储器到存储器的传送,允许读/写操作,使用正常时序,固定优先级,不扩展写信号,DREQ高电平有效,DACK低电平有效。 8.2.3 8237A的内部寄存器 (2) 方式寄存器(MR) 8237A的每个通道都有一个方式寄存器,4个通道的方式寄存器共用一个端口地址,方式选择命令的格式如图所示。方式字的最低两位进行通道选择,写入命令字之后,8237A将根据D1和D0的编码把方式寄存器的D7~D2位送到相应通道的方式寄存器中,从而确定该通道的传送方式和数据传送类型。8237A各通道的方式寄存器是6位的,CPU不可寻址。 8.2.3 8237A的内部寄存器 8.2.3 8237A的内部寄存器 1)DMA传送方式。8237A提供4种传送方式,每个通道可以用4种方式之一进行工作(4种工作方式在前面已论述)。 2) DMA数据传送的类型。方式选择命令字的D3位和D2位确定数据传送的类型,即写传送、读传送和校验传送。写传送将数据I/O端口读出写入存储单元。读传送是将数据从存储单元读出并写入I/O端口。校验传送是一种虚拟传送,8237A本身并不进行数据传送,而只是像DMA读传送或DMA写传送那样产生时序,产生地址信号,但存储器和I/O端口的读/写控制信号无效。校验传送一般是在器件测试时使用。 ① 当D4位为1时,通道有“自动重装功能”。 ② D5位控制“当前地址寄存器”的工作方式,规定地址是增量修改还是减量修改。 8.2.3 8237A的内部寄存器 (3) 基(当前)地址寄存器 每个通道有一个16位的基地址寄存器(BR)和一个16位的当前地址寄存器(CAR)。基地址寄存器存放本通道DMA传输时所涉及到的存储区首地址或末地址,这个初始值是在初始化编程时写入的,同时也被写入当前地址寄存器。当进行DMA传送时,由当前地址寄存器向地址总线提供本次DMA传送时的内存地址(低16位)。当前地址寄存器的值在每次DMA传输后自动加1或减1,为传送下一个字节做好准备。在整个DMA传送期间,基地址寄存器的内容保持不变。当通道初始化选择“自动重装”功能时,一旦全部字节传送完毕,基地址寄存器的内容自动重新装入当前地址寄存器。 8.2.3 8237A的内部寄存器 (4) 基(当前)字节寄存器 每个通道有一个16位的基字节寄存器(BWC)和一个16位的当前字节寄存器(CWCR),基字节寄存器存放本通道DMA传输时字节数的初值。823

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档