视频地址:
http://player.bilibili.com/player.html?aid=31289365&bvid=BV1iW411d7hd&cid=91346822&page=11
课件地址:
对应于书中的6.1-6.3。
需要看到代码就能判断代码的局部性,避免代码出现差的局部性。
理想状态中,我们将存储器系统视为一个线性字节数组,CPU能在常数时间内访问每个存储器位置。但实际上**存储器系统(Memory System)**是一个具有不同容量、成本和访问时间的存储设备的层次结构,分别具有以下几部分:
上方存储器作为下方存储器的缓存,速度更快、容量更小。
存储器的层次结构之所有有效,是因为程序具有**局部性(Locality)**的基本属性,倾向于不断访问相同的数据项集合,或者倾向于访问相邻的数据项集合。我们希望程序能具有更好的局部性,使得数据项存储在较高层次的存储器中,这样程序就会倾向于从存储器结构中较高层次访问数据项,运行会更快。
**随机访问存储器(Random-Access Memory,RAM)**根据存储单元实现方式可以分为两类:静态的RAM(SRAM)和动态的RAM(DRAM)。