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

发布者:数据梦行者最新更新时间:2007-04-23 来源: 单片机及嵌入式系统应用关键字:架构  内存  代码  浮点 手机看文章 扫描二维码
随时随地手机看文章
引 言

  随着嵌入式技术应用领域的不断扩展,对嵌入式系统的要求越来越高,而作为嵌入式系统核心的微处理器也面临日益严竣的挑战。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,能够提供高性能和低功耗。它第一次为低费用、高容量的产品带来了台式机级别的性能。

  Cortex-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系列微处理器技术特点

上一篇:LPC2000系列CAN验收滤波的编程及应用
下一篇:如何延长基于微控制器设计的电池寿命

推荐阅读最新更新时间:2024-05-13 18:35

架构在虚拟层上的进阶应用
存储虚拟化可看作一种打通存储底层的基础建设,通过虚拟化产品提供的逻辑层统合整个存储环境,为前端服务器的存储需求提供单一化服务。因此存储虚拟化产品通常具备这几个特性: 异构存储设备整合 不同厂牌、不同等级的异构存储设备整合,是存储虚拟化产品的首要特性。用户可通过虚拟层介接不同厂牌的磁盘阵列,将这些异构存储设备所含的磁盘,视为一整个存储池,再分配给需要容量的前端服务器,所有存储资源都能在虚拟层介接下统一运用。而前端服务器与后端存储设备间的连接,也从传统SAN环境中的固定地址连接与空间映像,转变为通过虚拟层的动态介接,管理上更有弹性,空间利用率也能有效提高,不再有之前存储孤岛的问题。 这个特性也能让想建置高可用性或异地备援的用户,
[测试测量]
FS2410 开发板上的内存搬移实验
一、目的 通过将 Nand Flash 前 4K 代码搬移到 SDRAM 中,了解如何初始化并使用 ARM 的内存, 为编写 ARM bootloader 和搬移内核到内存作准备。 二、代码 关于如何建立开发环境,在我的前一篇随笔(FS2401 发光二极管循环点亮)里有介绍, 请 参考。要初始化并使用内存需要了解一些很锁碎的细节,上来就讲这些知识点未免生涩,不 如在代码中穿插讲解来的直接。 @ 文件 head.s @ 作用: 关闭看门狗、设置内存、向 SDRAM 搬移 Nand Flash 的前 4K 代码、设置堆栈、 @ 调用已经搬移到 SDRAM 的 main 函数 .text .glo
[单片机]
双端口RAM在ARM与DSP通信系统中的应用
  后PC 时代,由于网络技术和集成电路技术的迅速发展,利用嵌入式系统进行数字信号处理与传输成为可能。在ARM 和DSP 构成的双处理器系统中,嵌入式作为主设备,主要完成数据处理、存储与网络传输工作,而DSP 作为从设备需要负责复杂的算法实现。   在此高速数据采集和处理系统中,随着采样数据量的增大和处理任务的增加,对数据的传送要求越来越高,如果在两个系统端口之间没有能够高速传送数据的接口,将会造成数据传送的阻塞,严重影响系统的实时性与处理数据的能力,因此此系统设计的重点之一是主从设备之间的数据通信。本文介绍用双端口RAMIDT70261 完成TMS320C6211DSP 与嵌入式ARM920T之间的数据通信。   1 IDT
[单片机]
双端口<font color='red'>RAM</font>在ARM与DSP通信系统中的应用
于ARM-Linux架构的远程可控电源插座设计方案
互联网的迅速发展,实现了信息的高速传输和资源共享,极大地方便了人们的生活。嵌入式系统广泛应用于各种电器产品、智能仪表和控制设备中,它与互联网的结合是一种必然的趋势。 嵌入式系统和网络技术的快速发展,为网络远程控制的发展和完善提供了技术基础。 笔者综合运用嵌入式系统和Web技术,设计了一种可通过互联网进行远程控制的电源插座系统,实现对家用或工业电器的远程实时控制。用户通过网页浏览器访问该系统,对各插座进行打开或关闭的操作,实现对与其相连接的电器的远程控制。 1 嵌入式Web工作原理 嵌入式Web的体系结构如图1所示。客户端和嵌入式系统中Web服务器之间的通信协议采用HTTP(超文本传输协议)。嵌入式操作系统提
[单片机]
于ARM-Linux<font color='red'>架构</font>的远程可控电源插座设计方案
2440裸机-12-3内存控制器与SDRAM_SDRAM设置
1.什么是SDRAM SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器。同步是指其时钟频率和CPU前端总线的系统时钟相同,并且内部命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据的读写。 2.SDRAM内存芯片的内部结构 2.1.逻辑Bank与芯片位宽: 现在进行深入了解SDRAM的内部结构。这里主要的概念就是逻辑Bank。简单的说,SDRAM的内部是一个存储阵列。因为如果是管道式存储,就很难做的随机访问了。 阵列就如表格一样,将数据 填 进去,你可以把它想象成一张表
[单片机]
2440裸机-12-3<font color='red'>内存</font>控制器与SDRAM_SDRAM设置
苹果iPhone 12系列最高配备是6GB内存
据外媒MacRumors报道,瑞银(UBS)分析师蒂莫西·阿库里(Timothy Arcuri)和穆贾尔·沙阿(Munjal Shah)表示,苹果计划在2020年发布一款5.4英寸、一款6.7英寸和两款6.1英寸iPhone。   分析师预计,这四款iPhone都将采用OLED屏幕,但相机规格和RAM等其他配置会因型号而异。   在一份共享研究报告中,分析师提供了他们预计在2020年推出的四款iPhone的概述:   6.7英寸iPhone:配备6GB RAM,后置三摄(支持3D Sensing)   6.1英寸iPhone:配备6GB RAM,后置三摄(支持3D Sensing)   6.1英寸iPhone:配备4GB
[手机便携]
苹果iPhone 12系列最高配备是6GB<font color='red'>内存</font>
理解启动代码(ADS)
  所谓启动代码,就是处理器在启动的时候执行的一段代码,主要任务是初始化处理器模式,设置堆栈,初始化变量等等.由于以上的操作均与处理器体系结构和系统配置密切相关,所以一般由汇编来编写.   具体到S64,启动代码分成两部分,一是与ARM7TDMI内核相关的部分,包括处理器各异常向量的配置,各处理器模式的堆栈设置,如有必要,复制向量到RAM,以便remap之后处理器正确处理异常,初始化数据(包括RW与ZI),最后跳转到Main.二是与处理器外部设备相关的部分,这和厂商的联系比较大.虽然都采用了ARM7TDMI的内核,但是不同的厂家整合了不同的片上外设,需要不同的初始化,其中比较重要的是初始化WDT,初始化各子系统时钟,有必要的话,
[单片机]
DMA带中断的内存内存传输
  要使用中断配置 DMA,请按照内存到内存模式部分中详述的步骤进行操作。   在System Core 》 NVIC中启用DMA1 Channel 1 Global Interrupt如下图所示:   现在按以下键生成代码:Ctrl + S   4.1 HAL 库 DMA 与 IT 流程↑   DMA 初始化在main.c中生成。   HAL_DMA_Start_IT:开始DMA缓冲区传输   DMA1_Channel1_IRQHandler 在stm32f4xx_it.c中生成:它指示 DMA 过程是半/完成还是检测到错误。   HAL_DMA_IRQHandler定义在stm32f4xx_hal_dma.c:处理中断信
[单片机]
DMA带中断的<font color='red'>内存</font>到<font color='red'>内存</font>传输
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved