1、ARM体系结构,目录,1 总体介绍2 ARM处理器的分类3 流水线(pipeline)4 模式(model)和寄存器5 异常和异常向量表6 存储组织7 AMBA总线,1 总体介绍,1.1 ARM公司和ARM处理器,1)ARM是一个CPU内核。ARM公司自己并不生产或销售芯片,它采用技术授权模式,通过出售芯片技术授权,收取授权费和技术转让费。2)基于ARM内核的处理器是目前消费类电子市场中占有量第一的处理器,尤其是手机行业。3)ARM是“Advanced RISC Machine”的缩写,最早的ARM处理器诞生于80年代的英国。,知识产权:产品、规划和路线图,CPUs从ARMv4T 到ARMv6
2、 结构体系ARM 系统级 IP 和设计方法AMBAReference methodologies软件 IPMedia engines - Move, Swerve 3D 先进技术 Java, security, multiprocessor软件开发工具RealView - 开发工具和平台,ARM PRODUCTE,ARM Partnership Model,何谓嵌入式产品,“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”,1.2 ARM处理器的使用量,ARM 2003,1.3 ARM处理器的特点,支持CACHE和MMU冯诺依曼体系结
3、构/哈佛体系结构RISC指令集固定的32位指令Load/Store体系结构大多数指令单周期完成流水线执行ThumbDSPjazeller功能扩展低功耗,支持CACHE和MMU (1),1、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。2、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。,MMU(Memory Management Unit)虚实地址变换内存地址访问保护,支持CACHE和MMU (2),指令寄存器,控制器,数据通道,输入,输出,中央处理器,存储器,程序,指令0,指令1,指令2,指令3,指令4,数据,数据
4、0,数据1,数据2,冯诺依曼体系结构模型 ARM7,1)数据与指令都存储在同一存储区中,取指令与取数据利用同一数据总线。2)被早期大多数计算机所采用3)ARM7冯诺依曼体系结构简单,但速度较慢。取指不能同时取数据,指令寄存器,控制器,数据通道,输入,输出,中央处理器,程序存储器,指令0,指令1,指令2,数据存储器,数据0,数据1,数据2,地址,指令,地址,数据,哈佛体系结构模型 ARM9 +,1)程序存储器与数据存储器分开.2)提供了较大的存储器带宽,各自有自己的总线。3)适合于数字信号处理.4)大多数DSP都是哈佛结构.5)ARM9是哈佛结构 取指和取数在同一周期进行,提高速度,,RIS C
5、和 C IS C是目前设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大,它们主要有: RISC是一种设计思想,其目的是设计出一套能在高时钟频率下但周期执行,简单而有效的指令集。降低硬件的复杂程度,提高对编译器的要求。,指令集,CISC复杂指令集(Complex Instruction Set Computer)具有大量的指令和寻址方式8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。CISC CPU 包含有丰富的单元电路,因而功
6、能强、面积大、功耗大。RISC:精简指令集(Reduced Instruction Set Computer)在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单 RISC CPU包含较少的单元电路,因而面积小、功耗低,RISC与CISC,CISCRISC,IF,ID,REG,ALU,MEM,开始,退出,IF,ID,ALU,MEM,REG,微操作通道,开始,退出,单通数据通道,寄存器,RISC指令集拥有更多的通用寄存器,每个可以存放数据和地址,寄存器为所有的数据操作提供快速的存储访问。CISC指令集 多用于特定目的的专用寄存器。,LOAD STORE 结构,
7、RISC结构 Cpu 仅处理寄存器中的数据,采用独立的、专用的LOAD STORE 指令来完成数据在寄存器和外存之间的传送。(访存费时,处理和存储分开,可以反复的使用保存在寄存器中的数据,而避免多次访问外存)。CISC结构 能直接处理存储器中的数据。,流水线操作,流水线技术:几个指令可以并行执行 提高了CPU的运行效率 内部信息流要求通畅流动,译码,取指,执行add,译码,取指,执行sub,译码,取指,执行cmp,时间,Add,Sub,Cmp,1.4 初始ARM 结构,ARM 体系结构的演变发展,1998,2000,2002,2004,time,version,V5TEV5TEJ,V6,199
8、4,1996,2006,V4V4T,ARM7TDMI,ARM926EJ,ARM1022E,XScaleTM,ARM1020,ARM1026EJ,ARM9E,ARM920T,ARM1136J(F),StrongARM,ARM720T,StrongARM, XScale是英特尔持的有商标,ARM 架构(Architecture),THUMBTM,DSP,JazelleTM,Media,不断创新以提升性能THUMBTM: 35% 代码压缩DSP 扩充: 定点 DSP 的高性能JazelleTM: Java 性能显著提高, 最高到8倍Media 扩充: 音频/视频性能显著提高, 最高到4倍向下兼容以保
9、护软件投入,Architecturev4Tv5TEv5TEJv6,特性集,1.5 命名的含义,ARM processors name,ARM 926EJ-S,Family number 7: ARM7 9: ARM910: ARM1011: 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:
10、DSP extension J: Jazelle extension T: Thumb support,目录,1 总体介绍2 ARM处理器的分类3 流水线(pipeline)4 模式(model)和寄存器5 异常和异常向量表6 存储组织7 AMBA总线,2 ARM处理器的分类,2 ARM处理器的分类,2.1 基于处理器内核的分类ARM7T,ARM7E,ARM9,ARM9E,ARM10T,ARM10E,ARM112.2 基于指令集体系结构的分类v4T,v5T,v5TE,v5TEJ,v6,有学员问:XScale是ARM几?,2.1 ARM Core(ARM核),处理器核/整数核(Processor
11、 Core/Integer Core):ARM7TDMI, ARM9TDMI, ARM9E-S, ARM10TDMI,ARM10E等。ARM CPU核(ARM CPU Cores):ARM710T/720T/740T, ARM920T/940T, ARM946E-S, ARM966E-S, ARM1020E等。基于ARM Core CPU的应用处理器,比如:Intel的PXA25x,Philip的lpc22xx系列, Samsung的S3C44B0等。,2.1.1 ARM7T和ARM7E Family,2.1.1 ARM7系列的升级,Embedded Trace Macrocell- ETM,
12、2.1.2 ARM9 Family,2.1.2 ARM9系列的升级,2.1.3 ARM9E Family,2.1.3 ARM9E系列的升级,ARM926EJ-S,ARM946E-S,ARM966E-S,2.1.4 ARM10E和ARM10T Family,2.1.5 ARM11 Family,2.1.6 StrongARM和XScale,SA-1110 (基于StrongARM)内核SA-116k I-Cache + 8k D-CacheI-MMU + D-MMUPXA25x/26x/27x IXP2400(基于XScale)内核XScale7/8级流水线32k I-Cache + 32k D
13、-CacheI-MMU + D-MMU,2.2 指令集体系结构(ISA),注:v5T支持的Thumb是对v4T中的Thumb的扩展,2.2 指令集体系结构,目录,1 总体介绍2 ARM处理器的分类3 流水线(pipeline)4 模式(model)和寄存器5 异常和异常向量表6 存储组织7 AMBA总线,3 流水线(pipeline),流水线方式是把一个重复的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行。由于这种工作方式与工厂中的生产流水线十分相似,因此,把它称为流水线工作方式。随着流水线的级数增加(深度),每一级的工作量减少这样处理器的工作在更高频率,同时也改善了性能。但同时增
14、加了延迟,因为在内核执行一条指令前,需要更多的周期来充填流水线。流水线的级数增加也意味着在某些数据段之间产生数据相关。,3.1 ARM7的流水线,指令流水线的目的是提高执行速度。PC指向的是预取指令,因此如果直接读取PC值,得到的是“当前指令地址+8”,指令流水线,指令流水线的目的是提高执行速度。PC指向的是预取指令,因此如果直接读取PC值,得到的是并不是当前正在执行的指令地址。CUP中的一条指令的执行可以分若干个阶段: 1.取指,从存储器中取出指令(fetch) 2.译码,指令译码(dec) 3.取操作数,假定操作数从寄存器组中取(reg) 4.执行运算(ALU) 5.存储器访问(mem)
15、6.结果写回寄存器(res)各个阶段的操作相对都是独立的。因此,可以采用流水线的重叠技术,可以大大提高系统的性能。,ARM7TDMI Processor Core,冯诺依曼 架构三级流水线快速中断响应性能指标: 0.9 Dhrystone MIPs/MHzEmbeddedICE-RT 调试逻辑No memory managementNo cacheCPI = 1.9,世界上使用最广泛的 32位嵌入式内核主要应用领域:个人音频设备手机和移动通信终端Modems, xDSL, Cable ModemsATM and Ethernet 网络设备,打印机数码相机PDA机顶盒,指令流水线,ARM7 内核
16、使用 3 级流水线,以提高指令流传递给处理器的速度使得某些操作达到并行处理的效果,比单纯的串行处理要好。PC 指向处于指令读取级的指令地址,而不是处于执行级的指令地址,FETCH,DECODE,EXECUTE,从存储器读取指令,译码,读寄存器移位和算术逻辑运算写寄存器,PCPC,PC - 4PC-2,PC - 8PC - 4,ARMThumb,优秀的流水线结构,本例中 6 个时钟周期内一共完成了 6 条指令全部对寄存器进行操作 (单周期执行)指令周期数 (CPI) = 1,Operation,Cycle,1 2 3 45 6,Fetch,Decode,Execute,Fetch,Decode,
17、Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Decode,Execute,Fetch,Decode,Fetch,Fetch,流水线执行举例:LDR,本例中 6 个时钟周期内一共完成了 4 条指令 指令周期数(CPI) = 1.5,Cycle,Operation,12 3 4 5 6,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Data,Writeback,Fetch,Decode,Execute,Fetch,Deco
18、de,Fetch,ARM9TDMI,5 级流水线性能改进提升 CPI 至 1.5提高时钟频率,ARM9TDMI 流水线,InstructionFetch,Shift + ALU,MemoryAccess,RegWrite,RegRead,RegDecode,FETCH,DECODE,EXECUTE,MEMORY,WRITE,ARM9TDMI,ARM or ThumbInst Decode,Reg Select,RegRead,Shift,ALU,RegWrite,ThumbARMdecompress,ARM decode,InstructionFetch,FETCH,DECODE,EXECUT
19、E,ARM7TDMI,Cycle,Operation,ADD R1, R1, R2,SUB R3, R4, R1,ORR R8, R3, R4,AND R6, R3, R1,EOR R3, R1, R2,1,2,3,4,5,6,7,8,LDRR4, R7,9,F,D,E,F,D,E,W,F,D,E,W,F,D,E,W,F,D,W,E,F,D,E,W,F - FetchD - DecodeE - ExecuteI - InterlockM - Memory W Write-back,I,LDR 内部周期,本例中 7 个时钟周期完成 6 条指令, CPI 等于 1.2Interlock: LDR
20、后面的指令马上要用到LDR 的结果寄存器,导致插入一个内部周期,W,I,M,3.2 更多级的流水线,ARM10采用了6级流水线,但是处于兼容考虑,直接读取PC值依然等于“当前指令地址+8”。,Xscale 流水线,Harvard 架构提升了有效的存储器带宽指令存储器接口数据存储器接口同时访问指令和数据存储器7级超级流水线XScale 超级流水线由主流水线、存储器流水线和MAC 流水线组成 性能改进提升 CPI 至 1.1提高时钟频率,Xscale 流水线,Main Execution Pipeline Handles data processing instructions F1/F2 Ins
21、truction Fetch ID Instruction DecodeRF Register File / Operand ShifterX1 ALU ExecuteX2 State Execute XWB Write-backMemory Pipeline Handles load/store instructions D1/D2 Data Cache AccessDWB Data cache writebackMAC Pipeline Handles all multiply instructionsM1-M5 Multiplier stagesMWB (not shown) MAC w
22、rite-back - may occur during M2-M5,3.3 指令预取和自修改代码,流水线使得CPU在执行当前指令的同时,从存储器中预取其后若干条指令。预取的指令不一定得到执行。比如发生跳转或中断。自修改代码指的是代码在执行过程中可能修改自身。被修改的指令可能和预取得指令不同,从而产生错误。,相邻指令执行的数据相关性会产生指令执行的停顿(stall),严重的会产生数据灾难(hazards)。如图所示,第2条指令的reg操作需要第1条指令执行的结果(res),因此,第2条指令在执行时,不得不产生停顿。,另外碰到分支类指令,那么,会使后面紧接该条指令的几条指令的执行都会无效,如图所
23、示。,值得注意: 1,执行分支指令或直接修改pc而发生跳转时,会使ARM内核清空流水线。 2,ARM 10 采用分支预测技术,通过预测可能的分支并在并在指令执行前装载新的分支地址指令,减少分支影响。 3,即使产生中断,一条处于“执行”阶段的指令也将先完成,流水线的其他指令会被放弃,而从向量表的适当入口开始填充流水线。,目录,1 总体介绍2 ARM处理器的分类3 流水线(pipeline)4 模式(model)和寄存器5 异常和异常向量表6 存储组织7 AMBA总线,4 模式和寄存器,4.1 模式分类,ARM 一共有 7 种执行模式:User: 非特权级模式,多数应用程序使用的模式FIQ: 进入
24、快速中断响应时IRQ: 进入一般中断响应时Supervisor: 复位后的缺省模式,或进入软件中断响应时Abort: 遇到存储器访问出错时Undef: 遇到未定义指令时System: 特权级的User模式,4.2 ARM处理器的寄存器,ARM 一共有 37个32位的寄存器1 个PC寄存器1 个CPSR(当前状态寄存器)5 个SPSR(状态保存寄存器)30 个通用寄存器当前的处理器模式决定了可以访问到的寄存器组. 以下是对所有 模式都有的寄存器一组特定的 r0-r12 寄存器一个特定的 r13 (堆栈指针, sp) 和 r14 (连接寄存器, lr)PC寄存器 r15当前状态寄存器 cpsr特权
25、模式(System 模式除外)独有的特定的 spsr (状态保留寄存器),4.2 ARM处理器的寄存器(续),寄存器组织,Register Organization Summary,Usermoder0-r7,r15,andcpsr,r8,r9,r10,r11,r12,r13 (sp),r14 (lr),spsr,FIQ,User,r13 (sp),r14 (lr),spsr,IRQ,Usermoder0-r12,r15,andcpsr,r13 (sp),r14 (lr),spsr,Undef,Usermoder0-r12,r15,andcpsr,r13 (sp),r14 (lr),spsr,
26、SVC,Usermoder0-r12,r15,andcpsr,r13 (sp),r14 (lr),spsr,Abort,Usermoder0-r12,r15,andcpsr,Thumb stateLow registers,Thumb stateHigh registers,Note: System mode uses the User mode register set,4.2 ARM处理器的寄存器(续),r0 r12:通用寄存器。当C和汇编互相调用时,r0 r3用来传递函数参数,可记为a0 a3r13:用于各工作态的堆栈寄存器 (sp)r14:用来保护程序返回地址的链接寄存器 (lr)r1
27、5:程序计数器(pc)r8_FIQ r12_FIQ:允许快速中断处理r8_User r12_User:除了FIQ外各模式公用除了User和System模式外,各种模式都有自己独立的r13和r14,4.3 状态寄存器,条件标识位N = 结果为负 Z = 结果为零C = 进位V = 溢出Q 标识位只在 5TE/J 系列中有效指示sticky overflow的发生J 标识位仅在 5TEJ 系列中有效J = 1: 处理器处于 Jazelle 状态,中断使能位I = 1: 禁止 IRQ.F = 1: 禁止 FIQ.T 标识位只在 xT 系列内核中有效T = 0: 处理器处于 ARM 状态T = 1:
28、处理器处于 Thumb 状态模式位指示当前处理器模式,27,31,N Z C V Q,28,6,7,I F T mode,16,23,8,15,5,4,0,24,f,s,x,c,U n d e f i n e d,J,4.3 CPSR/SPSR (续),当处理器处于 ARM 状态时:所有指令都是32位长度所有指令存储必须 word 对齐pc31:2 有效, 1:0 未定义当处理器处于 Thumb 状态时:所有指令都是16位长度所有指令存储必须 halfword 对齐pc31:1 位有效, 最低位未定义当处理器处于 Jazelle 状态时:所有指令都是 8 位长度处理器一次执行 1 个word的
29、读取指令获得 4 条Java指令注意在指令中访问PC寄存器的值不是当前指令地址,PC寄存器 (r15),目录,1 总体介绍2 ARM处理器的分类3 流水线(pipeline)4 模式(model)和寄存器5 异常和异常向量表6 存储组织7 AMBA总线,5异常和异常向量表,5.1 异常的产生,直接异常:软件中断,未定义指令(包括所要求的协处理器不存在时的协处理器命令)和预取指令间接异常:数据中止(在Load和Store数据访问时的存储器故障)外部异常:复位,IRQ和FIQ,异常在当前指令执行完成之后才被响应多个异常可以在同一时间产生 异常指定了优先级和固定的服务顺序:ResetData Abo
30、rtFIQIRQPrefetch AbortSWIUndefined instruction,5.2异常优先级,Reset 上电时执行 Undef 当流水线中的某个非法指令到达执行状态时执行 SWI 当一个软中断指令被执行完的时候执行 Prefetch 当一个指令被从内存中预取时,由于某种原因而失败,如果它能到达执行状态这个异常才会产生 Data 如果一个村取指令试图存取一个非法的内存单元,这时异常产生 IRQ 通常的中断 FIQ 快速中断,Vector Table,Vector table can be at 0xFFFF0000 on ARM720T and on ARM9/10 fami
31、ly devices,FIQ,IRQ,(Reserved),Data Abort,Prefetch Abort,Software Interrupt,Undefined Instruction,Reset,5.3异常处理,当异常产生时, ARM core:拷贝 CPSR 到 SPSR_设置适当的 CPSR 位: 改变处理器状态进入 ARM 状态改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断 保存返回地址到 LR_设置 PC 到相应的异常向量返回时, 异常处理需要:从 SPSR_恢复CPSR从LR_恢复PC 这些操作只能在 ARM 态执行.,异常处理,从SWI 和 Undef异常返回
32、MOVS pc,lr从FIQ, IRQ 和预取异常(Prefect Abort)返回SUBS pc,lr,#4从数据异常(Data Abort)返回SUBS pc,lr,#8如果 LR 之前被压栈的话使用LDM “” LDMFD sp!,pc,异常返回:使用一数据处理指令:相应的指令取决于什么样的异常带 S 位把 PC 作为目标寄存器在特权模式下,这些操作不仅更新PC,而且 拷贝SPSR 到 CPSR,5.4异常返回指令,汇编指令中的 和 S 标记可用于异常返回,恢复PC的同时恢复CPSR。S标记的例子见前述命令中的“movs”。如果使用堆栈返回,预先保存在栈中的返回地址要求以做好调整。在异常
33、返回时使用类似如下指令:“ldmfd r13!, (r0-r3,pc)”1)“”后缀不允许在usr和svc模式下使用。2)如果用在LDM指令中,且寄存器列表中含有PC时,那么除了正常的多寄存器传送外,将SPSR拷贝到CPSR中。这一特点用于异常处理返回。,ARM or Thumb?,Thumb / ARM 混合应用程序,ARM Code,ARM Code,ThumbCode,FIQ,IRQ,(Reserved),Data Abort,Prefetch Abort,Software Interrupt,Undefined Instruction,Reset,FIQ vs IRQ,FIQ 和 IR
34、Q 提供了非常基本的优先级级别。在下边两种情况下,FIQs有高于IRQs的优先级:当多个中断产生时,FIQ高于IRQ.处理 FIQ时禁止 IRQs.IRQs 将不会被响应直到 FIQ处理完成.FIQs 的设计使中断处理尽可能地快.FIQ 向量位于中断向量表的最末.为了使中断处理程序可从中断向量处连续执行FIQ 模式有5个额外的私有寄存器 (r8-r12)中断处理必须保护其使用的非私有寄存器可以有多个FIQ中断源,但是考虑到系统性能应避免嵌套。,目录,1 总体介绍2 ARM处理器的分类3 流水线(pipeline)4 模式(model)和寄存器5 异常和异常向量表6 存储组织7 AMBA总线,6
35、 ARM的存储组织,6.1 特点,ARM体系同时支持大尾端/小尾端。32位地址线/数据线,支持如下数据类型:字节(byte)8 bits半字(Half word)16 bits,半字必须对齐2字节边界字(Word)32 bits,字必须对齐4字节边界ARM的I/O空间采用统一编址方式。,ARM 可以通过配置支持两种endian,r0 = 0x11223344,STR r0, r1,LDRB r2, r1,r1 = 0x100,Memory,3 2 1 0,0 1 2 3,Byte Lane,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,
36、0,44,33,22,11,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,0,00,00,00,44,31,24,23,16,15,8,7,0,00,00,00,11,Little endian,Big endian,R2 = 0x44,R2 = 0x11,6.2 Endian Configuration/ 大尾和小尾,Little endian:,Big endian,6.3 非对齐的存储访问,非对齐的取指不可预知结果。ARM状态:忽略低2两位;Thumb状态:忽略最低位。忽略由存储器实现。非对齐的数据访问执行结果不可预知。忽略字单元
37、地址的最低两位;忽略半字单元地址的最低位。忽略可能由处理器或存储器完成。,目录,1 总体介绍2 ARM处理器的分类3 流水线(pipeline)4 模式(model)和寄存器5 异常和异常向量表6 存储组织7 AMBA总线,7 AMBA总线,7 AMBA总线,当ARM核作为一个元件集成到复杂的系统芯片上时,需要某种接口和其它元件进行通讯,这就是AMBA总线。ARM研发的AMBA(AdvancedMicrocontrollerBusArchitecture)提供一种特殊的机制,可将RISC处理器集成在其它IP芯核和外设中,2.0版AMBA标准定义了三组总线:AHB(AMBA高性能总线):用于高性
38、能、高数据吞吐部件,如CPU、DMA、DSP之间的互连 。ASB(AMBA系统总线):用来作处理器与外设之间的互连 ,将被AHB取代。APB(AMBA外设总线):为系统的低速外部设备提供低功耗的简易互连。 系统总线和外设总线之间的桥接器提供AHB/ASB部件与APB部件间的访问代理与缓冲。,AHB用来研发宽带宽处理器芯核的片上总线。应用于高性能、高时钟频率的系统模块,它构成了高性能的系统骨干总线(back-bonebus)。它主要支持的特性是:用于高性能、高数据吞吐部件,如CPU、DMA、DSP之间数据突发传输(bursttransfer)数据分割传输(splittransaction)流水线
39、方式一个周期内完成总线主设备(master)对总线控制权的交接单时钟沿操作内部无三态实现更宽的数据总线宽度(最低32位,最高可达1024位,但推荐不要超过256位),ASB(AMBA系统总线)是第一代AMBA系统总线,同AHB相比,它数据宽度要小一些,它支持的典型数据宽度为8位、16位、32位。它的主要特征如下:流水线方式数据突发传送多总线主设备内部有三态实现,APB(AMBA外设总线)是本地二级总线(localsecondarybus),通过桥和AHB/ASB相连。它主要是为了满足不需要高速流水线接口或不需要高带宽接口的设备的互连。APB的总线信号经改进后全和时钟上升沿相关,这种改进的主要优点如下:更易达到高频率的操作性能和时钟的占空比无关单时钟沿简化了更易与基于周期的仿真器集成APB只有一个APB桥,它将来自AHB/ASB的信号转换为合适的形式以满足挂在APB上的设备的要求。桥要负责锁存地址、数据以及控制信号,同时要进行二次译码以选择相应的APB设备。,Review:1 总体介绍2 ARM处理器的分类3 流水线(pipeline)4 模式(model)和寄存器5 异常和异常向量表6 存储组织7 AMBA总线,