您的当前位置:首页正文

96.【C语言】存储体系结构

来源:九壹网


1.金字塔图

摘自《深入了解计算机系统》

2.形象理解的图

3.分析

缓存的大小<<内存的大小

缓存分三级:速度:一级>二级>三级

在文章遗留了一个问题,缓存命中率是什么?

答:在文章提到了数据结构的定义: 数据在内存中的存储结构

当想对顺序表或链表的每个位置进行遍历访问(读或写)时,CPU会读取缓存中的数据,如果缓存中有顺序表或链表的数据,则称为命中,反之不命中,若不命中,CPU会要求将内存中的数据加载到缓存中,而且一次性会加载多个字节(具体加载多少和硬件有关)

加载多个字节可以用局部性原理来概括:(摘自百度百科)指访问时,无论是存取指令还是存取数据,所访问的都趋于聚集在一个较小的连续区域中,由于数组在本质上是一块连续的内存空间,因此缓存的命中率高,链表靠指针访问,不连续,,因此缓存的命中率低(缓冲污染:加载了没用的数据,对于链表的访问会经常发生)

4.推荐阅读

 

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top