如何解决CPU与DMAcpu内存控制器1600同时访问内存的问题?

用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
既然选择了远方,便只顾风雨兼程...
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
DMA 传输重要地将一个内存区从一个装置复制到另外一个。当 CPU 初始化这个传输动作,传输动作本身是由&DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能嵌入式系统算法和网络是很重要的。举个例子,PC ISA DMA 控制器拥有 8 个 DMA 通道,其中的 7 个通道是可以让 PC 的 CPU 所利用。每一个 DMA 通道有一个16位元位址暂存器和一个16 位元计数暂存器。要初始化资料传输时,装置驱动程式一起设定 DMA 通道的位址和计数暂存器,以及资料传输的方向,读取或写入。然后指示 DMA 硬件开始这个传输动作。当传输结束的时候,装置就会以中断的方式通知 CPU。"分散-收集" (Scatter-gather) DMA 允许在一次单一的 DMA 处理中传输资料到多个内存区域。相当于把多个简单的 DMA 要求串在一起。再一次,这个动机是要减轻 CPU 的多次输出输入中断和资料复制任务。DRQ 意为 DMA 要求;DACK 意为 DMA 确认。这些符号一般在有 DMA 功能的电脑系统硬件概要上可以看到。他们表示了介于 CPU 和 DMA 控制器之间的电子讯号传输线路。Cache coherency problemDMA 会导致 cache 一致性问题。想像 CPU 带有 cache 与外部内存的情况,DMA 的运作则是去存取外部内存,当 CPU 存取外部内存 X 位址的时候,暂时先将新的值写入 cache 中,但并未将外部内存 X 位址的资料更新,若在 cache 资料尚未更新到外部内存前发生了 DMA,则 DMA 过程将会读取到未更新的资料。相同的,如果外部装置写入新的值到外部内存内,则 CPU 若存取 cache 的值则会存取到尚未更新的资料这些问题可以用两种方法来解决:Cache-coherent system 以硬件方法来完成,当外部装置写入内存时以一个信号来通知 cache 控制器某内存位址的值已经过期或是应该重新更新资料。Non-coherent system 以软件方法来完成,OS 必须确认 cache 读取时,DMA 程序已经开始或是禁止 DMA 发生。第二种的方法会造成 DMA 的系统负担。
阅读(1056)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'DMA(Direct Memory Access,直接内存存取)',
blogAbstract:'直接内存存取(Direct&Memory&Access,DMA)是计算机科学中的一种内存访问技术。它允许某些电脑内部的硬件子系统(电脑外设),可以独立地直接读写系统内存,而不需绕道CPU。在同等程度的CPU负担下,DMA是一种快速的数据传送方式。很多硬件的系统会使用DMA,包含硬盘控制器、绘图显卡、网络卡和声卡。DMA 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:6,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'既然选择了远方,便只顾风雨兼程...',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}多cpu的体系结构是如何实现访问冲突的-学网-中国IT综合门户网站
> 多cpu的体系结构是如何实现访问冲突的
多cpu的体系结构是如何实现访问冲突的
转载 编辑:李强
为了帮助网友解决“多cpu的体系结构是如何实现访问冲突的”相关的问题,学网通过互联网对“多cpu的体系结构是如何实现访问冲突的”相关的解决方案进行了整理,用户详细问题包括:多cpu的体系结构是如何实现访问冲突的,具体解决方案如下:解决方案1:多个cpu的任务的同步与互斥解决方案2:谢谢!通过对数据库的索引,我们还为您准备了:问:多cpu的体系结构是如何实现访问冲突的答:多个cpu的任务的同步与互斥===========================================问:多cpu的体系结构是如何实现访问冲突的答:8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种 4KB 内部程式内存,最大可扩充至 64KB 128Bytes 内部资料内存,最大可扩充至 64KB 具有逻辑代数运算功能(位元逻辑) 4 组可位元寻址的 I/O 埠《P0、P1、P2、P3》 2 组16位元计时/计...===========================================问:如果前后指令互有约束,单周期多指令如何实现? 比如 “mov ax,dat mov b...答:cpu取指后指令将被分解为微操作。cpu中一般有多个执行单元,如pentium中有2个所以pentium 1个周期可产生两个结果。可并行的微操作会被并行执行,不可并行的部分(有约束时)会串行执行,但串行的部分因为是微操作,执行时间比一条指令周期短(流...===========================================问:如果前后指令互有约束,单周期多指令如何实现? 比如 “mov ax,dat mov b...答:多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理...===========================================问:这是微机原理试卷上的一道简答题,求帮忙解答答:轮询机制。 简单的说就是时间片调度。 处理器对多个应用发布不同时间片下的线程权限,让CPU在不同时间点处理不同的应用的请求。这就是把处理器的“串行”能力,化为“并行”能力的方法——分时调度。===========================================问:我在想,计算机启动过程应该是这样:上电触发主板上存储BIOS的CMOS芯片...答:不对,换CPU不需要重装系统的,前提是主板兼容,什么叫兼容?也就是你所说的那些什么寻址呀总线呀等等. 另外,据我理解(因为估计我的知识太落后),哪怕是第一条指令也离不了CPU的,除非现在高级的板子的BIOS带有一个简单的代理CPU功能,不然BIOS只是一...===========================================问:主频、倍频、外频 是什么?答:CPU的好坏首先要看它的架构。 所谓架构,就是CPU的内部结构方式。架构越先进,CPU的性能越高。比如,PD915是Intel的上一代Netburst架构的产品,2个2.8G的核心,二级缓存高达4M,但它的性能却要比基于酷睿架构的普及型双核处理器Pentium Dual-Cor...===========================================问:请用过AMD的解答一下,是不是这样的,我想买电脑答:通用微处理器一般指的是服务器用和桌面计算用CPU芯片。 目前,在桌面计算领域,Intel公司的Pentium系列微处理器芯片领导了市场的主流,占据着微机芯片市场的绝大部分份额,当前主流的芯片配置是32位的Pentium IV。2001年8月Intel采用0.18μm工艺...===========================================通过地址和数据总线来进行访问,内存类似一个大的矩阵阵列,可以通过地址线找到相应的数据位置,然后内存将数据发送到数据总线上,CPU可以读取到。是经过高速缓存Cache...===========================================结构),具体来说,是具体一条指令在cpu中是如何执行的,计算机的存储体系(分层结构),还... 其具体描述为"计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特...=========================================== 这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远... 数据周期和多个逻辑设备寻址,在多任务环境下可以使用DMA(直接存储器 访问)。 目...===========================================DMA 传输对于高效能 嵌入式系统 算法和网络是很重要的。 在实现DMA传输时,是由... 在存储器和外部设备之间直接进行数据传送,在传送过程中不需要中央处理器的参与。开...===========================================cpu取指后指令将被分解为微操作。cpu中一般有多个执行单元,如pentium中有2个所以p... 是微操作,执行时间比一条指令周期短(流水线的一级),所以单指令周期可产生多执行结果...=========================================== 清华大学出版社《微型计算机原理和接口技术》里面有专门一章讲PentiumCPU技术参数的,很详细,冯博琴、吴宁编著的那册。===========================================单了解硬件是不行的 必须要了解汇编语言 你才能清楚计算机是怎么实现程序运行程序... 多。) 6.缓存 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的...===========================================&程序本身不可修改,现在的问题就是如何将此程序多线程化以达到效果& ---- 如果不能修改程序本身,怎么变成多线程程序??? 楼主还是先去搞搞清楚进程、...===========================================data-Extensions 2)和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体... risc指令集的体系结构可以给设计单芯多核处理器带来很多好处,有利于处理器的性能提...===========================================貌似你现在的条件只能共享硬盘而已,将所有计算机组建为同一个局域网内共享即可。同时使用所有的CPU和内存似乎是不可能的。或者你可以将其他及其的内存拆两条下来装...===========================================
本文欢迎转载,转载请注明:转载自学网: []
用户还关注
可能有帮助您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于modelsim的DMA控制器的设计--毕业设计(毕业论文).doc67页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
DMA是直接存储器存取方式,即Direct Memory Access 方式的缩写,存储器与I/O设备之间的数据传送在DMA控制器又称DMAC的管理下直接进行,而不经过CPU。DMA方式适用于高速传送成组数据。DMA控制器将向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。DMA方式的主要优点是传输速度快。由于CPU根本不参加传送操作,因此就省去了CPC取指令、取数、送数等操作。目前由于大规模集成电路工艺发展,很多厂家直接生产大规模集成电路的DMA控制器,虽然DMA控制器复杂程度差不多接近于CPU,但是用起来非常方便。
本文在基于Verilog HDL设计DMA控制器时,采用的是Top-Down的设计方法。DMA控制器电路系统是由数据寄存器、地址产生器、状态控制器三个子模块组成,并且整个DMA控制器电路系统的编译、仿真是在对三个子模块分别进行编译、仿真的基础上完成的。
关键词: DMA控制器 ;Verilog;Modelsim;仿真
DMA is a direct memory access mode, namely
Direct Memory Access
the abbreviation, between the memory and IO devices transmit data over the DMA controller
under management directly, without passing through the CPU. DMA is suitable for high speed to transmit data. The DMA controller to the memory address and control signals, modify address, counting on the transfer of the word, and in order to interrupt the report to CPU transfer operation. The main advantages of the DMA method is fast transmission speed. Because CPU does not participate in the transfer operation, thus eliminating the CPC instruction fetch, access, send a few operation. At present, due to the large scale integrated circuit technology development, the direct production of DMA controller LSI many manufacturers, although the DMA controller complexity almost close to CPU, but it is
正在加载中,请稍后...

我要回帖

更多关于 cpu内存控制器坏了 的文章

 

随机推荐