2012-05-02 25 views
3

我只是在彙編中的存儲指令中感到困惑。當地址總線攜帶要寫入的存儲器地址時,數據總線的狀態是什麼。它是否攜帶地址的內存內容,將存儲指令中的數據總線狀態

回答

1

是在一個簡單的處理器/模型由指令計算的地址放在地址總線上,如果這是那麼寫的數據都會在數據總線上,通常存在對存儲器的某種指示的寫入選通,這是寫入操作以及某種啓用來告訴存儲器這實際上是存儲器循環。爲了簡化邏輯,有時候數據總線甚至地址總線都可以做任何事情,只有當正確使能/選通存在時纔有效。

http://github.com/dwelch67有邏輯模擬器,你可以運行看到這個在行動。 amber_samples回購和mips1_core_samples也可以讓你看到巴士在行動。

我說簡單,因爲一旦緩存和mmu被捲入,事情會變得更加複雜。地址可能會改變,執行一次簡單的寫操作可能需要很多次讀取。在處理器的核心內部,距離內核最近的內存總線仍然類似於某種類型的地址和數據總線,這些地址和數據總線將指令中的位取出並放在這些總線上。

沒有兩個處理器系列是相同的,一個ARM和一個x86和一個mips沒有理由以任何方式彼此相似,並且可能看起來不一樣,即使它們都可以說例如存儲使用指令將地址0x1000的值0x1234。