假设计算机M的指令集中包含A、B、C三类指令,其CPI分别为2、3、4。某个程序P在M上被编译成两个不同的目标代码序列P1和P2,P1所含A、B、C三类指令的条数分别为8、5、6,P2所含A、B、C三类指令的条数分别为7、8。8、
请问:
(1)哪个代码序列指令条数少?
(2)哪个执行速度快?
(3)它们的CPI分别是多少?
假设计算机M的指令集中包含A、B、C三类指令,其CPI分别为2、3、4。某个程序P在M上被编译成两个不同的目标代码序列P1和P2,P1所含A、B、C三类指令的条数分别为8、5、6,P2所含A、B、C三类指令的条数分别为7、8。8、
请问:
(1)哪个代码序列指令条数少?
(2)哪个执行速度快?
(3)它们的CPI分别是多少?
【正确答案】:(1)P1代码序列指令条数为:8+5+6= 19.
P2代码序列指令条数为:7+7+8-22
所以,P1代码序列指令条数少。
(2)P1的时钟周期数为:8×2+5×3+6×4=55
P2的时钟周期数为:7×2+7×3+8×4=67
由上可知,P1比P2快。
(3)CPI=程序时钟周期数÷程序所含指令条数
P1的CPI=55÷19=2.89
P2的CPI=67÷22=3.05
Top