[理学]微原第7章1.ppt

  1. 1、本文档共151页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]微原第7章1

中断响应的一般过程 (1)中断请求 (2)中断承认 CPU在每条指令执行的最后一个时钟周期检测中断请求输入端有无请求发生,而后决定是否对它做出响应。 (3) 断点保护 (4)中断源识别 7.3.4 8237 DMAC的工作方式 1. 工作模式 在DMA传输时,每个通道有四种工作模式。 1) 单次传送方式 单次传送方式也称单字节传送方式。每次DMA操作只传送一个字节,即DMAC发出一次占用总线请求,获得总线控制权后,进入DMA传送方式,只传送一个字节的数据。然后,就自动把总线控制权交还给CPU,让CPU至少占用一个总线周期。若还有通道请求信号,DMAC再重新向CPU发出总线请求,获得总线控制权后,再传送下一个字节数据。 2) 成组传送方式 成组传送方式也称为连续传送或块传送方式。在进入DMA操作后,就连续传送数据,直到整块数据全部传送完毕。在字节计数器减到0或外界输入终止信号EOP时,才会将总线控制权交还给CPU而退出DMA操作方式。如果在数据的传送过程中,通道请求信号DREQ变为无效,DMAC也不会释放总线,只是暂时停止数据的传送,等到DREQ信号再次变为有效后,又继续进行数据传送,一直到整块数据全部传送结束,才会退出DMA方式,把总线控制权交还给CPU。 3) 请求传送方式 请求传送方式也可以用于成块数据传输。当DMAC采样到有效的通道请求信号DREQ时,向CPU发去请求占用总线的信号HRQ(在Z80 DMA中是BUSRQ),CPU让出总线控制权后,就进入DMA操作方式。当DREQ变为无效后,DMAC立即停止DMA操作,释放总线给CPU,当DREQ再次变为有效后,它才再次发出HRQ请求信号,CPU再次让出总线控制权,DMAC又重新控制总线,继续进行数据传送,数据块传送结束就把总线归还给CPU。这种方式适用于准备好传送数据时,发出通道请求;若数据未准备好,则通道请求无效,并将总线控制权暂时交还给CPU。 4) 级联方式 级联方式是用来扩充DMA的通道数的。 2. 操作类型 根据传输过程中数据的流向,操作类型可以分为三种。 (1) DMA写传送(I/O设备→存储器)。它是将I/O设备(如磁盘接口)传送来的数据写入存储器。 (2) DMA读传送(存储器→I/O设备)。它是将存储器中的数据,写入I/O设备。 (3) DMA校验。该方式实际并不进行数据传送,只是完成某种校验过程。当一个8237通道处于DMA校验方式时,它会像上述的传送操作一样,保持着它对系统总线的控制权,并且每个DMA周期都将响应外部设备的DMA请求,只是不产生存储器或I/O设备的读/写控制信号,这就阻止数据的传送。但I/O设备可以使用这些响应信号,在I/O设备内部对一个指定数据块的每一个字节进行存取,以便进行校验。 上述的三种操作中,被操作的数据都不进入DMAC内部,而且校验方式也仅是由DMAC控制系统总线,并响应I/O设备的DMA请求,在每个DMA周期向I/O设备发出一个DMA响应信号DACK,I/O设备利用此信号作为片选信号,去进行某种校验。 存储器至存储器传送是8237进行存储器之间的数据块传送操作时,由通道0提供源地址,而由通道1提供目的地址和进行字节计数。这种传送需要两个总线周期:第一个总线周期先将源地址内的数据读入8237的暂存器,在第二个总线周期再将暂存器内容放到数据总线上,然后在写信号的控制下,将数据总线上的数据写入目的地址的存储器单元。 7.3.5 8237的控制字和编程 1. 内部寄存器 8237内部寄存器如表7-3所示,现对这些寄存器的功能说明如下。 1) 当前地址寄存器 每个通道都有一个16位长的当前地址寄存器,当进行DMA传送时,由它提供访问存储器的地址。在每次数据传送之后,地址值自动增1或减1。CPU是以连续两字节按先低字节后高字节顺序,对其进行写入或读出的。在自动预置方式下,当EOP有效后,将它重新预置为初始值。 2) 当前字节计数器 每个通道都有一个16位长的当前字节计数寄存器,它保存当前DMA传送的字节数。实际传送的字节数比编程写入的字节数大1,例如,编程的初始值为10,将导致传送11个字节,

您可能关注的文档

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档