一级Cache与二级Cache的主要区别是什么

一级Cache与二级Cache的主要区别是什么,第1张

一级Cache与二级Cache都是CPU缓存,他们的主要区别:

1、所在位置不同

一级Cache是一级缓存,位于CPU内部;

二级Cache是二级缓存,位于CPU和主存储器DRAM(Dynamic RAM)之间。

2、读取数据的顺序不同

 当CPU要读取一个数据时,首先从一级缓存中查找,如果没有找到再从二级缓存中查找,如果还是没有就从三级缓存或内存中查找。一般来说,每级缓存的命中率大概都在80%左右,也就是说全部数据量的80%都可以在一级缓存中找到,只剩下20%的总数据量才需要从二级缓存、三级缓存或内存中读取,由此可见一级缓存是整个CPU缓存架构中最为重要的部分。

3、作用不同

 一级缓存可分为一级指令缓存和一级数据缓存。一级指令缓存用于暂时存储并向CPU递送各类运算指令;一级数据缓存用于暂时存储并向CPU递送运算所需数据,这就是一级缓存的作用。

二级缓存是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是存储那些CPU处理时需要用到、一级缓存又无法存储的数据。

-一级缓存

-二级缓存

A buffer is something that has yet to be “written” to disk

A cache is something that has been “read” from the disk and stored for later use

free中看到的buffer和cache:(它们都是占用内存):

buffer: 作为buffer cache的内存 ,是块 设备的读写缓冲区

cache: 作为page cache的内存, 文件系统的cache

如果cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi会非常小。

Buffer和Cache的区别

缓存(cached)是把读取过的数据 保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。

缓冲(buffers)是根据磁盘的读写 设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 一级Cache与二级Cache的主要区别是什么

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情