程序的执行时间
Contents
程序的执行时间
程序的执行时间 = 程序的指令数 * 每条指令的平均时钟周期数(CPI) * 每个时钟周期的时间
程序的指令数
Instructions per Program
五个影响因素:
- 任务程序本身的体量 task
- 算法复杂度 algorithm, e.g. O(N2) vs O(N)
- 编程语言
- 编译器
- 指令集架构(ISA)
(Average) Clock cycles per Instruction (CPI)
wiki
两个影响因素:
- 指令集架构(ISA)
- 处理器的实现方式 比如单周期处理器CPI=1,strcpy的CPI»1,superscalar超标量处理器的CPI<1等
Time per Cycle(1/Frequency)
每个时钟周期时间的值是频率的倒数,比如:1/4GHZ
三个影响因素:
- 处理器的微架构 决定处理器底层的关键路径,而关键路径时延决定时钟周期时间的下限
- 工艺 比如14nm vs 28nm
- 设计使用的额定功率 低电压会影响电路时延
能耗 energy
流水线
顺序洗衣服
流水线洗衣服
流水线吞吐率受限于最慢的执行时间
Author sorvik
LastMod 2020-12-22