存储器结构、cache、DMA架构分析--【原创】

存储器的层次结构

 

 

 

高速缓冲存储器  cache

 

读cache操作

 

 

cache如果包含数据就直接从cache中读出来,因为cache速度要比内存快

如果没有包含的话,就从内存中找,找到后就放到cache中去,以后再读的话就直接从cache读了,下次访问很多次的时候就会快很多,相当于提高了命中率,cpu的访问速度就大大提高了

 

cache能大大提高cpu的访问速率

 

cache的设计

不能太大,也不能太小

 

太大的话,因为程序在查看数据的时候需要把cache走一遍,如果cache太大,

那么走一遍的时间就太长,就不能达到提升速率的效果

 

如果太小的话,存放在内存的块数就少了,命中率降低,访问内存的次数就增加了,cpu性能同样降低了

 

块大小

Cache与memory的的数据交换单位

由小变大时, 由局部性原理,命中增加

变得更大时, 新近取得数据被用到的可能性,小于那些必须被移出Cache的数据再次用到的可能性,命中率大大降低

 

 

DMA

 

大量移动数据

 

cpu性能快,外设的速度比较慢,cpu就要一直等待外设

因此诞生了DMA

 

以前没有DMA,就把数据从内存经过cpu到外设

 

有了DMA的话,cpu把指令告诉DMA,把内存从某个地址开始,多大的数据写给外设,这样的话DMA就去做了,cpu就不用做了,DMA就把内存中取出数据,然后再到外设,这种机制就是DMA机制,cpu就解放了,做更重要的事,因此这种内存拷贝、数据大量移动拷贝的时候就用DMA来解放cpu,记住cpu只在开始于结束时参与

 

开始时:

 

结束时:

中断处理例程

 

 

欢迎交流

 

新浪博客:http://blog.sina.com.cn/u/2049150530
csdn博客:http://blog.csdn.net/u011749143
博客园:http://www.cnblogs.com/sky-heaven/
chinaUnix: http://blog.chinaunix.net/uid/30049997.html
知乎:http://www.zhihu.com/people/zhang-bing-hua

 

 

时间: 2024-10-26 01:24:15

存储器结构、cache、DMA架构分析--【原创】的相关文章

3.3.3 PCI设备对可Cache的存储器空间进行DMA读写

PCI设备向"可Cache的存储器空间"进行读操作的过程相对简单.对于x86处理器或者PowerPC处理器,如果访问的数据在Cache中命中,CPU会通知FSB总线,PCI设备所访问的数据在Cache中. 首先HOST主桥发起存储器读总线事务,并在Request Phase中,提供地址.Snoop Agent在Snoop Phase进行总线监听,并通过HIT#和HITM#信号将监听结果通知给Response Agent.如果Cache行的状态为E时,Response Agent将提供数

3.3.2 PCI设备对不可Cache的存储器空间进行DMA读写

在x86处理器和PowerPC处理器中,PCI设备对"不可Cache的存储器空间"进行DMA读写的过程并不相同.其中PowerPC处理器对"不可Cache的存储器空间"进行DMA读写进行了专门的处理,而x86处理器在对这类空间操作时,效率相对较低. 1 x86处理器 x86处理器使用MTRR(Memory Type Range Register)寄存器设置存储器空间的属性,如果存储器空间为"可Cache空间",x86处理器还可以进一步设置这段空间

Thrift的TProtocol类体系原理及源码详解:类继承架构分析

这部分相关的类主要实现与协议相关的内容,这里说的协议是指对数据传输格式封装的协 议,实现不同的协议来适合不同场景下的数据传输,因为在不同的场景下不同协议对于数据 传输来说效率有很大的差别.下面是这个部分相关类的类关系图: 由以上类图可以发现所有的协议类都从TProtocol类直接或间接继承,每一个协议 类都有一个对应的生产对象工厂(协议工厂).TProtocol是一个抽象的类,不能直接使用的 ,它有一个直接子类默认实现了所有方法(空实现),如果我们需要定义自己的数据传输协 议可以直接从这个类继承

六大主流大数据采集平台架构分析

文章讲的是六大主流大数据采集平台架构分析,我们简单讨论了几种流行的数据收集平台,它们大都提供高可靠和高扩展的数据收集.大多平台都抽象出了输入,输出和中间的缓冲的架构.利用分布式的网络连接,大多数平台都能实现一定程度的扩展性和高可靠性. 随着大数据越来越被重视,数据采集的挑战变的尤为突出.今天为大家介绍几款数据采集平台: Apache Flume Fluentd Logstash Chukwa Scribe Splunk Forwarder 大数据平台与数据采集 任何完整的大数据平台,一般包括以下

android. mvc,mvp,mvvm架构分析

问题描述 android. mvc,mvp,mvvm架构分析 android现在流行三种架构,mvc,mvp,mvvm网上介绍的文档很多都介绍的比较浅,最重要的是没有完整的比较大的项目结合分析, 解决方案 本质上来说,mvc mvp mvvm是差不多的东西,只是在model,viewmodel和businessmodel的职责划分上略有不同.而且在"完整的比较大的项目",其实根本不能教条使用教科书上的某一种模式."介绍的文档很多都介绍的比较浅"恰恰说明了这一点--把

MSSQL - 架构分析 - 从SQL Server 2017发布看SQL Server架构的演变

title: MSSQL - 架构分析 - 从SQL Server 2017发布看SQL Server架构的演变 author: 风移 摘要 美国时间2017年10月2日,微软正式发布了最新一代可以运行在Linux平台的数据库SQL Server 2017.SQL Server 2017给用户带来了一系列的新功能特性的同时,也体现了微软关于自家关系型数据库平台建设方面的最新设计与思考.这篇文章旨在介绍SQL Server 2017新特性,以及微软是如何从架构层面的演进来快速实现Linux平台的S

面向服务的云制造系统架构分析

面向服务的云制造系统架构分析 康玲 吴华 王时龙 周杰 为了解决当前云制造尚缺应用模式的问题,根据云制造全生命周期智慧制造.按需动态构建及多粒度服务等特点,提出了基于Agent的云制造系统5层架构.基于面向服务的思想,建立了云制造OWLS本体模型,通过本体映射.推理机.匹配器完成服务请求.发布和绑定流程,提出了一种面向云制造服务的OWLS本体扩展框架和Web语义化描述方法,为云制造服务匹配奠定了理论基础.构建了基于Agent的云制造服务协商机制,通过Agent分工.合作.竞争及协商实现云制造

《例说51单片机(C语言版)(第3版)》——1-3 认识MCS-51的存储器结构

1-3 认识MCS-51的存储器结构 例说51单片机(C语言版)(第3版) 除了无ROM型的8031及8032外,MCS-51的存储器包括程序存储器(ROM)与数据存储器(RAM)两部分,一般地这两部分是独立的个体.标准的8x51系列具有4KB程序存储器.128B数据存储器,而标准的8x52系列具有8KB.256B数据存储器,刚好是8x51系列的两倍.不管是8x51.8031.8032或8x52,其外部扩展的程序存储器或数据存储器最多为64KB. 虽然MCS-51的兼容单片机都扩展了其内部程序存

核心业务需求及逻辑架构分析

12306的已知信息.数据及问题 需求分析(一)-- 售票系统领域知识(区间票.订票.预留票) 需求分析(二)-- 涉众.用户体验 核心业务需求及逻辑架构分析 需求分析(三)-- 票仓 票仓设计(一)-- 预生成车票方案的优缺点 票仓设计(二)-- 区间二进制方案的优缺点 票仓设计(三)-- 平衡方案的优缺点 票务并发冲突处理原则设计(基于平衡方案) 缓存逻辑架构设计 数据库逻辑设计 灾难备份与恢复 快要太监了 :-( 由于各种个人原因, 铁道部的这个博文系列中止了很久.最近终于连自己都不好意思