本文目录一览:
ARM架构是神马???
以下是arm架构的概述:
1 CISC(Complex Instruction Set Computer,复杂指令集计算机)
在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%。
2 RISC(Reduced Instruction Set Computer,精简指令集计算机)
RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等
RISC体系结构应具有如下特点:
1 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。
2 使用单周期指令,便于流水线操作执行。
3 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。
除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:
4 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。
5 可用加载/存储指令批量传输数据,以提高数据的传输效率。
6 可在一条数据处理指令中同时完成逻辑处理和移位处理。
7 在循环处理中使用地址的自动增减来提高运行效率。
寄存器结构
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:
1 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
2 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
指令结构
ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。
体系结构扩充
当前ARM体系结构的扩充包括:
·Thumb 16位指令集,为了改善代码密度;
·DSP DSP应用的算术运算指令集;
·Jazeller 允许直接执行Java字节码。
ARM处理器系列提供的解决方案有:
·无线、消费类电子和图像应用的开放平台;
·存储、自动化、工业和网络应用的嵌入式实时系统;
·智能卡和SIM卡的安全应用。
而 X86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家用PC领域。
ARM的意思是什么?
ARM 即Advanced RISC Machines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州SanJoseVLSI技术公司制造。
20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。
1990年成立了Advanced RISC Machines Limited(后来简称为ARM Limited,ARM公司)。20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。
1991 年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用 ARM技术知识产权( IP )核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75 %以上的市场份额, ARM 技术正在逐步渗入到我们生活的各个方面。
ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的 ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的 ARM 微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用 ARM 公司的授权,因此既使得 ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。
ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和众多合作伙伴。
ARM商品模式的强大之处在于它在世界范围有超过100个的合作伙伴(Partners)。ARM 是设计公司,本身不生产芯片。采用转让许可证制度,由合作伙伴生产芯片。
当前ARM体系结构的扩充包括:
·Thumb 16位指令集,为了改善代码密度;
·DSP DSP应用的算术运算指令集;
·Jazeller 允许直接执行Java字节码。
ARM处理器系列提供的解决方案有:
·无线、消费类电子和图像应用的开放平台;
·存储、自动化、工业和网络应用的嵌入式实时系统;
·智能卡和SIM卡的安全应用。
ARM处理器本身是32位设计,但也配备16位指令集。一般来讲存储器比等价32位代码节省达35%,然而保留了32位系统的所有优势。ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。
当前有5个产品系列——ARM7、ARM9、ARM9E、ARM10和SecurCore。
1、ARM7系列
优化用于对价位和功耗敏感的消费应用的低功耗32位核,有:
·嵌入式ICE-RT逻辑;
·非常低的功耗;
·三段流水线和冯·诺依曼结构,提供0.9MIPS/MHz。
2、SecurCore SC100特为安全市场设计,带特定的抗拒窜改和反工程的特性。还带灵活的保护单元确保操作系统和应用数据的安全。
3、ARM9系列
高性能和低功耗领先的硬宏单元,带有:
·5段流水线;
·哈佛结构提供1.1MIPS/MHz。
ARM920T和ARM922T内置全性能的MMU、指令和数据cache和高速AMBA总线接口。AMBA片上总线是一个开放标准,已成为SoC构建和IP库开发的事实标准。AMBA先进的高性能总线(AHB)接口现由所有新的ARM核支持,提供开发全综合设计系统。
ARM940T内置指令和数据cache、保护单元和高速AMBA总线接口。
4、ARM9E系列
可综合处理器,带有DSP扩充和紧耦合存储器(TCM)接口,使存储器以完全的处理器速度运转,可直接连接到内核上。
ARM966E-S用于硅片尺寸重要,而对cache没要求的实时嵌入式应用,可配置TCM大小:0、4K、8K、16K,最大达64M。
ARM946E-S内置集成保护单元,提供实时嵌入式操作系统的cache核方案。
ARM926ET-S带Jazelle扩充、分开的指令和数据高速AHB接口及全性能MMU。
VFP9 向量浮点可综合协处理器进一步提高ARM9E处理器性能,提供浮点操作的硬件支持。
5、ARM10系列
硬宏单元,带有:
·64位AHB指令和数据接口;
·6段流水线;
·1.25MIPS/MHz;
·比同等的ARM9器件性能提高50%。
两种新的先进的节能方式得到了异常低的耗电。VFP10协处理器完善地依从ARM10器件提供高性能的浮点解决方案。
ARM的概念
概述
ARM(Advanced RISC Machines)处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作Acorn RISC Machine。
ARM处理器本身是32位设计,但也配备16位指令集。一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。
编辑本段
特点
ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。
1、体积小、低功耗、低成本、高性能;
2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
3、大量使用寄存器,指令执行速度更快;
4、大多数数据操作都在寄存器中完成;
5、寻址方式灵活简单,执行效率高;
6、指令长度固定。
编辑本段
结构
体系结构
1 CISC(Complex Instruction Set Computer,复杂指令集计算机)
在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%。
2 RISC(Reduced Instruction Set Computer,精简指令集计算机)
RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等
RISC体系结构应具有如下特点:
1 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。
2 使用单周期指令,便于流水线操作执行。
3 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。
除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:
4 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。
5 可用加载/存储指令批量传输数据,以提高数据的传输效率。
6 可在一条数据处理指令中同时完成逻辑处理和移位处理。
7 在循环处理中使用地址的自动增减来提高运行效率。
寄存器结构
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:
1 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
2 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
指令结构
ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的
ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。
编辑本段
ARM处理器模式
处理器模式 说明
用户模式(usr) ARM处理器正常的程序执行状态
系统模式(sys) 运行具有特权的操作系统任务
快中断模式(fiq) 支持高速数据传输或通道处理
管理模式(svc) 操作系统保护模式
数据访问终止模式(abt) 用于虚拟存储器及存储器保护
中断模式(irq) 用于通用的中断处理
未定义指令终止模式(und) 支持硬件协处理器的软件仿真
除用户模式外,其余6种模式称为非用户模式或特权模式;用户模式和系统模式之外的5种模式称为异常模式。ARM处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。
编辑本段
体系结构扩充
当前ARM体系结构的扩充包括:
·Thumb 16位指令集,为了改善代码密度;
·DSP DSP应用的算术运算指令集;
·Jazeller 允许直接执行Java字节码。
ARM处理器系列提供的解决方案有:
·无线、消费类电子和图像应用的开放平台;
·存储、自动化、工业和网络应用的嵌入式实时系统;
·智能卡和SIM卡的安全应用。
编辑本段
历史
1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。
起初,Acorn公司打算使用摩托罗拉公司的16位芯片,但是发现这种芯片太慢也太贵。"一台售价500英镑的机器,不可能使用价格100英镑的CPU!"他们转而向Intel公司索要80286芯片的设计资料,但是遭到拒绝,于是被迫自行研发。
1985年,Roger Wilson和Steve Furber设计了他们自己的第一代32位、6M Hz的处理器, Roger Wilson和Steve Furber[1]用它做出了一台RISC指令集的计算机,简称ARM(Acorn RISC Machine)。这就是ARM这个名字的由来。
RISC的全称是"精简指令集计算机"(reduced instruction set computer),它支持的指令比较简单,所以功耗小、价格便宜,特别合适移动设备。早期使用ARM芯片的典型设备,就是苹果公司的牛顿PDA。
20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的计算机教育基础。
1990年11月27日,Acorn公司正式改组为ARM计算机公司。苹果公司出资150万英镑,芯片厂商VLSI出资25万英镑,Acorn本身则以150万英镑的知识产权和12名工程师入股。公司的办公地点非常简陋,就是一个谷仓。 20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。
编辑本段
市场前景
微软公司(2011年)宣布,下一版Windows将正式支持ARM处理器。这是计算机工业 arm处理器[2]发展历史上的一件大事,标识着x86处理器的主导地位发生动摇。目前在移动设备市场,ARM处理器的市场份额超过90%;在服务器市场,今年(2011年)就会有2.5GHz的服务器上市;在桌面电脑市场,现在又有了微软的支持。ARM成为主流,恐怕指日可待。难怪有人惊呼,Intel公司将被击败!
与这场轰轰烈烈的变革相比,它的主角ARM公司却没有受到太多的关注,显得不太起眼。这家远离硅谷、位于剑桥大学的英国公司,到底是怎么走到今天的,居然能将芯片巨人Intel拉下马?
展望未来,即使Intel成功地实施了Atom战略,将x86芯片的功耗和价格大大降低,它与ARM竞争也将非常吃力。因为ARM的商业模式是开放的,任何厂商都可以购买授权,所以未来并不是Intel vs. ARM,而是Intel vs. 世界上所有其他半导体公司。那样的话,Intel的胜算能有多少呢?
arm32位固定指令中怎么容纳32位变量
在ARM指令中,有三个操作数,目的操作数,第一原操作数,第二原操作数,其中最有意思的就是第二原操作数了,在ARM 指令中,第二原操作数共有12位,分成两个部分,一个部分占8位,能表示0—255,另外一个部分占4位,表示第一个部分8位数零扩展成32位的右循环移位,0001右循环移位2位,0010右循环移位4位,以此类推,来扩大用12位表示更大的数,但不能表示全部,这就是所谓的8位位图原理,你细细品一下,觉得很有意思的,至于8位位图不能表示的立即数就只能另外想办法处理了,最多用四次相或处理,比如:(KK#00)ORR(PP#0100)ORR(YY#1000)ORR(XX#1100),其中KK、PP、YY、XX表示任意的8位立即数,用这样的方法是不是可以实现任意的32位立即数呢?