0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

米尔科技ARM处理器体系架构介绍

米尔科技 来源:米尔科技 作者:米尔科技 2019-11-20 10:04 次阅读
ARM 体系结构是构建每个 ARM 处理器的基础。ARM 体系结构随着时间的推移不断发展,其中包含的体系结构功能可满足不断增长的新功能、高性能需求以及新兴市场的需要。

ARM 体系结构支持跨跃多个性能点的实现,并已在许多细分市场中成为主导的体系结构。ARM 体系结构支持非常广泛的性能点,因而可以利用最新的微体系结构技术获得极小的 ARM 处理器实现和极有效的高级设计实现。实现规模、性能和低功耗是 ARM 体系结构的关键特性。

已经开发了体系结构扩展,从而为 Java 加速 (Jazelle)、安全性 (TrustZone)、SIMD和高级 SIMD (NEON)技术提供支持。ARMv8-A 体系结构增加了密码扩展作为可选功能。

ARM 体系结构通常描述为精简指令集计算机 (RISC) 体系结构,因为它包含以下典型 RISC 体系结构特征:

  • 统一寄存器文件加载/存储体系结构,其中的数据处理操作只针对寄存器内容,并不直接针对内存内容。
  • 简单寻址模式,所有加载/存储地址只通过寄存器内容和指令字段确定。

对基本 RISC 体系结构的增强使 ARM 处理器可以实现较高性能、较小代码大小、较低功耗和较小硅面积的良好平衡。

ARMv8 体系结构

ARMv8-A将 64 位体系结构支持引入 ARM 体系结构中,其中包括:

  • 64 位通用寄存器、SP(堆栈指针)和PC(程序计数器)
  • 64位数据处理和扩展的虚拟寻址
  • 两种主要执行状态:
    • AArch64- 64 位执行状态,包括该状态的异常模型、内存模型、程序员模型和指令集支持
    • AArch32-32 位执行状态,包括该状态的异常模型、内存模型、程序员模型和指令集支持

这些执行状态支持三个主要指令集:

  • A32(或 ARM):32 位固定长度指令集,通过不同体系结构变体增强部分 32 位体系结构执行环境现在称为 AArch32
  • T32(Thumb),以 16 位固定长度指令集的形式引入,随后在引入 Thumb-2 技术时增强为 16 位和 32 位混合长度指令集。部分 32 位体系结构执行环境现在称为 AArch32
  • A64:提供与 ARM 和 Thumb 指令集类似功能的 32 位固定长度指令集。随 ARMv8-A 一起引入,它是一种 AArch64 指令集。

ARM ISA 不断改进,以满足前沿应用程序开发人员日益增长的要求,同时保留了必要的向后兼容性,以保护软件开发投资。在 ARMv8-A 中,对 A32 和 T32 进行了一些增补,以保持与 A64 指令集一致。

A32(ARM)

ARM(通常称为 A32)是一种固定长度(32 位)的指令集。它是 ARMv4T、ARMv5TEJ 和 ARMv6体系结构中使用的基础 32位 ISA。在这些体系结构中,该指令集用于需要高性能的应用领域,或用于处理硬件异常,如中断和处理器启动。

对于性能关键应用和旧代码,Cortex 体系结构的Cortex-A和Cortex-R配置文件也支持 ARMISA。其多数功能都包括在与 Thumb-2 技术一起引入的 Thumb 指令集中。Thumb (T32) 从改进的代码密度中获益。

ARM 指令的长度为 32 位,需要 4 字节边界对齐。

可以对大多数 ARM 指令进行“条件化”,使其仅在以前的指令设置了特定条件代码时执行。这意味着,如果应用程序状态寄存器中的 N、Z、C 和V标志满足指令中指定的条件,则指令仅对程序员的模型操作、内存和协处理器发挥其正常作用。如果这些标记不满足此条件,则指令会用作NOP,即执行过程正常进入下一指令(包括将对异常进行任意相关检查),但不发挥任何其他作用。此条件化指令允许对 if 和 while 语句的一小部分进行编码,而无需使用跳转指令。

条件代码包括:

条件代码 含义

N

否定条件代码,如果结果为否定的,则设置为1

Z

零条件代码,如果指令的结果为 0,则设置为 1

C

进位条件代码,如果指令生成进位条件,则设置为 1

V

溢出条件代码,如果指令生成溢出条件,则设置为 1。

T32(Thumb)

成本敏感型嵌入式控制应用领域(例如手机、磁盘驱动器、调制解调器和寻呼机)一直在寻求通过某些方式在兼顾内存占用空间的前提下以最低成本实现 32位性能和地址空间。

Thumb (T32) 指令集提供已压缩至 16 位宽操作码的、最常用的 32 位 ARM 指令的子集。在执行时,这些 16 位指令实时、透明地解压缩为完整 32 位 ARM 指令,且无性能损失。

Thumb 可向设计人员提供:

  • 卓越的代码密度,可实现最小的系统内存大小和最低的成本。
    • 在 8 位或 16 位总线上的 8 位或 16 位内存中实现 32 位性能,从而降低系统成本。
  • 建立的 ARM 功能
  • 行业领先的 MIPS/Watt,以尽可能延长电池寿命和增加 RISC 性能
  • 小的芯片面积,以进行集成和尽可能降低芯片成本
  • 全球多合作伙伴源,可提供安全保证。

设计人员可以同时使用 16 位 Thumb 和 32 位 ARM 指令集,这样,他们就可以灵活地根据应用需求在子例程级别上增强性能或调整代码大小。

Thumb ISA 受 ARM 生态系统的广泛支持,包括完善的 Windows 软件开发环境以及开发和评估卡。

改进了代码密度,具有性能效率和功效

Thumb-2 技术使 Thumb 成为固定(32 位和 16 位)长度指令集,是所有 ARMv7 兼容的 ARM Cortex 实现所通用的指令集。Thumb-2 提升了众多嵌入式应用程序的性能、能效和代码密度。

该技术与现有 ARM 和 Thumb 解决方案向后兼容,同时显著扩展了 Thumb 指令集的可用功能,从而使更多应用程序从 Thumb 的同类最佳代码密度中获益。为获得性能优化的代码,Thumb-2 技术使用少于31% 的内存以降低系统成本,同时,提供比现有高密度代码高出 38% 的性能,因此可用于延长电池寿命,或丰富产品功能集。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3546

    浏览量

    88730
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35350
  • 米尔科技
    +关注

    关注

    5

    文章

    227

    浏览量

    20975
收藏 人收藏

    评论

    相关推荐

    ARM体系结构对应处理器

    本帖最后由 i2c 于 2014-10-13 10:52 编辑 ARM处理器内核列表 ARM体系架构
    发表于 10-13 10:49

    ARM处理器体系架构详细说明

    本帖最后由 i2c 于 2014-10-13 16:10 编辑 ARM 体系结构是构建每个 ARM 处理器的基础。ARM
    发表于 10-13 16:08

    浅谈ARM处理器架构

    ,新的 Cortex-M处理器家族设计的非常容易使用。因此,ARM 微控制处理器在单片机和深度嵌入式系统市场非常成功和受欢迎。二、ARM
    发表于 08-18 12:04

    Cortex系列处理器是从ARM哪个架构开始的?

    Cortex系列处理器是从ARM哪个架构开始的?arm架构和x86架构有什么区别?
    发表于 07-06 10:49

    什么是ARM处理器

    厂商的x86架构处理器,有IBM的power架构处理器,高通苹果海思有ARM架构
    发表于 11-24 07:05

    谈谈嵌入式处理器体系架构

    当我们谈及嵌入式处理器体系架构时,一般都是想到Intel的X86架构ARM公司的ARM
    发表于 12-15 06:59

    了解体系结构 - 介绍 Arm 体系结构

    架构。不需要事先了解 Arm 体系结构,但假定对处理器和编程及其术语大致熟悉。在本指南的最后,您可以检查您的知识.您将了解 Arm
    发表于 08-01 14:35

    深入介绍Arm架构的R-Profile

    对不同版本的体系结构进行比较,并链接到其他资源以了解更多信息。 本指南面向使用基于R-Profile处理器的系统的用户。不需要事先了解Arm体系结构,但假设对
    发表于 08-02 17:51

    ARM体系结构、处理器和设备开发文章

    ARM产品必须如何运行的体系结构规范。 此外,一些合作伙伴还授权实施符合架构规范的自己的ARM处理器。 这导致了分层划分为三个级别的规范,这
    发表于 08-21 07:28

    ARM处理器体系结构

    ARM处理器体系结构: 2.2.1 数据类型 2.2.2 ARM处理器的工作状态 2.2.3
    发表于 06-17 00:24 42次下载

    ARM9系列微处理器软件体系架构工具

    本内容提供了ARM9系列微处理器软件体系架构工具
    发表于 04-29 16:50 187次下载
    <b class='flag-5'>ARM</b>9系列微<b class='flag-5'>处理器</b>软件<b class='flag-5'>体系</b><b class='flag-5'>架构</b>工具

    浅谈ARM处理器的特点和体系结构

    ARM处理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore、以及Int
    发表于 04-03 11:17 1.7w次阅读

    Atmel最新的基于ARM9架构的微处理器介绍

    在2011 ARM Techcon上,Atmel的应用经理介绍其最新的基于ARM9架构的微处理器
    的头像 发表于 06-26 11:30 5884次阅读

    米尔科技ARM体系结构与编程介绍

    ARM体系结构与编程》分14章对ARM处理器体系结构、指令系统和开发工具作了比较全面的介绍
    的头像 发表于 11-25 09:18 2040次阅读
    <b class='flag-5'>米尔</b>科技<b class='flag-5'>ARM</b><b class='flag-5'>体系</b>结构与编程<b class='flag-5'>介绍</b>

    华为鲲鹏处理器架构介绍 ARM架构处理器应用领域

    华为鲲鹏处理器基于Arm架构Arm是一种CPU架构,有别于Intel、AMD CPU采用的CISC复杂指令集,
    发表于 11-02 09:53 1.3w次阅读