我只是对装配中的商店指令感到困惑。当地址总线携带要写入的存储器地址时,数据总线的状态是什么。它是否携带
指向的地址的内存内容答案 0 :(得分:1)
是的,在一个简单的处理器/模型中,由指令计算的地址被放在地址总线上,如果这是一个写入,那么数据就会在数据总线上进行,通常会有一个写入选通信号给某些指示。内存,这是一个写操作,以及某种启用,告诉内存这实际上是一个内存周期。为了简化逻辑,有时数据总线和偶数地址总线都可以做任何事情,只有在存在适当的启用/选通信号时才有效。
http://github.com/dwelch67有逻辑模拟器可以运行以查看此操作。 amber_samples repo和mips1_core_samples还允许您查看正在运行的总线。
我说过于简单化,因为一旦缓存和mmu参与其中,事情变得更加复杂。地址可以改变,执行一次简单写入可能需要许多读取。在处理器的核心深处,离核心最近的存储器总线仍然类似于某种地址和数据总线,它从指令中取出位并将它们放在那些总线上。
没有两个处理器系列是相同的,ARM和x86以及mips没有理由以任何方式彼此相似,并且可能看起来不一样,即使在所有这些系列上你可以说例如存储使用指令将值0x1234写入地址0x1000。