计算机系统设计的定量原理:加快经常性事件
- 找出加快的办法(Fast)
- CISC(复杂指令系统) :应用需要某类操作要加快,原来是由软件的子程序实现,后来就用新的指令来实现。
- Fast的方法:用硬件代替软件,用指令代替子程序
- RISC(精简指令集) :指令使用的频度统计,时间统计,90%的时间用的是10%的指令
- Fast的方法: 精简指令系统, 将多余的资源实现加快,寄存器的数量大大增多, 规整指令,用流水线技术加快
- 利用局部性原理,将局部代码放在Cache上,使访存的速度与处理器的速度匹配
-
Se ─── 被改进部分的部件加速比 ( enhanced ) ;
-
Fe ─── 被改进部分原执行时间占原来总时间的百分比 ( Fraction)
-
示例:理论上,4核处理器的指令处理速度是单核处理器的4倍。但是只有10%的指令是可以在4个核心上并行处理的,计算加速比
-
Amdahl定律的性能递减规则:如果仅仅对计算机中的一部分做性能改进,则改进越多,所得到的总体性能的提升就越有限。
-
Sn 与Se 的关系:随着S e 的增大,Sn 的增速越来越慢,且收敛到 1/(1-Fe)
-
Sn 与Fe 的关系:为使系统能获得较高性能加速比,可增强部分必须占有较大的比例。
执行一个程序所需的 CPU 时间
- CPU时间 = 执行程序所需的时钟周期数×时钟周期时间
- 时钟周期时间是时钟频率的倒数
-
平均每条指令耗费的时钟周期数。
- CPI = 执行程序所需的时钟周期数/ IC
- 其中 IC :所执行的指令条数
-
程序执行的 CPU 时间可以写成:
- 减少时钟周期时间:减少时钟周期时间
- 程序执行时间的90%都是在执行程序中10%的代码。
- 时间局部性(Temporal Locality):如果一个信息项正在被访问,那么在近期它很有可能会被再次访问。
- 空间局部性(Spatial Locality):程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。