寄存器的速度为何比内存更快?
10-25
从计算机体系结构角度而言,需要把不同速度和容量的memory分层级,得到效率和成本间较好的平衡。最需要经常访问的数据放在速度最快容量最小的L1 cache里,访问量最少的数据放在最慢最大的内存条里,以此类推。
一个相当粗略和不精确的描述如下:
寄存器(register)经常自身就是CPU用的触发器,往往与CPU同时钟同频,当然是最快最方便的。但这玩意一个要20多个晶体管,多了芯片面积吃不消。
SRAM的优势在于速度较快,与一般半导体工艺兼容,因此被当作cache放在芯片内部离CPU近的地方,发挥其速度快的长处。但是这玩意存储密度小(一个bit要6个晶体管),放太多就贵了。
DRAM天生速度慢但存储密度高,正好适合做内存条这种东西。