yaboPP电子
技术文章

ARM架构解释了

2019年4月10日经过斯蒂芬圣迈克尔

了解有关ARM计算机架构的更多信息,包括ISA,执行状态和处理器系列。

本文将解释ARM计算机架构的组织方式,包括其ISA,执行状态,体系结构和处理器系列。

ARM是处理器行业中无处不在的名称,ARM核心几乎可以在需要计算能力的现代设备中找到。这包括网络路由器,打印机,智能手机,桌面监视器,医疗设备,机器人,甚至冰箱。ARM核心已经用于住宅,商业和工业应用 - 然而随着ARMv8的出现,该建筑能够在其能力和市场潜力中看到基础班次。如果您对ARMv8感兴趣,您可以轻松阅读最新的ARM架构参考手册:这是一个Paltry 7500页。

考虑到这一点,退后一步,这可能是一个好主意,看看ARM计算机架构是如何从高级组织的,以及ARMv8如何改变我们曾经知道的ARM核心。

扶手电脑架构

由于ARM许可牌照架构,臂设计的微体系结构和第三方微体系结构。ARM发布架构,其他公司可以在自己的设计中实施。事实上,臂参考手册不会铺设任何特定的微校验结构,而是定义“抽象机器的行为称为处理元素”。只要实现符合这种定义的行为,它们就可以被视为ARM核心。例如,像Apple,Nvidia,高通公司和三星等公司都设计了他们自己的手臂微体系结构,用于实施特定的ARM架构。

ARM核心被组织成家庭。家庭封装了特定的架构,它使用特定的指令集。原始的ARM系列是ARM1,它使用ARMv1架构以及32位isa.简单地称为ARM。

随着该架构的增长,添加了新功能,包括在ARMV4T架构中设置的新指令。该指令集被称为拇指,是ARM ISA的16位重新编码子集。拇指允许比ARM更大的代码密度。其继承者Thumb-2允许16位和32位指令,同时提供比拇指的臂和性能改进更大的代码密度。

Thumb-2通过双臂和拇指提供可衡量的改进。取自推介会。

ARM ISAS和执行状态

凭借ARMv8的宣布,第一个64位ARM架构,澄清ISA变得适合。原始的32位ARM ISA是重新品牌的A32,而新的64位ISA被称为A64。拇指变成t32。A32和T32,同时与以前版本兼容,在ARMv8中扩展。

为了保持与早期版本的兼容性,ARMv8推出了两个新的执行状态:AARCH32和AARCH64。这些是有效的32位和64位模式。在AARCH32状态下,使用A32和T32指令组,而AARCH64使用A64。

武器架构

ARM架构很容易发现,因为它们总是有一个“v”。如前所述,ARMv1是第一个ARM架构,而ARMV4T介绍了拇指指令集。ARM11系列包括ARMv6架构以及诸如ARMV6T2和ARMV6K的少数其他变体。ARM11之后,家庭被重新组织到皮质系列中。截至目前,三个皮质系列包括所有ARMv7和ARMv8架构。

iPhone 5S使用Apple-A7 SoC,其中包括64位ARM核心,使其成为智能手机中使用的前64位处理器。通过Apple和Dubbed Cyclone设计了MicroCarchitecture,它采用ARMv8架构设计。最新的Raspberry Pi,一个流行的单板计算机,使用ARMv8核心,但由于操作系统和内存约束,在AARCH32状态下运行它。该核心使用称为Cortex-A53的臂设计的微架构。

Apple A7和Raspberry PI都使用ARMv8架构的实现。图片由维基百科的礼貌Apple_A7.raspberry_pi.文章。

皮质系列

现代臂家族是Cortex系列,包括三个架构配置文件:Cortex-A,Cortex-R和Cortex-M。任何带有这种指定的核心都是通过ARM内部设计的微体系结构。

Cortex-A系列主要被视为具有OS和第三方应用程序支持的应用程序处理器。这意味着它们最终可以以应用密集型智能手机甚至服务器。Cortex-A进入32位(ARMV7-A)和64位(ARMV8-A)口味。如上所示的覆盆子PI 3使用Cortex-A53 ARM核心,实现ARMv8-A架构。

Cortex-R系列,架构ARMV7-R和ARMV8-R,可针对高性能实时应用进行优化。这些处理器具有更好的容错和在安全关键应用中运行,包括医疗设备,工业控制系统和安全仪表系统

Cortex-M系列是一组缩小的低成本32位臂,由ARMV6-M,ARMV7-M和ARMV8-M组成。这款处理器系列旨在为微控制器,ASIC而设计FPGA., 和SOC.应用程序。与8位MCU市场直接竞争,嵌入到更大的SOC中的32位Cortex-M核心可能是一个非常强大的组合。Cortex-M还在IoT应用程序中找到了一个利基,具有像ARM MBed MCU和OS这样的平台。

由ISA,建筑和家庭组织的ARM架构。使用的图像礼貌手臂

结论

在本文中,我们拍摄了ARM计算机架构的鸟瞰图,专注于不同的架构和他们使用的指令集。我们还在ARMv8核心中查看了不同的执行状态以及如何将不同的架构分类为家庭。具体来说,我们研究了Cortex系列的ARM核心以及处理器家庭如何根据应用程序和用例划分。

如果您不熟悉基础架构和分类,则选择右臂处理器可能是困难和令人困惑的。既然你知道所有这些字母和数字都意味着什么,你可以花更多的时间来修补,更少的时间划伤你的头部。

支持信息