嵌入式系统课件:第二讲-final.ppt

上传人(卖家):罗嗣辉 文档编号:2040509 上传时间:2022-01-19 格式:PPT 页数:107 大小:5.06MB
下载 相关 举报
嵌入式系统课件:第二讲-final.ppt_第1页
第1页 / 共107页
嵌入式系统课件:第二讲-final.ppt_第2页
第2页 / 共107页
嵌入式系统课件:第二讲-final.ppt_第3页
第3页 / 共107页
嵌入式系统课件:第二讲-final.ppt_第4页
第4页 / 共107页
嵌入式系统课件:第二讲-final.ppt_第5页
第5页 / 共107页
点击查看更多>>
资源描述

1、CHAPTER 2ARM体系结构体系结构2022-1-192内容提要内容提要嵌入式系统硬件基础嵌入式系统硬件基础ARM概述概述ARM微处理器结构微处理器结构ARM运行模式与寄存器运行模式与寄存器ARM的异常处理的异常处理ARM的存储器结构的存储器结构2022-1-193嵌入式系统硬件基础嵌入式系统硬件基础嵌入式系统的硬件通常由嵌入式系统的硬件通常由嵌入式处嵌入式处理器理器和和嵌入式外围设备嵌入式外围设备构成。构成。嵌入式处理器可分为:嵌入式处理器可分为: 嵌入式微控制器嵌入式微控制器MCU 嵌入式微处理器嵌入式微处理器MPU 嵌入式嵌入式DSP 嵌入式嵌入式SOC2022-1-194嵌入式系统

2、硬件基础嵌入式系统硬件基础o RISC和和CISCo 冯冯诺依曼体系结构和哈佛体系结构诺依曼体系结构和哈佛体系结构o 流水线流水线o 嵌入式微处理器体系结构嵌入式微处理器体系结构o 嵌入式外围设备嵌入式外围设备2022-1-195微处理器架构体系微处理器架构体系o CISC:复杂指令集(:复杂指令集(Complex Instruction Set Computer)n具有大量的指令和寻址方式,指令长度可变具有大量的指令和寻址方式,指令长度可变n8/2原则:原则:80%的程序只使用的程序只使用20%的指令的指令n大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。o RI

3、SC:精简指令集(:精简指令集(Reduced Instruction Set Computer)n只包含最有用的指令,指令长度固定只包含最有用的指令,指令长度固定n确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令n使使CPU硬件结构设计变得更为简单硬件结构设计变得更为简单2022-1-196CISC的背景和特点的背景和特点o 背景背景:存储资源紧缺存储资源紧缺,强调编译优化强调编译优化o 增强指令功能,设置一些功能复杂的指令,把一些原来由增强指令功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的(微程序)指令系统软件实现的、常用的功能改用硬件的(微程序)指

4、令系统来实现来实现o 为节省存储空间,强调高代码密度,指令格式不固定,指为节省存储空间,强调高代码密度,指令格式不固定,指令可长可短,操作数可多可少令可长可短,操作数可多可少o 寻址方式复杂多样,操作数可来自寄存器,也可来自存储寻址方式复杂多样,操作数可来自寄存器,也可来自存储器器o 采用微程序控制,执行每条指令均需完成一个微指令序列采用微程序控制,执行每条指令均需完成一个微指令序列o CPI,指令越复杂,指令越复杂,CPI越大。越大。2022-1-197CISC的主要缺点的主要缺点o 指令使用频度不均衡。指令使用频度不均衡。n高频度使用的指令占据了绝大部分的执行时间,扩充的复杂高频度使用的指

5、令占据了绝大部分的执行时间,扩充的复杂指令往往是低频度指令。指令往往是低频度指令。o 大量复杂指令的控制逻辑不规整,不适于大量复杂指令的控制逻辑不规整,不适于VLSI工艺工艺nVLSI的出现,使单芯片处理机希望采用规整的硬联逻辑实现,的出现,使单芯片处理机希望采用规整的硬联逻辑实现,而不希望用微程序,因为微程序的使用反而制约了速度提高。而不希望用微程序,因为微程序的使用反而制约了速度提高。(微码的存控速度比微码的存控速度比CPU慢慢5-10倍倍)。o 软硬功能分配软硬功能分配n复杂指令增加硬件的复杂度,使指令执行周期大大加长,直复杂指令增加硬件的复杂度,使指令执行周期大大加长,直接访存次数增多

6、,数据重复利用率低。接访存次数增多,数据重复利用率低。o 不利于先进指令级并行技术的采用不利于先进指令级并行技术的采用n流水线技术流水线技术2022-1-198CISC与与RISC的对比的对比2022-1-199RISC和和CISC的发展的发展o 尽管尽管RISC架构有不少优点,但决不能认为架构有不少优点,但决不能认为RISC架构就可架构就可以取代以取代CISC架构,事实上,架构,事实上,RISC和和CISC各有优势,而各有优势,而且界限并不那么明显。现代的且界限并不那么明显。现代的CPU往往采用往往采用CISC的外围,的外围,内部加入了内部加入了RISC的特性,如超长指令集(的特性,如超长指

7、令集(VLSW)CPU就是融合了就是融合了RISC和和CISC的优势,成为未来的的优势,成为未来的CPU发展方发展方向之一。向之一。2022-1-1910冯冯诺依曼体系结构诺依曼体系结构2022-1-1911哈佛体系结构哈佛体系结构2022-1-1912流水线流水线(Pipeline)技术技术o 基本思想:基本思想:n将一个重复的时序分解成若干个子过程,而每一个子过程都将一个重复的时序分解成若干个子过程,而每一个子过程都可以有效地在其专有功能段上与其他子过程同时执行。可以有效地在其专有功能段上与其他子过程同时执行。o 提高了提高了CPU的运行效率的运行效率o 内部信息流要求通畅流动内部信息流要

8、求通畅流动2022-1-1913ARM7TDMI指令流水线指令流水线该例中用该例中用6个时钟周期执行了个时钟周期执行了6条指令条指令所有的操作都在寄存器中(单周期执行)所有的操作都在寄存器中(单周期执行)指令周期数指令周期数(CPI)=12022-1-1914LDR流水线流水线2022-1-1915嵌入式外围设备嵌入式外围设备嵌入式系统外围设备是指在一个嵌入式硬件系统中,除了嵌入式系统外围设备是指在一个嵌入式硬件系统中,除了核心控制部件以外的完成存储、通信、保护、调试和显示核心控制部件以外的完成存储、通信、保护、调试和显示等辅助功能的其他部件。等辅助功能的其他部件。1、存储器类型、存储器类型

9、静态易失型存储(静态易失型存储(RAM、SRAM) 动态存储器(动态存储器(DRAM、SDRAM) 非易失型存储器(非易失型存储器(ROM、EPROM、E2PROM、Flash)2、接口类型、接口类型RS232、IRDA、SPI、I2C、USB、Ethernet等等3、显示类型:、显示类型: CRT LCD 触摸屏触摸屏2022-1-1916内容提要内容提要嵌入式系统硬件基础嵌入式系统硬件基础ARM概述概述ARM微处理器结构微处理器结构ARM运行模式与寄存器运行模式与寄存器ARM的异常处理的异常处理ARM的存储器结构的存储器结构2022-1-1917ARM 微处理器微处理器ARM公司简介公司简

10、介o成立于成立于19901990年年1111月月n前身为前身为 AcornAcorn计算机公司计算机公司nAdvance RISC Machine(ARM)Advance RISC Machine(ARM)o主要设计主要设计ARMARM系列系列RISCRISC处理器内核处理器内核o授权授权ARMARM内核给生产和销售半导体的合作伙伴内核给生产和销售半导体的合作伙伴nARM ARM 公司不生产芯片公司不生产芯片nIP(Intelligence PropertyIP(Intelligence Property,知识产权,知识产权) )o另外也提供基于另外也提供基于ARMARM架构的开发设计技术架构

11、的开发设计技术n软件工具软件工具, , 评估板评估板, , 调试工具调试工具, ,应用软件应用软件, ,n总线架构总线架构, , 外围设备单元,等等外围设备单元,等等2022-1-1918ARM 公司公司England:Cambridge, Maidenhead, Sheffield, BlackburnGermany:MunichFrance:Paris, Sophia AntipolisKorea:SeoulUS:Seattle, Los Gatos, Walnut Creek, Austin, Boston, San DiegoChina:Taiwan and ShanghaiJapan

12、:Shin-Yokohama (Tokyo)800+ 雇员雇员全球全球2022-1-1919ARM公司合作伙伴公司合作伙伴2022-1-1920ARM微处理器的应用领域微处理器的应用领域o ARM微处理器的应用领域微处理器的应用领域n 工业控制领域工业控制领域n 无线通讯领域无线通讯领域 n 网络应用网络应用n 消费类电子产品消费类电子产品 n 成像和安全产品成像和安全产品到目前为止,基于到目前为止,基于ARMARM技术的微处理器应用约占据了技术的微处理器应用约占据了3232位嵌入式微处理位嵌入式微处理器器7575以上的市场份额。以上的市场份额。全球全球80%80%的的GSM/3GGSM/3G

13、手机、手机、99%99%的的CDMACDMA手机以及绝大多数手机以及绝大多数PDAPDA产品均采用产品均采用ARMARM体系的嵌入式处理器,体系的嵌入式处理器,“掌上计算掌上计算”相关的所有领域皆为其所主宰。相关的所有领域皆为其所主宰。ARMARM技术正在逐步渗入到我们生活的各个方面。技术正在逐步渗入到我们生活的各个方面。2022-1-1921ARM产品产品Lexmark Z52 Color JetprinterSamsung ML5100AJVC Pixstar GC-X1HP Jornado 820Psion Revo PlusHP CapShareSony MZ-R90 MiniDisc

14、Nokia 8810Nokia MediamasterNintendoGameboyAdvanceEricssonR380Alba BushInternet TV3Com10/100 PCI NICIomega HipZipDiamond Multimedia Rio 6002022-1-1922内容提要内容提要嵌入式系统硬件基础嵌入式系统硬件基础ARM概述概述ARM微处理器结构微处理器结构ARM运行模式与寄存器运行模式与寄存器ARM的异常处理的异常处理ARM的存储器结构的存储器结构2022-1-1923ARM体系结构体系结构o 一个典型的一个典型的ARM体系结体系结构方框图如右图所示,包构方

15、框图如右图所示,包含有含有32位位ALU、31个个32位通用寄存器及位通用寄存器及6个个状态寄存器、状态寄存器、328位位乘法器乘法器3232位桶形移位桶形移位寄存器、指令译码及控位寄存器、指令译码及控制逻辑、指令流水线和数制逻辑、指令流水线和数据地址寄存器等。据地址寄存器等。2022-1-1924ARM处理器核简介处理器核简介o ARM公司开发了很多系列的公司开发了很多系列的ARM处理器核,目前最新的处理器核,目前最新的系列已经是系列已经是ARM11了,而了,而ARM6核以及更早的系列已经核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:很罕见了。目前应用比较广泛的系列是:2022-1

16、-1925ARM处理器的分类处理器的分类2022-1-1926ARM的发展的发展2022-1-1927ARM家族家族2022-1-1928ARM7系列系列o ARM7系列是为低功耗的系列是为低功耗的32位位RISC处理器,最适合用于处理器,最适合用于对价位和功耗要求较高的消费类应用。对价位和功耗要求较高的消费类应用。o ARM7系列有如下特点:系列有如下特点:n具有嵌入式具有嵌入式ICERT(实时在线仿真)逻辑,调试开发方便;(实时在线仿真)逻辑,调试开发方便;n极低的功耗,适合对功耗要求较高的应用,如便携式产品;极低的功耗,适合对功耗要求较高的应用,如便携式产品;n能够提供能够提供0.9MI

17、PS/MHz的三级流水线结构;的三级流水线结构;n代码密度高,并兼容代码密度高,并兼容16位的位的Thumb指令集;指令集;n对操作系统的支持广泛,如对操作系统的支持广泛,如Windows CE、Linux、Palm OS等;等;n指令系统与指令系统与ARM9系列、系列、ARM9E系列和系列和ARM10E系列兼系列兼容,便于用户的产品升级换代;容,便于用户的产品升级换代;n主频最高可达主频最高可达130M,高速的运算处理能力能胜任绝大多数,高速的运算处理能力能胜任绝大多数的复杂应用。的复杂应用。2022-1-1929ARM7系列系列o 主要应用领域:工业控制、主要应用领域:工业控制、Inter

18、net设备、网络和调制设备、网络和调制o 解调器设备、移动电话等多种多媒体和嵌入式应用。解调器设备、移动电话等多种多媒体和嵌入式应用。o ARM7系列微处理器包括如下几种类型的核:系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,。其中,ARM7TMDI是目前使用最广泛的是目前使用最广泛的32位嵌入式位嵌入式RISC处理器,属低端处理器,属低端ARM处理器核。处理器核。TDMI的的基本含义为:基本含义为:nT:支持:支持16为压缩指令集为压缩指令集Thumb;nD:支持片上:支持片上Debug;nM:内嵌硬件乘法器(:内嵌硬件乘法器(

19、Multiplier)nI:嵌入式:嵌入式ICE,支持片上断点和调试点;,支持片上断点和调试点;2022-1-1930ARM7处理核特点处理核特点o 3段指令流水:取指、译码和执行。程序计数器(段指令流水:取指、译码和执行。程序计数器(PC)指)指向取指的指令而不是正在执行的指令,这一点很重要,因向取指的指令而不是正在执行的指令,这一点很重要,因为正在执行的指令使用的程序计数器值总是当前地址前为正在执行的指令使用的程序计数器值总是当前地址前2条条指令的地址。指令的地址。o 存储器访问:使用单一存储器访问:使用单一32位数据线传送指令和数据。只有位数据线传送指令和数据。只有加载、存储和交换指令可

20、以访问存储器中数据。数据可以加载、存储和交换指令可以访问存储器中数据。数据可以是:是:8位(字节)、位(字节)、16位(半字)、位(半字)、32位(字)。字必须位(字)。字必须是是4字节边界对准,半字必须是字节边界对准,半字必须是2字节边界对准。字节边界对准。o 嵌入式嵌入式ICE-RT逻辑:提供了集成的在片调试支持逻辑:提供了集成的在片调试支持2022-1-1931指令流水线指令流水线为增加处理器指令流的速度,为增加处理器指令流的速度,ARM7系列使用系列使用3级流水线级流水线.允许多个操作同时处理,比逐条指令执行要快。允许多个操作同时处理,比逐条指令执行要快。PC指向正被取指的指令,指向正

21、被取指的指令,而非正在执行的指令而非正在执行的指令2022-1-1932ARM9微处理器微处理器o ARM9系列微处理器在高性能和低功耗特性方面提供最佳系列微处理器在高性能和低功耗特性方面提供最佳的表现。具有以下特点:的表现。具有以下特点:n5级整数流水线,指令执行效率更高。级整数流水线,指令执行效率更高。n提供提供1.1MIPS/MHz的哈佛结构。的哈佛结构。n支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。n支持支持32位的高速位的高速AMBA总线接口。总线接口。n全性能的全性能的MMU,支持,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作

22、系统。等多种主流嵌入式操作系统。nMPU支持实时操作系统。支持实时操作系统。n支持数据支持数据Cache和指令和指令Cache,具有更高的指令和数据处,具有更高的指令和数据处理能力。理能力。2022-1-1933ARM9微处理器微处理器o ARM9系列微处理器主要应用于无线设备、仪器仪表、安系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。等。o ARM9系列微处理器包含系列微处理器包含nARM920TnARM922TnARM940T2022-1-1934ARM9改进改进o Harvard架构架构

23、增加了可用的存储器宽度增加了可用的存储器宽度n指令存储器接口指令存储器接口n数据存储器接口数据存储器接口可以实现对指令和数据存储器的同时访问可以实现对指令和数据存储器的同时访问o 5 级流水线级流水线实现了以下改进:实现了以下改进:n改进改进 CPI 到到 1.5n提高了最大时钟频率提高了最大时钟频率2022-1-1935ARM9E微处理器微处理器o ARM9E系列微处理器的主要特点如下:系列微处理器的主要特点如下:n支持支持DSP指令集,适合于需要高速数字信号处理的场合。指令集,适合于需要高速数字信号处理的场合。n5级整数流水线,指令执行效率更高。级整数流水线,指令执行效率更高。n支持支持3

24、2位位ARM指令集和指令集和16位位Thumb指令集。指令集。n支持支持32位的高速位的高速AMBA总线接口。总线接口。n支持支持VFP9浮点处理协处理器。浮点处理协处理器。n全性能的全性能的MMU,支持众多主流嵌入式操作系统。,支持众多主流嵌入式操作系统。n支持数据支持数据Cache和指令和指令Cache,具有更高的处理能力。,具有更高的处理能力。n主频最高可达主频最高可达300M。2022-1-1936ARM9E微处理器微处理器o ARM9E系列微处理器主要应用于下一代无线设备、数字系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领消费品、成像设备

25、、工业控制、存储设备和网络设备等领域。域。o ARM9E系列微处理器包含系列微处理器包含nARM926EJ-SnARM946E-SnARM966E-S2022-1-1937ARM10E微处理器微处理器o ARM10E系列微处理器的主要特点如下:系列微处理器的主要特点如下:n支持支持DSP指令集,适合于需要高速数字信号处理的场合。指令集,适合于需要高速数字信号处理的场合。n6级整数流水线,指令执行效率更高。级整数流水线,指令执行效率更高。n支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。n支持支持32位的高速位的高速AMBA总线接口。总线接口。n支持支持VFP10浮点处理

26、协处理器。浮点处理协处理器。n全性能的全性能的MMU,支持众多主流嵌入式操作系统。,支持众多主流嵌入式操作系统。n支持数据支持数据Cache和指令和指令Cache,具有更高的处理能力,具有更高的处理能力n主频最高可达主频最高可达400M。n内嵌并行读内嵌并行读/写操作部件。写操作部件。与同等与同等ARM9ARM9器件相比,同样时钟频率下,性能提高近器件相比,同样时钟频率下,性能提高近50%50%2022-1-1938ARM9 vs ARM10与同等与同等ARM9ARM9器件相比,同样时钟频率下,性能提高近器件相比,同样时钟频率下,性能提高近50%50%2022-1-1939ARM10E微处理器

27、微处理器o ARM10E系列微处理器主要应用于下一代无线设备、数字系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。消费品、成像设备、工业控制、通信和信息系统等领域。o ARM10E系列微处理器包含系列微处理器包含nARM1020EnARM1022EnARM1026EJ-S2022-1-1940SecurCore微处理器微处理器o SecurCore系列微处理器除了具有系列微处理器除了具有ARM体系结构各种主体系结构各种主要特点外,还在系统安全方面具有如下的特点:要特点外,还在系统安全方面具有如下的特点:n带有灵活的保护单元,确保操作系统和应用数据的安

28、全。带有灵活的保护单元,确保操作系统和应用数据的安全。n采用软内核技术,防止外部对其进行扫描探测。采用软内核技术,防止外部对其进行扫描探测。n可集成用户自己的安全特性和其他协处理器。可集成用户自己的安全特性和其他协处理器。2022-1-1941SecurCore微处理器微处理器o SecurCore系列微处理器主要应用于一些对安全性要求较系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。银行业务、网络和认证系统等领域。o SecurCore系列微处理器包含系列微处理器包含n

29、SecurCoreSC100nSecurCoreSC110nSecurCoreSC200nSecurCoreSC2102022-1-1942StrongARM处理器处理器o Intel StrongARM微处理器是采用微处理器是采用ARM体系结构高度集体系结构高度集成的成的32位位RISC微处理器。它融合了微处理器。它融合了Intel公司的设计和公司的设计和处理技术以及处理技术以及ARM体系结构的电源效率,采用在软件上兼体系结构的电源效率,采用在软件上兼容容ARMv4体系结构、同时采用具有体系结构、同时采用具有Intel技术优点的体系技术优点的体系结构。结构。o Intel StrongARM

30、微处理器是便携式通讯产品和消费类微处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。系列产品。o 典型产品如典型产品如SA110、SA-1100等处理器芯片。等处理器芯片。2022-1-1943Xscale微处理器微处理器o Xscale处理器是基于处理器是基于ARMv5TE体系结构的解决方案,体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持是一款全性能、高性价比、低功耗的处理器。它支持16位的位的Thumb指令和指令和DSP指令集,已使用在数字移动电话、指令集,已使用在数字移动电话、个

31、人数字助理和网络产品等场合。个人数字助理和网络产品等场合。o Xscale处理器是处理器是Intel目前主要推广的一款目前主要推广的一款ARM微处理微处理器。器。o Intel采用采用XScale架构的嵌入式处理器典型产品有架构的嵌入式处理器典型产品有PXA25x、PXA26x和和PXA27x系列。系列。2022-1-1944ARM11微处理器微处理器o ARM11微处理器于微处理器于2002年年10月发布月发布o 流水线长度扩展到流水线长度扩展到8阶阶o 采用采用ARM v6指令集架构指令集架构o 主频最高可达主频最高可达1GHzo 智能电源管理技术,低功耗智能电源管理技术,低功耗2022-

32、1-1945性能参数对比性能参数对比2022-1-1946ARM系列产品系列产品2022-1-1947ARM系列产品系列产品2022-1-1948Intel ARM2022-1-1949最快的嵌入式处理器最快的嵌入式处理器o ARM Cortex A8 Application Processorn最快的处理器提供超过最快的处理器提供超过2000 DMIPS的性能的性能o 运行于运行于1GHz频率频率(90nm or 65nm制造工艺制造工艺)n功耗小于功耗小于300mW2022-1-1950Cortex-M3oARM Cortex-M3微控制器内核,专门针对微控制器内核,专门针对MCU应用领域

33、而设计,应用领域而设计,突出低成本、低功耗和高效率。突出低成本、低功耗和高效率。nARM Cortex ArchitecturenThumb-2 ISAn3 Stage Pipelinen1.22 DMIPS/MHz30%over ARM7TDMIn33K gates30%smaller than ARM7TDMIoLuminary Micro的的Stellaris系列系列MCU产品售价仅产品售价仅1美元美元2022-1-1951ARM微处理器的特点微处理器的特点o 采用采用RISC架构的架构的ARM微处理器一般具有如下特微处理器一般具有如下特点:点:n 体积小、低功耗、低成本、高性能;体积小

34、、低功耗、低成本、高性能;n 支持支持Thumb(16位)位)/ARM(32位)双指令集,位)双指令集,能很好的兼容能很好的兼容8位位/16位器件;位器件;n 大量使用寄存器,指令执行速度更快;大量使用寄存器,指令执行速度更快;n 大多数数据操作都在寄存器中完成;大多数数据操作都在寄存器中完成;n 寻址方式灵活简单,执行效率高;寻址方式灵活简单,执行效率高;n 指令长度固定指令长度固定2022-1-1952嵌入式处理器的选择嵌入式处理器的选择o 选择处理器时主要考虑的因素有选择处理器时主要考虑的因素有 : n市场供货情况市场供货情况 n嵌入式处理器内核选择嵌入式处理器内核选择 n处理器的处理速

35、度处理器的处理速度 n片内存储器的容量片内存储器的容量 n片内外设的选择片内外设的选择 n考虑胶合逻辑问题考虑胶合逻辑问题 n处理器的功耗处理器的功耗 n处理器的软件支持工具处理器的软件支持工具 n处理器是否内置调试工具处理器是否内置调试工具 n处理器供应商是否提供评估板处理器供应商是否提供评估板 2022-1-1953内容提要内容提要嵌入式系统硬件基础嵌入式系统硬件基础ARM概述概述ARM微处理器结构微处理器结构ARM运行模式与寄存器运行模式与寄存器ARM的异常处理的异常处理ARM的存储器结构的存储器结构2022-1-1954ARM支持的数据类型支持的数据类型o ARM处理器支持下列数据类型

36、:处理器支持下列数据类型:n字节字节8位位n半字半字16位(必须分配为占用两个字节)位(必须分配为占用两个字节)n字字32位(必须分配为占用位(必须分配为占用4各字节)各字节)V4V4版本之后的版本之后的ARMARM结构(结构(ARM7ARM7)都支持这)都支持这3 3种结构),而以前的版本只支持种结构),而以前的版本只支持字节和字;当数据类型定义为无符号型时,字节和字;当数据类型定义为无符号型时,N N位数据值使用正常的二进制格位数据值使用正常的二进制格式表示范围为式表示范围为0 02 2N N-1-1的非负整数;当数据类型定义为有符号型时,的非负整数;当数据类型定义为有符号型时,N N位数

37、位数据值使用据值使用2 2的补码格式表示范围为的补码格式表示范围为-2-2N-1N-1+2N-1-1的整数;的整数;所有数据操作,例如所有数据操作,例如ADDADD,都以字为单位;,都以字为单位;装载和保存指令可以对字节、半字和字进行操作,当装载字节或半字时装载和保存指令可以对字节、半字和字进行操作,当装载字节或半字时自动实现零扩展或符号扩展;自动实现零扩展或符号扩展;ARMARM指令的长度刚好是指令的长度刚好是1 1个字(分配为占用个字(分配为占用4 4个字节),个字节),ThumbThumb指令的长度指令的长度刚好是半字(占用刚好是半字(占用2 2个字节)。个字节)。2022-1-1955

38、ARM处理器状态处理器状态o ARM7TDMI处理器内核使用处理器内核使用V4T版本的版本的ARM结构,该结构,该结构包含结构包含32位位ARM指令集和指令集和16位位Thumb指令集。因指令集。因此此ARM7TDMI处理器有两种操作状态:处理器有两种操作状态:nARM状态:状态:32位,这种状态下执行的是字方式的位,这种状态下执行的是字方式的ARM指指令;令;nThumb状态:状态:16位,这种状态下执行半字方式的位,这种状态下执行半字方式的ARM指令。指令。o 注意:两个状态之间的切换并不影响处理器模式或寄存注意:两个状态之间的切换并不影响处理器模式或寄存器内容。器内容。2022-1-19

39、56处理器状态切换处理器状态切换o 使用使用BX指令将指令将ARM7TDMI内核的操作状态在内核的操作状态在ARM状态状态和和Thumb状态之间进行切换,如下程序所示。状态之间进行切换,如下程序所示。2022-1-1957ARM处理器运行模式处理器运行模式oARM处理器支持处理器支持7种不同的运行模式种不同的运行模式 :2022-1-1958特权模式特权模式2022-1-1959异常模式异常模式2022-1-1960用户和系统模式用户和系统模式2022-1-1961ARM微处理器的寄存器结构微处理器的寄存器结构o ARM处理器共有处理器共有37个寄存器个寄存器 ,被分成若干个组(,被分成若干个

40、组(bank),),包括:包括:n31个通用寄存器,包括程序计数器(个通用寄存器,包括程序计数器(PC 指针),均为指针),均为32位寄位寄存器;存器;n6个状态寄存器,用以标识个状态寄存器,用以标识CPU工作状态及程序运行状态,均为工作状态及程序运行状态,均为32位。位。目前只使用了其中的一部分目前只使用了其中的一部分2022-1-1962ARM状态各模式下的寄存器状态各模式下的寄存器2022-1-1963ARM寄存器寄存器2022-1-1964ARM寄存器寄存器2022-1-1965ARM寄存器寄存器2022-1-1966ARM寄存器寄存器2022-1-1967ARM寄存器寄存器2022-

41、1-1968ARM寄存器寄存器2022-1-1969ARM寄存器寄存器2022-1-1970ARM寄存器寄存器2022-1-1971ARM寄存器寄存器o R14(LR)寄存器与子程序调用)寄存器与子程序调用操作流程操作流程1.1.程序程序A A执行过程中调用程序执行过程中调用程序B B;2.2.程序跳转至标号程序跳转至标号LableLable,执行程序,执行程序B B。同。同时硬件将时硬件将“BL LableBL Lable”指令的下一条指令的下一条指令所在地址存入指令所在地址存入R14R14(LRLR););3.3.程序程序B B执行最后,将执行最后,将R14R14寄存器的寄存器的内容放入内

42、容放入PCPC,返回程序,返回程序A A;2022-1-1972ARM寄存器寄存器o R14寄存器与异常发生寄存器与异常发生n异常发生时,程序要跳转至异常服务程序,对返回地址的处异常发生时,程序要跳转至异常服务程序,对返回地址的处理与子程序调用类似,都是由硬件完成的。区别在于有些异理与子程序调用类似,都是由硬件完成的。区别在于有些异常有一个小常量的偏移。常有一个小常量的偏移。n注意:注意:n当发生异常嵌套时,这些异常之间可能会发生冲突。当发生异常嵌套时,这些异常之间可能会发生冲突。n例如:如果用户在用户模式下执行程序时发生了例如:如果用户在用户模式下执行程序时发生了IRQ中断,中断,用户模式寄

43、存器不会被破坏。但是如果允许在用户模式寄存器不会被破坏。但是如果允许在IRQ模式下的模式下的中断处理程序重新使能中断处理程序重新使能IRQ中断,并且发生了嵌套的中断,并且发生了嵌套的IRQ中中断时,外部中断处理程序保存在断时,外部中断处理程序保存在R14_irq中的任何值都将被中的任何值都将被嵌套中断的返回地址所覆盖。嵌套中断的返回地址所覆盖。2022-1-1973ARM寄存器寄存器2022-1-1974ARM寄存器寄存器2022-1-1975程序计数器程序计数器R15(PC)2022-1-1976ARM寄存器寄存器o 读读R15的限制的限制n正常操作时,从正常操作时,从R15读取的值是处理器

44、正在取指的地址,即读取的值是处理器正在取指的地址,即当前正在执行指令的地址加上当前正在执行指令的地址加上8个字节(两条个字节(两条ARM指令的长指令的长度)。由于度)。由于ARM指令总是以字为单位,所以指令总是以字为单位,所以R15寄存器的寄存器的最低两位总是为最低两位总是为0。2022-1-1977ARM寄存器寄存器o 当使用当使用STR或或STM指令保存指令保存R15时,会有一个例外。这些时,会有一个例外。这些指令可能将当前指令地址加指令可能将当前指令地址加8字节或加字节或加12字节保存(将来字节保存(将来可能还有其它数字)。偏移量是可能还有其它数字)。偏移量是8还是还是12取决于具体的取

45、决于具体的ARM芯片,但是对于一个确定的芯片,这个值是一个常量。芯片,但是对于一个确定的芯片,这个值是一个常量。所以最好避免使用所以最好避免使用STR和和STM指令来保存指令来保存R15,如果很难,如果很难做到,那么应当在程序中计算出该芯片的偏移量。做到,那么应当在程序中计算出该芯片的偏移量。2022-1-1978ARM寄存器寄存器o 写写R15的限制的限制n正常操作时,写入正常操作时,写入R15的值被当作一个指令地址,程序从这的值被当作一个指令地址,程序从这个地址处继续执行(相当于执行一次无条件跳转)。个地址处继续执行(相当于执行一次无条件跳转)。n由于由于ARM指令以字节为边界,因此写入指

46、令以字节为边界,因此写入R15的值最低两位的值最低两位通常为通常为0b00。具体的规则取决于内核结构的版本:。具体的规则取决于内核结构的版本:n在在ARM结构结构V3版及以下版本中,写入版及以下版本中,写入R15的值的最低两位的值的最低两位被忽略,因此跳转地址由指令的实际目标地址(写入被忽略,因此跳转地址由指令的实际目标地址(写入R15的的值)和值)和0 xFFFFFFFC相与得到;相与得到;n在在ARM结构结构V4版及以上版本中,写入版及以上版本中,写入R15的值的最低两位的值的最低两位为为0,如果不是,结果将不可预测。,如果不是,结果将不可预测。2022-1-1979程序状态寄存器程序状态

47、寄存器CPSR2022-1-1980程序状态寄存器程序状态寄存器CPSR2022-1-1981程序状态寄存器o寄存器寄存器R16用作程序状态寄存器用作程序状态寄存器CPSR(Current Program Status Register,当前程序状态寄存器)。在所有处理器模式下都,当前程序状态寄存器)。在所有处理器模式下都可以访问可以访问CPSR。CPSR包含条件码标志、中断禁止位、当前处理器模包含条件码标志、中断禁止位、当前处理器模式以及其他状态和控制信息。每种异常模式都有一个程序状态保存寄存式以及其他状态和控制信息。每种异常模式都有一个程序状态保存寄存器器SPSR(Saved Progra

48、m Status Register)。当异常出现)。当异常出现SPSR用于保留用于保留CPSR的状态。的状态。o(1)条件码标志)条件码标志nN、Z、C、V(Negative、Zero、Carry、OVerflow)均为条件码)均为条件码标志位(标志位(Condition Code Flags),它们的内容可被算术或逻辑运算),它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行。的结果所改变,并且可以决定某条指令是否被执行。CPSR中的条件码标中的条件码标志可由大多数指令检测以决定指令是否执行。在志可由大多数指令检测以决定指令是否执行。在ARM状态下,绝大多数的状态下,绝

49、大多数的指令都是有条件执行的。在指令都是有条件执行的。在Thumb状态下,仅有分支指令是有条件执行状态下,仅有分支指令是有条件执行的。的。n通常条件码标志通过执行比较指令(通常条件码标志通过执行比较指令(CMN、CMP、TEQ、TST)、一些)、一些算术运算、逻辑运算和传送指令进行修改。算术运算、逻辑运算和传送指令进行修改。2022-1-1982程序状态寄存器(2)控制位)控制位 程序状态寄存器程序状态寄存器PSR(Program Status Register)的最低的最低8位位I、F、T和和M4:0用作控制位。当异常出现用作控制位。当异常出现时改变控制位。处理器在特权模式下时也可由软件改变

50、。时改变控制位。处理器在特权模式下时也可由软件改变。n中断禁止位中断禁止位 I:置:置1,则禁止,则禁止IRQ中断;中断; F:置:置1,则禁止,则禁止FIQ中断。中断。nT位位 T=0 指示指示ARM执行;执行; T=1 指示指示Thumb执行。执行。n模式控制位模式控制位 M4、M3、M2、Ml和和M0(M4:0)是模式位,决定处理)是模式位,决定处理器的工作模式。器的工作模式。2022-1-1983ARM状态和状态和Thumb状态之间寄存器的关系状态之间寄存器的关系o Thumb状态寄存器与状态寄存器与ARM状态寄存器有如下的关系:状态寄存器有如下的关系:o Thumb状态状态R0R7与

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(嵌入式系统课件:第二讲-final.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|