资源描述
1第二章第二章 ARM体系结构及常用接口简介体系结构及常用接口简介ARMAdvanced RISC Machines 2 2qARMARM(Advanced Advanced RISC RISC MachinesMachines),既可以认为是一),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。还可以认为是一种技术的名字。ARM技术的应用领域及特点q19911991年年ARMARM公司成立于英国剑桥,主要出售芯片设计公司成立于英国剑桥,主要出售芯片设计技术的授权。技术的授权。精简指令集系统RISC(Reduced Instruction Set Computer)复杂指令集系统CISC(Complex Instruction Set Computer)ARM 公司的Chip less模式3 3q世界各大半导体生产商从世界各大半导体生产商从ARMARM公司购买其设计的公司购买其设计的ARMARM微处微处理器核,根据各自不同的应用领域,加入适当的外围电路,理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的从而形成自己的ARMARM微处理器芯片进入市场。微处理器芯片进入市场。ARM技术的应用领域及特点q基于基于ARMARM技术的微处理器应用约占据了技术的微处理器应用约占据了3232位位RISCRISC微处微处 理器理器7575以上的市场份额,以上的市场份额,ARMARM技术正在逐步渗入到我们生技术正在逐步渗入到我们生活的各个方面。活的各个方面。q我国的中兴集成电路、大唐电讯、中芯国际和上海华虹,我国的中兴集成电路、大唐电讯、中芯国际和上海华虹,以及国外的一些公司如德州仪器、意法半导体、以及国外的一些公司如德州仪器、意法半导体、PhilipsPhilips、IntelIntel、SamsungSamsung等都推出了自己设计的基于等都推出了自己设计的基于ARMARM核的处理器。核的处理器。ARM微处理器的特点低功耗、低成本、低功耗、低成本、高性能高性能4 4采用RISC指令集ARM技术的应用领域及特点使用大量的寄存器ARM/THUMB指令支持三/五级流水线ARM微处理器的特点采用采用RISCRISC体系结构体系结构5 5ARM技术的应用领域及特点q采用采用RISCRISC架构的架构的ARMARM处理器一般具有如下特点:处理器一般具有如下特点:固定长度的指令格式,指令归整、简单、固定长度的指令格式,指令归整、简单、基本寻址方式有基本寻址方式有2 23 3种;种;使用单周期指令,便于流水线操作执行;使用单周期指令,便于流水线操作执行;大量使用寄存器,数据处理指令只对寄存大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载器进行操作,只有加载/存储指令可以访问存存储指令可以访问存储器,以提高指令的执行效率。储器,以提高指令的执行效率。ARM微处理器的特点大量使用寄存器大量使用寄存器6 6ARM技术的应用领域及特点qARM ARM 处理器共有处理器共有3737个寄存器,被分为若干个组,个寄存器,被分为若干个组,这些寄存器包括:这些寄存器包括:3131个通用寄存器个通用寄存器,包括程序计数器(,包括程序计数器(PC PC 指针),均为指针),均为3232位的寄存器;位的寄存器;6 6个状态寄存器个状态寄存器,用以标识,用以标识CPUCPU的工作状态的工作状态及程序的运行状态,均为及程序的运行状态,均为3232位。位。ARM微处理器的特点高效的指令系统高效的指令系统7 7ARM技术的应用领域及特点qARMARM微处理器支持两种指令集:微处理器支持两种指令集:ARMARM指令集指令集和和ThumbThumb指令集指令集。qARMARM指令为指令为3232位的长度,位的长度,ThumbThumb指令为指令为1616位长度。位长度。ThumbThumb指令集为指令集为ARMARM指令集的功能子集,但与等价的指令集的功能子集,但与等价的ARMARM代码相比较,可节省代码相比较,可节省30304040以上的存储空以上的存储空间,同时具备间,同时具备3232位代码的所有优点。位代码的所有优点。ARM微处理器的特点其他技术其他技术8 8ARM技术的应用领域及特点q除此以外,除此以外,ARMARM体系结构还采用了一些特别的技术,在体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:保证高性能的前提下尽量缩小芯片的面积,并降低功耗:q所有的指令都可根据前面的执行结果决定是否被执行,所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。从而提高指令的执行效率。q可用加载可用加载/存储指令批量传输数据,以提高数据的传输存储指令批量传输数据,以提高数据的传输效率。效率。q可在一条数据处理指令中同时完成逻辑处理和移位处理。可在一条数据处理指令中同时完成逻辑处理和移位处理。q在循环处理中使用地址的自动增减来提高运行效率。在循环处理中使用地址的自动增减来提高运行效率。ARM微处理器系列 9 9ARM微处理器系列qARM7ARM7系列系列qARM9ARM9系列系列qARM9EARM9E系列系列qARM10EARM10E系列系列qSecurCoreSecurCore系列系列qIntelIntel的的XscaleXscaleq其中,其中,ARM7ARM7、ARM9ARM9、ARM9EARM9E和和ARM10ARM10为为4 4个通用处理器系个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。域的需求。SecurCoreSecurCore系列专门为安全要求较高的应用而设系列专门为安全要求较高的应用而设计。计。ARM处理器核心技术演进路线1010数据源:数据源:ARMARM,三星,三星,DIGITIMESDIGITIMES整理,整理,2009/92009/9ARMv5ARMv5指令集指令集ARM926EJ-SARM926EJ-SARM1026EJ-SARM1026EJ-SARMv6ARMv6指令集指令集ARM1136J(F)-SARM1136J(F)-SARM11 MPCore(14ARM11 MPCore(14核心核心)ARMv7-CortexARMv7-Cortex指令集指令集Cortex-A8Cortex-A8Cortex-A9 MPCoreCortex-A9 MPCore(14(14核心核心)400MHz400MHz600MHz600MHz800MHz800MHz200MHz200MHz2005200520062006200720072008200820092009130nm130nm制程制程90nm90nm制程制程65nm65nm制程制程45nm45nm制程制程1GHz1GHzARM9微处理器系列 1111ARM微处理器系列qARM9ARM9系列微处理器在高性能和低功耗特性方面提供最佳系列微处理器在高性能和低功耗特性方面提供最佳的表现。具有以下特点:的表现。具有以下特点:5 5级整数流水线,指令执行效率更高。级整数流水线,指令执行效率更高。提供提供1.1MIPS/MHz1.1MIPS/MHz的哈佛结构。的哈佛结构。支持支持3232位位ARMARM指令集和指令集和1616位位ThumbThumb指令集。指令集。支持支持3232位的高速位的高速AMBAAMBA总线接口。总线接口。全性能的全性能的MMUMMU,支持,支持Windows CEWindows CE、LinuxLinux、Palm OSPalm OS等等多种主流嵌入式操作系统。多种主流嵌入式操作系统。MPUMPU支持实时操作系统。支持实时操作系统。支持数据支持数据CacheCache和指令和指令CacheCache,具有更高的指令和数,具有更高的指令和数据处理能力。据处理能力。ARM9微处理器系列1212qARM9ARM9系列微处理器主要应用于无线设备、仪器系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。相机和数字摄像机等。ARM微处理器系列qARM9ARM9系列微处理器包含系列微处理器包含ARM920TARM920T、ARM922TARM922T和和ARM940TARM940T三种类型,以适用于不同的应用场合。三种类型,以适用于不同的应用场合。ARM920T系统结构分析1313ARM9TDMIARM9TDMI采用采用5 5级流水线,具有分开的指令和数据存级流水线,具有分开的指令和数据存储器:储器:(1 1)取指取指:从存储器中取出指令,并将其放入指令:从存储器中取出指令,并将其放入指令流水线。流水线。(2 2)译码译码:对指令进行译码。:对指令进行译码。(3 3)执行执行:把一个操作数移位,产生:把一个操作数移位,产生ALUALU的结果。的结果。(4 4)缓冲缓冲/数据数据:如果需要,则访问数据存储器;:如果需要,则访问数据存储器;否则否则ALUALU的结果只是简单地缓冲的结果只是简单地缓冲1 1个时钟周期,以便所个时钟周期,以便所有的指令具有同样的流水线流程。有的指令具有同样的流水线流程。(5 5)回写回写:将指令产生的结果回写到寄存器,包括:将指令产生的结果回写到寄存器,包括任何从存储器中读取的数据。任何从存储器中读取的数据。ARM920T系统结构分析1414ARM9TDMIARM9TDMI处理器一个显著的特点是采用指令和数处理器一个显著的特点是采用指令和数据分离访问的方式,即采用了指令缓存(据分离访问的方式,即采用了指令缓存(I-CacheI-Cache)和数据缓存(和数据缓存(D-CacheD-Cache)。这样可以把指令访问和数)。这样可以把指令访问和数据访问单独安排据访问单独安排1 1级流水线。级流水线。InstructionInstructionFetchFetch Shift+ALU Shift+ALUMemoryMemoryAccessAccessRegRegWriteWriteRegRegReadReadRegRegDecodeDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM9TDMIARM or ThumbARM or ThumbInst DecodeInst DecodeReg SelectReg SelectRegRegReadReadShiftShiftALUALURegRegWriteWriteThumbThumb ARMARMdecompressdecompressARM decodeARM decodeInstructionInstructionFetchFetchFETCHDECODEEXECUTEARM7TDMIARM7TDMI嵌入式微处理器每个嵌入式系统至少包含一个嵌入式微处理每个嵌入式系统至少包含一个嵌入式微处理器器 嵌入式微处理器体系结构可采用冯嵌入式微处理器体系结构可采用冯 诺依曼诺依曼(Von NeumannVon Neumann)结构或哈佛()结构或哈佛(HarvardHarvard)1515地址地址数据数据主存储器主存储器MOV r8,#8MOV r8,#8CPUCPUPCPC指令指令程序存储器程序存储器CPUCPUPCPC地址地址数据存储器数据存储器MOV r8,#8MOV r8,#8地址地址数据数据冯冯 诺依曼结构诺依曼结构哈佛结构哈佛结构ARM微处理器的工作状态 1616ARM微处理器的工作状态q从编程的角度看,从编程的角度看,ARMARM微处理器的工作状态一般微处理器的工作状态一般有两种,并可在两种状态之间切换:有两种,并可在两种状态之间切换:ARMARM状态状态,此时处理器执行,此时处理器执行3232位的字对齐的位的字对齐的ARMARM指令;指令;ThumbThumb状态状态,此时处理器执行,此时处理器执行1616位的、半字位的、半字对齐的对齐的ThumbThumb指令。指令。q在开始执行代码时,应该处于在开始执行代码时,应该处于ARMARM状态。状态。ARM微处理器:处理器工作状态进入进入ThumbThumb状态:状态:执行执行BXBX指令,并设置操作数寄存器的状态(位指令,并设置操作数寄存器的状态(位00)为为1 1。在在ThumbThumb状态进入异常状态进入异常(IRQ,FIQ,UNDEF,ABORT,SWI(IRQ,FIQ,UNDEF,ABORT,SWI etc.)etc.),当异常处理返回时自动转换到,当异常处理返回时自动转换到ThumbThumb状态状态进入进入ARMARM状态:状态:执行执行BXBX指令,并设置操作数寄存器的状态(位指令,并设置操作数寄存器的状态(位00)为为0 0。进入异常时,将进入异常时,将PCPC放入异常模式链接寄存器中,从异放入异常模式链接寄存器中,从异常向量地址开始执行也可进入常向量地址开始执行也可进入ARMARM状态状态ARM微处理器:处理器工作状态Thumb-2:增加了混合模式能力定义了一个新的定义了一个新的32-bit32-bit指令集能在传统指令集能在传统的的16-bit16-bit指令运行的指令运行的ThumbThumb状态下同时运状态下同时运行。行。这样能在一个系统中更好地平衡这样能在一个系统中更好地平衡ARMARM和和ThumbThumb代码的能力,使系统能更好地利用代码的能力,使系统能更好地利用ARMARM级别的性能和级别的性能和ThumbThumb代码的密度的优代码的密度的优势势 ARM与THUMB1919qTHUMBTHUMB指令是指令是ARMARM指令的子集指令的子集ARM微处理器的工作状态q可以相互调用,只要遵循一定的调用规则可以相互调用,只要遵循一定的调用规则qThumbThumb指令与指令与ARMARM指令的时间效率和空间效率关系为指令的时间效率和空间效率关系为:存储空间约为存储空间约为ARMARM代码的代码的60607070指令数比指令数比ARMARM代码多约代码多约30304040存储器为存储器为3232位时位时ARMARM代码比代码比ThumbThumb代码快约代码快约4040存储器为存储器为1616位时位时ThumbThumb比比ARMARM代码快约代码快约40405050使用使用ThumbThumb代码,存储器的功耗会降低约代码,存储器的功耗会降低约3030处理器模式2020ARM微处理器的工作模式qUsrUsr(用户):(用户):ARMARM处理器正常的程序执行状态处理器正常的程序执行状态qFiqFiq(快速中断):(快速中断):用于高速数据传输或通道处理用于高速数据传输或通道处理qIrqIrq(中断):(中断):用于通用的中断处理用于通用的中断处理qSvcSvc(管理):(管理):操作系统使用的保护模式操作系统使用的保护模式qAbtAbt(中止):(中止):用于虚拟存储及存储保护用于虚拟存储及存储保护qSysSys(系统):(系统):运行具有特权的操作系统任务运行具有特权的操作系统任务qUndUnd(未定义):(未定义):当出现未定义指令终止时进入该模式当出现未定义指令终止时进入该模式ARM微处理器的存储器格式 2121qARMARM体系结构所支持的最大寻址空间为体系结构所支持的最大寻址空间为4GB4GB(2 23232字节)字节)ARM微处理器的存储器格式qARMARM体系结构将存储器看作是从零地址开始的字体系结构将存储器看作是从零地址开始的字节的线性组合。节的线性组合。从零字节到三字节放置第一个从零字节到三字节放置第一个存储的字数据,从第四个字节到第七个字节放存储的字数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列。置第二个存储的字数据,依次排列。qARMARM体系结构可以用两种方法存储字数据,称之体系结构可以用两种方法存储字数据,称之为为大端格式大端格式和和小端格式小端格式 ARM体系结构的存储器格式大端格式 2222ARM微处理器的存储器格式q在这种格式中,字数据的高字节存储在低地址在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中中,而字数据的低字节则存放在高地址中ARM体系结构的存储器格式小端格式 2323ARM微处理器的存储器格式q与大端存储格式相反,在小端存储格式中,低地与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是址中存放的是字数据的低字节,高地址存放的是字数据的高字节字数据的高字节ARM微处理器:内存和I/O大端的数据存放格式大端的数据存放格式低地址低地址高地址高地址地址地址A A地址地址A+1A+1地址地址A+2A+2地址地址A+3A+3最高有效字节的最高有效字节的地址就是该地址就是该wordword的地址的地址最高有效字最高有效字节位于最低节位于最低地址地址word a=0 x word a=0 x f6f6 7373 4b4b cdcdf6f673734b4bcdcdARM微处理器:内存和I/O小端的数据格式小端的数据格式 低地址低地址高地址高地址地址地址A A地址地址A+1A+1地址地址A+2A+2地址地址A+3A+3最低有效字节的最低有效字节的地址就是该地址就是该wordword的地址的地址最低有效字最低有效字节位于最低节位于最低地址地址word a=0 x word a=0 x f6f6 7373 4b4b cdcdf6f673734b4bcdcd寄存器组织 ARMARM微处理器共有微处理器共有3737个个3232位寄存器位寄存器,其中,其中3131个个为通用寄存器,为通用寄存器,6 6个为状态寄存器个为状态寄存器。但是这些。但是这些寄存器不能被同时访问。但在任何时候,通寄存器不能被同时访问。但在任何时候,通用寄存器用寄存器R14R14R0R0、程序计数器、程序计数器PCPC、一个或两、一个或两个状态寄存器都是可访问的。个状态寄存器都是可访问的。2626ARM微处理器的寄存器格式ARMARM体系结构所支持的异常类型体系结构所支持的异常类型 2727异常类型异常类型具体含义具体含义复位复位复位电平有效时,产生复位异常,程序跳转到复复位电平有效时,产生复位异常,程序跳转到复位处理程序处执行。位处理程序处执行。未定义指令未定义指令遇到不能处理的指令时,产生未定义指令异常。遇到不能处理的指令时,产生未定义指令异常。软件中断软件中断执行执行SWI指令产生,用于用户模式下的程序调用指令产生,用于用户模式下的程序调用特权操作指令。特权操作指令。指令预取中指令预取中止止处理器预取指令的地址不存在,或该地址不允许处理器预取指令的地址不存在,或该地址不允许当前指令访问,产生指令预取中止异常。当前指令访问,产生指令预取中止异常。数据中止数据中止处理器数据访问指令的地址不存在,或该地址不处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。允许当前指令访问时,产生数据中止异常。IRQ外部中断请求有效,且外部中断请求有效,且CPSR中的中的I位为位为0时,产时,产生生IRQ异常。异常。FIQ快速中断请求引脚有效,且快速中断请求引脚有效,且CPSR中的中的F位为位为0时,时,产生产生FIQ异常。异常。ARM异常处理异常向量表(Exception Vectors)2828地地 址址异异 常常进入模式进入模式0 x0000,00000 x0000,0000复位复位管理模式管理模式0 x0000,00040 x0000,0004未定义指令未定义指令未定义模式未定义模式0 x0000,00080 x0000,0008软件中断软件中断管理模式管理模式0 x0000,000C0 x0000,000C中止(预取指令)中止(预取指令)中止模式中止模式0 x0000,00100 x0000,0010中止(数据)中止(数据)中止模式中止模式0 x0000,00140 x0000,0014保留保留保留保留0 x0000,00180 x0000,0018IRQIRQIRQIRQ0 x0000,001C0 x0000,001CFIQFIQFIQFIQARM异常处理异常优先级(Exception Priorities)2929优先级优先级异异 常常1 1(最高)(最高)复位复位2 2数据中止数据中止3 3FIQFIQ4 4IRQIRQ5 5预取指令中止预取指令中止6 6(最低)(最低)未定义指令、未定义指令、SWISWIARM异常处理应用程序中的异常处理 当系统运行时,异常可能会随时发生,要进行异常当系统运行时,异常可能会随时发生,要进行异常处理,采用的方式是处理,采用的方式是在异常向量表中的特定位置放在异常向量表中的特定位置放置一条跳转指令,跳转到异常处理程序置一条跳转指令,跳转到异常处理程序,当,当ARMARM处处理器发生异常时,程序计数器理器发生异常时,程序计数器PCPC会被强制设置为对会被强制设置为对应的异常向量,从而跳转到异常处理程序,当异常应的异常向量,从而跳转到异常处理程序,当异常处理完成以后,返回到主程序继续执行。处理完成以后,返回到主程序继续执行。我们需要处理所有的异常,尽管我们可以简单的在我们需要处理所有的异常,尽管我们可以简单的在某些异常处理程序处放置死循环。某些异常处理程序处放置死循环。3030ARM异常处理ARM微处理器:内存和I/O数据信息数据信息状态信息状态信息控制信息控制信息数字量数字量模拟量模拟量开关量开关量连续几位二进制形式表示的数或字符。连续几位二进制形式表示的数或字符。如键盘输入的信息以及打印机、显示如键盘输入的信息以及打印机、显示器输出的信息等器输出的信息等时间上连续变化的量,如温度、压力、时间上连续变化的量,如温度、压力、流量等流量等只有两个状态的量,如阀门的合与断、只有两个状态的量,如阀门的合与断、电路的开与关等电路的开与关等CPUCPU与与I/OI/O设备之间设备之间的接口信的接口信息息反映外设当反映外设当前工作状态前工作状态的信息的信息READYREADY信号:输入设备是否准备好信号:输入设备是否准备好BUSYBUSY信号:输出设备是否忙信号:输出设备是否忙CPUCPU向外部设向外部设备发送的控备发送的控制命令信息制命令信息读写控制信号读写控制信号时序控制信号时序控制信号中断信号中断信号片选信号片选信号其它操作信号其它操作信号数据、状态、控制信息都是数据、状态、控制信息都是通过通过CPUCPU的数据总线传送,的数据总线传送,存在存在I/OI/O接口的不同端口中:接口的不同端口中:数据、状态、控制端口数据、状态、控制端口ARM微处理器:内存和I/OI/OI/O端口的编址方法,即端口的编址方法,即I/OI/O端口的地址安排方式端口的地址安排方式存储器映射编址存储器映射编址I/OI/O映射编址映射编址I/OI/O端口的地址与内存地址统端口的地址与内存地址统一编址,即一编址,即I/OI/O单元与内存单单元与内存单元在同一地址空间元在同一地址空间I/OI/O端口与内存单元分开编址,端口与内存单元分开编址,即即I/OI/O单元与内存单元都有自单元与内存单元都有自己独立的地址空间己独立的地址空间ARM微处理器:内存和I/O存储器映射编址存储器映射编址I/OI/O映射方式映射方式优点优点可采用丰富的内存操作指可采用丰富的内存操作指令访问令访问I/OI/O单元单元无需单独的无需单独的I/OI/O地址译码电地址译码电路路无需专用的无需专用的I/OI/O指令指令I/OI/O单元不占用内存空间单元不占用内存空间I/OI/O程序易读程序易读缺点缺点外设占用内存空间外设占用内存空间I/OI/O程序不易读程序不易读I/OI/O操作指令仅有单一的操作指令仅有单一的传送指令传送指令,I/O,I/O接口需有接口需有地址译码电路地址译码电路举例举例ARMARM中,中,I/OI/O端口与内存单端口与内存单元统一编址元统一编址Intel 80X86Intel 80X86系列,系列,I/OI/O端口与内存单元分开编端口与内存单元分开编址,址,I/OI/O端口有自己独立端口有自己独立的地址空间,其大小为的地址空间,其大小为64KB64KBARM微处理器:内存和I/OARM 的I/O端口都是内存映射的方式,即对I/O端口的访问与内存的访问的方式完全一样。通常将I/O所映射的存储系统标识为非高速缓存(uncachable)和非缓冲(unbufferable)。嵌入式系统总线概述概述AMBAAMBA总线总线PCIPCI总线总线CPCICPCI总线总线串行总线串行总线概述总线是总线是CPUCPU与与存储器存储器和和设备设备通信的机制,是计通信的机制,是计算机各部件之间传送数据、地址和控制信息的算机各部件之间传送数据、地址和控制信息的公共通道公共通道。片内总线或内部总线:连接片内总线或内部总线:连接CPUCPU内部各主要功能部件内部各主要功能部件片外总线:片外总线:CPUCPU与存储器(与存储器(RAMRAM和和ROMROM)和和I/OI/O接口之间进行信息交换的通道接口之间进行信息交换的通道数据总线数据总线DbusDbus地址总线地址总线AbusAbus控制总线控制总线CbusCbus总总线线分分类类概述总线宽度总线宽度总线频率总线频率总线带宽总线带宽总线带宽总线带宽(单位单位:MB/s):MB/s)=(总线宽度(总线宽度/8/8)总线频率总线频率如:总线宽度如:总线宽度3232位,频率位,频率66MHZ66MHZ,则,则总线带宽总线带宽=(32/832/8)*66MHz=264MB/s66MHz=264MB/s总总线线的的主主要要参参数数又称总线位宽,指的是总线能同时又称总线位宽,指的是总线能同时传送数据的位数。如传送数据的位数。如1616位总线就是位总线就是具有具有1616位数据传送能力。位数据传送能力。总线工作速度的一个重要参数,总线工作速度的一个重要参数,工作频率越高,速度越快。工作频率越高,速度越快。通常用通常用MHzMHz表示。表示。又称总线的数据传送率,是指在一又称总线的数据传送率,是指在一定时间内总线上可传送的数据总量,定时间内总线上可传送的数据总量,用每秒最大传送数据量来衡量。用每秒最大传送数据量来衡量。总线带宽越宽,传输率越高。总线带宽越宽,传输率越高。概 述原因:数据宽度:高速总线通常提供较宽的数据连接。数据宽度:高速总线通常提供较宽的数据连接。成本:高速总线通常采用更昂贵的电路和连接器。成本:高速总线通常采用更昂贵的电路和连接器。桥桥允允许许总总线线独独立立操操作作,这这样样在在I/OI/O操操作作中中可可提提供供某某些些并并行性。行性。一个微处理器系统可能含有多条总线一个微处理器系统可能含有多条总线高速总线高速总线低速总线低速总线高速设备高速设备低速设备低速设备桥桥总线互联的电路总线互联的电路THANK YOUSUCCESS2024/2/28 周三周三39可编辑可编辑4040存储器存储器高速设备高速设备CPU CPU 低速设备低速设备低速设备低速设备桥桥高速总线高速总线低速总线低速总线多总线系统多总线系统41414242Processor-local busProcessor-local busMicro-Micro-processorprocessorCacheCacheMemoryMemorycontrollercontrollerDMADMAcontrollercontrollerBridgeBridgePeripheralPeripheralPeripheralPeripheralPeripheralPeripheralPeripheral busPeripheral bus嵌入式系统总线嵌入式系统总线AMBA总线AMBA(Advanced Microcontroller Bus Architecture)是ARM公司研发的一种总线规范,目前为3.0 版本。4343AMBA总线在在AMBAAMBA总线规范中,定义了总线规范中,定义了3 3种总线种总线:AHBAHB(Advanced High-performance Bus)(Advanced High-performance Bus):用于高:用于高性能系统模块的连接,支持突发模式数据传输和性能系统模块的连接,支持突发模式数据传输和事务分割;可以有效地连接处理器、片上和片外事务分割;可以有效地连接处理器、片上和片外存储器,支持流水线操作。存储器,支持流水线操作。ASBASB(Advanced System BusAdvanced System Bus):也用于高性能系):也用于高性能系统模块的连接,统模块的连接,由由AHBAHB总线替代总线替代;APBAPB(Advanced Peripheral BusAdvanced Peripheral Bus):用于较低性):用于较低性能外设的简单连接,一般是接在能外设的简单连接,一般是接在AHBAHB或或ASBASB系统总系统总线上的第二级总线。线上的第二级总线。44444545外部总线外部总线APBAPB系统总线系统总线AHBAHB测试接测试接口口ARMARMCPUCPUSDRAMSDRAMControlControlSRAMSRAMLCDLCDControlControl桥桥并行接并行接口口串行串行接口接口TimerTimerUARTUART基于基于AMBAAMBA总线的典型系统总线的典型系统AMBA总线-AHB只有主单元可在任何时刻使用总线。AHB可以有一个或多个主单元。主单元可以是RISC处理器、协处理器以及DMA控制器,以启动和控制总线操作。AHBAHB总线总线主单元主单元从单元从单元仲裁器仲裁器译码器译码器可以响应(并非启动)读或可以响应(并非启动)读或写总线操作。写总线操作。总线的从单元可以在给定的总线的从单元可以在给定的地址范围内对读写操作进行地址范围内对读写操作进行相应的反应。相应的反应。从单元向主单元发出成功、从单元向主单元发出成功、失败信号或等待各种反馈信失败信号或等待各种反馈信号。号。从单元通常是其复杂程度不从单元通常是其复杂程度不足以成为主单元的固定功能足以成为主单元的固定功能块,例如外存接口、总线桥块,例如外存接口、总线桥接口以及任何内存都可以是接口以及任何内存都可以是从单元,系统的其他外设也从单元,系统的其他外设也包含在包含在AHBAHB的从单元中。的从单元中。用来确定控制总线是哪个主用来确定控制总线是哪个主单元,以保证在任何时候只单元,以保证在任何时候只有一个主单元可以启动数据有一个主单元可以启动数据传输。传输。一般来说仲裁协议都是固定一般来说仲裁协议都是固定好的,例如最高优先级方法好的,例如最高优先级方法或平等方法,可根据实际的或平等方法,可根据实际的情况选择适当的仲裁协议。情况选择适当的仲裁协议。总线译码器用于传输译码工总线译码器用于传输译码工作,提供传输过程中从单元作,提供传输过程中从单元的片选信号。的片选信号。AMBA总线-AHB一个典型的一个典型的AHBAHB总线工作过程,它包括以下两个阶总线工作过程,它包括以下两个阶段:段:地址传送阶段地址传送阶段(address phase)(address phase):它将只持续一:它将只持续一个时钟周期。在个时钟周期。在HCLKHCLK的上升沿数据有效。所有的上升沿数据有效。所有的从单元都在这个上升沿来采样地址信息。的从单元都在这个上升沿来采样地址信息。数据传送阶段(数据传送阶段(data phasedata phase):):它需要一个或它需要一个或几个时钟周期。可以通过几个时钟周期。可以通过HREADYHREADY信号来延长数信号来延长数据传输时间,当据传输时间,当HREADYHREADY信号为低电平时,就在信号为低电平时,就在数据传输中加入等待周期,直到数据传输中加入等待周期,直到HREADYHREADY信号为信号为高电平才表示这次传输阶段结束。高电平才表示这次传输阶段结束。AMBA总线-AHBData(A)HADDR31:0HWDATA31:0Address phaseData phaseControlAControlData(A)HCLKHREADYAHB总线工作过程总线工作过程HRDATA31:0ISA IBM IBM 公司于公司于1981 1981 年推出的基于年推出的基于8 8 位机位机PC/XT PC/XT 的的总线,称为总线,称为PC PC 总线总线 为了能够合理地开发外插接口卡,由为了能够合理地开发外插接口卡,由Intel Intel 公司,公司,IEEE IEEE 和和EISA EISA 集团联合开发了与集团联合开发了与IBM/AT IBM/AT 原装机原装机总线意义相近的总线意义相近的ISA ISA 总线总线 ISA ISA 总线有总线有98 98 只引脚。其中只引脚。其中62 62 线的一段基于线的一段基于8 8 位的位的PC PC 总线,可以独立使用,连接总线,可以独立使用,连接8 8位的扩展卡,位的扩展卡,而而62 62 线与线与36 36 线相加后就扩展成标准的线相加后就扩展成标准的16 16 位位ISAISA,连接,连接16 16 位的扩展卡位的扩展卡4949 PCI 1991 1991 年下半年,年下半年,Intel Intel 公司首先提出了公司首先提出了PCI PCI 的概念,并联合的概念,并联合IBMIBM、CompaqCompaq、ASTAST、HPHP、DEC DEC 等等100 100 多家公司成立了多家公司成立了PCI PCI 集团,其英集团,其英文全称为:文全称为:Peripheral Component Peripheral Component Interconnect Special Interest Group(Interconnect Special Interest Group(外外围部件互连专业组围部件互连专业组),简称,简称PCISIGPCISIG。32 32 位位PCI PCI 的数据传输率为的数据传输率为133MB133MBs s,大大,大大高于高于ISAISA。5050PCI总线:特点PCIPCI总线是地址、数据多路复用的高性能总线是地址、数据多路复用的高性能3232位和位和6464位总线。位总线。2.12.1版本定义了版本定义了6464位总线扩展和位总线扩展和66MHz66MHz总线总线时钟的技术规范。时钟的技术规范。从从数据宽度数据宽度上看,上看,PCI PCI 总线有总线有32bit32bit 、64bit64bit 之分之分从从总线速度总线速度上分,有上分,有33MHz33MHz、66MHz66MHz 两种两种PCI总线:特点与与ISA ISA 总线不同,总线不同,PCI PCI 总线的地址总线与总线的地址总线与数据总线是分时复用的,支持即插即用数据总线是分时复用的,支持即插即用(Plug and Play)(Plug and Play)、中断共享等功能。、中断共享等功能。分时复用的好处是一方面可以节省接插件分时复用的好处是一方面可以节省接插件的管脚数,另一方面便于实现突发数据传的管脚数,另一方面便于实现突发数据传输。输。PCI总线:特点数据传输时,由一个数据传输时,由一个PCI PCI 设备做发起者设备做发起者(主主控、控、InitiatorInitiator或或Master)Master),而另一个,而另一个PCI PCI 设备做目标设备做目标(从设备、从设备、Target Target 或或Slave)Slave)。总线上所有时序的产生与控制都由总线上所有时序的产生与控制都由MasterMaster来发起。来发起。PCI PCI 总线在同一时刻只能供一对设备完成总线在同一时刻只能供一对设备完成传输,这就要求有一个仲裁机构,来决定传输,这就要求有一个仲裁机构,来决定谁有权拿到总线的主控权。谁有权拿到总线的主控权。PCI总线:信号
展开阅读全文