引用:
作者Timwel
怎麼說來說去好像沒有人解決我的問題呢?
簡單來說,當CPU輸出的位址,是以32bit資料為一個位址,還是8bit資料?
如果是32bit,那,所有可能的位址就有4G空間了,再乘上32bit,應為16GB。
又如果是8bit為一個位址,就表示他一次傳輸CPU所要求的位址開始的四個8bit了喔?
我看了Intel的486電路範本,DRAM控制器仍為8bit,對CPU才是32匯流排,那應該如此喔?
|
位置是以BYTE為單位,所以4GB就是4GBYTES=4*8Gbits=.....類推,同理一個RAM上面標示128KB*16,它有多大? 256KB(*16是指16bit)。
另外32bit CPU存取32bit時,若起頭位置可被4整除,那CPU可做一次,不然要分2次,這動作寫程式的人都知,叫"對齊"。
"DRAM控制器仍為8bit" 不一定,要視USER一次存取多大的資料量(1,2,3,4BYTE),CPU有支腳叫 AEL 的樣子(有點忘了),它就是專門作這類的訊號輸出(可能有2腳 AEL0/AEL1)