在8085微处理器中,需要临时寄存器进行算术操作的需要



我知道ALU的两个输入是accumulator,而temporary寄存器。我有点好奇,为什么我们将中级结果存储为临时寄存器,为什么数据总线不直接连接到ALU。在8085微处理器中需要该临时寄存器的需要?

临时寄存器的用途之一是稳定数据流的时间。

考虑您在问题中暗示的示例:带有累加器和内存操作数的Alu操作。

是的,内存操作数是从内存中读取的。那么,为什么不直接将其喂入Alu呢?一个可能的答案是时机。

从内存读取的数据仅在总线周期结束时有效。当总线周期结束时,此数据消失了。这意味着数据仅在很短的时间内有效。

很有可能,太短了一段时间,无法通过Alu传播并存储在累加器中。

但是,只有足够的时间直接存储在临时寄存器中。然后,Alu有两个稳定的输入:累加器和临时寄存器。

实际上,临时寄存器保留了在下一个处理器周期中使用ALU的内存操作的结果。