简述ARM处理器的结构和特点

简述ARM处理器的结构和特点
简述ARM处理器的结构和特点

ARM处理器的结构和特点

一、RISC型处理器结构

ARM采用RISC结构,在简化处理器结构,减少复杂功能指令的同时,提高了处理器的速度。

考虑到处理器与存储器打交道的指令执行时间远远大于在寄存器内操作的指令执行时间,RISC型处理器采用了Load/Store(加载/存储)结构,即只有Load/Store指令可与存储器打交道,其余指令都不允许进行存储器操作。

同时,为了进一步提高指令和数据的存取速度,RISC型处理器增加了指令高速缓冲I-Cache和数据高速缓冲D-Cache及多处理器结构,使指令的操作尽可能在寄存器之间进行。

二、Thumb指令集

虽然ARM处理器本身是32位设计,但考虑到RISC型处理器的指令功能相对较弱,新型的ARM体系结构中定义了16位的Thumb指令集。

Thumb指令集比通常的8/16位CISC/RISC处理器有更好的代码密度,而芯片面积只增加6%,却可以使程序存储器更小。

三、多处理器状态模式

ARM体系结构定义了7种处理器模式:用户、快中断、中断、管理、终止、未定义和系统模式,大大提高了ARM处理器的效率。

四、两种处理器工作状态

ARM状态和Thumb状态。

五、嵌入式在线仿真调试

ARM体系结构的处理器芯片都嵌入了在线仿真ICE-RT逻辑,便于通过JTAG来仿真调试芯片,省去了价格昂贵的在线仿真器。

六、灵活方便的接口

ARM体系结构具有协处理器接口,允许接16个协处理器。既可以使基本的ARM处理器内核尽可能小,方便地扩充ARM指令集,也可以通过未定义指令来支持协处理器的软件仿真。

七、低电压功耗的设计

考虑到ARM处理器主要用于手持式嵌入式系统中,在设计中就十分注意功耗的设计。

举例:

ARM公司从最初的开发到现在,ARM指令集结构有了巨大的改进,并在不断完善和发展。为了清楚地表达每个ARM内核所使用的指令集,ARM公司定义了一系列的指令集体系结构版本,以vx表示某种版本。下面对版本v1~v5做一介绍。

一、版本1(v1)

v1在ARM1中使用,但从未商业化。26位寻址空间,其指令主要有:

1.基本的数据处理指令(无乘法指令)

2.字、字节和半字存储器访问指令

3.分支指令(包括带链接的分支指令)

4.软件中断指令

二、版本2(v2)

仍是26位寻址空间,在v1的基础上增加的内容有:

1.乘法和乘法加指令

2.支持协处理器

3.快速中断模式中的分组寄存器

4.交换式加载/存储指令。

三、版本3(v3)

将寻址范围扩展到32位,但兼容26位寻址。在v2的基础上增加的内容有:1.设置了专用的当前程序状态寄存器CPSR、增加了程序状态保存寄存器2.增加了中止异常和未定义指令异常两种处理器模式

3.增加了访问CPSR、SPSR的指令MRS和MSR

4.修改了异常返回指令的功能

四、版本4(v4)

32位寻址方式,但不再兼容26位寻址,在v3的基础上增加的内容有:

1.半字加载/存储指令

2.在T变量中转换到Thumb状态的指令

3.增加了在使用用户模式寄存器的特权处理器模式

五、版本5(v5)

对v4指令做了必要的修改和扩展,并且增加了指令,具体变化为:

1.改进在T变量中ARM/Thumb状态之间的切换效率

2.对于T和非T变量使用相同的代码生成技术

3.增加了计数前导零指令

4.增加了软件断点指令

5.对乘法指令设置标志做了严格定义。

6.将流水线的级数从3级(如ARM7TDMI使用的)增加到5级;

7.并改变存储器接口来使用分开的指令与数据存储器。

ARM体系结构与接口技术(一)

ARM920TDMA处理器是哈佛结构,包括取指、译码、执行、存储、写入的五级流水线。包括cp14和cp15两个协处理器。16k数据缓存和16k指令缓存。虚拟地址64路相关缓存。每线8字。 ARM的基本数据类型: ARM采用的是32位架构,基本上数据类型有以下三种: Byte :字节,8位 Halfword:半字,16bit(半字必须与2字节边界对齐 Word:字,32bit(必须与4字节边界对齐 所有的数据类型指令的操作数都是字类型。 ARM指令编译后是4字节(与字边界对齐,Thumb指令编译后是2字节(与半字对齐 存储器大/小端 Arm支持大端模式和小端模式。在大端模式下,一个字的高地址放的是数据的地位,在小端模式下,数据的低地址放的是数据的低位。 ARM920T,有7中工作模式: 用户模式(User,正常程序执行模式。 快速中断模式(FIQ,当一个高优先级中断产生时将会进入该模式,一般用于高速数据传输和通道处理。 外部中断模式(IRQ,当一个低优先级中断产生时将会进入该模式,一般用于通常的中断处理

特权模式(Supervise,当复位或软中断指令执行时进入该模式,是一种供操作系统使用的保护模式。 数据访问中止模式(abort,当存取异常时将会进入该模式,用于虚拟存储或存储保护未定义指令中止模式(undef,当执行未定义指令时进入该模式,有时用于通过软件仿真协处理器硬件的工作方式 系统模式(system使用和user模式相同的寄存器集模式,用于运行特权级操作系统任务 除了用户模式,其他六中均为特权模式。在特权模式下,程序可以访问所有的系统资源,也可以任意的进行处理器模式切换。 流水线的概念与原理 处理器按照一系列的步骤来执行每一条指令,典型的步骤如下: 1、从存储器读取指令(fetch 2、译码以鉴别它是属于哪一条指令(decode 3、从指令中提取指令的操作数(这些操作数往往存在于寄存器中(reg 4、将操作数进行组合以得到结果或存储器地址(ALU 5、如果需要,则访问存储器以存储数据(mem 6、将结果写回到寄存器堆(res 流水线的分类: 1、3级流水线ARM组织 取指令—>译码—>执行

ARM体系结构版本

ARM体系结构的版本 前面一段时间我搞过一次《MCU编译与运行》的专题,详细介绍从代码编译到代码运行以及中断机制的流程,这里想在编译部分补充一些知识点。 对于嵌入式开发人员,搭建开发环境是比较困难的一步,市面上针对ARM开发的IDE 非常多,有的编译器诸如ADS或者MDK等老编译器并不支持ARM11或者Contex系列的内核,RVDS号称支持所有ARM,但RVDS4.0仅仅支持RealViewICE,这个调试器将近2万元,个人一般无力购买,因此推荐ARM爱好者使用RVDS2.2,虽然界面和ADS一样粗糙,对Win7的支持也不好,但支持JLink等常用编译器。 之所以有的编译器不支持ARM11是因为此编译器内置的指令集达不到ARM11所需指令集的版本。ARM7与ARM9的指令集相同,是V4版本,因此编译好的ARM7代码是可以在ARM9上运行的(注意,此处仅仅说的是ARM7和ARM9内核的指令集通用,也即代码可以执行,不是指任何代码都可有效运行,毕竟不同芯片中的片内外设以及外设有所不同),ARM11使用V6版本指令集,但ARM指令集向下兼容,因此一般代码也是可以执行,但V6中增加的指令就没法执行了,会出现指令错误异常,程序会死机。下面就来看一下ARM指令集版本的升迁:ARM指令集体系结构,从最初开发至今已有了重大改进,而且将会不断完善和发展。为了精确表达每个ARM实现中所使用的指令集,到目前ARM体系结构共定义了6个版本,以版本号v1~v6表示,各版本特点如下。 1. 版本1(v1) 该版本包括: 1.基本数据处理指令(不包括乘法) 2.字节、字以及半字加载/存储指令 3.分支(branch)指令,包括用于子程序调用的分支与链接(branch-and-link) 指令 4.软件中断指令,用于进行操作系统调用 5.26位地址总线 2. 版本2(v2) 与版本1相比,版本2增加了下列指令: 1.乘法和乘加指令(multiply & multiply-accumulate) 2.支持协处理器 3.原子性(atomic)加载/存储指令SWP和SWPB(稍后的版本称v2a) 4.FIQ中的两个以上的分组寄存器。 3. 版本3(v3) 版本3较以前的版本发生了大的变化,具体改进如下: 1.推出32位寻址能力。 2.分开的CPSR(current program status register,当前程序状态寄存器)和SPSR (saved program status register,备份的程序状态寄存器),当异常发生时,SPSR 用于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR 3.增加了两种异常模式,使操作系统代码可方便地使用数据访问中止异常、指令 预取中止异常和未定义指令异常 4.增加了MRS指令和MSR指令,用于完成对CPSR和SPSR寄存器的读/写; 修改了原来的从异常中返回的指令 4. 版本4(v4) 版本4在版本3的基础上增加了如下内容:

《ARM体系结构》期末考试试卷含答案

东华理工大学长江学院2011—2012 学年第2学期补考试卷B 课程:嵌入式微处理器体系结构与编程考试形式:闭卷 年级及专业:计算机科学与技术10304101-3班 1.系统调用 2.哈弗结构 3.MMU 4.FIQ 5.SPSR 二、单项选择题(20×2分=40分) 1.ARM系统复位后,第一条执行的指令在( ). A 00000000H B 00000004H C 00000008H D 由编程者确定2.针对没有MMU的ARM芯片,其操作系统可以使用( ). A Windows CE ,Linux B VxWork C uClinux, Uc/OS-II D 以上都可以 3.ATPCS定义了寄存器组中的( )作为参数传递和结果返回寄存器。 A R0,R1,R2,R3 B R4,R5,R6,R7 C R8,R9,R10,R11 D A B C 都可以 4.用汇编指令对R15赋值,可以实现()。 A 程序的跳转 B 实现B指令功能 C 子程序的返回 D A B C都可以 5.ARM汇编语言中,一常量8_5642也代表()。 A 整数5642 B 整数5642H C 整数Ox5642 D 整数2978 6.要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。() (A) 处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断 (C) 处理器支持中断,并且能产生定时中断(D)有大量的存储空间 7.下面哪种操作系统最方便移植到嵌入式设备中。() (A) DOS (B)unix (C) Windows xp (D)linux 8.下列描述不属于RISC计算机的特点的是()。 A.流水线每周期前进一步。B.更多通用寄存器。 C.指令长度不固定,执行需要多个周期。 D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。 9.存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存 储,则2000H存储单元的内容为()。 A、0x21 B、0x68 C、0x65 D、0x02 10.IRQ中断的入口地址是()。FIQ的入口地址为0x0000001C A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 11. Make预置了一些内部宏,其中$@表示:() A.没有扩展名的当前目标文件 B.当前目标文件 C.当前目标文件最近更新的文件名 D.当前目标文件最近更新的文件名 12.ARM处理器的工作模式有()种。 A. 5 B.6 C. 7 D.8 13.下列CPSR寄存器标志位的作用说法错误的是()。 A. N:负数 B. Z: 零 C. C: 进位 D. V: 借位

华清ARM体系结构试题

嵌入式ARM体系结构试题(时间:60 分钟) 一、单项选择题(每题 2 分,共40 分) 1. 在三级存储结构中,CPU不能直接访问的存储器是(C) A. 高速缓存(cache) B. 主存(内存) C. 辅助存储器(硬盘) 2. 在三级流水线机制下,一条指令的执行的顺序是(A) A. 取指- 译码- 执行 B. 取指- 执行- 译码 C. 取指- 译码- 回写 3.ARM指令集中每条指令都是(C)位宽度 A.8 B.16 C.32 D.64 4.ARM指令在存储器中存储时必须是(C)字节对齐 A.1 B.2 C.4 D.32 5.ARM处理器复位后,处理器处于(B)模式 https://www.360docs.net/doc/f913007609.html,er B.SVC C.System D.IRQ 6.ATPCS协议中规定,栈使用(D)栈 A. 空增 B. 空减 C. 满增 D. 满减 7. 假如想对r4-r7 寄存器进行压栈处理,下列指令正确的是(D) A.stm sp,{r4-r7} B.stmfa r11,{r4-r7} C.stmfd sp,{r4-r7} D.stmfd sp!,{r4-r7} 8.CPSR寄存器中,控制ARM处理器处于ARM状态还是THUMB状态的是(C)位 A.I B.F C.T D.Z 9. 当处理器在执行ARM指令集时,处理器每执行完一条指令后PC的值自增(C) A.1 B.2 C.4 D.32 10.ARM处理器属于(A)处理器 A. 精简指令集 B. 复杂指令集 11. 小端对其是指多字节的数据在存储器中存储时是(A) A. 低地址存储低有效位 B. 低地址存储高有效位 12. 在8 中模式中哪种模式属于非特权模式(A) https://www.360docs.net/doc/f913007609.html,er B.SVC C.IRQ D.System 13. 在IRQ模式下,当前程序的运行状态是由哪个寄存器来决定(B) A.IRQ 模式下的SPSR B.CPSR C.FIQ 模式下的SPSR

ARM处理器结构

ARM处理器结构 体系结构 1 CISC(Complex Instruction Set Computer,复杂指令集计算机) 在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%。 2 RISC(Reduced Instruction Set Computer,精简指令集计算机) RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等RISC体系结构应具有如下特点: 1 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2,3种。 2 使用单周期指令,便于流水线操作执行。 3 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。 除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗: 4 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。 5 可用加载/存储指令批量传输数据,以提高数据的传输效率。 6 可在一条数据处理指令中同时完成逻辑处理和移位处理。 7 在循环处理中使用地址的自动增减来提高运行效率。 寄存器结构 ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括: 1 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。

2 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。 指令结构 ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM 指令集的功能子集,但与等价的 ARM代码相比较,可节省30%,40%以上的存储空间,同时具备32位代码的所有优点。 x86是cisc构架, arm是risc构架用途一个是pc,一个是电子产品 X86架构方案与ARM架构方案区别,山水网讯MID方案 X86架构:通俗的将就是能够装Windows 2000、XP\Tablet \windows 7 操作系统的方案架构(CPU) 目前全球仅有3家公司有实力做出这样的架构,他们分别是:Intel 中国台湾威盛(VIA) 和AMD 而目前在低功耗领域AMD甚少介入,也就是在X86架构平板电脑市场仅仅是In X86架构:通俗的将就是能够装Windows 2000、XP\Tablet \windows 7 操作系统的方案架构(CPU) 目前全球仅有3家公司有实力做出这样的架构,他们分别是:Intel 中国台湾威盛(VIA) 和AMD 而目前在低功耗领域AMD甚少介入,也就是在X86架构平板电脑市场仅仅是Intel和威盛的角逐 而X86架构体系分高性能和低功耗版本,山水网讯科技主要研发基于X86架构低功耗系统的方案及产品:MID、UMPC、NetBook 低功耗X86架构体系优点:

ARM体系结构.

ARM是Advanced RISC Machines ( 高级精简指令系统处理器) 的缩写,是ARM公司提供的一种微处理器知识产权( IP) 核 ARM既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字 ARM微处理器的特点 1、体积小、低功耗、低成本、高性能 2、支持Thumb (16位) / ARM (32位) 双指令集,能很好的兼容8位/16位器件 3、大量使用寄存器,指令执行速度更快 4、大多数数据操作都在寄存器中完成 5、寻址方式灵活简单、执行效率高 6、指令长度固定 ARM7系列: 属低端ARM处理器核,最适合用于对价位和功能消耗要求较高的消费类应用 主要应用领域为:工业控制、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用 DSP: Digital Signal Processor 命名解释: ARM7DMI:T表示支持16位压缩指令集(Thumb),D表示支持片上调试(Debug),M表示内嵌硬件乘法器(Multiplier),I 表示嵌入式ICE(仿真器),支持片上断点和调试点( in - circuit emulater ) ARM7系列处理器特点: 1、具有嵌入式ICE逻辑,调试开发方便 2、功耗极低,适合便携式产品开发

3、3级流水线结构 4、支持Thumb 5、支持多种操作系统 6、指令与ARM9、ARM10系列兼容,便于升级 3级流水线(Pipeline) 的执行过程 取指:从存储器装载指令 译码:对刚装载的指令进行识别 执行:处理指令并把结果写回相应的寄存器 ARM9系列处理器特点: 在高性能和低功耗特性方面提供最佳的性能 主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数码相机和数字摄像机 ARM9有5级流水线:FETCH、DECODE、EXECUTE、MEMORY、WRITE ARM 与THUMB 1、THUMB指令是ARM指令的自给 2、可以相互调用,只要遵循一定的调用规则 3、THUMB指令与ARM指令时间效率和空间效率关系:存储空间是ARM代码的60% ~ 70%,指令数比ARM代码多约30% ~ 40%,存储器为32位时ARM代码比THUMB代码

相关主题
相关文档
最新文档