




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第2章ARM微處理器基礎(chǔ) 吉林大學(xué)珠海學(xué)院文全剛教學(xué)目的 掌握嵌入式系統(tǒng)的基本概念 掌握ARM技術(shù)的發(fā)展過(guò)程 掌握ARM微處理器的基本結(jié)構(gòu)教學(xué)內(nèi)容 2.1 嵌入式系統(tǒng)概述 2.2 ARM概述 2.3 ARM內(nèi)核的特點(diǎn) 2.4 基于ARM核的微處理器 2.5 ARM寄存器 2.6 ARM的存儲(chǔ)系統(tǒng)簡(jiǎn)介 2.1 嵌入式系統(tǒng)概述 2.1.1嵌入式系統(tǒng)的基本概念 2.1.2嵌入式系統(tǒng)的發(fā)展 2.1.3嵌入式系統(tǒng)的組成結(jié)構(gòu) 2.1.4嵌入式處理器 2.1.5典型嵌入式處理器介紹 2.1.1嵌入式系統(tǒng)的基本概念 根據(jù)IEEE的定義,嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置”(原文為device
2、s used to control, monitor, or assist the operation of equipment, machinery or plants)。這主要是從應(yīng)用上加以定義的,從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。 不過(guò)上述定義并不能充分體現(xiàn)出嵌入式系統(tǒng)的精髓,目前國(guó)內(nèi)一個(gè)普遍被認(rèn)同的定義是:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。 嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應(yīng)用的, 嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)、電子技術(shù)和各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后
3、的產(chǎn)物, 嵌入式系統(tǒng)必須根據(jù)應(yīng)用需求對(duì)軟硬件進(jìn)行裁剪,滿足應(yīng)用系統(tǒng)的功能、可靠性、成本、體積等要求。 嵌入式系統(tǒng)的幾個(gè)重要特征: 系統(tǒng)內(nèi)核小 專用性強(qiáng) 系統(tǒng)精簡(jiǎn) 高實(shí)時(shí)性的系統(tǒng)軟件 多任務(wù)的操作系統(tǒng) 需要專用的開(kāi)發(fā)工具和環(huán)境。 2.1.2嵌入式系統(tǒng)的發(fā)展 第一階段是以單芯片為核心的可編程控制器形式的系統(tǒng); 第二階段是以嵌入式CPU為基礎(chǔ)、以簡(jiǎn)單操作系統(tǒng)為核心的嵌入式系統(tǒng); 第三階段是以嵌入式操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng); 第四階段是以Internet為標(biāo)志的嵌入式系統(tǒng) 。發(fā)展趨勢(shì) 系統(tǒng)化 網(wǎng)絡(luò)化 低成本 人機(jī)界面友好 2.1.3嵌入式系統(tǒng)的組成結(jié)構(gòu) 嵌入式系統(tǒng)是軟件硬件結(jié)合緊密的系統(tǒng),一般而言,
4、嵌入式系統(tǒng)的構(gòu)架可以分成四個(gè)部分:處理器、存儲(chǔ)器、輸入輸出(I/O)和軟件, 硬件 硬件架構(gòu)如圖2-1下半部分所示,是以嵌入式處理器為中心,由存儲(chǔ)器、I/O設(shè)備、通信模塊以及電源等必要輔助接口組成。嵌入式系統(tǒng)不同于普通計(jì)算機(jī)組成,是量身定做的專用計(jì)算機(jī)應(yīng)用系統(tǒng),在實(shí)際應(yīng)用中的嵌入式系統(tǒng)硬件配置非常精簡(jiǎn),除了微處理器和基本的處圍電路以外,其余的電路都可根據(jù)需求和成本進(jìn)行裁剪、定制,非常經(jīng)濟(jì)、可靠。 嵌入式系統(tǒng)的硬件核心是嵌入式微處理器,有時(shí)為了提高系統(tǒng)的信息處理能力,常外接DSP和DSP協(xié)處理器(也可內(nèi)部集成),以完成高性能信號(hào)處理。軟件 1.設(shè)備驅(qū)動(dòng)層 設(shè)備驅(qū)動(dòng)層是嵌入式系統(tǒng)中必不可少的重要部
5、分,使用任何外部設(shè)備都需要有相應(yīng)驅(qū)動(dòng)程序的支持,它為上層軟件提供了設(shè)備的操作接口。上層軟件不用理會(huì)設(shè)備的具體內(nèi)部操作,只需調(diào)用驅(qū)動(dòng)層程序提供的接口即可。驅(qū)動(dòng)層一般包括硬件抽象層HAL、板級(jí)支持包BSP和設(shè)備驅(qū)動(dòng)程序。 2.實(shí)時(shí)操作系統(tǒng)RTOS 對(duì)于使用操作系統(tǒng)的嵌入式系統(tǒng)而言,操作系統(tǒng)一般以內(nèi)核映像的形式下載到目標(biāo)系統(tǒng)中 3.操作系統(tǒng)的應(yīng)用程序接口API API(Application Programming Interface應(yīng)用程序接口),是一系列復(fù)雜的函數(shù)、消息和結(jié)構(gòu)的集合體。嵌入式操作系統(tǒng)下的API和一般操作系統(tǒng)下的API在功能、含義及知識(shí)體系上完全一致。 4.應(yīng)用程序 實(shí)際的嵌入式系
6、統(tǒng)應(yīng)用軟件建立在系統(tǒng)的主任務(wù)(Main Task)基礎(chǔ)之上。用戶應(yīng)用程序主要通過(guò)調(diào)用系統(tǒng)的API函數(shù)對(duì)系統(tǒng)進(jìn)行操作,完成用戶應(yīng)用功能開(kāi)發(fā)。在用戶的應(yīng)用程序中,也可創(chuàng)建用戶自己的任務(wù)。任務(wù)之間的協(xié)調(diào)主要依賴于系統(tǒng)的消息隊(duì)列 2.1.4嵌入式處理器 各式各樣的嵌入式處理器是嵌入式系統(tǒng)硬件中最核心的部分,而目前世界上具有嵌入式功能特點(diǎn)的處理器已經(jīng)超過(guò)1000種,流行體系結(jié)構(gòu)包括MCU,MPU等30多個(gè)系列。鑒于嵌入式系統(tǒng)廣闊的發(fā)展前景,很多半導(dǎo)體制造商都大規(guī)模生產(chǎn)嵌入式處理器,并且公司自主設(shè)計(jì)處理器也已經(jīng)成為了未來(lái)嵌入式領(lǐng)域的一大趨勢(shì),其中從單片機(jī)、DSP到FPGA有著各式各樣的品種,速度越來(lái)越快,
7、性能越來(lái)越強(qiáng),價(jià)格也越來(lái)越低。 2.1.5典型嵌入式處理器介紹 1.MIPS處理器 2.PowerPC處理器 3.Sparc處理器 4.ARM處理器 2.2 ARM概述 2.2.1計(jì)算機(jī)體系結(jié)構(gòu)的分類 2.2.2 ARM技術(shù)的發(fā)展過(guò)程 2.2.1計(jì)算機(jī)體系結(jié)構(gòu)的分類 1馮.諾依曼體系結(jié)構(gòu) 數(shù)據(jù)和指令都存儲(chǔ)在一個(gè)存儲(chǔ)器中的計(jì)算機(jī)稱為馮.諾依曼機(jī)。這種結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)由一個(gè)中央處理器單元(CPU)和一個(gè)存儲(chǔ)器組成。 2哈佛體系結(jié)構(gòu) 哈佛結(jié)構(gòu)為數(shù)據(jù)和程序提供了各自獨(dú)立的存儲(chǔ)器,程序計(jì)數(shù)器只指向程序存儲(chǔ)器而不指向數(shù)據(jù)存儲(chǔ)器, 1馮.諾依曼體系結(jié)構(gòu)2哈佛體系結(jié)構(gòu)2.2.2 ARM技術(shù)的發(fā)展過(guò)程2.3 A
8、RM內(nèi)核的特點(diǎn) 2.3.1 RISC技術(shù) 2.3.2流水線技術(shù) 2.3.3超標(biāo)量技術(shù) 2.3.1 RISC技術(shù) RISC結(jié)構(gòu)優(yōu)先選取使用頻率最高的簡(jiǎn)單指令,避免復(fù)雜指令;將指令長(zhǎng)度固定,指令格式和尋址方式種類減少;以控制邏輯為主,不用或少用微碼控制等措施來(lái)達(dá)到上述目的。2.3.2流水線技術(shù) 基于3級(jí)(ARM7)、5級(jí)(ARM9)流水線體系結(jié)構(gòu)的ARM處理器核。 簡(jiǎn)單的3級(jí)流水線如下: 取指級(jí)。取指級(jí)完成程序存儲(chǔ)器中指令的讀取,并放入指令流水線中。 譯碼級(jí)。對(duì)指令進(jìn)行譯碼,為下一周期準(zhǔn)備數(shù)據(jù)路徑需要的控制信號(hào)。這一級(jí)指令“占有”譯碼邏輯,而不“占有”數(shù)據(jù)路徑。 執(zhí)行級(jí)。指令“占有”數(shù)據(jù)路徑,寄存
9、器堆棧被讀取,操作數(shù)在桶式移位器中被移位,ALU產(chǎn)生相應(yīng)的運(yùn)算結(jié)果并寫(xiě)回到目的寄存器中,ALU結(jié)果根據(jù)指令需求更改狀態(tài)寄存器的條件位。 在3級(jí)流水線的執(zhí)行過(guò)程中,當(dāng)通過(guò)R15寄存器直接訪問(wèn)PC時(shí),必須考慮此時(shí)流水線執(zhí)行過(guò)程的真實(shí)情況。程序計(jì)數(shù)器R15(PC)總是指向取指的指令,而不是指向正在執(zhí)行的指令或正在譯碼的指令。一般情況下,人們總是習(xí)慣把正在執(zhí)行的指令作為參考點(diǎn),稱為當(dāng)前第1條指令,因此,PC總是指向第3條指令。 對(duì)于ARM指令,有: PC值當(dāng)前程序執(zhí)行位置8 對(duì)于Thumb指令,則有: PC值當(dāng)前程序執(zhí)行位置42.3.3超標(biāo)量技術(shù) 超標(biāo)量技術(shù)就是通過(guò)重復(fù)設(shè)置多套指令執(zhí)行部件,同時(shí)處理并
10、完成多條指令,實(shí)現(xiàn)并行操作來(lái)達(dá)到提高處理速度的目的。目前,所有的ARM內(nèi)核,包括流行的ARM7、ARM9和ARM11等,都是單周期指令機(jī)。ARM公司的下一代處理器將是每周期能處理多重指令的超標(biāo)量機(jī)。超標(biāo)量機(jī)能在一個(gè)時(shí)鐘周期內(nèi)同時(shí)執(zhí)行多條指令,因而CPU的效率得到大大地提高。2.4 基于ARM核的微處理器 2.4.1基于ARM核的硬件結(jié)構(gòu) 2.4.2 ARM核的數(shù)據(jù)流模型 2.4.3 ARM處理器工作模式和工作狀態(tài) 2.4.1基于ARM核的硬件結(jié)構(gòu) ARM處理器 控制整個(gè)器件。有多種版本的ARM處理器,以滿足不同的處理特性。一個(gè)ARM處理器包含了一個(gè)內(nèi)核以及一些外圍部件,它們之間由總線連接。這些
11、部件可能包括存儲(chǔ)器管理和Cache。 控制器 協(xié)調(diào)系統(tǒng)的重要功能模塊。兩個(gè)最常見(jiàn)的控制器是中斷控制器和存儲(chǔ)器控制器。 外設(shè)接口部件 提供芯片與外部的所有輸入/輸出功能,器件之間的一些獨(dú)有特性就是靠不同的外設(shè)接口功能來(lái)體現(xiàn)的 總線 用于在器件不同部件之間進(jìn)行通信 ARM處理器中廣泛使用的總線結(jié)構(gòu)稱為高級(jí)微控制總線結(jié)構(gòu)(AMBA)。最初的AMBA總線包含ARM系統(tǒng)總線(ASB)和ARM外設(shè)總線(APB)。之后又提出一種稱為ARM高性能總線(AHB)。圖2-6所示的器件中有3條總線:一條AHB總線連接高性能的片內(nèi)外設(shè)接口;一條APB總線連接較慢的片內(nèi)外設(shè)接口;第3條總線用于連接片外外設(shè),這條外部總線
12、需要一個(gè)特殊的橋,用于和AHB總線連接。 2.4.2 ARM核的數(shù)據(jù)流模型 數(shù)據(jù)通過(guò)數(shù)據(jù)總線進(jìn)入處理器核,這里所指的數(shù)據(jù)可能是一條要執(zhí)行的指令或一個(gè)數(shù)據(jù)項(xiàng)。指令譯碼器在指令執(zhí)行前先將它們翻譯。每一條可執(zhí)行指令都屬于一個(gè)特定的指令集。與所有的RISC處理器一樣,ARM處理器采用Loadstore體系結(jié)構(gòu)。這就意味著它只有兩種類型的指令用于把數(shù)據(jù)移入/移出處理器:load指令從存儲(chǔ)器復(fù)制數(shù)據(jù)到內(nèi)核的寄存器;反過(guò)來(lái),store指令從寄存器里復(fù)制數(shù)據(jù)到存儲(chǔ)器。沒(méi)有直接操作存儲(chǔ)器的數(shù)據(jù)處理指令,因此數(shù)據(jù)處理只能在寄存器里進(jìn)行。由于ARM內(nèi)核是32位處理器,大部分指令認(rèn)為寄存器中保存的是32位有符號(hào)或無(wú)符
13、號(hào)數(shù)。當(dāng)從存儲(chǔ)器讀取數(shù)據(jù)至一個(gè)寄存器時(shí),符號(hào)擴(kuò)展硬件會(huì)把8位和16位的有符號(hào)數(shù)轉(zhuǎn)換成32位。 2.4.3 ARM處理器工作模式和工作狀態(tài) 1處理器工作模式 2處理器工作狀態(tài)1處理器工作模式 ARM微處理器支持7種工作模式,分別為: 用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài) 快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理 外部中斷模式(irq):用于通用的中斷處理 管理模式(svc):操作系統(tǒng)使用的保護(hù)模式 中止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。 未定義指令模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,用于支持硬件協(xié)處理器的軟件仿真。 系統(tǒng)
14、模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。2處理器工作狀態(tài) 自從ARM7TDMI核產(chǎn)生后,體系結(jié)構(gòu)中具有T變種的ARM處理器核可工作在兩種狀態(tài),并可在兩種狀態(tài)之間切換: ARM狀態(tài):ARM微處理器執(zhí)行32位的ARM指令集。 Thumb狀態(tài):ARM微處理器執(zhí)行16位的Thumb指令集 2.5 ARM寄存器 2.5.1通用寄存器 2.5.2狀態(tài)寄存器 2.5.3Thumb寄存器 2.5.1通用寄存器 未分組寄存器 分組寄存器 程序計(jì)數(shù)器1.未分組寄存器 未分組寄存器包括R0R7,在所有工作模式下,未分組寄存器都指向同一個(gè)物理寄存器,他們未被系統(tǒng)用作特殊的用途,因此,在中斷或異常處理進(jìn)行工作模式轉(zhuǎn)
15、換時(shí),由于不同的處理器工作模式均使用相同的物理寄存器,可能會(huì)造成寄存器中數(shù)據(jù)的破壞,這一點(diǎn)在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)引起注意 2.分組寄存器 分組寄存器包括R8R14,對(duì)于分組寄存器,他們每一次所訪問(wèn)的物理寄存器與處理器當(dāng)前的工作模式有關(guān)。如圖2-9所示。對(duì)于R8R12來(lái)說(shuō),每個(gè)寄存器對(duì)應(yīng)兩個(gè)不同的物理寄存器,當(dāng)使用fiq模式時(shí),訪問(wèn)寄存器R8_fiqR12_fiq;當(dāng)使用除fiq模式以外的其它模式時(shí),訪問(wèn)寄存器R8_usrR12_usr。3.程序計(jì)數(shù)器 寄存器R15用作程序計(jì)數(shù)器(PC)。用于控制程序中指令的執(zhí)行順序。正常運(yùn)行時(shí),PC指向CPU運(yùn)行的下一條指令。每次取指后PC的值會(huì)自動(dòng)修改以指向下一
16、條指令,從而保證了指令按一定的順序執(zhí)行。當(dāng)程序的執(zhí)行順序發(fā)生改變(如轉(zhuǎn)移)時(shí),需要修改PC的值。R15雖然也可用作通用寄存器,但一般不這么使用,因?yàn)閷?duì)R15的使用有一些特殊的限制,當(dāng)違反了這些限制時(shí),程序的執(zhí)行結(jié)果是未知的。2.5.2狀態(tài)寄存器 ARM體系結(jié)構(gòu)包含一個(gè)當(dāng)前程序狀態(tài)寄存器CPSR (R16)和五個(gè)備份的程序狀態(tài)寄存器(SPSRs)。CPSR可在任何工作模式下被訪問(wèn),用來(lái)保存ALU中的當(dāng)前操作信息、控制允許和禁止中斷、設(shè)置處理器的工作模式等。備份的程序狀態(tài)寄存器用來(lái)進(jìn)行異常處理。程序狀態(tài)寄存器的基本格式如圖2-10所示: 1.條件碼標(biāo)志2.控制位 (1)中斷禁止位 中斷禁止位包括I
17、、F,用來(lái)禁止或允許IRQ和FIQ兩類中斷,當(dāng)I=1時(shí),表示禁止IRQ中斷,I=0時(shí),表示允許IRQ中斷;當(dāng)F=1時(shí),表示禁止FIQ中斷,F(xiàn)=0時(shí),表示允許FIQ中斷。 (2)T標(biāo)志位 T標(biāo)志位用來(lái)標(biāo)識(shí)/設(shè)置處理器的工作狀態(tài)。對(duì)于ARM體系結(jié)構(gòu)v4及以上的版本的T系列處理器,當(dāng)該位為1時(shí),程序運(yùn)行于Thumb狀態(tài);當(dāng)該位為0時(shí),表示運(yùn)行于ARM狀態(tài)。ARM指令集和Thumb指令集均有切換處理器狀態(tài)的指令。這些指令通過(guò)修改T位的值為1或0來(lái)實(shí)現(xiàn)在兩種工作狀態(tài)之間切換,但ARM微處理器在開(kāi)始執(zhí)行代碼時(shí),應(yīng)該處于ARM狀態(tài)。 (3)工作模式位 工作模式位(M4:0)用來(lái)標(biāo)識(shí)或設(shè)置處理器的工作模式。M
18、4 、M3 、M2、M1、M0決定了處理器的工作模式。 3.保留位 CPSR中的其余位為保留位,當(dāng)改變CPSR中的條件碼標(biāo)志位或者控制位時(shí),保留位不要被改變,在程序中也不要使用保留位來(lái)存儲(chǔ)數(shù)據(jù)。保留位將用于ARM版本的擴(kuò)展。 備份的程序狀態(tài)寄存器SPSR 每一種工作模式下又都有一個(gè)專用的物理狀態(tài)寄存器,稱為SPSR(Saved Program Status Register,),當(dāng)異常發(fā)生時(shí),SPSR用于保存CPSR的當(dāng)前值,從異常退出時(shí)則可由SPSR來(lái)恢復(fù)CPSR。由于用戶模式和系統(tǒng)模式不屬于異常模式,他們沒(méi)有SPSR,當(dāng)在這兩種模式下訪問(wèn)SPSR,結(jié)果是未知的。CPSR和SPSR通過(guò)特殊指
19、令進(jìn)行訪問(wèn),這些指令將在第3章介紹 【例2.1】假設(shè)某一刻,寄存器CPSR的值如圖2-11所示,試說(shuō)明處理器的條件標(biāo)志、中斷允許情況、工作狀態(tài)以及工作模式。 分析:CPSR的bit3127表示條件標(biāo)志NZCVQ,其值分別為00100,為了便于閱讀常常用字母表示其值,如圖中所示:某一位為0則用小寫(xiě)字母表示,某一位為1,則用大寫(xiě)字母表示,則上述條件標(biāo)志可表示為:nzCvq,即C標(biāo)志位置位為1,其它標(biāo)志位為0,每一位的具體含義可參考表2-2。因?yàn)閎it76為iF,所以IRQ中斷被使能,即允許CPU響應(yīng)IRQ中斷,F(xiàn)IQ中斷被禁止。因?yàn)閎it5為t,所以處理器工作在ARM狀態(tài)。因?yàn)锽it40為1001
20、1,由表2-3可知系統(tǒng)工作于管理模式(SVC) 2.5.3Thumb寄存器 Thumb狀態(tài)下的寄存器集是ARM狀態(tài)下寄存器集的一個(gè)子集,程序可以直接訪問(wèn)8個(gè)通用寄存器(R7R0)、程序計(jì)數(shù)器(PC)、堆棧指針(SP)、連接寄存器(LR)和CPSR。同時(shí),在每一種特權(quán)模式下都有一組SP、LR和SPSR。 Thumb狀態(tài)下的寄存器組織與ARM狀態(tài)下的寄存器組織的關(guān)系:Thumb狀態(tài)下和ARM狀態(tài)下的R0R7是相同的。Thumb狀態(tài)下和ARM狀態(tài)下的CPSR和所有的SPSR是相同的。Thumb狀態(tài)下的SP對(duì)應(yīng)于ARM狀態(tài)下的R13。Thumb狀態(tài)下的LR對(duì)應(yīng)于ARM狀態(tài)下的R14。Thumb狀態(tài)下的
21、程序計(jì)數(shù)器對(duì)應(yīng)于ARM狀態(tài)下R152.6 ARM的存儲(chǔ)系統(tǒng)簡(jiǎn)介 2.6.1存儲(chǔ)器的層次結(jié)構(gòu) 2.6.2數(shù)據(jù)類型與存儲(chǔ)器格式 2.6.3非對(duì)齊的存儲(chǔ)器訪問(wèn) 按照存取方式不同,半導(dǎo)體存儲(chǔ)器可以分為隨機(jī)存取存儲(chǔ)器RAM(Ramdom Access Memory)和只讀存儲(chǔ)器ROM(Read Only Memory)兩大類。RAM可分為SRAM(靜態(tài)隨機(jī)存儲(chǔ)器)、DRAM(動(dòng)態(tài)隨機(jī)存儲(chǔ)器)、DDRAM(雙倍速率隨機(jī)存儲(chǔ)器)。ROM可分為掩膜ROM、PROM、EPROM、EEPROM、Flash Memory(閃速存儲(chǔ)器),其中Flash Memory又可分為NOR Flash、NAND Flash,前
22、者主要用來(lái)存放代碼,后者主要用來(lái)存放數(shù)據(jù)。2.6.1存儲(chǔ)器的層次結(jié)構(gòu) 隨著CPU速度的不斷提高和軟件規(guī)模的不斷擴(kuò)大,人們當(dāng)然希望存儲(chǔ)器能同時(shí)滿足速度快、容量大、價(jià)格低的要求。但實(shí)際上這一點(diǎn)很難辦到,解決這一問(wèn)題的較好方法是設(shè)計(jì)一個(gè)快慢搭配、具有層次結(jié)構(gòu)的存儲(chǔ)系統(tǒng)。 基于ARM的嵌入式系統(tǒng)中用到的各種存儲(chǔ)器芯片和存放的數(shù)據(jù)如下: ROM芯片:因?yàn)樗锩娴臄?shù)據(jù)是在生產(chǎn)時(shí)就固定的,不可再次編程來(lái)改變,故而ROM常應(yīng)用于不需要更新和修改內(nèi)容的大宗產(chǎn)品,也有許多設(shè)備使用ROM來(lái)存放啟動(dòng)代碼。 Flash芯片:既可以讀又可以寫(xiě),但是它的速度較慢,因此不適合存放動(dòng)態(tài)數(shù)據(jù)。它主要用于存放斷電后需要長(zhǎng)期保存的數(shù)
23、據(jù),對(duì)Flash 的擦除和改寫(xiě)是完全由軟件實(shí)現(xiàn)的,不需要任何額外硬件電路,這樣降低了制造成本。Flash芯片已經(jīng)成為當(dāng)前最流行的只讀存儲(chǔ)器,可選擇Flash芯片用于滿足對(duì)存儲(chǔ)器的大容量需求或用于構(gòu)建輔助存儲(chǔ)器。 DRAM芯片:動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器是設(shè)備中最常用的RAM。和其它RAM相比,它每兆字節(jié)的價(jià)格最低。不過(guò)DRAM需要?jiǎng)討B(tài)地刷新,因此在使用DRAM前要先設(shè)置好DRAM控制器。 SRAM芯片:靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器比傳統(tǒng)的DRAM要快,但它需要更大的硅片面積。SRAM是靜態(tài)的,所以不需要刷新,其存取時(shí)間比DRAM要短得多。但是價(jià)格高,因此通常用于容量小,速度快的情況,如高速存儲(chǔ)器和Cache。
24、SDRAM芯片:同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器是眾多的DRAM中的一種,它能夠工作在比普通存儲(chǔ)器更高的時(shí)鐘頻率下。因?yàn)镾DRAM使用時(shí)鐘,所以它和處理器總線是同步的。數(shù)據(jù)從存儲(chǔ)器中被流水化地取出,最后突發(fā)(Burst)地傳輸?shù)娇偩€,因而傳輸效率高。2.6.2數(shù)據(jù)類型與存儲(chǔ)器格式 1.地址空間 ARM體系結(jié)構(gòu)將存儲(chǔ)器看作是從零地址開(kāi)始的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),依次排列。作為32位的微處理器,ARM體系結(jié)構(gòu)所支持的最大尋址空間為4GB(232字節(jié))??梢詫⒃摰刂房臻g看作大小為232個(gè)8位字節(jié),這些字節(jié)的單元地址是一個(gè)無(wú)符號(hào)的3
25、2位數(shù)值,其取值范圍為0232-1。ARM地址空間也可以看作是230個(gè)32位的字單元。這些字單元的地址可以被4整除,也就是說(shuō)該地址低兩位為00。地址為A的字?jǐn)?shù)據(jù)包括地址為A、A+1、A+3、A+3四個(gè)字節(jié)單元的內(nèi)容。程序正常執(zhí)行時(shí),每執(zhí)行一條ARM指令,當(dāng)前指令計(jì)數(shù)器加4個(gè)字節(jié);每執(zhí)行一條Thumb指令,當(dāng)前指令計(jì)數(shù)器加2個(gè)字節(jié)。但是,當(dāng)?shù)刂飞习l(fā)生溢出時(shí),執(zhí)行結(jié)果將是不可預(yù)知的。 2.數(shù)據(jù)類型 ARM微處理器的指令長(zhǎng)度可以是32位(在ARM狀態(tài)下),也可以為16位(在Thumb狀態(tài)下)。ARM微處理器中支持字節(jié)(8位)、半字(16位)、字(32位)三種數(shù)據(jù)類型,其中,字需要4字節(jié)對(duì)齊(地址的低兩位為0)、半字需要2字節(jié)對(duì)齊(地址的最低位為0)。 3.存儲(chǔ)格式 ARM體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)油瓶級(jí)聚酯切片市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)有機(jī)膜過(guò)濾器市場(chǎng)調(diào)查研究報(bào)告
- 農(nóng)家別墅租售合同范本
- 2025年中國(guó)抗干擾檢針器市場(chǎng)調(diào)查研究報(bào)告
- 基于并五苯的光電突觸晶體管及視覺(jué)識(shí)別電路仿真研究
- NiO納米顆粒修飾石墨烯強(qiáng)化鋁基復(fù)合材料的界面結(jié)構(gòu)及強(qiáng)化機(jī)理研究
- 2025年中國(guó)小件粉末涂裝固化烘道市場(chǎng)調(diào)查研究報(bào)告
- 微生物聯(lián)合殼聚糖固化鉛污染土的試驗(yàn)研究
- 果園采購(gòu)合同范本
- 租車代駕合同范本
- 超星爾雅學(xué)習(xí)通《民俗資源與旅游》2020章節(jié)測(cè)試含答案
- 勞務(wù)投標(biāo)書(shū)技術(shù)標(biāo)
- 尿碘檢測(cè)臨床意義
- 2022年山東司法警官職業(yè)學(xué)院?jiǎn)握姓Z(yǔ)文試題及答案解析
- 2023版北京協(xié)和醫(yī)院重癥醫(yī)學(xué)科診療常規(guī)
- 鋼網(wǎng)驗(yàn)收?qǐng)?bào)告
- 防水補(bǔ)漏工程合同(合同版本)
- 鐵路局中間站管理手冊(cè)
- 監(jiān)理日志表(標(biāo)準(zhǔn)模版)
- H3C-CAS虛擬化平臺(tái)詳細(xì)介紹
- 小學(xué)生韻母in、ing常見(jiàn)漢字與區(qū)分練習(xí)
評(píng)論
0/150
提交評(píng)論