在介紹arm體系結構中的儲存系統之前,先簡單介紹一下arm程式設計模型中與儲存系統相關的一些概念。arm體系結構使用單一的平板位址空間,該位址空間的範圍大小為232個8位位元組。這些位元組單元的位址是乙個無符號的32位數值,其取值範圍為0~232-1。有了儲存系統的定址範圍之後,還需要討論一下實際儲存系統中的大/小端格式及arm體系結構中的mmu等概念。
1.arm儲存系統中的大/小端
在arm體系結構中,每個字單元包含4位元組單元或者2個半字單元,1個半字單元包含2位元組單元。但是在字單元中,4位元組哪乙個是高位位元組,哪乙個是低位位元組則有兩種不同的格式,通常稱為大端格式或者小端格式,也就是big-endian格式和little-endian格式。大/小端的選擇對於不同的晶元來說有一些不同的選擇方式,一般都可以通過外部的引腳或內部的暫存器來選擇。具體要參見處理器的資料手冊。
在大端模式下的儲存格式如下所示。
31 24 23 16 15 8 7 0
字單元a
半字單元a
半字單元a+2
位元組單元a
位元組單元a+1
位元組單元a+2
位元組單元a+3
而在小端模式下的儲存格式如下所示。
31 24 23 16 15 8 7 0
字單元a
半字單元a+2
半字單元a
位元組單元a+3
位元組單元a+2
位元組單元a+1
位元組單元a
非對齊的儲存訪問操作:在arm體系結構中通常希望字單元的位址是字對齊的(位址的低兩位是0b00),半字單元的位址是半字對齊的(位址的最低位為0b0),但在儲存單元中位址沒有遵守上述的對齊規則,稱為非對齊的儲存訪問操作,在arm體系結構的偽指令集中有專門的align指令來指定對齊格式。
在arm體系結構中允許指令預取,在cpu執行當前**的同時,可以從儲存器中預取其後若干條指令,具體預取多少條指令則由不同的arm處理器核心的實現來決定。
2.arm體系結構中的mmu
另外乙個重要的概念就是mmu(memory manager unit)。arm儲存系統的體系結構適應不同的嵌入式系統應用,它的差別很大。最簡單的儲存系統使用平板式的位址對映機制,位址空間的分配是固定的,系統中各部分都使用實體地址,這樣的處理器不帶mmu。而一些複雜的系統可能包含一種或多種下面提到的技術,從而提供功能更為強大的儲存系統。
(1)系統中可能包含多種型別的儲存器件,一般都有flash、sram、sdram等介面。
(2)使用指令/資料cache及write buffer技術縮小處理器和儲存系統速度差別,從而提高系統的整體效能。
(3)系統中包含有mmu單元。
mmu使用記憶體對映技術實現虛擬空間到物理空間的對映,這種對映機制對於嵌入式系統尤其重要。通常程式放在rom/flash中,這樣系統掉電後程式能夠儲存。但是rom/flash比sdram速度慢很多,而且在嵌入式系統中,中斷向量表存放在ram中,不過利用記憶體對映就可以解決這種問題。在系統加電時將rom/flash位址對映到0x00000000,在0x00000000位址處存放啟動**,來完成系統裝置的初始化,之後再把核心程式載入到sdram,然後把位址對映到sdram的位址,跳轉到sdram位址執行就可以了。
針對具有mmu的arm處理器可以移植linux for arm作業系統,針對沒有mmu的處理器,一般都是移植uclinux for arm。比如說samsung公司的s3c4510、s3c2510都是不帶mmu的處理器,只能移植uclinux,而針對s3c2410、pxa27x、omap591x等帶有mmu單元的arm處理器通常都可以移植linux作業系統。帶有mmu的處理器內部都有用於儲存管理的系統控制協處理器cp15,在移植嵌入式作業系統的boot loader時,必須要對儲存管理單元進行初始化設定。
3.快速上下文切換技術
fcse(fast context switch extension)技術通過修改系統中不同程序的虛擬位址,避免在程序間切換時造成的虛擬位址到實體地址的重對映,從而提高系統的效能。通常fcse位於cpu和mmu之間,其責任就是將不同程序使用的相同虛擬位址對映為不同的虛擬空間,使得在上下文切換時無須重建tlb等。
ARM體系結構
arm是 advanced risc machines 高階精簡指令系統處理器 的縮寫,是arm公司提供的一種微處理器智財權 ip 核 arm既可以認為是乙個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字 arm微處理器的特點 1 體積小 低功耗 低成本 高效能 2 支援t...
ARM體系結構
一 arm公司簡介 arm公司成立於1990年11月,主要設計arm系列risc處理器核心 arm公司主要做授權,不生產任何一款具體的晶元。二 arm公司產業鏈 arm 將技術授權給合作廠商 廠商 生產各具特色的具體晶元,廠商就包括飛利浦 英特爾 三星等 三 arm微處理器的應用領域 工業控制 無線...
ARM體系結構
arm 核心採用精簡指令集結構 risc,reduced instruction set computer 體系結構。其目標是設計出一套能在高時鐘頻率下單週期執行 簡單而有效的指令集,risc 的設計重點在於降低硬體執行指令的複雜度,這是因為軟體比硬體容易提供更大的靈活性和更高的智慧型。與其相對的傳...