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