ARM架构学习《基础篇》—ARM架构简介 一、概述 ARM架构为processor或core的设计提供了基础,称之为“Processing Element(PE)”。(处理器以及处理器微架构的实现都有所不同,PE不是某个特定架构而言的。PE指的是具备自己的PC(程序计数器)并且能执行程序的任何东西。当前Exception level(异常等级)和security state(安全状态)以及AArch32状态下的PE模式,它们决定了当前PE的执行状态是怎样的。) ARM架构被用于一系列技术中,集成在SOC设备里,例如:智能手机、微机、嵌入式设备以及超级计算机。 ARM架构为软件开发人员揭示了通用指令集和工作流,也被称为“程序员模型”。它确保软件对不同架构实现的兼容性,因此软件能够在不同ARM设备上运行。 二、关于ARM架构 如下表格所示,描述了架构的三种配置:
以上三种配置可以根据应用场景进行定制,但仍共享一些基本的功能。 三、ARM架构是什么 首先,架构指的是功能规范。就ARM架构而言,指的是处理器的功能规范。架构指定了一个处理器的行为方式,例如,有哪些指令并且这些指令的作用是什么。 架构描述了软件所依赖的由硬件提供的功能。 架构指定如下:
四、系统架构 系统不仅仅只包含一个处理器核心。arm还提供了用于描述包含处理器系统的需求规范。如下图所示:
这个规范是软件兼容性的基础。根据这个规范构建出的硬件,意味着可以编写出与之相匹配的软件。按照这个规范编写的软件,意味着可以在兼容的硬件上运行。ARM架构是第一层,通过指令集架构(ISA)兼容性为软件提供通用的程序员模型。 BSA(Base System Architecture)规范描述了系统软件所依赖的硬件系统架构。BSA涵盖了处理器和系统架构的各个方面,例如中断控制器,定时器和操作系统所需要的其他常见设备。这为标准的操作系统,管理程序和固件提供了可靠的平台。 BSA广泛应用于不同市场和应用场景。其他标准可以建立在BSA的基础上,以提供特定于市场的标准化。例如SBSA(Server Base System Architecture)是针对服务器BSA的补充。SBSA描述了服务器操作系统对于硬件和功能需求。该规范包含一组级别,随着CPU架构的发展,这些级别更详细的描述了硬件特性。 BBR(Base Boot Requirements)规范涵盖了操作系统和管理程序能够依赖的基于ARM架构的系统的需求。该规范建立了固件接口需求,如PSCI, SMCCC, UEFI, ACPI, SMBIOS。
五、架构与微架构 架构不会告诉我们的是,一个处理器是如何构建的以及如何工作的。一个处理器的设计和构建我们称之为微架构(micro-architecture)。微架构说明一个特定的处理器是如何工作的。 微架构包括以下部分:流水线(Pipeline)长度和布局缓存(cache)大小和数量单个指令周期计数实现了哪些可选功能 例如,Cortex-A53和Cortex-A72都是Armv8-A架构的实现。这意味着他们有相同的架构,但微架构大不相同,如下图所示:
与架构兼容的软件无需任何修改,即可在Cortex-A53和Cortex-A72上运行。因为他们都是相同的架构。 六、ARM架构的发展 ARM架构不断发展,每个版本都是建立在先前版本之上。 经常看到的架构:Armv8-A/v8-A。(意指,A系列,架构版本为8)后者是缩写。 Armv8-A发布于2011年,是ARM架构的首个64位版本。从移动电话到超级计算机的所有设备都部署了Armv8-A。 Armv9-A是A系列中最新的架构版本。它是基于Armv8-A并添加了新的功能,包括:Scalable Vector Extension, version 2 (SVE2)Transactional Memory Extension (TME)Branch Record Buffer Extension (BRBE)Embedded Trace Extension (ETE)Trace Buffer Extension (TRBE) 另外,一些在Armv8-A中的可选功能在Armv9-A中是必须要实现的。 Annual updates ARM每年会发布一次更新,添加一些新的指令和功能。
如上图所示,Armv9.0-A与Armv8.5-A一致,从Armv8.5-A继承了全部的功能并添加新的功能。Armv9-A第一版发布后,往后Armv8-A和Armv9-A一起向前更新。ARM为v9-A发布新功能同时,继续更新维护v8-A。 七、与ARM相关的其他架构 ARM架构是非常出名的规范,但不是唯一。ARM对构成现代SOC的许多组件都有类似的规范。
Generic Interrupt Controller:通用中断控制器规范是用于Armv7-A/R and Armv8-A/R的标准化中断控制器。System Memory Management Unit:系统内存管理单(SMMU有时也叫IOMMU)为非处理器主机提供转换服务。Generic Timer:通用定时器为系统里全部的处理器提供了一个通用的参考系统计数。这些计时器提供的功能用于操作系统调度tick之类的事情。通用定时器是ARM架构的一部分,但系统计数器是一个系统组件。Server Base System Architecture and Trusted Base System Architecture:SBSA和TBSA为SOC开发人员提供系统设计指南。Advanced Microcontroller Bus Architecture:AMBA,总线协议控制基于arm的系统中组件的连接方式以及这些连接上的协议。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/67169.html