嵌入式系统教案名师优质课赛课一等奖市公开课获奖课件_第1页
嵌入式系统教案名师优质课赛课一等奖市公开课获奖课件_第2页
嵌入式系统教案名师优质课赛课一等奖市公开课获奖课件_第3页
嵌入式系统教案名师优质课赛课一等奖市公开课获奖课件_第4页
嵌入式系统教案名师优质课赛课一等奖市公开课获奖课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统教案武汉创维特信息技术有限企业

10/10/第1页提要1324ARM存放系统概述快速上下文切换技术高速缓冲区和写缓冲区ARM存放器管理单元第五章ARM存放系统第2页2ARM存放系统概述与其它中低级单片机不一样,ARM处理器中普通都包含一个存放器管理部件,用于对存放器管理。为了适应不一样嵌入式应用,ARM存放系统体系结构存在很多差异。简单能够使用向单片机系统中使用平板式地址映射机制即可;而一些复杂系统中则可能包含各种技术来提供功效强大存放系统。ARM存放系统概述第3页3ARM所使用存放系统技术系统中可能包含各种类型存放器件,如FLASH、ROM、SDRAM、SRAM等;而且不一样类型存放器件要求不一样速度、数据宽度等;经过CACHE和WRITEBUFFER技术缩小处理器和存放系统速度差异,从而提升系统性能;内存管理部件使用内存映射技术实现虚拟空间到物理空间映射。引入存放保护机制,增强系统安全性;引入一些机制确保I/O操作映射成内存操作后,各种I/O操作能够得到正确结果。ARM存放系统概述第4页4S3C44B0X存放器组织示意图ARM存放器管理单元第5页5用于存放管理系统控制协处理存放器CP15在基于ARM嵌入式系统中,存放系统通常使用CP15来完成存放器大部分管理工作;除了CP15之外,在详细存放机制中可能还会用到其它技术如:页表技术等。CP15能够保护16个32位存放器,编号0-15。实际上对于一些编号存放器可能对应有多个物理存放器,在指令中指定特定标志位来区分对应存放器。ARM存放器管理单元第6页6CP15存放器列表-1存放器编号基本作用在MMU中作用0ID编码(只读)ID码和Cache类型1控制位各种控制位2存放保护和控制地址转换表基地址3存放保护和控制域访问控制位4存放保护和控制保留5存放保护和控制内存失效状态6存放保护和控制内存失效地址ARM存放器管理单元第7页7CP15存放器列表-2存放器编号基本作用在MMU中作用7高速缓存和写缓存高速缓存和写缓存控制8存放保护和控制TLB控制9高速缓存和写缓存高速缓存锁定10存放保护和控制TLB锁定11保留

12保留

ARM存放器管理单元第8页8CP15存放器列表-3存放器编号基本作用在MMU中作用13进程标识符进程标识符14保留

15因不一样设计而异因不一样设计而异ARM存放器管理单元第9页9访问CP15存放器指令访问CP15存放器指令有以下两条:MCR Register->CoprocessorRegisterMRC CoprocessorRegister->Register注意:这两条指令只能在系统模式下执行;在用户模式下执行该指令将引发异常。ARM存放器管理单元第10页10MCR访问CP15指令语法

MCR{cond}p15,<op1>,<Rd>,<CRn>,<CRm>{,<op2>}MCR2p15,<op1>,<Rd>,<CRn>,<CRm>{,<op2>}

OP1为协处理器将执行操作代码。对于CP15来说,该值必须为0;Rd为源存放器,其值将被传送到协处理器中;该存放器不能为PC;CRn是协处理器目标存放器,能够是C0-15;CRm是附加目标存放器或源操作数存放器,用于区分同一编号不一样物理存放器,当指令中不需要附加信息时要将C0指定为CRm;OP2也提供附加信息,用于区分同一编号不一样物理存放器,当指令中不需要附加信息时,能够省略或者将其置0。ARM存放器管理单元第11页11MCR访问CP15示例 MCR P15,0,R4,C1,C0,0上述指令从ARM存放器R4中将数据传送到协处理器CP15存放器C1中。其中R4为ARM存放器,存放源操作数;C1和C0为协处理器存放器,为目标存放器;操作码1为0,操作码附加信息也为0。ARM存放器管理单元第12页12MRC访问CP15指令语法

MRC{cond}p15,<op1>,<Rd>,<CRn>,<CRm>{,<op2>}MRC2p15,<op1>,<Rd>,<CRn>,<CRm>{,<op2>}

OP1为协处理器将执行操作代码。对于CP15来说,该值必须为0;Rd为目标存放器,指令处理结果将存放在该存放器中;CRn是协处理器存放器,存放第一个源操作数;CRm是附加源操作数存放器,用于区分同一编号不一样物理存放器,当指令中不需要附加信息时要将C0指定为CRm;OP2也提供附加信息,用于区分同一编号不一样物理存放器,当指令中不需要附加信息时,能够省略或者将其置0。ARM存放器管理单元第13页13存放管理单元MMU作用实现虚拟地址空间到物理存放空间映射;存放器访问权限控制;设置虚拟存放空间缓冲特征。 页表是实现上述功效一个主要伎俩,它实际上是位于内存中一个对照表。ARM存放器管理单元第14页14存放器单元段页式管理为了实现不一样层次管理,系统提供了基于段或页存放器访问方式段(section):由1MB存放器块组成

大页(largepage):由64KB存放器块组成

小页(smallpage):由4KB存放器块组成

微页(tinypage):由1KB存放器块组成ARM存放器管理单元第15页15用于存放管理页表地址变换条目:页表每一行对应与虚拟地址空间一个页,该行同时保含了该虚拟内存页对应物理内存页地址、该页访问权限以及缓冲特征等。我们将页表中一行称为地址变换条目。页表存放在内存中,系统通常有一个存放器来保留页表基地址。ARM系统中使用就是CP15存放器C2。快表:从虚拟地址到物理地址转换实际上就是查询页表过程。因为程序在执行过程中含有局部性,即在一段时间内只是局限在少数几个单元,为了加紧页表查询速度,在系统中通常使用一个容量更小、速度更加快存放器件来保留当前需要访问地址变换条目,这个容量小页表又称作快表(TLB)。ARM存放器管理单元第16页16快表使用更新:当CPU需要访问内存时,首先在TLB中查找需要地址变换条目。若不存在则在内存页表中查询,并把查询结果添加到TLB中。去除:当内存中页表内容改变或者使用新页表时,TLB中内容需要清空。CP15存放器8用于完成该功效。锁定:能够将一个地址变换条目锁定在TLB中,以加紧访问速度,CP15存放器10用于完成该功效。ARM存放器管理单元第17页17域(domain)管理域是段、大页和小页集合。ARM结构支持16个域。对域访问由域访问控制存放器(CP15存放器3)两个位字段控制。因为每个字段对访问对应域使能非常快速,所以整个存放器区间能很快地交换进出虚拟存放器。这里支持2种域访问方式客户:域用户(执行程序,访问数据),被形成这个域节或页来监督访问权限。管理者:控制域行为(域中当前段和页,对域访问),不被形成这个域段或页来监督访问权限。一个程序能够是一些域客户,也是另外一些域管理者,同时没有对其它域访问权限。这允许对程序访问不一样存放器资源非常灵活存放器保护。ARM存放器管理单元第18页18内存访问失效管理当存放器访问失败时,MMU单元提供了对应机制用于处理这种情况。CP15存放器5和存放器6用于完成该功效。ARM存放器管理单元第19页19存放器1MMU控制位M(bit[0])使能MMU0=禁止MMU1=允许MMU在没有MMU和保护单元系统上,这个位应该读出为0,并忽略写。A(bit[1])使能对齐错检验0=禁止1=允许..RRVIZFRSBLDPWCAM..14131211109876543210ARM存放器管理单元第20页20禁止和使能MMU下面指令使能MMU MRC P15,0,R0,C1,0,0 OR R0,#1 MCR P15,0,R0,C1,0,0下面指令禁止MMU MRC P15,0,R0,C1,0,0 BIC R0,#1 MCR P15,0,R0,C1,0,0ARM存放器管理单元第21页21地址变换过程虚拟存放空间到物理存放空间映射是以内存块为单位进行。在MMU中采取两级页表实现上述地址映射:一级页表中包含有以段为单位地址变换条目以及只想二级页表指针。一级页表实现地址映射粒度较大;二级页表中包含以大页和小页为单位地址变换条目。其中一个类型二级表还包含有极小页为单位地址变换条目。ARM存放器管理单元第22页22基于一级页表地址变换ARM存放器管理单元第23页23一级页表描述符可能格式ARM存放器管理单元第24页24基于段地址映射示意图ARM存放器管理单元第25页25高速缓冲存放器和写缓冲区处理器主频较高,通常为几十兆甚至几百兆,而普通存放器(DRAM)存放周期为100~200ns。存放器速度严重制约着系统性能。高速缓冲存放器(cache)是一个硬件部件,对我们来说是透明。Cache与主存放器间以块(cacheline)为单位进行数据交换。Cache存取速度远远大于主存放器速度,存放器访问时间局部性决定了采取Cache后,系统整体性能能够得到大大提升。高速缓冲区和写缓冲区第26页26Cache工作原理高速缓冲区和写缓冲区第27页27Cache工作原理在Cache存放系统中,把Cache和主存划分为相同大小块。主存地址能够使用块号(B)和块内地址(W)两部分组成。一样Cache地址也能够使用块号(B)和块内地址(W)两部分组成。命中率:当CPU访问存放器时,经过存放器地址变换部件把地址变换成cache块号和块内地址,假如变换成功(称为cache命中),就用得到cache地址访问cache,从cache中取数;假如变换失败,则产生cache失效信息,并用主存放器地址访问主存放器,同时将包含被访问字在内一整块都从主存放器读出来,装入到cache中,但假如这时cache已满,需要采取适当替换算法来更新cache。高速缓冲区和写缓冲区第28页28Cache地址映象和变换方法地址映象指把主存地址空间映象到cache地址空间,详细说就是把存放在主存中程序按照某种规则装入到cache中,并建立主存地址到cache地址之间对应关系。地址变换是指当程序已经装入到cache中后(形成地址映象),在实际运行过程中,把主存地址怎样变换成cache地址。地址映象和变换是亲密相关,算法需要统一。但全部方法都将主存和cache划分为一样大小存放单元(称为块),在进行变换时都是以块为单位。地址映象和变换方法包含:全相联映象、直接映象、组相联映象三种方法。高速缓冲区和写缓冲区第29页29地址映象和变换方法-全相联映象方式主存中任意一块能够映射到cache中任意一块位置上。假如cache块容量为C,主存块容量为M,则两则之间映象关系有C*M中,假如采取目录表来存放这些映象关系,目录表容量为C。高速缓冲区和写缓冲区第30页30地址映象和变换方法-直接映象方式这是最简单也是最直接方法。主存中一块只能映象到cache中一个特定块中。假设主存块号为B,cache块号为b,则他们之间映象关系能够使用下面企业表示: b=BmodeCb 其中Cb为cache块容量高速缓冲区和写缓冲区第31页31地址映象和变换方法-组相联映象方式在这种方式下,把主存和cache按照一样大小划分成组,每个组都由相同块数组成。这么,主存组数要比cache组数多;主存组与cache组之间采取直接映象方式;在两个对应组之间采取全相联映象方式。高速缓冲区和写缓冲区第32页32Cache分类统一/独立数据和指令cache 适应独立数据和指令cache,能够在同一个时钟周期中读取指令和数据,而不需要双端口cache。但这时需要确保指令和数据一致性。写回和写通cache 写回cache指执行写操作时,被写数据只写入cache,仅当cache需要被替换时才将数据写入到实际存放器中; 写通则是在指执行写操作时,同时向cache和存放器执行写操作,从而确保数据一致性。高速缓冲区和写缓冲区第33页33Cache替换算法随机替换算法和轮转法随机替换算法经过一个随机数发生器产生随机数,用新块将编号为该随机数块进行替换。轮转法维护一个逻辑计数器,利用该计数器依次选择将要被替换出去cache块。高速缓冲区和写缓冲区第34页34存放系统一致性问题当引入cache机制后,同一地址数据可能存在多个副本,分别保留在cache中、写缓冲区中以及主存中。地址映射关系改变造成不一致;指令cache数据一致性问题;DMA造成不一致问题;高速缓冲区和写缓冲区第35页35Cache编程接口与cache和写缓冲区相关存放器包含CP15中存放器C7、存放器C9以及存放器C1中一些位。MCRP15,0,<Rd>,<C1>,<CRm>,<Op2>MCRP15,0,<Rd>,<C7>,<CRm>,<Op2>MCRP15,0,<Rd>,<C9>,c0,<Op2>MRCP15,0,<Rd>,<C1>,<CRm>,<Op2>MRCP15,0,<Rd>,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论