计算机体系结构
第一章.量化设计与分析基础
计算机体系结构:指令集体系结构 + 计算机的实现
计算机的实现: 组成或微体系结构 + 硬件
1.局域性原理:一段程序90%的执行时间花费在10%的代码中
时间局部性: 最近被访问过的内容很可能短期内再次被访问
空间局部性: 最近被访问过的地址的相邻地址很可能短期内被访问
for (int i=0; i<10; i++)
for (int j=0; j<10; j++)
a[i] += j;
//外层循环i展示了空间局部性,a[0],a[1].....a[9]等相邻地址被访问
//内层循环j展示了时间局部性,a[i]在循环内被不停访问
2. Amdahl定理(阿姆达尔定理)
加 速 比 = 升 级 后 的 性 能 升 级 前 的 性 能 = 升 级 前 的 执 行 时 间 升 级 后 的 执 行 时 间 加速比=\tfrac{升级后的性能}{升级前的性能}=\tfrac{升级前的执行时间}{升级后的执行时间} 加速比=升级前的性能升级后的性能=升级后的执行时间升级前的执行时间
新 执 行 时 间 = 原 执 行 时 间 ∗ ( ( 1 − 升 级 比 例 ) + 升 级 比 例 升 级 时 间 ) 新执行时间=原执行时间 *( (1-升级比例)+\tfrac{升级比例}{升级时间}) 新执行时间=原执行时间∗((1−升级比例)+升级时间升级比例)
总 加 速 比 = 原 执 行 时 间 新 执 行 时 间 = 1 ( 1 − 升 级 比 例 ) + 升 级 比 例 升 级 时 间 总加速比=\tfrac{原执行时间}{新执行时间}=\frac{1}{(1-升级比例)+\tfrac{升级比例}{升级时间}}