1.存储层次
计算机体系中的零一大块内容是和存储相关的。为什么存储如此重要呢?因为当前CPU的时钟频率可以做到GHz,说明其内部的控制通路和数据通路的运算是非常快的,并且还有随着工艺节点缩小而进步的空间。然而存储的速度却没有跟上CPU的速度,受限于冯诺伊曼架构,CPU需要的数据都需要从存储中获取,因此存储的速度直接拖累了CPU的速度,也就是我们说的撞到了存储墙。为了解决存储墙的问题,一方面是现在已经比较成熟的多层次存储方案,即使用Cache,外存等不同大小,访问速度的存储构成综合性能优秀的多层次存储,另一方面是新型存储设备,包括存内计算,以及今年的华为天才少年似乎也是做和新型存储器件相关的课题研究。由此可见,存储是计算机体系结构中一个非常重要的内容。
1.1 Cache
Cache可以说是当前处理器设计中最复杂的部分之一,因此本文也仅作部分知识点的简介。
Cache在整体存储层次位于CPU通用寄存器和主存之间,如下图所示。
Cache的速度低于通用寄存器(通常只需要1个时钟周期就可以访问)而高于主存(通常需要数十到数百个时钟周期),大小大于通用寄存器(几百比特)而小于主存(几百兆到几个G)。Cache的作用就是根据程序的temporal locality和space locality,提前将需要的程序块