Dancing with Shackles On - CSAPP
2018-11-30 本文已影响0人
Doye
这世界上的事情往往是不能两得的。比如古人说的忠孝两难全,计算机算法中的空间与时间,现实中每个人终将要作出的某一种选择。
我们的信息的存储亦是如此,成本和性能是一个不能两得的东西。而我们人性总是贪婪的,而世界好像给我们留了后门似的,真的走出了一条接近“我全都要”的中间道路 :)
存储技术没有摩尔定律那么夸张,但是也勉强随着时代降低着成本。存储技术一个重要的现实分水岭就是掉电后是否信息会丢失。而按照我们对事物观察的一般的经验来看,那么丢失的肯定有别的用处,那么就是这种电路结构(SRAM,DRAM)就会速度就会特别快,主要构成了在计算机运行中的存储体系。另外一种就是XXROM系列,可以存储,但是速度相比前者来说,差异是数量级级别的。即便后面有了稍贵的更快的SSD,与内存类的存储还是无法比拟的,但是计算器的存储结构最终是在总线之上,把他们都化作了计算机的一部分
但是问题就来了,再次按照我们的经验来看,作为整体来说,我们总得去迁就最短的那块木板(把木桶斜着放更多的骚操作先不管),但是局部性原理(Locality)让我们一定程度完成了“我全都要”的壮举。
时间局部性(Temporal Locality): 被引用过一次的存储器位置在未来会被多次引用(通常在循环中)
空间局部性(Spatial Locality): 如果一个存储器的位置被引用,那么将来他附近的位置也会被引用
而这个就是为何我们的内存体系结构不止有单一类型技术,呈一个金字塔结构的原因
借助于良好的设计和局部性原理,最终计算机突破了存储设备理论上上的短板限制问题,
Dancing with Shackles On