《stm32嵌入式系统开发实战指南》一1.2 Cortex内核系列处理器技术特点

1.2 Cortex内核系列处理器技术特点

1.2.1 ARM Cortex-M系列处理器

ARM Cortex-M3是一种基于ARMv7体系结构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(与冯?诺依曼结构的数据和指令共用一条总线相比,双总线架构使吞吐量得到有效提升)。除了使用哈佛结构,Cortex-M3 还具有其他显著的优点:具有更小的基础内核、价格更低、速度更快。与内核集成在一起的是一些系统外设,如中断控制器、总线矩阵、调试功能模块,而这些外设通常都是由芯片制造商增加的。Cortex-M3 还集成了睡眠模式和可选的完整八区域存储器保护单元。
Cortex-M3旨在向专业嵌入式市场提供低成本、低功耗的芯片,主要应用于汽车和无线通信领域。与之前其他ARM内核一样,ARM公司将内该设计授权给各个制造商来开发具体的芯片。迄今为止,已经有多家芯片制造商开始生产基于Cortex-M3内核的微控制器,如意法半导体、流明诺瑞(现已被德州仪器收购)、恩智浦等。
Cortex-M3处理器是使用最少门数的ARM CPU,相对于过去的产品大大减小了芯片面积,可减小装置的体积或采用更低成本的工艺进行生产,仅33 000门的内核性能可达l.2 DMIPS/MHz。此外,基本系统外设还具备高度集成化特点,集成了许多紧耦合系统外设,合理利用了芯片空间,使系统满足下一代产品的控制需求。总体来讲,ARM Cortex-M3处理器整合了多种技术,减少对内存的依赖,RISC内核在降低功耗的基础上提供出色的性能,可实现由以往的代码向32位微控制器的快速移植,是专为存储器和处理器的尺寸对产品成本影响极大的各种应用开发设计的。
在指令集上,Cortex-M3只支持最新的 Thumb-2指令集。这种设计的优势在于:
避免状态切换带来的额外开销;
Thumb-2指令集专门面向C语言设计,对硬件除法以及本地位域操作更为方便和高效;
允许用户在C代码层面维护和修改应用程序,易于重用;
具有调用汇编代码的功能。
综合以上这些优势,将更易于开发新产品,缩短上市时间。
Cortex-M3处理器结合了执行Thumb-2指令集的32位哈佛体系结构和系统外设,包括Nested Vectored Interrupt Controller和Arbiter总线。该技术方案在测试和实例应用中表现出较高的性能:在台机电180 nm工艺下,芯片性能达1.2 DMIPS/MHz,时钟频率高达l00 MHz。Cortex-M3处理器还实现了末尾连锁(Tail-Chaining)中断技术。该技术是一项完全基于硬件的中断处理技术,最多可减少12个时钟周期,在实际应用中可减少70%中断。并且推出了新的单线调试技术,避免使用多引脚进行JTAG调试,并全面支持RealView编译器和RealView调试产品。RealView工具向设计者提供模拟、创建虚拟模型、编译软件、调试、验证和测试基于ARMv7体系结构的系统等功能,目前,以Cortex-M4为内核的微控制器也已面市,性能较Cortex-M3有较大幅度的提升,图1.3为Cortex-M系列处理器的发展沿革及性能对比。

为微控制器应用而开发的Cortex-M3拥有以下性能:
实现单周期Flash应用最优化;
准确快速地中断处理,永不超过12个时钟周期,仅6个时钟周期的末尾连锁中断技术;
有低功耗时钟门控(Clock Gating)的3种睡眠模式;
单周期乘法和乘法累加指令;
ARM Thumb-2指令集混合的16/32位固有指令集,无模式转换;
包括数据观察点和Flash补丁在内的高级调试功能;
原子位操作,在一个单一指令中读取/修改/编写;
1.25 DMIPS/MHz(与0.9 DMIPS/MHz的ARM7和1.1 DMIPS/MHz的ARM9相比)。

1.2.2 ARM Cortex-R系列处理器

ARM Cortex-R系列处理器目前包括Cortex-R4和Cortex-R4F两个型号,主要适用于实时系统的嵌入式处理器。
1.Cortex-R4处理器
Cortex-R4处理器支持手机、硬盘、打印机及汽车电子设计,能协助新一代嵌入式产品快速执行各种复杂的控制算法与实时工作的运算;可通过内存保护单元(Memory Protection Unit,MPU)、高速缓存以及紧密耦合内存(Tightly Coupled Memory,TCM)让处理器针对各种不同的嵌入式应用进行最佳化调整,且不影响基本的ARM指令集兼容性。这种设计能够在沿用原有程序代码的情况下,降低系统的成本与复杂度,同时其紧密耦合内存的功能也能提供更小的规格及更高效率的整合,并带来更短的响应时间。
Cortex-R4处理器采用ARMv7体系结构,能够与现有的程序维持完全的回溯兼容性,支持现今全球各地的数十亿系统;并已针对Thumb-2指令集进行最佳化设计。此项特性带来很多的利益,其中包括:更低的时钟频率所带来的省电效益;更高的性能使各种多功能特色融入移动电话与汽车产品的设计中;更复杂的算法支持更高性能的数码影像与内置硬盘的系统。运用Thumb-2指令集,以及RealView开发套件,使芯片内部存储器的容量最多可降低30%,大幅降低系统成本,而其速度比在ARM9tt6E-S处理器所使用的Thumb指令集高出40%。由于存储器在芯片中的占用空间愈来愈多,因此这项设计将大幅节省芯片容量,让芯片制造商运用这款处理器开发各种SoC(System on a Chip)器件。
相比于前几代处理器,Cortex-R4处理器高效率的设计方案使其能以更低的时钟达到更高的性能。经过最佳化设计的Artisan Mctro内存则进一步降低嵌入式系统的体积与成本。Cortex-R4处理器搭载一个具备双指令发送功能的先进的微架构,采用90nm工艺并搭配Artisan Advantage程序库的组件,底面积不到1mm2,耗电最低0.27mW/MHz,并能提供超过600 DMIPS的性能。
Cortex-R4处理器在各种安全应用上加入了容错功能和内存保护机制,支持最新版OSEK实时操作系统;支持RealView Develop系列软件开发工具、RealView Create系列ESL工具与模块,以及Core Sight除错与追踪技术,协助设计者迅速开发各种嵌入式系统应用。
2.Cortex-R4F处理器
Cortex-R4F处理器拥有针对汽车市场而开发的各项先进功能,包括自动除错功能、可相互连接的错误侦测机制,以及可选择优化的浮点运算单元(Floating-Point Unit,FPU)。ECC(Error Correcting Code)技术能监控内存存取作业,侦测并校正各种错误。当发生内存错误时,ECC逻辑除通报错误并停止系统运作外,还会加以校正。Cortex-R4F还拥有Cortex-R4处理器的各项先进功能,能够透过高效能内存保护单元、高速缓存以及紧密耦合内存,使处理器针对各种不同的应用进行最佳化调整;同时将传统处理器中的错误侦测功能延伸至整个SoC中,系统会不断地扫描先前侦错的资料,以提升系统的可靠度。基于对安全性能的重视,Cortex-R4F处理器特别搭载了高分辨率内存保护机制,能严密控制独立的软件作业。
Cortex-R4F处理器中执行浮点运算的FPU提供胜过固定小数点操作数的动态范围及精准度。该FPU与ARM的其他处理器核心之间的FPU均维持同溯兼容性,并针对各种汽车应用常见的单精度处理作业进行优化。使用单倍精度格式,而非双倍精度的数值资料,不仅能将数据处理速度提升至2倍,更能维持必要的精度以提高SoC设计的效率。
Cortex-R4F处理器采用一套具备双指令发送功能的先进微架构,透过Artisan Advantage程序库中针对90nm工艺的优化,达到超过800 DMIPS的性能水准。Level 1内存松散的时序设计,使组件能使用高密度、低功耗的RAM,使得在总成本中占有高比重的内存能像处理器逻辑一样拥有节省空间的优势。在90nm工艺下,占用空间不到1mm2,且耗电量不到0.27 mW/MHz,可以有效地协助系统开发者降低成本与功耗。该处理器采用ARMv7ISA,功能特点与Cortex-R4类似。

1.2.3 ARM Cortex-A系列处理器

Cortex-A8处理器是一款适用于复杂操作系统及用户应用的应用处理器。该处理器支持智能能源管理(Intelligent Energy Manager,IEM)技术的Artisan Advantage程序库以及先进的泄漏控制技术,使得Cortex-A8处理器实现了非凡的速度和功耗效率。在65nm工艺下, Cortex-A8处理器的功耗不到300mW,能够提供高性能和低功耗。它第一次为低费用、高容量的产品带来了台式机级别的性能。
Cortex-A8处理器是第一款基于ARMv7架构的应用处理器,使用了能够带来更高性能、更低功耗和更高代码密度的Thumb-2指令集技术。它首次采用了强大的NEON信号处理扩展集,可为H.264和MP3等媒体编解码提供加速。Cortex-A8的解决方案还包括Jazelle-RCTJava加速技术,对实时(JTT)和动态调整编译(DAC)提供最优化,同时减少内存占用空间高达3倍。该处理器配置了先进的超标量体系结构流水线,能够同时执行多条指令,并且提供超过2.0 DMIPS/MHz的性能。该处理器集成了一个可调尺寸的二级高速缓冲存储器,能够同高速缓存的16KB或者32KB一级高速缓冲存储器一起工作,从而达到最快的读取速度和最大的吞吐量。
Cortex-A8处理器使用了先进的分支预测技术,并且具有专用的NEON整型和浮点型流水线进行媒体和信号处理。在使用小于4mm2的硅片及低功耗的65nm工艺的情况下,Cortex-A8处理器的运行频率将高于600MHz(不包括NEON追踪技术和二级高速缓冲存储器)。在高性能的90nm和65nm 工艺下,Cortex-A8处理器运行频率最高可达1GHz,能够满足高性能消费产品设计的需要。
这些新的Cortex处理器都是基于ARMv7架构的产品,从尺寸和性能方面来看,既有少于33 000个门电路的Cortex-M系列,也有高性能的Cortex-A系列。其中,ARMCortex-A系列是针对日益增长的,能够运行包括Linux、Windows CE和Symbian操作系统在内的消费者娱乐和无线产品设计的;Cortex-R系列针对的是需要运行实时操作系统进行控制应用的系统,包括汽车电子、网络和影像系统;Cortex-M系列则是为那些对开发费用非常敏感同时对性能要求不断增加的嵌入式应用(如微控制器、汽车车身控制系统和各种大型家电)所设计的。随着在各种不同领域应用需求的增加,微处理器市场也在趋于多样化。为了适应市场的发展变化,基于ARMv7架构的ARM处理器系列将不断拓展自己的应用领域。事实上,Cortex-A系列处理器家族目前已有Cortex-A7、Cortex-A8、Cortex-A9和Cortex-A15等内核,并且家族仍在继续扩大。

时间: 2024-08-28 04:50:07

《stm32嵌入式系统开发实战指南》一1.2 Cortex内核系列处理器技术特点的相关文章

《stm32嵌入式系统开发实战指南》一导读

前 言 自20世纪90年代,鉴于多任务支持.开发便捷.便于维护等特性,同时能够提高系统的稳定性和可靠性,嵌入式实时操作系统(RTOS)逐渐为广大嵌入式从业人员所接受和认可,越来越多的工程师加入使用RTOS的队伍. 与此同时,半导体技术的快速发展及市场需求的多样化对RTOS提出了更高的要求.一方面,新型处理器的大量涌现要求RTOS自身结构的设计应易于移植,以适应不同硬件架构平台的应用.另一方面,人们在使用RTOS进行系统设计的同时,不仅希望得到供应商的技术支持,而且希望获得RTOS的源代码,以便对

《stm32嵌入式系统开发实战指南》一2.2 主要板载资源

2.2 主要板载资源 本节介绍STM32F107微控制器的主要片内外设,着重介绍10/100M以太网接口.CAN总线接口和RS485总线接口. 2.2.1 10/100M以太网接口 1.功能介绍 STM32F107的以太网模块支持通过以太网收发数据,符合IEEE 802.3-2002标准.STM32F107以太网模块灵活可调,能适应各种不同客户的需求.该模块支持两种标准接口连接到外接的物理层(PHY)模块:IEEE 802.3协议定义的独立于介质的接口(MII)和简化的独立于介质的接口(RMII

《stm32嵌入式系统开发实战指南》一1.3 STM32互联型嵌入式控制器

1.3 STM32互联型嵌入式控制器 半导体制造厂商意法半导体(ST)是率先推出基于Cortex-M3的32位微控制器系列产品的厂家之一.STM32系列产品所用的微处理器是ARM公司为要求高性能(1.25 DMIPS/MHz).低成本.低功耗的嵌入式应用专门设计的Cortex-M3内核.STM32系列产品得益于Cortex-M3在体系结构上进行的多项改进,所有新功能都同时具有优良的功耗水平.本节着重介绍意法半导体STM32互联型嵌入式控制器的特色及主要的工程应用. STM32互联型嵌入式控制器让

《stm32嵌入式系统开发实战指南》一1.1 ARM内核处理器沿革

1.1 ARM内核处理器沿革 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,1991成立于英国剑桥,该公司主要出售芯片设计技术的授权.人们将采用ARM技术知识产权(IP)核的微处理器称为ARM 微处理器.ARM公司利用独特的商业模式在全球范围内拥有极其广泛的合作伙伴.ARM公司将其技术授权给世界上许多著名的半导体.软件和OEM厂商,每个厂商得到的都是ARM公司提供的一套独一无二的ARM相关技术及服务,这些合作伙伴又保证了大量的开发工具和丰富的第三方资源.利用

《stm32嵌入式系统开发实战指南》一2.3 硬件设计要点

2.3 硬件设计要点 本节以电路的电磁兼容设计为出发点,简要介绍在硬件开发工程中的注意事项和要点,并讲述了板级电路的信号完整性设计.电源完整性设计一般原则. 2.3.1 电磁兼容问题 电磁兼容性是电子设备或系统的主要性能之一,电磁兼容设计是实现设备或系统规定功能.使系统效能得以充分发挥的重要保证.设计人员必须在设备或系统功能设计的同时进行电磁兼容设计,充分考虑系统.分系统与周围环境之间的相互骚扰. 电磁兼容设计的目的是使所设计的电子设备或系统在预期的电磁环境中实现电磁兼容.最终的设备或系统应能在

《stm32嵌入式系统开发实战指南》一1.4 微控制器选型

1.4 微控制器选型 在项目的最初阶段,首先需要解决的问题是选择适合工程需要的微控制器.通常,选择一款适合工程需求的微控制器,不仅需要考虑成本.主频.硬件接口,还需要考虑是否运行操作系统.配套的开发工具.仿真器,以及工程师对微控制器的经验和软件支持情况等.微控制器选型是否得当对项目开发的进度至关重要,甚至关系项目的成败. 1.4.1 选型因素 (1) 价格及供货保证 芯片的价格和供货是必须考虑的因素.由于许多芯片目前处于试用阶段,其价格和供货处于不稳定状态,所以选型时尽量选择有量产的芯片. (2

《stm32嵌入式系统开发实战指南》一3.1 开发环境及搭建

3.1 开发环境及搭建 3.1.1 常见开发环境 1.ADS1.2 ADS是ARM公司的集成开发环境软件,拥有非常强大的功能.ADS的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级.ADS包括四个模块,分别是:SIMULATOR.C编译器.实时调试器和应用函数库. ADS的编译器与调试器较SDT都有了非常大的改观,ADS1.2提供完整的Windows界面开发环境.ADS1.2的C编译器效率极高,支持C以及C++,使工程师可以很方便地使用C语言进行开发.ADS1.2

《stm32嵌入式系统开发实战指南》一3.2 相关开发工具

3.2 相关开发工具 1.JTAG调试仿真器 支持ARM7/ARM9,支持自动检测和手动指定内核. 使用RDI接口,支持SDT.ADS.RealView和IAR. 支持ADS1.2.SDT2.51和RealView. 支持单个硬件断点或者数量不限的软件断点. 支持ARM/THUMB模式. 支持LITTLEENDIAN和BIGENDIAN. 支持SEMIHOSTING. 支持WIGGLER SDTJTAG和自定义接口. 2.H-JTAG调试代理 H-JTAG是一个免费的ARM调试代理,这个程序没有

《stm32嵌入式系统开发实战指南》一2.1 STM32F107开发板

2.1 STM32F107开发板 本书中的所有例程均以内核为STM32F107的开发板为硬件平台进行介绍.STM32F107 VCT6是意法半导体公司推出的全新STM32 互联型(Connectivity)系列微控制器中的一款性能较强的产品.此芯片集成了各种高性能工业标准接口,且STM32不同型号的产品在引脚和软件上具有完美的兼容性,可以轻松适应更多的应用.STM32新系列的标准外设包括10 个定时器.两个12位1Msample/sAD(快速交替模式下达到2M sample/s).两个12位DA