2012-05-02 21 views
3

我只是在汇编中的存储指令中感到困惑。当地址总线携带要写入的存储器地址时,数据总线的状态是什么。它是否携带地址的内存内容,将存储指令中的数据总线状态

回答

1

是在一个简单的处理器/模型由指令计算的地址放在地址总线上,如果这是那么写的数据都会在数据总线上,通常存在对存储器的某种指示的写入选通,这是写入操作以及某种启用来告诉存储器这实际上是存储器循环。为了简化逻辑,有时候数据总线甚至地址总线都可以做任何事情,只有当正确使能/选通存在时才有效。

http://github.com/dwelch67有逻辑模拟器,你可以运行看到这个在行动。 amber_samples回购和mips1_core_samples也可以让你看到巴士在行动。

我说简单,因为一旦缓存和mmu被卷入,事情会变得更加复杂。地址可能会改变,执行一次简单的写操作可能需要很多次读取。在处理器的核心内部,距离内核最近的内存总线仍然类似于某种类型的地址和数据总线,这些地址和数据总线将指令中的位取出并放在这些总线上。

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