简介
ARM控股有限公司是一家无晶圆厂半导体公司,开发处理器,系统芯片,软件等。ARM成立于1990年,名为Advanced RISC Machines,因为RISC是其处理器的主要CPU设计策略。
ARM是全球领先的基于RISC的微处理器解决方案和其他半导体IP的供应商,迄今已交付超过850亿基于ARM的芯片。
与英特尔、飞思卡尔、日立等其他微处理器公司一样,ARM并不生产处理器或其他半导体设备,而是将半导体核心作为知识产权(IP)授权给其他半导体公司,如ATMEL、Phillips(现在的NXP)、三星等。ARM的重要IP包括其低功耗、低成本、高效的RISC微处理器、芯片上系统和其他外围设备。
除了处理器和IP Cores之外,ARM还提供Keil、DS-5等全面的软件开发工具,用于开发基于ARM微控制器的完整系统和芯片系统。
今天,ARM处理器几乎应用于任何领域,如手持设备、消费电子、机器人、自动化等。ARM IP开发的处理器用于智能电视、智能手表、智能手机、平板电脑等嵌入式系统。
手臂的特点
ARM处理器是基于精简指令集计算(RISC)架构的处理器。但是根据嵌入式系统的需求,对RISC体系结构进行了一些修改。
ARM处理器遵循Load和Store类型的架构,数据处理只在寄存器的内容上执行,而不是直接在内存上执行。寄存器上的数据处理指令与访问存储器的指令是不同的。
ARM的指令集是统一的、长度固定的。32位ARM处理器有两个指令集:普通32位ARM指令集和16位Thumb指令集。
ARM支持多阶段流水线,加快指令流程。在一个简单的三个阶段的流水线中,指令遵循三个阶段:获取、解码和执行。
这里列出了ARM的一些通用特性。
- ARM处理器具有良好的执行速度和功耗比。
- 它们的时钟频率范围很广,从1MHz到几GHz不等。
- 它们支持使用ARM的Java Jazelle DBX直接执行Java字节码。
- ARM处理器内置了用于调试的硬件。
- 支持DSP操作指令增强。
ARM处理器家族
ARM有几个处理器,它们根据实现时使用的处理器核心被分组成多个系列。ARM处理器的架构随着每个家族的发展而不断发展。一些著名的ARM处理器家族有ARM7、ARM9、ARM10和ARM11。下表展示了一些常见的ARM系列及其架构。
手臂的家庭 | 体系结构 |
ARM7TDMI | ARMv4T |
ARM9E | ARMv5TE |
ARM11 | ARMv6 |
Cortex-M | ARMv7-M |
Cortex-R | ARMv7R |
Cortex-A(32位) | ARMv7-A |
Cortex-A(64位) | ARMv8-A |
ARM遵循下图所示的命名法来描述处理器实现。手臂命名法
“ARM”后面的字母或单词用来表示处理器的特性。
- x -系列
- y -内存管理/保护单元
- z -缓存
- T - 16位拇指解码器
- 调试器
- M -快速倍增器
- 嵌入式电路仿真器(ICE) Macrocell
- E - DSP增强指令(假设为TDMI)
- J - Jazelle(用于加速JAVA执行)
- 向量浮点单位
- S -合成器版本
功能说明
T -Thumb指令集
ARM处理器支持32位ARM指令集和16位Thumb指令集。最初的32位ARM指令由32位操作码组成,结果是一个4字节的二进制模式。16位Thumb instruction由16位操作码或2字节二进制模式组成,以提高代码密度。
D - JTAGDebug
JTAG是ARM用于在处理器和测试设备之间传递调试信息的串行协议。
M -快米ultiplier
老的ARM处理器使用一个小而简单的乘数单元。这个乘数单元需要更多的时钟周期来完成一次乘数。随着快速乘数单元的引入,乘法所需的时钟周期大大减少,现代ARM处理器能够在单个周期内计算32位产品。
I -嵌入式我CE宏单元
ARM处理器有片上调试硬件,允许处理器设置断点和观察点。
E -E加强指导
采用这种模式的ARM处理器将支持扩展的DSP指令集,用于高性能的DSP应用。使用这些扩展的DSP指令,可以在不需要高时钟频率的情况下提高ARM处理器的DSP性能。
J -Jazelle
使用Jazelle技术的ARM处理器可以用于加速Java字节码的执行。Jazelle DBX或直接字节码执行用于移动电话和其他消费设备的高性能Java执行,而不影响内存或电池。
F -向量Floating-point单位
ARM处理器中的浮点体系结构提供浮点运算的执行。ARM处理器中浮点架构所提供的动态范围和精度被用于工业和汽车领域的许多实时应用。
S -年代ynthesizable
ARM处理器核心是可用的源代码。这个软件核心可以被EDA工具编译成易于理解的格式。使用处理器的源代码,可以修改ARM处理器的架构。
ARM7处理器家族的一个例子是基于LPC2148处理器的ARM7TDMI-S架构。
ARM处理器
ARM处理器分为ARM经典处理器、ARM嵌入式处理器和ARM应用处理器。
ARM经典处理器包括ARM7、ARM9和ARM11系列,而ARM7TMDI仍然是市面上最高的32位处理器。许多小型和简单的32位设备仍然使用基于ARM7的处理器。
尽管ARM7或其他经典的ARM处理器可以用于小型嵌入式系统,但较新的嵌入式系统是使用先进的ARM嵌入式处理器或Cortex-M处理器和Cortex-R处理器构建的。
ARM Cortex-M处理器有微控制器配置文件,而Cortex-R处理器有实时配置文件。
ARM Cortex-M处理器能效高,实现简单,主要用于高级嵌入式应用。ARM Cortex-M处理器又细分为Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4和Cortex-M7几个处理器核心。
ARM Cortex-R系列处理器为实时嵌入式系统提供解决方案。它们提供高可靠性、高容错和实时响应。Cortex-R系列处理器被用于对性能要求高且时间期限很重要的系统中。
Cortex-R系列包括Cortex-R4、Cortex-R5、Cortex-R7和Cortex-R8等处理器核心。
ARM Cortex-A系列处理器是ARM公司推出的性能最高的处理器。它们被用于强大的移动设备,引人注目的技术产品,如网络设备,消费电器,自动化系统,汽车和其他嵌入式系统。
Cortex-A处理器又分为高性能、高效和超高效型处理器。每个子部门有几种类型的处理器核心。
从哪里开始呢?
许多嵌入式系统开发人员建议,LPC214X系列是开始基于ARM的应用程序开发的最佳处理器。在本系列教程中,我们将处理LPC21伟德老虎机手机版48处理器。
它是以ARM7TDMI-S处理器为核心的ARM7处理器。它基于ARMv4架构,与以前的架构相比,最大的变化是引入了16位Thumb指令。
用于LPC2148处理器的开发板和开发工具链(软件)很容易获得。
Keil是ARM处理器的软件开发环境。它包括完整的开发工具链,如集成开发环境(IDE),编译器,调试器和模拟器。
2反应
我是嵌入式系统的导师之一。为了给我的学生提供笔记,我发现你们的网站有一个很棒的内容,对学生帮助很大,所以请继续做,添加更多关于所有控制器和技术的内容。谢谢你!
如何学习Arm处理器…
我学过微控制器,其中我学过ARM处理器的架构,但我没有任何实用的知识。
我怎么学呢?
我在上三年级的EEE工程。