网站大量收购独家精品文档,联系QQ:2885784924

第七章输入输出和中断4技术分析.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
请求字的格式如图1所示。 图 请求寄存器格式 其中D1、D0两位决定写入的通道,D2位决定是置位还是复位。对于存储器到存储器的传送,必须用软件请求启动通道0。 * (8)屏蔽寄存器 该寄存器用来对某个DMA通道设置为屏蔽或允许。8237A在复位后,4个通道全被置于屏蔽状态。所以,在编程时必须根据需要复位屏蔽位,以允许相应的通道产生DMA请求。还有一点需注意,当一个通道进行DMA传送后,产生信号,如不是工作在自动初始化方式,则这一通道的屏蔽位被置位,必须再次编程为允许,才能进行下一次DMA传送。 * 对屏蔽寄存器的写入有两种格式:单通道屏蔽字和主屏蔽字,如图所示。单通道屏蔽字一次仅能设置一个通道,而主屏蔽字可同时对4个通道进行设置。 图 屏蔽寄存器格式 * 注意:这两种不同格式的命令字,写入DMAC时,有不同的口地址。写单个通道屏蔽寄存器口地址为0AH,而同时写四个通道的屏蔽位的口地址为0FH。 * 状态寄存器是一个8位寄存器,用来存放8237A的状态信息,它可以由CPU读出。状态寄存器的格式如图所示。 图3 状态寄存器格式 * 它的低4位是表示四个通道的终止计数状态,高4位是表示当前是否存在DMA请求。只要通道到达计数终点TC,或外界送来有效的信号,D3~D0相应的位就被置1,RESET信号和CPU每次读状态后,都清除D3~D0位。D7~D4位表示通道3~0请求DMA服务,但未获得响应的状态。 * (10)暂存寄存器 暂存寄存器为8位的寄存器,在存储器至存储器传送期间,用来暂存从源地址单元读出的数据。当数据传送完成时,所传送的最后一个字节数据可以由CPU读出。用RESET信号可以清除此暂存器中的数据。 (11)8237A的软件命令 除了有10种能和CPU通信的寄存器外,8237A还有3种软件命令。所谓软件命令,是指不需要通过数据总线写入控制字,而直接由地址和控制信号译码得到的命令。 * 说得通俗些,软件命令是对一些特定端口地址进行操作的输出指令,执行这些输出指令时,只要地址的低4位A3~A0是规定的值,就产生相应的作用。在这样的输出指令中输出数据是不起作用的。 8237A设置了3条软件命令,它们是:主复位、清除先/后触发器和清除屏蔽寄存器。这些软件命令只要对某个适当地址进行写入操作就会自动执行清除命令。 * ①主复位命令。该命令的作用与硬件复位相同。它使命令寄存器、状态寄存器、请求寄存器、临时寄存器以及内部高/低触发器清0,使屏蔽寄存器置为全1(即屏蔽状态),使8237A处于空闲周期。 ②清除先/后触发器命令。8237A的数据总线只有8位,写入和读出16位的寄存器需分两次进行。为此,8237A设置了高/低触发器。该触发器为0,对16位寄存器进行读/写是读/写低8位;为1,则读/写高8位。清除高/低触发器命令是将高/低触发器清0。 * 8237A复位后,高/低触发器被清0。每当16位寄存器进行一次操作(读/写8位),该触发器都要改变状态。设该触发器的初始状态为0,现对某16位寄存器操作,则读/写的是低8位。操作之后该触发器变为1,接着对该寄存器操作,就自动地针对高8位。此后,该触发器又变为0,如果再对另一16位寄存器进行操作,则对其低8位操作。由此可见,一般情况下,可分两次对16位寄存器进行操作,而不必过问高/低触发器。 设置清除高/低触发器命令为改变读/写操作的顺序提供了手段。例如,对低8位操作后,通过清除高/低触发器命令可将刚被置1的高/低触发器清0,以便再继续进行低8位操作。 * ③清除屏蔽寄存器命令。这条命令清除四个通道的全部屏蔽位,使各通道均能接受DMA请求。 2. 8237A在PC机的页面地址 由于在DMA操作期间,8237A仅能输出16位地址,故8237A只能管理64KB内存。而PC/XT机有20根地址,CPU可以管理1MB内存。为了解决这个问题,在PC/XT中用硬件电路构成4位的页面地址寄存器,来提供DMA传送数据时的高4位(A19~A16),这样在DMA传送数据时也可以访问1MB的内存空间。存储器每页大小固定为64KB,每页从固定的地址开始:第0页包含0~64K-1单元,第1页包含64K~128K-1单元,第2页包含128K~192K-1单元等。 * 在PC/XT中,有3个4位页面地址寄存器(0通道除外),每个通道对应一个4位寄存器,其端口地址分别为: 通道1:页面地址寄存器的端口地址为83H。 通道2:页面地址寄存器的端口地址为81H。 通道3:页面地址寄存器的端口地址为82H。 传送一批数据的DMA设置中,除了对8237A的命令寄存器、模式寄存器、基地址寄存器等进行设置外,还应对相应通道的页面地址寄存器内容进行相应的设置。例如1通道传送地址在64K~128K-1之间,则可用下面的命令对页面地址

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档