由于S3C2410是32位處理器(指令一次能夠操作32位數(shù)據(jù)(運算器一次可以處理32位數(shù)據(jù));通用寄存器多是32位寄存器;處理器內(nèi)部數(shù)據(jù)通道也是32位的;處理器外部數(shù)據(jù)總線寬度通常是32位的,地址總線寬度只是代表CPU尋址范圍大小,與CPU是多少位的無關,也即32位CPU的地址總線不一定是32根的,例如對于s3c2410,每一個Bank對應27根地址線,尋址能力為128MB,全部8個Bank總的尋址能力為1GB),所以為了最大限度的發(fā)揮其性能,內(nèi)存最好也是32位(指數(shù)據(jù)寬度)的,(當然,在s3c2410的8個bank中,除了Bank0只能選擇16/32數(shù)據(jù)位寬外,其余的7個Bank均可以單獨選擇8/16/32位寬的存儲系統(tǒng))然而市面上很少有32位寬度的單片SDRAM,所以一般都采取兩片16位的SDRAM進行位擴展得到32位的SDRAM。
由上兩圖可見,本系統(tǒng)擴展后的內(nèi)存系統(tǒng)為16M×32Bit的(此處32Bit是指數(shù)據(jù)位寬度,而非地址位,可以理解SDRAM數(shù)據(jù)位寬度與地址線的條數(shù)無關,明白數(shù)據(jù)線和地址線的區(qū)別,對于下面地址線的連接方式的理解非常重要)。
一、A0~A12地址線
首先要明白這一點,在CPU的尋址空間中,字節(jié)(8位)是表示存儲容量的唯一單位。(所以為什么對于51單片機來說,其16根地址線的尋址能力為64KB,注意:其單位是Byte—字節(jié))
而對于上述已經(jīng)進行擴展了的32位SDRAM存儲系統(tǒng),可以認為它的每一個存儲單元都是4個字節(jié)的(單位是4個字節(jié)=1個字),因此當它的地址線A1:A0=01時,處理器上對應的地址線應為A3:A2=01(因為CPU的尋址空間是以Byte為單位的)。
正因為如此,SDRAM的A0引腳接到了S3C2410的A2地址線上。
以此類推,SDRAM的A12~A1引腳依次接到了2410的A14~A3地址線上。
可以認為將CPU地址線左移兩位,即乘以4(32/8)。
同樣的,對于16位數(shù)據(jù)位寬的SDRAM系統(tǒng)而言,需要將SDRAM的A0引腳連接到2410的A1地址線上面。
二、BA0~BA1地址線
K4S561632D是4M×16Bit×4Banks,共32MB
DRAM芯片在構造上的特點是,芯片上的地址引腳是復用的。(在存取DRAM芯片的某單元時,其操作過程是將存取的地址分兩次輸入到芯片中,每一次都由同一組地址線輸入。兩次送到芯片上去的地址分別稱為行地址和列地址,它們被鎖存到芯片內(nèi)部的行地址鎖存器和列地址鎖存器中??梢韵胂?,在芯片內(nèi)部,各存儲單元是按照矩陣結構排列的。行地址信號通過片內(nèi)譯碼選擇一行,列地址信號通過片內(nèi)譯碼選擇一列,這樣就決定了選中的單元)。/RAS是行地址鎖存信號,該信號將行地址鎖存在芯片內(nèi)部的行地址鎖存器中;/CAS是列地址鎖存信號,該信號將列地址鎖存在芯片內(nèi)部的列地址鎖存器中。
K4S561632D共有13根地址線(A0~A12)。行地址線為A0~A12,共13根;列地址線為A0~A8,共9根,可見K4S561632D一個Bank的存儲容量為213×29=222=4M。(對于DRAM來說,13根地址線的最大編址空間為226=64M,可見此處K4S561632D還是留有余量的,其最大容量可以擴充到64M)
BA0~BA1是Bank選擇地址線。Banks可以理解為一片16M×16Bit的K4S561632D內(nèi)部是由4片容量為4M的16BitSDRAM擴展而成的,即16M×16Bit=4M×4Banks×16Bit。BA0~BA1即為該4片SDRAM的片選信號??梢夿A0~BA1代表了K4S561632D的最高位。
K4S561632D芯片管腳說明
綜上,BA0~BA1代表了SDRAM的最高地址位。因為CPU的尋址空間是以字節(jié)(Byte)為單位的,本系統(tǒng)SDRAM容量為16MWord=64MByte,那就需要A25~A0(64M=226)地址線來尋址,所以BA1~BA0地址線應該接到2410的A25~A24引腳上。
當然,由上面分析可知,DRAM內(nèi)存的地址線是行地址線與列地址線復用的,所以地址線的數(shù)目并不需要26條。
三、DQM信號
如前所述,32位的SDRAM存儲單元以4Byte為單位進行數(shù)據(jù)訪問的時候,內(nèi)存會忽略CPU的A1和A0地址線(事實上,2410的A1和A0地址線也根本沒接到SDRAM的芯片上)。
但是處理器如果需要訪問地址偏移量為01的單個字節(jié),就需要DQM(DataMask)信號進行幫助,這個信號接在2410的nWEB線上。DQM信號由處理器根據(jù)當前的訪問情況發(fā)出,如果當前的訪問只需要低16字節(jié),那么nWEB0和nWEB1線就會有效。