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