ARM工艺及能耗发展概况
ARM系列是英国先进RISC机器公司(Advanced RISC Machines,ARM)公司的产品。第一个基于RISC指令集的ARM芯片是在1985年开始设计的,采用的是典型的32位RISC体系结构,其指令的拥有4位的寄存器地址域,可以访问R0-R15这16个寄存器。而其他的寄存器只有在特殊的情况下才可以访问到。
ARM使用了标准的、固定长度的32位指令格式,所有的ARM指令使用了4位的条件码来决定该指令是否应当执行,这种方式可以解决一些条件分支的问题,从而对代码的密度和性能都有好处,编译也因此也可以显示的控制指令的执行。
由于体系结构设计以及器件技术上的特点,可以使得ARM处理器可以与一些复杂得多的微处理器相抗衡,特别是在需要很少能耗的嵌入式处理场合。
1990年,ARM公司成立了。在ARM7中,将ARM体系结构完全扩展到32位(原来的ARM处理器只有26位的地址空间),并将主频提升到40MHz,另外还集成了一个8KB的Cache。比较有趣的是,ARM7可以支持一种称为"Thumb"的模式,可以运行新的16位指令。这主要是通过在ARM7芯片的指令预取阶段增加一个硬件,完成Thumb指令到正常的32位RISC指令来达到目的的。通过引入Thumb模式,可以使得只需要付出很少的硬件代价,就可以将代码的密度提升大约25%-35%,并使得应用的运行更为迅速。
1995年,ARM、Apple、DEC公司联合声明将开发一种用于PDA的高性能、低功耗的微处理器,主要是基于ARM体系结构的。DEC将自己在MPU设计上的优势带入ARM芯片设计中。一年后,StrongARM SA-110问世了,并成为嵌入式微处理器设计的一个里程碑。
StrongARM SA-110可以工作在200MHz,而能耗不到1瓦。在体系结构上,
StrongARM将原来ARM中的三级流水线扩展到五级,在器件工艺上,大量采用了最新的体系结构和器件技术,大大降低了芯片工作时的能耗。
StrongARM的出现并不是ARM发展历程上的唯一分支。1996年,ARM8发布了,采用同样的三级流水线,并在72MHz条件下,达到了84MIPS的指标。而在1997年,ARM9内核采用了与StrongARM相同的五级流水线。ARM9TDMI在0.35um工艺条件下,可以在200MHz达到220MIPS的性能。ARM9的另外一个版本ARM9E对SIMD做了增强,包括8位和16位SIMD加法和减法,16位和32位乘法,以及相应的算术操作等。
1997年,Intel接管了StrongARM,并开发了几个后续产品。1998年,Intel开始用0
.18um工艺生产StrongARM处理器。在1999年度嵌入式微处理器论坛上,Intel宣布将在其第二代StrongARM中采用7级流水线,并在0.18um工艺条件下,达到600MHz的速度,而能耗将仅仅为不到0.5瓦,同时,将新的微处理器命名为StrongARM Xscale。
StrongARM的出现并不是ARM发展历程上的唯一分支。1996年,ARM8发布了,采用同样的三级流水线,并在72MHz条件下,达到了84MIPS的指标。而在1997年,ARM9内核采用了与StrongARM相同的五级流水线。ARM9TDMI在0.35um工艺条件下,可以在200MHz达到220MIPS的性能。
ARM9的另外一个版本ARM9E对SIMD做了增强,包括8位和16位SIMD加法和减法,16位和32位乘法,以及相应的算术操作等。
ARM9EJ是ARM9E在Java支持上的增强版本。它采用了类似Thumb的机制,通过很少的硬件代价,可以使大多数Java虚拟机字节码可以加速执行,更为复杂的Java虚拟机字节码可以通过软件的方式执行。这样,可以使得Java虚拟机字节码的执行速度提升了大约8倍左右。这对于嵌入式场合的Java应用无疑是极其有效的。
ARM的成功在于它极高的性能以及极低的能耗,使得它能够与高端的MIPS和PowerPC嵌入式微处理器相抗衡。另外,即使根据市场需要进行功能的扩展,也是ARM取得成功的一个重要因素。随着更多厂商的支持和加入,可以预见,在将来一段时间之内,ARM仍将主宰32位嵌入式微处理器市场。
ARM取得了极大的成功,世界上几乎所有主要的半导体厂商都从ARM公司购买ARM ISA许可。
目前ARM系列芯片已经被广泛的应用于移动电话、手持式计算机以及各种各样的嵌入式应用领域,成为世界上销量最大的32位微处理器。
ARM也在向64位微处理器的方向发展。
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)