2-ARM-Cortex-M体系结构[66页]课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《2-ARM-Cortex-M体系结构[66页]课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 66页 ARM Cortex 体系结构 66 课件
- 资源描述:
-
1、嵌入式系统设计嵌入式系统设计成都理工大学工程技术学院成都理工大学工程技术学院电子信息与计算机工程系电子信息与计算机工程系第第2章章 ARM Cortex-M体系结构体系结构2.1 ARM Cortex体系概述体系概述2.2 Cortex-M4内核基础内核基础2.3 存储器系统存储器系统2.4异常和中断异常和中断习题习题电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.1 ARM Cortex体系体系概概述述电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式
2、系统设计2.1 ARM Cortex体系体系概述概述ARM公司在经典公司在经典处理器处理器ARM11以后的产品都改用以后的产品都改用Cortex命名命名,主要分成,主要分成A、R和和M三类,旨在为各种不同的市场提供服务,三类,旨在为各种不同的市场提供服务,A系列处理器面向尖端的基于虚拟内存的操作系统和用户应用系列处理器面向尖端的基于虚拟内存的操作系统和用户应用;R系列处理器针对系列处理器针对实时系统实时系统;M系列处理器针对系列处理器针对微控制器微控制器。电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.1 ARM C
3、ortex体系体系概述概述指令的强弱是指令的强弱是CPU的重要指标,指令集是提高微处理器效率的最有效工具的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构来讲,指令集可分为复杂指令集(之一。从现阶段的主流体系结构来讲,指令集可分为复杂指令集(CISC)和精简指令集(和精简指令集(RISC)两部分。)两部分。2.1.1 CISC和和RISC1CISC机器机器CISC体系的指令特征为使用微代码,计算机性能的提高往往是通过增加体系的指令特征为使用微代码,计算机性能的提高往往是通过增加硬件的复杂性来获得的。硬件的复杂性来获得的。优点:指令丰富,功能强大,寻址方式灵活,能够有效
4、缩短新指令的微优点:指令丰富,功能强大,寻址方式灵活,能够有效缩短新指令的微代码设计时间,允许设计师实现代码设计时间,允许设计师实现CISC体系机器的向上相容。体系机器的向上相容。缺点:指令集及晶片的设计比上一代产品更复杂,不同的指令需要不同缺点:指令集及晶片的设计比上一代产品更复杂,不同的指令需要不同的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.1 ARM Cortex体系体系概述概述2.1.1
5、 CISC和和RISC2RISC机器机器RISC体系的指令特征:体系的指令特征:RISC包含简单、基本的指令,这些简单、基本的包含简单、基本的指令,这些简单、基本的指令可以组合成复杂指令。指令可以组合成复杂指令。优点:在使用相同的晶片技术和相同运行时钟下,优点:在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速系统的运行速度是度是CISC系统的运行速度的系统的运行速度的24倍。由于倍。由于RISC处理器的指令集是精简处理器的指令集是精简的,它的存储管理单元、浮点单元等都能设计在同一块芯片上。的,它的存储管理单元、浮点单元等都能设计在同一块芯片上。缺点:多指令的操作使得程式开发者必须小心
6、地选用合适的编译器,而缺点:多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。另外就是且编写的代码量会变得非常大。另外就是RISC处理器需要更快的存储处理器需要更快的存储器,并将其集成于处理器内部,如一级缓存(器,并将其集成于处理器内部,如一级缓存(L1Cache)。)。电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.1 ARM Cortex体系体系概述概述2.1.1 CISC和和RISC3RISC和和CISC比较比较项目项目RISCCISC指令系统简单、精简复杂、丰富指令数目一般小
7、于100条一般大于200条指令格式少多寻址方式少多指令字长基本等长不固定可访存指令主要是Load/Store不加限制各种指令使用频率相差不大相差很大各种指令执行时间大部分单周期相差很大优化编译实现较容易难表表2-1RISC和和CISC特点对比特点对比电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.1 ARM Cortex体系体系概述概述l 1985年,年,Roger Wilson和和Steve Furber设计了第一代设计了第一代32位、位、6MHz的处理器,做出了一台的处理器,做出了一台RISC指令集的计算机,简称
8、指令集的计算机,简称ARM(Acorn RISC Machine)ARM的由来。的由来。l 1990年,年,Acorn公司正式改组为公司正式改组为ARM计算机公司。计算机公司。l ARM公司生产的芯片,称为公司生产的芯片,称为ARM芯片。芯片。l ARM公司的业务一直是出售公司的业务一直是出售IP核。核。l ARM控股的控股的ARM处理器家庭的突出例子包括处理器家庭的突出例子包括ARM7,ARM9,ARM11 and Cortex-M,Cortex-A系列系列。2.1.2 ARM架构发展史架构发展史电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌
9、入式系统设计嵌入式系统设计ARM推出新款推出新款ARMv8架构。包括架构。包括Cortex-A53、Cortex-A57、Cortex-A73、Cortex-A75、Cortex-A76等等处理处理器器。ARM处理器处理器架构发展进程架构发展进程2.1 ARM系统概述系统概述2.1.2 ARM架构发展史架构发展史电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.1 ARM系统概述系统概述2.1.3 ARM体系结构类型体系结构类型ARM处理器分为处理器分为6类:类:Cortex-A系列处理器、系列处理器、Cortex-R
10、系列处系列处理器、理器、Cortex-M系列处理器、系列处理器、MachineLearning系列处理器系列处理器、SecurCore系列处理器、系列处理器、Neoverse系列处理器。系列处理器。项目项目Cortex-A系列处理器系列处理器Cortex-R系列处理器系列处理器Cortex-M系列处理器系列处理器设计特点高时钟频率,长流水线,高性能,对媒体处理支持(NEON指令集扩展)高时钟频率,较长的流水线,高确定性(中断延迟低)较短的流水线,超低功耗系统特性内存管理单元(MMU),c a c h e m e m o r y,A R M TrustZone安全扩展内存保护单元(MPU),ca
11、che memory,紧耦合内存(TCM)内存保护单元(MPU),嵌套向量中断控制器(NVIC),唤醒中断控制器(WIC),最新ARM TrustZone安全扩展目标市场移动计算、智能手机、高能效服务器、高端微处理器工业微控制器、汽车电子、硬盘控制器微控制器、深度嵌入系统(如传感器、MEMS、混合信号IC、IoT)表表2-2Cortex系列处理器的主要特征系列处理器的主要特征电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.1 ARM系统概述系统概述2.1.3 ARM体系结构类型体系结构类型图图2-1Cortex系列处
12、理器发展历程简图系列处理器发展历程简图电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.1 ARM系统概述系统概述2.1.4 Cortex-M系列处理器系列处理器表表2-2Cortex系列处理器的主要特征系列处理器的主要特征处理器处理器主要特性主要特性Cortex-M0处理器面向低成本,超低功耗的微控制器和深度嵌入应用的非常小的处理器(最小12K门电路)Cortex-M0+处理器针对小型嵌入式系统的最高能效的处理器,尺寸大小和编程模式与Cortex-M0处理器相近,但是具有扩展功能,如单周期I/O接口和向量表重定位功能
13、Cortex-M1处理器针对FPGA设计优化的小处理器,利用FPGA上的存储器块实现了紧耦合内存(TCM)和Cortex-M0处理器有相同的指令集Cortex-M3处理器针对低功耗微控制器设计的处理器,面积小但是性能强劲,支持可以处理器快速处理复杂任务的丰富指令集,具有硬件除法器和乘加指令(MAC)。并且,由于Cortex-M3处理器支持全面的调试和跟踪功能,软件开发者可以快速地开发他们的应用电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.1 ARM系统概述系统概述2.1.4 Cortex-M系列处理器系列处理器表表
14、2-2Cortex系列处理器的主要特征系列处理器的主要特征-续续处理器处理器主要特性主要特性Cortex-M4处理器不但具备Cortex-M3处理器的所有功能,而且扩展了面向数字信号处理(DSP)的指令集,如单指令多数据指令(SMID)和更快的单周期MAC操作。此外,它还有一个可选的支持IEEE754浮点标准的单精度浮点运算单元Cortex-M7处理器针对高端微控制器和数据处理密集的应用开发的高性能处理器,具备Cortex-M4处理器支持的所有指令功能,扩展支持双精度浮点运算,并且具备扩展的存储器功能,如Cache和紧耦合存储器(TCM)Cortex-M23处理器面向超低功耗、低成本应用设计的
15、小尺寸处理器,和Cortex-M0处理器相似,但是支持各种增强的指令集和系统层面的功能特性。Cortex-M23处理器还支持TrustZone安全扩展Cortex-M33处理器主流的处理器设计,与之前的Cortex-M3处理器和Cortex-M4处理器类似,但系统设计更灵活,能耗比更高效,性能更高。Cortex-M33处理器还支持TrustZone安全扩展电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.2 Cortex-M4内核基础内核基础电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工
16、大学工程技术学院嵌入式系统设计嵌入式系统设计2.2 Cortex-M4内核基础内核基础Cortex-M4处理器已设计具有适用于数字信号控制市场的多种高效处理器已设计具有适用于数字信号控制市场的多种高效信号处信号处理理功能。功能。Cortex-M4处理器采用扩展的单周期处理器采用扩展的单周期MAC指令、优化的指令、优化的SIMD指指令、饱和运算指令和一个可选的单精度浮点单元(令、饱和运算指令和一个可选的单精度浮点单元(FPU)。)。硬件体系结构硬件体系结构单周期单周期16位、位、32位位MAC用于指令提取的32位AHB-Lite接口用于数据和调试访问的32位AHB-Lite接口大范围的MAC32
17、位或64位累加选择指令在单个周期中执行单周期SIMD单周期双16位MAC4路并行8位加法或减法2路并行16位加法或减法指令在单个周期中执行2路并行16位MAC32位或64位累加选择指令在单个周期中执行浮点单元其他符合IEEE 754标准单精度浮点单元用于获得更高精度的融合MAC饱和数学桶形移位器 表表2-4Cortex-M4系列处理器数字信号处理功能系列处理器数字信号处理功能图图2-2Cortex-M4系列微控制器内部构造系列微控制器内部构造电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计基于基于Cortex-M3/M4
18、的微控制器芯片的微控制器芯片2.2 Cortex-M4内核基础内核基础电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.2 Cortex-M4内核基础内核基础1.32-bit微控制微控制器器:32-bit 寄存器寄存器组、存储器接口。组、存储器接口。2.哈佛架构:独立的指令总线和数据总线。哈佛架构:独立的指令总线和数据总线。3.存储空间:存储空间:4GB。4.寄存器:寄存器寄存器:寄存器(R0 到到 R15)和和 特殊功能寄存器。特殊功能寄存器。5.运行模式:运行模式:线程模式和处理模式线程模式和处理模式;特权级和用户
19、级。特权级和用户级。6.中断和异常:内置嵌套向量中断控制器;支持中断和异常:内置嵌套向量中断控制器;支持11 种系统异常外加种系统异常外加240 种外部种外部 IRQ。7.总线接口:若干总线接口允许总线接口:若干总线接口允许 Cortex-M4。8.MPU:一个可选的存储器保护单元允许对特权访问和用户程序访问:一个可选的存储器保护单元允许对特权访问和用户程序访问制定访问规则。制定访问规则。9.指令集:指令集:Thumb-2 指令集指令集;允许;允许 32位指令和位指令和16位指令被同时使用。位指令被同时使用。10.内部内部调试组件:调试组件:提供在线调试功能,例如:断点、单步、变量查看。提供在
20、线调试功能,例如:断点、单步、变量查看。电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2.2.1 寄存器组寄存器组r0r12,为为13个通用目的寄存器个通用目的寄存器 低组寄存器低组寄存器,r0-r7可以被指定通可以被指定通用寄存器的所有指令访问用寄存器的所有指令访问 高组寄存器高组寄存器,r8-r12可以被指定可以被指定通用寄存器的所有通用寄存器的所有32位指令访问位指令访问,16位位Thumb指令不能访问它们,指令不能访问它们,32位的位的Thumb2指令则不受限制。指令则不受限制。2.2 Cortex-M4内核基
21、础内核基础1、R0-R12电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计2、R13,两个堆栈指针,两个堆栈指针处理模式处理模式线程模式线程模式可用可用 MSP始终使用主堆栈指针始终使用主堆栈指针(MSP)也可用进程堆栈指针也可用进程堆栈指针(PSP)2.2 Cortex-M4内核基础内核基础电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计主堆栈和进程堆栈主堆栈和进程堆栈l Cortex-M3内核有两个堆栈指针:内核有两个堆栈指针:MSP和和PSP
22、l 结束复位后,所有代码都使用主堆栈结束复位后,所有代码都使用主堆栈 l 所有异常都使用主堆栈所有异常都使用主堆栈 l 异常处理程序(例如异常处理程序(例如SVC)可以通过改变其在退出时使用的)可以通过改变其在退出时使用的EXC_RETURN值来改变线程模式使用的堆栈。值来改变线程模式使用的堆栈。l 在线程模式中,使用在线程模式中,使用MSR指令对指令对CONTROL1执行写操作也可执行写操作也可以从主堆栈切换到进程堆栈。以从主堆栈切换到进程堆栈。l 堆栈指针堆栈指针r13是分组寄存器,在是分组寄存器,在SP_main和和SP_process之间切换之间切换。在任何时候,进程堆栈和主堆栈中只有
23、一个是可见的,由。在任何时候,进程堆栈和主堆栈中只有一个是可见的,由r13指示。指示。2.2 Cortex-M4内核基础内核基础2、R13,两个堆栈,两个堆栈指针指针电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计堆栈与微控制器模式的堆栈与微控制器模式的对应关系对应关系2.2 Cortex-M4内核基础内核基础通过通过MSR指令修改指令修改CONTROL1进行堆栈切换进行堆栈切换CONTROL1主堆栈主堆栈进程堆栈进程堆栈10控制寄存器的第控制寄存器的第1 1位位一般通过中断返回进行堆栈切换,一般通过中断返回进行堆栈切换
24、,MSRMSR指令切指令切换用的极少。换用的极少。2、R13,两个堆栈,两个堆栈指针指针电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计CONTROL1=0:使用使用MSP线程模式线程模式handler模式模式线程模式线程模式(使用使用MSP)(使用使用MSP)(使用使用MSP)线程模式线程模式handler模式模式线程模式线程模式(使用使用PSP)(使用使用MSP)(使用使用PSP)CONTROL1=1:线程模式使用线程模式使用PSPHandler模式使用模式使用MSP2.2 Cortex-M4内核基础内核基础2、R1
25、3,两个堆栈,两个堆栈指针指针电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学院嵌入式系统设计嵌入式系统设计int main().delay();SetLED1();void delay().BL delaydelay:.BX LR .0X20F00X20F4地址地址0X10F40X10F4执行执行BL指令,指令,LR的值同的值同时更新(时更新(0X20F4)2.2 Cortex-M4内核基础内核基础3、链接链接寄存器(寄存器(LR)C代码代码汇编代码汇编代码电子信息与计算机工程系电子信息与计算机工程系 成都理工大学工程技术学院成都理工大学工程技术学
展开阅读全文