1.5 高速缓存至关重要
根据机械原理,较大的存储设备要比较小的存储设备运行得慢,而快速设备的造价远高于同类的低速设备。
处理器和主存之间的速度差异非常大,寄存器的速度比主存快两个数量级,加快处理器的运行速度比提升主存的速度要容易和便宜得多。
针对处理器和主存之间的差异,设计了高度缓存存储器(cache memory),作为数据暂时的集结区域,存放处理器近期可能会需要的信息。
三级高速缓存:L1、L2、L3,用静态随机访问存储器(SRAM)实现。
高速缓存利用了局部性原理:程序具有访问局部区域里的数据和代码的趋势。
1.6 存储设备形成层次结构
从上到下,设备的访问速度越来越慢、容量越来越大,并且每字节的造价越来越便宜。
存储器层次结构的主要思想是上层的存储器作为下层存储器的高速缓存。寄存器文件就是 L1 的高速缓存,L1 就是 L2 的高速缓存......
我的思考:
高速缓存的存在是为了解决处理器和主存之间速度差异大的问题,现在的设备把高速缓存分为三级。离处理器越近的存储器,访问速度越快。寄存器在处理器内部,所以它最快,主存离得比较远,速度就比寄存器慢。
善用缓存是提高程序性能的办法,比如把加载图片时做个内存磁盘双缓存,这在 Android 开发中是经常用到的。