arm存儲控制器
⑴ arm中存儲器的實際地址是如何確定的是CPU直接分配好的嗎
存儲器是可以映射成為不同的地址的。
一般來說,ARM處理器由於是32位的,所以可以訪問的地址空間為4G。在這些地址空間內,實際的每個物理存儲器,可以被映射在任意的地址上。你可以查看所使用的CPU手冊來確定,每個存儲器是怎麼被映射的。下面舉個例子說明一下。
ATMEL公司的AT91SAM7S256,ARM7TDMI內核,內部集成256KB Flash和64K SRAM。其中Flash被默認映射在0地址處,也就是說你訪問0x0地址訪問的就是Flash。但是,Flash還有一個地址:0x100000,你訪問這個地址和訪問0x0實際上是一個地方。就好比是你家開了兩個門一樣,入口不同,但是進的地方是一樣的。而SRAM則被映射在0x200000地址處。
系統啟動後,在MCR寄存器內寫入1,這時CPU會調整存儲器的映射關系,會把SRAM映射在0x0地址處,也就是說你現在訪問0x0實際上訪問的是SRAM的0x200000地址。
其他的許多支持外部存儲器的(比如帶NAND Flash控制和SDRAM控制器的)CPU,都可以把外部存儲器映射到4G的地址空間內。它們的說明書絕對會有相對的說明,有一個圖,叫地址空間映射表,你一看就明白了。
⑵ arm的存儲控制器有什麼用分成了8個bank,有什麼好處好像不用存儲控制器也可以接多個外設吧
這8個bank可以分別接8片 片外RAM、FLASH以及其他存儲外設,由於各個外設的匯流排特性不同,所以可以對不同的bank配置不同的匯流排時序。
⑶ arm指的是什麼
arm內核指的是cpu的最主要的部分,包括運算器,控制器,存儲器,是cpu的核心。
ARM 處理器傳統的命名是 ARM + 數字的方式:ARM7、ARM9、ARM11,在 ARM11 以後,ARM 公司使用了新的命名方式:Cortex,對比傳統的方式就應該是 ARM12。想了解可以去創客學院網上了解。