一般來說,讀寫數據都是相對於cpu的。
當程序加載進內存後,指令放在code段,數據放在data段。data段中數據的地址由段寄存器和該數據偏移組成。code段的地址由cs和ip寄存器組成。
cpu向內存寫數據的時,相當於將數據寫入內存地址中。數據的地址經過地址總線送給譯碼器,譯碼器的有效輸出送給鎖存單元的使能端,而cpu中寄存器數據通過數據總線送給鎖存單元的輸入端,實現數據存入內存。
cpu讀內存數據時,相當於將內存地址中的數據讀入cpu。數據的地址經過地址總線送給譯碼器,譯碼器的有效輸出送給鎖存單元的使能端,此時鎖存單元將輸出端數據送入數據總線,再通過數據總線送入cpu。
cpu與內存通過數據總線交換數據,數據總線是雙向的。