问答题 有两台机器,它们对条件转移指令的处理采用不同的设计方案: ①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 可见
【答案解析】