我知道ALU
的两个输入是accumulator
和temporary
寄存器。我有点好奇为什么我们将中间结果存储在一个临时寄存器中,为什么不将数据总线直接连接到ALU
。这是什么需要临时寄存器8085
微处理器?
临时寄存器的一个用途是稳定数据流的时序。
考虑一下您在问题中提示的示例:使用累加器和内存操作数的ALU操作。
是的,从内存中读取内存操作数。那么为什么不直接将它喂入ALU呢?一个可能的答案是时机。
从存储器读取的数据仅在总线周期结束时有效。当总线周期结束时,该数据消失。这意味着只知道数据在很短的时间内有效。
很可能,通过ALU传播并存储在累加器中的时间太短。
但是,有足够的时间将其直接存储到临时寄存器中。然后ALU有两个稳定的输入:累加器和临时寄存器。
实际上,临时寄存器保存存储器操作的结果以供ALU在下一个处理器周期中使用。