随着SSD固态硬盘的普及,如今带有缓存的SSD价格也逐渐被用户接受,虽然我们知道没有缓存的SSD在价格上会比有缓存的略贵一些,但是缓存究竟在SSD固态硬盘中发挥了怎样的作用并不是每个用户都了解。
其实“缓存”一词单纯从字面上理解可解释为延缓存放,简单的说“缓存”是为了平衡高速设备和低速设备之间的速度差异而存在的。作用是让低速设备尽量的不拖高速设备的后退。这里之所以用“尽量”一词,主要是各类产品中的缓存容量有限,算法也不可能100%的准确命中,所以低速设备多多少少还是会拖高速设备的后腿,缓存的作用只能是“尽量”减少这种现象。
例如CPU缓存;每当CPU从内存里读数据时,会向内存控制器发出一个读指令,要求内存控制器返回其要求的数据,可是因为内存响应速度相对于CPU是很慢的,所以在数据返回之前CPU只有无所事事的“等待”,如果经常出现这样的情况,再快的CPU也会被内存拖后腿,效率也不会提高。
在主内存(RAM)和CPU之间,放一块小容量的SRAM。当CPU申请RAM数据的时候,先在SRAM里面寻找,如果找到了数据,就不用花费很多时间到RAM里去读了(同步读取)。如果SRAM里没有数据,再到RAM去读,当RAM返回数据的时候,不仅仅返回原来所需要的数据,同时“捎带”返回所需数据“前后”的一些看似无关的数据,并将这些数据放入SRAM中。
下次CPU再次到SRAM里读数据的时候,假如所需数据正好在SRAM里,就可以“命中”了。从原理上可以看出,命中率越高,CPU的效率就越高。而命中率又是被“捎带”返回的数据所决定的,哪些数据被捎带返回,这个就要依CPU内部的缓存算法而定了。由此可见,由于缓存容量远远小于主内存容量,而缓存算法也不可能100%的准确命中。
缓存在机械硬盘中的作用:
以上是以CPU缓存做例子。但是在电脑系统里,缓存并不仅仅是CPU独有,因为高速设备与低速设备的矛盾并不仅仅体现在CPU和内存之间。现在假如说,我要把数据从内存写入硬盘,由于硬盘相当缓慢,需要等待很长的时间才能完成此任务。那么用户体验就是电脑非常慢。实际上,这里CPU不慢,内存不慢,只是硬盘太慢了。
解决机械硬盘速度过慢的问题,就在其内部安置了一个小容量的内存,也就是硬盘的缓存,数据首先写入到缓存里。那么在操作系统层面,就会认为数据已经写入了,用户的感觉就是快速。随后硬盘自己再从缓存写入到盘片,这个过程无需用户干预了。
关注天下网吧微信,了解网吧网咖经营管理,安装维护: