• 1. 嵌入式系统原理与开发 第二章 嵌入式处理器(上)
  • 2. 第二章 嵌入式处理器2.1 引言 2.2 嵌入式处理器概述 2.3 ARM处理器基础 2.4 ARM指令系统2.5 ARM程序设计基础
  • 3. 2.1 引言嵌入式处理器是嵌入式系统最核心的部件。 RISC结构已经被证明是嵌入式处理器最适合的结构。 ARM处理器是真正意义上的RISC结构的处理器,且具有处理速度快、功耗低、价格便宜等方面的优点,得到了广泛使用。
  • 4. (本页无文本内容)
  • 5. (本页无文本内容)
  • 6. 2.1 引言本章以ARM处理器为例来介绍嵌入式处理器。 在概要介绍处理器背景知识的基础上,主要内容偏重于介绍处理器的指令系统和基于处理器的编程基础。
  • 7. 第二章 嵌入式处理器2.1 引言 2.2 嵌入式处理器概述 2.3 ARM处理器基础 2.4 ARM指令系统2.5 ARM程序设计基础
  • 8. 2.2 嵌入式处理器概述 2.2.1 嵌入式处理器的分类 2.2.2 典型的嵌入式处理器
  • 9. 2.2.1 嵌入式处理器的分类2.2 嵌入式处理器概述 嵌入式处理器嵌入式微控制器 (MCU)嵌入式微处理器 (MPU)嵌入式DSP (DSP)嵌入式片上系统 (SoC)
  • 10. 1. 嵌入式微控制器(MicroController) 嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片中。 嵌入式微控制器将CPU、存储器(少量的RAM、ROM或两者都有)和其他外设封装在同一片集成电路里,因为其片上外设资源一般比较丰富,适合于控制,因此称为微控制器。2.2.1 嵌入式处理器的分类
  • 11. 例:Intel 8085 MicroprocessorIntroduced in 1974 8-bit architecture Still used in some microcontroller applications !
  • 12. 1. 嵌入式微控制器(MicroController) 与嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本降低、可靠性提高。 由于微控制器低廉的价格、优良的功能,所以拥有的品种和数量最多,是目前嵌入式系统工业的主流。 2.2.1 嵌入式处理器的分类
  • 13. 1. 嵌入式微控制器(MicroController) 比较有代表性的通用系列包括8051、C166/167、MCS-251、MCS-96/196/296、P51XA、MC 68HC05/11/12/16、68300等。 还有许多半通用系列,如支持USB接口的MCU8XC930/931、C540、C541;支持I2C、CAN、LCD及众多专用MCU和兼容系列。 2.2.1 嵌入式处理器的分类
  • 14. 2. 嵌入式微处理器(MicroProcessorUnit) 嵌入式微处理器是由通用计算机中的CPU演变而来的。 与通用计算机处理器不同,在实际应用中,嵌入式系统将微处理器装配在专门设计的电路板上,只保留与嵌入式应用紧密相关的功能硬件,以满足嵌入式系统体积小、功耗低的特殊要求。 2.2.1 嵌入式处理器的分类
  • 15. 2. 嵌入式微处理器(MicroProcessorUnit) 与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低和可靠性高的优点。 目前的嵌入式微处理器主要有Am186/88、386EX、PowerPC、ARM、MIPS、Motorola 68K等。 2.2.1 嵌入式处理器的分类
  • 16. 3. 嵌入式DSP (Digital Signal Processor ) 嵌入式DSP是专门用于信号处理的嵌入式芯片。 DSP处理器在系统结构和指令算法方面进行了特殊设计,使其适合于执行DSP算法 ,使其适合于执行DSP算法,因而能够对离散时间信号进行极快的处理计算,提高了编译效率和执行速度 。2.2.1 嵌入式处理器的分类
  • 17. 3. 嵌入式DSP (Digital Signal Processor ) 在数字滤波、FFT、频谱分析等方面,嵌入式DSP获得了大规模的应用。 嵌入式DSP处理器主要有两方面的应用:一方面,嵌入式DSP处理器经过单片化设计,通过在片上增加丰富的外设使之成为具有高性能DSP功能的片上系统;另一方面,在微处理器、微控制器或片上系统中增加DSP协处理器来实现DSP运算。 2.2.1 嵌入式处理器的分类
  • 18. 4. 嵌入式片上系统 (System on Chip ) 片上系统SoC是20世纪90年代后出现的一种新的嵌入式集成器件。 在嵌入式系统设计从 “集成电路”级设计不断转向“集成系统”级设计过程中,提出了SoC的概念。 Soc追求产品系统的最大包容,已成为提高移动通信、网络、信息家电、高速计算、多媒体应用以及军用电子系统性能的核心器件。2.2.1 嵌入式处理器的分类
  • 19. 4. 嵌入式片上系统 (System on Chip ) SoC不是把系统所需要的所有集成电路简单地二次集成到一个芯片上,而是从整个系统的性能要求出发,把各层次电路器件紧密结合起来,并通过系统的软硬件协同设计,在单个芯片上实现整个系统的功能。 SoC最大的特点就是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块,满足了单片系统所要求的高密度、高速度、高性能、小体积、低电压和低功耗等指标。 2.2.1 嵌入式处理器的分类
  • 20. 4. 嵌入式片上系统 (System on Chip ) 目前比较典型的几款SoC产品包括Siemens的TriCore、Philips的Smart XA、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。 2.2.1 嵌入式处理器的分类
  • 21. 2.2 嵌入式处理器概述 2.2.1 嵌入式处理器的分类 2.2.2 典型的嵌入式处理器
  • 22. 2.2.2 典型的嵌入式处理器 ARM处理器 Power PC处理器 MIPS处理器 Sparc处理器 龙芯一号处理器 2.2 嵌入式处理器概述
  • 23. 1. ARM处理器2.2.2 典型的嵌入式处理器 英国先进RISC机器公司(Advanced RISC Machines,ARM)是全球领先的16/32位RISC微处理器知识产权(Intellectual Property,IP)供应商。 ARM公司本身不直接从事芯片生产,而是依靠转让微处理器、外围和系统芯片的设计技术给合作公司,由合作公司使用这些技术来生产各具特色的芯片。
  • 24. 1. ARM处理器 ARM已成为移动通信、手持设备、多媒体数字消费等嵌入式解决方案事实上的标准。 ARM进入中国几年以来,已经与中兴、华为、东南大学、上海集成电路设计中心、中芯国际以及大唐签订了芯片核心技术授权协议。2.2.2 典型的嵌入式处理器
  • 25. 1. ARM处理器 ARM处理器本身是32位设计,但也配备16位指令集 。 ARM的Jazelle技术提供了Java加速,可得到比基于软件的Java虚拟机高得多的性能。 ARM采用DSP指令集的扩充提供了增强的16位和32位算术运算能力,提高了性能和灵活性 。 ARM还提供了两个前沿特性——嵌入式ICE-RT逻辑和嵌入式跟踪宏核系列,用以辅助带嵌入式核的、高集成的SoC器件的调试。 2.2.2 典型的嵌入式处理器
  • 26. 1. ARM处理器 基于ARM核嵌入式芯片的典型应用主要有:2.2.2 典型的嵌入式处理器 ARM应用消费娱乐产品 数字影像产品 军事电子工业控制产品 移动存贮无线产品 存储产品 汽车产品 网络产品 安全产品
  • 27. 2. PowerPC处理器 PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核。 PowerPC的特点是可伸缩性好、方便灵活。 PowerPC的应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费电子到大型通信设备等各个方面。 2.2.2 典型的嵌入式处理器
  • 28. 2. PowerPC处理器 PowerPC处理器的主频从25MHz~700MHz不等,它们的能量消耗、大小、整合程度、价格等差别悬殊,主要产品的芯片型号有PowerPC 750、PowerPC 405和PowerPC440。 2.2.2 典型的嵌入式处理器
  • 29. 3. MIPS处理器 MIPS是Microprocessor without Interlocked Pipeline Stages的缩写,即“无内部互锁流水级的微处理器”。 MIPS的机制是尽量利用软件办法避免流水线中的数据相关问题,最早在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。 2.2.2 典型的嵌入式处理器
  • 30. 3. MIPS处理器 在嵌入式应用方面,MIPS系列微处理器是目前仅次于ARM的使用最广泛的处理器之一,其应用领域覆盖机顶盒、游戏机、路由器、激光打印机、掌上电脑等各个方面。 MIPS的系统结构及设计理念比较先进,强调软硬件协同提供性能,同时简化硬件设计。 MIPS IDF(MIPS Integrated Development Framework)集成开发工具,特别适用于嵌入式系统的开发。2.2.2 典型的嵌入式处理器
  • 31. 4. Sparc处理器 Sparc处理器是由著名的Sun公司自行研发的微处理器芯片。 Sun在64位UltraSparc处理器方面,主要有3个系列:可扩展的s系列主要用于高性能、易扩展的多处理器系统;集成式i系列将多种系统功能集成在一个处理器上,为单处理器系统提供了更高的效益;嵌入式e系列为用户提供理想的性能价格比,其嵌入式应用包括瘦客户机、电缆调制解调器和网络接口等。2.2.2 典型的嵌入式处理器
  • 32. 5. 龙芯一号处理器 龙芯一号处理器是神州龙芯公司推出的兼顾通用及嵌入式处理器特点的新一代32位处理器。 龙芯一号的投片成功,并通过了以SPEC CPU2000为代表的一批性能和功能测试程序的严格测试,标志着我国在现代通用微处理器设计方面实现了"零"的突破, 打破了我国长期依赖国外CPU产品的无"芯"的历史,也标志着国产安全服务器CPU和通用的嵌入式微处理器产业化的开始。2.2.2 典型的嵌入式处理器
  • 33. 5. 龙芯一号处理器 龙芯一号在通用CPU体系结构设计方面采用了许多先进的设计与实现技术,尤其在动态流水线的具体实现和硬件对系统安全性的支持方面,有独特创新并申请了专利。   龙芯一号在片内提供了一种特别设计的硬件机制,可以抗御缓冲区溢出攻击,在硬件上根本抵制了缓冲区溢出类攻击的危险,从而大大的增加的服务器的安全性。 2.2.2 典型的嵌入式处理器
  • 34. 5. 龙芯一号处理器 使用龙芯一号CPU可以构成更为安全的网络安全服务器、网络安全网关、网际防火墙、服务器网卡等对网络安全有特殊需求的产品及应用。 龙芯系列微处理器可广泛应用于工业控制、信息家电、通讯、网络设备、PDA、网络终端、存储服务器、安全服务器等产品上。 2.2.2 典型的嵌入式处理器
  • 35. 第二章 嵌入式处理器2.1 引言 2.2 嵌入式处理器概述 2.3 ARM处理器基础 2.4 ARM指令系统2.5 ARM程序设计基础
  • 36. 2.3 ARM处理器基础 2.3.1 ARM简介 2.3.2 ARM处理器系列 2.3.3 ARM处理器体系结构 2.3.4 ARM处理器应用选型
  • 37. 2.3.1 ARM简介 ARM处理器核因其卓越的性能和显著优点,已成为高性能、低功耗、低成本嵌入式处理器核的代名词,得到了众多半导体厂家和整机厂商的大力支持。 2.3 ARM处理器基础
  • 38. 1. ARM处理器的发展过程 1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,并成功的运行了测试程序。 20世纪80年代后期,ARM很快开发成Acorn的台式机产品,奠定了英国教育界计算机技术的基础。 1990年,为广泛推广ARM技术而成立了Advanced RISC Machines Limited(简称为ARM Limited,ARM公司)。2.3.1 ARM简介
  • 39. 1. ARM处理器的发展过程 20世纪90年代, ARM32位嵌人式RISC(Reduced Instruction Set Computer)处理器扩展到世界范围,特别是占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。 ARM公司虽然只成立10多年,但在1999年因移动电话火爆市场,其32位RISC处理器占市场份额超过了50%,成为业界龙头老大。2001年初,ARM公司的32位RISC处理器市场占有率超过了75%。2.3.1 ARM简介
  • 40. 1. ARM处理器的发展过程 ARM公司商业模式的强大之处在于其价格合理,全世界范围有超过100个合作伙伴——包括半导体工业的著名公司。ARM公司专注于设计,其内核耗电少、成本低、功能强,特有16/32位双指令集。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准。 在所有ARM处理器系列中,ARM7处理器系列应用最广,采用ARM7处理器作为内核生产芯片的公司最多。2.3.1 ARM简介
  • 41. 2. ARM处理器的特点 体积小、低功耗、低成本、高性能; 支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件; 大量使用寄存器,指令执行速度更快; 大多数数据操作都在寄存器中完成,通过Load/Store结构在内存和寄存器之间传递数据; 寻址方式灵活简单,执行效率高; 指令长度固定。 2.3.1 ARM简介
  • 42. 3. ARM系列采用的特别技术 在同一条数据处理指令中包含算术逻辑处理单元进行算术处理和移位处理; 使用地址自动增加(减少)来优化程序中的循环处理; Load/Store指令可以批量传输数据,从而提高数据传输的效率; 所有指令都可以根据前面的指令执行结果决定是否执行,以提高指令执行的效率。2.3.1 ARM简介
  • 43. 4. ARM技术的突出成果 引入新颖的“Thumb”压缩指令格式,降低了小型系统的成本和电源消耗; ARM9、ARM10、Strong ARM和ARM11等系列处理器的开发,显著提高了ARM的性能,使得ARM技术在面向高端数字音频、视频处理等多媒体产品的应用中更加广泛; 先进的软件开发和调试环境加快用户产品的开发进程; 广泛的产业联盟使ARM的嵌入式应用领域更加广阔; 嵌入在复杂SoC中、基于ARM核的调试系统代表着当今片上调试技术的前沿。 2.3.1 ARM简介
  • 44. ARM的发展历程
  • 45. ARM的市场地理分部
  • 46. 2.3 ARM处理器基础 2.3.1 ARM简介 2.3.2 ARM处理器系列 2.3.3 ARM处理器体系结构 2.3.4 ARM处理器应用选型
  • 47. 2.3.2 ARM处理器系列 ARM7微处理器系列 ARM9微处理器系列 ARM9E微处理器系列 ARM10微处理器系列 SecurCore微处理器系列 StrongARM微处理器系列 Xscale处理器 2.3 ARM处理器基础
  • 48. 1. ARM7微处理器系列 ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。 ARM7系列微处理器的主要应用领域为:2.3.2 ARM处理器系列 工业控制 Internet设备 网络和调制解调器设备 移动电话 …
  • 49. 1. ARM7微处理器系列 ARM7微处理器系列具有如下特点:2.3.2 ARM处理器系列 具有嵌入式ICE-RT逻辑,调试开发方便。 极低的功耗,适合对功耗要求较高的应用。 能够提供0.9MIPS/MHz的三级流水线结构。 代码密度高并兼容16位的Thumb指令集。 对操作系统的支持广泛。 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
  • 50. 1. ARM7微处理器系列 ARM7系列微处理器的组成2.3.2 ARM处理器系列
  • 51. 1. ARM7微处理器系列 ARM7TDMI ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属于低端ARM处理器核。ARM7TMDI的名称含义为:2.3.2 ARM处理器系列 ARM7 32位ARM体系结构4T版本, ARM6 32位整型核的3V兼容的版本 T 支持16为压缩指令集Thumb D 支持片上Debug M 内嵌硬件乘法器(Multiplier) I 嵌入式ICE,支持片上断点和调试点
  • 52. 1. ARM7微处理器系列 ARM7TDMI-S 2.3.2 ARM处理器系列 ARM7TMDI的可综合(Synthesizable)版本(软核); 最适用于可移植性和灵活性为关键的现代电子设计。
  • 53. 1. ARM7微处理器系列 ARM720T ARM720T是在ARM7TMDI处理器核的基础上增加了一个8KB的指令和数据混合的Cache。外部存储器和外围器件通过AMBA总线主控单元访问,同时还集成了写缓冲器以及全性能的MMU。ARM720T最适合用于低功耗和体积为关键的应用。2.3.2 ARM处理器系列
  • 54. 2. ARM9微处理器系列 ARM9系列微处理器是在高性能和低功耗特性方面最佳的硬件宏单元。 ARM9将流水线级数从ARM7的3级增加到5级,并使用指令于数据存储器分开的哈佛(Harvard)体系结构。在相同工艺条件下,ARM9TMDI的性能近似为ARM7TMDI的2倍。 ARM9系列微处理器的主要应用领域为:引擎管理、无线设备、仪器仪表、安全系统、机顶盒、高端打印机、PDA、网络电脑、数字照相机和数字摄像机等。 2.3.2 ARM处理器系列
  • 55. ARM9微处理器系列具有如下特点:2.3.2 ARM处理器系列 5级整数流水线,指令执行效率更高。 提供1.1MIPS/MHz的哈佛结构。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA总线接口。 全性能的MMU,支持多种主流嵌入式操作系统。 MPU支持实时操作系统。 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。2. ARM9微处理器系列
  • 56. 2. ARM9微处理器系列 ARM9系列微处理器的组成2.3.2 ARM处理器系列
  • 57. 3. ARM9E微处理器系列 ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合于那些需要同时使用DSP和微控制器的应用场合。 ARM9E系列微处理器广泛应用于硬盘驱动器和DVD播放器等海量存储设备、调制解调器和软调制解调器、PDA、店面终端、MPEG MP3音频译码器、语音识别与合成,以及包括巡航控制和反锁刹车等自动控制解决方案。2.3.2 ARM处理器系列
  • 58. ARM9E微处理器系列具有如下特点:2.3.2 ARM处理器系列 支持DSP指令集,适合需要高速数字信号处理的场合。 提供1.1MIPS/MHz的5级整数流水线和哈佛结构,指令执行效率更高。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA总线接口。 支持VFP9浮点处理协处理器。 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 MPU支持实时操作系统。 支持数据Cache和指令Cache,有更高的指令和数据处理能力。 主频最高可达300MIPS。3. ARM9E微处理器系列
  • 59. 3. ARM9E微处理器系列 ARM9E系列微处理器的组成2.3.2 ARM处理器系列
  • 60. 4. ARM10微处理器系列 ARM10系列微处理器属于ARM处理器核中的高端处理器核,具有高性能、低功耗的特点。 由于采用了新的体系结构,与同等的ARM9器件相比较,在同样时钟频率下,ARM10的性能提高了近50%。同时,ARM10系列微处理器采用了两种先进的节能方式,使其功耗极低。 ARM10系列微处理器专为数字机顶盒、管理器(organizer)和智能电话等高效手提设备而设计,并为复杂的视频游戏机和高性能打印机提供高级的整数和浮点运算能力。 2.3.2 ARM处理器系列
  • 61. 4. ARM10微处理器系列 ARM10微处理器系列具有如下特点:2.3.2 ARM处理器系列 支持DSP指令集。 6级整数流水线,指令执行效率更高。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA总线接口。 支持VFP10浮点处理协处理器。 全性能的MMU,支持多种主流嵌入式操作系统。 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。 主频最高可达400MIPS。 内嵌并行读/写操作部件。
  • 62. 4. ARM10微处理器系列 ARM10系列微处理器的组成2.3.2 ARM处理器系列
  • 63. 5. SecurCore微处理器系列 SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术的安全解,决方案具有特定的抗篡改(resist tampering)和反工程(reverse engineering)特性。 SecurCore系列微处理器除了具有ARM体系结构的低功耗、高性能的特点外,还具有其独特的优势,即提供了对安全解决方案的支持。 SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。 2.3.2 ARM处理器系列
  • 64. SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点: 2.3.2 ARM处理器系列 带有灵活的保护单元,以确保操作系统和应用数据的安全。 采用软内核技术,防止外部对其进行扫描探测。 可集成用户自己的安全特性和其他协处理器。5. SecurCore微处理器系列
  • 65. 5. SecurCore微处理器系列 SecurCore系列微处理器包含SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210四种类型,以适用于不同的应用场合。 2.3.2 ARM处理器系列
  • 66. 6. StrongARM微处理器系列 1995年,ARM、Apple和DEC公司联合声明将开发一种应用于PDA的高性能 、低功耗、基于ARM体系结构的StrongARM微处理器。 1998年Intel公司接管Digital半导体公司到现在,采用了同样的技术,并且进一步考虑了功耗效率,设计了StrongARM SA-110,并成为高性能嵌入式微处理器设计的一个里程碑。 2.3.2 ARM处理器系列
  • 67. 6. StrongARM微处理器系列 StrongARM SA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Intel公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系结构。 Intel StrongARM处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于康柏的iPAQ H3600 Pocket PC、惠普的Jonada Handheld PC和Java技术支持的Palmtop掌上电脑等多种产品中。2.3.2 ARM处理器系列
  • 68. StrongARM的主要特点有:2.3.2 ARM处理器系列 具有寄存器前推的5级流水线; 除了64位乘法、多寄存器传送和存储器/寄存器交换指令外,其他所有普通指令均是单周期指令; 低功耗的伪静态操作; 不论处理器的时钟频率有多高,乘法器均以每周期计算12位、用1~3个时钟周期计算两个3位操作数的乘法; 使用系统控制协处理器来管理片上MMU和Cache资源,并且集成了JTAG边界扫描测试电路以支持印制板连接测试。 6. StrongARM微处理器系列
  • 69. 7. Xscale处理器 Intel Xscale处理器基于ARMv5TE体系结构,是一款全性能、高性价比、低功耗的处理器。 它提供了从手持互联网设备到互联网基础设施产品的全面解决方案,支持16位的Thumb指令和DSP指令集。 基于Xscale技术开发的系列微处理器,由于超低功率与高性能的组合使其适用于广泛的互联网接入设备,在因特网的各个应用环节中表现出了令人满意的处理性能。 Intel Xscale微处理器结构对于诸如数字移动电话、个人数字助理和网络产品等广泛的市场都具有关键的优点。 2.3.2 ARM处理器系列
  • 70. Xscale处理器是Intel目前主要推广的一款ARM微处理器,处理速度是StrongARM处理速度的2倍。2.3.2 ARM处理器系列 数据Cache的容量从8KB增加到32KB; 指令Cache的容量从16KB增加到32KB; 微小数据Cache的容量从512字节增加到2KB; 为提高指令执行速度,超级流水线结构由5级增至7级; 新增乘法/加法器MAC和特定的DSP型协处理器CP0,以提高对多媒体技术的支持; 动态电源管理,使时钟频率可达1GHz、功耗低至1.6W,并能达到1,200MIPS。7. Xscale处理器
  • 71. 2.3 ARM处理器基础 2.3.1 ARM简介 2.3.2 ARM处理器系列 2.3.3 ARM处理器体系结构 2.3.4 ARM处理器应用选型
  • 72. 2.3.3 ARM处理器体系结构 ARM体系结构的基本版本 ARM体系结构的演变 ARM/Thumb体系结构版本命名2.3 ARM处理器基础
  • 73. 1. ARM体系结构的基本版本 为了精确表述在每个ARM实现中所使用的指令集,迄今为止,将其定义了6种主要版本,分别用版本号1~6表示。2.3.2 ARM处理器系列 2.3.3 ARM处理器体系结构
  • 74. ARM体系结构版本v1对第一个ARM处理器进行描述,从未用于商用产品。 版本v1的地址空间是26位,仅支持26位寻址空间,不支持乘法或协处理器指令。 基于该体系结构的ARM处理器应用在BBC微计算机中,虽然这种微型计算机制造得很少,但它标志着ARM成为第一个商用单片RISC微处理器。 2.3.3 ARM处理器体系结构 1. ARM体系结构的基本版本⑴ 版本v1
  • 75. 版本v1包括下列指令: 2.3.3 ARM处理器体系结构 基本的数据处理指令(不包括乘法指令); 基于字节、字和半字的加载/存储(Load/Store)指令; 分支(Branch)指令,包括分支与链接指令; 软件中断指令(SWI),用于进行操作系统调用。1. ARM体系结构的基本版本⑴ 版本v1 版本v1现已废弃不用。
  • 76. 以ARMv2为核的Acorn公司的Archimedes和A3000批量销售,它使用了版本v2的体系结构。 版本v2仍然只支持26位的地址空间,但包含了对32位结果的乘法指令和协处理器的支持。 版本v2a是版本v2的变种,ARM3芯片是采用了版本v2a和第一片具有片上Cache的ARM处理器。2.3.3 ARM处理器体系结构 1. ARM体系结构的基本版本⑵ 版本v2
  • 77. 版本v2(2a)通过增加下列指令对体系结构版本v1进行了扩展,即: 2.3.3 ARM处理器体系结构 乘法和乘加指令; 支持协处理器的指令; 对于快速中断(FIQ)模式,提供了2个以上的影子寄存器; SWP指令和SWPB指令。1. ARM体系结构的基本版本⑵ 版本v2 版本v2现已废弃不用。
  • 78. ARM作为独立的公司,在1990年设计的第一个微处理器ARM6采用的是版本v3的体系结构。 版本v3作为IP核、独立的处理器(ARM60)、具有片上高速缓存、MMU核写缓冲的集成CPU(用于Apple Newton的ARM600、ARM610)所采纳的体系结构而被大量销售。 版本v3的变种版本有版本v3G和版本v3M。 2.3.3 ARM处理器体系结构 1. ARM体系结构的基本版本⑶ 版本v3
  • 79. 版本v3较以前的版本发生了如下的变化: 2.3.3 ARM处理器体系结构 地址空间扩展到32位; 分开的当前程序状态寄存器CPSR和程序状态寄存器SPSR; 增加了两种异常模式; 增加了2个指令(MRS和MSR; 修改了过去用于从异常(exception)返回的指令的功能。1. ARM体系结构的基本版本⑶ 版本v3
  • 80. 体系结构版本v4是第一个具有全部正式定义的体系结构版本,它增加了有符号、无符号半字和有符号字节的加载/存储指令,并为结构定义的操作预留一些SWI空间;引入了系统模式,并将几个未使用指令空间的角落作为未定义指令使用。 在体系结构版本4的变种版本4T中,引入了16位Thumb压缩形式的指令集。 2.3.3 ARM处理器体系结构 1. ARM体系结构的基本版本⑷ 版本v4
  • 81. 与版本v3相比,版本4增加了下列指令: 2.3.3 ARM处理器体系结构 有符号、无符号的半字和有符号字节的Load和Store指令; 增加了T变种; 增加了处理器的特权模式。1. ARM体系结构的基本版本⑷ 版本v4 版本v4不再强制要求与26位地址空间兼容,而且还清楚的指明了哪些指令将会引起未定义指令异常。
  • 82. 体系结构版本v5通过增加一些指令以及对现有指令的定义略作修改,对版本v4进行了扩展。 版本v5主要由两个变种版本v5T和v5TE组成。 ARM10处理器是最早支持版本v5T(很快也会支持v5TE版本)的处理器。2.3.3 ARM处理器体系结构 1. ARM体系结构的基本版本⑸ 版本v5
  • 83. 版本v5T是体系结构版本4T的扩展集,加入了BLX、CLZ和BRK指令。 为了简化那些同时需要控制器和信号处理功能的系统设计任务,版本v5TE在体系结构版本v5T的基础上增加了信号处理指令集,并首先在ARM9E-S可综合核中实现。 2.3.3 ARM处理器体系结构 1. ARM体系结构的基本版本⑸ 版本v5
  • 84. 版本v5主要有如下扩展: 2.3.3 ARM处理器体系结构 提高了T变种中ARM/Thumb之间切换的效率; 让非T变种和T变种一样,使用相同的代码生成技术; 增加了一个计数前导零(Count Leading Zeroes,CLZ)指令,该指令允许更有效的整数除法和中断优先程序; 增加了软件断点(BKPT)指令; 为协处理器设计提供了更多的可选则的指令; 对由乘法指令如何设置条件码标志位进行了严密的定义。1. ARM体系结构的基本版本⑸ 版本v5
  • 85. ARM体系结构版本v6是2001年发布的。 新架构版本v6在降低耗电量的同时,强化了图形处理性能。 通过追加了能够有效进行多媒体处理的SIMD功能,将其对语音及图像的处理功能提供到原机型的4倍。 版本v6首先在2002年春季发布的ARM11处理器中使用。除此之外,版本v6还支持多种微处理器内核。2.3.3 ARM处理器体系结构 1. ARM体系结构的基本版本⑹ 版本v6
  • 86. ARM 体系结构更新
  • 87. 2.3.3 ARM处理器体系结构 ARM体系结构的基本版本 ARM体系结构的演变 ARM/Thumb体系结构版本命名2.3 ARM处理器基础
  • 88. Thumb指令集是ARM指令集的重编码子集。 Thumb指令(16位)是ARM指令(32位)的一半长,因此使得Thumb指令集可得到比ARM指令集更高的代码密度,这对于降低产品成本是非常有意义的。 对于支持Thumb指令的ARM体系版本,一般通过增加字符T来表示(如v4T)。 2.3.3 ARM处理器体系结构 2. ARM体系结构的演变 ⑴ Thumb指令集(T变种)
  • 89. ARM指令集的长乘法指令是一种生成64位相乘结果的乘法指令。 与乘法指令相比,M变种增加了以下两条指令:2.3.3 ARM处理器体系结构 2. ARM体系结构的演变⑵ 长乘法指令(M变种) 一条指令完成32位整数乘以32位整数,生成64位整数的长乘操作(即32×32→64); 另一条指令完成32位整数乘以32位整数,然后再加上一个32位整数,生成64位整数的长乘加操作(即32×32+32→64)。
  • 90. 需要这种长乘法的场合M变种非常适合。但是,M变种包含的指令意味着乘法器须相当大,因此,在对芯片尺寸要求苛刻而乘法性能不太重要的系统实现中,就不适合添加这种相当耗费芯片面积的M变种。 M变种首先在ARM体系版本v3中引入。 对于支持长乘法ARM指令的ARM体系版本,使用字符M来表示。 2.3.3 ARM处理器体系结构 2. ARM体系结构的演变⑵ 长乘法指令(M变种)
  • 91. ARM指令集的E变种包括一些附加指令。 在完成典型的DSP算法方面,这些附件指令可以增强ARM处理器的性能。它们包括:2.3.3 ARM处理器体系结构 2. ARM体系结构的演变 ⑶ 增强型DSP指令(E变种) 几条新的完成16位数据乘法和乘加操作的指令。 实现饱和的带符号算术运算的加法和减法指令。 进行双字数据操作的指令,包括加载寄存器指令LDRD、存储寄存器指令STRD和协处理器寄存器传送指令MCRR与MRRC。 Cache预加载指令PLD。
  • 92. E变种首先在ARM体系版本v5T中使用,用字符E表示。 在版本v5以前的版本以及在非M变种和非T变种的版本中,E变种是无效的。 对于一些早期ARM体系的E变种中,其实现省略了LDRD、STRD、MCRR、MRRC和PLD指令。这种E变种记作ExP,其中x表示缺少,P代表上述的几种指令。 2.3.3 ARM处理器体系结构 2. ARM体系结构的演变 ⑶ 增强型DSP指令(E变种)
  • 93. ARM的Jazelle技术将Java语言的优势和先进的32位RISC芯片完美的结合在一起。 Jazelle技术提供了Java加速功能,使得Java代码的运行速度比普通Java虚拟机提高了8倍,而功耗降低了80%。2.3.3 ARM处理器体系结构 2. ARM体系结构的演变⑷ Java加速器Jazelle(J变种)
  • 94. Jazelle技术使得程序员可以在一个单独的处理器上同时允许Java应用程序、已经建立好的操作系统和中间件以及其他应用程序。这样使得一些必须用到协处理器和双处理器的场合可以使用单处理器代替,在提供高性能的同时保证低功耗和低成本。 J变种首先在ARM体系版本vTEJ中使用,用字符J表示。 2.3.3 ARM处理器体系结构 2. ARM体系结构的演变⑷ Java加速器Jazelle(J变种)
  • 95. ARM媒体功能扩展SIMD技术为嵌入式应用系统提供了高性能的音频和视频处理能力,它可使微处理器的音频和视频处理性能提高4倍。 ARM的SIMD媒体功能扩展为这些应用系统提供了解决方案,它为包括音频和视频处理在内的应用系统提供了优化功能。2.3.3 ARM处理器体系结构 2. ARM体系结构的演变⑸ ARM媒体功能扩展(SIMD变种)
  • 96. 其主要特点包括: 2.3.3 ARM处理器体系结构 2. ARM体系结构的演变 ⑸ ARM媒体功能扩展(SIMD变种) 将处理器的音频和视频处理性能提高了2~4倍; 可同时进行2个16位操作数或4个8位操作数的运算; 提供了小数算术运算; 用户可自定义饱和运算的模式; 可以进行2个16位操作数的乘加/乘减运算; 32位乘以32位的小数乘加运算; 同时8位/16位选择操作。
  • 97. 2.3.3 ARM处理器体系结构 ARM体系结构的基本版本 ARM体系结构的演变 ARM/Thumb体系结构版本命名2.3 ARM处理器基础
  • 98. 2.3.3 ARM处理器体系结构 3. ARM/Thumb体系结构版本命名 基本字符串ARMv; ARM指令集的版本号,目前是1~6的数字字符; 表示变种的字符(除了M变种)。 使用字符x表示排除某种功能。若在v3以后的版本中描述为标准的变种没有出现,则字符x后跟随所排除变种的字符。如,在ARMv5TExP体系版本中,x表示缺少,P表示在ARMv5TE中排除某些指令(包括LDRD、STRD、MCRR/MRRC、PLD)。 为了精确命名版本和ARM/Thumb体系版本的变种,将下面的字符串连接起来使用,即:
  • 99. 表2-2 目前有效的ARM/Thumb体系版本
  • 100. 2.3 ARM处理器基础 2.3.1 ARM简介 2.3.2 ARM处理器系列 2.3.3 ARM处理器体系结构 2.3.4 ARM处理器应用选型
  • 101. 2.3.4 ARM处理器应用选型 ARM微处理器内核的选择 系统的工作频率 芯片内存储器的容量 片内外围电路的选择2.3 ARM处理器基础
  • 102. 从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域。 用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。 而ARM7TDMI则没有MMU,目前有uC/OS等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。2.3.4 ARM处理器应用选型 1. ARM微处理器内核的选择
  • 103. 系统的工作频率在很大程度上决定了ARM微处理器的处理能力。 ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz,ARM10最高可以达到700MHz。 不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等部件提供不同频率的时钟。 2. 系统的工作频率2.3.4 ARM处理器应用选型
  • 104. 大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器。 但也有部分芯片具有相对较大的片内存储空间,如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间,用户在设计时可考虑选用这种类型,以简化系统的设计。 3. 芯片内存储器的容量2.3.4 ARM处理器应用选型
  • 105. 除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,我们称之为片内外围电路,如USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等。 设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠性。4. 片内外围电路的选择2.3.4 ARM处理器应用选型
  • 106. 小 结本节主要介绍了三方面的内容: 嵌入式处理器概述 ARM处理器简介 ARM处理器的选型原则 通过本节的学习,要求对嵌入式处理器的基本概念和基本特点有所了解,尤其对ARM处理器系列的演变、版本、体系结构和选型原则掌握并理解,以利于继续深入学习ARM处理器的编程模型和指令集。