记一个程序的执行时间为(秒),则:
其中,
- 为该程序的指令数;
- 为每条指令所占用的时间;
-
为每条指令执行所占用的时钟数,即
CPI
; - 为每个时钟所占用的时间,即时钟频率的倒数;
那么,怎样减少程序的执行时间呢?
一、减少程序中指令的数量。优化算法、优化编译器、扩展指令集...
二、降低CPI
。采用超标量、采用超常指令字(VLIW)...
三、提升时钟频率。优化电路设计、更深的流水线、硅工艺...
但往往降低CPI
和提升时钟频率是相互制约、此消彼长的。降低CPI
要求每周期执行更多条指令,这样设计复杂度就会急剧上升,导致处理器的周期时间很难降下来;相反,很小的周期时间很难容下复杂的逻辑设计,虽然可以通过更深的流水线来获得小的周期时间,但是却导致处理器在各种预测失败时有更大的惩罚,并增大了功耗,造成“高频低能”的后果。
以上内容总结自《超标量处理器设计》- 姚永斌。
网友评论