问答题
有两台机器,它们对条件转移指令的处理采用不同的设计方案:
①CPU
A
采用一条比较指令来设置相应的条件码,由紧随其后的一条转移指令对此条件码进行测试,以确定是否进行转移。因此实现一次条件转移要执行比较和测试两条指令。
②CPU
B
采用比较和测试两种功能合在一起的方法,这样实现条件转移只需一条指令。
假设在这两台机器的指令系统中,执行条件转移指令需2个时钟周期,而其他指令只需1个时钟周期。又假设CPU
A
中,条件转移指令占总执行指令条数的20%。由于每条转移指令都需要一条比较指令,所以比较指令也将占20%。由于CPUB在转移指令中包含了比较功能,因此它的时钟周期就比CPU
A
要慢25%。问CPU
A
和CPU
B
哪个工作速度更快些?
【正确答案】正确答案:设CPU
A
的时钟周期长度为T
A
,CPU
B
的时钟周期长度为了T
B
CPI
A
=0.2×2+0.8×1=1.2
=I
NA
×1.2×T
A
CPU
B
中由于没有比较指令,转移指令由原来占20%上升为20%÷80%=25%,它需要2个时钟周期,而其余的75%指令只需1个时钟周期,所以 CPI
B
=0.25×2+0.75×1=1.25 CPU
B
中由于没有比较指令,因此I
NB
=0.8×I
NA
。又因T
B
=1.25T
A
,所以
=I
NB
×CPI
B
×T
B
=0.8I
NA
×1.25×1.25T
A
=1.25I
NA
×T
A
可见