- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统基础教程05lpc系列arm58
5.5 存储器加速模块(MAM)概述 LPC2114/2124/2210/2212/2214微控制器的ARM内核工作在最高频率60MHz时,执行一条指令约为17ns。而Flash存储器的访问周期需要50ns,即最高频率20MHz。所以如果将代码存放在Flash中,将影响ARM内核发挥最大效能。为了能将指令从内部Flash存储器更高效快速地提取到ARM内核,而设计产生了一个存储器加速模块(MAM)。Flash存储器组0Flash存储器组1总线接口Flash存储器组0Flash存储器组1ARM局部总线预取指缓存预取指缓存分支跟踪缓存分支跟踪缓存2×128位2×128位数据缓存区选择数据缓存区预取指缓存预取指缓存选择分支跟踪缓存分支跟踪缓存MAM结构使能MAM模块后,ARM内核将通过MAM模块访问Flash存储器。总线接口总线接口Flash存储器组1Flash存储器组0Flash存储器组1预取指缓存分支跟踪缓存ARM局部总线预取指缓存预取指缓存分支跟踪缓存分支跟踪缓存2×128位2×128位预取指缓存数据缓存区Flash存储器组0分支跟踪缓存选择预取指缓存预取指缓存分支跟踪缓存分支跟踪缓存预取指缓存预取指缓存分支跟踪缓存分支跟踪缓存MAM结构使能MAM模块后,ARM内核将通过MAM模块访问Flash存储器。MAM模块中的数据总线宽度为128位,所以一次读取操作可以读出4条ARM指令或8条Thumb指令。Flash存储器被分为两组,当CPU执行其中一组Flash内的指令时,另一组进行读取缓存操作。每个Flash组包含预取指缓存和分支跟踪缓存。MAM结构预取指缓存区保存有将要执行的指令。而分支跟踪缓存区保存有程序跳转后可能执行到的指令。总线接口Flash存储器组0Flash存储器组1当程序向前跳转时,尝试从预取指缓存区取指。ARM局部总线当程序向后跳转时,尝试从分支跟踪缓存区取指。预取指缓存预取指缓存分支跟踪缓存分支跟踪缓存2×128位2×128位如果程序跳转出缓存的范围,CPU将要停止,等待若干个周期,直到正确的指令从Flash中被读出。数据缓存区选择MAM结构Flash中除了存储指令之外,还可用来存储不修改或者很少修改的数据,所以在MAM模块中设计有数据缓冲区。数据缓存区可以提高顺序读取数据的操作速度。但是对随机读取操作几乎没有加速效果。总线接口Flash存储器组0Flash存储器组1ARM局部总线预取指缓存预取指缓存Flash编程由另一个独立的模块完成,Flash在进行编程操作时禁止访问。在编程操作结束后,缓存区的数据将自动失效,可以避免读取到无效的数据。分支跟踪缓存分支跟踪缓存2×128位2×128位数据缓存区数据缓存区选择5.5 存储器加速模块(MAM)存储器加速模块寄存器描述MAM控制寄存器(MAMCR):位765432[1 : 0]功能------模式控制MAMCR[1:0]:用于MAM的模式控制,具体关系如下表。MAMCR[1:0]描述00禁止MAM功能01部分使能MAM功能10完全使能MAM功能11保留5.5 存储器加速模块(MAM)存储器加速模块寄存器描述MAM定时寄存器(MAMTIM):位76543[2 : 0]功能-----取指周期控制MAMTIM[2:0]:决定使用多少个CCLK周期访问Flash存储器,这样可以调整MAM时序使其匹配处理器操作频率,具体关系如下表。MATIM[2:0]描述MATIM[2:0]描述000保留100取指周期为4个CCLK001取指周期为1个CCLK101取指周期为5个CCLK010取指周期为2个CCLK110取指周期为6个CCLK011取指周期为3个CCLK111取指周期为7个CCLK5.5 存储器加速模块(MAM)存储器加速模块寄存器描述MAM定时寄存器(MAMTIM): 当访问周期设置为1个CCLk时,实际上关闭了MAM,但是仍可以选择MAM模式对功耗进行优化。注意:不正确的设定会导致器件的错误操作MATIM[2:0]描述MATIM[2:0]描述000保留100取指周期为4个CCLK001取指周期为1个CCLK101取指周期为5个CCLK010取指周期为2个CCLK110取指周期为6个CCLK011取指周期为3个CCLK111取指周期为7个CCLK5.5 存储器加速模块(MAM)MAM使用要点当改变MAM定时值时,必须先将MAMCR设置为0关闭MAM,然后将新值写入MAMTIM。最后将需要的操作模式的对应值(1或2)写入MAMCR,再次打开MAM;对于低于20MHz的系统时钟,MAMTIM设定为001,将Flash访问时间设定为1CCLK ;对于20MHz到40MHz之间的系统时钟,建议将Flash访问时间设定为2CCLK;高于40MHz的系统时钟,建议使用3CCLK
您可能关注的文档
最近下载
- 2025年广东省基层住院医师线上岗位培训《中医康复学》-中医学专业培训课程专业课答案.docx VIP
- GB0-551考试认证题库.pdf VIP
- 治疗用生物制品申报临床试验申请模块2.3药学资料撰写要求(征求意见稿).pdf VIP
- 法定代表人和主要管理人员基本情况表(空表).docx VIP
- 《计算物理学》课件 第四章 分子动力学模拟方法.pptx
- GBT50046-2018工业建筑防腐蚀设计标准.doc VIP
- 智能融合终端通用技术规范2025.docx
- 大学生职业生涯规划计划书.pdf VIP
- 职业生涯人物访谈报告(采访教师).pdf VIP
- 1.1 城市轨道交通类型的认知 (1).pptx VIP
原创力文档


文档评论(0)