8237dma的四种传送方式简介
8237A有四种工作方式:单字节传送、数据块传送、请求传送和多片级联。
(1)单字节传送(single mode)
单字节传送方式是每次DMA传送时,仅传送一个字节。传送一个字节之后,当前字节计数器减1,地址寄存器加1或减1,HRQ变为无效,释放总线控制权,将控制权交还给CPU。如果传送使得字节计数器减为0或由外设产生信号时,则终止DMA传送。
单字节传送方式的特点是:一次传送一个字节,效率较低,但它会保证在两次DMA传送之间,CPU有机会获得总线控制权,执行一次CPU总线周期。
(2)数据块传送(block mode)
在这种数据传送方式下,8237A一旦获得总线控制权,就会连续地传送数据块,直到当前字节计数器减到0或由外设产生信号时,终止DMA传送,释放总线控制权。
数据块传送方式的特点是:一次请求传送一个数据块,效率高,但在整个DMA传送期间,CPU长时间无法控制总线(无法响应其他DMA请求,无法处理其他中断等)。
(3)请求传送(demand mode)
请求传送方式与数据块传送方式类似,也是一种连续传送数据的方式。
区别是:8237A在请求传送方式下,每传送一个字节就要检测一次DREQ信号是否有效,若有效,则继续传送下一个字节;若无效,则停止数据传送,结束DMA过程。但DMA的传送现场全部保持(当前地址寄存器和当前字节计数器的值),待请求信号DREQ再次有效时,8237A接着原来的计数值和地址继续进行数据传送,直到当前字节计数器减到0或由外设产生信号时,终止DMA传送,释放总线控制权。
请求传送方式的特点是:DMA操作可由外设利用DREQ信号控制数据传送的过程。
(4)多片级联(cascade mode)
当一片8237A通道不够用时,可通过多片级联的方式增加DMA通道,由主、从两级构成,从片8237A的HRQ和HLDA引脚与主片8237A的DREQ和DACK引脚连接,一片主片最多可连接四片从片。在级联方式下,从片进行DMA传送,主片在从片与CPU之间传递联络信号,并对从片各通道的优先级进行管理。
级联方式的特点是:可扩展多个DMA通道。
8237dma的四种传送方式简介的更多相关文章
- python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...
- post请求四种传送正文的方式
一.简介 HTTP协议规定post提交的数据必须放在消息主体(entity-body)中,但协议没有规定数据必须使用什么编码方式.HTTP协议是以ASCII码传输,建立再TCP/IP协议之上的应用层规 ...
- python3+requests:post请求四种传送正文方式(详解)
前言:post请求我在python接口自动化2-发送post请求详解(二)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等,可以参考Get,Post请求方式经典详解进行学习一下. 我 ...
- python3+requests:post请求四种传送正文方式
https://www.cnblogs.com/insane-Mr-Li/p/9145152.html 前言:post请求我在python接口自动化2-发送post请求详解(二)已经讲过一部分了,主要 ...
- Web.xml中四种验证方式
源地址:https://blog.csdn.net/imimi_/article/details/78805642 <security-constraint> 的子元素 <http- ...
- Android开发之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...
- lua中for循环的四种遍历方式
lua中for的四种遍历方式区别 table.maxn 取最大的整数key #table 从1开始的顺序整数最大值,如1,2,3,6 #table == 3 key,value pairs 取每一 ...
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览
Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览 作为一个完成的应用程序,数据存储操作是必不可少的. ...
- HttpwebClient的四种请求方式
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷. 本文旨在发布代码,供自己参考,也供大家参考,谢谢. 正题: Ht ...
随机推荐
- 【翻译自mos文章】在11gR2 rac环境中,文件系统使用率紧张,而且lsof显示有非常多oraagent_oracle.l10 (deleted)
在11gR2 rac环境中,文件系统使用率紧张.而且lsof显示有非常多oraagent_oracle.l10 (deleted) 參考原文: High Space Usage and "l ...
- PHP上传文件类 代码练习
类文件: <?php class upload{ protected $fileName; protected $uploadPath; protected $maxSize; protecte ...
- cocos2d-x 3.1.1 学习笔记[15] Shader 著色器
首先须要两个文件 gray.fsh varying vec4 v_fragmentColor; varying vec2 v_texCoord; void main() { vec4 v_orColo ...
- ZK框架笔记4、通用组件、页面、桌面
组件(component)是一种用户接口(UI)对象,如一个标签.按钮.树. 页面(page)是一个组件的集合. 桌面(desktop)是一个包含相同URL请求的页面. ...
- 经常使用的 WEB server
对于刚開始学习的人来说,或许自己能够写出一些简单的演示样例DEMO,但却纠结于不知道应该怎样才干訪问自己的页面,这里进行了一些简单的WEBserver总结.便于新朋友配置使用 静态HTML页面 对于静 ...
- 如何更改Docker默认的images存储位置
Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把d ...
- 我眼中的PageRank算法详解
随着互联网的发展,网络上已有的网页数量庞大,并且每天都会有很多网页发布,如何权衡这些重要度的排名是一个很重要的问题.我们今天就来了解一下PageRank算法. 首先我们要来了解一下图的概念,请看图1. ...
- 模拟循环单击事件实现layout中间panel全屏
jquery提供了toggle方法 toggle() 方法切换元素的可见状态. 如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法 $(selector).toggle(spe ...
- Java 装饰模式(4.4)
装饰模式(decorator pattern). 依照Num模型.讨论职业/IProfession类层次. IProfession定义了方法say(String),事实上现类教师/ Teacher.医 ...
- Netty4具体解释三:Netty架构设计
读完这一章,我们基本上能够了解到Netty全部重要的组件,对Netty有一个全面的认识.这对下一步深入学习Netty是十分重要的,而学完这一章.我们事实上已经能够用Netty解决一些常规的问 ...