计算机的存储系统有哪些?

为了解决速度匹配问题,引入了Cache存储技术。Cache内部保存着主存储器中部分内容的副本。当CPU需要读写数据时,会优先访问速度极快、与CPU速度相当的Cache,从而让CPU能够在零等待的状态下迅速完成数据读写操作。

评论 (4)

这回答有点避重就轻啊,只提了Cache,典型的计算机组成原理入门视角。实际上现代存储系统是金字塔结构,从寄存器、L1/L2/L3 Cache、DRAM(主存),一直到SSD和HDD,甚至现在还在探索的非易失性内存如3D XPoint。光说Cache解决速度匹配,忽略了容量和成本的制约,太片面了。真正的设计难点是在延迟、容量和功耗之间做权衡,而不是简单的“零等待”。

这说法有点太理想化了。Cache虽然快,但CPU真的能“零等待”吗?Cache命中率达不到100%的时候,还是要访问主存的,而且现在的多级缓存架构复杂度很高,不仅仅是快与慢的问题,还有带宽和一致性的考量。不过对于初学者来说,这样理解确实最直观。

这解释挺通俗的,不过要注意,Cache虽然快,但容量有限,不可能把所有主存数据都缓存进去,所以还是会有Miss的情况导致需要访问慢速的主存,这时候CPU并不是完全“零等待”的。

这个回答把Cache的核心作用说清楚了,就是做速度缓冲。不过感觉略过了主存和硬盘那些层级,其实存储系统是个金字塔结构,Cache只是最顶端那一小段,下面还有DDR和SSD/HDD协同工作,整体才是完整的存储体系。