《嵌入式系统基础教程》第08讲-第4章ARM片上总线和ARM课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《嵌入式系统基础教程》第08讲-第4章ARM片上总线和ARM课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统基础教程 嵌入式 系统 基础教程 08 ARM 总线 课件
- 资源描述:
-
1、嵌入式系统原理与开发嵌入式系统原理与开发第第8讲讲南京大学计算机系 俞建新主讲2008年春季2008年6月28日南京大学计算机系2第第4章章ARM体系结构体系结构l本章主要介绍以下内容:lARM体系结构版本lARM处理器系列lARM流水线lARM工作模式和工作状态lARM寄存器组织lARM存储器组织lARM的异常中断lAMBA和ARM7TDMI2008年6月28日南京大学计算机系34.8 AMBA和和ARM7TDMIl介绍以下内容lARM处理器的片上总线AMBAl典型的ARM处理器核ARM7TDMI2008年6月28日南京大学计算机系44.1 ARM片上总线片上总线-AMBAlARM公司为单个
2、或者多个ARM处理器芯核提供的独立总线规格说明。l英文全称是:lAdvanced Microcontroller Bus Architecturel目前版本是3.0版l2.0版AMBA标准定义了三组总线:lAHB(AMBA高性能总线)lASB(AMBA系统总线)lAPB(AMBA外设总线)2008年6月28日南京大学计算机系5AHB、ASB和和APBlAMBA规范定义了3种总线:lAHB(Advanced High-performance Bus)l用于连接高性能系统模块。它支持突发(burst)数据传送方式及单个数据传送方式,所有时序都以单一时钟的沿为基准。lASB(Advanced Sys
3、tem Bus)l用于连接高性能系统模块,它支持突发数据传送模式。lAPB(Advance Peripheral Bus)l为低性能的外围部件提供较简单的接口。2008年6月28日南京大学计算机系6典型的基于典型的基于AMBA的的SOC系统系统l一个典型的基于AMBA的微控制器将使用AHB或ASB总线,再加上APB总线,如右图所示。lASB总线是旧版的系统总线;而AHB则较晚推出,以增强对更高性能、综合及时序验证的支持。2008年6月28日南京大学计算机系74.2 ARM7TDMI核核lARM7TDMI是世界上广泛使用的32位嵌入式RISC处理器,它是目前用于低端的ARM处理器核,且应用范围很
4、广。lARM7TDMI 的名称含义如下:lARM7:ARM6 32位整型核的3V兼容版本;lT:16位压缩指令集Thumb;lD:在片调试(debug)支持,允许处理器响应调试请求暂停;lM:64位增强型乘法器(multiplier),与以前处理器相比性能更高,产生全64位结果;lI:嵌入式ICE硬件提供片上断点和调试点支持。2008年6月28日南京大学计算机系84.2.1 ARM7TDMI介绍介绍lARM7TDMI处理器是ARM7处理器系列成员之一,是目前应用很广的32位高性能嵌入式RISC处理器。l本节介绍ARM7TDMI的以下4个内容l基本特点l框图、内核和功能图l体系结构l存储器接口2
5、008年6月28日南京大学计算机系9ARM7TDMI基本特点基本特点lARM7TDMI基本特点包含以下内容:l指令流水线l存储器访问l存储器接口l嵌入式ICE-RT逻辑2008年6月28日南京大学计算机系10指令流水线指令流水线lARM7TDMI使用流水线以提高处理器指令的流动速度。流水线允许几个操作同时进行,以及处理和存储系统连续操作。lARM7TDMI使用3级流水线,因此,指令的执行分3个阶段:取指、译码和执行。l正常操作流水:l在执行当前一条指令的同时,后续的一条指令被译码,后续的第二条指令从存储器中被取出。2008年6月28日南京大学计算机系11指令流水线的功能段划分指令流水线的功能段
6、划分从存储器取指令指令所用的寄存器译码从寄存器组中读寄存器,执行移位和ALU操作,将寄存器写回到寄存器组执行译码取指PC-8PC-4PC2008年6月28日南京大学计算机系12ARM7的的3级流水线示意图级流水线示意图取指取指译码执行ARMThumbPC+8PC+4PC+4PC+2PCPC取指译码译码执行取指译码执行执行取指译码执行取指译码执行T1T2T3T4T5当前执行指令的所在地址2008年6月28日南京大学计算机系13存储器访问特点存储器访问特点lARM7TDMI核是冯诺依曼(Von Neumann)体系结构,使用单一32位数据总线传送指令和数据。只有加载、存储和交换指令可以访问存储器中
7、的数据。l数据可以是:8位(字节)、16位(半字)和32位(字)。l字必须是4字节边界对准,半字必须是2字节边界对准。2008年6月28日南京大学计算机系14存储器接口特点存储器接口特点lARM7TDMI存储器接口特点如下:l速度相关控制信号流水作业l方便片内和片外快速突发(burst)访问模式2008年6月28日南京大学计算机系154种存储周期种存储周期l空闲周期(I)l非顺序周期(N)l顺序周期(S)l协处理器寄存器传送周期(C)2008年6月28日南京大学计算机系16嵌入式嵌入式ICE-RT逻辑逻辑l为ARM7TDMI核提供了集成的在片调试支持l可用来设置断点或观察点出现的条件l嵌入式I
8、CE-RT逻辑包含调试通信通道lDCC,Debug Communications ChannellDCC用于在目标和宿主调试器之间传送信息l嵌入式ICE-RT逻辑通过JTAG(Joint Test Action Group)测试访问口进行控制2008年6月28日南京大学计算机系17ARM7TDMI体系结构体系结构lARM7TDMI有如下2个指令集:l32位ARM指令集;l16位Thumb指令集。l属于ARMv4T体系结构体系结构的实现l特点是:l1指令集压缩l2Thumb指令集2008年6月28日南京大学计算机系18指令集压缩指令集压缩l对于传统的微处理器体系结构,指令和数据具有同样的宽度。l
9、与16位体系结构相比,32位体系结构在操纵32位数据时呈显了更高的性能,并可更有效地寻址更大的空间。l一般来讲,16位体系结构比32位体系结构具有更高的代码密度,但只有近似一半的性能。lThumb在32位体系结构上实现了16位指令集,以提供:l比16位体系结构更高的性能;l比32位体系结构更高的代码密度。2008年6月28日南京大学计算机系19Thumb指令集指令集lThumb指令集是通常使用的32位ARM指令集的子集。l每条Thumb指令是16位长,有相应的对于处理器模型有相同效果的32位ARM指令。lThumb指令在标准的ARM寄存器配置下进行操作,在ARM和Thumb状态之间具有出色的互
10、操作性。l执行时,16位Thumb指令透明地实时解压缩成32位ARM指令,且没有性能损失。lThumb具有32位核的所有优点:l32位寻址空间;l32位寄存器;l32位移位器和算术逻辑单元ALU(Arithmetic Logic Unit);l32位存储器传送。2008年6月28日南京大学计算机系20Thumb指令集(续)指令集(续)lThumb因而可提供长的转移范围、强大的算术运算能力和大的寻址空间。lThumb代码的长度是ARM代码长度的65,当从16位存储系统运行时,提供ARM代码160的性能。lThumb使ARM7TDMI核非常适用于有存储器宽度限制且代码密度为重要的嵌入式应用场合。l
11、由于ARM7TDMI具有16位Thumb指令集和32位ARM指令集,这使设计者能根据他们的应用要求在子程序级灵活地强调性能或代码长度。2008年6月28日南京大学计算机系21框图、内核和功能图框图、内核和功能图l参看下面的三张内部电路结构图lARM7TDMI处理器框图lARM7TDMI主处理器逻辑lARM7TDMI处理器功能图l有关图中的引脚信号请参看PDF资料文件 ARM7TDMI的所有信号描述2008年6月28日南京大学计算机系22ARM7TDMI处理器框图处理器框图2008年6月28日南京大学计算机系23ARM7TDMI主处理器主处理器2008年6月28日南京大学计算机系24ARM7TD
12、MI处理器功能图处理器功能图2008年6月28日南京大学计算机系25ARM7TDIM部分信号解释部分信号解释lAPE(address pipe line enable)lALE(address latch enable)lABE(address bus enable)lLOCK(locked operation)lMCLK(memory clock input)lnWAIT(not wait)lECLK(external clock output)lnRESET(not reset)lnRW(not read/write)lnMREQ(not memory request)2008年6月28日
13、南京大学计算机系26APE信号信号lAPE(address pipe line enable)l选择地址总线、LOCK、MAS1:0、nRW、nOPC和nTRANS信号是操作在流水线方式(APE为高)还是非流水线方式(APE为低)。2008年6月28日南京大学计算机系27ALE信号信号lALE(address latch enable)l提供这个信号用以与以前的ARM处理器兼容。l对于新设计,若需要地址重新定义时,ARM公司则推荐使用APE,并将ALE接高。l当该信号为低时,锁存地址总线、LOCK、MAS1:0、nRW、nOPC和nTRANS信号。这可允许这些地址信号在整个存储器访问周期内都有
14、效。l例如,当与ROM接口时,在数据被读出之前地址必须一直有效。2008年6月28日南京大学计算机系28ABE信号信号lABE(address bus enable)l该引脚信号为高时,地址总线有效。l当它为低时禁止总线驱动,使地址总线进入高阻状态。l也用同样的方法控制LOCK、MAS1:0、nRW、nOPC和nTRANS信号。若系统没有要求,则禁止地址驱动,ABE必须接高。2008年6月28日南京大学计算机系29LOCK信号信号lLOCK(locked operation)l一个受APE、ALE和ABE控制的信号。lLOCK用于向仲裁器指示总线上正在进行原子性(atomic)操作。l当处理器
15、执行一个锁定内存区访问时为高,则表明正在执行SWP和SWPB指令。此信号用来防止控制器允许其它器件访问存储器。l信号值为高表明这些指令执行原子性读写操作,可用于实现信号量。lLOCK通常为低。2008年6月28日南京大学计算机系30MCLK信号信号lMCLK(memory clock input)l所有存储器访问和处理器操作的主时钟。时钟速度可以减慢到以允许访问慢速外设或存储器。另外,nWAIT可与自由运行的MCLK一起使用以获得同样的效果。2008年6月28日南京大学计算机系31nWAIT信号信号lnWAIT(not wait)l当它为低时,处理器将其访问时间延长几个MCLK周期,这对访问低
16、速存储器或外围设备有用。在内部nWAIT与MCLK进行逻辑“与”且必须仅在MCLK为低时改变。当nWAIT不使用时,它必须接高。l相当于x86处理器的Ready信号(输入,高电平)。2008年6月28日南京大学计算机系32ECLK信号信号lECLK(external clock output)l在正常操作中,它只是可选用nWAIT延展的MCLK,从内核输出。当内核正在被调试时,它是DCLK,由TCLK内部产生。2008年6月28日南京大学计算机系33nRESET信号信号lnRESET(not reset)l用于从已知的地址启动处理器。低电平将引起正在执行的指令非正常中止。这个信号必须保持为低至
17、少达2个时钟周期,同时nWAIT保持为高。l当它为低时,处理器执行内部周期,同时地址从复位处增值。若nRESET保持到超过最大地址界限,则地址溢出为零。当它保持为高至少1个时钟周期时,处理器从地址0重新开始。2008年6月28日南京大学计算机系34nRW 信号信号lnRW(not read/write)l读写控制信号l一个受APE、ALE和ABE控制的信号。lnRW指定传送的方向。nRW为高表明是ARM7TDMI的写周期,nRW为低表明是ARM7TDMI的读周期。S周期的突发传送始终是读突发,或者写突发。在突发传送期间不能改变方向。2008年6月28日南京大学计算机系35nMREQ信号信号ln
18、MREQ(not memory request)l存储器访问请求信号,低电平有效。在接下来的时钟周期,当处理器请求存储器访问时,它为低。2008年6月28日南京大学计算机系36存储器接口详解存储器接口详解l总线接口信号l时序图约定l总线周期l寻址信号l地址时序l数据定时信号l延长访问时间l特权模式访问l上电后的复位序列2008年6月28日南京大学计算机系37总线接口信号总线接口信号lARM7TDMI的总线接口信号可以分成如下4类:l时钟和时钟控制信号:MCLK、nWAIT、ECLK、nRESET。l地址类信号:A31:0、nRW、MAS1:0、nOPC、nTRANS、LOCK、TBIT。l存储
19、器请求信号:nMREQ、SEQ。l数据时序信号:D31:0、DIN31:0、DOUT31:0、ABORT、BL3:0。lARM7TDMI使用MCLK的上升沿和下降沿。l使用nWAIT信号可以延长总线周期。l后面部分描述一个简单系统,其中nWAIT总是高电平。2008年6月28日南京大学计算机系38A31:0 信号信号lA31:0(address)l地址相关信号,32位地址总线。l当地址总线有效时,用ALE、ABE和APE来控制。lA31:0是指定传送地址的32位地址总线。所有地址是字节地址,因而一个字访问突发导致每个周期地址总线增加4。l地址总线提供4GB的线性寻址空间。l当发出字访问信号时,
20、存储系统忽略低2位A1:0,当发出半字访问信号时,存储系统忽略低位A0。l所有数据值必须在它们固有的边界对准。所有的字必须字对准。2008年6月28日南京大学计算机系39MAS1:0 信号信号lMAS1:0(memory access size)l地址相关信号l用于指示存储系统在读和写周期所要求的数据传送的大小(字节、半字和字)。在存储周期,在MCLK下降沿之前变为有效,并保持有效直到MCLK的上升沿为止。l二进制值00、01和10分别表示字节、半字和字(11保留)。这是一个由APE、ALE和ABE控制的信号。lMAS信号的编码意义参看下表2008年6月28日南京大学计算机系40有效地址的决定
21、有效地址的决定lARM7TDMI产生的地址始终是字节地址。尽管如此,存储系统必须忽略地址的低位冗余。有效地址位参见下表:MAS1:0宽度宽度有效地址位有效地址位00字节A31:001半字A31:110字A31:211保留2008年6月28日南京大学计算机系41nOPC信号信号lnOPC(not op-code fetch)l当处理器正在从存储器取指令时,它为低。这是一个由APE、ALE和ABE控制的信号。lnOPC的输出传递有关传送的信息。MMU使用这个信号来判定访问是取操作码还是数据传送。这个信号可与nTRANS一起使用以实现访问许可权方案(access permission scheme)
展开阅读全文