历史上的今天
今天是:2024年09月21日(星期六)
2020年09月21日 | 为什么说Cortex-M是低功耗应用的首选
2020-09-21 来源:elecfans
虽然Cortex-M处理器家族目标瞄准效能光谱较低端的区域,但是和大多数微控制器(MCU)采用的其他典型处理器相比,Cortex-M的效能依然算相当强悍。举例来说,像是许多高效能微控制器所采用的Cortex-M4与Cortex-M7处理器,其最高时脉频率就高达400MHz。
当然在选择处理器时效能并非唯一考量的因素。在许多应用中,低功耗与成本是顾客最关切的标准。因此,Cortex-M处理器家族纳入各种类型的产品来因应不同的需求(表1)。

Cortex-M和传统ARM处理器(像是ARM7TDMI、ARM9)大相径庭之处,就是大幅改造的架构。举例来说:
·仅支援ARM Thumb指令,但在Thumb-2中,已延伸成能支援16位元与32位元指令。
·中断处理任务,由名为巢状向量中断控制器(NVIC)的内建中断控制器执行,NVIC提供自动优先排程、中断遮罩与巢状配置、以及系统例外处理。
·中断处理程序(Handler)可写成正规的C语言函式以及向量化中断处理机制,不须使用软体去判断该服务哪个中断。而中断的回应则属于决定性,并具有低延迟特性。
·中断向量表方面,从分支指令改成中断的起始位址以及系统例外处理程序。
·暂存器区块(bank)以及程式开发模式的部分细节亦有所变动。
这些改变意谓许多针对传统ARM处理器撰写的组合语言程式码必须进行修改,而旧的Projects档在移植到Cortex-M时必须进行修改与重新编译。
指令集概述
在大多数情况中,软体的程式码多以C或其他高阶语言撰写。不过,如果对Cortex-M处理器所支援的指令集有基本的认识,能帮助判断特定任务须要用到哪一种Cortex-M处理器。指令集架构(ISA)是处理器架构的一部分,Cortex-M处理器能区分成几种架构类型(表2)。

所有Cortex-M处理器都支援名为Thumb的指令集。在Thumb-2技术释出后,整个Thumb指令集就变得相当庞大。然而,不同Cortex-M处理器支援Thumb ISA里的指令子集合也不一致,如图1所示。

图1 各款Cortex-M处理器支援的指令集
Cortex-M0/M0+/M1处理器以ARMv6-M架构为基础,其指令集很小,只有56个指令,其中大多数为16位元,如图1中较小的椭圆形。不过,处理器中的暂存器以及处理的资料依然为32位元。对于大多数简单的I/O控制作业以及生成资料处理,这样的小指令集就已经足够应付。由于指令集很小,因此仅须用少量的逻辑闸就能建置处理器,像是Cortex-M0与Cortex-M0+处理器仅需1.2万个逻辑闸。不过,这些指令当中有一些不能用有高位暂存器(R8到R12),而且在即时生成资料方面的能力相当有限。这主要是为了在超低功耗处理器设计以及效能之间作折衷。
Cortex-M3处理器是以ARMv7-M架构为基础,并支援大上许多的指令集,当中有许多属于32位元指令,让系统能更有效率地运用高位暂存器。此外,它还支援向量表分支指令与条件执行(使用IT指令)、硬体除法指令、乘加(MAC)运算、可变位元栏位作业。
史海拾趣
|
摘要:针对高压钠灯工作特点以及工作在高频状态下的缺陷,采用电流跟踪技术,设计了一种低频高压钠灯电子镇流器,并设计了可靠的逻辑控制启动电路。最后,给出实验结果。 关键词:高压钠灯;电子镇流器;闭环;电流跟踪 0 引 ...… 查看全部问答> |
|
在Protel中利用向导创建贴片元件时,你会发现SOP的管脚焊盘默认的是50milX100mil(毫英寸),而TSOP的参数书册给出的是18milX33mil,所以,我想问下是否TSOP(T-Type II)是SOP封装的浓缩型,尺寸有了压缩? 很多SDRAM(比如电脑上的内存条用的芯 ...… 查看全部问答> |
|
我用的是ylp2440的开发板,其cpu是s3c2410,买的时候带来的是linux2.6.12的内核,以及arm-linux-gcc的交叉编译工具。现在我想让这个板子跑uclinux的系统,那样怎么弄?是不是把uclinux移植到板子上,然后找个交叉编译工具,在linux的虚拟机上编程? ...… 查看全部问答> |
|
基于WINCE 5.0操作平台,在VC2005 开发MFC智能设备应用软件 在VS2005开发平台下,开发的软件直接通过Microsoft ActiveSync 同步软件下载到2440开发扳上可以运行(通过开发环境) ;单独生成Release版本的,脱离开发环境下载到开发板上就不能运行了. 而使用eVC开发的应用程序就不存在这个问题. &nbs ...… 查看全部问答> |




