computer architecture ——cache
目前在学习计算机体系结构,我会把每周学习到的知识系统的整理出来放在这里。
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
这部分主要讲cache,在整理cache之前先回顾一下计算机存储的结构。本文章按照以下的结构展开:
- 计算机的存储结构
- cache原理介绍
- cache设计要素
一、计算机的存储结构
计算机存储系统是分层次的,究其原因还是物理层面与经济层面的限制,使得其需要在价格,速度,容量等多方面做一个系统的优化与取舍。在一般的计算机组成中,按照离cpu距离的远近,依次存在的存储结构为:cpu寄存器,cache,主存,外部存储。register距离cpu最近,有着最高的访问速度,但是其数量受到限制。main memory有着GB级别的容量,但是随着CPU频率的提升访问main memory的速度又成为了限制性能的瓶颈。于是cache在main memory和register中扮演了一个缓冲的作用。
二、cache原理介绍
cache(高速缓存)存在的目的是为了以较低的价格给出逼近最快存储速度的较大存储器容量。
如图所示,当CPU试图从存储器中读取一个字(word)时,会先检查这个字是否在Cache中,如果是,则将这个字传送给CPU,如果不是,则去主存中检索该字所在的位置,并且将这个字附近的一定数目的字全部读到Cache中。上句话中所谓的一定数目的字被称作块(block)。由于访问局部性原理,被送入Cache中的其他字在未来不远的周期中又特别大的概率被访问到,所以主存和cache之间的块传送不会造成带宽和性能的浪费。
cache的结构如下图所示,cache分为N行,每一行是一个block
三、cache设计要素
cache(