计算机追求的目标
快 在规定的事件内完成对规律的表达
如何加快?
加快经常性事件!
秘诀1:辨认经常性事件
秘诀2:找出加快的方法
原理的应用
- CISC复杂指令系统
应用需要某类操作要加快,原来是由软件的子程序实现,后来就用新的指令来实现
例1 浮点计算子程序----->协处理器------>浮点指令
例2 MMX Common case:浮点科学计算,多媒体计算
Fast的方法:用硬件代替软件,用指令代替子程序
复杂的指令集 复杂的硬件 较少的寄存器 <---------->简洁的软件代码
- RISC精简指令集系统
指令使用的频率统计时间统计,90%的时间用的是10%的指令
Common: 10%的频繁使用的代码(占90%的时间)
Fast的方法:精简指令集,将多余的资源实现加快,寄存器的数量大大增加,
规整指令,用流水线技术加快
精简的指令集 更简单的硬件 较多的寄存器 <---->更多的代码行
ACM2017图灵奖 JOHN L HENNESSY DAVID PATTERSON 开创性提出 RISC
高速缓存Cache 利用局部性原理,将局部代码放在Cache上,使方存的速度与处理器的速度匹配