2440 位址空間的說明

2021-06-01 06:18:15 字數 947 閱讀 1541

**:

2440這是一款32位的cpu,照理說,它是可以定址4g的位址空間的。但是,晶元引腳上,只給出了27根位址線。這27根引腳,是a0~a26。因此單靠晶元上的 27 根引腳,它只能控制 128m 的空間。那總共的 4g 空間,晶元引腳才用了128m,剩下的在**?

實際上,在cpu晶元手冊上,查它的內部暫存器的位址,我們可以找到一部分答案。比如這次總結筆記要講的儲存器控制暫存器,13 個暫存器,每個暫存器的位址,都大於0x4000 0000的位址。而0x4000 0000 這個位址,是1g空間的分界線。也就是說,1g~3g之間的空間,實際上都是被晶元自己占用了。實際上,給使用者的使用的空間,只有 1g.。我們剛才說了,我們使用了 128m,用了27根位址線。而1g空間,需要30根位址線。剩下的3根用在什麼地方?

查了資料,突然明白了。這三根,被三星公司偷偷地用在了3-8解碼器的輸入端去了。而這個3-8解碼器的輸出端,就是對應這ngcs 0~7,對應著8個bank。好了,很明顯了,三星的 2440 留給使用者使用的這 1g 空間,27 根線用於晶元引腳來控制具體的bank 了,剩下的三根,用於選擇當前處於哪個bank。

另外,說到這個位址線,我想起 2440 與 sdram 晶元連線的時候,位址線的連線還是有點說法的。2440用位址線a2 去連線sdram 晶元的a0。很奇怪,是吧,以前我也做硬體設計,pcb 板子畫過 n 個了,從來都是位址線 a0 接 a0的。這次,2440的a1,a0 怎麼不用了?

唉,2440 就是麻煩!它自以為自己是 32 位 cpu,所以對外訪問的時候,都以字為單位。如果都認為自己要訪問的位址都是字對齊的,那當然 a0 和 a1 就沒用了。可惜啊,外設晶元,比如 flash,比如 sdram,他們的匯流排可不是 32位的,他們有8位寬的,有16位寬的,也有32位寬的。 哦,現在2440發現這個問題了,那就給出乙個解決方法吧。所以就在 2440的引腳上,多出了乙個nwbe[3:0]這4個引腳,用於識別位元組使能的。這樣,就能對付8位和16位的外設了。

S3C2440位址空間的分配與啟動

一 s3c2440位址空間的分配 1.s3c2440a 的儲存器控制器有以下特性 大小端 通過軟體選擇 可程式設計的訪問位寬,bank0 16 32 位 其他bank 8 16 32 位 共8個儲存器banks 6個是rom,sram 等型別儲存器bank 2個是可以作為rom sram sdram...

MTK6253位址空間

mtk6253位址空間 mtk系統儲存主要有rom,extern sram,internal sram,最近對位址進行了分析,可以對對系統的理解有幫助。rom size 14mbyte 開始位址0x0000 0000 系統code,data區域 結束位址0x00e0 0000 external sr...

3 2 7 位址翻譯

有乙個tlb與乙個data cache 儲存器以位元組為編址單位 虛擬位址14位 實體地址12位 頁面大小為64位元組 tlb為四路相連,共有16個條目 data cache是物理定址,直接對映的,行大小為4個位元組,總共有16個組 寫出訪問位址0x03d4,0x00f1和0x0229的過程 因為本...