应用领域
●无线通信领域:手机、PDA ●消费类电子产品:数字媒体播放器、游戏机 ●网络应用:语音及视频处理、数字机顶盒、VoIP ●成像和安全产品:数码相机、打印机、SIM智能卡 ●工业控制与仪器仪表: ●其他领域
特点
●体积小、低功耗、低成本、高性能 ●支持Thumb(16位)/ARM(32位)双指令集 ●全球众多的合作伙伴
指令集
- CISC(Complex Instruction Set Computer)
复杂指令集计算机 ●具有大量的指令和寻址方式 ●8/2原则:80%的程序只使用20%的指令。 ●大多数程序只使用少量的指令就能够运行。 ●CISC CPU 包含有丰富的单元电路,因而功能强、面积大、功耗大。 - RISC( Reduced Instruction Set Computer)
精简指令集计算机 ●指令规整、对称、简单。指令小于100条,基本寻址方 式有2~3种。 ●单周期指令。 ● 指令字长度一致,单拍完成,便于流水操作。 ●大量的寄存器。寄存器不少于32个。数据处理器的指令只对寄存器的内容操作。只有加载/存储指令可以访问存储器。 ●使CPU硬件结构设计变得更为简单, RISC CPU包含较少的单元电路,因而面积小、功耗低
流水线(Pipeline)技术:
几个指令可以并行执行 ? 提高了CPU的运行效率 ? 内部信息流要求通畅流动
ARM处理器的分类
●基于指令集体系结构的分类 ●v1,v2,v5,v5TEJ,v6, v7 , v8 ●基于处理器内核的分类 ●经典ARM处理器: ARM7,ARM9,ARM10,ARM11,StrongARM,Xscale ●ARM Cortex 处理器: M系列,R系列,A 系列
课后题:
●简述 RISC技术的特点,与CISC相比,其优点是什么?
●什么是ARM 流水线技术,有何作用?
●简述ARM核有哪些系列?及其特点?其所采用ARM的指令集版本?
●ARM微处理器的数据类型 ●ARM微处理器的工作状态(3) ●ARM体系结构的存储器格式(大小端) ●ARM微处理器的处理器模式(8) ●ARM体系结构的寄存器组织 ●ARM微处理器的异常状态 ● ARM Cortex A9微处理器
数据类型
●字节(Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。 ●字(Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。 (注:字必须与4字节的边界对准。) ●半字(Half-Word):在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。(注:半字必须与2字节的边界对准。)
处理器模式
- 除用户模式外,其它模式均为特权模式。
- 快中断、中断、管理、中止、未定义称为异常模式。
- 用户和系统这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。
寄存器组织
ARM处理器有40(34+6)个物理寄存器,有18个可编程访问的寄存器。 ●寄存器被安排成部分重叠的组。在不同的工作模式和处理器状态下,程序员可以访问的寄存器也不尽相同。 ●分组的寄存器在处理处理器异常和特权操作时可得到快速的上下文切换。 在汇编语言中寄存器R0~R13为保存数据或地址值的通用寄存器。它们是完全通用的寄存器,不会被体系结构作为特殊用途,并且可用于任何使用通用寄存器的指令。
寄存器R8~R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器
寄存器R8~R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。
寄存器R13、R14分别有7个分组的物理寄存器。一个用于用户和系统模式,其余6个分别用于6种异常模式。
寄存器R13常作为堆栈指针(SP)。在ARM指令集当中,没有以特殊方式使用R13的指令或其它功能,只是习惯上都这样使用。但是在Thumb指令集中存在使用R13的指令。
R14为链接寄存器(LR),在结构上有两个特殊功能: ●在每种模式下,模式自身的R14版本用于保存子程序返回地址; ●当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)
寄存器R15为程序计数器(PC),它指向正在取指的地址。可以认为它是一个通用寄存器,但是对于它的使用有许多与指令相关的限制或特殊情况。如果R15使用的方式超出了这些限制,那么结果将是不可预测的。
寄存器CPSR为程序状态寄存器,在异常模式中,另外一个寄存器“程序状态保存寄存器(SPSR)”可以被访问。每种异常都有自己的SPSR,在因为异常事件而进入异常时它保存CPSR的当前值,异常退出时可通过它恢复CPSR。
ARM Cortex A9微处理器
● A RM ? Cor texTM-A9处理器该款处理器采用了广受支持的ARM v7架构。 ●Cortex-A9处理器的设计是基于最先进的推测型八级流水线,该流水线具有具有高效、动态长度、多发射超标量及无序完成特征。 ●Cortex-A9微架构提供两种选项:可扩展的Cortex-A9 MPCoreTM多核处理器或较为传统的Cort ex-A9单核处理器。支持16、32或64KB四路组相联一级缓存的配置
1) 说出ARM可以工作的模式名字。
ARM体系结构支持8种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式、系统模式和监管模式(Cortex A系列增加模式)。
用户模式(user)、
快速中断模式(FIQ)、
外部中断模式(IRQ)、
特权模式(SVC)、
数据访问中止模式(abort)、
未定义指令中止模式(undef)、
系统模式(system)
2) ARM核有多少个寄存器?
40(34+6)个物理寄存器,有18个可编程访问的寄存器。
ARM有37个32位长的寄存器
3) 什么寄存器用于存储PC和LR寄存器?
R15(PC)、R14(LR)
4) R13通常用来存储什么?
堆栈指针(SP)
5) 哪种模式使用的寄存器最少?
用户和系统模式(没访问spsr)
6) 在Thumb 指令集中,哪些寄存器处于Low group?
R0-R7
7) CPSR的哪一位反映了处理器的状态?
第6位(从1开始),T状态位。
1表示运行在Thumb状态,0表示运行在ARM状态。
8) 所有的Thumb指令采取什么对齐方式?
半字对齐(2个字节)
9) ARM有哪几个异常类型。
1. 复位异常
2. 未定义指令异常
3. 软件中断
4. 指令预取中止
5. 数据中止异常
6. IRQ(外部中断请求)
7. FIQ(快速中断请求)
10) 为什么FIQ的服务程序地址要位于0X1C?
尽可能快,省去跳转指令(FIQ的向量地址是异常中断向量表的最高地址,而异常
中断向量表后跟的是程序代码,FIQ的中断服务程序紧接中断向量表存放,中断过程
可以节省一条跳转指令)
一,FIQ向量位于异常向量表的末尾,不需要跳转指令,异常处理程序可以从异常向量处连续执行;
二,中断处理需要保护其使用的非私有寄存器,而FIQ有5个额外的私有寄存器;
11) 在复位后,ARM处理器处于何种模式、何种状态?
管理模式(SVC)、ARM状态
|