亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1351 | 回復: 0
打印 上一主題 下一主題

ARM基礎入門六 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-06-30 03:01 |只看該作者 |倒序瀏覽

                                ARM存儲系統(tǒng)簡介  
   ARM存儲系統(tǒng)的體系結構適應不同的嵌入式應用系統(tǒng)的需要差別很大。最簡單的存儲系統(tǒng)使用平時的地址映射機制,就像一些簡單的單片機系統(tǒng)中一樣,地址空
間的分配方式是固定的,系統(tǒng)各部分都使用物理地址。而一些復雜系統(tǒng)可能包括下面的一種或幾種技術,從而提供更為強大的存儲系統(tǒng)。
系統(tǒng)中可能包含多種類型的存儲器,如FLASH,ROM,RAM,EEPROM等,不同類型的存儲器的速度和寬度等各不相同。
   通過使用CACHE
及WRITE
BUFFER技術縮小處理器和存儲系統(tǒng)速度差別,從而提高系統(tǒng)的整體性能。內存治理部件通過內存映射技術實現(xiàn)虛擬空間到物理空間的映射。在系統(tǒng)加電時,將
ROM/FLASH影射為地址0,這樣可以進行一些初始化處理;當這些初始化完成后將RAM地址影射為0,并把系統(tǒng)程序加載到RAM中運行,這樣很好地解
決了嵌入式系統(tǒng)的需要。
  
引入存儲保護機制,增強系統(tǒng)的安全性。
   引入一些機制保證I/O操作應設成內存操作后,各種I/O操作能夠得到正確的結果。  
存儲系統(tǒng)相關的程序設計指南 [color="#ffffff"]M開發(fā)論壇
   本節(jié)從外部來看ARM存儲系統(tǒng),及ARM存儲系統(tǒng)提供的對外接口。本節(jié)介紹用戶通過這些接口來訪問ARM存儲系統(tǒng)時需要遵守的規(guī)則。

1.地址空間
   ARM體系使用單一的和平板地址空間。該地址空間大小為2^32個8位字節(jié),這些字節(jié)的單元地址是一個無符號的32位數(shù)值,其
取值范圍為0~2^32-1。ARM地址空間也可以看作是2^30個32位的字單元。這些字單元的地址可以被4整除,也就是說該地址低兩位為0b00。地
址為A的字數(shù)據(jù)包括地址為A、A 1、A 3、A 3 4個字節(jié)單元的內容。各存儲單元的地址作為32為無符號數(shù),可以進行常規(guī)的整數(shù)運算。這些運算的結果進行2^32取模。程序正常執(zhí)行時,每執(zhí)行一條ARM指令,當前指令計數(shù)器加4個字節(jié);每執(zhí)行一條Thumb指令,當前指令計數(shù)器加2個字節(jié)。但是,當?shù)刂飞习l(fā)生溢出時,執(zhí)行結果將是不可預知的。
2.存儲器格式
   在ARM中,假如地址A是字對齊的,有下面幾種:
**地址為A的字單元包括字節(jié)單元A,A 1,A 2,A 3。
**地址為A的班子單元包括字節(jié)單元A,A 1。
**地址為A 2的半字單元包括字節(jié)單元A 2,A=3.
**地址為A的字單元包括半字節(jié)單元A,A 2。
   在big-endian格式中,對于地址為a的字單元其中字節(jié)單元由高位到低位字節(jié)順序為A,A 1,A=2,A 3;這種存儲器格式如下所示:  
31 24 23 16 15 8 70
--------------------------------------------------------------------
字單元A |
--------------------------------------------------------------------
半字單元A | 半字單元A 2 |
--------------------------------------------------------------------
字節(jié)單元A | 字節(jié)單元A 1 | 字節(jié)單元A 2 | 字節(jié)單元A 3|
--------------------------------------------------------------------
   在little-endian格式中,對于地址為A的字單元由高位到低位字節(jié)順序為A 3,A 2,A 1,A,這種存儲格式如下所示 [color="#ffffff"]字串5
31 24 23 16 15 8 70
--------------------------------------------------------------------
字單元A |
--------------------------------------------------------------------
半字單元A 2 | 半字單元A |
--------------------------------------------------------------------
字節(jié)單元A 3 |字節(jié)單元A 2 | 字節(jié)單元A 1 | 字節(jié)單元A |
-------------------------------------------------------------------- [color="#ffffff"]字串
   在ARM系統(tǒng)中沒有提供指令來選擇存儲器格式。假如系統(tǒng)中包含標準的ARM控制協(xié)處理器CP15,則CP15的寄存器C1的位[7]決定系統(tǒng)中存儲
器的格式。當系統(tǒng)復位時,寄存器C1的[7]值為零,這時系統(tǒng)中存儲器格式為little-endian格式。假如系統(tǒng)中采用的是big-endian格
式,則復位異常中斷處理程序中必須設置c1寄存器的[7]位。 [color="#ffffff"]http://www.armforum.cn
3.非對齊的存儲訪問操作
   非對齊:位于arm狀態(tài)期間,低二位不為0b00;位于Thumb狀態(tài)期間,最低位不為0b0。
3.1非對齊的指令預取操作
   假如系統(tǒng)中指定當發(fā)生非對齊的指令預取操作時,忽略地址中相應的位,則由存儲系統(tǒng)實現(xiàn)這種忽略。
3.2非對齊的數(shù)據(jù)訪問操作
   對于LOAD/STORE操作,系統(tǒng)定義了下面3中可能的結果:
***執(zhí)行結果不可預知
***忽略字單元地址低兩位的值,即訪問地址為字單元;忽略半字單元最低位的值,即訪問地址為半字單元。
***由存儲系統(tǒng)忽略字單元地址中低兩位的值,半字單元地址最低位的值。 [color="#ffffff"]字串4
4.指令預取和自修改代碼
   當用戶讀取PC計數(shù)器的值時,ARM返回的是當前指令下面的第二條指令的地址。對于ARM指令來說,返回當前指令地址值加8個字節(jié);對于ARMThumb指令來說,返回值為當前指令地址值加4個字節(jié)。
   自修改代碼指的是代碼在執(zhí)行過程中修改自身。應盡量避免使用。5.存儲器映射的I/O空間.在ARM中,I/O操作通常被影射為存儲器操作。通常需要將存儲器映射的I/O空間設置成非緩沖的。
               
               
               
               
               
               
               

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u2/70832/showart_1069463.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP