3

我只是对装配中的商店指令感到困惑。当地址总线携带要写入的内存地址时,数据总线的状态是什么。它是否携带指向的地址的内存内容

4

1 回答 1

1

是的,在一个简单的处理器/模型中,由指令计算的地址被放在地址总线上,如果这是一个写操作,那么数据就会在数据总线上传输,通常会有一个写选通信号向内存表明这是一个写操作以及某种使能告诉内存这实际上是一个内存周期。为了简化逻辑,有时允许数据总线甚至地址总线做任何事情,并且仅在存在正确的启用/选通信号时才有效。

http://github.com/dwelch67有逻辑模拟器,你可以运行它来查看它的实际效果。amber_samples repo 和 mips1_core_samples 还允许您查看正在运行的总线。

我说简单是因为一旦涉及到缓存和 mmu,事情就会变得更加复杂。地址可以更改,可能需要多次读取才能执行一次简单的写入。在处理器内核的深处,最接近内核的内存总线仍将类似于某种地址和数据总线,它从您的指令中获取位并将它们放在这些总线上。

没有两个处理器系列是相同的,一个 ARM 和一个 x86 和一个 mips 没有理由以任何方式彼此相似,并且很可能看起来不一样,即使在它们上你可以说例如将值 0x1234 存储到地址 0x1000 使用指令。

于 2012-05-03T02:03:25.257 回答