欢迎来到天天文库
浏览记录
ID:15421550
大小:585.96 KB
页数:8页
时间:2018-08-03
《第二章 arm体系架构》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、嵌入式系统嵌入式系统2.1ARM体系结构概述ARM:AdvancedRISCMachines¢1985年4月26日:第一个ARM原型在英国剑桥诞生¢1990年11月:成立了AdvancedRISCMachinesLimited(ARM公司)第二章ARM体系结构ARM公司是设计公司,是知识产权(IP)供应商,本身不生产芯片,靠转让设计许可由合作伙伴来生产各具特色的芯片,已有100多个合作伙伴。http://www.arm.com北京工业大学计算机学院2嵌入式系统嵌入式系统合作伙伴ARM的应用领域技术共享计划北京工业大学计算机学院3北京工业
2、大学计算机学院4嵌入式系统嵌入式系统2002年嵌入式内核总量:6.265亿2.1.1RISC体系结构1979年美国加州大学伯克利分校的帕特逊等人提MicroSPARCPowerPC其他出,至今尚未有严格的定义。0.190.1760.053MPIS3%3%1%0.87比较普遍的认为是,RISC应该是一种计算机设计14%的基本原则,它的出现标志着计算机体系结构发展史上的一个重要里程碑。20%-80%定律:在CISC指令集中只有20%的指令经常用到,约占程序总量的80%;而80%的指令则很少用到,约占程序总量的20%。ARM4.9879%北京
3、工业大学计算机学院5北京工业大学计算机学院61嵌入式系统嵌入式系统RISC架构的特点2.1.2ARM架构的特点卡内基·梅隆大学:ARM体系继承了RISC架构的优点¢指令集中大多数指令只需执行简单和基本的功能。其¢大量的寄存器,都可用于多种用途;执行过程是在一个机器周期内完成的;¢Load/Store体系结构¢由于存储器访问指令执行时间长,尽量避免使用,而¢3地址指令(两个源操作数寄存器和结果寄存器独立设定)采用加载和存储(Load/Store)指令。运算指令的操作¢每条指令都条件执行包含非常强大的多寄存器Load和数都经加载/存储指令,
4、从存储器取出后预先存放在寄Store指令存器堆内,以加快执行速度;¢能在单时钟周期执行的单条指令能完成一项普通的移位¢芯片逻辑不采用或少采用微码技术,而采用硬布线逻操作和一项普通的ALU操作辑,以减少指令解释的开销;¢通过协处理器指令集来扩展ARM指令集,包括在编程模¢减少指令数和寻址方式,使控制部件简化,加快执行式下增加了新的寄存器和数据类型速度;¢在Thumb体系结构中以高密度16位压缩形式表示指令集¢指令格式固定,指令译码简化;¢编译开销很大,应尽可能优化。北京工业大学计算机学院7北京工业大学计算机学院8嵌入式系统嵌入式系统2.1
5、.3ARM体系结构的版本3.V3(ARM6):1.V1(ARM1):¢增加了当前程序状态寄存器CPSR和保存程序状态寄存¢处理乘法指令之外的基本数据处理指令器SPSR¢基于字节、字和多字的读取和写入指令¢增加了MRS/MSR指令,以访问CPSR(当前程序状态寄存器)/SPSR(备份程序状态寄存器)¢包括子程序调用指令BL(带链转移)在内的跳转指令¢增加了从异常处理返回的指令¢供操作系统使用的软件中断指令SWI26¢寻址空间:4GB(232)¢寻址空间:64MB(2)4.V4(ARM7、ARM8、ARM9和StorngARM)2.V2(A
6、RM2和ARM3)¢增加了符号化和非符号化半字及符号化字节存/取指令¢增加了乘法指令和乘加法指令¢增加了16位Thumb指令集¢支持协处理器的指令¢完善了软件中断SWI指令的功能¢对于FIQ模式,提供了额外的两个备份寄存器¢增加了处理器特权方式,在该模式下使用的是用户模式¢增加了SWP及SWPB最基本的存储器和寄存器交换指令下的寄存器¢寻址空间:64MB(226)北京工业大学计算机学院9北京工业大学计算机学院10嵌入式系统嵌入式系统5.V5(ARM10和XScale):¢增加了带有链接和交换的转移指令BLX¢增加了计数前导零CLZ指令,
7、该指令允许更有效的整数除法和中断优先程序¢增加了软件断点中断BRK指令¢增加了DSP指令(V5TE版)¢为协处理器增加了更多可选择的指令¢对乘法指令如何设置标志进行了严密的定义6.V6(ARM11)¢Thumb:35%代码压缩¢DSP扩充:高性能定点DSP功能¢Jazelle:Java性能优化,可提高8倍¢Media扩充:音/视频性能优化,可提高4倍北京工业大学计算机学院11北京工业大学计算机学院122嵌入式系统嵌入式系统2.1.4ARM体系结构的变量1.T变量(Thumb指令集)2.M变量(长乘法指令)Thumb指令集是将ARM指令集
8、的一个子集重新编码增加了32×32的乘法/乘加指令而形成的一个指令集。ARM指令长度为32位,Thumb指令3.E变量(增强型DSP指令)长度为16位。因此,使用Thumb指令集可以得到密度更高的代码。与A
此文档下载收益归作者所有