题目
例12 6设设计算机M的指令集中包含A、B、C三类指令,其CPI分别为1、2、4。某个-|||-程序P在M上被编译成两个不同的目标代码序列P1和P2,P1所含A、B、C三类指令的条数-|||-分别为8、2、2,P2所含A、B、C三类指令的条数分别为2、5、3。请问:哪个代码序列总指-|||-令条数少?哪个执行速度快?它们的CPI分别是多少?

题目解答
答案

解析
步骤 1:计算P1和P2的总指令条数
P1的总指令条数为8 + 2 + 2 = 12。
P2的总指令条数为2 + 5 + 3 = 10。
步骤 2:计算P1和P2的总时钟周期数
P1的总时钟周期数为 $8\times 1+2\times 2+2\times 4=20$。
P2的总时钟周期数为 $2\times 1+5\times 2+3\times 4=24$。
步骤 3:计算P1和P2的CPI
P1的CPI为 20/12=1.67。
P2的CPI为 24/10=2.4。
P1的总指令条数为8 + 2 + 2 = 12。
P2的总指令条数为2 + 5 + 3 = 10。
步骤 2:计算P1和P2的总时钟周期数
P1的总时钟周期数为 $8\times 1+2\times 2+2\times 4=20$。
P2的总时钟周期数为 $2\times 1+5\times 2+3\times 4=24$。
步骤 3:计算P1和P2的CPI
P1的CPI为 20/12=1.67。
P2的CPI为 24/10=2.4。