ARM Cortex-M3体系结构

发布者:滁州鱼儿最新更新时间:2020-01-08 来源: eefocus关键字:ARM  Cortex-M3  体系结构 手机看文章 扫描二维码
随时随地手机看文章

来自   ARM Cortex-M3处理器体系结构.PPT

定位:



概况:


  • Cortex-M3处理器内核

  • Cortex-M3处理器指令集Thumb-2

  • Cortex-M3嵌套向量中断控制器NVIC

  • Cortex-M3存储器管理

  • 存储器保护单元MPU

  • 总线接口

  • 调试跟踪接口

  • 开发软件和RTOS


Cortex-M3内核:

内核流水线分3个阶段:取指、译码和执行。当遇到分支指令时,译码阶段也包含预测的指令取指,这提高了执行的速度。处理器在译码阶段期间自行对分支目的地指令进行取指。在稍后的执行过程中,处理完分支指令后便知道下一条要执行的指令。如果分支不跳转,那么紧跟着的下一条指令随时可供使用。如果分支跳转,那么在跳转的同时分支指令可供使用,空闲时间限制为一个周期。 


Cortex-M3 处理器是一个 32 位处理器,带有 32 位宽的数据路径,寄存器库和存储器接口。其中有 13 个通用寄存器,两个堆栈指针,一个链接寄存器,一个程序计数器和一系列包含编程状态寄存器的特殊寄存器。 


Cortex-M3 处理器支持两种工作模式(线程(Thread)和处理器(Handler))和两个等级的访问形式(有特权或无特权),在不牺牲应用程序安全的前提下实现了对复杂的开放式系统的执行。


性能参数:


Cortex-M3处理器指令集Thumb-2:

好处:

  • 可以实现ARM指令的所有功能。

  • 增加了12条新指令,可以改进代码性能和代码密度之间的平衡。

  • 代码性能达到了纯ARM代码性能的98%。

  • 相对ARM代码,Thumb-2代码的大小仅有其74%

  • 代码密度比现有的Thumb指令集更高。(代码大小平均降低5%;代码速度平均提高2-3%。)

注:Cortex-M3不支持ARM指令集。

Cortex-M 技术之CMSIS:


Cortex-M 技术之NVIC:

  • NVIC 为处理器提供了卓越的中断处理能力。

  • Cortex-M 处理器使用一个矢量表,其中包含要为特定中断处理程序执行的函数的地址。接受中断时,处理器会从该矢量表中提取地址。为了减少门数并增强系统灵活性,Cortex-M 处理器使用一个基于堆栈的异常模型。出现异常时,系统会将关键通用寄存器推送到堆栈上。完成入栈和指令提取后,将执行中断服务例程或故障处理程序,然后自动还原寄存器以使中断的程序恢复正常执行。使用此方法,便无需编写汇编器包装器了(而这是对基于 C 语言的传统中断服务例程执行堆栈操作所必需的),从而使得应用程序的开发变得非常容易。  NVIC 支持中断嵌套(入栈),从而允许通过运用较高的优先级来较早地为某个中断提供服务。


  • 在硬件中完成对中断的响应
    Cortex-M 系列处理器的中断响应是从发出中断信号到执行中断服务例程的周期数。它包括: 
    1、检测中断
    2、背对背或迟到中断的最佳处理
    3、提取矢量地址
    4、将易损坏的寄存器入栈
    5、跳转到中断处理程序


  • ---这些任务在硬件中执行,并且包含在为 Cortex-M 处理器报出的中断响应周期时间中。在其他许多体系结构中,这些任务必须在软件的中断处理程序中执行,从而引起延迟并使得过程十分复杂


  • NVIC 中的尾链
    在背对背中断的情况下,传统系统会重复完整的状态保存和还原周期两次,从而导致更高的延迟。Cortex-M 处理器通过在 NVIC 硬件中实现尾链技术简化了活动中断和挂起的中断之间的转换。处理器状态会在比软件实现时间更少的周期内自动保存在中断条目上并在中断退出时还原,从而显著提升低 MHz 系统的性能。

  • NVIC 对迟到的较高优先级中断的响应
    如果在为上一个中断执行堆栈推送期间较高优先级的中断迟到,NVIC 会立即提取新的矢量地址来为挂起的中断提供服务,如上所示。Cortex-M NVIC 对这些可能性提供具有确定性的响应并支持迟到和抢占。

  • NVIC 进行的堆栈弹出抢占
    同样,如果异常到达,NVIC 将放弃堆栈弹出并立即为新的中断提供服务,如上所示。通过抢占并切换到第二个中断而不完成状态还原和保存,NVIC 以具有确定性的方式实现了缩短延迟。

其他,略过......


关键字:ARM  Cortex-M3  体系结构 引用地址:ARM Cortex-M3体系结构

上一篇:IAR--ARM常用快捷键及调试技巧
下一篇:ARM嵌入式整理

推荐阅读最新更新时间:2024-11-10 15:10

STM32的时钟系统体系结构
一、STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。   ①HSI振荡器(RC振荡器)时钟是高速内部时钟,一般很少使用,因为精度没有外部高速时钟(晶振)那么高    ②HSE是高速外部时钟接石英/陶瓷谐振器,或接外部时钟源,频率范围为4MHz~26MHz,M4开发板是8M ③LSI是低速内部时钟,RC振荡器,频率为32kHz提供低功耗时钟。主要供独立看门狗和自动唤醒单元使用。    ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。用于驱动 RTC 时钟 (RTCCLK)    ⑤PLL为锁相环倍频输出(倍频时钟)。STM32F4有两个PLL: 1、主PL
[单片机]
STM32的时钟系统<font color='red'>体系结构</font>
STM32F10x在应用中编程的实现方法
  引 言   Cortex-M3是首款基于ARMv7-M体系结构的32位标准处理器,RISC结构,包含高效灵活的Thumb-2指令集,拥有杰出的低功耗特性,为微控制器系统、汽车车身控制系统、工业控制系统和无线网络等嵌入式应用量身设计。ST公司推出基于Cortex-M3内核的STM32系列处理器,凭借其出众的性能、创新的外设、优越的功耗控制,得到众多工程师的青睐。   针对嵌入式应用的特点,STM32处理器提供功能强大的硬件调试接口——JTAG接口和串行接口,极大方便了设计,缩短了产品的开发周期。不仅如此,STM32处理器内嵌的闪存存储器允许在电路编程(In-Circuit Pro-gramming,ICP)和在应用中编程(I
[单片机]
STM32F10x在应用中编程的实现方法
arm开发经验!(连载2)
/* ********************************************************************************************************* * Programming Arm * * * (c) Copyright 1992-2008, 西安交通大学 * All Rights Reserved * * 自控研究所158 * * 文件 : 连载二 * 版本 : V1.00
[单片机]
<font color='red'>arm</font>开发经验!(连载2)
基于ARM的红外光汽车速度管理系统研究
1 引 言 车辆在公路上应以与路况相符的速度行驶,太快了易出事故, 太慢了将成为后续车辆的绊脚石。但是,常有个别司机不按规定的速度行驶而违章,导致事故频生。交管部门为了取证纠违, 目前多采用雷达测速系统(利用多普勒效应)对违章车辆进行测速取证,予以处罚。 可近期市场上出现了一种叫做 电子狗 的反雷达测速装置,此装置在接近雷达测速区时,能提前捕捉到雷达测速的信息而报警,使违章车辆逃脱处罚,事故隐患犹存。因此,研究一套既能准确测定汽车速度, 又不会被 电子狗 所发现的可靠测速、管理系统就尤为必要。 本文研究的以红外光传感器、ARM 为核心部件的新型测速系统测速时不会被 电子狗 所发现,不仅能识别汽车速度V 的大小,还能测出其
[单片机]
基于<font color='red'>ARM</font>的红外光汽车速度管理系统研究
ARM学习笔记020之_asm_、CPSR、SPSR、位置无关码等问题
1、_asm_:warning: implicit declaration of function '_asm_' 如果asm两边都是两个下划线就没有错误了:__asm__ 2、 makefile中-O -S必须大写 3、lds文件中:SECTIONS必须大写 4、ARM920T 包含了一个当前程序状态寄存器(Current Program Status Register-CPSR),另外还有5 个用于异 常程序处理的程序状态保存寄存器(Saved Program Status Registers-SPSR)。这些寄存器的功能为: ● 保存最近已处理的ALU 操作的信息 ● 控制中断的
[单片机]
基于ARM9的Linux代码移植
简介:介绍了嵌入式Linux移植的方法和过程,给出了嵌入式开发环境下基于硬件平台ARM9的bootloader、Linux内核移植的实现方案,该方案可为嵌入式系统的应用研究提供操作系统层面的支持。 摘要:介绍了嵌入式Linux移植的方法和过程,给出了嵌入式开发环境下基于硬件平台ARM9的bootloader、Linux内核移植的实现方案,该方案可为嵌入式系统的应用研究提供操作系统层面的支持。 O 引言 随着计算机技术、通信技术以及Internet的飞速发展。嵌入式系统已得到越来越广泛的应用。与此同时,嵌入式系统的复杂性也在不断增加,嵌入式操作系统已经成为其中最重要的组成部分。目前,市场上存在着众多的嵌入式操作系统,而在
[单片机]
基于<font color='red'>ARM</font>9的Linux代码移植
arm汇编冒泡排序
注:本程序在ARM Developer Suite v1.2下调试通过。 //--------------------------------------------------------------------------- // main.c //--------------------------------------------------------------------------- #include stdio.h #include stdlib.h #include time.h extern void start(int num,int *arr); void sort(int num, int
[单片机]
三星和ARM计划64位CPU 128位或两年内问世
    有消息人士向韩美国媒体透露称,韩国电子巨头三星和英国移动芯片架构设计公司 ARM,正在合作讨论与商定全新的 64 位移动处理器,并计划为三星明年发布的 Galaxy S5 旗舰手机和旗下新款平板电脑做准备。英国一家未知名公司高管透露称:“三星和 ARM 高管今天召开了会议,他们共同讨论了 ARM 的 64 位处理器。未来新的 64 位处理器极有可能应用到三星明年的智能手机上。” 另外,该高管还表示:“Cortex-M 系列架构的处理器已经提上日程,未来将针对智能家居系统和产品推出。同时,随着移动技术的发展,智能手机的人脸识别功能,以及类似 iPhone 的指纹扫描技术,将需要更大容量的内存支持。” 据称,参加本次 64 位
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved