学习日志之electronic(2)——memory

cach

目录

cache memory逻辑简介

SSD和HDD的问题


e memory逻辑简介

在微处理器中一条指令的执行过程是这样的:

先要从外部存储器flash中读取复制程序到主存中运行,再从主存(RAM)中读取数据,放到CPU的register中计算。然而CPU的处理速度是非常快的,差不多相当于主存的访问速度的60-70倍的样子。所以如果单纯地访问主存CPU会损失很长地运行时间,显然对于指令运行的速度提升是很不利的,但是如果要造一个存储量大速度又快的主存显然在成本和价格上受不了。传统的存储访问方式如下图所示:

所以可以在CPU和RAM中间加一个快速存储的小容量设备,将频繁使用的数据放在这个小容量缓存设备中备用,如果再需要的话就不需要从RAM中花那么多时间取了。结构就变成了下图的样子。

但是这样还是不够,因为单个cache里存不了多少数据,要进一步提升能力可以用多个cache进行合作,从而数据也可以进行分级,越是频繁使用的数据等级越高,就放在越快的cache中,不那么频繁的就放在慢的cache中或者就留在RAM里。当然等级低的cache的容量当然是要更大一些的。如下图所示。在使用的时候CPU会查询cache中的内容,如果放在当前的cache中就叫做hit,反之叫做miss。假设CPU在此时需要某一个地址的数据,先到最高级的L1 cache中找,如果miss了就到L2 cache中找,so on so forth,直到最终找到数据为止。当hit到数据后数据会直接由cache向CPU传输,另一方面当前的cache会将数据移动到等级更高的cache中(注意不时copy,只有在在RAM中hit的情况下才会copy)。如果更高等级的cache满了,就会清掉之前的数据换上这个新的数据。

SSD和HDD的问题

SSD(Solid State Drives)和HDD(Hard Disk Drive)的区别在于内部结构的不同。这两者并不属于memory,而是storage。memory是计算机的工作空间,而storage是计算机存储数据的空间。memory包括了ROM、RAM和前面的cache,除了ROM后两者都是掉电里面的东西都没了。memory翻译应该是内存而storage应该翻译为外存,其包括的是我们所说的硬盘和U盘等设备。

SSD相比较HDD而言因为不需要机械结构对磁盘进行旋转读取之类的操作,而是通过非易失性固态硬盘中数据的存取主要由NAND Flash及其主控芯片来实现,所以主要的提升在抗震性上,这也是为什么HDD存取的时候不能乱摇的原因,另一个好处是存取速度确实更快一点,一般是HDD的2倍左右,但是对开机速度并没有什么很大的提升就算是用机械硬盘,用WIN10照样会很快= =。。。目前装机性价比最高的是HDD和SSD混用,用SSD存储游戏系统之类需要存储速度的东西,而HDD用于存放电影音乐之类的文件。

发布了17 篇原创文章 · 获赞 0 · 访问量 213

猜你喜欢

转载自blog.csdn.net/zch951127/article/details/104586450