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

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

3天内不再提示

ARM架构及ARM指令集 Thumb指令集你了解多少?

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 作者:黄工的嵌入式技术 2020-02-26 16:09 次阅读

1991 年ARM 公司成立于英国剑桥,在成立后的那几年,ARM业绩平平,工程师们也人心惶惶,害怕随时都会失业。在这个情况下,ARM决定改变他们的产品策略——他们不再生产芯片,转而以授权的方式,将芯片设计方案转让给其他公司,即“Partnership”开放模式。

没想到正是这种模式,开创了属于ARM的全新时代。

ARM所采取的是IP(Intellectual Property,知识产权)授权的商业模式,收取一次性技术授权费用和版税提成。

具体来说,ARM有三种授权方式:处理器、POP以及架构授权。

处理器授权是指授权合作厂商使用ARM设计好的处理器,对方不能改变原有设计,但可以根据自己的需要调整产品的频率、功耗等。

POP(processor optimization pack,处理器优化包)授权是处理器授权的高级形式, ARM出售优化后的处理器给授权合作厂商,方便其在特定工艺下设计、生产出性能有保证的处理器。

架构授权是ARM会授权合作厂商使用自己的架构,方便其根据自己的需要来设计处理器(例如后来高通的Krait架构和苹果的Swift架构,就是在取得ARM的授权后设计完成的)。所以,授权费和版税就成了ARM的主要收入来源。除此之外,就是软件工具和技术支持服务的收入。

一、ARM 微处理器的应用领域及特点ARM处理器市场覆盖率最高、发展趋势广阔,基于ARM技术的32位微处理器,市场的占有率目前已达到80%。绝大多数IC制造商都推出了自己的ARM结构芯片。我国的中兴集成电路、大唐电讯、华为海思、中芯国际和上海华虹,以及国外的一些公司如德州仪器意法半导体、Philips、Intel、Samsung等都推出了自己设计的基于ARM核的处理器。

工业控制领域:作为32 的RISC 架构,基于ARM 核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM 微控制器的低功耗、高性价比,向传统的8 位/16 位微控制器提出了挑战。

无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM 技术, ARM 以其高性能和低成本,在该领域的地位日益巩固。

网络设备:随着宽带技术的推广,采用ARM 技术的ADSL 芯片正逐步获得竞争优势。此外,ARM 在语音及视频处理上进行了优化,并获得广泛支持,也对DSP 的应用领域提出了挑战。

消费类电子产品:ARM 技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。

成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM 技术。手机中的32位SIM 智能卡也采用了ARM 技术。

ARM处理器的特点:

1、体积小、低功耗、低成本、高性能;

2、支持Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容8 位/16 位器件;

3、大量使用寄存器,指令执行速度更快;

4、大多数数据操作都在寄存器中完成;

5、寻址方式灵活简单,执行效率高;

6、指令长度固定;


二、ARM相关的几个重要概念1.冯·诺依曼体系

冯·诺依曼体系的特点:

A、数据与指令都存储在同一存储区中,取指令与取数据利用同一数据总线。

B、被早期大多数计算机所采用。

C、ARM7——冯诺依曼体系结构简单,但速度较慢。取指不能同时取数据。

2.哈佛体系

结构特点:

A、程序存储器与数据存储器分开.

B、提供了较大的存储器带宽,各自有自己的总线。

C、适合于数字信号处理.

D、大多数DSP都是哈佛结构.

E、ARM9是哈佛结构,取指和取数在同一周期进行,提高速度,改进哈佛体系结构分成三个存储区:程序、数据、程序和数据共用。

3.CISC复杂指令集特点

A、具有大量的指令和寻址方式

B、8/2原则:80%的程序只使用20%的指令

C、大多数程序只使用少量的指令就能够运行。

D、CISC CPU 包含有丰富的单元电路,因而功能强、面积大、功耗大。

4.RISC精简指令集特点

A、在通道中只包含最有用的指令,只提供简单的操作。

B、确保数据通道快速执行每一条指令。

C、Load-store结构—— 处理器只处理寄存器中的数据,load-store指令用来完成数据在寄存器和外部存储器之间的传送。

D、使CPU硬件结构设计变得更为简单, RISC CPU包含较少的单元电路,因而面积小、功耗低。

5.RISC与CISC主要差别

A、寄存器方面

RISC指令集:拥有更多的通用寄存器,每个可以存放数据和地址,寄存器为所有的数据操作提供快速的存储访问。

CISC指令集:多用于特定目的的专用寄存器。

B、LOAD –STORE结构方面

RISC结构:Cpu 仅处理寄存器中的数据,采用独立的、专用的LOAD –STORE 指令来完成数据在寄存器和外存之间的传送。(访存费时,处理和存储分开,可以反复的使用保存在寄存器中的数据,而避免多次访问外存)。

CISC结构:能直接处理存储器中的数据。

三、ARM存储格式

ARM存储器以8位为一个单元存储数据(一个字节),每个存储单元分配一个存储地址。

ARM将存储器看作是从零地址开始的字节的线性组合。作为32位的微处理器,ARM体系结构所支持的最大寻址空间为4GB(232字节)。从零字节到三字节放置第一个存储的字数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列。32位的字数据要使用4个地址单元,16位半数据要使用2个地址单元。这样,就存在一个所存储的字或半字数据的排列顺序问题。ARM体系结构可以用两种方法存储字数据,称为大端格式和小端格式。

大端格式(big-endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。

小端格式(low-endian):与大端存储格式相反。低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。缺省设置为小端格式。

推荐阅读我前面写的文章:你真的懂CPU大小端模式吗?四、Thumb技术ARM的RISC体系结构的发展中已经提供了低功耗、小体积、高性能的方案。而为了解决代码长度的问题,ARM体系结构又增加了T变种,开发了一种新的指令体系,这就是Thumb指令集,它是ARM技术的一大特色。

Thumb是ARM体系结构的扩展。它有从标准32位ARM指令集抽出来的36条指令格式,可以重新编成16位的操作码。这能带来很高的代码密度。

支持Thumb的ARM体系结构的处理器状态可以方便的切换、运行到Thumb状态,在该状态下指令集是16位的Thumb指令集。

与ARM指令集相比.Thumb指令集具有以下局限:1、完成相同的操作,Thumb指令通常需要更多的指令,因此在对系统运行时间要求苛刻的应用场合ARM指令集更为适合;

2、Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时,还是需要使用ARM指令,这种限制决定了Thumb指令需要和ARM指令配合使用。 (来源:电子工程专辑)


‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

推荐阅读:纳米级别的CPU,是如何制作的?5G通信帧结构与常见通信有什么区别?

关注公众号『strongerHuang』,在后台回复“1024”,查看更多精彩内容,回复“加群”,可加入黄工的技术交流群。

长按识别图中二维码关注

原文标题:ARM架构及ARM指令集、Thumb指令集你了解多少?

文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

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

    关注

    68

    文章

    19155

    浏览量

    229049
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9040

    浏览量

    366726
  • ARM处理器
    +关注

    关注

    6

    文章

    360

    浏览量

    41657
收藏 人收藏

    评论

    相关推荐

    指令集架构与微架构的区别

    指令集架构(Instruction Set Architecture,ISA)与微架构(Microarchitecture)是计算机体系结构中的两个重要概念,它们在处理器的设计和实现中扮演着不同的角色。以下是对两者区别的详细阐述
    的头像 发表于 10-05 15:10 391次阅读

    简述微处理器的指令集架构

    微处理器的指令集架构(Instruction Set Architecture,ISA)是计算机体系结构中的核心组成部分,它定义了计算机能够执行的指令集合、数据类型、寄存器、内存访问方式等,是连接
    的头像 发表于 10-05 14:59 286次阅读

    RISC-V和arm指令集的对比分析

    RISC-V和ARM指令集是两种不同的计算机指令集架构,它们在多个方面存在显著的差异。以下是对这两种指令集的详细对比分析: 一、设计理念 R
    发表于 09-28 11:05

    ARM处理器的指令集包括哪些

    ARM处理器的指令集是一个庞大而复杂的系统,它涵盖了多种类型的指令,用于实现数据处理、程序控制、内存访问等多种功能。
    的头像 发表于 09-10 11:15 424次阅读

    RISC-V指令集的特点总结

    开源 定义:RISC-V 是完全开源的指令集架构(ISA),意味着任何人都可以查看、使用、修改以及分发其设计,而无需支付版权费用。 优势:这种开源特性促进了全球性的创新和合作。 社区化 定义
    发表于 08-30 22:05

    RISCV的主流指令集有哪些?

    如题,就像X86中指令集有MMX,SSE,SSE2等,就像ARM指令集ARMThumb等,但是总是感觉RISCV特别乱,可能是厂商比较多
    发表于 08-29 13:49

    复杂指令集和精简指令集有什么区别

    的两种主要指令集架构,它们在多个方面存在显著的差异。以下是对这两种指令集架构的详细比较,涵盖设计理念、指令复杂性、寻址方式、实现方式、性能特
    的头像 发表于 08-22 11:00 2724次阅读

    微处理器的指令集架构介绍

    微处理器的指令集架构(Instruction Set Architecture,ISA)是计算机体系结构中至关重要的部分,它定义了微处理器能够执行的操作和指令的集合,以及这些指令如何被
    的头像 发表于 08-22 10:53 917次阅读

    CISC(复杂指令集)与RISC(精简指令集)的区别  

    Instruction Set Computers,复杂指令集计算)和RISC(Reduced Instruction Set Computers)是两大类 主流的CPU指令集类型,其中CISC以Intel,AMD
    发表于 07-30 17:21

    嵌入式系统的概念与范围开发 指令集架构要怎么选才合适?

    想要搭建一套嵌入式系统,首先得确认想要采用的指令集架构(Instruction Set Architectures, ISA),各家的指令集架构各有其优缺点与拥护者,本文将为您大致介绍
    的头像 发表于 03-28 09:35 716次阅读
    嵌入式系统的概念与范围开发 <b class='flag-5'>指令集</b><b class='flag-5'>架构</b>要怎么选才合适?

    RISC-V开源指令集全面指南与解析

    它应该是稳定的,基础的指令集架构不应该改变。更重要的是,它不能像以前的专有指令集架构一样被弃用,例如AMD Am29000、Digital Alpha、Digital VAX、Hewl
    的头像 发表于 03-13 09:41 675次阅读
    RISC-V开源<b class='flag-5'>指令集</b>全面指南与解析

    什么是RISC-V?RISC-V指令集的优势

    CPU 支持的所有指令指令的字节级编码就是这个 CPU 的指令集架构(Instruction Set Architecture,ISA),指令集
    发表于 03-05 10:31 715次阅读
    什么是RISC-V?RISC-V<b class='flag-5'>指令集</b>的优势

    【米尔-全志T113-i开发板试用】使用ruapu探测CPU指令集信息

    到的扩展指令集 看到 thumb 模式下,不支持 vfpv4 和 idiv vfpv4 增加了 fma 乘法加速,idiv 增加了整数除法,由此可见使用 arm 模式编译能使用更多的指令
    发表于 02-25 21:36

    现代处理器的主要指令集架构

    ​ ​现代处理器的主要指令集架构(ISA)包括:x86指令集架构、RISC指令集架构
    的头像 发表于 12-11 09:55 4298次阅读
    现代处理器的主要<b class='flag-5'>指令集</b><b class='flag-5'>架构</b>

    单片机架构指令集的知识

    指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合。而指令集的先进与否,也关系到CPU的性能发挥,它也是CPU性能体现的一个重要标志。
    发表于 12-02 09:51 1076次阅读
    单片机<b class='flag-5'>架构</b>和<b class='flag-5'>指令集</b>的知识