本文将解释Arm计算机体系结构的组织方式,包括其ISA,执行状态,体系结构和处理器系列 。
Arm是处理器行业中无处不在的名称,Arm核心几乎可以在任何需要计算能力的现代设备中找到 。这包括网络路由器,打印机,智能手机,台式机显示器,医疗设备,机器人,甚至冰箱 。Arm芯片已经在住宅,商业和工业应用中使用 。但随着Armv8的出现,该架构的功能和市场潜力发生了根本转变 。
arm计算机体系结构
由于Arm许可其架构,因此有Arm设计的微体系结构和第三方微体系结构 。Arm发布了一个架构,其他公司可以在自己的设计中实现它 。实际上,Arm参考手册没有列出任何特定的微体系结构,而是定义了“抽象机器的行为,称为处理元素” 。只要实现符合此定义的行为,它们就可以被视为Arm核心 。例如,Apple,Nvidia,Qualcomm和Samsung等公司都设计了自己的Arm微体系结构,实现了特定的Arm架构 。
arm系列芯片封装了使用特定指令集的特定体系结构 。最初的Arm系列是Arm1,它使用了Armv1架构,以及32位ISA,简称为Arm 。
随着架构的发展,增加了新功能,包括Armv4T架构中的新指令集 。该指令集称为Thumb,是Arm ISA的16位重新编码子集 。Thumb允许比Arm更大的代码密度 。它的后继产品Thumb-2允许16位和32位指令,同时提供比Arm更高的代码密度和比Thumb更高的性能 。
文章插图
Arm 指令集架构和执行状态
随着第一个64位Arm架构Armv8的发布,对ISA的澄清变得恰当 。最初的32位Arm ISA重新命名为A32,而新的64位ISA则被称为A64 。Thumb变成了T32 。A32和T32虽然向后兼容以前的版本,但在Armv8中进行了扩展 。
为了保持与早期版本的兼容性,Armv8引入了两个新的执行状态:AArch32和AArch64 。它们分别是32位和64位模式 。在AArch32状态下,使用A32和T32指令集,而AArch64使用A64 。
Arm架构
Arm架构很容易被发现,因为它们的名字总是有一个'v' 。如前所述,Armv1是第一个Arm架构,而Armv4T则引入了Thumb指令集 。Arm11系列包括Armv6架构以及其他一些变体,如Armv6T2和Armv6K 。在Arm11之后,这些家族被重新组织成了Cortex系列 。截至目前,三个Cortex系列包括所有Armv7和Armv8架构 。
iphone 5S采用了Apple-A7 SoC,其中包括一个64位Arm核心,使其成为智能手机中首款64位处理器 。微架构实现了Armv8架构,由Apple设计,名为Cyclone 。最新的Raspberry Pi是一款流行的单板计算机,它使用Armv8核心,但由于操作系统和内存限制,它在AArch32状态下运行 。核心使用Arm设计的微架构,称为Cortex-A53 。
Cortex系列
现代Arm系列是Cortex系列,包括三种架构配置文件:Cortex-A,Cortex-R和Cortex-M 。具有此名称的任何核心都是由Arm内部设计的微架构 。
文章插图
Cortex-A系列主要被认为是具有OS和第三方应用程序支持的应用程序处理器 。这意味着他们最终可能会进入应用密集型智能手机甚至是服务器 。Cortex-A有32位(Armv7-A)和64位(Armv8-A) 。Raspberry Pi 3使用Cortex-A53 Arm核心,实现了Armv8-A架构 。
Cortex-R系列架构Armv7-R和Armv8-R针对高性能实时应用进行了优化 。这些处理器具有更好的容错能力,在安全关键应用中表现良好,包括医疗设备,工业控制系统和安全仪表系统 。
Cortex-M系列是一组按比例缩小的低成本32位Arm内核,由Armv6-M,Armv7-M和Armv8-M组成 。该系列处理器面向微控制器,ASIC,FPGA和SoC应用 。在与8位MCU市场的直接竞争中,嵌入到更大的SoC中的32位Cortex-M内核可以是一个非常强大的组合 。Cortex-M还通过Arm Mbed MCU和OS等平台在物联网应用中找到了一席之地 。
【arm架构解释】
推荐阅读
- 架构设计的五个核心要素?
- 微服务架构之网关层Zuul剖析
- 抖音直播带货流程与组织架构
- 带你了解分布式架构的前世今生
- 阿里-整洁面向对象分层架构COLA
- 一文看懂Mysql架构
- 架构 - 分布式、服务化的ERP系统架构设计
- 什么是系统架构?
- 什么是微服务架构?
- 公粮为何不能算社保?专家给了解释