认识ARM体系结构的发展
处理器的体系结构定义了指令集(ISA)和基于这一体系结构下处理器的程序员模型。尽管每个处理器性能不同,所面向的应用不同,每个处理器的实现都要遵循这一体系结构。arm体系结构为嵌入系统发展商提供很高的系统性能,同时保持优异的功耗和面积效率。
arm体系结构的发展
ARM体系结构为满足ARM合作者以及设计领域的一般需求正稳步发展。每一次arm体系结构的重大修改,都会添加极为关键的技术。在体系结构作重大修改的期间,会添加新的性能作为体系结构的变体。下面的名字表明了系统结构上的提升,后面附加的关键字表明了体系结构的变体。
V3结构32位地址。
Thumb状态:16位指令。
长乘法支持(32*32=>64或者32*32+64=>64)。这一性质已经变成V4结构的标准配
置。
V4结构加入了半字存储操作。
对调试的支持(Debug)
嵌入的ICE(InCircuitEmulation)
属于V4体系结构的处理器(核)有ARM7,ARM7100(ARM7核的处理器),ARM7500(ARM7核的处理器)。 属于V4T(支持Thumb指令)体系结构的处理器(核)有 ARM7TDMI,ARM7TDMI-S(ARM7TDMI可综合版本),ARM710T(ARM7TDMI核的处理器),ARM720T(ARM7TDMI核的处理器),ARM740T(ARM7TDMI核的处理器),ARM9TDMI,ARM910T(ARM9TDMI核的处理器),ARM920T(ARM9TDMI核的处理器),ARM940T(ARM9TDMI核的处理器),Strongarm(Intel公司的产品)。
V5结构提升了arm和Thumb指令的交互工作能力。
EDSP指令支持。
JJava指令支持。
属于V5T(支持Thumb指令)体系结构的处理器(核)有ARM10TDMI,ARM1020T(arm10TDMI核处理器)。
属于V5TE(支持Thumb,DSP指令)体系结构的处理器(核)有ARM9E,ARM9E-S(ARM9E可综合版本),ARM946(ARM9E核的处理器),ARM966(ARM9E核的处理器),ARM10E,ARM1020E(ARM10E核处理器),ARM1022E(arm10E核的处理器), Xscale(Intel公司产品)。
属于V5TEJ(支持Thumb,DSP指令,Java指令)体系结构的处理器(核)有ARM9EJ,ARM9EJ-S(ARM9EJ可综合版本),ARM926EJ(ARM9EJ核的处理器),ARM10EJ. V6结构 增加了媒体指令属于V6体系结构的处理器核有ARM11.ARM体系结构中有四种特殊指令集:Thumb指令(T),DSP指令(E),Java指令(J),Media指令,V6体系结构包含全部四种特殊指令集。为满足向后兼容,ARMv6也包括了armv5的存储器管理和例外处理。这将使众多的第三方发展商能够利用现有的成果,支持软件和设计的复用。
新的体系结构并不是想取代现存的体系结构,使它们变得多余。新的CPU核和衍生产品将建立在这些结构之上,同时不断与制造工艺保持同步。例如基于V4T体系结构的arm7TDMI核还在广泛被新产品所使用。
新体系结构的发展动力下一代体系结构的发展是由不断涌现的新产品和变化的市场来推动的。关键的设计约束是显而易见的,功能,性能,速度,功耗,面积和成本必须与每一种应用的需求相平衡。保证领先的性能/功耗(MIPS/Watt)在过去是ARM成功的基石,在将来的应用中它也是一个重要衡量标准。随着计算和通讯持续覆盖许多消费领域,功能也变得愈来愈复杂,消费者期望有高级的用户界面,多媒体以及增强的产品性能。armv6将更有效的对这些新性质和技术进行有效的支持。
驱动RMv6体系结构发展的市场主要有无线,网络,自动化和消费娱乐市场。ARM在过去与体系结构的受权者和主要合作者像Intel,Microsoft,Symbian和TI共同定义了armv6体系结构的需求。
ARMv6体系结构的提升发展ARMv6体系结构的过程中,精力主要集中在五个方面:存储器管理存储器管理方式严重影响系统设计和性能。存储器结构的提升将大大提高处理器的整体性能-尤其是对于面向平台的应用。armv6体系结构可以提高取指(数据)效能。处理器将花费更少的时间在等待指令和缓存未命中数据重装载上面。存储器管理的提升将使系统性能提升30%.而且,存储器管理的提升也会提高总线的使用效率。更少的总线活动意味着功耗方面的节省。
多处理器
应用覆盖驱动系统实现向多处理器方向发展。无线平台,尤其是2。5G和3G,都是典型的需要整合多个ARM处理器或ARM与DSP的应用。多处理器材通过共享内存来有效的共享数据。新的armv6在数据共享和同步方面的能力将使它更容易实现多处理器,以及提高它们的性能。新的指令使能复杂的同步策略,更大的提升了系统效能。
多媒体支持
单指令流多数据流(SIMD)能力使得软件更有效地完成高性能的媒体应用像声音和图像编码器。armv6指令集合中加入了超过60个SIMD指令。加入SIMD指令将使性能提高2倍到4倍。SIMD能力使发展商可以完成高端的像图象编码
,语音识别,3D图象,尤其是与下一代无线应用相关的。
数据处理
数据的大小端问题是指数据以何种方式在存储器中被存储和引用。
随着更多的SOC集成,单芯片不仅包含小端的OS环境和界面(像USB,PCI),也包含大端的数据(TCP/IP包,MPEG流)。ARMv6体系结构,支持混合。结果,数据处理问题在armv6体系结构中更为有效。
未对齐数据是指数据未与自然边界对齐。例如,在DSP应用中有时需要将字数据半字对齐。处理器更有效处理这种情形需要能够装载字到任何半字边界。
当前版本的体系结构需要大量指令处理未对齐数据。ARMv6兼容结构处理未对齐数据更有效。对于严重依赖未对齐数据的DSP算法,ARMv6体系结构将有性能的提高以及代码数量的缩减。未对齐数据支持将使ARM处理器在仿真其它处理器像Motorola的68000系列方面更有效。与ARMv5的实现像ARM10和Xscale,ARMv6是基于32位处理器。armv6可以实现64位或64位以上的总线宽度。这使得总线等于甚至超过64位处理器,但功耗和面积却比64位CPU要低。
例外(EXCEPTION)与中断
对于实时系统来说,对于中断的效率是要求严格的。像硬盘控制器,引擎管理应用,这些应用中如果中断没有及时得到响应,那后果将是严重的。更有效的处理中断与例外也能提高系统整体表现。在降低系统时尤为重要。在armv6体系结构中,新的指令被加入了指令集合来提升中断与例外的实现。这些将有效提升特权模式下例外处理。
arm11主要性能
ARM11是ARMv6体系结构的第一个实现,ARM11微结构的设计目的是为了高性能,而实现这一目的流水线是关键。ARM11微结构的流水线与以前的arm核不同,它包含8级流水,使贯通率比以前的核提高40%。
单指令发射
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)