arm指令集架构发展历史 arm指令集系统
关于ARM型号的问题
1.1 ARM-Aanced RISC Machines
arm指令集架构发展历史 arm指令集系统
arm指令集架构发展历史 arm指令集系统
arm指令集架构发展历史 arm指令集系统
ARM(Aanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
19年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。
ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。
1.2 ARM微处理器的应用领域及特点
1.2.1 ARM微处理器的应用领域
到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域:
1、工业控制领域:作为32的RISC架构,基于ARM核的微芯片不但占据了高端微市场的大部分市场份额,同时也逐渐向低端微应用领域扩展,ARM微的低功耗、高性价比,向传统的8位/16位微提出了挑战。
2、通讯领域:目前已有超过85%的通讯设备采用了ARM技术, ARM以其高性能和低成本,在该领域的地位日益巩固。
3、网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。
4、消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和中得到广泛采用。
5、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。
除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。
1.2.2 ARM微处理器的特点
采用RISC架构的ARM微处理器一般具有如下特点:
1、体积小、低功耗、低成本、高性能;
2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
3、大量使用寄存器,指令执行速度更快;
4、大多数数据作都在寄存器中完成;
5、寻址方式灵活简单,执行效率高;
6、指令长度固定;
1.3 ARM微处理器系列
ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。
- ARM7系列
- ARM9系列
- ARM9E系列
- ARM10E系列
- SecurCore系列
- Inter的Xscale
- Inter的StrongARM
其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。
以下我们来详细了解一下各种处理器的特点及应用领域。
1.3.1 ARM7微处理器系列
ARM7系列微处理器为低功耗的32位RISC处理器,适合用于对价位和功耗要求较高的消费类应用。ARM7微处理器系列具有如下特点:
- 具有嵌入式ICE-RT逻辑,调试开发方便。
- 极低的功耗,适合对功耗要求较高的应用,如便携式产品。
- 能够提供0.9MIPS/MHz的流水线结构。
- 代码密度高并兼容16位的Thumb指令集。
- 对作系统的支持广泛,包括Windows CE、Linux、Palm OS等。
- 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。
- 主频可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、
ARM720T、ARM7EJ。其中,ARM7I是目前使用广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:
T: 支持16为压缩指令集Thumb;
D: 支持片上Debug;
M:内嵌硬件乘法器(Multiplier)
I: 嵌入式ICE,支持片上断点和调试点;
1.3.2 ARM9微处理器系列
ARM9系列微处理器在高性能和低功耗特性方面提供佳的性能。具有以下特点:
- 5级整数流水线,指令执行效率更高。
- 提供1.1MIPS/MHz的哈佛结构。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式作系统。
- MPU支持实时作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9系列微处理器主要应用于设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字等。
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。
1.3.3 ARM9E微处理器系列
ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微、DSP、Ja应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微的应用场合。
ARM9E系列微处理器的主要特点如下:
- 支持DSP指令集,适合于需要高速数字信号处理的场合。
- 5级整数流水线,指令执行效率更高。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- 支持VFP9浮点处理协处理器。
- 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式作系统。
- MPU支持实时作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
- 主频可达300MIPS。
ARM9系列微处理器主要应用于下一代设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。
ARM9E系列微处理器包含ARM926EJ-S、ARM946E-S和ARM966E-S三种类型,以适用于不同的应用场合。
1.3.4 ARM10E微处理器系列
ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。
ARM10E系列微处理器的主要特点如下:
- 支持DSP指令集,适合于需要高速数字信号处理的场合。
- 6级整数流水线,指令执行效率更高。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- 支持VFP10浮点处理协处理器。
- 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力
- 主频可达400MIPS。
- 内嵌并行读/写作部件。
ARM10E系列微处理器主要应用于下一代设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。
ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。
1.3.5 SecurCore微处理器系列
SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案,因此,SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案的支持。
SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点:
- 带有灵活的保护单元,以确保作系统和应用数据的安全。
- 采用软内核技术,防止外部对其进行扫描探测。
- 可集成用户自己的安全特性和其他协处理器。
SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。
SecurCore系列微处理器包含SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210四种类型,以适用于不同的应用场合。
1.3.6 StrongARM微处理器系列
Inter StrongARM SA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Inter公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有In技术优点的体系结构。
In StrongARM处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。
1.3.7 Xscale处理器
Xscale 处理器是基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。
Xscale 处理器是Inter目前主要推广的一款ARM微处理器。
1.4 ARM微处理器结构
1.4.1 RISC体系结构
传统的CISC(Complex Instruction Set Comr,复杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在CISC指令集的各种指令中,其使用频率却相悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。
基于以上的不合理性,1979年美国加州大学伯克利分校提出了RISC(Reduced Instruction Set Comr,精简指令集计算机)的概念,RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。RISC结构优先选取使用频的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。
到目前为止,RISC体系结构也还没有严格的定义,一般认为,RISC体系结构应具有如下特点:
- 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。
- 使用单周期指令,便于流水线作执行。
- 大量使用寄存器,数据处理指令只对寄存器进行作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。
除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:
- 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。
- 可用加载/存储指令批量传输数据,以提高数据的传输效率。
- 可在一条数据处理指令中同时完成逻辑处理和移位处理。
- 在循环处理中使用地址的自动增减来提高运行效率。
当然,和CISC架构相比较,尽管RISC架构有上述的优点,但决不能认为RISC架构就可以取代CISC架构,事实上,RISC和CISC各有优势,而且界限并不那么明显。现代的CPU往往采用CISC的外围,内部加入了RISC的特性,如超长指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。
1.4.2 ARM微处理器的寄存器结构
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:
- 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
- 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。
关于ARM处理器的寄存器结构,在后面的相关章节将会详细描述。
1.4.3 ARM微处理器的指令结构
ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。
关于ARM处理器的指令结构,在后面的相关章节将会详细描述。
1.5 ARM微处理器的应用选型
鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展,ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难,所以,对ARM芯片做一些对比研究是十分必要的。
以下从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题做一些简要的探讨。
ARM微处理器内核的选择
从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域,用户如果希望使用WinCE或标准Linux等作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Mament Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows CE和标准Linux,但目前有uCLinux等不需要MMU支持的作系统可运行于ARM7TDMI硬件平台之上。事实上,uCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。
本书所讨论的S3C4510B即为一款不带MMU的ARM微处理器,可在其上运行uCLinux作系统。
系统的工作频率
系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz,ARM10可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟可以分别为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。
芯片内存储器的容量
大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间,如ATMEL的ATF40162就具有高达2MB的片内程序存储空间,用户在设计时可考虑选用这种类型,以简化系统的设计。
片内外围电路的选择
除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,我们称之为片内外围电路,如USB接口、IIS接口、LCD、键盘接口、RTC、ADC和DAC、DSP协处理器等,设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠性。
管着干吗
硬科技:Arm迈向高阶伺服器伟大的一步:Fujitsu A64FX
这应该是今年八月的Hotchips 30让笔者深感震撼的议程了,虽然Fujitsu早在今年六月就已经透露了「京」超级电脑后继者的相关讯息,但这对处理器市场造成的冲击,依旧余波荡扬。
A64FX并非只是将「电脑的语言」—指令集架构—更替为Arm v8.2-A与SVE的SPARC64 XIfx,隐藏在「强Arm处理器」响亮名号的背后,有太多值得各位科科慢慢吸收的「弦外之音」,比帐面上的硬体规格更加的重要。
在伺服器大厂纷纷放弃自主开发处理器的这些年,日本Fujitsu依旧持之以恒的研发GS系列大型主机、Unix伺服器使用的SPARC64处理器、与因应「京 (K)」超级电脑的高效能运算需求而衍生出来的SPARC64fx系列。
看了这么多年喊着要搞「Arm伺服器」的晶片公司搞出一堆根本就不成气候的产品设计,Fujitsu将其SPARC处理器的「语言」替换成Arm指令集架构,总算一口气让Arm处理器直登顶峰—高阶企业伺服器的高效能,与大型主机等级的可靠度,作为「后京 (Post-K)」时代的日系超级电脑心。
即使超级电脑应用不等同于企业伺服器,但支撑A64FX的技术,已足以和其他的高阶RISC伺服器和CISC大型主机平起平坐,且更具有「有效引进新技术以缩短产品开发时程与降低成本」的特色。
A64FX处理器将使用7nm FinFET制程生产,87.86亿个电晶体,预定应用于2021年量产出货的日本新一代超级电脑,目标将实现2011年「京」超级电脑的一百倍性能。
A64FX使用「纯64位元」的Arm-v8.2-A指令集,浮点运算使用支援512位元的SVE执行单元。浮点理论运算性能可达2.7T Flops,是前代的SPARC XIfx处理器1.1T Flops的2.5倍左右。
延续SPARC64 XIfx的基本设计,A64FX总计有48个计算核心及4个用来处理I/O的辅助核心,分为四个CMG单元,每个单元13 (12 计算+ 1辅助) 个核心,共用8MB第二阶快取记忆体,配备8GB容量HBM2记忆体,理论记忆体频宽256GB/s。换言之,A64FX总计32MB第二阶快取记忆体,32GB容量 HBM2,1024GB/s记忆体理论频宽,共用16条PCIe 3.0通道。
眼尖的科科会发现快取记忆体的频宽是「读多写少」,请动点脑想想高效能运算的特性吧。
连接运算单元的多处理器汇流排,一向是超级电脑的技术重头戏,「京」超级电脑的处理器通过名为「豆腐 (Tofu)」的特殊6D Mesh / Torus网路连线在一起,A64FX采用的是第三代的「豆腐 (Tofu3)」,单埠7GB/s理论频宽 (28Gbps x 2 Lane),10埠总计为进/出个别70GB/s,由下图大概可以了解整个多处理器网路的外貌,一个机柜可置入384颗A64FX,总计多达18432个运算核心。
Arm SVE指令集有个特色,特别值得拿出来聊一聊。
受制于指令编码空间有限,难以为了所有的运算元,挤出指定的位元 (如需要5位元才能标定32个暂存器,四个运算元就会吃掉20位元),被迫做出牺牲的三运算元浮点乘积和指令 (A x B + C = C),会覆盖掉原本C运算元内的内容,如要保留,就得大费周章先「备份」到其他的地方。
MOVPRFX指令则可先在三运算元浮点乘积和指令前,设置一个前制码「更名」其中一个运算元,转变成4运算元的浮点乘积和。
原本想做的运算:
(Z1 x Z2) + Z3 = Z0
但如果直接用现有指令做 (Z1 x Z2) + Z3 = Z3,就会摧毁掉Z3原本的内容,所以:
用MOVPREX将Z3改名为Z0,接连再执行(Z1 x Z2) + Z0 = Z0,实际上就变成:
(Z1 x Z2) + Z3 = Z0,皆大欢喜。
而A64FX的内部执行单元设计,就直接把接连两个指令合并为一,隐藏掉执行两个指令的额外延迟。
前面有提到A64FX的微架构和基础设计沿自SPARC64 XIfx,那我们就来瞧瞧,两者到底有多么的像,像到根本是同一个模子刻出来的。
指令管线与执行单元规划:
CMG分区设计:
大型主机等级的资料可用性,ECC单位元错误修正和Parity纠错机制,让整颗晶片大部分都受到资料保护:
指令集架构换了,当然软体应用环境也要跟着改版,Fujitsu与自从「京」开始一同研发超级电脑的理化学研究所 (简称「理研」) 也开始合作开发新的环境,包含针对处理器微架构、新指令集与HBM2记忆体佳化的编译器。
后,写了这么多,那各位科科一定很想知道笔者,在文初暗示的「 比帐面上硬体规格更重要的弦外之音」并「有效引进新技术以缩短产品开发时程与降低成本」,到底是何等天大的秘密,说穿了也只有一句话:
超级电脑市场较量的不只是效能和耗电,「研发时程」与「建造速度」也同样重要。
其实这也是IBM BlueGene/L十多年前可以独领 的秘诀,采用高度整合SoC化的运算,并充分延续现有Power家族处理器的研发成果,以实现更好的空间利用密度与系统组装速度,而A64FX就完全承袭了这样的思维,从两个小地方,即可略见一斑:
7nm FinFET制程与Arm生态系统: 我们有87%的信心,相信A64FX将由台积电代工,这也意味着,Fujitsu可以直接沿用早被Apple和诸多客户千锤百炼的电子辅助设计工具、功能模块和相关函式库,借由成熟的「研发供应炼」,迅速完成产品的研发与验证,并且降低成本。
HBM2记忆体: 如同Google的第二代TPU,Fujitsu透过因显示晶片市场而逐渐成熟的HBM2,大幅精简了运算的体积,简化新一代超级电脑的内部结构,加快出货后的建造与布署速度。
「强Arm处理器」A64FX毕竟还是研发中的产品,当晶片真正tape out并样品问世时,大概看起来也不会像现在这么厉害了,但它的存在,象征著Arm指令集也能享有高阶伺服器等级的实作,以时日,当「Arm伺服器生态系统」真的水到渠成,恐怕市场上将不缺能与同期IBM和x86处理器抗衡的先进产品。SPARC64fx可以更换指令集,那为何企业伺服器SPARC64就不行?更何况两者统一,之后更能节约研发资源。
至于Fujitsu迈出这巨大的一步,是否代表SPARC指令集和Solaris作业系统即将走到生命的尽头?就让时间告诉我们后的,但可能也不需要了。
什么是ARM和x86架构?
手机是arm平台,exe那是x86平台编译出来的东西,根本没办法直接运行;非要运行只能装虚拟机,但是那效率保证卡的你三分钟就受不了。
ARM架构,曾称进阶精简指令集机器(Aanced RISC Machine)更早称作Acorn RISC Machine,是一个32位精简指令集(RISC)处理器架构。还有基于ARM设计的派生产品,重要产品包括Marvell的XScale架构和德州仪器的OMAP系列。
ARM家族占比所有32位嵌入式处理器的75%,成为占全世界多数的32位架构。ARM处理器广泛使用在嵌入式系统设计,低耗电节能,非常适用移动通讯领域。消费性电子产品,例如可携式装置(PDA、移动电话、多媒体播放器、掌上型,和计算机),电脑外设(硬盘、桌上型路由器)。
x86架构历史:
x86架构于1978年推出的In 8086处理器中首度出现,它是从In 8008处理器中发展而来的,而8008则是发展自In 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来成功的CPU架构。
其他公司也有制造x86架构的处理器,计有Cyrix(现为VIA所收购)、NEC、IBM、IDT以及Traneta。In以外成功的制造商为AMD,其早先产品Athlon系列处理器的市场份额仅次于In Pentium。
8086是16位处理器;直到1985年32位的80386的开发,这个架构都维持是16位。接着一系列的处理器表示了32位架构的细微改进,推出了数种的扩充,直到2003年AMD对于这个架构发展了64位的扩充,并命名为AMD64。
后来In也推出了与之兼容的处理器,并命名为In 64。两者一般被统称为x86-64或x64,开创了x86的64位时代。
值得注意的是In早在1990年代就与HP合作提出了一种用在安腾系列处理器中的的64位架构,这种架构被称为IA-64。IA-64是一种崭新的系统,和x86架构完全没有相似性;不应该把它与x86-64或x64弄混。
马里亚纳什么指令集架构
arm指令集架构(Instruction Set Architecture,ISA)是计算机抽象模型的一部分。
arm指令集架构定义了软件如何控制 CPU。Arm ISA 允许开发人员编写符合 Arm 规范的软件和固件,以此实现在任何基于 Arm 的处理器上都可以以同样的方式执行它们。
简述arm处理器家族的主要系列各有哪些特点,及其与arm体系结构各个版本的关系
各ARM体系结构版本
ARM体系结构从初开发到现在有了很大的改进,并仍在完善和发展。
为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了6种主要的ARM指令集体系结构版本,以版本号V1~V6表示
ARM版本Ⅰ: V1版架构
该版架构只在原型机ARM1出现过,只有26位的寻址空间,没有用于商业产品。
其基本性能有:
基本的数据处理指令(无乘法);
基于字节、半字和字的Load/Store指令;
转移指令,包括子程序调用及链接指令;
供作系统使用的软件中断指令SWI;
寻址空间:64MB(226)。
ARM版本Ⅱ: V2版架构
该版架构对V1版进行了扩展,例如ARM2和ARM3(V2a)架构。包含了对32位乘法指令和协处理器指令的支持。
版本2a是版本2的变种,ARM3芯片采用了版本2a,是片采用片上Cache的ARM处理器。同样为26位寻址空间,现在已经废弃不再使用。
V2版架构与版本V1相比,增加了以下功能:
乘法和乘加指令;
支持协处理器作指令;
快速中断模式;
SWP/SWPB的基本存储器与寄存器交换指令;
寻址空间:64MB。
ARM版本Ⅲ : V3版架构
ARM作为的公司,在1990年设计的个微处理器采用的是版本3的ARM6。它作为IP核、的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU。
变种版本有3G和3M。版本3G是不与版本2a向前兼容的版本3,版本3M引入了有符号和无符号数乘法和乘加指令,这些指令产生全部64位结果。
V3版架构( 目前已废弃 )对ARM体系结构作了较大的改动:
寻址空间增至32位(4GB);
当前程序状态信息从原来的R15寄存器移到当前程序状态寄存器CPSR中(Current Program Status Register);
增加了程序状态保存寄存器SPSR(Sed Program Status Register);
增加了两种异常模式,使作系统代码可方便地使用数据访问中止异常、指令预取中止异常和未定义指令异常。;
增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器;
增加了从异常处理返回的指令功能。
ARM版本Ⅳ : V4版架构
V4版架构在V3版上作了进一步扩充,V4版架构是目前应用广的ARM体系结构,ARM7、ARM8、ARM9和StrongARM都采用该架构。
V4不再强制要求与26位地址空间兼容,而且还明确了哪些指令会引起未定义指令异常。
指令集中增加了以下功能:
符号化和非符号化半字及符号化字节的存/取指令;
增加了T变种,处理器可工作在Thumb状态,增加了16位Thumb指令集;
完善了软件中断SWI指令的功能;
处理器系统模式引进特权方式时使用用户寄存器作;
把一些未使用的指令空间捕获为未定义指令
ARM版本Ⅴ : V5版架构
V5版架构是在V4版基础上增加了一些新的指令,ARM10和Xscale都采用该版架构。
这些新增命令有:
带有链接和交换的转移BLX指令;
计数前导零CLZ指令;
BRK中断指令;
增加了数字信号处理指令(V5TE版); 为协处理器增加更多可选择的指令;
改进了ARM/Thumb状态之间的切换效率;
E---增强型DSP指令集,包括全部算法作和16位乘法作;
J----支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能。
ARM版本Ⅵ : V6版架构
V6版架构是2001年发布的,首先在2002年春季发布的ARM11处理器中使用。在降低耗电量地同时,还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD(Single Instruction, Multiple Data,单指令多数据 )功能,将语音及图像的处理功能提高到了原型机的4倍。
此架构在V5版基础上增加了以下功能:
THUMBTM:35%代码压缩;
DSP扩充:高性能定点DSP功能;
JazelleTM:Ja性能优化,可提高8倍;
Media扩充:音/视频性能优化,可提高4倍
arm是如何成为智能处理器的体系架构
arm指令集其实是利用了长尾理论从x86嘴里拿下了mobile的市场,就像是x86对ibm做的事情一样,从而应用到了手机上,成为了智能处理器。
Application Processors (应用处理器,下图橙色框部分)–面向移动计算,智能手机,等市场的的高端处理器。
ARM 体系结构是构建每个 ARM 处理器的基础。ARM 体系结构随着时间的推移不断发展,其中包含的体系结构功能可满足不断增长的新功能、高性能需求以及新兴市场的需要。
ARM体系结构支持跨跃多个性能点的实现,并已在许多细分市场中成为主导的体系结构。
ARM体系结构支持非常广泛的性能点,因而可以利用新的微体系结构技术获得极小的ARM处理器实现和极有效的高级设计实现。实现规模、性能和低功耗是ARM体系结构的关键特性。
举个例子:
ARM一开始是一家盖房子的公司,后面这家公司盖房子业绩平平,于是就转变策略不盖房子了,转而开始卖盖房子所需要的设计图纸方案,同时还和买方案盖房子的客户一起盖房子。在这里,房子就是所谓的芯片,图纸方案就是指芯片的算法,架构等等的知识产权。
ARM向他的客户提供授权,软件包等,通过授权费和版税赚钱,然后因为这种模式,又因为很多公司也需要芯片处理器,于是ARM就与很多公司产生了合作关系,比如德州仪器,苹果,诺基亚等等。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。