關(guān)于2410外部尋址原理
以 S3C2410為例,內(nèi)核提供了32位的地址總線,理論上可以尋址的空間為4GB,但實(shí)際留給外部可尋址的空間只有 1GB,也就是 0X00000000~0X3fffffff,總共應(yīng)該有30根地址線(2^30)引出來。 在這 1GB 的空間,2410 處理器又根據(jù)所支持的設(shè)備的特點(diǎn)將它分為了 8 份,每份空間有 128MB,這每一份的空間又稱為一個(gè) BANK(圖參看手冊,上的memory部分) 。其中 6個(gè)用于ROM、SRAM等存儲(chǔ)器,2個(gè)用于 ROM、SRAM、SDRAM等存儲(chǔ)器。 當(dāng) 2410 對(duì)外尋址時(shí),采用了部分譯碼的方式,即低位地址線用于外圍存儲(chǔ)器的片內(nèi)尋址,而高位地址線用于外圍存儲(chǔ)器的片外尋址。對(duì)于系統(tǒng)要訪問的任意外部地址,2410可以方便地利用內(nèi)部地址總線的高 3 位 ADDR[29:27]來選擇該地址屬于哪一個(gè)存儲(chǔ)器組(Bank),從而激活相應(yīng)的Bank選擇信號(hào)(nGCSx) 。這 8個(gè)片選信號(hào)可以看作是 2410處理器內(nèi)部 30根地址線的最高三位所做的地址譯碼的結(jié)果。正因?yàn)檫@ 3根地址線所代表的地址信息已經(jīng)由 8 個(gè)片選信號(hào)(nGCS7~nGCS0)來傳遞了,因此 2410 處理器最后輸出的實(shí)際地址線就只有A26~A0。 Bank的內(nèi)部尋址由外部地址總線A[26:0]來實(shí)現(xiàn),尋址范圍為 128M(227),從而使得其外圍地址訪問空間為 1GB(128MB×8)。S3C2410正是通過這種機(jī)制來完成外部地址空間的尋址全過程。