




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二讲ARM体系结构与编程模型Email:本讲主要内容ARM体系结构体系结构的版本ARM体系的变种ARM系列处理器介绍ARM处理器架构流水线结构MMU,I/O,DMA,AMBA,JTAG核与内核ARM编程模型ARM体系结构ARM版本性能结构概览ARM处理器命名规则ARM7TDMI核命名规则
7 -体系结构T -Thumb代码支持(16bit指令)D -Debug硬件调试模块支持M -加强的乘法支持I -EmbeddedICELogicS-可综合的软核E-DSPJ-Jazeller,允许直接执行Java字节码ARM体系的变种(一)Thumb指令集(T变种)Thumb指令集是ARM指令集的子集,16位长,与ARM指令集相比:完成同样任务,Thumb代码通常使用更多的指令Thumb指令集不包括异常处理所需的指令目前Thumb指令集有2个版本V1用于ARMV4V2用于ARMV5,与V1比切换ARM/Thumb更高效,增加SWI,更严格定义了乘法指令对条件标志位的影响ARM体系的变种(三,略)增强型DSP指令(E变种)几个新的16位乘法运算和乘加指令;完成饱和带符号加减运算;可对双字数据操作的加载寄存器(LDRD)、存储寄存器STRD和协处理器寄存器传输指令MCRR、MRRC;Cache预加载指令PLD;ARM体系的变种(四,略)另外,一些早期体系结构的E变量未实现指令LDRD、STRD、MCRR、MRRC,为了表示这种结构,通常用xP表示;在非T或非M变量的体系结构中,E变量无效。例如:ARMv5TExP表示:ARM指令集版本v5,支持Thumb指令集,支持长乘法,支持除LDRD、STRD、MCRR、MRRC外的所有增强型DSP指令。
ARM体系的变种(五,略)Java加速器Jazelle(J变种)提供Java加速功能,比普通虚拟机(VM)相比,Jazelle使Java代码运行速度提高8倍,功耗降低80%使得同时运行Java应用程序,操作系统,中间件可以在单独的处理器上实现在ARMv4TEJ中首先使用ARM微处理器分类ARM7系列:如ARM7TDMI(TDMI=Thumb,Debugger,Multiplier,ICE)、ARM720T等ARM9系列:MX1采用ARM920T核ARM9E系列ARM10系列ARM11系列StrongARM系列XscaleARM7系列处理器特点(一)ARM7系列:如ARM7TDMI、ARM720T等采用ARMV4T结构常见芯片主频为20~133MHzARM720T以下没有MMU适合对价位和功耗要求较高的产品。3级流水线和冯.诺依曼结构支持WindowCE、LinuxPalmOS等ARM7系列处理器特点(二)指令和数据Cache(ARM710,720,740)平均功耗0.6mW/MHz每条指令平均需要1.9时钟周期处理速度0.9MIPS/MHz小型、快速、低能耗、集成式RISC内核广泛应用于手持式计算机、数据通信和消费类多媒体ARM9系列处理器特点(二)指令数据分离的Cache(ARM920,940,9E)平均功耗0.7mW/MHz132MIPS(120MHz时钟,3.3V供电)或220MIPS(200MHz时钟)配写缓冲低价、低能耗、高性能应用于高级引擎管理、保安系统、机顶盒、便携计算机和高档打印机ARM9E处理器特点(略)ARM9E系列采用ARMV5TE结构5级流水线和哈佛结构紧耦合的存储器接口支持32位的高速AMBA总线接口MMU支持DSP指令集,适合高速数字信号处理支持实时操作系统具有指令Cache和数据Cache支持VFP9浮点处理协处理器ARM10系列处理器特点(一)ARM10系列采用ARMV5TE结构6级流水线和哈佛结构支持64位的高速AHB总线接口MMU支持DSP指令集,适合高速数字信号处理支持实时操作系统具有指令Cache和数据Cache支持VFP9浮点处理协处理器ARM11系列处理器特点ARM11采用ARMV6结构8级流水时钟达到550MHz0.13um工艺支持IEM(IntelligentEnergyManager),节约高达75%的处理器功耗ARM1156T2-S,ARM1156T2F-S首批含有Thumb-2内核技术其他系列ARM处理器(一)SecureCore系列专为安全需要而设计灵活的保护单元StrongARM融合了Intel技术的具有ARM体系结构的32位处理器采用ARMV4T结构5级流水Intel以SA110命名包括SA1100PDA系统芯片和SA1500多媒体处理器芯片其他系列ARM处理器(二)XscaleIntel新一代的性能全、性价比高、低功耗的微处理器
ARMV5TE7级超流水线32k数据缓存、32k指令缓存ARM处理器架构(三级流水)ARM处理器包括:32位ALU31个32位通用寄存器及6个状态寄存器32x8位乘法器32x32位桶形移位寄存器指令译码及控制逻辑数据/地址寄存器组成
ARM处理器流程示意ARM7的三级流水ARM7采用3级流水线,即分为取指、译码和执行。ARM9的五级流水ARM95级流水线,即分为取指、译码、执行、数据缓存和写回。3级流水线阻塞主要发生在存储器访问和数据通路的占用上,ARM9则采用5级流水线,把存储器存取和数据存取分开,且增加I-Cache和D-Cache,同时增加了数据写回的专用通道I-Cache和D-Cache快存(Cache)结构新型ARM处理器采用I-Cache和D-Cache独立的结构存储器管理单元MMU存储器管理单元MMU(MemoryManagementUnit)MMU可以通过CP15协处理器的R1的设置,选择打开或关闭。
MMU的主要功能将虚拟地址转换为物理地址;控制存储器访问权限。MMU支持基于段或页的存储器访问,其中有段(1MB)、大页面(64kB)、小页面(4kB)、微小页面(1kB)MMU的控制ARM存储器管理单元的控制,通过协处理器CP15的寄存器R1、R2、R3、R4、R5、R6、R8、和R10来实现,其中R2为转换表基址寄存器,详细内容参见《ARMArchitectureReferenceManual》。地址变换后备缓冲器TLB类似Cache,只存放最近使用过的页表项,也称为快表是虚拟地址和物理地址之间的高速缓存,包含了64项虚页号和实页号的对应关系,同时还为访问控制提供信息。若TLB包含虚拟地址的变换项,则存储控制逻辑决定是否允许访问;若允许访问,则MMU输出与虚拟地址对应的物理地址;若不允许访问,则MMU向CPU发出中止信号若请求的虚拟地址不在TLB中时,则引发地址变换过程直接存储器访问DMADMA-直接存储器访问I/O的数据块直接传送到存储器的缓冲区而不需要处理器的介入在I/O的数据流量比较大,中断处理频繁的场合可以提高系统性能ARM的I/O结构形式ARM采用存储器映像I/O的方式,即把I/O端口当作特殊的存储器地址来访问。一般有若干个寄存器:发送数据寄存器(只写)接收数据寄存器(只读)控制寄存器状态寄存器(只读)中断控制寄存器中断IRQ和快速中断FIQ对于FIQ的请求响应时长最多28个周期ARMJTAG调试接口(一)JTAG测试标准是由联合测试行动小组(JointTestActionGroup)提出的一种国际标准,主要用于芯片内部测试及对系统进行仿真、调试ARMJTAG调试接口(二)TAP控制器(测试访问端口)指令寄存器器件ID寄存器旁路寄存器边界扫描寄存器
ARMJTAG调试接口(三)Embedded-ICE模块JTAG调试接口基础上的扩展;包含2个观察点寄存器以及控制与状态寄存器;能够中止ARM处理器的运行,完成设置断点、观测点等功能;包含调试通信端口,使得目标系统的软件可以与主机通信;其寄存器需要通过JTAG测试端口来编程。ARM处理器内核核与内核的概念核=内核+I-Cache/D-Cache/MMU/AMBA/写缓冲ARM架构的处理器内核有ARM7TDMIARM8ARM9TDMIARM10TDMIStrongARM(SA-1)ARM处理器核ARM架构的处理器核有ARM720T/ARM740TARM920T/ARM940TARM946E-S/ARM966E-SARM1020EStrongARMSA-110ARM920T结构图ARM编程模型主要内容ARM处理器编程模型寄存器组处理器工作模式异常处理ARM处理器支持的运行模式ARM处理器共支持7种运行模式,分别为:用户(usr):ARM处理器正常的程序执行状态;系统模式(sys):运行具有特权的操作系统任务;
快速中断(fiq):用于高速数据传输或通道处理;外部中断(irq):用于通用的中断处理;管理模式(svc):操作系统使用的保护模式;中止(abt):当数据或指令访问中止时进入该模式,可用于虚拟存储及存储保护;未定义(und):当未定义指令执行时进入该模式,可用于硬件协处理器的软件仿真。ARM处理器运行模式除用户模式之外的其余6种称为非用户模式,或特权模式(PrivilegedModes);而特权模式中,除系统模式之外的其余5种又称为异常模式(ExceptionModes)。用户程序运行在用户模式下,不能访问一些受操作系统保护的系统资源。应用程序也不能直接进行处理器模式的切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理过程中进行处理器处理器模式的切换。这种体系结构可以使系统控制整个系统的资源。
系统模式系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄存器。但是系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式切换。它主要供操作系统任务使用。通常操作系统的任务需要访问所有的系统资源,同时该任务仍然使用用户模式的寄存组,而不是使用异常模式下相应的寄存器组,这样可以保证当异常中断发生时可以正常保存当前工作状态,进行模式切换。ARM处理器运行模式当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式中都有一组寄存器,供相应的异常处理程序使用,这样就可以保证在进入异常模式时,用户模式下的寄存器(保存了程序运行状态)不被破坏。ARM的寄存器组织ARM处理器共有37个32位寄存器,其中31个为通用寄存器,6个状态寄存器。ARM状态下的寄存器组织未分组寄存器R0~R7分组寄存器R8~R14程序计数器R15(PC)当前程序状态寄存器(CPSR)备份的程序状态寄存器(SPSR)ARM状态下寄存器组织Thumb状态下的寄存器组织Thumb状态下的寄存器组织通用寄存器R0~R7程序计数器PC堆栈指针SP(R13)连接寄存器LRCPSP和SPSRR13(SP-堆栈指针)每种异常模式都有备份寄存器R13_usr,R13_svc,R13_abt,R13_und,R13_irq,R13_fiq用作堆栈指针每种异常模式有自己专用的栈地址R13用于被中断程序的现场保护,即保存需要保护的寄存器值R14(LR-连接寄存器)每种异常模式都有备份寄存器R14_usr,R14_svc,R14_abt,R14_und,R14_irq,R14_fiq作用存放当前子程序的返回地址异常中断发生时,该异常模式R14_xxx被设置为将要返回的地址R15(PC-程序计数器)指令地址PC=当前执行指令地址+8地址值字对齐及半字对齐例MOVPC,PC ;跳转到下面第二条指令状态寄存器状态寄存器:当前程序状态寄存器CPSR,可以在任何工作模式下被访问;程序状态备份寄存器SPSR,只有在异常模式下,才能被访问;CPSR-当前程序状态寄存器(一)当前程序状态寄存器CPSR
N:补码形式的有符号数运算时,1为负,0为正;Z:1表示结果为零;C:加减法的进位或借位,以及非加减法的最后移位;V:1表示补码形式的有符号数加减运算时符号位溢出;CPSR-当前程序状态寄存器(二)Q:v5以上版本才有,描述增强DSP运算指令是否发生溢出;I、F:中断禁止位,1表示中断禁止;T:指示处理器处于ARM或Thumb工作状态;CPSR-当前程序状态寄存器(三)M[4:0]:表示处理器的运行模式0b10000——User0b10001——FIQ0b10010——IRQ0b10011——Supervisor0b10111——Abort0b11011——Undefined0b11111——SystemARM控制程序执行的方式正常执行,每执行一条指令ARM指令PC+4Thumb指令PC+2跳转:B、BL、BX、BLX异常中断执行完当前指令,跳转到异常中断处理程序执行完返回到发生中断指令的下一条处要保护和恢复被中断程序的执行现场ARM处理器的异常中断(一)异常是指正常的程序执行流程发生暂时的停止或改变,例如在复位、有中断请求及指令预取中止时;
ARM处理器支持7种类型的异常。复位(RESET):当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。未定义指令(UDEF):当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。软件中断(SWI):该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令。使用该异常机制可以实现系统功能调用。ARM处理器的异常中断(二)指令预取中止(PABT):若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。数据中止(DABT):若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。IRQ(外部中断请求):当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。系统的外设可通过该异常请求中断服务。FIQ(快速中断请求):当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。ARM处理器的异常中断(三)异常类型模式正常向量地址高向量地址复位管理0x000000000xFFFF0000未定义指令未定义0x000000040xFFFF0004软件中断管理0x000000080xFFFF0008指令预取中止中止0x0000000C0xFFFF000C数据中止中止0x000000100xFFFF0010IRQIRQ0x000000180xFFFF0018FIQFIQ0x0000001C0xFFFF001CARM处理器的异常中断(四)异常优先级异常类型1(最高)复位2数据中止3FIQ4IRQ5预取中止6未定义指令,SWIARM处理器对异常的处理(一)对异常的响应:将下一条指令的地址存入相应异常类型的连接寄存器LR_mode;将CPSR复制到相应异常类型的SPSR_mode中;设置CPSR的M[4:0],强制改变到相应的运行模式;禁止正常中断,如果异常类型为快速中断或复位,同时禁止快中断;强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。ARM处理器对异常的处理(二)异常返回从堆栈中恢复用户寄存器将SPSR_mode复制回CPSR中复制LR_mode->PC未定义异常的操作过程进入异常:R14_und=产生异常的下一条指令地址SPSR_und=CPSRCPSR[4:0]=0b11011/*进入未定义运行模式*/CPSR[5]=0/*进入ARM工作状态*/CPSR[7]=1/*禁止正常中断*/如果设置了高向量模式,则PC=0xFFFF0004 否则 PC=0x00000004退出异常:MOVSPCR14恢复PC(从R14_und)和CPSR(从SPSR_und),并返回到该未定义指令的下一条指令处ARM推荐的异常退出指令异常类型R14(ARM)R14(Thumb)返回指令BLPC+4PC+2MOVPC,R14SWIPC+4PC+2MOVSPC,R14UDEFPC+4PC+2MOVSPC,R14FIQPC+4PC+4SUBSPC,R14,#4IRQPC+4PC+4SUBSPC,R14,#4PABTPC+4PC+4SUBSPC,R14,#4DABTPC+8PC+8SUBSPC,R14,#8RESET---例:SWI中断的R14例如: 0x8000
mov...... 0x8004
add...... 0x8008
SWI...... 0x800C
mov...... 0x8010
add......当程序执行SWI异常时,PC指向0x8010,在跳转到异常向量的之前,ARM会把R14调整到0x800CARM数据类型字(Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位,请注意区分。半字(Half-Word):
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年供配电测控保护装置合作协议书
- 科技教育中的实验教学与商业思维培养
- 烟熏纸箱采购合同范本
- 资产证券化管理合同(2篇)
- 科技与文化的碰撞现代环艺设计的未来方向
- 科技创新能力在就业市场中的价值
- 科技赋能下教育内容与形式的创新探索
- 研究生学术研究与职业技能的平衡发展
- 科技公司内部汇报的特色与制作
- 电子商务平台的物流配送策略优化
- 2025年黑龙江农垦职业学院单招职业倾向性测试题库完整版
- 2025年02月黄石市残联专门协会公开招聘工作人员5人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 1.1 青春的邀约 课件 2024-2025学年七年级道德与法治下册
- 取水许可申请书范本
- 蚌埠介绍-蚌埠简介课件(经典版)
- GB/T 15561-2024数字指示轨道衡
- 探究烟花爆竹知识产权-洞察分析
- 网络保险风险评估-洞察分析
- 呼吸机湿化的护理
- 2024“五史”全文课件
- 医疗器械法律法规培训
评论
0/150
提交评论