Cacheline技术浅析
来源:互联网 发布:如何维护网络节点赚钱 编辑:程序博客网 时间:2024/06/15 01:34
最近组内有个同事在做cacheline相关的特性,向其学习了一下,对原来的cacheline的理解更近了一步。这里总结一下。请彭超大侠有空的话帮忙在斧正一下
Cache就是对内存的内容进行缓存的一个硬件。cache和内存的逻辑关系结构如下图所示。从左往右,从上到下逐个说明
首先物理内存又是通过物理地址PA(physical address)标识的,内存块用PA+SIZE表示,在读取内存的时候,CPU会将内存块load到cache中,但是并不是按照SIZE的大小load内存块,而是按照cacheline的大小load一个内存块,指定的物理内存块将被包含在这段被load的内存中(如上图黄色+蓝色部分所示,黄色代表了内存块在cacheline大小的内存块中的位置)。所以在编程的时候,尽量将结构设计为cacheline对其的,一次可以加载完成,访问下个结构体的时候,就可以直接访问另一个cacheline,而不发生冲突了。
物理地址又被分为三个部分,tag+index+offset。index就是物理地址在cache这个大数组中的位置,相当于数组索引,索引到了后,offset说明了PA所在的内存在cacheline中的偏移量。
这样看来,就会发现很可能两个物理地址中见的index很有可能发生重复,这就是cacheline冲突。这样的情况下,就要先废除cacheline上前一个的内容后重新加载新的内存才会有效。这样的冲突会大大降低内存的访问效率,所以intel有提出了一种更新的架构,如下图所示
在每个cacheline的下一级又多了way的概念,每个cacheline的下一级又被分为4WAY或8WAY,每个way都相当于一个cacheline。这样即使index冲突,也可以将内存内容放到不同的way中减少冲突。tag就是用来表示是那个way上的。上面的结构就是所谓的4路组相连或8路组相连的概念。
阅读全文
0 0
- Cacheline技术浅析
- Cacheline技术浅析
- cacheline
- 淘宝面试题cacheline
- cacheline pagecache buffercache
- 数据库连接池技术浅析
- 数据库连接池技术浅析
- 防火墙技术浅析
- VLAN划分技术浅析
- 数据库连接池技术浅析
- 透明加密技术浅析
- 透明加密技术浅析
- COM技术浅析
- 数据库连接池技术浅析
- 浅析SQLSERVER负载技术
- 数据挖掘技术浅析
- 分水岭分割技术浅析
- 网络爬虫技术浅析
- 基于RHadoop的k-means聚类算法
- 将两个数交换的3种方法(异或法有陷阱!)
- 【Unity3D】自动寻路
- Java 连接 Memcached 服务
- TiD 2017质量竞争力大会召开时间
- Cacheline技术浅析
- VideoView使用小结
- 开源 | 语音识别商用开源代码与免费开放平台最全盘点分析
- 和为s的两个数字
- tomcat映射虚拟目录
- 关于idea在运行web项目时部署的位置
- Apache Ant 安装及配置Jmeter
- 路由,代理服务器和NAT技术的区别
- 2017CCPC女生赛 hdu 6026 Deleting Edges