一般来说,读写数据都是相对于cpu的。
当程序加载进内存后,指令放在code段,数据放在data段。data段中数据的地址由段寄存器和该数据偏移组成。code段的地址由cs和ip寄存器组成。
cpu向内存写数据的时,相当于将数据写入内存地址中。数据的地址经过地址总线送给译码器,译码器的有效输出送给锁存单元的使能端,而cpu中寄存器数据通过数据总线送给锁存单元的输入端,实现数据存入内存。
cpu读内存数据时,相当于将内存地址中的数据读入cpu。数据的地址经过地址总线送给译码器,译码器的有效输出送给锁存单元的使能端,此时锁存单元将输出端数据送入数据总线,再通过数据总线送入cpu。
cpu与内存通过数据总线交换数据,数据总线是双向的。