导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[原创]高性能+高代码密度+小硅片面积——Cortex-M3[ajiuajiuajiu]

 *第39174篇: [原创]高性能+高代码密度+小硅片面积——Cortex-M3处理器

  
楼 主:ajiuajiuajiu 2011年9月15日09:16
 [原创]高性能+高代码密度+小硅片面积——Cortex-M3处理器
Cortex-M3 处理器
Cortex-M3 处理器 Image
ARM Cortex™- M3 处理器是行业领先的 32 位处理器,适用于具有高确定性的实时应用,已专门开发为允许合作伙伴为范围广泛的设备(包括微控制器、汽车车体系统、工业控制系统以及无线网络和传感器)开发高性能低成本的平台。该处理器提供出色的计算性能和对事件的卓越系统响应,同时可以应对低动态和静态功率限制的挑战。该处理器是高度可配置的,可以支持范围广泛的实现(从那些需要内存保护和强大跟踪技术的实现到那些需要极小面积的对成本非常敏感的设备)。

  为什么选择 Cortex-M3
  1、提供更高的性能和更丰富的功能。于 2004 年引进、最近通过新技术进行了更新并更新了可配置性的 Cortex-M3,是专门针对微控制器应用开发的主流 ARM 处理器。
  2、性能和能效。具有高性能和低动态能耗,Cortex-M3 处理器提供领先的功效:在 90nmG 基础上为 12.5 DMIPS/mW。将集成的睡眠模式与可选的状态保留功能相结合,Cortex-M3 处理器确保对于同时需要低能耗和出色性能的应用不存在折衷。
  3、全功能。该处理器执行 Thumb®-2 指令集以获得最佳性能和代码大小,包括硬件除法、单周期乘法和位字段操作。Cortex-M3 NVIC 在设计时是高度可配置的,最多可提供 240 个具有单独优先级、动态重设优先级功能和集成系统时钟的系统中断。
  4、丰富的连接。功能和性能的组合使基于 Cortex-M3 的设备可以有效处理多个 I/O 通道和协议标准,如 USB OTG (On-The-Go)。
   
  规范
Cortex-M3 功能
体系结构 ARMv7-M(哈佛)
ISA 支持 Thumb® / Thumb-2
管道 3 阶段 + 分支预测
Dhrystone 1.25 DMIPS/MHz
内存保护 带有子区域和后台区域的可选 8 区域 MPU
中断 不可屏蔽的中断 (NMI) + 1 到 240 个物理中断
中断延迟 12 个周期
中断间延迟 6 个周期
中断优先级 8 到 256 个优先级
唤醒中断控制器 最多 240 个唤醒中断;集成的 WFI 和 WFE 指令和“退出时睡眠”功能。
睡眠模式   睡眠和深度睡眠信号;随 ARM 电源管理工具包提供的可选保留模式
位操作 集成的指令和位段
增强的指令 硬件除法(2-12 个周期)和单周期 (32x32) 乘法。
调试 可选 JTAG 和串行线调试端口。最多 8 个断点和 4 个检测点。
跟踪 可选指令跟踪 (ETM)、数据跟踪 (DWT) 和测量跟踪 (ITM)

Cortex-M3 性能、功率和面积
工艺 TSMC 180nm G TSMC 90nm G
优化类型  速度优化 面积优化 速度优化 面积优化
标准单元库 ARM SC7 ARM SC7 ARM SC9 ARM SC9
性能(DMIPS 总计) 125 75 340 75
频率 (MHz) 100 50 275 50
功效 (DMIPS/mW) 3.75 6.25 待定 12.5
面积 (mm2) 0.37 0.25 0.083 0.047
内核面积、频率范围和功耗取决于工艺、库和优化。上面引用的数字是使用通用 TSMC 工艺技术和 ARM 物理 IP 标准单元库和 RAM 的合成核心的说明。面积数字包括 CM3Core、嵌套向量中断控制器 (NVIC) 和总线矩阵,但不包括可选组件(包括内存保护单元、嵌入式跟踪宏单元、断点单元、数据检测点单元和跟踪端口接口单元)。
速度优化的实现是指为了实现目标频率性能而做出的库选择、合成流决策和折衷。面积优化的实现是指为了实现目标面积密度而做出的库选择、合成流决策和折衷。
最坏情况下测得的频率和面积 - 0.18µm 工艺 - 1.62V、125C、慢硅;0.13µm 工艺 - 1.08V、125C、慢硅
典型情况下测得的功率 - 0.18µm 工艺 - 1.8V、25C、标准硅;0.13µm 工艺 - 1.2V、25C、标准硅。

ARM Cortex-M 技术
每个 Cortex-M 系列处理器都有特定的优点,但全部都受一些基本技术的支持,这些技术使 Cortex-M 处理器能够胜任多种嵌入式应用。


ARM Cortex-M 代码大小优势说明——从 8/16 位迁移到 ARM Cortex-M

ARM Cortex-M 处理器提供优于 8 位和 16 位体系结构的代码密度。这在减少对内存的需求和最大限度地提高宝贵的芯片上闪存的使用率方面具有很大的优势。我们将在本部分中分析此优势的原因。

指令宽度
认为 8 位微控制器使用 8 位指令,基于 ARM Cortex-M 处理器的微控制器使用 32 位指令,这是一种常见的误解。事实上,PIC18 和 PIC16 指令大小分别是 16 位和 14 位。对于 8051 体系结构,虽然某些指令的长度为 1 字节,但许多其他指令的长度为 2 或 3 字节。 通常,对于 16 位体系结构也是如此,其中某些指令可能占用 6 字节或更多内存。

ARM Cortex-M3 和 Cortex-M0 处理器利用可提供极佳代码密度的 ARM Thumb®-2 技术。使用 Thumb-2 技术,Cortex-M 处理器可以支持已扩展为包括更强大的 32 位指令的 16 位 Thumb 指令的根本基础。在许多情况下,C 语言编译器将使用 16 位版本的指令,除非使用 32 位版本可以更有效地执行运算。

指令效率
由于没有同时考虑到 ARM Cortex-M 处理器指令更为强大,此图片是不完整的。在许多情况下,单个 Thumb 指令可相当于数个 8/16 位微控制器指令;这意味着 Cortex-M 设备的代码量更少,因此可以更低的总线速度完成同一任务。

在各处理器体系结构之间比较 16 位乘法运算 8 位示例 16 位示例 ARM Cortex-M

MOV A, XL;2 字节
MOV B, YL;3 字节
MUL AB;1 字节
MOV R0, A;1 字节
MOV R1, B;3 字节
MOV A, XL;2 字节
MOV B, YH;3 字节
MUL AB;1 字节
ADD A, R1;1 字节
MOV R1, A;1 字节
MOV A, B;2 字节
ADDC A, #0;2 字节
MOV R2, A;1 字节
MOV A, XH;2 字节
MOV B, YL;3 字节
MUL AB;1 字节
ADD A, R1;1 字节
MOV R1, A;1 字节
MOV A, B;2 字节
ADDC A, R2;1 字节
MOV R2, A;1 字节
MOV A, XH;2 字节
MOV B, YH;3 字节
MUL AB;1 字节
ADD A, R2;1 字节
MOV R2, A;1 字节
MOV A, B;2 字节
ADDC A, #0;2 字节
MOV R3, A;1 字节  
MOV R4,&0130h
MOV R5,&0138h
MOV SumLo,R6
MOV SumHi,R7
(操作数被移入或移出内存映射的硬件乘法单元)
  MULS r0,r1,r0
 注意:Cortex-M 乘法实际上执行 32 位乘法,此处我们假设 r0 和 r1 包含 16 位数据。
压缩的数据占用空间
必须注意,Cortex-M 处理器支持 8 位和 16 位数据传输,可以有效利用数据内存。这意味着程序员可以继续使用他们在面向 8/16 位的软件中使用的相同数据类型。
 
能效优势
对不断增加连接(例如,USB、蓝牙和 IEEE 802.15)、具有复杂模拟传感器(例如,加速计和触摸屏)且成本日益降低的产品的需求,已导致需要将模拟设备与数字功能更紧密地集成,以对数据进行预处理和传输。大多数 8 位设备在不显著增加 MHz(并因此不显著增加功率)的情况下不提供支持这些任务的性能,因此嵌入式开发人员需要寻找具有更高级处理器技术的替代设备。16 位设备以前曾被用来解决微控制器应用中的能效问题。但是,16 位设备相对不高的性能意味着它们通常需要较长的活动工作周期或较高的时钟频率才能完成 32 位设备所完成的相同任务。
 
使软件开发更加容易
基于 ARM Cortex 处理器的微控制器的软件开发可能比 8 位微控制器产品的开发容易得多。 Cortex 处理器不但是完全可通过 C 语言进行编程的,而且还附带各种高级调试功能以帮助定位软件中的问题。 除 MCU 开发工具包中包括的所有附加资源外,Internet 上还有大量示例和教程,其中许多来自基于 ARM 处理器的 MCU 供应商的网站。

Cortex-M3 处理器
Cortex-M3 处理器 Image
ARM Cortex™- M3 处理器是行业领先的 32 位处理器,适用于具有高确定性的实时应用,已专门开发为允许合作伙伴为范围广泛的设备(包括微控制器、汽车车体系统、工业控制系统以及无线网络和传感器)开发高性能低成本的平台。该处理器提供出色的计算性能和对事件的卓越系统响应,同时可以应对低动态和静态功率限制的挑战。该处理器是高度可配置的,可以支持范围广泛的实现(从那些需要内存保护和强大跟踪技术的实现到那些需要极小面积的对成本非常敏感的设备)。

  为什么选择 Cortex-M3
  1、提供更高的性能和更丰富的功能。于 2004 年引进、最近通过新技术进行了更新并更新了可配置性的 Cortex-M3,是专门针对微控制器应用开发的主流 ARM 处理器。
  2、性能和能效。具有高性能和低动态能耗,Cortex-M3 处理器提供领先的功效:在 90nmG 基础上为 12.5 DMIPS/mW。将集成的睡眠模式与可选的状态保留功能相结合,Cortex-M3 处理器确保对于同时需要低能耗和出色性能的应用不存在折衷。
  3、全功能。该处理器执行 Thumb®-2 指令集以获得最佳性能和代码大小,包括硬件除法、单周期乘法和位字段操作。Cortex-M3 NVIC 在设计时是高度可配置的,最多可提供 240 个具有单独优先级、动态重设优先级功能和集成系统时钟的系统中断。
  4、丰富的连接。功能和性能的组合使基于 Cortex-M3 的设备可以有效处理多个 I/O 通道和协议标准,如 USB OTG (On-The-Go)。
   
  规范
Cortex-M3 功能
体系结构 ARMv7-M(哈佛)
ISA 支持 Thumb® / Thumb-2
管道 3 阶段 + 分支预测
Dhrystone 1.25 DMIPS/MHz
内存保护 带有子区域和后台区域的可选 8 区域 MPU
中断 不可屏蔽的中断 (NMI) + 1 到 240 个物理中断
中断延迟 12 个周期
中断间延迟 6 个周期
中断优先级 8 到 256 个优先级
唤醒中断控制器 最多 240 个唤醒中断;集成的 WFI 和 WFE 指令和“退出时睡眠”功能。
睡眠模式   睡眠和深度睡眠信号;随 ARM 电源管理工具包提供的可选保留模式
位操作 集成的指令和位段
增强的指令 硬件除法(2-12 个周期)和单周期 (32x32) 乘法。
调试 可选 JTAG 和串行线调试端口。最多 8 个断点和 4 个检测点。
跟踪 可选指令跟踪 (ETM)、数据跟踪 (DWT) 和测量跟踪 (ITM)

Cortex-M3 性能、功率和面积
工艺 TSMC 180nm G TSMC 90nm G
优化类型  速度优化 面积优化 速度优化 面积优化
标准单元库 ARM SC7 ARM SC7 ARM SC9 ARM SC9
性能(DMIPS 总计) 125 75 340 75
频率 (MHz) 100 50 275 50
功效 (DMIPS/mW) 3.75 6.25 待定 12.5
面积 (mm2) 0.37 0.25 0.083 0.047
内核面积、频率范围和功耗取决于工艺、库和优化。上面引用的数字是使用通用 TSMC 工艺技术和 ARM 物理 IP 标准单元库和 RAM 的合成核心的说明。面积数字包括 CM3Core、嵌套向量中断控制器 (NVIC) 和总线矩阵,但不包括可选组件(包括内存保护单元、嵌入式跟踪宏单元、断点单元、数据检测点单元和跟踪端口接口单元)。
速度优化的实现是指为了实现目标频率性能而做出的库选择、合成流决策和折衷。面积优化的实现是指为了实现目标面积密度而做出的库选择、合成流决策和折衷。
最坏情况下测得的频率和面积 - 0.18µm 工艺 - 1.62V、125C、慢硅;0.13µm 工艺 - 1.08V、125C、慢硅
典型情况下测得的功率 - 0.18µm 工艺 - 1.8V、25C、标准硅;0.13µm 工艺 - 1.2V、25C、标准硅。

ARM Cortex-M 技术
每个 Cortex-M 系列处理器都有特定的优点,但全部都受一些基本技术的支持,这些技术使 Cortex-M 处理器能够胜任多种嵌入式应用。


ARM Cortex-M 代码大小优势说明——从 8/16 位迁移到 ARM Cortex-M

ARM Cortex-M 处理器提供优于 8 位和 16 位体系结构的代码密度。这在减少对内存的需求和最大限度地提高宝贵的芯片上闪存的使用率方面具有很大的优势。我们将在本部分中分析此优势的原因。

指令宽度
认为 8 位微控制器使用 8 位指令,基于 ARM Cortex-M 处理器的微控制器使用 32 位指令,这是一种常见的误解。事实上,PIC18 和 PIC16 指令大小分别是 16 位和 14 位。对于 8051 体系结构,虽然某些指令的长度为 1 字节,但许多其他指令的长度为 2 或 3 字节。 通常,对于 16 位体系结构也是如此,其中某些指令可能占用 6 字节或更多内存。

ARM Cortex-M3 和 Cortex-M0 处理器利用可提供极佳代码密度的 ARM Thumb®-2 技术。使用 Thumb-2 技术,Cortex-M 处理器可以支持已扩展为包括更强大的 32 位指令的 16 位 Thumb 指令的根本基础。在许多情况下,C 语言编译器将使用 16 位版本的指令,除非使用 32 位版本可以更有效地执行运算。

指令效率
由于没有同时考虑到 ARM Cortex-M 处理器指令更为强大,此图片是不完整的。在许多情况下,单个 Thumb 指令可相当于数个 8/16 位微控制器指令;这意味着 Cortex-M 设备的代码量更少,因此可以更低的总线速度完成同一任务。

在各处理器体系结构之间比较 16 位乘法运算 8 位示例 16 位示例 ARM Cortex-M

MOV A, XL;2 字节
MOV B, YL;3 字节
MUL AB;1 字节
MOV R0, A;1 字节
MOV R1, B;3 字节
MOV A, XL;2 字节
MOV B, YH;3 字节
MUL AB;1 字节
ADD A, R1;1 字节
MOV R1, A;1 字节
MOV A, B;2 字节
ADDC A, #0;2 字节
MOV R2, A;1 字节
MOV A, XH;2 字节
MOV B, YL;3 字节
MUL AB;1 字节
ADD A, R1;1 字节
MOV R1, A;1 字节
MOV A, B;2 字节
ADDC A, R2;1 字节
MOV R2, A;1 字节
MOV A, XH;2 字节
MOV B, YH;3 字节
MUL AB;1 字节
ADD A, R2;1 字节
MOV R2, A;1 字节
MOV A, B;2 字节
ADDC A, #0;2 字节
MOV R3, A;1 字节  
MOV R4,&0130h
MOV R5,&0138h
MOV SumLo,R6
MOV SumHi,R7
(操作数被移入或移出内存映射的硬件乘法单元)
  MULS r0,r1,r0
 注意:Cortex-M 乘法实际上执行 32 位乘法,此处我们假设 r0 和 r1 包含 16 位数据。
压缩的数据占用空间
必须注意,Cortex-M 处理器支持 8 位和 16 位数据传输,可以有效利用数据内存。这意味着程序员可以继续使用他们在面向 8/16 位的软件中使用的相同数据类型。
 
能效优势
对不断增加连接(例如,USB、蓝牙和 IEEE 802.15)、具有复杂模拟传感器(例如,加速计和触摸屏)且成本日益降低的产品的需求,已导致需要将模拟设备与数字功能更紧密地集成,以对数据进行预处理和传输。大多数 8 位设备在不显著增加 MHz(并因此不显著增加功率)的情况下不提供支持这些任务的性能,因此嵌入式开发人员需要寻找具有更高级处理器技术的替代设备。16 位设备以前曾被用来解决微控制器应用中的能效问题。但是,16 位设备相对不高的性能意味着它们通常需要较长的活动工作周期或较高的时钟频率才能完成 32 位设备所完成的相同任务。
 
使软件开发更加容易
基于 ARM Cortex 处理器的微控制器的软件开发可能比 8 位微控制器产品的开发容易得多。 Cortex 处理器不但是完全可通过 C 语言进行编程的,而且还附带各种高级调试功能以帮助定位软件中的问题。 除 MCU 开发工具包中包括的所有附加资源外,Internet 上还有大量示例和教程,其中许多来自基于 ARM 处理器的 MCU 供应商的网站。


联系电话:13811657053
QQ:398977632
联系人:余先生


  
2楼:k19001579 2011年12月15日13:39
 [建议]
LPC1788微控制器还支持超扭曲向列(STN)和薄膜晶体管(TFT)图像显示面板,像素最高达1024×768像素,同时支持单色和最高24位真彩色。 
   120MHz(可以超频哦。呵呵)的LPC178x微控制器片载最大内存支持512KB闪存、96KBSRAM和4KBEEPROM。
   32位外部存储控制器支持SDRAM、SRAM,NOR和NandFLASH器件,提供四种芯片选择LQFP208 LQFP144 TFBGA208 TFBGA180 。 
   LPC178x系列还支持其他多个外设,包括:
     1个TFT LCD控制器
     1个USB主机和设备控制器、
     1个10/100T以太网控制器、
     防篡改事件记录器、
     8通道通用DMA(GPDMA)控制器、
     12位ADC、10位DAC、
     马达控制PWM和正交编码器接口、
     5个UART、
     3个I2C、
     1个I2S音频接口、
     3个SSP/SPI、智能卡接口、
     4个计时器、窗口看门狗定时器、
     1个超低功耗RTC
     以及最多165个通用I/O引脚。 

    恩智浦低成本开发工具平台,LPC1788现已批量供货,价格大幅下降。QQ:19001579 E-MAIL:19001579@QQ.COM TEL:13510231143 可以询价,如需资料请发邮件或加QQ

    LPC178x微控制器支持IAR、Keil MDK EmbeddedArtists和FutureDesigns等公司众多业界领先的综合硬件开发工具,以及LPCXpresso、ARM/Keil、CodeRed、IAR、Segger、MicroDigital、I2ST等公司的软件开发工具;
    此外,还支持丰富的产品驱动程序库和免费图形库(如:UCGUI,UCLINUX,EWIN,FATFS,UCFS)及SWIM(简单视窗接口管理器)。 
LPCCORTEX-M3
LPC1768FBD100
LPC1766FBD100
LPC1754FBD80
LPC1752FBD80
LPC1788FBD208
有需要的,请联系!QQ:19001579 E-MAIL:19001579@QQ.COM 有DEMO源代码,有FAE支持


>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:什么是孔径测定仪?

[下一篇主题]:超低价打样50元起