在一個電子系統中,CPU、內存、物理存儲、IO這些單元必不可少,只不過有的集成在CPU內部,有的分離出來。
這里就針對系統中的內存,此處選用DRAM來進行說明,講述下基本的原理設計,主要分為以下幾個部分:
(1)DRAM芯片引用
256Mb大小SDRAM:K4S560432E

(2)DRAM引腳類型
A0-A12:地址總線
DQ0-DQ15:數據總線
CLK:系統時鍾
CKE:時鍾使能
RAS#:行地址鎖存
CAS:列地址鎖存
WE#:寫使能
DQM:數據輸入輸出屏蔽
BA0,BA1:塊地址選擇
(3)DRAM原理設計

看完DRAM的接線圖,有沒有什么疑問?
筆者第一次看完就有疑問了,為什么DRAM的地址線A0接的是CPU的LADDR2而不是LADDR0,為什么?
幾經周折,查了資料,找人討論,終於得到了答案,請看下文:
上圖中CPU是32位的數據寬度,即CPU在數據讀寫過程中,一次可以傳輸32位。那圖中一片DRAM肯定是沒法滿足性能最大化了,即使使用一片也可以工作(降低性能),欣慰的是,可以采用兩片並聯的方式進行內存擴展,達到32位傳輸的目的。
那地址線那樣接是什么意思,解釋一下吧!
CPU每次數據傳輸為32位4字節,即存儲單元地址是以4字節遞增的,如下圖。若設計者想要獲取地址0x0000、0x0001、0x0002、0x0003單元的字節,此時需要通過設置地址線來實現,對應A0A1為:00、01、10、11。有沒有發現,這四個字節單元其所在的存儲位置都是CPU可以一次進行讀寫的存儲塊。即無論你要訪問的是這四個字節中的哪一個,最終CPU都是通過地址0x0000來進行操作的,最終再根據你需要的相應字節來截取出來。也就是說,A0、A1的狀態對於CPU訪問的物理空間是沒有影響的。
現在是不是有些理解為什么圖中是從LADDR2開始了。

