`
jackchen0227
  • 浏览: 146513 次
  • 性别: Icon_minigender_1
  • 来自: 帝都
社区版块
存档分类
最新评论

[zz]cache line

 
阅读更多

在内存分配器 SLAB 中涉及到了 cache line

http://gpg119.blog.163.com/blog/static/915341532009074137160/

一个L1 DATA CACHE相当于一块小的内存,我们假设它为16K大,它会与一般物理内存交互。
它和内存交互一般一次传输16个字节(32个字节),也就是:


CACHE 字节0-15一次写到/读取物理内存 ,字节16-31一次写到/读取物理内存.32-47 ... ...

这些一次被传输的字节被称为cache line。
--------------------------------------------------------------

另外,cache写到物理内存的位置不是任意的,
我们假定内存为64K,那么cache地址0的数值只能和物理内存的地址0, 16K, 32K交互;cache地址1的数值只能和物理内存的地址1, 16K+1, 32K+1交互
。。。 。。。cache地址16K-1的数值只能和物理内存的地址6K-1, 16K+16K-1, 32K+16K -1交互

这说明了两点:

(1)假设对象A的一个字段长为16个字节,如果它放在物理地址 0-15,那么它将和cache的第一个cache line 交互,如果放在物理地址 8-23,那么
如果CPU要访问这个字段,必须将第一个和第二个cache line 都读入,才能获得这个字段的信息,显然这样速度慢,所以一般字段需要cache line对齐,
在这里就是16个字节对齐。


(2)关于colour


一般一个对象某些字段访问频繁些。
假定一个cache(这个cache指slab的cache,不是上面提到CPU的L1 DATA CACHE)占用5个页面也就是20K.
假定其中对象大小为32个字节,前16个字节访问频繁许多。

假定对象A起始于物理地址0,对象C起始于31,对象B起始于物理地址16K,那么对象A,对象B的前16个字节都和第一个cache line 交互,后16个字节都和第二个cache line 交互
对象C前16个字节与第3个cache line交互。

我们假定内核访问A后就访问B,再访问A,交错进行,并且前16个字节次数都是50次,后16个为10次。C也是。

这样第一个cache line 要交互100次,第二个20次,一共120次。

如果让对象B向后移动16个字节,也就是对象B的前16个字节与第二个cache line 交互,后16个与第3个交互。
那么第一个为2次,因为只有开头结尾2次要与内存交互,其它每次都在L1 DATACACHE 中写就可以了。第2个cache line为20次左右(后面的只须在CACHE中读写),第3个cache line为20次,
3个line一共才41次,你不妨仔细模拟一下。

所以进行错位能降低CACHE的交互次数,从而提高CPU处理速度能力

这个错位(也就是上面的16个字节)就是colour.

分享到:
评论

相关推荐

    base zz zz zz zz

    base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz

    ZZ561401.CAB

    ZZ561401.CAB ZZ561401.CAB ZZ561401.CAB

    wincc AX NF ZZ

    wincc SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 从面市伊始,用户就对SIMATIC WinCC印象深刻。

    zz CAD快速计算长度插件

    在CAD中想要快速测量长度,在CAD工具栏找到加载应用程序,再点击加载 加载成功后在输入栏输入“zz”(不分大小写)在选择你需要测量的线段即可。

    超出NLO QCD的高横向动量的ZZ产生

    我们研究了四轻子最终状态ℓ+ℓ-ℓ+ℓ-的产生,这些状态主要由一对弱电Z玻色子ZZ产生。 使用LoopSim方法,我们合并ZZ和ZZ + jet的NLO QCD结果,并获得ZZ产生的近似NNLO预测。 还包括对ZZ过程的精确胶子融合环平方的...

    Zz归零.LSP

    cad标高归零,好用的

    ZZ_MODIFIED_GEEBINF.ENS.zip endnote的样式文件

    标题中的“ZZ_MODIFIED_GEEBINF.ENS.zip”是一个压缩包文件,主要包含一个名为“ZZ_MODIFIED_GEEBINF.ENS”的文件。这个文件是一种特殊格式,用于定义EndNote的引用样式。EndNote是一款强大的文献管理软件,广泛应用...

    中医大夫助理信息系统 zz-doctor

    《中医大夫助理信息系统 zz-doctor 深度解析》 中医大夫助理信息系统“zz-doctor”是一款基于Android平台的应用程序,旨在为中医医生提供智能化、便捷化的诊疗辅助工具。通过深入剖析这款应用的源码,我们可以了解...

    3_Level_ZZ_Semafor.zip_3 level_zz_3_Level_ZZ_semafor_ZZ Semafor_

    ,主图指标,顶底信号,突破,转折信号,都很明显

    ZZ Fibo Trader - MetaTrader 5EA.zip

    《ZZ Fibo Trader - MetaTrader 5 EA 深度解析》 ZZ Fibo Trader 是一款专为 MetaTrader 5(MT5)平台设计的自动交易专家顾问(EA),其核心在于结合了斐波那契回调线分析和抛物线止损系统,为交易者提供了智能化的...

    zz809.com留言本

    《zz809.com留言本》是一款基于网络的互动交流平台,源于柏图留言本BTB 1.2版本,并经过管理员zz809的定制和优化。这个平台旨在为用户提供一个简便、实用的在线留言功能,使得用户可以方便地在网站上发表评论、交流...

    变形版SD ZZ高达 纸模型

    "变形版SD ZZ高达"是一款深受高达爱好者喜爱的纸模型,它源于日本著名的机器人动漫《机动战士Z高达》中的角色。SD(Super Deformed)是日本动漫中的一个术语,意为超级变形,通常指的是角色被夸张地简化和可爱化,...

    zz_layer.rar

    zz_layer.il是源代码,install.bat是安装的 使用举例:zz 1-3 4 126 127 层号定义,与PADS类似:1~120是etch ;SolderMask: 121(top) 128(bot) ;Silkscreen: 126(top) 129(bot) ;Assembly: 127(top) 130(bot) ;Paste...

    DT_ZZ_optimized - MetaTrader 4脚本.zip

    《DT_ZZ_optimized - MetaTrader 4脚本:深入解析与优化技术》 MetaTrader 4(MT4)是一款广泛应用于外汇、期货和股票交易的交易平台,它提供了丰富的技术分析工具和自动化交易功能。在MT4平台中,用户可以编写...

    TIA V16 AX NF ZZ.rar

    博途V16授权 博途V16授权 博途V16授权 博途V16授权 TIA V16 AX NF ZZ TIA V16 AX NF ZZ TIA V16 AX NF ZZ TIA V16 AX NF ZZ TIA V16 AX NF ZZ

    我的资源zzzzzzzzzzzzz

    我的资源zzzzzzzzzzzzz

    ZZ_MODIFIED_GEEBINF.ENS

    基于国家标准的endnote的输出样式,适用于学生党论文插入文献参考,较为方便。endnote论文神器。

    ZZ18000/25.5/50型四柱支撑掩护式支架的研制与应用

    ZZ18000/25.5/50型四柱支撑掩护式支架是一款专为煤矿快速搬家和回撤巷道支护设计的高效设备。这款支架在煤炭开采中扮演着至关重要的角色,特别是在高产高效矿井中,其有效提升了综采设备的利用率和搬家倒面的速度。 ...

    ZZ-2021030 网络搭建与应用赛项赛卷《网络环境》.pdf

    ZZ-2021030 网络搭建与应用赛项赛卷《网络环境》.pdf

Global site tag (gtag.js) - Google Analytics