高端的处理器里通常都带指令预取和多级流水线结构,昨天突然被问到在这种情况下怎么去计算多条语句的执行时间。想了半天也迷糊,今天一早醒来,突然想起来,其实CPU执行一条指令包含了取指令和执行指令2个步骤,执行指令的时间是固定的,而取指令不同,其实所谓的指令预取和流水线结构,是为了减少取值时间的,尤其在高速的CPU中,CPU读写RAM虽然比读写外部存储器快,但依然赶不上CPU的指令执行速度。因此,在这种带流水线的结构中,执行时间最快应该就是在一条指令执行完后,下一条指令也准备好,CPU不用花时间等待取指令。
|