计算机的设计原理 为什么要增加Cache?
为什么要增加Cache?
缓存对于计算机或嵌入式系统来说是一个非常重要的概念。一般的硬件系统有快存储和慢存储,如硬盘是快存储,内存是慢存储。对于需要频繁读写的数据,快速存储器的存取效率要比慢速存储器快得多。此时,可以将快速存储设备视为慢速存储设备的高速缓存。因此,内存是硬盘的缓存,缓存是内存的缓存,CPU寄存器是缓存的缓存。对于将数据总线与指令总线分离的哈佛体系结构来说,它也可以分为DCache和Icache,即数据缓存和指令缓存。使用cache可以加快数据的访问速度,但是填充缓存线也需要时间,因此只有需要频繁访问的数据才能填充到cache中。CPU将首先在缓存中搜索。如果没有命中,它将在内存中搜索。如果没有,它将在硬盘中搜索。
计算机里为什么要增加Cache?Cache有什么特点?
您可以简单地理解这一点:将硬盘加载到高速缓存中。必要时,CPU会优先从缓存中读取信息,而不是从硬盘中读取,因为硬盘的读取速度远低于缓存的读取速度。你明白吗?不管你是否能理解,缓存对于计算机或嵌入式系统来说是一个非常重要的概念。一般的硬件系统有快存储和慢存储,如硬盘是快存储,内存是慢存储。对于需要频繁读写的数据,快速存储器的存取效率要比慢速存储器快得多。此时,可以将快速存储设备视为慢速存储设备的高速缓存。
因此,内存是硬盘的缓存,缓存是内存的缓存,CPU寄存器是缓存的缓存。
对于将数据总线与指令总线分离的哈佛体系结构,它还可以分为DCache和Icache,即数据缓存和指令缓存。使用cache可以加快数据的访问速度,但是填充缓存线也需要时间,因此只有需要频繁访问的数据才能填充到cache中。CPU将首先在缓存中搜索。如果没有命中,它将在内存中搜索。如果没有,它将在硬盘中搜索。
为什么要增加Cache?Cache有什么优点?
从主题描述来看,应该是指应用软件的数据缓存,它通常与网络有关,即将从网络下载的数据临时保存到硬盘上。一方面,需要找到一个地方临时存储数据进行数据处理,另一方面,可以减少重复下载。当应用软件关闭时,如果没有自动清洗,那么它就成了可有可无的东西。你为什么这么说?因为如果你下次下载同样的东西,应用软件可能会从临时缓存中调用过去的数据,或者它可能永远不会被使用,所以它就变成了垃圾。
由于缓存是临时的,因此一旦相应的应用程序关闭,就可以随时删除它而不会造成伤害。如果应用软件功能完善,通常具有清洗功能。安全卫士提供缓存清理功能,无论应用软件本身是否提供,都可以集中、方便地清理各类应用软件的缓存垃圾。但毕竟,这不是最初的开发人员提供的算法。当然,它不能避免清理不清或错误的风险。但根据经验,大公司生产的软件相对可靠,对小白来说非常实用、简单。甚至一些第三方清理也比原来的清理更彻底、更干净(因为软件厂商故意保留一些由于不同原因可以删除的数据,空间不足的用户更关心垃圾占用的问题)。
为什么要清理缓存垃圾?主要是因为占用空间的问题。在很长一段时间之后缓存数据就更没用了。既然垃圾至少占用了很差的空间容量,那就最好扔掉垃圾。其次,它会导致硬盘上小文件的增加,从而降低硬盘的效率。最后,如果我不扔掉垃圾我就不高兴了。
其实,安全软件家族bucket的清洗功能并不是最专业的,普通的CCleaner比家族bucket更专业,但是国外的软件界面并不像国产软件那么容易理解。
请问什么叫做缓存?
让我们先看看为什么CPU有L1、L2和L3缓存设计。如下图所示,当前处理器速度太快,从内存读取数据太慢(一是内存本身速度不够快,二是距离CPU太远)。一般来说,它需要让CPU等待几十个甚至几百个时钟周期)。此时,为了确保CPU的速度,需要更少的延迟和更快的内存来帮助,这就是缓存。
现在让我们看看多级缓存(L1、L2、L3)的好处,而不仅仅是单个缓存。
1. 缓存越靠近ALU和其他核心单元,访问速度就越快。因此,核心附近会有一级缓存。虽然它很小,但它真的很快。缓存容量越大,缓存命中率越高,命中率越高,所以当L1不能命中时,它需要一个更大但不慢的缓存来提供数据,即L2;
3。更大的缓存意味着更高的命中率,这也意味着更高的成本、更低的速度、更多的晶体管和更大的面积,因此它不能接近所有的核心单元,即L3;
这是基于性能、成本和设计的CPU平衡,一级缓存可以最大化单个内核的位置和速度(甚至是单独的指令和数据)。二级缓存将更大,命中率更高,速度更慢。它通常位于每个核心,而L3缓存通常在系统的所有核心之间共享,以提供合理的速度和容量。例如,Intel Core i7-8700k的L1大小为64K,也分为32K数据和32K指令。L2大小为256K,L3大小为12MB。
现代CPU缓存体系结构非常复杂,包括硬件预取和数据转发,以提供最佳缓存命中率。一些cpu甚至添加了L4缓存。
CPU的一二三级缓存有什么用处?
没有缓存时,计算机处理数据的速度会更慢。
使用缓存。也就是说,应用程序在使用过程中会下载部分内容。下次使用时,不需要下载这部分内容。你可以直接拿来使用,这样可以减少应用程序的阻塞。加快。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。