CortexM3处理器体系结构课件.ppt

上传人(卖家):晟晟文业 文档编号:4741755 上传时间:2023-01-06 格式:PPT 页数:33 大小:1.15MB
下载 相关 举报
CortexM3处理器体系结构课件.ppt_第1页
第1页 / 共33页
CortexM3处理器体系结构课件.ppt_第2页
第2页 / 共33页
CortexM3处理器体系结构课件.ppt_第3页
第3页 / 共33页
CortexM3处理器体系结构课件.ppt_第4页
第4页 / 共33页
CortexM3处理器体系结构课件.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、Cortex-M3Cortex-M3处理器体系结构处理器体系结构概览Cortex-M3处理器内核Cortex-M3处理器指令集Thumb-2Cortex-M3嵌套向量中断控制器NVICCortex-M3存储器管理存储器保护单元MPU总线接口调试跟踪接口开发软件和RTOSCortex-M3定位从右边的图可以分析出Cortex-M3处理器架构:ARMv7-M指令集:Thumb-2ARM 架构支持各种性能点上的实现。在许多细分市场中它都占有主要架构的地位。而其中Cortex-M 处理器,通过配置文件,可快速进行中断处理,适用于需要高度确定的行为和最少门数的成本、功耗敏感型设备。而Cortex-M3处

2、理器作为其中的佼佼者,就不得不引起我们的关注。Cortex-M3现状 NXP:LPC17000 TI-Luminary Micro:LM3S ST:STM32 Atmel:SAM3U 此四大知名厂商采用Cortex-M3处理器的设计出来的芯片,主要在于片上存储器容量、集成外设、功能模块的区别。CortexM3内核方框图Cortex-M3处理器主要包括:处理器内核与处理器内核紧密结合的嵌套向量中断控制器(NVIC)以实现低延迟的中断处理存储器保护单元(MPU),可选部件MPU实现存储器保护总线接口1.调试接口Cortex-M3性能参数Cortex-M3处理器规范 以下引用的数字是使用通用 TSM

3、C 工艺技术和 ARM 物理 IP 标准单元库和RAM 的合成核心的说明。Dhrystone:整数运算能力在1MHz频率下,每秒执行一百二十五万条指令的整数运算能力。Cortex-M3处理器指令集Thumb-2 ARM Thumb-2技术的代码密度和代码性能 引自:ARM公司Richard Phelan撰写的如何使用Thumb-2改善代码密度和性能Cortex-M3处理器指令集Thumb-2 Thumb-2技术可以带来很多好处:可以实现ARM指令的所有功能。增加了12条新指令,可以改进代码性能和代码密度之间的平衡。代码性能达到了纯ARM代码性能的98%。相对ARM代码,Thumb-2代码的大小

4、仅有其74%代码密度比现有的Thumb指令集更高。代码大小平均降低5%。代码速度平均提高2-3%。注:Cortex-M3不支持ARM指令集。Cortex-M 技术之技术之CMSIS ARM Cortex 微控制器软件接口标准(CMSIS)是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。使用 CMSIS,可以为接口外设、实时操作系统和中间件实现一致且简单的软件接口,从而简化软件的重用、缩短新微控制器开发人员的学习过程,并缩短新产品的上市时间。注:此接口标准可以从各自芯片厂家那里得到。例如ST公司 把CMSIS放在其开发的固件库内。CMSIS全称:Cortex Microcontrol

5、ler Software Interface Standard 以下是CMSIS结构图Cortex-M 技术之技术之CMSISCortex-M 技术之技术之NVIC NVIC 为处理器提供了卓越的中断处理能力。Cortex-M 处理器使用一个矢量表,其中包含要为特定中断处理程序执行的函数的地址。接受中断时,处理器会从该矢量表中提取地址。为了减少门数并增强系统灵活性,Cortex-M 处理器使用一个基于堆栈的异常模型。出现异常时,系统会将关键通用寄存器推送到堆栈上。完成入栈和指令提取后,将执行中断服务例程或故障处理程序,然后自动还原寄存器以使中断的程序恢复正常执行。使用此方法,便无需编写汇编器包

6、装器了(而这是对基于 C 语言的传统中断服务例程执行堆栈操作所必需的),从而使得应用程序的开发变得非常容易。NVIC 支持中断嵌套(入栈),从而允许通过运用较高的优先级来较早地为某个中断提供服务。Cortex-M 技术之技术之NVIC 在硬件中完成对中断的响应 Cortex-M 系列处理器的中断响应是从发出中断信号到执行中断服务例程的周期数。它包括:检测中断 背对背或迟到中断的最佳处理 提取矢量地址 将易损坏的寄存器入栈 跳转到中断处理程序 这些任务在硬件中执行,并且包含在为 Cortex-M 处理器报出的中断响应周期时间中。在其他许多体系结构中,这些任务必须在软件的中断处理程序中执行,从而引

7、起延迟并使得过程十分复杂。Cortex-M 技术之技术之NVIC NVIC 中的尾链 在背对背中断的情况下,传统系统会重复完整的状态保存和还原周期两次,从而导致更高的延迟。Cortex-M 处理器通过在 NVIC 硬件中实现尾链技术简化了活动中断和挂起的中断之间的转换。处理器状态会在比软件实现时间更少的周期内自动保存在中断条目上并在中断退出时还原,从而显著提升低 MHz 系统的性能。Cortex-M 技术之技术之NVIC NVIC 对迟到的较高优先级中断的响应 如果在为上一个中断执行堆栈推送期间较高优先级的中断迟到,NVIC 会立即提取新的矢量地址来为挂起的中断提供服务,如上所示。Cortex

8、-M NVIC 对这些可能性提供具有确定性的响应并支持迟到和抢占。Cortex-M 技术之技术之NVIC NVIC 进行的堆栈弹出抢占 同样,如果异常到达,NVIC 将放弃堆栈弹出并立即为新的中断提供服务,如上所示。通过抢占并切换到第二个中断而不完成状态还原和保存,NVIC 以具有确定性的方式实现了缩短延迟。Cortex-M3编程模式 工作模式:线程模式在复位时处理器进入线程模式,异常返回时也会进入该模式。处理模式出现异常时处理器进入处理模式。工作状态:Thumb状态是16位和32位半字对齐的thumb和thumb-2指令的正常执行状态。调试状态处理器停机调试时进入该状态。特权与非特权访问:代

9、码可以是特权执行或非特权执行。非特权执行时对有些资源的访问受到限制或不允许访问。特权执行可以访问所有资源。处理模式始终是特权访问,线程模式可以是特权或非特权访问。Cortex-M3编程模式 主堆栈和进程堆栈 线程模式使用主堆栈还是进程堆栈取决于 CONTROL 位1的值。该位可使用 MSR或 MRS 来访问,也可以在退出 ISR 时使用适当的 EXC_RETURN的值来设置。Cortex-M3 处理器17个寄存器 13 个通用寄存器,r0r12 分组的堆栈指针r13,SP_process和SP_main 链接寄存器,r14,用于异常返回和接受来自PC的返回地址。程序计数器,r15,由于该寄存器

10、的位0始终为0,所以该指令始终与字或半字边界对齐。1 个程序状态寄存器,xPSR,访问通过MRS和MSR指令。Cortex-M3编程模式寄存器集Cortex-M3编程模式 支持数据类型:32位,16位,8位。存储器格式:Coretx-M3处理器能够以小端格式和大端格式访问存储器的数据字,而访问代码始终使用小端模式。小端格式中,一个字中最低地址的字节位为字节的最低有效字节。最高地址的字节为最高有效字节。在大端格式中,一个字中最低地址的字节为该字的最高有效字节,而最高地址的字节为最低有效字节。Cortex-M3存储器映射 固定的存储器映射,下图为其映射结构。Cortex-M3存储器映射 存储器接口

11、存储器映射存储器映射接口接口Code取指令在ICode,数据访问在Dcode。SRAM取指令和数据访问都在System bus。Peripheral 同上External RAM同上External Device同上Periph_bitband数据访问别名,指令访问非别名。SRAM_bitband同上Private Peripheral Bus该存储区域从不执行。不能通过MPU修改System厂商系统外设的系统部分,同样为不能执行。Cortex-M3存储器映射Bit-banding机制 别名区的一个字映射为Bit-banding的一个位。即更改别名区里的某个字节 内容,相当于更改了Bit-ba

12、nding区的某一位内容。处理器的存储器映射包括来两个Bit-banding区域,分别位于SRAM和 外设存储区域中的最低1MB。别名区的字对应Bit-banding区的对应为公式如下:bit_word_offset=(byte_offset*32)+(bit_number*4)bit_word_addr=bit_band_base+bit_word_offset例如:地址0 x23FFFFE0的别名字映射为0 x200FFFFF的Bit-banding字节的位0;0 x23FFFFE0=0 x22000000+(0 xFFFFF*32)+0*4 下图为Bit-banding映射图 Corte

13、x-M3存储器映射Cortex-M3异常处理 Cortex-M3 处理器和嵌套向量中断控制器(NVIC)对所有异常按优先级进行排序并处理。所有异常都在处理模式中操作。出现异常时,自动将处理器状态保存到堆栈中,并在中断服务程序(ISR)结束时自动从堆栈中恢复。在状态保存的同时取出向量快速地进入中断。处理器支持末尾连锁(tail-chaining)中断技术,它能够在没有多余的状态保存和恢复指令的情况下执行背对背中断(back-to-back interrupt)。以下特性可使能高效的低延迟异常处理。特性:自动的状态保存和恢复。处理器在进入 ISR 之前将状态寄存器压栈,退出 ISR 之后将它们出栈

14、,实现上述操作时不需要多余的指令。优先级屏蔽支持临界区 Cortex-M3异常处理 自动读取代码存储器或 SRAM 中包含 ISR 地址的向量表入口。该操作与状态保存同时执行。支持末尾连锁(tail-chaining),在末尾连锁(tail-chaining)中,处理器在两个 ISR之间没有对寄存器进行出栈和压栈操作的情况下处理背对背中断。中断优先级可动态重新设置。Cortex-M3与 NVIC 之间采用紧耦合接口,通过该接口可以及早地对中断和高优先级的迟来中断进行处理。中断数目可配置为 1240。中断优先级的数目可配置为 18 位(1256 级)。处理模式和线程模式具有独立的堆栈和特权等级。

15、使用 C/C+标准的调用规范:ARM 架构的过程调用标准(PCSAA)执行 ISR 控制传输。Cortex-M3电源管理 ARMv7-M 架构支持为减少功耗而让 Cortex-M3 和系统时钟停止运行的系统睡眠模式。睡眠机制睡眠机制 描述描述立即睡眠等待中断(WFI)或等待事件(WFE)指令请求立即睡眠模式。这些指令使得 NVIC 让处理器进入挂起其他异常事件的低功耗状态。退出时睡眠当系统控制寄存器的 SLEEPONEXIT 位置位时,一旦处理器退出最低优先级的 ISR,它就进入低功耗状态。处理器无需将寄存器出栈,就可进入低功耗状态,并且无需让寄存器压栈就可以产生下一个异常事件。内核一直处于睡

16、眠状态直至别的异常被挂起。这是一个自动的WFI模式。深度睡眠 深度睡眠与立即睡眠和“退出时睡眠”机制共用。当系统控制寄存器的 SLEEPDEEP 位置位时,处理器指示系统可以进入深度睡眠。存储器保护单元MPU MPU是保护内存的一个组件。支持标准的 ARMv7(PMSA)“Protected Memory System Architecture”模型。MPU为以下操作提供完整的支持:保护区域 重叠保护区区域 访问权限 将存储器属性输出到系统 MPU可以用于:强制执行特权原则 分离程序 强制执行访问原则总线接口 ICode 存储器接口。从 Code 存储器空间(0 x0000000 0 x1FF

17、FFFFF)的取指都在这条 32 位 AHBLite 总线上执行。DCode存储器接口。对 Code 存储器空间(0 x0000000 0 x1FFFFFFF)进行数据和调试访问都在这条 32 位AHBLite 总线上执行。系统接口。对系统空间(0 x20000000 0 xDFFFFFFF)进行取指、数据和调试访问都在这条 32位 AHBLite总线上执行。外部专用外设总线(PPB)。对外部 PPB 空间(oxE0040000 0 xE00FFFFF)进行数据和调试访问都在这条 32 位 APB 总线(AMBA v2.0)上执行。跟踪端口接口单元(TPIU)和厂商特定的外围器件都在这条总线上

18、。调试跟踪端口 内核调试端口:通过内核调试寄存器进行访问,而调试访问这些寄存器时需通过 AHB-AP 端口。系统调试端口:其调试控制和数据访问也是通过 AHB-AP 端口实现。跟踪端口:跟踪端口的接口单元充当嵌入式跟踪宏单元(ETM)和仪表跟踪宏单元(ITM)与跟踪端口分析仪(TPA)之间的桥,跟踪数据从 ETM和 ITM 流入TPIU,并从 TPIU 流向跟踪端口,ETM 和 ITM 具有独立的 ID,并在需要的地方将 ID封包,然后由跟踪端口分析仪(TPA)捕获。开发软件支持开发软件支持 Keil RealView MDK:支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置

19、启动代码,集成Flash烧写模块,强大的 Simulation设备模拟,性能分析等功能,IAR:被业界评为最佳专用开发工具。其中IAR J-Trace for Cortex-M3跟踪仿真器是世界上第一款支持ARM Cortex-M3的高速跟踪仿真器。CooCox:免费开源其中CoIDE为ARM Cortex M系列的开发者提供了一套完整的集成开发环境,包括工程管理、编辑、编译工具、调试器及一个开发者可以分享自己的代码和看法的交流平台。RTOS支持支持 RTX:知名的的Keil公司。uCOS-II:Micrium公司,用于教育和研究是免费的。FreeRTOS:GPL(General Public License)GNU通用公共许可证。RT-Thread:国内RT-Thread工作室开发的开源实时操作系统。VxWorks:Wind River System(风河系统),比较高级,但是不开源。09年被因特尔收购。模式模式&级别级别谢谢!

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

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


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

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


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