网站大量收购独家精品文档,联系QQ:2885784924

嵌入式系统概论-以S3C2440核心为架构copyright@许永和位元组定址.ppt

嵌入式系统概论-以S3C2440核心为架构copyright@许永和位元组定址.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统概论-以S3C2440核心为架构copyright@许永和位元组定址.ppt

第2章 嵌入式微處理器-ARM;大綱;大綱;ARM微處理器的工作狀態一般有兩種 : ARM狀態,此時處理器執行32位元的字對齊的ARM指令。 Thumb狀態,此時處理器執行16位元,半字元組對齊的Thumb指令。 在程式的執行過程中,微處理器可以隨時在兩種工作狀態之間切換,並且處理器工作狀態的轉變並不影響處理器的工作模式和相應暫存器中的內容。 ;範例程式片段: .code 32 // 從此處起的程式以ARM指令集編譯 bx r0 // 若r0[31:1]為位址label1,r0[0]為1,當跳躍 //至label1處執行時,切換為Thumb指令集態 .code 16 // 指示從此處的程式為Thumb指令集狀態 label1 : // label1程式進入點;大綱;ARM系列結構將記憶體看作是從零位址開始的位元組之線性組合的方式。 從零位元組到三位元組放置第一個記憶體的字元組資料 從第四個位元組到第七個位元組放置第二個記憶體的字元組資料,依次排列。 32位元的微處理器,ARM系列結構所支援的最大定址空間為4GB(232位元組)。;位元組定址若是無號數的話,可定址的範圍:0~232 –1。 可視為230個32位元組,以字元對齊(word-aligned)的話,則位址可被4整除。 字元組對齊的A,是由A,A+1,A+2,A+3位元組所組成。 V4以上的版本,定址空間可視為由231個16位元的半位元組所組成。 若是半字元組對齊(halfword-aligned)的話,則位址可被2整除,且半字元組對齊的A,是由A,A+1位元組所組成。;而在ARM系列結構可以用兩種方法存取字元組資料 大端(Big Endian)格式 在這種格式中,字元組資料的高位元組是存儲在低位址中,而字元組資料的低位元組則存放在高位址中,如圖2.1所示。這一系列的微處理器以Motorola系列的晶片組為主要的代表。 字元組對齊的位元組或是半字元組是該位址的最高有效的位元組或是半字元組。 半字元組對齊的位元組是該位址的半字元組的最高有效的位元組。 ;而在ARM系列結構可以用兩種方法存取字元組資料 小端(Little Endian)格式 與大端存儲格式相反,在小端存儲格式中,低位址中存放的是字元組資料的低位元組,高位址存放的是字元組資料的高位元組。這一系列的微處理器以Atmel系列的晶片組為主要的代表。 字元組對齊的位元組或是半字元組是該位址的最低有效的位元組或是半字元組。 半字元組對齊的位元組是該位址的半字元組的最低有效的位元組。;大綱;ARM微處理器的指令長度可以是32位元(在ARM狀態下),也可以為16位元(在Thumb狀態下)。 ARM微處理器中支援位元組(8位元),半字元組(16位元)以及字元組(32位元)三種資料類型。其中,字需要4位元組對齊(位址的低兩位元為0),半字元組需要2位元組對齊(位址的最低位為0)。;大綱;ARM微處理器支援7種執行模式,分別為: 使用者模式(User Mode,usr):ARM微處理器正常的程式執行狀態 快速中斷模式(Fast Interrupt Request Mode,FIQ):應用於高速資料傳輸或通道處理。 外部中斷模式(Interrupt Request Mode,IRQ):用於通用的中斷處理。 管理者模式(Supervisor Mode,SVC):作業系統使用的保護模式。 中止模式(Abort Mode,ABT):當資料或指令預取終止時進入該模式,可用於虛擬儲存及儲存保護。 系統模式(System Mode,sys):執行具有特權的作業系統任務。 未定義指令中止模式(UNDefined Mode,UND):當未定義的指令執行時進入該模式,可用於支援硬體輔助運算器的軟體除錯。;大綱;整個ARM微處理器的暫存器中,共有37個32位元暫存器,其中31個為通用暫存器,6個為程式狀態暫存器。 暫存器是不能被同時被存取,至於哪些暫存器是可編程存取的,則取決於微處理器的工作狀態以及目前的執行模式。 任何時刻,通用暫存器R0~R14、程式計數器PC、一個或兩個程式狀態暫存器都是可存取的。;通用暫存器包括R0~R15,可以分為三類: 未分區塊暫存器R0~R7: 在所有的執行模式下,未分區塊暫存器都指向同一個實體暫存器,他們未被系統用作特殊的用途。但是在中斷或例外事件處理進行執行模式轉換時,由於不同的處理器執行模式均使用相同的實體暫存器,可能會造成暫存器中資料被破壞或是被更改。;分區塊暫存器R8~R14 對於分區塊暫存器,他們每一次所存取的實體暫存器與處理器目前的執行模式有關。 對於R8~R12來說,每個暫存器對應兩個不同的實體暫存器。例如,當使用FIQ模式時,存取暫存器是R8_FIQ~R12_FIQ;

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档