1 / 37

第二章 ARM 技术概述

第二章 ARM 技术概述. ARM 概述 ARM 体系结构 Thumb 技术介绍. 一、 ARM 概述. ARM 是什么? Advanced RISC Machines 一个公司的名字 —— 英国知识产权核( IP )设计公司 一类微处理器的通称 一种技术的名字( ARM 微处理器核). ARM 微处理器的应用领域及特点 ARM 处理器市场覆盖率最高、发展趋势广阔 基于 ARM 技术的 32 位微处理器,市场的占有率目前已达到 80% 。

Download Presentation

第二章 ARM 技术概述

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 ARM技术概述 • ARM概述 • ARM体系结构 • Thumb技术介绍

  2. 一、ARM概述 ARM是什么? • Advanced RISC Machines • 一个公司的名字——英国知识产权核(IP)设计公司 • 一类微处理器的通称 • 一种技术的名字(ARM微处理器核)

  3. ARM 微处理器的应用领域及特点 • ARM处理器市场覆盖率最高、发展趋势广阔 • 基于ARM技术的32位微处理器,市场的占有率目前已达到80%。 • 绝大多数IC制造商都推出了自己的ARM结构芯片。我国的中兴集成电路、大唐电讯、中芯国际和上海华虹,以及国外的一些公司如德州仪器、意法半导体、Philips、Intel、Samsung等都推出了自己设计的基于ARM核的处理器。

  4. 应用一:工业控制领域 • 作为32 的RISC 架构,基于ARM 核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM 微控制器的低功耗、高性价比,向传统的8 位/16 位微控制器提出了挑战。 • 应用二:无线通讯领域 • 目前已有超过85%的无线通讯设备采用了ARM 技术, ARM 以其高性能和低成本,在该领域的地位日益巩固。

  5. 应用三:网络设备 • 随着宽带技术的推广,采用ARM 技术的ADSL 芯片正逐步获得竞争优势。此外,ARM 在语音及视频处理上进行了优化,并获得广泛支持,也对DSP 的应用领域提出了挑战。 • 应用四:消费类电子产品 • ARM 技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。 • 应用五:成像和安全产品 • 现在流行的数码相机和打印机中绝大部分采用ARM 技术。手机中的32位SIM 智能卡也采用了ARM 技术。

  6. ARM处理器的使用量

  7. ARM处理器的特点: • 1、体积小、低功耗、低成本、高性能; • 2、支持Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容8 位/16 位器件; • 3、大量使用寄存器,指令执行速度更快; • 4、大多数数据操作都在寄存器中完成; • 5、寻址方式灵活简单,执行效率高; • 6、指令长度固定;

  8. 几个重要概念: 冯·诺依曼体系结构模型 存储器 指令寄存器 程序 控制器 指令0 指令1 总线 指令2 指令3 指令4 数据通道 数据 输出 输入 中央处理器 数据0 数据1 数据2

  9. 指令的执行周期T • 1)取指令(Instruction Fetch):TF • 2)指令译码(Instruction Decode):TD • 3)执行指令(Instruction Execute):TE • 4)存储(Storage):TS 每条指令的执行周期:T= TF+TD+TE+TS

  10. 冯·诺依曼体系的特点 • 1)数据与指令都存储在同一存储区中,取指令与取数据利用同一数据总线。 • 2)被早期大多数计算机所采用 • 3)ARM7——冯诺依曼体系 结构简单,但速度较慢。取指不能同时取数据

  11. 哈佛体系结构模型 程序存储器 总线 指令寄存器 指令0 控制器 指令1 指令2 总线 数据存储器 数据通道 输出 输入 数据0 中央处理器 数据1 数据2

  12. 哈佛体系结构的特点 • 1)程序存储器与数据存储器分开. • 2)提供了较大的存储器带宽,各自有自己的总线。 • 3)适合于数字信号处理. • 4)大多数DSP都是哈佛结构. • 5)ARM9是哈佛结构 • 6)取指和取数在同一周期进行,提高速度, 改进哈佛体系结构分成三个存储区:程序、数据、程序和数据共用。

  13. CISC:复杂指令集(Complex Instruction Set Computer) • 具有大量的指令和寻址方式 • 8/2原则:80%的程序只使用20%的指令 • 大多数程序只使用少量的指令就能够运行。 • CISC CPU 包含有丰富的单元电路,因而功能强、面积大、功耗大。

  14. RISC:精简指令集(Reduced Instruction Set Computer) • 在通道中只包含最有用的指令,只提供简单的操作。 • 确保数据通道快速执行每一条指令 • Load-store结构—— 处理器只处理寄存器中的数据,load-store指令用来完成数据在寄存器和外部存储器之间的传送。 • 使CPU硬件结构设计变得更为简单, RISC CPU包含较少的单元电路,因而面积小、功耗低

  15. 主要差别: • 寄存器 • RISC指令集 拥有更多的通用寄存器,每个可以存放数据和地址,寄存器为所有的数据操作提供快速的存储访问。 • CISC指令集 多用于特定目的的专用寄存器。 • LOAD –STORE 结构 • RISC结构Cpu 仅处理寄存器中的数据,采用独立的、专用的LOAD –STORE 指令来完成数据在寄存器和外存之间的传送。(访存费时,处理和存储分开,可以反复的使用保存在寄存器中的数据,而避免多次访问外存)。 • CISC结构 能直接处理存储器中的数据。

  16. 二、ARM体系结构 ARM系列产品表示 ARM 926EJ-S Family number 7: ARM7 9: ARM9 10: ARM10 11: ARM11 Synthesizable Extensions E: DSP extension J: Jazelle extension T: Thumb support … Memory system 2: Cache, MMU, Process ID 4: Cache, MPU 6: Write buffer, no cache Memory size 0: Cache size (4-128KB) 2: Reduced cache size 6: TCM

  17. ARM处理器的分类 • 基于指令集体系结构的分类 • v1,v2,v5,v5TEJ,v6等 • 基于处理器内核的分类 • ARM7,ARM9,ARM10,ARM11,StrongARM,XScale等

  18. ARM体系结构版本 • 􀁹􀁹 ARM架构自诞生至今,已经发生了很大的演变,至今已定义的版本有: • 􀁹􀁹 V1版架构 • 􀁹􀁹 V2版架构 • 􀁹􀁹 V3版架构 • 􀁹􀁹 V4版架构 • 􀁹􀁹 V5版架构 • V6版架构

  19. V1版架构 • 􀁹􀁹 该版架构只在原型机ARM1出现过,其基本性能: • 基本的数据处理指令(无乘法) • 字节、半字和字的LOAD/STORE指令 • 转移指令,包括子程序调用及链接指令 • 软件中断指令 • 寻址空间:64M字节(26)

  20. V2版架构 • 􀁹􀁹 该版架构对V1版进行了扩展,如ARM2架构,增加了以下功能: • 乘法和乘加指令 • 支持协处理器操作指令 • 快速中断模式 • SWP/SWPB基本存储器与寄存器交换指令 • 寻址空间:64M字节

  21. V3版架构 • 把寻址空间增至32位(4G字节), • 增加了当前程序状态寄存器CPSR和程序状态保存寄存器SPSR以便于异常的处理。 • 增加了中止和未定义二种处理器模式。 • ARM6就采用该版架构。 • 指令集变化如下: • 增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器 • 增加了从异常处理返回的指令功能。

  22. V4版架构 • 􀁹􀁹 V4版架构是目前应用最广的ARM体系结构,对V3版架构进行了进一步扩充,有的还引进了16位的Thumb指令集,使ARM使用更加灵活。ARM7、ARM8、ARM9和StrongARM都采用该版架构。指令集中增加了以下功能: • 有符号、无符号的半字和有符号字节的Load/Store指令。 • 增加了16位Thumb指令集 • 完善了软件中断SWI指令的功能 • 增加了处理器的特权模式。

  23. V5版架构 • 􀁹􀁹 这是最近几年推出ARM架构,在V4版基本上增加了一些新的指令,ARM10和XScale都采用该版架构,这些新增指令有: • 带有链接和交换的转移BLX指令 • 计数前导零CLZ指令 • BKPT软件断点指令 • 增加了信号处理指令 • 为协处理器增加更多可选择的指令

  24. v6版架构 • 2001年发布的 • 适合使用电池供电的便携式设备 • 增加了 SIMD功能扩展,提高了嵌入式应用系统的音频、视频处理能力。 • 首先在2002年发布的ARM11处理器中使用

  25. ARM处理器内核系列: • ARM7 Family

  26. ARM9 Family

  27. ARM10 Family

  28. ARM11 Family

  29. 指令集体系结构(ISA) 注:v5T支持的Thumb是对v4T中的Thumb的扩展

  30. ARM芯片选择的一般原则 • 从应用的角度,对在选择ARM芯片时所应考虑的主要因素有: • (1)ARM芯核 如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU功能的ARM芯片. • (2)系统时钟控制器系统时钟决定了ARM芯片的处理速度。ARM7的处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100MHz-233MHz, ARM10最高可以达到700MHz

  31. (3) 内部存储器容量 在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片。 • (4) GPIO数量 在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。 P307-表6.26

  32. (5) USB接口 许多ARM芯片内置有USB控制器,有些芯片甚至同时有USB Host和USB Slave控制器。 • (6) 中断控制器ARM内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己不同的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断。外部中断控制是选择芯片必须考虑的重要因素,合理的外部中断设计可以很大程度的减少任务调度的工作量。

  33. (7) LCD控制器 有些ARM芯片内置LCD控制器,有的甚至内置64K彩色TFT LCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片较为适宜。 • (8)扩展总线 大部分ARM芯片具有外部SDRAM和SRAM扩展接口,不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。某些特殊应用的ARM芯片如德国Micronas的PUC3030A没有外部扩展功能。 • (9)DSP协处理器 • (10)封装 主要的封装有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封装具有芯片面积小的特点,可以减少PCB板的面积,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的ARM芯片无法用双面板完成PCB布线,需要多层PCB板布线。

  34. 三、Thumb技术介绍 • ARM的RISC体系结构的发展中已经提供了低功耗、小体积、高性能的方案。而为了解决代码长度的问题,ARM体系结构又增加了T变种,开发了一种新的指令体系,这就是Thumb指令集,它是ARM技术的一大特色。

  35. Thumb是ARM体系结构的扩展。它有从标准32位ARM指令集抽出来的36条指令格式,可以重新编成16位的操作码。这能带来很高的代码密度。Thumb是ARM体系结构的扩展。它有从标准32位ARM指令集抽出来的36条指令格式,可以重新编成16位的操作码。这能带来很高的代码密度。 • 支持Thumb的ARM体系结构的处理器状态可以方便的切换、运行到Thumb状态,在该状态下指令集是16位的Thumb指令集。

  36. 与ARM指令集相比.Thumb指令集具有以下局限 • 完成相同的操作,Thumb指令通常需要更多的指令,因此在对系统运行时间要求苛刻的应用场合ARM指令集更为适合; • Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时,还是需要使用ARM指令,这种限制决定了Thumb指令需要和ARM指令配合使用。

More Related