ARM体系架构解析_第1页
ARM体系架构解析_第2页
ARM体系架构解析_第3页
ARM体系架构解析_第4页
ARM体系架构解析_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 ARM技术概述,ARM概述 ARM体系结构 Thumb技术介绍,一、ARM概述,ARM是什么? Advanced RISC Machines 一个公司的名字英国知识产权核(IP)设计公司 一类微处理器的通称 一种技术的名字(ARM微处理器核),ARM 微处理器的应用领域及特点 ARM处理器市场覆盖率最高、发展趋势广阔 基于ARM技术的32位微处理器,市场的占有率目前已达到80%。 绝大多数IC制造商都推出了自己的ARM结构芯片。我国的中兴集成电路、大唐电讯、中芯国际和上海华虹,以及国外的一些公司如德州仪器、意法半导体、Philips、Intel、Samsung等都推出了自己设计的基于A

2、RM核的处理器。,应用一:工业控制领域 作为32 的RISC 架构,基于ARM 核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM 微控制器的低功耗、高性价比,向传统的8 位/16 位微控制器提出了挑战。 应用二:无线通讯领域 目前已有超过85%的无线通讯设备采用了ARM 技术, ARM 以其高性能和低成本,在该领域的地位日益巩固。,应用三:网络设备 随着宽带技术的推广,采用ARM 技术的ADSL 芯片正逐步获得竞争优势。此外,ARM 在语音及视频处理上进行了优化,并获得广泛支持,也对DSP 的应用领域提出了挑战。 应用四:消费类电子产品

3、ARM 技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。 应用五:成像和安全产品 现在流行的数码相机和打印机中绝大部分采用ARM 技术。手机中的32位SIM 智能卡也采用了ARM 技术。,ARM处理器的使用量,ARM处理器的特点: 1、体积小、低功耗、低成本、高性能; 2、支持Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容8 位/16 位器件; 3、大量使用寄存器,指令执行速度更快; 4、大多数数据操作都在寄存器中完成; 5、寻址方式灵活简单,执行效率高; 6、指令长度固定;,几个重要概念: 冯诺依曼体系结构模型,指令寄存器,控制器,数据通道,输入,输出,中

4、央处理器,存储器,程序,指令0,指令1,指令2,指令3,指令4,数据,数据0,数据1,数据2,总线,指令的执行周期T 1)取指令(Instruction Fetch):TF 2)指令译码(Instruction Decode):TD 3)执行指令(Instruction Execute):TE 4)存储(Storage):TS 每条指令的执行周期:T= TF+TD+TE+TS,冯诺依曼体系的特点 1)数据与指令都存储在同一存储区中,取指令与取数据利用同一数据总线。 2)被早期大多数计算机所采用 3)ARM7冯诺依曼体系 结构简单,但速度较慢。取指不能同时取数据,哈佛体系结构模型,指令寄存器,控

5、制器,数据通道,输入,输出,中央处理器,程序存储器,指令0,指令1,指令2,数据存储器,数据0,数据1,数据2,总线,总线,哈佛体系结构的特点 1)程序存储器与数据存储器分开. 2)提供了较大的存储器带宽,各自有自己的总线。 3)适合于数字信号处理. 4)大多数DSP都是哈佛结构. 5)ARM9是哈佛结构 6)取指和取数在同一周期进行,提高速度, 改进哈佛体系结构分成三个存储区:程序、数据、程序和数据共用。,CISC:复杂指令集(Complex Instruction Set Computer) 具有大量的指令和寻址方式 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就

6、能够运行。 CISC CPU 包含有丰富的单元电路,因而功能强、面积大、功耗大。,RISC:精简指令集(Reduced Instruction Set Computer) 在通道中只包含最有用的指令,只提供简单的操作。 确保数据通道快速执行每一条指令 Load-store结构 处理器只处理寄存器中的数据,load-store指令用来完成数据在寄存器和外部存储器之间的传送。 使CPU硬件结构设计变得更为简单, RISC CPU包含较少的单元电路,因而面积小、功耗低,主要差别: 寄存器 RISC指令集 拥有更多的通用寄存器,每个可以存放数据和地址,寄存器为所有的数据操作提供快速的存储访问。 CIS

7、C指令集 多用于特定目的的专用寄存器。 LOAD STORE 结构 RISC结构 Cpu 仅处理寄存器中的数据,采用独立的、专用的LOAD STORE 指令来完成数据在寄存器和外存之间的传送。(访存费时,处理和存储分开,可以反复的使用保存在寄存器中的数据,而避免多次访问外存)。 CISC结构 能直接处理存储器中的数据。,流水线:是把一个重复的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行。 由于这种工作方式与工厂中的生产流水线十分相似,因此,把它称为流水线工作方式。 处理器按照一系列步骤来执行每一条指令。典型的步骤为: 1)从存储器读取指令(fetch) 2)译码以鉴别它是哪一类指

8、令(dec) 3)从寄存器组取得所需的操作数(reg) 4)将操作数进行组合以得到结果或存储器地址(exe) 5)如果需要,则访问存储器存取数据(mem) 6)将结果回写到寄存器组(res),流水线技术,三级流水线技术,流水线技术,ARM9TDMI流水线技术,Instruction Fetch,Shift + ALU,Memory Access,Reg Write,Reg Read,Reg Decode,FETCH,DECODE,EXECUTE,MEMORY,WRITE,ARM9TDMI,ARM or ThumbInst Decode,Reg Select,Reg Read,Shift,ALU

9、,Reg Write,ThumbARMdecompress,ARM decode,Instruction Fetch,FETCH,DECODE,EXECUTE,ARM7TDMI,ARM存储器以8位为一个单元存储数据(一个字节),每个存储单元分配一个存储地址。 ARM将存储器看作是从零地址开始的字节的线性组合。作为32位的微处理器,ARM体系结构所支持的最大寻址空间为4GB(232字节)。 从零字节到三字节放置第一个存储的字数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列。 32位的字数据要使用4个地址单元,16位半数据要使用2个地址单元。 这样,就存在一个所存储的字或半字数据的排

10、列顺序问题。ARM体系结构可以用两种方法存储字数据,称为大端格式和小端格式 。,ARM存储格式,大端格式(big-endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 小端格式(low-endian):与大端存储格式相反。低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。缺省设置为小端格式。,ARM存储格式,ARM存储格式,大端的数据存放格式 小端的数据存放格式,低地址,高地址,地址A,地址A+1,地址A+2,地址A+3,word a=0 x f6 73 4b cd,f6,73,4b,cd,低地址,高地址,地址A,地址A+1,地址A+2,地址A+3,f6

11、,73,4b,cd,二、ARM体系结构,ARM系列产品表示,ARM 926EJ-S,Family number 7: ARM7 9: ARM9 10: ARM10 11: ARM11,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,Synthesizable,Extensions E: DSP extension J: Jazelle extension

12、T: Thumb support ,ARM处理器的分类 基于指令集体系结构的分类 v1,v2,v5,v5TEJ,v6等 基于处理器内核的分类 ARM7,ARM9,ARM10,ARM11,StrongARM,XScale等,ARM体系结构版本 ARM架构自诞生至今,已经发生了很大的演变,至今已定义的版本有: V1版架构 V2版架构 V3版架构 V4版架构 V5版架构 V6版架构,V1版架构 该版架构只在原型机ARM1出现过,其基本性能: 基本的数据处理指令(无乘法) 字节、半字和字的LOAD/STORE指令 转移指令,包括子程序调用及链接指令 软件中断指令 寻址空间:64M字节(26),V2版架

13、构 该版架构对V1版进行了扩展,如ARM2架构,增加了以下功能: 乘法和乘加指令 支持协处理器操作指令 快速中断模式 SWP/SWPB基本存储器与寄存器交换指令 寻址空间:64M字节,V3版架构 把寻址空间增至32位(4G字节), 增加了当前程序状态寄存器CPSR和程序状态保存寄存器SPSR以便于异常的处理。 增加了中止和未定义二种处理器模式。 ARM6就采用该版架构。 指令集变化如下: 增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器 增加了从异常处理返回的指令功能。,V4版架构 V4版架构是目前应用最广的ARM体系结构,对V3版架构进行了进一步扩充,有的还引进了16位的Thu

14、mb指令集,使ARM使用更加灵活。ARM7、ARM8、ARM9和StrongARM都采用该版架构。指令集中增加了以下功能: 有符号、无符号的半字和有符号字节的Load/Store指令。 增加了16位Thumb指令集 完善了软件中断SWI指令的功能 增加了处理器的特权模式。,V5版架构 这是最近几年推出ARM架构,在V4版基本上增加了一些新的指令,ARM10和XScale都采用该版架构,这些新增指令有: 带有链接和交换的转移BLX指令 计数前导零CLZ指令 BKPT软件断点指令 增加了信号处理指令 为协处理器增加更多可选择的指令,v6版架构 2001年发布的 适合使用电池供电的便携式设备 增加了

15、 SIMD功能扩展,提高了嵌入式应用系统的音频、视频处理能力。 首先在2002年发布的ARM11处理器中使用,ARM处理器内核系列: ARM7 Family,ARM9 Family,ARM10 Family,ARM11 Family,指令集体系结构(ISA),注:v5T支持的Thumb是对v4T中的Thumb的扩展,ARM芯片选择的一般原则 从应用的角度,对在选择ARM芯片时所应考虑的主要因素有: (1)ARM芯核 如果希望使用WinCE或Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU功能的ARM芯片. (2)系统时钟控制器 系统时钟决定了ARM芯片的处理速度。

16、ARM7的处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100MHz-233MHz, ARM10最高可以达到700MHz,(3) 内部存储器容量 在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片。 (4) GPIO数量 在某些芯片供应商提供的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线等引脚复用的。这样在系统设计时需要计算实际可以使用的GPIO数量。,P307-表6.26,(5) USB接口 许多ARM芯片内置有USB控制器,

17、有些芯片甚至同时有USB Host和USB Slave控制器。 (6) 中断控制器 ARM内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己不同的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断。外部中断控制是选择芯片必须考虑的重要因素,合理的外部中断设计可以很大程度的减少任务调度的工作量。,(7) LCD控制器 有些ARM芯片内置LCD控制器,有的甚至内置64K彩色TFT LCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片较为适宜。 (8)扩展总线 大部分ARM芯片具有外部SDRAM和SRAM扩展接

18、口,不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。某些特殊应用的ARM芯片如德国Micronas的PUC3030A没有外部扩展功能。 (9)DSP协处理器 (10)封装 主要的封装有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式,BGA封装具有芯片面积小的特点,可以减少PCB板的面积,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的ARM芯片无法用双面板完成PCB布线,需要多层PCB板布线。,三、Thumb技术介绍,ARM的RISC体系结构的发展中已经提供了低功耗、小体积、高性能的方案。而为了解决代码长度的问题,ARM体系结构又增加了变种,开发了一种新的指令体系,这就是Thumb指令集,它是ARM技术的一大特色。,Thu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论