CS:APP/深入理解计算机系统-第一章(1.5~1.6)

处理器与主内存间存在速度差距,为此引入了缓存,如L1和L2缓存,以提升性能。缓存利用局部性原理,提供快速访问最近使用过的数据。存储设备形成层次结构,从高速小容量到低速大容量,每个层级作为下一层的缓存,以优化整体系统性能。

1.5 Caches Matter

前面1.4节介绍的hello程序运行流程里有很多次copy操作,这对实际程序是一个很大的负担。

对于系统设计工程师来说,要想办法加速copy操作。

从物理层面来说,读取大存储空间的设备内的内容时,速度会远低与读取小存储空间的设备。对应于register file和main memory,前者只存几百个byte的信息,所以读取前者的时间远小于读取后者。并且随着半导体技术的发展,processor-memory gap持续扩大,加速processor比加速main memory更容易实现。

为了解决processor-memory gap,系统设计工程师搞出来一个更小更快的设备,命名为cache memories(缓存),用于临时存储processor未来可能需要的信息。

下图展示了一个典型系统里面的缓存:

L1缓存位于processor芯片上,容量是数万个byte,访问速度几乎和register file一样快。

L2缓存容量数百万个byte,通过特殊的bus与processor项链,访问时间要比L1慢5倍左右,比Main memory短5~10倍。

L1和L2采用一种叫做静态随机存储器(static random access memory, sram)的技术实现。对于更强/更新的系统,它甚至有三级缓存:L1,L2,L3。

总的来说,缓存的思想是利用局部性(程序在局部区域访问数据和代码的趋势),系统可以获得较大的内存和较快的内存的效果。

------------------------------------------------------------------

1.6 Storage Devices Form a Hierarchy

在processor和main memory(较大,较慢的存储设备)之间插入一个缓存(高速存储设备)在如今是一个比较通用的想法。在每个计算机系统中都有上图金字塔式的memory层次结构。

从金字塔尖到金字塔底,整体上趋向与容量变大,速度变慢。这种结构的主要思想是,一个level的存储被用作是下一个level的缓存。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值