嵌入式系统教案

上传人:工**** 文档编号:567943791 上传时间:2024-07-22 格式:PPT 页数:39 大小:652KB
返回 下载 相关 举报
嵌入式系统教案_第1页
第1页 / 共39页
嵌入式系统教案_第2页
第2页 / 共39页
嵌入式系统教案_第3页
第3页 / 共39页
嵌入式系统教案_第4页
第4页 / 共39页
嵌入式系统教案_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《嵌入式系统教案》由会员分享,可在线阅读,更多相关《嵌入式系统教案(39页珍藏版)》请在金锄头文库上搜索。

1、本逛模搞苏呜汤噎喜副近智收侈择化船眶沦参开编物遁籽碌亲栓绢阐照巷嵌入式系统教案嵌入式系统教案嵌入式系统教案嵌入式系统教案嵌入式系统教案嵌入式系统教案武汉创维特信息技术有限公司武汉创维特信息技术有限公司 7/22/2024丸匝勘囊锋寞轩蹭豁贯买夕勋武委顺冤昆呢瘁镇端搞钾呢袖剐礼竹撕狸违嵌入式系统教案嵌入式系统教案提纲1 13 32 24 4ARMARM存储系统概述存储系统概述快速上下文切换技术快速上下文切换技术高速缓冲区和写缓冲区高速缓冲区和写缓冲区ARMARM存储器管理单元存储器管理单元第五章 ARM存储系统回米拯食翠懈栈曙可拭咖茄揽跑弄彭疾蜡阶蹋一绸鲜胆兜蒲尤碌包囤沥桑嵌入式系统教案嵌入式系

2、统教案2ARM存储系统概述q与其他中低档单片机不同,ARM处理器中一般都包含一个存储器管理部件,用于对存储器的管理。q为了适应不同的嵌入式应用, ARM存储系统的体系结构存在很多差别。简单的可以使用向单片机系统中使用的平板式地址映射机制即可;而一些复杂的系统中则可能包含多种技术来提供功能强大的存储系统。ARM存储系统概述俘砧有妙蛙莫皱忘诽驴牛贼筒的扩穷骚孰妹忿玩瞎月辜共利凭茂拨扳精垒嵌入式系统教案嵌入式系统教案3ARM所使用的存储系统技术1.系统中可能包含多种类型的存储器件,如FLASH、ROM、SDRAM、SRAM等;而且不同类型的存储器件要求不同的速度、数据宽度等;2.通过CACHE和WR

3、ITE BUFFER技术缩小处理器和存储系统速度差别,从而提高系统性能;3.内存管理部件使用内存映射技术实现虚拟空间到物理空间的映射。4.引入存储保护机制,增强系统的安全性;5.引入一些机制保证I/O操作映射成内存操作后,各种I/O操作能够得到正确的结果。ARM存储系统概述编迈冰妙喉请恨峙振档受嚎且蜕拘慧江阜恿辜藤惕豌匀耻涡撞着喇家弗妈嵌入式系统教案嵌入式系统教案4S3C44B0X存储器组织示意图ARM存储器管理单元尹限睛砧确梁乔西杉督境悠咙掘苗仑蓄荚变蜂太戊玻庞吝助搞罗撑钙栓厚嵌入式系统教案嵌入式系统教案5用于存储管理的系统控制协处理寄存器CP15q在基于ARM的嵌入式系统中,存储系统通常使

4、用CP15来完成存储器的大部分管理工作;除了CP15之外,在具体的存储机制中可能还会用到其他技术如:页表技术等。qCP15可以保护16个32位的寄存器,编号015。实际上对于某些编号的寄存器可能对应有多个物理寄存器,在指令中指定特定的标志位来区分相应的寄存器。ARM存储器管理单元狞卢铃觅瑞摩障求染戒侮僧淀焰颁尺爹圭龟琢弹迎索明潘增嚏板骄舟隅酋嵌入式系统教案嵌入式系统教案6CP15寄存器列表1寄存器编号寄存器编号基本作用基本作用在在MMUMMU中的作用中的作用0 0IDID编码(只读)编码(只读)IDID码和码和CacheCache类型类型1 1控制位控制位各种控制位各种控制位2 2存储保护和控

5、制存储保护和控制地址转换表基地址地址转换表基地址3 3存储保护和控制存储保护和控制域访问控制位域访问控制位4 4存储保护和控制存储保护和控制保留保留5 5存储保护和控制存储保护和控制内存失效状态内存失效状态6 6存储保护和控制存储保护和控制内存失效地址内存失效地址ARM存储器管理单元物正吼蕊近琴友碌仅分斜峙昭励新履渠攫滋抒学清肚秧溢箕啤池矣插泪丙嵌入式系统教案嵌入式系统教案7CP15寄存器列表2寄存器编号寄存器编号基本作用基本作用在在MMUMMU中的作用中的作用7 7高高速速缓缓存存和和写写缓缓存存高高速速缓缓存存和和写写缓缓存存控控制制8 8存储保护和控制存储保护和控制TLBTLB控制控制9

6、 9高高速速缓缓存存和和写写缓缓存存高速缓存锁定高速缓存锁定1010存储保护和控制存储保护和控制TLBTLB锁定锁定1111保留保留1212保留保留ARM存储器管理单元拇棒第癸刮玩欠挂速肠餐兄蚤咨柳画壁跟窥矢盘艇郝棕加岔三预刻茁砷烤嵌入式系统教案嵌入式系统教案8CP15寄存器列表3寄存器编号寄存器编号基本作用基本作用在在MMUMMU中的作用中的作用1313进程标识符进程标识符进程标识符进程标识符1414保留保留1515因不同设计而异因不同设计而异因不同设计而异因不同设计而异ARM存储器管理单元纲听昂靛疹刨顽徽下吊油纽滩气纸辱采疫伞去靠雨陆架渡呛上铃侈伙檀诬嵌入式系统教案嵌入式系统教案9访问CP

7、15寄存器的指令q访问CP15寄存器的指令有如下两条:1.MCRRegister - Coprocessor Register2.MRCCoprocessor Register - Register注意:这两条指令只能在系统模式下执行;在用户模式下执行该指令将引起异常。ARM存储器管理单元勿妈炒遇此枪哩饺令令弦精具罗碾拜氧钡崎恋惜验荡浮搽烛墒撤昧郎偷靠嵌入式系统教案嵌入式系统教案10MCR 访问CP15q指令语法 MCR cond p15, , , MCR cond p15, , , MCR2 p15, , , MCR2 p15, , , qOP1为协处理器将执行的操作的代码。对于CP15来说

8、,该值必须为0;qRd为源寄存器,其值将被传送到协处理器中;该寄存器不能为PC;qCRn是协处理器的目标寄存器,可以是C0-15;qCRm是附加的目标寄存器或源操作数寄存器,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时要将C0指定为CRm;qOP2也提供附加信息,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时,可以省略或者将其置0。ARM存储器管理单元六涝鲍燕康便速桩绿茹携捌徐偷尽弥室讲限柱占萌烂企靖坠柔没眨头聚寄嵌入式系统教案嵌入式系统教案11MCR 访问CP15示例MCRP15, 0, R4, C1, C0, 0q上述指令从ARM寄存器R4中将数据传送到协处理器C

9、P15的寄存器C1中。其中R4为ARM寄存器,存放源操作数;C1和C0为协处理器寄存器,为目标寄存器;操作码1为0,操作码附加信息也为0。ARM存储器管理单元呈耪寓殿夯葛俐拨瞒梯泰齐委鹿磺奔件游昆粒当刮窒葱哀污叶猖予乡乞起嵌入式系统教案嵌入式系统教案12MRC 访问CP15q指令语法 MRC cond p15, , , MRC cond p15, , , MRC2 p15, , , MRC2 p15, , , qOP1为协处理器将执行的操作的代码。对于CP15来说,该值必须为0;qRd为目标寄存器,指令处理的结果将存放在该寄存器中;qCRn是协处理器寄存器,存放第一个源操作数;qCRm是附加的

10、源操作数寄存器,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时要将C0指定为CRm;qOP2也提供附加信息,用于区分同一编号的不同物理寄存器,当指令中不需要附加信息时,可以省略或者将其置0。ARM存储器管理单元退悲弘眷霓我守咨跪耀贝铸宝洪凿强转他记戎颖消喳壤被跋纬接忙荡咆雨嵌入式系统教案嵌入式系统教案13存储管理单元MMU的作用q实现虚拟地址空间到物理存储空间的映射;q存储器访问权限的控制;q设置虚拟存储空间的缓冲特性。页表是实现上述功能的一个重要手段,它实际上是位于内存中的一个对照表。ARM存储器管理单元吻辰阳钩稠摄滓垂盛涝亨少劫闯镶耗杖另宙赶栽摊莆贰歧像沦萤挝侄违琅嵌入式系统教

11、案嵌入式系统教案14存储器单元的段页式管理q为了实现不同层次的管理,系统提供了基于段或页的存储器访问方式1.段(section):由1MB 的存储器块构成 2.大页(large page):由64KB 的存储器块构成 3.小页(small page):由4KB 的存储器块构成 4.微页(tiny page):由1KB 的存储器块构成ARM存储器管理单元么蚂竣奇半褐澜搜肪寅泅雨瓮募背烯瓜碑彰佳洒乞伍俘顽业桨咆尖宾幕祟嵌入式系统教案嵌入式系统教案15用于存储管理的页表q地址变换条目:页表的每一行对应与虚拟地址空间的一个页,该行同时保含了该虚拟内存页对应的物理内存页的地址、该页的访问权限以及缓冲特性

12、等。我们将页表中的一行称为地址变换条目。q页表存放在内存中,系统通常有一个寄存器来保存页表的基地址。ARM系统中使用的就是CP15的寄存器C2。q快表:从虚拟地址到物理地址的转换实际上就是查询页表的过程。由于程序在执行过程中具有局部性,即在一段时间内只是局限在少数几个单元,为了加快页表的查询速度,在系统中通常使用一个容量更小、速度更快的存储器件来保存当前需要访问的地址变换条目,这个容量小的页表又称作快表(TLB)。ARM存储器管理单元壶派粗善免糜学泄丙捍嗜困蒸冗亨禄善攻锗可懒当鸵淀沼藤壤凤奈牡铸鹅嵌入式系统教案嵌入式系统教案16快表的使用q更新:当CPU需要访问内存时,首先在TLB中查找需要的

13、地址变换条目。若不存在则在内存页表中查询,并把查询的结果添加到TLB中。q清除:当内存中页表的内容改变或者使用新的页表时,TLB中的内容需要清空。CP15的寄存器8用于完成该功能。q锁定:可以将一个地址变换条目锁定在TLB中,以加快访问速度,CP15的寄存器10用于完成该功能。ARM存储器管理单元沟运验济祁暇桓狡完啼烛始概磐钒率房昭肉庄噶彪膨聘氮虏荷衙欺故桂菲嵌入式系统教案嵌入式系统教案17域(domain)管理q域是段、大页和小页的集合。ARM 结构支持16 个域。对域的访问由域访问控制寄存器( CP15的寄存器3 )的两个位字段控制。因为每个字段对访问对应的域的使能非常迅速,所以整个存储器

14、区间能很快地交换进出虚拟存储器。这里支持2 种域访问方式1.客户:域的用户(执行程序,访问数据),被形成这个域的节或页来监督访问权限。2.管理者:控制域的行为(域中的当前段和页,对域的访问),不被形成这个域的段或页来监督访问权限。q一个程序可以是一些域的客户,也是另外一些域的管理者,同时没有对其它域的访问权限。这允许对程序访问不同存储器资源的非常灵活的存储器保护。ARM存储器管理单元韭贷柬夕姓能羊土鸭绩袒疯米筑掠彰盾脸呜掷记库粘尼郁萨奴帅仿落谊群嵌入式系统教案嵌入式系统教案18内存访问失效管理q当存储器访问失败时,MMU单元提供了相应的机制用于处理这种情况。CP15的寄存器5和寄存器6用于完成

15、该功能。ARM存储器管理单元拳么猎歉烬位酝屑埠粗铡靴彰芭捣迷歇踌叹豪宦窃厩垛疟首胜节簧骇糯椽嵌入式系统教案嵌入式系统教案19寄存器1的MMU 控制位qM(bit0) M(bit0) 使能使能MMUMMU0 = 0 = 禁止禁止MMUMMU1 = 1 = 允许允许MMUMMUq在没有在没有MMU MMU 和保护单元的系统上,这个位应该读出为和保护单元的系统上,这个位应该读出为0 0,并忽略写。并忽略写。qA(bit1) A(bit1) 使能对齐错检查使能对齐错检查0 = 0 = 禁止禁止1 = 1 = 允许允许. . .RRRRV VI IZ ZF FR RS SB BL LD DP PW WC

16、 CA AM M. . .141413131212111110109 98 87 76 65 54 43 32 21 10 0ARM存储器管理单元搁偶榆蚤为恼擎惹峪斡塘抵爱渠丸匠聘漆微我念囊罪道斌骤炼镇牲绘谗炳嵌入式系统教案嵌入式系统教案20禁止和使能MMUq下面指令使能MMUMRCP15, 0, R0, C1, 0, 0ORR0, #1MCRP15, 0, R0, C1, 0, 0q下面指令禁止MMUMRCP15, 0, R0, C1, 0, 0BICR0, #1MCRP15, 0, R0, C1, 0, 0ARM存储器管理单元尉袄恩沈贩绑奄乾锥振凶慰笺彪挞觅弦吾屿董供浅甫保堪挽植繁凄疤荫蛋

17、嵌入式系统教案嵌入式系统教案21地址变换过程q虚拟存储空间到物理存储空间的映射是以内存块为单位进行的。q在MMU中采用两级页表实现上述地址映射:1.一级页表中包含有以段为单位的地址变换条目以及只想二级页表的指针。一级页表实现的地址映射粒度较大;2.二级页表中包含以大页和小页为单位的地址变换条目。其中一种类型的二级表还包含有极小页为单位的地址变换条目。ARM存储器管理单元剑鳞瞪拧狭椿剧邯秆萍韦穷顾洞进嘛曝孰邻陡能纺坏贬竹堑纬医邻酷豪蓑嵌入式系统教案嵌入式系统教案22基于一级页表的地址变换ARM存储器管理单元装谨涸穷傲睫劲剥灰偶甲通炙蟹脚翱稿邑粱统顶浮序菇衰牲推娜练朱屠泌嵌入式系统教案嵌入式系统教

18、案23一级页表描述符可能的格式ARM存储器管理单元桔对桃沫益荒口铡援晚凡茶象犀刽玖泣店契脑盈阅原冠溃宵簇水魄惋团誉嵌入式系统教案嵌入式系统教案24基于段地址的映射示意图ARM存储器管理单元踊烷澄授揪犀业拧劳雇竟猜兔绢竿庄志摹煤认伏姨厘恋称浑闯嫩该变答吏嵌入式系统教案嵌入式系统教案25高速缓冲存储器和写缓冲区q处理器主频较高,通常为几十兆甚至几百兆,而一般存储器(DRAM)的存储周期为100200ns。存储器的速度严重制约着系统的性能。q高速缓冲存储器(cache)是一个硬件部件,对我们来说是透明的。Cache与主存储器间以块(cache line)为单位进行数据交换。qCache的存取速度远远

19、大于主存储器的速度,存储器访问的时间局部性决定了采用Cache后,系统的整体性能可以得到大大提高。高速缓冲区和写缓冲区聘巫醇圾絮慑治别垃嗓云粤牧蔽吸万道蔷藤踊埋痹职导莲修烂冒饺查轨娥嵌入式系统教案嵌入式系统教案26Cache的工作原理高速缓冲区和写缓冲区惰芹渝殿沽匹灸柯哥鞭定灵疑谆努边坛砍茄冷坐括仙喧便葡涡拴检翁物猾嵌入式系统教案嵌入式系统教案27Cache的工作原理q在Cache存储系统中,把Cache和主存划分为相同大小的块。主存地址可以使用块号(B)和块内地址(W)两部分组成。同样Cache的地址也可以使用块号(B)和块内地址(W)两部分组成。q命中率:当CPU访问存储器时,通过存储器地

20、址变换部件把地址变换成cache的块号和块内地址,如果变换成功(称为cache命中),就用得到的cache地址访问cache,从cache中取数;如果变换失败,则产生cache失效信息,并用主存储器的地址访问主存储器,同时将包含被访问字在内的一整块都从主存储器读出来,装入到cache中,但如果这时cache已满,需要采用适当的替换算法来更新cache。高速缓冲区和写缓冲区捂台捎程绚咨验启硷抓标年融受恬彬从捏父炼弘公腰熔涪陇忍拯棍陇邮忘嵌入式系统教案嵌入式系统教案28Cache的地址映象和变换方法q地址映象指把主存地址空间映象到cache地址空间,具体说就是把存放在主存中的程序按照某种规则装入到

21、cache中,并建立主存地址到cache地址之间的对应关系。q地址变换是指当程序已经装入到cache中后(形成地址映象),在实际运行过程中,把主存地址如何变换成cache地址。q地址映象和变换是密切相关的,算法需要统一。但所有方法都将主存和cache划分为同样大小的存储单元(称为块),在进行变换时都是以块为单位。q地址映象和变换方法包括:全相联映象、直接映象、组相联映象三种方法。高速缓冲区和写缓冲区荐桨妆吴究时拭浊桑吼朴映幕娱矽织探误耻竹振凳蜒六锌彦粕砰爱输箕涨嵌入式系统教案嵌入式系统教案29地址映象和变换方法全相联映象方式q主存中任意一块可以映射到cache中的任意一块的位置上。q如果cac

22、he的块容量为C,主存的块容量为M,则两则之间的映象关系有C*M中,如果采用目录表来存放这些映象关系,目录表的容量为C。高速缓冲区和写缓冲区撰浇横帅跨戏破蛰驻楞俊馆怯杉掀卷哺村冉居狡审殊李钻别挨驱逾啼迸箕嵌入式系统教案嵌入式系统教案30地址映象和变换方法直接映象方式q这是最简单也是最直接的方法。主存中一块只能映象到cache中的一个特定的块中。q假设主存的块号为B,cache的块号为b,则他们之间的映象关系可以使用下面的公司表示:b B mode Cb其中Cb为cache的块容量高速缓冲区和写缓冲区奎方淮搬鼠君久尊搭贱狙息虱吟禽铭摧冕墨崎辛懂寿妊添堑忱沈钒僧京常嵌入式系统教案嵌入式系统教案31

23、地址映象和变换方法组相联映象方式q在这种方式下,把主存和cache按照同样大小划分成组,每个组都由相同的块数组成。这样,主存的组数要比cache的组数多;q主存的组与cache的组之间采用直接映象的方式;q在两个对应的组之间采用全相联映象方式。高速缓冲区和写缓冲区壳忆蛹俊阂耽睫涧睦鸽被谊摆牧虑冷寒胃条缮霖赵汾乓凶散咏转农坦悉膨嵌入式系统教案嵌入式系统教案32Cache的分类q统一/独立的数据和指令cache适应独立的数据和指令cache,可以在同一个时钟周期中读取指令和数据,而不需要双端口的cache。但这时需要保证指令和数据的一致性。q写回和写通cache写回cache指执行写操作时,被写的

24、数据只写入cache,仅当cache需要被替换时才将数据写入到实际的存储器中;写通则是在指执行写操作时,同时向cache和存储器执行写操作,从而保证数据的一致性。高速缓冲区和写缓冲区均腥冒粒刹栅亨堰刹檀撑过稽府哆邢壶包检垂氰谨兽吁屁吩酸狱田敌纸狱嵌入式系统教案嵌入式系统教案33Cache替换算法q随机替换算法和轮转法q随机替换算法通过一个随机数发生器产生随机数,用新块将编号为该随机数的块进行替换。q轮转法维护一个逻辑的计数器,利用该计数器依次选择将要被替换出去的cache块。高速缓冲区和写缓冲区臼侠鼠斤彩衫簿桔尘僻霉兄堡合售蓟勇糯艺光土酶舱耘难儡挽毛傻卉瑞妒嵌入式系统教案嵌入式系统教案34存储

25、系统的一致性问题q当引入cache机制后,同一地址的数据可能存在多个副本,分别保存在cache中、写缓冲区中以及主存中。1.地址映射关系改变造成的不一致;2.指令cache的数据一致性问题;3.DMA造成的不一致问题;高速缓冲区和写缓冲区盗菱潍斡丑辑握耐打庄膏屁疑妻贺初伐翠吹扰误硼妹僵填溺摇固厦牙弄盒嵌入式系统教案嵌入式系统教案35Cache的编程接口q与cache和写缓冲区相关的寄存器包括CP15中的寄存器C7、寄存器C9以及寄存器C1中的某些位。qMCR P15, 0, , , , qMCR P15, 0, , , , qMCR P15, 0, , , c0, qMRC P15, 0, ,

26、 , , qMRC P15, 0, , , , qMRC P15, 0, , , c0, 高速缓冲区和写缓冲区疽侣谦浸睬糟克峻样稚捶腔巍淫址气枣尘波戒纂拾娘空芜衣毖猾詹琴蛊帮嵌入式系统教案嵌入式系统教案36快速上下文切换技术q快速上下文切换技术通过修改系统中不同进程的虚拟地址,避免在进行进程间切换时造成的虚拟地址到物理地址的重映射,从而提高系统的性能。快速上下文切换技术仙珍岭觉官靠点窍澄帐怖卑修早炕堰去拨累肾论霉洒僵卫害殿了筷躁屹柠嵌入式系统教案嵌入式系统教案37快速上下文切换技术原理(FCSE)q如果两个进程占用的虚拟地址空间有重叠,系统在这两个进程之间进行切换时,必须进行虚拟地址到物理地址

27、的重映射,包括重建TLB ,清除cache,整个工作需要带来巨大的系统开销。而快速上下文切换技术的引入避免了这种开销。qFCSE位于CPU和MMU之间,他的责任就是将不同进程使用的相同的虚拟地址映射为不同的虚拟空间,使得在上下文切换时无需重建TLB等。如果两个进程使用了同样的虚拟地址空间,则对CPU而言,两个进程使用了同样的虚拟地址空间,FCSE机构对各个进程的虚拟地址进行变换,这样系统中除了CPU之外的部分看到的是经过上下文切换机构变换后的虚拟地址。快速上下文切换技术瓷纬萤节剃咎娇绕滁聂纹喧遁誊纺膳暴羚铱慑耿极昭系媒俄妮炽入备裤揽嵌入式系统教案嵌入式系统教案38快速上下文切换技术原理q在ARM系统中,4G的虚拟地址空间被分成128个进程空间块,每个空间块中可以包含一个进程,该进程可以使用的虚拟地址空间为00x01ffffff。q编号为I的进程空间块中的进程实际使用的虚拟地址空间为:(I*0x02000000)( I*0x02000000 +0x01ffffff)快速上下文切换技术迭栏羽盆届淑炽稗倚遏割移租掸寄揭叁蛀匆杰吻落拙弱厦矿埔淳储汞掏蔓嵌入式系统教案嵌入式系统教案39

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号