ARM架构及ARM指令集、Thumb指令集你了解多少?
ARM架构及ARM指令集、Thumb指令集你了解多少?
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指令配合使用。
ARM架构及ARM指令集、Thumb指令集你了解多少?相关推荐
- Cortex、ARMv8、arm架构、ARM指令集、soc?Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(内核)后者是指令集的架构(架构)
架构组成元素的指令集状态或者语法thumb指令集与arm指令集的区别例如thumb指令集是什么_thumb指令集与arm指令集的区别以及thumb-2的关系在下一文中介绍,本文暂时不讨论 有粉丝问我到 ...
- 什么是Cortex、ARMv8、arm架构、ARM指令集、soc
参考:到底什么是Cortex.ARMv8.arm架构.ARM指令集.soc?一文帮你梳理基础概念[科普] 发布时间: 一口Linux 网址:https://blog.csdn.net/daocaoka ...
- 到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】
前言 有粉丝问我到底什么是ARM,搞不清楚Cortex.arm内核.arm架构.ARM指令集.soc这些概念都是什么关系,下面一口君给大家整理一下关于ARM相关的一些概念. 1.ARM既可以认为是一个 ...
- ARM架构和ARM核区别和联系
一.架构和核 到目前为止,随着ARM公司64位处理器如Cortex A15的出现,ARM家族的架构或指令集已经发展到V8版本,下面简要列出了 ARMV1到ARMV8的发展以及处理器的典型代表.图中Ar ...
- 详谈ARM架构与ARM内核发展史
戳蓝字"CSDN云计算"关注我们哦! 作者 | 架构师技术联盟 责编 | 阿秃 1.ARM架构与ARM内核 1.1 ARM架构与内核简述 目前为止,ARM总共发布8种架构:ARMv ...
- 【笔记】ARM架构和ARM芯片(三)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 经典系列 ...
- 辨析:×86架构:×86(i386…),×64(×86-64/amd64);arm架构:arm,arm64
×86架构: ×86(又称:i386-/ IA32)表示32位cpu位数 ×64(又称:×86-64 / amd64 / inter64)表示64位cpu位数 arm架构: arm / A32 / a ...
- ARM架构下使用NEON向量化指令集入门基础
一.NEON简介 ARM NEON技术是基于SIMD的理念而设计出的,它是一种64位和128位混合的SIMD技术,主要应用场景是音视频处理,图像视觉计算,信号处理应用等需要密集计算的场 ...
- ARM、ARM架构、ARM架构芯片
ARM是一种基于精简指令集(RISC)的处理器架构,它由英国的ARM公司设计和授权. ARM芯片具有低功耗.高性能.高集成度等特点,广泛应用于嵌入式系统.移动设备.物联网.服务器等领域.本文将介绍AR ...
- 【笔记】ARM架构和ARM芯片(一)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! ARM是 ...
最新文章
- android wear 上网,Android Wear 2.0智能回复不需联网?这是最新的离线AI技术
- AI时代人类需要具备的九种软技能,你get了几个?
- mongodb从3.2升级到4.4_丰田汉兰达汽车音响升级黄金声学GS265.2,焱哥音响
- ExtJS4.2学习(9)——MVC
- First Grid 枚举(100)
- 文本向量表示及TFIDF词汇权值
- BSP细分时代即将来临
- [AngularJS]Chapter 1 AnjularJS简介
- matlab验潮站,验潮站的作用是什么
- 《Android的设计与实现:卷I》迷你书
- 一个月 200 题,命中 80%,拿下 BAT,我独特的高效刷题法
- 7.剑指Offer --- 两个面试案例
- ajax页面无刷新分页,JS+Ajax+Jquery实现页面无刷新分页以及分组 超强的实现
- 《数据库系统原理》课程设计:超市订单管理系统
- ESP8266获取B站粉丝数
- php tracert,使用tracert查看网络状况
- JS:Falsy Bouncer(过滤数组假值)
- 【剖析 | SOFARPC 框架】系列之 SOFARPC 序列化比较
- bzoj3047: Freda的传呼机bzoj2125: 最短路
- 模型训练过程中产生NAN的原因分析
热门文章
- 魅族mx4pro刷linux,魅族MX4 Pro刷recovery教程_魅族MX4 Pro第三方recovery下载
- 计算机视觉论文-2021-07-13
- MicroMsg.SDK.WXMediaMessage: checkArgs fail, thumbData is invalid
- 倒计时器c语言,在线倒计时器
- 用 ABAP 新建本地 Excel 文件并写入数据试读版
- 《我的成功可以复制》读后感
- 海德汉伺服驱动器电源维修UVR150D北京
- 人机交互技术:利用声波识别手势 Gesture Control System Uses Sound Alone
- HoloView -- Tabular Datasets
- 【20211208】【Python】UCI数据集的简单介绍和使用Python保存UCI数据集为.mat文件