Cortex - M3与Cortex - M4对比

发布者:Ziran520最新更新时间:2013-10-11 来源: eefocus关键字:Cortex-M3  Cortex-M4  串行线 手机看文章 扫描二维码
随时随地手机看文章

本文主要从M3和M4的MPU、DSP能力、debug调试和电源管理4个方面说明两者的区别。 

1.内存保护单元MPU 

与Cortex - M3的相同,MPU是一个Cortex - M4中用于内存保护的可选组件。处理器支持标准ARMv7内存保护系统结构模型。您可以使用在MPU执行 特权/访问 规则,或者独立的进程。这个MPU提供全面支持:

保护区

重叠保护区域,提升区域优先级(7 =最高优先级,0 =最低优先级)

访问权限

将存储器属性输出至系统

 

.DSP能力

 

下图展示了处理器运行在相同的速度下Cortex - M3和Cortex - M4在数字信号处理能力方面的相对性能比较。

在下面的数字,Y轴代表执行给出的计算用的相对的周期数。 因此,循环数越小,性能越好。以Cortex - M3作为参考,Cortex - M4的性能计算,性能比大概为其周期计数的倒数。举例说明,PID功能,Cortex - M4的周期数是与Cortex - M3的约0.7倍,因此相对性能是1/0.7,即1.4倍。

 

Cortex - M系列16位循环计数功能

 

Cortex - M系列32位循环计数功能

 

 

这很清楚的表明,Cortex - M4在数字信号处理方面对比Cortex - M3的16位或32位操作有着很大的优势。

Cortex-M4执行的所有的DSP指令集都可以在一个周期完成,Cortex - M3需要多个指令和多个周期才能完成的等效功能。即使是PID算法——通用DSP运算中最耗费资源的工作,Cortex - M4也能提供了一个1.4倍的性能得改善 。另一个例子,MP3解码在Cortex-M3需要20-25Mhz,而在Cortex-M4只需要10-12MHz。  [page]

 

      1). 32位乘法累加(MAC)

32位乘法累加(MAC)包括新的指令集和针对Cortex - M4硬件执行单元的优化它是能够在单周期内完成一个 32 × 32 + 64 - > 64 的操作 或 两个16 × 16 的操作。如下表列出了这个单元的计算能力。

 

 

      2). SIMD

Cortex - M4支持SIMD指令集,这在上一代的Cortex - M系列是不可用的。上述表中的指令,有的属于SIMD指令。与硬件乘法器一起工作(MAC),使所有这些指令都能在单个周期内执行。受益于SIMD指令的支持,Cortex - M4处理器是能在单周期完成高达32 × 32 + 64 - >64的运算,为其他任务释放处理器的带宽, 而不是被乘法和加法消耗运算资源。考虑以下复杂的算术运算,其中两个16 × 16乘法加上一个32位加法,被编译成由一个单一指令执行:SUM = SUM +(A* C)+(B *D)

 

 

 

 

      3).FPU 

FPU是Cortex - M4浮点运算的可选单元。因此它是一个专用于浮点任务的单元。这个单元通过硬件提升性能,能处理单精度浮点运算,并与IEEE 754标准 兼容。这完成了ARMv7 - M架构单精度变量的浮点扩展。FPU扩展了寄存器的程序模型与包含32个单精度寄存器的寄存器文件。这些可以被看作是:

  • 16个64位双字寄存器,D0 - D15
  • 32个32位单字寄存器,S0 - S31 该FPU提供了三种模式运作,以适应各种应用
  • 全兼容模式(在全兼容模式,FPU处理所有的操作都遵循IEEE754的硬件标准)
  • Flush-to-zero 冲洗到零模式(设置FZ位浮点状态和控制寄存器FPSCR [24]到flush-to-zero 模式。在此模式下,FPU 在运算中将所有不正常的输入操作数的算术CDP操作当做0.除了当从零操作数的结果是合适的情况。VABS,VNEG,VMOV 不会被当做算术CDP的运算,而且不受flush-to-zero 模式影响。结果是微小的,就像在IEEE 754 标准的描述的那样,在目标精度增加的幅度小于四舍五入后最低正常值,被零取代。IDC的标志位,FPSCR [7],表示当输入Flush时变化。UFC标志位,FPSCR [3],表示当Flush结束时变化)
  • 默认的NaN模式(DN位的设置,FPSCR [25],会进入NaN的默认模式。在这种模式下,如对任何算术数据处理操作的结果,涉及一个输入NaN,或产生一个NaN结果,会返回默认的NaN。仅当VABS,VNEG,VMOV运算时,分数位增加保持。所有其他的CDP运算会忽略所有输入NaN的小数位的信息)

下表显示的是FPU指令集

 

3.debug调试

与Cortex - M3的相同, Cortex - M4的设备是通过标准JTAG或串行线调试连接器调试。要连接到主机的接口,一个简单,标准化外部连接器是必要的。[page]

 

4. 电源

    1).电源管理

 

       2).功耗比较

从图所示,很明显在功率效率方面Cortex - M4的性能大大优于表Cortex - M3。 

关键字:Cortex-M3  Cortex-M4  串行线 引用地址:Cortex - M3与Cortex - M4对比

上一篇:TI Sitara AM335x ARM Cortex-A8 处理器支持Arduino
下一篇:单片机温度控制系统中的工频干扰及抑制措施

推荐阅读最新更新时间:2024-03-16 13:28

基于Cortex-M3的无线电表采集器的研制
1.引言 如今,随着信息化应用的发展,将无线通信技术、智能采集技术和自动控制技术综合应用于现代企业信息化管理,已成为一种趋势。 企业也迫切需要将各种有利于提高生产效率的信息因素收集汇总,用于分析与管理,而设备的消耗电能与运行时间正是十分重要的一种生产信息。本文所设计的电表 采集器 是生产采集系统的核心部件,通过电表上的通讯接口,实时地读取表中的数据,并通过无线网络将数据传送到服务器中。这使得企业能够及时准确地了解生产运行情况,在避免手工抄表中不及时和易出错情况的同时,也为合理利用资源及有效维护设备提供了丰富的数据支持。 2.采集系统的结构 近年来,电表的数字化程度越来越高,大多提供标准的通信总线结构,便于设计人员编程实现对电表数
[电源管理]
基于<font color='red'>Cortex-M3</font>的无线电表采集器的研制
IAR发布支持NXP Cortex-M3的开发套件
IAR Systems推出支持NXP超低功耗ARM Cortex-M3 LPC1768芯片的开发套件。这个套件包括LPC1768开发板、IAR Embedded Workbench for ARM集成开发环境评估学习版、IAR PowerPac RTOS评估版、IAR visualSTATE状态机建模工具评估版,以及一个独立的IAR J-Link仿真器。此外,这个套件所带的丰富示例代码能帮助用户加快LPC1768项目开发进度。 开发板有丰富的外设:三轴加速计、温度传感器、外部传感器输入、SD/MMC卡插槽、以太网连接器、收发器、不同的USB接口、麦克风、耳机接口、 CAN总线连接器、2个UART DB9连接器、JTA
[单片机]
STM32的Cortex-M3中断异常处理
前段时间用STM32F103VBT6写了一个中断的函数,借此机会想了解下STM32的中断机制,用过之后发现STM32的中断配置相当灵活,稳定行很高,测试发现几乎没出过什么差错。我在程序里开了三个中断,一个计数器用于精确延时用,另外两个为外部事件处理中断,下面一一详细介绍,方便初学者入门。 在进行STM32中断配置之前首先需要了解下它的中断部分: 一、Cortex-M3中断机制 在STM32处理器中有43个可屏蔽中断通道(不包含 16个 Cortex?-M3的中断线)。共设置了16个可编程的优先等级(使用了 4位中断优先级);它的嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和有效处理地处理
[单片机]
STM32的<font color='red'>Cortex-M3</font>中断异常处理
基于ARM7和DSP双核控制的逆变电源设计
0 引言 在电气智能化发展无处不在的今天,无数用电场合离不开逆变电源系统(Inverted Power Supply Systam,IPS)为现场设备提供稳定的高质量电源,特别在如通信机房、服务器工作站、交通枢纽调度中心、医院、电力、工矿企业等对电源保障有苛刻要求的场合。许多IPS产品因遵循传统设计而不符合或落后于现代电源理念,突出表现为控制模块的单一复杂化,控制器芯片落后且控制任务繁重,模拟闭环控制而得不到理想的监控和反馈调节效果,并由此带来单个控制设备软硬件设计上的隐患,这对IPS电源输出造成不利影响,甚至对用电设备因为供电故障而导致灾难性后果。数字化控制技术日趋成熟,而且在某些领先理念的电源设备控制应用场合得到应用,凸显出
[单片机]
基于ARM7和DSP双核控制的逆变电源设计
Cortex—M3的异常处理机制研究
  引 言    Cortex —M3是ARM公司第一款基于ARMv7一M的微控制器内核,在指令执行、异常控制、时钟管理、跟踪调试和存储保护等方面相对于ARM7有很大的区别。尤其在 异常处理 机制方面有很大的改进,其异常响应只需要12个时钟周期。NVIC(Nested Vectored Inteirupt Contmller,嵌套向量中断控制器)是Cortex—M3 处理器 的一个紧耦合部件,可以配置1~240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占(pre-emption)、尾链(tail—chaining)、迟到(1ate—arriving)技术的使用,大大缩短了异常事件的响应
[单片机]
STM32-自学笔记(2.ARMCortex-M3内核构架)
Cortex-M3 的CPU:32位CPU cpu的两种运行模式:线程模式(Thread)和处理模式(Handler)。 cpu不处理异常事件时,会运行在线程(Thread)模式下。而当cpu需要处理一个异常事件时,就会切换到处理(Handler)模式下。 此外 Cortex-M3的cpu还有两种处理代码的方式:私有模式和非私有模式。 私有模式下,cpu可以执行所有指令。 非私有模式下,部分指令是被禁止执行的(xPSR寄存器操作的MRS和MSR指令)。同时也不能对cpu的系统控制区中的寄存器进行进行操作。 另外,堆栈的使用也是可以设置的,主堆栈在线程模式和处理模式下都可以使用。通过设置,Handler模式也可以使用进程堆
[单片机]
浅谈μCOSII在Cortex-M3核的ARM处理器上的移植
随着科学技术的发展,嵌入式技术已被广泛应用到汽车电子、无线通信、数码产品等各个领域。嵌入式操作系统及嵌入式处理器技术发展迅猛,嵌入式操作系统典型代表有μCOS—II、μClinux、Winclow CE、VxWorks等;嵌入式处理器包括ARM、MIPS、PowerPC等。 1 软硬件开发环境及处理器介绍 1.1 软件硬开发环境 本移植过程使用的软件环境是RealView MDK开发套件,此产品是ARM公司最新推出的针对各种嵌入式处理器的软件开发工具,该开发套件功能强大,包括了μVisiON3集成开发环境和RealView编译器。使用的硬件平台是深圳英蓓特公司推出的全功能评估板STMl03V100,其上所采用的处理器是S
[工业控制]
浅谈μCOSII在<font color='red'>Cortex-M3</font>核的ARM处理器上的移植
Cortex-M3的特权级别
Cortex-M3支持两种操作模式,还支持两种特权级别; 两种模式为handler模式和线程(thread)模式,这两种模式是为了区别正在执行代码的类型;handler模式为异常处理例程的代码;线程模式为普通应用程序的代码;两种特权级别包括特权级和用户级,两种特权级别是对存储器访问提供的一种 保护机制;在特权级下,程序可以访问所有范围的存储器(如果有MPU,还要 在MPU的禁地之外),并且能够执行所有指令;在用户级下,不能访问系统控 制空间(SCS,包含配置寄存器及调试组件的寄存器),且禁止使用MSR访问特 殊功能寄存器(APSR除外),如果访问,则产生fault; 在线程模式,可以是特权级,也可以是用户级;handler
[单片机]
<font color='red'>Cortex-M3</font>的特权级别
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved