`
ericbaner
  • 浏览: 176992 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】ARMv7的Cortex系列微处理器技术特点

 
阅读更多

 

 随着嵌入式技术应用领域的不断扩展,对嵌入式系统的要求越来越高,而作为嵌入式系统核心的微处理器也面临日益严竣的挑战。ARM公司从成立以来,一直以知识产权(IP,Intelligence Property)提供者的身份出售知识产权,在32位RISC CPU开发领域中不断取得突破,其设计的微处理器结构已经从v3发展到现在的v7。

  引 言

  Cortex系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A三类。ARM系列微处理器的核心及体系结构如表1所列。

  1 ARM Cortex处理器技术特点 

  ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销。

  同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。此外,ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技术的使用。

  在与早期的ARM处理器软件兼容性方面,ARMv7架构在设计时充分考虑到了。ARM Cortex-M系列支持Thumb-2指令集(Thumb指令集的扩展集),可以执行所有已存的为早期处理器编写的代码。通过一个前向的转换方式,为ARM Cortex-M系列处理器所写的用户代码可以与ARM Cortex-R系列微处理器完全兼容。

  ARMCortex-M系列系统代码(如实时操作系统)可以很容易地移植到基于ARM Cortex-R系列的系统上。ARMCortex-A和Cortex-R系列处理器还支持ARM 32位指令集,向后完全兼容早期的ARM处理器,包括从1995年发布的ARM7TDMI处理器到2002年发布的ARMll处理器系列。图1为v5~v7架构的处理器技术比较。由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。

 

 

  在命名方式上,基于ARMv7架构的ARM处理器已经不再延用过去的数字命名方式,而是冠以Cortex的代号。基于v7A的称为"Cortex-A系列",基于v7R的称为"Cortex-R系列",基于v7M的称为"Cortex-M3"。

  2 ARM Cortex-M3处理器技术特点

  ARM Cortex-M3处理器是为存储器和处理器的尺寸对产品成本影响极大的各种应用专门开发设计的,其结构如图2所示。它整合了多种技术,减少使用内存,并在极小的RISC内核上提供低功耗和高性能,可实现由以往的代码向32位微控制器的快速移植。ARM Cortex-M3处理器是使用最少门数的ARM CPU,相对于过去的设计大大减小了芯片面积,可减小装置的体积或采用更低成本的工艺进行生产,仅33 000门的内核性能可达1.2DMIPS/MHz。此外,基本系统外设还具备高度集成化特点,集成了许多紧耦合系统外设,合理利用了芯片空间,使系统满足下一代产品的控制需求。

  ARM Cortex-M3处理器结合了执行Thumb-2指令的32位哈佛微体系结构和系统外设,包括Nested Vec-tored Interrupt Controller和Arbiter总线。该技术方案在测试和实例应用中表现出较高的性能:在台机电180 nm工艺下,芯片性能达1.2 DMIPS/MHz,时钟频率高达100 MHz。Cortex-M3处理器还实现了Tail-Chaining中断技术。该技术是一项完全基于硬件的中断处理技术,最多可减少12个时钟周期数,在实际应用中可减少70%中断;推出了新的单线调试技术,避免使用多引脚进行JTAG调试,并全面支持RealView编译器和RealView调试产品。RealView工具向设计者提供模拟、创建虚拟模型、编译软件、调试、验证和测试基于ARMv7架构的系统等功能。

  为微控制器应用而开发的Cortex-M3拥有以下性能:

  实现单周期Flash应用最优化;

  准确快速地中断处理,永不超过12周期,仅6周期tail-chaining(末尾连锁);

  有低功耗时钟门控(Clock Cating)的3种睡眠模式;

  单周期乘法和乘法累加指令;

  ARM Thumb-2混合的16/32位同有指令集,无模式转换;

  包括数据观察点和Flash补丁在内的高级调试功能;

  原子位操作,在一个单一指令中读取/修改/编写;

  1.25 DMIPS/MHz(与O.9DMIPS/MHz的ARM7和1.1 DMIPS/MHz的ARM9相比)。

  3 ARM Cortex-R处理器技术特点

  ARM Cortex-R系列处理器目前包括ARM Cortex-R4和ARM Cortex-R4F两个型号,主要适用于实时系统的嵌入式处理器。

  3.1 ARM Cortex-R4处理器技术特点

  Cortex-R4处理器结构如图3所示。该处理器支持手机、硬盘、打印机及汽车电子设计,能协助新一代嵌入式产品快速执行各种复杂的控制算法与实时工作的运算;可通过内存保护单元(MPU,Memory Protection Unit)、高速缓存以及紧密耦合内存(TCM,Tightly Coupled Memory)让处理器针对各种不同的嵌入式应用进行最佳化调整,且不影响基本的ARM指令集兼容性。这种设计能够在延用原有程序代码的情况下,降低系统的成本与复杂度,同时其紧密耦合内存功能也能提供更小的规格及更高效率的整合,并带来快速的响应时间。

  Cortex-R4处理器采用ARMv7体系结构,让它能与现有的程序维持完全的回溯兼容性,能支持现今建立在全球各地数十亿的系统;并已针对Thumb-2指令进行最佳化设计。此项特性带来很多的利益,其中包括:更低的时钟速度所带来的省电效益;更高的性能将各种多功能特色带人移动电话与汽车产品的设计;更复杂的算法支持更高性能的数码影像与内建硬盘的系统。运用Thumb-2指令集,加上RealView开发套件,使芯片内部存储器的容量最多得以降低30%,大幅降低系统成本,其速度比在ARM946E-S处理器所使用的Thumb指令集高出40%。由于存储器在芯片中的占用空间愈来愈多,因此这项设计将大幅节省芯片容量,让芯片制造商运用这款处理器开发各种SoC(System on a Chip)器件。

  相比于前几代的处理器,Cortex-R4处理器高效率的设计方案,使其能以更低的时钟达到更高的性能;经过最佳化设计的Artisan Metro内存,则进一步降低嵌入式系统的体积与成本。处理器搭载一个先进的微架构,具备双指令发送功能,采用90 nm工艺并搭配Artisan Advantage程序库的组件,底面积不到1 mm2,耗电量低于0.27mW/MHz,并能提供超过600 DMIPS的性能。

  Cortex-R4处理器在各种安全应用上加入容错功能和内存保护机制,支持最新版OSEK实时操作系统;支持RealView Develop系列软件开发工具、RealView Create系列ESL工具与模块,以及Core Sight除错与追踪技术,协助设计者迅速开发各种嵌入式系统。

  3.2 ARM Cortex-R4F处理器技术特点

  Cortex-R4F处理器结构如图4所示。该处理器拥有针对汽车市场而开发的各项先进功能,包括自动除错功能、可相互连结的错误侦测机制,以及可选择优化的浮点运算单元(FPU,Floating-Point Unit)。ECC技术能监控内存存取作业,侦测并校正各种错误。当发生内存错误时,ECC逻辑除通报错误并停止系统运作外,还会加以校正。

  它还拥有Cortex-R4系列的各项先进功能,能够透过高效能内存保护单元、高速缓存,以及紧密耦合内存,使处理器能针对各种不同的应用进行最佳化调整;同时将传统处理器中的错误侦测功能延伸至整个SoC中,系统会不断地扫描先前侦错的资料,以提升系统的可靠度。基于对安全性能的重视,Cortex-R4F处理器特别搭载了高分辨率内存保护机制,能严密控制独立的软件作业。

  Cortex-R4F处理器中执行浮点运算的FPU,提供胜过固定小数点操作数的动态范围及精准度。该FPU与ARM其他处理器核心之间的FPU均维持回溯兼容性,并针对各种汽车应用常见的单精度处理作业进行优化。使用单倍精度格式,而非双倍精度的数值资料,不仅能将数据处理速度提升至2倍,更能维持必要的精度以提高SoC设计的效率。

  Cortex-R4F处理器采用一套具备双指令发送功能的先进微架构,透过ARM Artisan Advantage程序库中针对90 nm工艺的优化,达到超过800 DMIPS的性能水准。Level 1内存松散的时序设计,使组件能使用高密度、低功耗的RAM,使在总成本中占有高比重的内存,能像处理器逻辑一样拥有节省空间的优势。在90 nm工艺下,占用空间不到1 mm2,且耗电量不到0.27 mW/MHz,有效地协助系统开发者降低成本与功耗。

  该处理器采用ARMv7ISA架构,能与已被全球数十亿台系统所采用的ARM程序代码维持回溯兼容性,并针对Thumb-2指令集进行最优化设计。运用Thumb-2指令,搭配ARM RealView开发套件,使芯片内部存储器的容量最大能缩减30%,大幅降低系统成本。此外,相较于内建在ARM946E-S处理器的旧版Thumb指令集,新技术能够提高40%的工作效能。

  4 ARM Cortex-A8处理器技术特点

  ARM Cortex-A8处理器是一款适用于复杂操作系统及用户应用的应用处理器,其结构如图5所示。支持智能能源管理(IEM,Intelligent Energy Manger)技术的ARM Artisan库以及先进的泄漏控制技术,使得Cortex-A8处理器实现了非凡的速度和功耗效率。在65 nm上艺下,ARM cortex-A8处理器的功耗不到300 mW,能够提供高性能和低功耗。它第一次为低费用、高容量的产品带来了台式机级别的性能。

 

  ortex-A8处理器是第一款基于下一代ARMv7架构的应用处理器,使用了能够带来更高性能、更低功耗和更高代码密度的Thumb-2技术。它首次采用了强大的NEON信号处理扩展集,为H.264和MP3等媒体编解码提供加速。

  Cortex-A8的解决方案还包括Jazelle-RCTJava加速技术,对实时(JIT)和动态调整编译(DAC)提供最优化,同时减少内存占用空间高达3倍。该处理器配置了先进的超标量体系结构流水线,能够同时执行多条指令,并且提供超过2.0 DMIPS/MHz的性能。处理器集成了一个可调尺寸的二级高速缓冲存储器,能够同高速的16 KB或者32 KB一级高速缓冲存储器一起工作,从而达到最快的读取速度和最大的吞吐量。新处理器还配置了用于安全交易和数字版权管理的Trust Zone技术,以及实现低功耗管理的IEM功能。

  Cortex-A8处理器使用了先进的分支预测技术,并且具有专用的NEON整型和浮点型流水线进行媒体和信号处理。在使用小于4 mm2的硅片及低功耗的65 nm工艺的情况下,Cortex-A8处理器的运行频率将高于600MHz(不包括NEON追踪技术和二级高速缓冲存储器)。在高性能的90 nm和65 nm工艺下,Cortex-A8处理器运行频率最高可达1 GHz,能够满足高性能消费产品设计的需要。

  结 语

  这些新的ARM Cortex处理器系列都是基于ARMv7架构的产品,从尺寸和性能方而来看,既有少于33 000个门电路的ARM Cortex-M系列,也有高性能的ARMCortex-A系列。

  其中,ARM Cortex-A系列是针对日益增长的,运行包括Linux、Windows,CE和Symbian操作系统在内的消费者娱乐和无线产品设计的;ARM Cortex-R系列针对的是需要运行实时操作系统来进行控制应用的系统,包括汽车电子、网络和影像系统;ARM Cortex-M系列则是为那些对丌发费用非常敏感同时对性能要求小断增加的嵌入式应用(如微控制器、汽车车身控制系统和各种大型家电)所设计的。随着在各种不同领域应用需求的增加,微处理器市场也在趋于多样化。为了适应市场的发展变化,基于ARMv7架构的ARM处理器系列将不断拓展自己的应用领域

分享到:
评论

相关推荐

    ARMv7的Cortex系列微处理器技术特点.pdf

    ARMv7架构是ARM公司在其之前的ARMv6架构基础上发展而来的一种微处理器架构,主要应用于Cortex系列处理器,包括Cortex-M、Cortex-R和Cortex-A三个类别,分别针对微控制器、实时应用和高性能应用市场。这个架构的显著...

    嵌入式系统/ARM技术中的ARMv7的Cortex系列微处理器技术特点

    引 言 随着嵌入式技术应用领域的不断扩展,对嵌入式系统的要求越来越高,而作为嵌入式...ARM系列微处理器的核心及体系结构如表1所列。 1 ARM Cortex处理器技术特点 ARMv7架构是在ARMv6架构的基础上诞生

    armv7 架构 m系列 操作手册

    ARMv7架构M系列操作手册是针对ARM公司设计的微处理器架构——ARMv7-M的一份官方技术文档。这份手册详细阐述了该架构的特点、指令集、处理器模式、内存管理以及异常处理等核心内容,是理解和开发基于ARM Cortex-M系列...

    ARM Cortex -A8 微处理器的架构和实现

    ARM Cortex-A8 微处理器作为ARM公司的代表性产品之一,是基于ARMv7架构的一款高性能应用处理器。这款处理器以其出色的性能和能效,广泛应用于各类移动及消费电子设备中,如智能手机、机顶盒、游戏控制台和车载导航...

    ARMV7架构官方手册

    总体而言,ARMv7架构官方手册是理解ARMv7处理器架构设计细节的关键参考资料,对于研究人员、开发人员、系统集成商和微处理器设计者来说,这份手册是学习和参考的重要文献,提供了丰富的技术信息和知识产权条款,帮助...

    ARMv7-M架构参考手册_armv7-m_参考手册_

    ARMv7-M架构是ARM公司设计的一种微处理器架构,主要针对微控制器(MCU)市场,尤其是嵌入式应用。这个架构是ARM Cortex-M系列的基础,Cortex-M系列处理器以其高效能、低功耗和易于编程的特点,在物联网(IoT)、汽车...

    cortexa7+armv7a+gic400中断手册

    这份手册详细介绍了Cortex-A7处理器、ARMv7-A架构以及GIC400全局中断控制器的中断管理机制。以下是对这些核心概念的深入解析。 Cortex-A7是ARM公司推出的一种高效能、低功耗的处理器核心,属于ARMv7-A架构系列。它...

    armv7 m3技术参考手册

    《ARMv7-M3技术参考手册》是针对嵌入式系统设计者的重要参考资料,它详细阐述了基于ARM Cortex-M3处理器的体系结构和技术细节。Cortex-M3是ARM公司推出的一种高效能、低功耗的微控制器核心,广泛应用于物联网(IoT)...

    opencv编译成果物可直接在armv7上运行

    ARMv7是ARM公司的一种微处理器架构,广泛应用于移动设备和嵌入式系统中,如智能手机和平板电脑。Cortex-A7是基于ARMv7指令集的一个节能型CPU核心设计,适合低功耗设备。 编译OpenCV以适应ARMv7架构的过程通常涉及到...

    ARMv7-M Architecture Reference Manual 体系结构参考手册+ARMv7-M Applicati

    ARMv7-M架构是ARM处理器家族中的一个微控制器级别的变体,特别为嵌入式应用设计,比如物联网设备、工业控制、汽车电子等。它包含了Cortex-M系列处理器的核心特性,如低功耗、高效能和易于编程的特性。Cortex-M3是...

    Kinetis ARM Cortex-M4 微处理器在线研讨会资料

    **Kinetis** 系列微处理器是Freescale Semiconductor(现为NXP Semiconductors)推出的一款基于Cortex-M4内核的产品线,专为满足广泛的嵌入式应用需求而设计。 - **采用Cortex-M4内核:** Kinetis 微处理器的核心是...

    ARMv7架构参考手册.zip

    ARMv7架构是英国ARM Holdings公司设计的一种32位微处理器架构,广泛应用于移动设备、嵌入式系统以及服务器等领域。该架构是ARMv6架构的升级版本,引入了许多新的特性,提升了性能和能效。 **1. 存储体系** ARMv7...

    STM32系列ARM CortexM3微控制器原理与实践.pdf

    Cortex-M3是ARM针对微控制器市场设计的一种新型处理器架构,它基于ARMv7-M架构,采用了面向高级语言的Thumb-2指令集。这一架构在代码密度、实时响应、计算性能、功耗控制和成本效益之间实现了良好的平衡,特别适合于...

    第1章 ARM系列微处理器简介《ARM系列处理器应用技术完全手册》

    ARM处理器的发展始于Acorn电脑集团开发的世界首个商用单芯片RISC处理器,苹果电脑也希望将RISC技术应用于其产品,因此ARM微处理器应运而生。ARM公司的核心理念是提供高性能、低成本、低能耗的处理器解决方案,其商业...

    ARM Cortex-M7 内核编程技术说明文档

    ARM Cortex-M7 内核是ARM公司推出的高性能微控制器核心,专为嵌入式应用设计。Cortex-M7 内核编程技术涉及诸多方面,包括体系结构、指令集、中断处理、存储系统、调试工具以及优化技巧。以下是对这些主题的详细解释...

    STM32系列ARM Cortex-M3微控制器原理与实践 单文件版

    ARMv7架构引入的Cortex系列微控制器,是ARM针对不同应用领域推出的内核系列。它们被分为Cortex-A、Cortex-R和Cortex-M三大类别,分别对应应用处理器、实时处理器和微控制器。Cortex-M系列内核,包括Cortex-M0、...

    Cortex系列ARM内核介绍.doc

    Cortex系列是ARM公司推出的一系列高性能、高效能的微处理器内核,代表着ARM架构的最新发展。在Cortex之前,ARM的内核命名以ARM为前缀,从ARM1一直发展到ARM11。Cortex这个名字来源于英文,意指大脑皮层,暗示着这一...

Global site tag (gtag.js) - Google Analytics