《嵌入式系統(tǒng)設(shè)計(jì)》教案設(shè)計(jì)_第1頁
《嵌入式系統(tǒng)設(shè)計(jì)》教案設(shè)計(jì)_第2頁
《嵌入式系統(tǒng)設(shè)計(jì)》教案設(shè)計(jì)_第3頁
《嵌入式系統(tǒng)設(shè)計(jì)》教案設(shè)計(jì)_第4頁
《嵌入式系統(tǒng)設(shè)計(jì)》教案設(shè)計(jì)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、實(shí)用標(biāo)準(zhǔn)文案嵌入式系統(tǒng)設(shè)計(jì)教案課程總學(xué)時(shí):32講課學(xué)時(shí):24實(shí)驗(yàn)學(xué)時(shí):8授課人:楊詞慧南昌航空大學(xué)信息工程學(xué)院目錄1 嵌入式系統(tǒng)概述 11.1 嵌入式系統(tǒng)的基本概念 11.2 嵌入式系統(tǒng)的發(fā)展歷史 21.3 嵌入式系統(tǒng)的體系結(jié)構(gòu) 21.4 嵌入式處理器 31.5 嵌入式操作系統(tǒng) 41.6 嵌入式系統(tǒng)的應(yīng)用及發(fā)展趨勢 72 ARM系Z構(gòu) 82.1 ARMO思想 82.2 ARMfr系結(jié)本分析 92.3 ARMi理器系列 112.4 ARMi理器模式 152.5 ARM系的異常處理 172.6 ARMJ部寄存器 182.7 ARM系的存儲系統(tǒng) 193 ARM旨令系統(tǒng)及程序設(shè)計(jì)基礎(chǔ) 213.1 AR

2、MW址方式 213.2 ARM旨令集 243.3 Thumb指令集 333.4 353.5 353.6 嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)過程 364 STM32B控制器 374.1 STM32B控制器的T能指標(biāo) 37文檔實(shí)用標(biāo)準(zhǔn)文案1嵌入式系統(tǒng)概述教學(xué)目的:使學(xué)生對嵌入式系統(tǒng)的基本概念和體系結(jié)構(gòu)、嵌入式處理器、嵌入式操作系統(tǒng)、嵌入式系 統(tǒng)的歷史、應(yīng)用及發(fā)展趨勢有一定的了解。教學(xué)重點(diǎn):嵌入式系統(tǒng)的基本概念、嵌入式處理器和嵌入式操作系統(tǒng)。教學(xué)難點(diǎn):嵌入式系統(tǒng)的體系結(jié)構(gòu)、嵌入式處理器。教學(xué)方法與教學(xué)手段:課堂講授,多媒體教學(xué)。教學(xué)時(shí)間:2課時(shí)。教學(xué)內(nèi)容5 .1嵌入式系統(tǒng)的基本概念(1)嵌入式系統(tǒng)的定義先舉例說明

3、生活中的各種嵌入式系統(tǒng)設(shè)備,如 iPhone、小米手機(jī)、洗衣機(jī)、電壓力鍋等。IEEE (國際電氣和電子工程師協(xié)會)的定義 :嵌入式系統(tǒng)是用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置 D Devices used to control, monitor, or assist the operation of equipment, machinery or plants )。微機(jī)學(xué)會的定義:嵌入式系統(tǒng)是以嵌入式應(yīng)用為目的的計(jì)算機(jī)系統(tǒng),可分為系統(tǒng)級、板級和片級。a)系統(tǒng)級:各種類型的工控機(jī)、PC104等模塊。b)板級:各種類型的帶 CPU的主板或OEMF品。c)片級:各種以單片機(jī)、DSP微處理器為核心

4、的產(chǎn)品。一般定義:嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,對功能、可靠 性、成本、體積、功耗要求嚴(yán)格的專用計(jì)算機(jī)系統(tǒng)。(2)嵌入式系統(tǒng)的特點(diǎn)a)專用、軟硬件可剪裁配置。b)低功耗、高可靠性、高穩(wěn)定性。c)軟件代碼矮小精悍。d)代碼可固化。e)實(shí)時(shí)性。f) 弱交互性。g)軟件開發(fā)通常需要專門的開發(fā)工具、環(huán)境和方法。h)要求開發(fā)、設(shè)計(jì)人員具有較高的技能。i)具有較長的生命周期。(3)嵌入式系統(tǒng)的分類按嵌入式微處理器的位數(shù)可分為:4位、8位、16位、32位和64位。按實(shí)時(shí)性能可分為:非實(shí)時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)。按軟件結(jié)構(gòu)可分為:嵌入式單線程系統(tǒng)和嵌入式事件驅(qū)動系統(tǒng)。按應(yīng)用領(lǐng)域可分為:

5、信息家電類、消費(fèi)電子類、醫(yī)療電子類、移動終端類、通信類、汽車電子類、 工業(yè)控制類、航空電子類、軍事電子類等。6 .2嵌入式系統(tǒng)的發(fā)展歷史(1)以單芯片為核心的可編程控制器形成的系統(tǒng)1971 年 11 月,Intel 推出 Intel 4004 。隨后出現(xiàn) Intel 8080/8085 、8086、Motorola 的 6800、 68000, Zilog 的 Z80、Z8000。以微處理器為核心構(gòu)成的系統(tǒng)單板機(jī):Intel的iSBC系列、Zilog 的MC帝將計(jì)算機(jī)做在一個(gè)芯片上,大部分應(yīng)用于專業(yè)性強(qiáng)的工業(yè)控制系統(tǒng)中,沒有操作系統(tǒng)的支持,系統(tǒng)結(jié)構(gòu)和功能相對單一,處理效率較低,存儲容量較小。(

6、2)以嵌入式CPU為基礎(chǔ)、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)CPU種類繁多,通用性較弱;系統(tǒng)開銷小,效率高;操作系統(tǒng)達(dá)到一定的兼容性和擴(kuò)展性;應(yīng)用軟件較專業(yè)化,用戶界面不夠友好。(3)以嵌入式操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng)嵌入式操作系統(tǒng)可運(yùn)行于各種不同類型的微處理器上,兼容性好;操作系統(tǒng)內(nèi)核小,效率高;具備文件和目錄管理, 支持多任務(wù)、網(wǎng)絡(luò)應(yīng)用,具備圖形窗口和用戶界面;有大量的應(yīng)用程序接口API。(4)以Internet 為標(biāo)志的嵌入式系統(tǒng)嵌入式設(shè)備與Internet 的結(jié)合。7 .3嵌入式系統(tǒng)的體系結(jié)構(gòu)(1)體系結(jié)構(gòu)應(yīng)用層操作系統(tǒng)層中間層硬件層(2)硬件層應(yīng)用程序文件系統(tǒng) 圖形系統(tǒng)任務(wù)管理網(wǎng)絡(luò)系統(tǒng)

7、嵌入式操作系統(tǒng)硬件抽象層板級支持包和設(shè)備驅(qū)動D/AROMA ZD嵌入式 FLASH處理器I/OSDRAM人機(jī)交互接門嵌入式處理器:ARM DSP FPGA存儲器系統(tǒng):ROM FLASH SDRAM中斷控制器、DMAC定日器/計(jì)數(shù)器、UART US昭制器、LCD控制器等I/O 接口: USB I2C、SPk CAN(3)中間層硬件抽象層(Hardware Abstraction Layer, HAL)。位于操作系統(tǒng)內(nèi)核與硬件電路之間的接口層,隱藏硬件接口細(xì)節(jié)。板級支持包(Board Support Package, BSP )。為上層的驅(qū)動程序提供訪問硬件設(shè)備寄存器 的函數(shù)包。設(shè)備驅(qū)動程序8 .

8、4嵌入式處理器(1)嵌入式處理器的分類中高端的嵌入式微處理器( Embedded Micro-Processor Unit, EMPU )低端的微控制器(Microcontroller Unit, MCU )DSP處理器(Digital Signal Processor, DSP )高度集成的片上系統(tǒng)(System on Chip, SoC )(2)嵌入式微處理器由通用計(jì)算機(jī)中的 CPU寅變而來,只保留與嵌入式應(yīng)用緊密相關(guān)的功能硬件,在工作溫度、抗電 磁干擾、可靠性、功耗等方面做了各種增強(qiáng)。主要的嵌入式處理器類型:ARM MIPS PowerPC 68000系列等。特點(diǎn)a)在設(shè)計(jì)中考慮低功耗。

9、b)采用可擴(kuò)展的處理器結(jié)構(gòu)。處理器內(nèi)部留有很多擴(kuò)展接口。c)具有很強(qiáng)的存儲區(qū)保護(hù)功能。d)提供豐富的調(diào)試功能。e)對實(shí)時(shí)任務(wù)具有很強(qiáng)的支持能力。(3)微控制器俗稱單片機(jī),將整個(gè)計(jì)算機(jī)系統(tǒng)集成到一塊芯片中。8位單片機(jī)示意圖以一種微處理器為核心,芯片內(nèi)部集成Flash、RAM總線邏輯、定時(shí)器/計(jì)數(shù)器、I/O 口、串行口、PWM A/D、D/A 等。最早的單片機(jī):1976 年,Intel 的 8048, Motorola 的 68HC05 Zilog 公司的 Z80. DSpi理器對系統(tǒng)結(jié)構(gòu)和指令進(jìn)行了牛I殊設(shè)計(jì),使其適合DSP算法高效乘累加運(yùn)算、超標(biāo)量操作、指令流水線高效數(shù)據(jù)存取、硬件重復(fù)循環(huán)確定

10、性操作(程序執(zhí)行時(shí)間可預(yù)測)應(yīng)用場合:音視頻編解碼、數(shù)字濾波、FFT等(5)片上系統(tǒng)將整個(gè)系統(tǒng)做在一個(gè)芯片上優(yōu)點(diǎn)a)通過改變內(nèi)部工作電壓,降低芯片功耗b)減少芯片對外的引腳數(shù),簡化制造過程c)減少外圍驅(qū)動接口單元及電路板之間的信號傳遞,加快微處理器數(shù)據(jù)處理的速度d)內(nèi)嵌線路可避免信號傳遞時(shí)所造成的系統(tǒng)雜訊聯(lián)發(fā)科推出28nm雙核處理器MT6572a)代號武松,基于 Cortex-A7架構(gòu)b) 主頻為1.2GHzc)處理器上整合了 Wi-Fi、FM收音機(jī)、GPS以及藍(lán)牙四種功能d)支持500萬像素?cái)z像頭(6)嵌入式處理器的發(fā)展趨勢a)內(nèi)部結(jié)構(gòu)SoC設(shè)計(jì),與DSP Flash、FPGAI蟲合;性能更

11、強(qiáng),集成更多的功能部件;雙核或多核結(jié)構(gòu)b)功耗更低c) 可靠性更高d)支持 ISP、ISD1.5嵌入式操作系統(tǒng)(1)操作系統(tǒng)的概念及功能操作系統(tǒng)。是一組計(jì)算機(jī)程序的集合,用來有效地控制和管理計(jì)算機(jī)的硬件和軟件資源,并為用 戶提供方便的應(yīng)用接口。功能:處理器管理;存儲器管理;設(shè)備管理;文件管理;用戶接口(2)操作系統(tǒng)的分類按程序調(diào)度的方法分為順序操作系統(tǒng)。只含一個(gè)運(yùn)行程序,獨(dú)占CPU時(shí)間,順序執(zhí)行。如 DO繇統(tǒng)。分時(shí)操作系統(tǒng)。系統(tǒng)內(nèi)同時(shí)有多道程序運(yùn)行。如 Unix系統(tǒng)。實(shí)時(shí)操作系統(tǒng)。從應(yīng)用角度,嵌入式操作系統(tǒng)可分為面向低端信息家電 面向高端信息家電面向個(gè)人通信終端面向通信設(shè)備面向汽車電子面向工業(yè)

12、控制從實(shí)時(shí)性的角度,嵌入式操作系統(tǒng)可分為具有強(qiáng)實(shí)時(shí)特點(diǎn)的嵌入式操作系統(tǒng)具有弱實(shí)時(shí)特點(diǎn)的嵌入式操作系統(tǒng)沒有實(shí)時(shí)特點(diǎn)的嵌入式操作系統(tǒng)(3)實(shí)時(shí)操作系統(tǒng)(RTOS是具有實(shí)時(shí)性且能支持實(shí)時(shí)控制系統(tǒng)工作的操作系統(tǒng),首要任務(wù)是調(diào)度一切可利用的資源來完成控制任務(wù)。對現(xiàn)場不停監(jiān)測,一旦有事件發(fā)生能立即處理。與通用OS的區(qū)別:實(shí)時(shí)性,代碼尺寸小。一般包括以下幾個(gè)重要組成部分:實(shí)時(shí)內(nèi)核:任務(wù)管理、定時(shí)器管理、存儲器管理、任務(wù)間通信與同步等。網(wǎng)絡(luò)組件文件系統(tǒng)圖形用戶界面IEEE的Unix委員會規(guī)定了實(shí)時(shí)操作系統(tǒng)須具備以下幾個(gè)特點(diǎn):支持異步事件的響應(yīng)。中斷和調(diào)度任務(wù)的優(yōu)先機(jī)制。支持指令性計(jì)劃占式調(diào)度。支持同步。(4)

13、常見的嵌入式操作系統(tǒng)嵌入式Linux實(shí)時(shí)的嵌入式 Linux :如RT-Linux、KURT-Linux等。RT-Linux 將通常的Linux任務(wù)優(yōu)先級 設(shè)為最低。一般的嵌入式 Linux :如CLinux。開源,內(nèi)核小、效率高,可定制科 C/OS 和科 C/OS-IIC/OS-II (Microcontroller Operating System)是由 Jean J. Labrosse 開發(fā)的實(shí)時(shí)操作系統(tǒng)內(nèi)核。已被移植到Intel 、ARM Motorola等公司的81種不同的處理器上。Labrosse 用一年時(shí)間開發(fā)了科C/OS實(shí)時(shí)操作系統(tǒng);1992年在Embedded System

14、Programming » ± 發(fā)表介紹文章,并公布源代碼;1993年寫了抹C/OS, The Real-TimeKernel;書及源碼推動了科C/OS-II的發(fā)展。C/OS-II只是一個(gè)實(shí)時(shí)操作系統(tǒng)的內(nèi)核,全部核心代碼只有8.3 KB。只包含進(jìn)程調(diào)度、時(shí)鐘管理、內(nèi)存管理和進(jìn)程間的通信與同步等基本功能。Windows CE多線程、完整優(yōu)先權(quán)、多任務(wù)的32位嵌入式操作系統(tǒng)?;緝?nèi)核大小至少為 200KB。VxWorks美國WindRiver公司于1983年設(shè)計(jì)是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛、市場占有率最高的系統(tǒng)。擁有良好的持續(xù)發(fā)展能力和高性能的內(nèi)核及友好的用戶開發(fā)環(huán)境。支持

15、多種處理器,如 ARM x86、i960、SunSparc、MIPS RX000、PowerPC StrongARM等。以良好的可靠性和實(shí)時(shí)性,廣泛應(yīng)用在通信、軍事、航空、航天等領(lǐng)域。應(yīng)用案例:美國F-16、FA-18戰(zhàn)斗機(jī),B-2隱形轟炸機(jī),“愛國者”導(dǎo)彈,1997年4月在火 星登陸的火星探測器。Palm OS32位嵌入式操作系統(tǒng),由3Com司的Palm Computing部門開發(fā)。在掌上電腦和PDA市場上占有很大的市場份額,曾占據(jù)90%勺PDA市場份額。2010年04月29日惠普12億美元收購 PalmQNX一個(gè)實(shí)時(shí)、可擴(kuò)充的操作系統(tǒng)。部分遵循POSIX (可移植操作系統(tǒng)接口)相關(guān)標(biāo)準(zhǔn)。內(nèi)

16、核僅提供4種服務(wù):進(jìn)程調(diào)度、進(jìn)程間通信、底層網(wǎng)絡(luò)通信和中斷處理。內(nèi)核非常小巧(QNX4.X勺為12KB),運(yùn)行速度極快。iOS蘋果推出,基于 Darwin最新:iOS8AndroidGoogle開發(fā)的基于Linux平臺的開源手機(jī)操作系統(tǒng)Delta OS是電子科技大學(xué)實(shí)時(shí)系統(tǒng)教研室和北京科銀京成技術(shù)有限公司聯(lián)合研制并開發(fā)的全中文嵌入式操作系統(tǒng)。絕大部分代碼由 C語言編寫。已成功應(yīng)用于通信、網(wǎng)絡(luò)、信息家電等多個(gè)應(yīng)用領(lǐng)域。pSOSISI公司研發(fā)的產(chǎn)品。模塊化、高性能、完全可擴(kuò)展。1.6嵌入式系統(tǒng)的應(yīng)用及發(fā)展趨勢(1)嵌入式系統(tǒng)的應(yīng)用領(lǐng)域消費(fèi)電子領(lǐng)域通信網(wǎng)絡(luò)領(lǐng)域工業(yè)控制領(lǐng)域、機(jī)器人領(lǐng)域交通管理與汽車電

17、子領(lǐng)域國防與航空航天領(lǐng)域醫(yī)療儀器領(lǐng)域(2)嵌入式系統(tǒng)的發(fā)展趨勢小型化、智能化、網(wǎng)絡(luò)化、可視化多核技術(shù)的應(yīng)用低功耗、綠色環(huán)保云計(jì)算、可重構(gòu)、虛擬化等技術(shù)被進(jìn)一步應(yīng)用到嵌入式系統(tǒng)中嵌入式系統(tǒng)軟件將逐漸 PC化融合趨勢微控制器MCUW SoC的結(jié)合微控制器MCUW DSP的結(jié)合ARM DSP的結(jié)合微控制器MCUW CPLD/FPGA勺結(jié)合安全性文檔2 ARM#系結(jié)構(gòu)教學(xué)目的:使學(xué)生對ARM計(jì)思'想、ARMfe理器系列、ARMfr系結(jié)構(gòu)、ARMb理器*II式、ARMft部寄存器、ARM體系的存儲系統(tǒng)有一定的了解。教學(xué)重點(diǎn):ARM計(jì)思'想、ARMfr系結(jié)構(gòu)、ARMfe理器*II式、ARM

18、ft部寄存器。教學(xué)難點(diǎn):ARMfe理器*II式、AR岫部寄存器。教學(xué)方法與教學(xué)手段:課堂講授,多媒體教學(xué)。教學(xué)時(shí)間:4課時(shí)。教學(xué)內(nèi)容2.1 AR般計(jì)思想(1) RISC傳統(tǒng)的 CISC (Complex Instruction Set Computing)指令集中,約 20%旨令占整個(gè)程序代碼的80%RISC (Reduced Instruction Set Computing)是一種設(shè)計(jì)思想,其目標(biāo)是設(shè)計(jì)出一套能在高時(shí)鐘頻率下單周期執(zhí)行、簡單而有效的指令集。RISC設(shè)計(jì)重點(diǎn)在于降低硬件執(zhí)行指令的復(fù)雜度,而傳統(tǒng)的CISC更側(cè)重于硬件執(zhí)行指令的功能性,使CISC指令變得復(fù)雜。(2) RISC設(shè)計(jì)

19、思想的實(shí)現(xiàn)指令集。減少了指令種類,指令只實(shí)現(xiàn)簡單的功能,指令長度固定。流水線。指令的處理過程被拆分成幾個(gè)更小的、能夠被流水線并行執(zhí)行的單元。寄存器。更多通用寄存器,可存數(shù)據(jù)和地址,可為所有數(shù)據(jù)操作提供快速的局部存儲訪問。load-store 結(jié)構(gòu)。處理器只處理寄存器中數(shù)據(jù),用 load和store指令完成寄存器和外存間 的數(shù)據(jù)傳送(3) ARM勺設(shè)計(jì)思想較小的核。降低功耗高的代碼密度??紤]成本和物理尺寸限制較小的處理器內(nèi)核管芯(Die) 面積。留給外設(shè)電路的空間較大硬件調(diào)試技術(shù)(4) AR城處理器的特點(diǎn)體積小,功耗低,成本低,性能高;支持Thumb/ARM旨令集,兼容8/16位器件;大量使用寄

20、存器,指令執(zhí)行速度更快;大多數(shù)數(shù)據(jù)操作都在寄存器中完成;尋址方式靈活簡單,執(zhí)行效率高;實(shí)用標(biāo)準(zhǔn)文案指令長度固定。2.2 ARMfr系結(jié)構(gòu)分析(1)包含典型的RISC體系結(jié)構(gòu)特征統(tǒng)一寄存器文件加載/存儲體系結(jié)構(gòu),數(shù)據(jù)處理操作只針對寄存器內(nèi)容; 簡單尋址模式,所有加載/存儲地址只通過寄存器內(nèi)容和指令字段確定。指令長度固定,簡化了指令譯碼。(2)還提供可組合使用轉(zhuǎn)換與算術(shù)或邏輯運(yùn)算指令自動遞增和自動遞減尋址模式,可優(yōu)化程序循環(huán)加載存儲多個(gè)指令以最大化數(shù)據(jù)吞吐量幾乎所有指令都采取條件執(zhí)行的方式(3)普林斯頓結(jié)構(gòu)和哈佛結(jié)構(gòu)普林斯頓結(jié)構(gòu):也稱馮諾伊曼結(jié)構(gòu),它將程序指令存儲器和數(shù)據(jù)存儲器合并在一起的存儲結(jié)構(gòu)

21、。 ARM源列基于普林斯頓結(jié)構(gòu)。常M-儲器程序存儲器數(shù)據(jù)存儲器馮諾依曼結(jié)構(gòu)哈佛結(jié)構(gòu)哈佛結(jié)構(gòu):將程序指令存儲和數(shù)據(jù)存儲分開的存儲結(jié)構(gòu)。ARM寐列之后都基于哈佛結(jié)構(gòu)。流水線ADDSUB指令i3級流水線結(jié)構(gòu)ARM7的三級流水線在執(zhí)行單元完成了大量的工作,執(zhí)行單元的工作往往占用多個(gè)時(shí)鐘周期,從而成為系統(tǒng)性能的瓶頸。文檔實(shí)用標(biāo)準(zhǔn)文案SUBMOV取指;譯碼取指譯碼,執(zhí)行指令 周期指令:MOV)add!LDR ;SUB '取指譯碼執(zhí)行. 取指譯碼執(zhí)行取指譯碼算地址訪存回寫執(zhí)行帶有存儲器訪問指令的流水線ARM睬用哈佛架構(gòu),避免了數(shù)據(jù)訪問了取指的總路線沖突,采用五級流水線設(shè)計(jì)。五級流水線技術(shù)把三級流水線

22、中的執(zhí)行單元進(jìn)一步細(xì)化,減少了在每個(gè)時(shí)鐘周期內(nèi)必須完成的工作量,進(jìn)而允許使用較高的時(shí)鐘頻率。無論三級流水線還是五級流水線,在以下情況下都會發(fā)生阻塞:多周期指令、跳轉(zhuǎn)分支指令中斷發(fā)生相鄰指令之間的寄存器沖突:如果當(dāng)前指令(A)的目的操作數(shù)寄存器和下一條指令(B)的指令MOV RO,R1LDR 3.K4STR R9, R13|MOV R6, R7指令周期源操作數(shù)寄存器一致,B指令就需要等 A回寫之后才能譯碼。取指譯篇執(zhí)行寫執(zhí)行訪存回寫譯碼執(zhí)行訪存回寫取指譯碼執(zhí)行與五級流水線最佳運(yùn)行示意圖(5) AR"系結(jié)構(gòu)的版本CRYPT。 CRYPTO版 本版本變種處理器核vlvlARM 1v2v2A

23、RM2_v2aARM2as_ARM3v3v3ARM6, AKM600 ARM6I0ARM?、ARM700. ARM710v4v4TARM7TDML ARM7I0T. ARM720T. ARM740Tv4StrongAKM 4RM8、ARM810v4TAKM9TDMU ARM920T. ARM940Tv$v5TEARM9F-SARNtlOTDMI ARMI020Ev6v6ARMII, ARM11562-S> RM 1156T2F-5、人RM1IJWF-Sv7v7ARM Ccrtcjc-A ARM Colex-R4 ARM Cotex-M32.3 ARMte理器系列(1) ARMi理器系列C

24、lassicA RM ProcessorsEmbeddedCortes FroceEEorE-brWCLI 一1cnd <>vgjHE之ARM11Application"Cdriatf FrpCKEtSfiiCortex-R4文檔Cortex-M4ARMSCortex-M3Co: > ;4MlARM 7經(jīng)典 ARlMb理器:ARM7 ARM9 ARM1Q ARM11Cortex-A 系列處理器:Cortex-A15、Cortex-A9、Cortex-A8、Cortex-A7、Cortex-A5Cortex-R 系列處理器:Cortex-R7、Cortex-R5、Co

25、rtex-R4Cortex-M 系歹U處理器: Cortex-M4、 Cortex-M3、 Cortex-M1 、 Cortex-M0+ 、 Cortex-M0 、CMSDK CMSISSecurCore處理器(2) ARMJ核版本命名規(guī)則ARM xy zT D M 1 EJ F -Sx:系列號y:內(nèi)部存儲管理/保護(hù)單元 立內(nèi)含有高速緩存(Cadw) T:支持16位的Thumb指令集 D:支持JTAG片上調(diào)試 M:支持用于長乘法操作的ARM指令I(lǐng):帶有嵌入式追蹤宏單元HTME:增強(qiáng)型DSP指令J:含有Java加速器JazsilleF:向量浮點(diǎn)單元S:可綜合版本ARM源列微處理器a)主要特點(diǎn)最高

26、主頻:130MIPS(Million Instructions Per Second) ;功耗低;代碼密度高,兼容16位的微處理器;可得到廣泛的操作系統(tǒng)和實(shí)時(shí)操作系統(tǒng)支持;眾多的開發(fā)工具,優(yōu)秀的調(diào)試機(jī)制;采用3級流水線結(jié)構(gòu);提供0.25 m 0.18科m和0.13科m的生產(chǎn)工藝。b)馮諾伊曼結(jié)構(gòu):數(shù)據(jù)和指令使用同一條總線。c) 包括 ARM7TDMI ARM7TDMI-S ARM7EJ-陰口 ARM720TH種類型,適用于不同的市場要求d) ARM7TDMIARM司最早為業(yè)界普遍認(rèn)可并廣泛應(yīng)用的處理器核。T: Thumb D: Debug; M: Multiplier ; I : Embedd

27、ed ICE logic 。e) ARM7TDMI-S是ARM7TDM的可綜合(synthesizable) 版本(軟核)。ARM以“軟”核白方式把ARM7TDM核授權(quán)給處理器廠商,處理器廠商可進(jìn)行修改和綜合。這就是ARM7TDMI-S綜合出的整個(gè)核比“硬”核大50%電源效率降低50%f) ARM7EJ-S是可綜合的、帶有增強(qiáng)型DSP (E變種)和Java加速功能(J變種)的32位RISC嵌入式處理器。主要用于數(shù)字音頻播放器、帶Java功能的無線手持設(shè)備、噴墨打印機(jī)、數(shù)碼相機(jī)和PDA 等方面。g) ARM720T專為使用 Windows CE、Symbian OS操作系統(tǒng)平臺設(shè)計(jì)。主要用于數(shù)字

28、音頻播放器、噴墨打印機(jī)和數(shù)碼相機(jī)等。(4) ARM藤列微處理器a)主要特點(diǎn)5級整數(shù)流水線;單一的 32 位 AMBA (Advanced Microcontroller Bus Architecture)總線接口 ;MMlUt持 Windows CE、Symbian OS、Linux 等;支持實(shí)時(shí)操作系統(tǒng),包括 VxWorks;統(tǒng)一的數(shù)據(jù) Cache和指令 Cache;提供0.25 m 0.18科m和0.13科m的生產(chǎn)工藝。b) 包括 ARM9TDMI ARM920T ARM940林口 ARM9砂種類型。后三種含有 Cache。c)采用Harvard體系結(jié)構(gòu)指令與數(shù)據(jù)分開存儲。采用指令快存 和

29、數(shù)據(jù)快存。d)在相同工藝條件下,ARM9TDM的處理能力是ARM7TDM的兩倍。e) ARM920TMotorola MC9328MX1 和 Samsung S3c2410X處理器都采用 ARM920T核心。主要應(yīng)用于通信終端、3G基帶和應(yīng)用處理器、基于OS的平臺設(shè)備、數(shù)碼相機(jī)、音頻 /視頻解碼和機(jī)頂盒等。f) ARM940T與ARM920T相比,實(shí)現(xiàn)了一個(gè)更小的D-Cache、I-Cache和MPU適于不需運(yùn)行操作系統(tǒng)的平臺。g) ARM9E使用單一的處理器核,提供微控制器、DSP Java應(yīng)用系統(tǒng)的解決方案;DSP指令集;在0.13科m工藝下,主頻可達(dá) 300MIPS的性能;集成實(shí)時(shí)跟蹤調(diào)

30、試功能;可選的VFP9浮點(diǎn)處理協(xié)處理器;高性能的 AHB (Advanced High performance Bus) 。(5) ARM10I(列微處理器a)主要特點(diǎn)6級流水線;在典型的0.13 m工藝下,主頻可達(dá) 400MIPS的性能;單一的32位AMBA總線接口;MMlUt持 Windows CE、Symbian OS、Linux 等;統(tǒng)一的數(shù)據(jù) Cache和指令 Cache;提供0.25科m 0.18科m和0.13科m的生產(chǎn)工藝;并行讀取/寫入部件。b) 包括:ARM1020 ARM10200 ARM1020E ARM1022E ARM1026EJ-Sc) 使用 ARM10TDMI1理

31、器核,采用 ARMv5T吉構(gòu)。d) ARM10TDMI在相同工藝條件下,處理能力是ARM9TDM的兩倍;采用提高時(shí)鐘頻率、6級流水線、轉(zhuǎn)移預(yù)測邏輯、64位存儲器和無阻塞的存/取邏輯等措施提升性能。e) ARM10E新節(jié)能模式,64位Load/Store 體系,與 ARM10TDMH目比具有的特點(diǎn)DSP指令集;可選的VFP10浮點(diǎn)處理協(xié)處理器;在實(shí)時(shí)控制和三維圖像處理時(shí),主頻可達(dá)650MFLPS (百萬次浮點(diǎn)運(yùn)算每秒)。(6) ARM11 系列微處理器ARM1156T2-S內(nèi)核、 ARM1156T2F-S 內(nèi)核、 ARM1176JZ-S 內(nèi)核和 ARM11JZF-S內(nèi)核ARM1156T2-S內(nèi)核

32、和 ARM1156T2F-S 內(nèi)核基于ARM v6指令集體系結(jié)構(gòu);是首批含有ARM Thumb-2內(nèi)核技術(shù)的產(chǎn)品。Cortex-A系列微處理器適于高計(jì)算要求、運(yùn)行豐富操作系統(tǒng)及提供交互媒體和圖形體驗(yàn)的應(yīng)用領(lǐng)域。支持傳統(tǒng)ARM> Thumb指令集和新的高性能緊湊型Thumb-2指令集。移動互聯(lián)網(wǎng)的支持低功率設(shè)計(jì),支持 Adobe Flash 10.1高性能NEON引擎,廣泛支持媒體編解碼器高性能Cortex-A15 :為新一代移動基礎(chǔ)結(jié)構(gòu)應(yīng)用和無線基礎(chǔ)結(jié)構(gòu)應(yīng)用提供高性能的解決TzT tkoCortex-A9 。800 MHz - 2 GHz的頻率,作單核處理器或 1-4 核多核合成處理器,

33、 每內(nèi)核可提供 5000 DMIPS 的性能。Cortex-A8 。單核解決方案,可提供經(jīng)濟(jì)有效的高性能,在 600 MHz - 1 GHz 的 頻率下,提供的性能超過 2000 DMIPS。Cortex-A5 低成本實(shí)現(xiàn),在 400- 800 MHz 的頻率下,提供的性能超過1200DMIPS是尺寸最小、功耗最低的ARM多核處理器。多核技術(shù):Cortex-A15、Cortex-A5和Cortex-A9 處理器都支持 ARM第二代多核技術(shù)。高級擴(kuò)展Thumb-2,提供最佳代碼大小和性能。TrustZone ,安全擴(kuò)展,提供可信計(jì)算。Jazelle 技術(shù),提高執(zhí)行環(huán)境(如 Java、.Net、M

34、SIL、Python和Perl )速度。(8) Cortex-R系列微處理器為具有嚴(yán)格的實(shí)時(shí)響應(yīng)限制的深層嵌入式系統(tǒng)提供高性能計(jì)算解決方案??焖佟R愿邥r(shí)鐘頻率獲得高處理性能。確定性。處理在所有場合都必須符合硬實(shí)時(shí)限制。安全。系統(tǒng)必須可靠且可信。成本效益。在處理器及其內(nèi)存系統(tǒng)中都具有競爭力的成本和功耗。應(yīng)用領(lǐng)域智能手機(jī)企業(yè)系統(tǒng):硬盤驅(qū)動器、聯(lián)網(wǎng)和打印消費(fèi)電子:機(jī)頂盒、數(shù)字電視和播放器醫(yī)療行業(yè)、工業(yè)和汽車行業(yè)的可靠系統(tǒng)功能集(9) Cortex-M系列微處理器向上兼容的高能效、易于使用的處理器針對成本和功耗敏感的 MCU和終端應(yīng)用的混合信號設(shè)備進(jìn)行過優(yōu)化。更低的功耗,更長的電池壽命。高密度指令集,

35、更小的代碼,更低的硅成本。RISC處理器內(nèi)核Thumb-2 技術(shù)高性能32位CPU具有確定性的運(yùn)算低延遲3階段管道16/32位指令的最佳混合小于8位設(shè)備3倍的代碼大小 對性能沒有負(fù)面影響低功耗模式嵌套矢量中斷控制器 (NVIC)集成的睡眠狀態(tài)支持 多電源域基于架構(gòu)的軟件控制低延遲、低抖動中斷響應(yīng)不需要匯編編程以純C語言編寫的中斷服務(wù)例程工具和RTOS支持CoreSight調(diào)試和跟蹤廣泛的第三方工具支持C ortex微控制器軟件接口標(biāo)準(zhǔn)(CMSIS)最大限度地增加軟件成果重用JTAG或2針串行線調(diào)試(SWD)連接支持多處理器支持實(shí)時(shí)跟蹤(10) SecurCore系列微處理器為安全要求較高應(yīng)用設(shè)

36、計(jì)。智能卡SIMk ID、銀行業(yè)、付費(fèi)電視、公共交通、電子政務(wù)2.4 ARMfe理器模式(1) 32位ARMfe理器工作狀態(tài)32位ARMfe理器有三種工作狀態(tài)ARM犬態(tài)。對應(yīng)32位ARM旨令集Thumb狀態(tài)。對應(yīng)16位Thumb指令集Jazelle 狀態(tài)。對應(yīng)8位白J Jazelle 指令集用于在處理器指令層次對 JAVA加速只有進(jìn)入特定的狀態(tài),相應(yīng)的指令集才有效。CPSR勺J(Jazelle)和T(Thumb)位反映程序的狀態(tài)。Thumb-2與現(xiàn)有ARM和Thumb解決方案向后兼容,同時(shí)擴(kuò)展了Thumb指令集的可用功能;使用少于31%的內(nèi)存以降低系統(tǒng)成本;提供比現(xiàn)有高密度代碼高出38%的性能

37、。(2) 64位ARMfe理器工作狀態(tài)ARMv歌構(gòu)兩種主要執(zhí)行狀態(tài):AArch64, AArch32AArch64 :引入了一套新的指令集"A64”專門用于64位處理AArch32 :兼容現(xiàn)有的32位ARM旨令集ARMv歌構(gòu)支持三個(gè)主要指令集A32(或ARM): 32位固定長度指令集T32 (Thumb):以16位固定長度指令集的形式引入,在引入 Thumb-2技術(shù)時(shí)增強(qiáng)為16 位和32位混合長度A64:提供與ARM和Thumb指令集類似功能的 64位固定長度指令集(3) ARMi理器運(yùn)行模式用戶模式(usr) : ARMb理器正常的程序執(zhí)行狀態(tài)??焖僦袛嗄J剑╢iq):用于高速數(shù)據(jù)

38、傳輸或通道處理外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統(tǒng)使用的保護(hù)模式。數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲及存 儲保護(hù)。系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。未定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處 理器的軟件仿真。運(yùn)行模式可通過軟件改變,也可通過外部中斷或異常處理改變。用戶模式之外的模式稱為非用戶模式或特權(quán)模式。除用戶模式和系統(tǒng)模式之外的5種稱為異常模式,常用于處理中斷和異常、訪問受保護(hù)的系統(tǒng)資源等情況。ARM處理器模式Processor nxnteMode number

39、OescriplionUwu*rOblOOOONiiul priram eM?culion nudeHQ阿OblOOOLSuppLXl、el likh-pccdIrdihlcr L>rdi;iiincl pnxeviIRQirqOblOOlOUsixl for fcncjM叩 urptM i 川 citujh handlingSupcBisijfsvcObi 0011A pruiccieil iikxle for ihe ope ruling sjMemAbortjbiOblOllLIniplcriknh tiriujl muimn' undAK riiawry pm忙Undef

40、inedmidObllOLlSupptxi鼠巾m d(v cmuhdiin川, h:i印叫are門甲田比、*心SystemsysOblllllRuns privileged cperaling system tasks (ARMv4 and abOV)實(shí)用標(biāo)準(zhǔn)文案2.5 ARMfr系的異常處理(1) AR"系中3種控制程序執(zhí)行流程的方式:順序執(zhí)行跳轉(zhuǎn)分支指令異常中斷:處理器暫時(shí)中斷當(dāng)前數(shù)據(jù)流的現(xiàn)象。(2)對異常的響應(yīng)。ARM處理器執(zhí)行完當(dāng)前指令后 :進(jìn)入與特定的異常相應(yīng)的操作模式;將引起異常指令的下一條指令的地址保存到新模式的R14中;將CSPRM值保存到新模式的 SPSR中;通過設(shè)

41、置CSPR勺第7位來禁止IRQ。如果為FIQ中斷,則還要設(shè)置 CSPR勺第6位來禁止FIQ;ARM體系結(jié)構(gòu)所支持的異常異常產(chǎn)生條件及功能描述復(fù)位 (RESET)當(dāng)處理器復(fù)位引腳有效時(shí),系統(tǒng)產(chǎn)生復(fù)位異常中斷.程序跳轉(zhuǎn)到復(fù)位異常 中斷處理程序處執(zhí)行一未定義的指令當(dāng)ARM處理罌或者是系統(tǒng)中的協(xié)處理器認(rèn)為當(dāng)前指令未定義時(shí),產(chǎn)生未 定義的指令異常中斷可以通過該異常中斷機(jī)制進(jìn)行軟件仿真.軟件中斷由用戶定義的中斷指令,執(zhí)行SWI指令產(chǎn)生.可用于用戶模式下的程序調(diào) 用特權(quán)操作指令.可通過該機(jī)制實(shí)現(xiàn)系統(tǒng)功能調(diào)用.指令預(yù)取簽止CErefech AborQ如果處理器預(yù)取的指令的地址不存在,或該地址不允許當(dāng)前指令訪問

42、,當(dāng) 被預(yù)取的指令執(zhí)行時(shí),處理器產(chǎn)生指令預(yù)取終止異常中斷.數(shù)據(jù)訪問終止 (DATA ABORT)如果數(shù)據(jù)訪問指令的目標(biāo)地址不存在,或者該地址不允許當(dāng)前指令訪問, 產(chǎn)生數(shù)據(jù)訪問終止異常中斷.外部中斷請求 (IRQ)當(dāng)處理器的外部中斷請求引腳有效,且CPSR的寄存器的I控制位被清除時(shí) ,產(chǎn)生外部中斷請求異常中斷.外設(shè)可通過該異常中斷請求中斷服務(wù).快速中斷請求 (FIQ)當(dāng)處理器的快速中斷請求引腳有效,且CPSR的F控制位被清除時(shí).產(chǎn)生 FIQ異常中斷.給pc強(qiáng)制賦向量地址值。(3)中斷向量表指定了異常中斷及其處理程序的對應(yīng)關(guān)系,它通常存放在存儲地址的低端。大小為32字節(jié),其中每個(gè)異常中斷占據(jù) 4字

43、節(jié)空間,用于存放一個(gè)跳轉(zhuǎn)指令或者一個(gè)向PC寄存器中賦值的指令。異常中斷向量表及異常優(yōu)先級中斷向量地址異常中斷類型異常中斷模式優(yōu)先級(6最低)0x00000000復(fù)位管理模式10x000000414未定義的指令未定義模式60x00000008軟件中斷管理模式6OkOOOOOOOC指令預(yù)取終止中止模式5OkOOOOOOIO數(shù)據(jù)訪問終止中止模式20x00000014保留未使用未使用0x00000018外部中斷請求IRQ模式4OxOOOOOOlC快速中斷請求FIQ模式3(4)異常優(yōu)先級:當(dāng)幾個(gè)異常中斷同時(shí)發(fā)生時(shí),就必須按照一定的次序來處理這些異常中斷。(5)從異常返回將連接寄存器LR的值減去相應(yīng)偏移量

44、后送到PC中;將SPS電制回CPSR中;若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,則要清除。通過普通指令控制 PC返回軟件中斷的返回指令MOVS R15, R14;將鏈接寄存器內(nèi)容移入 PC并轉(zhuǎn)換模式IRQ, FIQ和預(yù)取異常終止中斷的返回指令SUBS R15, R14, #4數(shù)據(jù)終止異常的返回指令SUBS R15, R14, #8;異常在導(dǎo)致異常的指令的下一條指令后產(chǎn)生2.6 ARM*部寄存器(1)寄存器結(jié)構(gòu)32位ARMt 31個(gè)32位通用寄存器,6個(gè)狀態(tài)寄存器。通用寄存器可用來保存數(shù)據(jù)和地址信息, 用R為前綴加寄存器序號表示15個(gè)通用寄存器(R0R14、一個(gè)或兩個(gè)狀態(tài)寄存器及程序計(jì)數(shù)器可在任意時(shí)

45、間和處理器模式下被訪問,有些處理器模式擁有自身獨(dú)立的寄存器文檔RDR1R2當(dāng)前模式R3R4IRQR5R6R7FIQR8R9R10R11R12R13R14 (SP) (LR)R15 (PC)AbortSVCThumb狀態(tài)下沒有這些寄存器.用于堆棧指針Undef隱藏的寄存器實(shí)用標(biāo)準(zhǔn)文案(2)通用寄存器分成三類:R0R7:未分組寄存器。每個(gè)未分組寄存器在所有的處理器模式下都表示同一個(gè)物理寄存器。R8R14分組寄存器。每個(gè)分組寄存器與一個(gè)用戶模式的寄存器對應(yīng)。R15:程序方十?dāng)?shù)器PC分組寄存器 R8R14可分為兩組:R8R12每個(gè)寄存器對應(yīng)兩組不同白物理寄存器,一組是FIQ模式下的,記為 R8_fiq

46、R12_fiq,另一組是除 FIQ模式外的:R8_usrR12_usr。R13R14分別對應(yīng)6個(gè)不同的物理寄存器。用戶模式和系統(tǒng)模式共用一個(gè)寄存器,另外 5個(gè)對 應(yīng)其余5種。R13 _<mode>R14 _<mode><mode>T以是以下幾種模式之一:usr、svc、abt、und、irq 和 fiq 。R13:被稱為堆棧指針 SP,但沒有任何指令強(qiáng)制性使用R13作為堆棧指針R14又被稱為鏈接寄存器 LR(Link Register)。當(dāng)調(diào)用子程序時(shí),返回地址被自動保存到R14由于ARM采用了多級流水線技術(shù),所以當(dāng)正常讀取PC值時(shí),該值為當(dāng)前指令地址值加8

47、,或是加12。2.7 ARMfr系的存儲系統(tǒng)(1)地址空間將存儲器看作是從零地址開始的字節(jié)的線性組合0-3字節(jié):第1個(gè)存儲的字?jǐn)?shù)據(jù)4-7字節(jié):第1個(gè)存儲的字?jǐn)?shù)據(jù)依次排列(2)存儲器格式大端格式31 24 23 16 15 8 70字: A A+l A+2A+331 24 23 16 15 8 70A+3A+2A+1A(3)存儲器訪問對準(zhǔn)無論取指還是內(nèi)存訪問都以字、半字或字節(jié)對準(zhǔn)訪問a)非對齊的指令預(yù)取操作ARM犬態(tài):將一個(gè)非齊地址寫入PC,數(shù)據(jù)的第0位和第1位被忽略,PC的bit1:0 為0Thumb狀態(tài):數(shù)據(jù)的第 0位被忽略,PC的bit0為0b) 非對齊地址內(nèi)存的訪問操作( LOAD/ST

48、OR映作)執(zhí)行結(jié)果不可預(yù)知然后使用這些低地址位控忽略字單元地址低兩位的值,半字單元最低位的值(分別對應(yīng)訪問字和半字) 在LDR和SWP旨令中,對存儲器訪問忽略造成地址不對齊的低地址位, 制裝載數(shù)據(jù)的循環(huán)文檔1.1 ARMt令系統(tǒng)及程序設(shè)計(jì)基礎(chǔ)教學(xué)目的:使學(xué)生對ARM旨令系統(tǒng)及程序設(shè)計(jì)的基礎(chǔ)知識有一定的了解。教學(xué)重點(diǎn):ARM旨令系統(tǒng)。教學(xué)難點(diǎn):ARM§序設(shè)計(jì)的基礎(chǔ)知識。教學(xué)方法與教學(xué)手段: 課堂講授,多媒體教學(xué)。教學(xué)時(shí)間:4課時(shí)。教學(xué)內(nèi)容1.2 ARM址方式(1)尋址方式處理器根據(jù)指令中給出的地址信息尋找物理地址的方式。尋找操作數(shù)或操作數(shù)地址的方式。立即尋址寄存器尋址ARM尋址方式寄存

49、器間接尋址 基址變址尋址 多寄存器尋址寄存器移位尋址 相對尋址I塔棧尋址(2)立即尋址也叫立即數(shù)尋址,操作數(shù)本身在指令中給出,該操作數(shù)被稱為立即數(shù)。例如:ADD R0, R0, #1 ; R0 R0+1立即數(shù)須以“ #”為前綴,對于十六進(jìn)制表示的立即數(shù),還需在“#”后加上“ 0x”或“ &”。(3)寄存器尋址操作數(shù)存在寄存器中。例如:ADD R0, R1, R2 ; R0 R1+R2(4)寄存器間接尋址以寄存器的值作為操作數(shù)地址。例如:ADD R0, R1, R2; R0 R1+R2(5)基址變址尋址a)基址加偏移的尋址方式將寄存器內(nèi)容與指令中給出的地址偏移量相加,得到操作數(shù)的有效地址

50、。如:LDR R0, R1, #4; R0 R1+4前變址:基址加變址作為操作數(shù)地址。后變址:基址作為操作數(shù)的地址,傳送后自動更新基址寄存器的值。STR R0JR1, #12; Rl+12jeR0BaseRegisterSource Register for STR前變址STR R0JR1L #12;R1WRO, RK-R1+12SourceRegister for STRb)基址加索引的尋址方式將基址寄存器的值與索引寄存器的值相加,形成操作數(shù)的有效地址。例如:LDRR0, R1, R2 ; R0R1+R2c)多寄存器尋址一條指令可完成多個(gè)(最多 16個(gè))寄存器值的傳送。例如:LDMIA R0

51、, R1, R2, R4; R1地址遞增,指針最后位置基址寄存器(Rn)R0IBSTMxx rlO, r0,rl,r4地址增加地址遞減,指針最后位置;R2R0+4;R4R0+8(6)寄存器移位尋址操作數(shù)為寄存器中數(shù)做相應(yīng)的移位而得到例如:ARM的移位或循環(huán)移位操作:LSL:邏輯左移(Logical Shift Left )LSR 邏輯右移(Logical Shift Right ) ADD R0, R1, R2, LSL #3; R0R1+8X R2ASR算術(shù)右移(Arithmetic Shift Right )。移位過程中保持符號位不變,若源操作數(shù)為正 數(shù),則字的高端空出的位補(bǔ)0。若源操作數(shù)

52、為負(fù)數(shù),則字的高端空出的位補(bǔ)1。ROR循環(huán)右移(Rotate Right )。從字的最低端移出的位依次填入字的高端空出的位。RRX擴(kuò)展的循環(huán)右移(Rotate Right Extended )。操作數(shù)向右移一位,左側(cè)空位由狀態(tài)寄 存器C位填充。當(dāng)移位的類型為 RRX時(shí),無需指定移位的位數(shù), 其它的則須指定移位的位數(shù)。(7)相對尋址以PC當(dāng)前值作為基地址,指令中的地址標(biāo)號作為位移量,兩者相加后得到操作數(shù)的有效地址。例如:BLNEXT ;跳轉(zhuǎn)至子程序 NEXTNEXTMOVPC, LR從子程序返回(8)堆棧尋址a)堆棧:按先進(jìn)后出(FILO)的方式工作,使用堆棧指針(Stack Pointer, SP)指示當(dāng)前操作位置。b)根據(jù)棧指針的指向位置可將堆棧分為滿堆棧:SP指向最后壓入堆棧的數(shù)據(jù)??斩褩#篠P指向下個(gè)將放入數(shù)據(jù)空位置c)SP根據(jù)堆棧的生成方式可將堆棧分為遞增堆棧(Ascending Stack):堆棧由低地址向高地址生成。iSPSP遞增堆棧遞減堆棧遞減堆棧(Descending Stack) :由高地址向低地址生成。d) ARMBt持四種類型堆棧工作方式滿遞增堆棧:SP指向最后壓入的數(shù)據(jù),且由低地址向高地址生成。滿遞減堆棧:SP指向最后壓入的數(shù)據(jù),且由高地址向低地址生產(chǎn)。滿遞增堆棧滿遞減堆??者f增堆棧:SP指向下個(gè)將放入數(shù)據(jù)的空位置,且由低地址向高地址生成???/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論