




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十八讲:DMA控制器Intel8237,重点:DMA控制器芯片8237的内部寄存器,端口地址,编程与应用。一、8237的内部寄存器组8237有4个独立的DMA通道,有许多内部寄存器。前面表6-1已经给出了这些寄存器的名称、长度和数量,我们来详细介绍各个寄存器的功能和作用。,1、基地址寄存器用以存放16位地址,只可写入而不能读出。在编程时,与当前地址寄存器同时写入某一地址,在8237进行DMA数据传送的工作过程中,内容不发生变化,只是在自动预置时,重新将初始地址写到当前地址寄存器中去。2、基字节数寄存器用以存放相应通道需要传送数据的字节数,只可写入而不能读出。编程时与当前字节数寄存器同时写入要传送数据的字节数。在8237进行DMA数据传送的工作过程中,内容保持不变,在自动预置时,将初始字节数重新写到当前字节数寄存器中去。,3、当前地址寄存器存放DMA传送期间的地址值。每次传送后自动加l或减l。CPU可以对其进行读写操作。选择自动预置时,每当字节计数值减为0或外部有效后,自动将基地址寄存器的内容写入当前地址寄存器中,恢复其初始值。4、当前字节数寄存器存放当前的字节数。每传送一个字节,该寄存器的内容减1。当计数值减为0或接收到来自外部的信号时,会自动将基字节数寄存器的内容写入该寄存器,恢复其初始计数值,即为自动预置。,5、地址暂存寄存器和字节数暂存寄存器这两个16位的寄存器和CPU不直接发生关系,我们也不必要对其进行读/写操作,因而对如何使用8237没有影响。6、方式寄存器每个通道有一个8位的方式寄存器,但是它们占用同一个端口地址,用来存放方式字,依靠方式控制字本身的特征位来区分写入不同的通道,用来规定通道的工作方式,各位的作用如下,7.命令寄存器,8.请求寄存器,用于在软件控制下产生一个DMA请求,就如同外部DREQ请求一样。D0D1用来表示向不同通道发出DMA请求。在软件编程时,这些请求是不可屏蔽的,利用命令字即可实现使8237按照命令字的D0D1所指的通道,完成D2所规定的操作,这种软件请求只用于通道工作在数据块传送方式之下。,9.屏蔽寄存器8237的屏蔽字有两种形式:单个通道屏蔽字。这种屏蔽字的格式如图6-9所示。利用这个屏蔽字,每次只能选择一个通道。其中D0D1的编码指示所选的通道,D2l表示禁止该通道接收DREQ请求,当D20时允许DREQ请求。四通道屏蔽字。可以利用这个屏蔽字同时对8237的4个通道的屏蔽字进行操作,故又称为主屏蔽字。该屏蔽字的格式如图6-10所示。它与单通道屏蔽字占用不同的I/O接口地址,以此加以区分。,10.状态寄存器,状态寄存器存放各通道的状态,CPU读出其内容后,可得知8237的工作状况。主要有:通道计数已达到计数终点对应位为1;通道的DMA请求尚未处理对应位为1。,11.暂存寄存器存储器到存储器传送过程中数据的暂存。12.字节指针触发器一个特殊的触发器,用于各16位寄存器的读或写低、高字节。此触发器状态为0时,进行低字节操作。低字节读/写完成后,字节指针触发器会自动置1,再操作一次清零。利用这种机制,可进行双字节读写操作,16位寄存器可仅占用一个外设端口地址,高、低字节共用。,二、8237的编程及应用18237的寻址及连接82374个通道中的寄存器及其它各种寄存器的寻址编码如表所示。从表中可以看到,各通道的寄存器通过CS*和地址线A3A0规定不同的地址,高低字节再由字节指针触发器来决定。其中有的寄存器是可读可写的,而有的寄存器是只写的。利用CS*和A3A0规定寄存器的地址,再利用IOR*或IOW*控制对其进行读或写操作。注意,方式寄存器每通道一个,仅分配一个端口地址,由方式控制字的D1和D0位来区分不同通道。,CS*A3A2A1A0IOR*IOW*功能0100001读状态寄存器0100010写命令寄存器0100110写请求寄存器0101010写单通道屏蔽寄存器0101110写方式寄存器0110010字节指针触发器清0110101读暂存寄存器0110110总清0111010清屏蔽寄存器0111110写4通道屏蔽寄存器,28237在系统中的典型连接注意到8237只能输出A15A0十六位地址信号,在8086/88系统中,系统的寻址范围是1MB,地址线有20条,即A19A0。为了能在8086/88系统中使用8237来实现DMA,需用硬件提供一组4位的页地址寄存器。通道0、1、2、3各有一个4位的页寄存器。在进行DMA传送之前,页寄存器可利用I/O地址来装入和读出。当进行DMA传送时,DMAC将A15A0放在系统总线上,同时页寄存器把A19A16也放在系统总线上,形成A19A0这20位地址信号实现DMA传送。,PC机中8237的连接,38237的初始化在对8237初始化之前,通常必须对8237进行复位操作,利用系统总线上的RESET信号或用软件命令对1101的地址进行写操作,均可使8237复位。复位后,8237内部的屏蔽寄存器被置位而其它所有寄存器被清0,复位操作使8237进入空闲状态,这时才可以对8237进行初始化操作。PC机中DOS对8237初始化部分说明:为了对DMAC8237初始化,首先进行总清。总清时只要求对总清地址进行写操作。,对DMAC(8237)的4个通道的基地址寄存器与当前地址寄存器、基字节数寄存器及当前字节数寄存器先写入FFFFH,再读出比较,看读写操作是否正确。若正确,再写入0000H,同样读出校验,仍正确则认为DMAC工作正常,开始对其初始化。若发现有错,停机。每个通道的上述4个寄存器占用两个地址,故将循环计数器CX的内容置为8。,对DMAC(8237)的通道0初始化。PC机中,通道0产生对动态存储器的刷新控制。利用可编程定时器8253每隔15.0857s向DMAC提出1次请求。DMAC响应后向CPU提出DMA请求。获得总线控制权后,使CPU进入总线放弃状态。在此DMA期间,DMAC送出刷新行地址,并利用DACK0控制产生各刷新控制信号,对DRAM一行进行刷新。一行刷新结束,HRQ变为无效,退出DMA,通道0初始化程序如下:,OUTDMA+0DH,AL;总清8237MOVDS,BXMOVES,BX;初始化DS和ESMOVAL,0FFHOUTDMA+1,ALOUTDMA+1,AL;通道0的传送字节数为64K字节,先写低位,后写高位MOVDL,0BH;使DX=000BH(方式字地址),MOVAL,58HOUTDX,AL;写方式字,单字节传送方式,每次传送行地址MOVAL,0;地址自动加1,允许自动预置OUTDMA+8,AL;写入命令字OUTDMA+10,AL;写入屏蔽字(单通道屏蔽字),DMAC8237传送数据到接口的电路,接口请求传送数据的信号经触发器74LS74的Q端形成,由三态门输出作为DMA请求信号。当DMAC响应接口请求时,送出存储器地址和控制信号,使选中存储单元的数据出现在系统数据总线D7D0上。同时,DMAC送出控制信号,将存储单元的数据锁存在锁存器74LS374中。在开始传送前,应当送出接口有效信号。该信号在系统工作中也可以一直有效。在接口请求DMA传送时,由逻辑电路产生控制信号,使CPU暂停执行指令,同时将总线置高阻,DMA初始化程序如下:INITADM:OUTDMA+13,AL;总清MOVAL,40HOUTDMA+2,AL;送地址低字节到通道1MOVAL,74HOUTDMA+2,AL;送地址高字节到通道1,7440H为通道基地址MOVAL,80HOUTPAG,AL;送页地址1000BMOVAL,64H,OUTDMA+3,AL;送传送字节数低字节到通道1MOVAL,0;0064H表示100个字节OUTDMA+3,AL;送传送字节数高字节到通道1MOVAL,59H;通道1方式字:读操作,单字节传送OUTDMA+11,AL;地址递增,自动预置MOVAL,0;命令字:允许工作,固定优先级OUTDMA+8,AL;DACK有效OUTDMA+15,AL;写入四通道屏蔽寄存器,规定允许4个通道均可请求DMA传送。,习题:1、Intel8237占几个端口地址?这些端口在读/写时操作过程中的作用是什么?2、试说明由Intel8237控制,把内存中的一个数据块向接口传送的过程。3、某8086系统中使用8237完成从存储器到存储器的数据传送,已知源数据块首地址的偏移地址值为71000H,目标数据块
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金属材料及加工工艺 参考答案
- 2025年新能源行业供应链风险预警与产业链安全评估体系创新报告
- 页岩气开采新技术2025:环境风险评估与生态保护区域划定与生态补偿政策研究
- 人力资源管理师三级考试题
- 工业化进步与安全培训课件
- 2025年宿迁中考试题及答案
- 社区护理学理论考试题
- 农发行衡水市深州市2025秋招笔试英文行测高频题含答案
- 软件工程基础知识考试题
- 平板钉钉上传课件操作
- 第一单元 100以内数加与减(二) 单元教学设计-2025北师大版二年级数学上册
- 科学道德与学风建设讲座
- 2025至2030年中国丁酮肟市场现状分析及前景预测报告
- Unit 2 Home Sweet Home 语法与阅读专项练习 (含答案) 人教版(2024)八年级上册
- 渔政执法快艇管理办法
- 2025年少先队应知应会知识竞赛考试题库及答案
- 【课件】第14章+全等三角形+数学活动++式+课件2025-2026学年人教版数学八年级上册
- 高中英语高考词汇200句-教师版(简单句80)二
- 2025至2030光纤电缆(光缆)行业发展趋势分析与未来投资战略咨询研究报告
- 财务预算培训课件
- 高桩码头施工培训课件
评论
0/150
提交评论