1.2 ARM微处理器简介
ARM处理器的产品系列非常广,包括ARM7、ARM9、ARM9E、ARM10E、ARM11和Secur Core、Cortex等。每个系列提供一套特定的性能来满足设计者对功耗、性能、体积的要求。Secur Core是单独一个产品系列,是专门为安全设备而设计的。
表1-2总结了ARM各系列处理器所包含的不同类型。本节简要介绍ARM各个系列处理器的特点。
表1-2 ARM各系列处理器所包含的不同类型
续表
1.2.1 ARM9处理器系列
ARM9系列于1997年问世。由于采用了5级指令流水线,ARM9处理器能够运行在比ARM7更高的时钟频率上,改善了处理器的整体性能;存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分了数据总线和指令总线。
ARM9 系列的第一个处理器是 ARM920T,它包含独立的数据指令 Cache 和 MMU(Memory Management Unit,存储器管理单元)。此处理器能够用在要求有虚拟存储器支持的操作系统上。该系列中的ARM922T是ARM920T的变种,只有一半大小的数据指令Cache。
ARM940T包含一个更小的数据指令Cache和一个MPU(Micro Processor Unit,微处理器)。它是针对不要求运行操作系统的应用而设计的。ARM920T、ARM940T都执行v4T架构指令。
1.2.2 ARM9E处理器系列
ARM9系列的下一代处理器基于ARM9E-S内核,这个内核是ARM9内核带有E扩展的一个可综合版本,包括ARM946E-S和ARM966E-S两个变种。两者都执行v5TE架构指令。它们也支持可选的嵌入式跟踪宏单元,支持开发者实时跟踪处理器指令和数据的执行。当调试对时间敏感的程序段时,这种方法非常重要。
ARM946E-S包括TCM(Tightly Coupled Memory,紧耦合存储器)、Cache和一个MPU。TCM和Cache的大小可配置。该处理器是针对要求有确定的实时响应的嵌入式控制而设计的。ARM966E-S有可配置的TCM,但没有MPU和Cache扩展。
ARM9系列的ARM926EJ-S内核为可综合的处理器内核,发布于2000年。它是针对小型便携式Java设备,如3G手机和PDA应用而设计的。ARM926EJ-S是第一个包含Jazelle技术,可加速Java字节码执行的ARM处理器内核。它还有一个MMU、可配置的TCM及具有零或非零等待存储器的数据/指令Cache。
1.2.3 ARM11处理器系列
ARM1136J-S 发布于 2003 年,是针对高性能和高能效应而设计的。ARM1136J-S 是第一个执行ARMv6架构指令的处理器。它集成了一条具有独立的Load/Store和算术流水线的8级流水线。ARMv6指令包含了针对媒体处理的单指令流多数据流扩展,采用特殊的设计改善视频处理能力。
1.2.4 Secur Core处理器系列
Secur Core系列处理器提供了基于高性能的32位RISC技术的安全解决方案。Secur Core系列处理器除了具有体积小、功耗低、代码密度高等特点外,还具有它自己的特别优势,即提供了安全解决方案支持。下面总结了Secur Core系列的主要特点。
● 支持ARM指令集和Thumb指令集,以提高代码密度和系统性能。
● 采用软内核技术以提供最大限度的灵活性,可以防止外部对其进行扫描探测。
● 提供了安全特性,可以抵制攻击。
● 提供面向智能卡和低成本的存储保护单元MPU。
● 可以集成用户自己的安全特性和其他的协处理器。
Secur Core系列包含SC100、SC110、SC200和SC210四种类型。
Secur Core系列处理器主要应用于一些安全产品及应用系统,包括电子商务、电子银行业务、网络、移动媒体和认证系统等。
1.2.5 Strong ARM和Xscale处理器系列
Strong ARM处理器最初是ARM公司与Digital Semiconductor公司合作开发的,现在由Intel公司单独许可,在低功耗、高性能的产品中应用很广泛。它采用哈佛架构,具有独立的数据和指令 Cache,有MMU。Strong ARM是第一个包含5级流水线的高性能ARM处理器,但它不支持Thumb指令集。
Intel公司的Xscale是Strong ARM的后续产品,在性能上有显著改善。它执行V5TE架构指令,也采用哈佛架构,类似于Strong ARM也包含一个MMU。前面说过,Xscale已经被Intel卖给了Marvell公司。
1.2.6 MPCore处理器系列
MPCore是在ARM11核心的基础上构建的,架构上仍属于v6指令体系。根据不同的需要,MPCore可以被配置为 1 到 4 个处理器的组合方式,最高性能达到 2600 Dhrystone MIPS,运算能力几乎与PentiumⅢ1GHz处于同一水准(PentiumⅢ1GHz的指令执行性能约为2700 Dhrystone MIPS)。多核心设计的优点是在频率不变的情况下让处理器的性能获得明显提升,在多任务应用中表现尤其出色,这一点很适合未来家庭消费电子产品的需要。例如,机顶盒在录制多个频道电视节目的同时,还可通过互联网收看数字视频点播节目;车内导航系统在提供导航功能的同时,可以向后座乘客提供各类视频娱乐信息等。在这类应用环境下,多核心结构的嵌入式处理器将表现出极强的性能优势。
1.2.7 Cortex处理器系列
1.ARM Cortex处理器技术特点
ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,它是在ARM的Thumb 代码压缩技术的基础上发展起来的,并且保持了对现存 ARM 解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销,同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍。并支持改良的浮点运算,满足下一代3D图形、游戏物理应用及传统嵌入式控制应用的需求。此外, ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(Dynamic Adaptilve Compilation)技术的使用。
ARMv7架构在设计时充分考虑到了与早期ARM处理器软件的兼容性。ARM Cortex-M系列支持Thumb-2指令集(Thumb指令集的扩展集),可以执行所有已存的为早期处理器编写的代码。通过一个前向的转换方式,为ARM Cortex-M系列处理器所写的用户代码可以与ARM Cortex-R系列微处理器完全兼容。ARMCortex-M系列系统代码(如实时操作系统)可以很容易地移植到基于ARMCortex-R系列的系统上。ARMCortex-A和Cortex-R系列处理器还支持ARM 32位指令集,向后完全兼容早期的ARM处理器,包括1995年发布的ARM7TDMI处理器,2002年发布的ARM11处理器系列。由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。在命名方式上,基于ARMv7架构的 ARM 处理器已经不再沿用过去的数字命名方式,而是冠以 Cortex 的代号。基于 v7A 的称为“Cortex-A系列”,基于v7R的称为“Cortex-R系列”,基于v7M的称为“Cortex-M3”。
2.ARM Corte X-M3处理器技术特点
ARM Cortex-M3处理器是为存储器和处理器的尺寸对产品成本影响极大的各种应用专门开发设计的。它整合了多种技术,减少了内存使用,并在极小的RISC内核上提供低功耗和高性能,可实现由以往的代码向32位微控制器的快速移植。ARM Cortex-M3处理器是使用最少门数的ARM CPU,相对于过去的设计大大减小了芯片面积,可减小装置的体积,采用更低成本的工艺进行生产,仅33000门的内核性能可达l.2DMIPS/MHz。此外,基本系统外设还具备高度集成化特点,集成了许多紧耦合系统外设,合理利用了芯片空间,使系统满足下一代产品的控制需求。
ARM Cortex-M3 处理器结合了执行 Thumb-2 指令的 32 位哈佛微体系架构和系统外设,包括Nested Vectored Interrupt Controller和Arbiter总线。该技术方案在测试和实例应用中表现出较高的性能:在台机电180 nm工艺下,芯片性能达1.2 DMIPS/MHz,时钟频率高达100 MHz。Cortex-M3处理器还实现了Tail-Chaining中断技术。该技术是一项完全基于硬件的中断处理技术,最多可减少12个时钟周期数,在实际应用中可减少70%的中断;推出了新的单线调试技术,避免使用多引脚进行JTAG调试,并全面支持Real View编译器和Real View调试产品。Real View工具向设计者提供模拟、创建虚拟模型、编译软件、调试、验证和测试基于ARMv7架构的系统等功能。
为微控制器应用而开发的Cortex-M3拥有以下性能。
● 实现单周期Flash应用最优化。
● 准确快速地中断处理。永不超过12个周期,仅6个周期tail-chaining(末尾连锁)。
● 有低功耗时钟门控(Clock Gating)的3种睡眠模式。
● 单周期乘法和乘法累加指令。
● ARM Thumb-2混合的16/32位固有指令集,无模式转换。
● 包括数据观察点和Flash补丁在内的高级调试功能。
● 原子位操作,在一个单一指令中读取/修改/编写。
● 1.25DMIPS/MHz(与0.9DMIPS/MHz的ARM7和1.1DMIPS/MHz的ARM9相比)。
3.ARM Cortex-R4处理器技术特点
Cortex-R4处理器支持手机、硬盘、打印机及汽车电子设计,能协助新一代嵌入式产品快速执行各种复杂的控制算法与实时工作的运算;可通过内存保护单元(Memory Protection Unit,MPU)、高速缓存及紧密耦合内存(Tightly Coupled Memory,TCM)让处理器针对各种不同的嵌入式应用进行最佳化调整,且不影响基本的ARM指令集兼容性。这种设计能够在沿用原有程序代码的情况下,降低系统的成本与复杂度,同时其紧密耦合内存功能也能提供更小的规格及更高效率的整合,并带来快速的响应时间。
Cortex-R4处理器采用ARMv7体系结构,让它能与现有的程序维持完全的回溯兼容性,能支持现今在全球各地数十亿的系统,并已针对 Thumb-2 指令进行最佳化设计。此项特性带来很多的利益,其中包括:更低的时钟速度所带来的省电效益;更高的性能将各种多功能特色带入移动电话与汽车产品的设计;更复杂的算法支持更高性能的数码影像与内建硬盘的系统。运用Thumb-2指令集,加上Real View开发套件,使芯片内部存储器的容量最多降低30%,大幅降低系统成本,其速度比在ARM9tt6E-S处理器所使用的Thumb指令集高出40%。由于存储器在芯片中占用的空间愈来愈多,因此这项设计将大幅节省芯片容量,让芯片制造商运用这款处理器开发各种So C(System on a Chip)器件。
相比于前几代的处理器,Cortex-R4处理器高效率的设计方案,使其能以更低的时钟达到更高的性能;经过最佳化设计的Artisan Mctro内存,可进一步降低嵌入式系统的体积与成本。处理器搭载一个先进的微架构,具备双指令发送功能,采用90nm工艺并搭配Artisan Advantage程序库的组件,底面积不到1 mm2,耗电最低低于0.27 m W/MHz,并能提供超过600 DMIPS的性能。
Cortex-R4处理器在各种安全应用上加入容错功能和内存保护机制,支持最新版OSEK实时操作系统;支持Real View Develop系列软件开发工具、Real View Create系列ESL工具与模块,以及Core Sight除错与追踪技术,协助设计者迅速开发各种嵌入式系统。
4.ARM Cortex-A9处理器的技术特点
ARM Cortex-A9 处理器是一款适用于复杂操作系统及用户应用的应用处理器,支持智能能源管理(Intelligent Energy Manger,IEM)技术的ARM Artisan库及先进的泄漏控制技术,使得Cortex-A9处理器实现了非凡的速度和功耗效率。在32 nm工艺下,ARM Conex-A9 Exynos 处理器的功耗大大降低,能够提供高性能和低功耗。它第一次为低费用、高容量的产品带来了台式机级别的性能。
Conex-A9处理器是第一款基于ARMv7多核架构的应用处理器,使用了能够带来更高性能、更低功耗和更高代码密度的Thumb-2技术。它首次采用了强大的NEON信号处理扩展集,为H.264和MP3等媒体编解码提供加速。Cortex-A9的解决方案还包括Jazelle-RCTJava加速技术,对实时(JTT)和动态调整编译(DAC)提供最优化,同时减少内存占用空间高达2/3。该处理器配置了先进的超标量体系结构流水线,能够同时执行多条指令。处理器集成了一个可调尺寸的二级高速缓冲存储器,能够同高速的16KB或者32KB一级高速缓冲存储器一起工作,从而达到最快的读取速度和最大的吞吐量。新处理器还配置了用于安全交易和数字版权管理的Trust Zone技术,以及实现低功耗管理的IEM功能。
Cortex-A9处理器使用了先进的分支预测技术,并且具有专用的NEON整型和浮点型流水线进行媒体和信号处理。
Cortex A9时代三星一共发布了两代产品,第一代是Galaxy S II和MX采用的Exynos4210,第二代有两款,一款是双核的Exynos4212,另一款是四核的Exynos4412。第一代产品采用的是45nm工艺制造,由于三星的45nm工艺在业内是比较落后的,故其虽然通过种种手段将Exynos4210的频率提升到了1.4GHz,但这么做的代价也是非常明显的——功耗激增(这点在MX上我们也看到了)。总体而言,Exynos4212和4412在架构上和Exynos4210并没有区别,大体上的硬件配置也是一样的,最大的区别就在于Exynos4212/4412采用了三星最新的32nm HKMG工艺。
1.2.8 ARM应用处理器发展现状与趋势
1.从之前的ARM单核逐步向双核演变
作为对比,下面依次将近年来最尖端的芯片应用方案列举出来。
● NVIDIA(英伟达)的Tegra 2双核处理器及Tegra 3四核处理器,已经应用在摩托罗拉双核智能手机ME860及LG Optimus 2X手机上。
● 三星Exynos 4412,基于CORTEX-A9的双核处理器,应用在三星公司推出的GALAXY SII智能手机上。
● TI的OMAP4430及OMAP4460双核ARM处理芯片,已应用在 LG Optimus 3D手机上。
● 高通MSM8260、MSM8660(1.5G)、MSM8960(1.7G)双核处理器及APQ8060(2.5G)四核心处理器。目前应用的代表有HTC的金字塔(Pyramid)双核智能手机,还有国内的小米手机。
● 苹果A8 64位处理器,典型代表是i Phone 6。
2.内嵌的图形显示芯片越来越强劲
● Mali系列由ARM出品,Mali-400、Mali-T658于2011年11月推出,支持Open GL ES 2.0和Direct X接口,可从单核扩展到四核,可提供卓越的二维和三维加速性能。
● Power VR SGX 系列由 Imagination Technologies 公司出品,包括 Power VR SGX530/535/540/543MP,支持Direct X 9、SM3.0和Open GL 2.0。
● SGX535被苹果公司的i Phone4和i Pad采用,而SGX540性能更加强劲,在三星Galaxy Tab与魅族M9上采用。SGX543MP作为新一代最强新品,目前已成为苹果i Pad 2(SGX543MP2/双核)和索尼NGP(SGX543MP4/四核)的图形内核。
● Adreno系列由高通公司出品,主要配合Snapdragon CPU使用。旗下典型方案有Adreno200/205/220/300。
● 在图形处理单元上,Tegra 3从之前Tegra 2的8核心图形单元升级到12核心单元,NV5DIA官方宣布将有3倍的图形性能提升。这12个处理核心的Ge Force GPU专门为下一代移动游戏而打造(完全兼容现有Tegra 2游戏),支持更好的动态光影、物理效果和高分辨率环境。典型处理器方案有NVIDIA Tegra 2和NVIDIA Tegra 3。
3.支持大RAM,支持大数据量的存储介质
现在诸多处理器已支持DDR2、DDR3、LPDDR(m DDR)等类型的内存。这些类型的内存速度高、精度高,并且容量也很高,已属于高速硬件之一。
4.提升显示控制器性能
最高2048×1536分辨率液晶屏显示,如Tegra 3处理器。
5.提升Camera性能
最高支持3200万像素摄像头。