嵌入式系统(第2章-ARM微处理器硬件结构)讲解.ppt

嵌入式系统(第2章-ARM微处理器硬件结构)讲解.ppt

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM存储格式 数据存储格式有两种: (1)大端模式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。 (2)小端模式:较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址。 大端存储模式 小端存储模式(缺省) ARM存储周期 4种基本类型: 空闲周期。 非顺序周期。 顺序周期。 协处理器寄存器传送周期。 ARM总线接口信号分类 ARM7TDMI的总线接口信号分成4类: 时钟和时钟控制信号:MCLK、ECLK、nRESET、nWAIT。 地址类信号:A[31:0]、nRW、MAS[1:0]、nOPC、nTRANS、LOCK、TBIT。 存储器请求信号:nMREQ、SEQ。 数据时序信号:D[31:0]、DIN[31:0]、DOUT[31:0]、ABORT、BL[3:0]。 ARM总线接口可以实现的总线周期 总线周期使用nMREQ和SEQ信号编码。 4种不同类型的总线周期。 N周期:非顺序周期,最简单的总线周期;存储控制器必须启动存储器访问来满足这个请求;该方式存储系统常需要长的访问时间。 S周期:顺序周期,实现总线上的突发传送;第一个周期,地址可与前一个内部周期相同;与非顺序访问相比响应更快,访问时间更短。 I周期:内部周期,不要求存储器访问;可广播下一次访问的地址以便开始译码,但存储控制器不允许进行存储器访问。 C周期:协处理器寄存器传递周期,通过数据总线向或从协处理器传送数据;不需存储周期,存储控制器不启动事务;传送期间,存储系统不允许驱动数据总线。 高速缓存(Cache)的分类 (1)统一Cache和独立的数据/程序Cache 统一Cache:一个存储系统中指令预取时使用的Cache和数据读写时使用的Cache是同一个Cache。 独立的Cache:一个存储系统中指令预取时使用的Cache和数据读写时使用的Cache是各自独立的。 用于指令预取的Cache称为指令Cache。 用于数据读写的Cache称为数据Cache。 使用独立的数据Cache和指令Cache,可以在同一个时钟周期中读取指令和数据,而不需要双端口的Cache。但此时要注意保证指令和数据的一致性。 高速缓存(Cache)的分类 (2)写通Cache和写回Cache 当CPU更新了Cache的内容时,要将结果写回到主存中。 写通法: write-throught,指CPU在执行写操作时,必须把数据同时写入Cache和主存。 写回法: write-back,指CPU在执行写操作时,被写的数据只写入Cache,不写入主存。仅当需要替换时,才把已经修改的Cache块写回到主存中。 高速缓存(Cache)的分类 (3)读操作分配Cache和写操作分配Cache 当进行数据写操作时,可能Cache未命中,这时根据Cache执行的操作不同。 读操作分配Cache:当进行数据写操作时,如果Cache未命中,只是简单地将数据写入主存中。主要在数据读取时,才进行Cache内容预取。 写操作分配Cache:当进行数据写操作时,如果Cache未命中,Cache系统将会进行Cache内容预取,从主存中将相应的块读取到Cache中相应的位置,并执行写操作,把数据写入到Cache中。 对于写通类型的Cache,数据将会同时被写入到主存中,对于写回类型的Cache数据将在合适的时候写回到主存中。 Cache的工作原理 在Cache存储系统当中,把主存储器和Cache都划分成相同大小的块。 主存地址可以由块号M和块内地址N两部分组成。 同样,Cache的地址也由块号m和块内地址n组成。 Cache地址映像和变换方式 (1)直接映像 快,造价低。 但由于映射策略简单,所以有一定的局限性。 如果访问频繁的块正好被映射到同一个块,就不能充分利用高速缓存的好处。 (2)组相联映像 组相联映像由组的个数来标识,每个组被实现为一个直接映射高速缓存。 高速缓存请求同时广播到所有的组。如果某组中有这个单元,该高速缓存便报告命中。 比直接映射慢,命中率较高。 (3)全相联映像 主存中任意一个块都可以映射到Cache中的任意一个块的位置上。 不同的ARM有不同大小的高速缓存和组织结构。 Cache的替换算法 (1)轮转法 维护一个逻辑计数器,利用该计数器依次选择将要被替换出去的Cache块。 这种算法容易预测最环情况下Cache的性能。 缺点:在程序发生很小的变化时,可能造成Cache平均性能急剧的变化。 (2)随机替换算法 通过一个伪随机数发生器产生一个伪随机数,用新块将编号为该伪随机数的Cache块替换掉。 算法简单,易于实现。 没有考虑程序的局部性特点,也没有利用以前块地址分布情况,因而效果较差。 不易预测最

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档