第四章 CP15协处理器.ppt

上传人:仙人指路1688 文档编号:2907034 上传时间:2023-03-02 格式:PPT 页数:81 大小:2.43MB
返回 下载 相关 举报
第四章 CP15协处理器.ppt_第1页
第1页 / 共81页
第四章 CP15协处理器.ppt_第2页
第2页 / 共81页
第四章 CP15协处理器.ppt_第3页
第3页 / 共81页
第四章 CP15协处理器.ppt_第4页
第4页 / 共81页
第四章 CP15协处理器.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《第四章 CP15协处理器.ppt》由会员分享,可在线阅读,更多相关《第四章 CP15协处理器.ppt(81页珍藏版)》请在三一办公上搜索。

1、CP15协处理器,第四章,预习检查,什么是cache?Cache有哪两种写方式?MMU的功能是什么?,2,本章目标,了解ARM存储器组织结构了解S3C2440A的cache基本工作原理了解MMU基本工作原理,与地址映射,本章结构,CP15协处理器,6-1 ARM存储器,ARM存储系统有非常灵活的体系结构,可以适应不同的嵌入式应用系统的需要。ARM存储器系统可以使用简单的平板式地址映射机制,也可以使用其他技术提供功能更为强大的存储系统。提供多种类型的存储器件,如FLASH、ROM、SRAM等;Caches技术;写缓存技术(write buffers);虚拟内存和IO地址映射技术。,6-1 ARM

2、存储器,大多数的系统通过下面的方法之一实现对复杂存储系统的管理。使能Cache,缩小处理器和存储系统速度差别,从而提高系统的整体性能。引入存储保护机制,增强系统的安全性。引入一些机制保证将IO操作映射成内存操作后,各种IO操作能够得到正确的结果。,6-1 ARM存储器,8051的结构,6-1 ARM存储器,s32440的结构,6-1 ARM存储器,存储器的层次结构,6-2 协处理器CP15,CPl5,即通常所说的系统控制协处理器(System Control Coprocesssor)。它负责完成大部分的存储系统管理。,Cache,ARM内核,地址,地址,写缓冲,MMU或MPU,数据读,数据写

3、,数据,控制逻辑,CP15,AMBA总线接口,JTAG 及非AMBA信号,AMBA接口,6-2 协处理器CP15,CPl5包含l6个32位寄存器,其编号为015。CPl5中的寄存器可能是只读的,也可能是只写的,还有一些是可读可写的。在对协处理器寄存器进行操作时,需要注意以下几个问题。寄存器的访问类型(只读只写可读可写)。不同的访问引发的不同功能。相同编号的寄存器是否对应不同的物理寄存器。寄存器的具体作用。,6-2-1 CP15 寄存器访问指令,通常对协处理器CPl5的访问使用以下两种指令MCR:将ARM寄存器的值写入CPl5寄存器中;MRC:将CPl5寄存器的值写入ARM寄存器中。指令MCR和

4、MRC指令访问CPl5寄存器使用通用语法,MCR p15,MRC p15,6-2-2 CP15 中的寄存器,6-2-3 寄存器C0,寄存器c0包含的是ARM本身或芯片生产厂商的一些标识信息。当使用MRC指令读c0寄存器时,根据第二个操作码opcode2的不同,读出的标识符也是不同的。,6-2-3 寄存器C0,主标识符寄存器 当协处理器指令对CPl5进行操作,并且操作码0pcode2时,处理器的主标识符将被读出。从主标识符中,可以确定ARM体系结构的版本型号。如果bit15:12为0 x0,说明处理器是ARM7之前的处理器;如果bit15:12为0 x7,说明处理器为ARM7处理器;如果bit1

5、5:12为其他值,说明处理器为ARM7之后的处理器。bit31:24:生产厂商的编号,30 24 23 20 19 16 15 4 3 0,6-2-3 寄存器C0,Cache类型标识符寄存器 对于指令MRC来说,当协处理器寄存器为r0,而第二操作数opcode2为0b001时,指令读取值为Cache类型,即可以将处理器的Cache类型标识符寄存器的内容读取到寄存器r0中。,MCR P15,0,r0,c0,c0,1,6-2-3 寄存器C0,Cache类型标识符寄存器 Cache类型标识符定义了关于Cache的信息系统中的数据Cache和指令Cache是分开的还是统一的。Cache的容量、块大小以

6、及相联特性。Cache类型是直(writethrough)写还是回写(writeback)。对于回写(writeback)类型的Cache如何有效清除Cache内容。Cache是否支持内容锁定。,6-2-3 寄存器C0,Cache类型标识符寄存器编码格式Cache类型标识符定义了关于Cache的信息:,31 29 28 25 24 23 12 11 0,6-2-4 寄存器C1,CPl5中的寄存器C1包括以下控制功能:禁止使能MMU以及其他与存储系统有关的功能;配置存储系统以及删处理器中相关的工作。,31 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,6-3

7、高速缓冲存储器Cache,Cache存储器是一个容量小但存取速度非常快的存储器它保存最近用到的存储器数据拷贝。对于程序员来说,Cache是透明的。它自动决定保存哪些数据、覆盖哪些数据。现在Cache通常与处理器在同一芯片上实现。Cache能够发挥作用是因为程序具有局部性特性。,6-3 高速缓冲存储器Cache,谓局部性就是指,在任何特定的时间,微处理器趋于对相同区域的数据(如堆栈)多次执相同的指令(如循环)。Cache经常与写缓存器(write buffer)一起使用。通过引入Cache和写缓存区,存储系统的性能得到了很大的提高,但同时也带来了一些问题。,6-3 高速缓冲存储器Cache,位于

8、处理器中的少量高速缓冲存储器,保存最近被访问的存储空间内容的备份哪些存储空间需要读入到cache中,要通过MMU 或 MPU来控制依赖于内存的重使用仅用来改善速度较慢的存储器或总线宽度较窄的存储器的性能降低对总线宽度的要求减少功耗,外部存储器,CPU,Cache,地址,数据,总线接口,6-3-1 Cache的分类,统一Cache。指令和数据用同一个Cache,6-3-1 Cache的分类,指令和数据分开的Cache。有时这种组织方式也被称为改进的哈佛结构。,6-3-2 Cache的性能衡量,只有当所需要的Cache存储器内容已经在Cache时,微处理器才能以高时钟速率工作,因此,系统的总体性能

9、就可以用存储器访问中命中Cache的比例来衡量。当要访问的内容在Cache时称为命中(hit),而要访问的内容不在Cache时称为未命中(miss)。在给定时间间隔内,Cache命中的次数与总的存储器请求次数的比值被称为命中率。命中率用下面的公式进行计算:命中率=(Cache命中次数/存储器请求次数)*100%,6-3-3 Cache的工作原理,Cache的基本存储单元为Cache行(Cache line)。存储系统把Cache和主存储器都划分为相同大小的行。Cache与主存储器交换数据是以行为基本单位进行的。每一个Cache行都对应于主存中的一个存储块(memory block)Cache行

10、的大小通常是2L字节。通常情况下是16字节(4个字)和32字节(8个字)。如果Cache行的大小为2L字节,那么对主存的访问通常是2L字节对齐的。对于一个虚拟地址来说,它的bit31:L,是Cache行的一个标识。当CPU发出的虚拟地址的bit31:L和Cache中的某行bit31:L相同,那么Cache中包含CPU要访问的数据,即成为一次Cache命中。,6-3-3 Cache的工作原理,6-3-3 Cache的工作原理,数据以每次传送一行的方式复制到cache 中每个cache行包含连续的数据Cache行按其自然的行边界尺寸分配Cache中的数据一旦被获取后,立即对内核有效在一个cache

11、 读操作不命中后,将激发cache 行内容的填充但新数据应放在cache 的什么位置?ARM 处理器支持以下置换策略中的一个或多个:随机,循环轮换轮换指针指向下一个要填充的cache 行已经使用过的行将被收回和替换对回写数据cache而言,任何改过的数据都要写到存储器中,6-3-4 Cache与主存的关系,在Cache中采用地址映射将主存中的内容映射到Cache地址空间。具体的说,就是把存放在主存中的程序按照某种规则装入到Cache中,并建立主存地址到Cache地址之间的对应关系。而地址变换是指当程序已经装入到Cache后,在实际运行过程中,把主存地址变换成Cache地址。地址的映射和变换是密

12、切相关的。采用什么样的地址映射方法,就必然有与之对应的地址变换。直接映射和变换方式组相联映射和变换方式以及全相联和变换方式。,6-3-4 Cache与主存的关系,直接映射(direct-mapped)方式。直接映射是一种最简单,也是最直接的映射方式。主存中的每个地址都对应Cache存储器中惟一的一行。由于主存的容量远远大于Cache存储器,所以在主存中很多地址被映射到同一个Cache行。如果程序同时用到对应于Cache同一主存行的两个主存块,那么就会发生冲突,冲突的结果是导致Cache行的频繁变换。这种由直接映射导致的Cache存储器中的软件冲突称为颠簸(thrashing)问题。,6-3-4

13、 Cache与主存的关系,6-3-4 Cache与主存的关系,为了减少颠簸问题,有些Cache使用了组相联的映射策略。在组相联的地址映射和变换中,把主存和Cache按同样大小划分成组(set),每个组都由相同的行数组成。从主存的组到Cache的组之间采用直接映射方式。主存中的一组与Cache中的一组之间建立了之间映射方式后,在两个对应的组内部采用全相联映射方式。在ARM中采用的是组相联的地址映射和变换方式。如果Cache的行大小为2L,则同一行中各地址的bit31:L是相同的。如果Cache中组的大小(每组中包含的行数)为2S,则虚地址位bitL+S:L用于选择Cache中的某个组。,6-3-

14、4 Cache与主存的关系,2路组相联的Cache,6-3-4 Cache与主存的关系,4路组相联的Cache,31 10 9 5 4 2 1 0,Cache 行,5,3,注:每一个地址索引映射到一个cache 行,该行可存于4组的任意一组中(4组相联),存于 TAG中的地址(22 位),Index,Word,Unused,Data,way 0,TAG,Line 0,Line 1,Line 30,Line 31,这里是一个4k cache 的例子:4 组x 32 lines x 8 words=4kb cache,v,d0,d1,v-有效位 d0,d1 脏位,d0,d1,6-3-4 Cache

15、与主存的关系,随着Cache控制器的相联度的提高,冲突的可能性减少了。提高组相联程度,使主存地址能够映射到任意Cache行。这样的Cache被称为全相联Cache。硬件设计者提高Cache相联度的一种方法就是使用内容寻址寄存器CAM(ContentAddressable Memory)。CAM使用一组比较器,以比较输入的标签地址和存储在每一个有效Cache行中的标签位。CAM采取了与RAM相反的工作方式:RAM在得到一个地址后再给出数据,而CAM则是在检测到给定的数据值在存储器中后,再给出该数据的地址。使用CAM允许同时比较更多的地址中的标签位,从而增加了可以包含在一组的Cache行数。,6-

16、3-4 Cache与主存的关系,全相联的Cache,6-3-5 Cache的写策略,直写():如果位置在cache之内,cache 将被更新.数据也通过写缓冲送至存储器.回写:如果位置在cache之内,只有 cache 被更新.注:如果数据位置不在cache之内,数据将被直接写到存储器中。如果存储器是可cache或可缓冲的,写缓冲将被使用。,6-3-5 Cache的写策略,直写与回写的比较如果位置在cache之内,cache 将被更新.数据也通过写缓冲送至存储器.,6-3-6 Cache的替换策略,在Cache访问过程中,发现查找的Cache行已经失效,则需要从主存中调入新的行到Cache中。

17、在采用组相联的Cache中,一个来自主存的行可以放入多个Cache组中。当所有组中的对应行都已经装满时,就要使用Cache替换算法,Cache控制器选择下一个丢弃Cache行的策略被称为替换策略。在ARM常用的替换算法有两种:轮转算法随机替换算法。,6-3-6 Cache的替换策略,在常见ARM核使用的替换策略,6-3-7 Cache相关的编程接口,与Cache编程相关的CPl5的寄存器共有3个,它们分别为Cl、C7及C9。,6-3-7 Cache相关的编程接口,C1中与Cache相关的位,6-3-7 Cache相关的编程接口,CPl5中的寄存器c7主要用于控制Cache和写缓存。c7是一个只

18、写存储器,可以使用协处理器指令MCR对其进行操作。如果程序中包含读c7的操作,那么指令的结果不可预知。,6-3-8 内存一致性,当一个系统中同时使用了Cache、写缓存时,同一地址的数据可能同时出现在包括系统内存在内的多个不同的物理位置中。如果Cache引入了哈佛架构,使用数据和指令分类的Cache,那情况将更复杂。由于上述存储系统的多样性特点,当从内存中读取数据时,不能保证读取的是数据的最新值(即有可能出现下述情况:写操作将数据写入到Cache中,但更新数据还没有被回写到内存)。ARM存储系统中,数据不一致问题一方面可以通过存储系统自动保证解决,另一方面编写程序时要遵循一定的规则,防止数据不

19、一致性发生。,6-3-8 内存一致性,地址映射发生的变换 如果数据Cache为写回型Cache,清空该数据Cache。使数据Cache中相应的行无效。使指令Cache中相应的行无效。将写缓存区中被延时的操作全部执行。有些情况可能还要求相关的存储区域被置换成非缓存的。,6-3-8 内存一致性,当系统中采用分离的数据Cache和指令Cache时 对于使用数据和指令分离Cache的系统,使指令Cache的内容无效。对于使用数据和指令分离Cache的系统,如果数据Cache是写回类型的,清空数据Cache。,6-3-8 内存一致性,DMA造成的数据不一致 将DMA访问的存储器设置成非缓存的将DMA访问

20、的存储区所涉及的数据Cache中的行设置成无效,或者清空数据Cache。清空写缓存区(将写缓存区中延时操作全部执行)。在DMA访问期间限制存储器访问DMA所访问的存储区域。,阶段总结,ARM处理器支持多种类型存储器,具备复杂的管理和控制能力系统控制协处理器CP15,负责完成大部分系统存储管理Cache的工作原理Cache的性能Cache与主存的关系Cache的写策略Cache的替换策略内存一致性,64 存储管理单元MMU,MMU(Memory Management Unit)MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。MMU提供了一些资源以允许使用虚拟存

21、储器(将系统物理存储器重新编址,可将其看成一个独立于系统物理存储器的存储空间)。存储器有两种类型的地址:虚拟地址和物理地址。虚拟地址由编译器和连接器在定位程序时分配;物理地址用来访问实际的主存硬件模块(物理上程序存在的区域)。,6-4-1 MMU概述,内存管理单位MMU,对处理器内存管理主要是通过一个叫作传输表的数据结构来实现的。这个传输表存在于内存中,它有多个称为Entry的入口。每个入口定义了存储空间的一个页,页的大小从lKB到1MB,同时定义了这些页的属性,6-4-1 MMU概述,ARM系统中,MMU主要完成以下工作:虚拟存储空间到物理存储空间的映射;存储器访问权限的控制;设置虚拟存储空

22、间的缓存特性。,6-4-1 MMU概述,从虚拟地址到物理地址的变换过程是查询传输表的过程ARM结构体系中采用一个容量更小、访问速度和CPU中通用寄存器相当的存储器件来存放当前访问需要的地址变换条目,它是一个小容量的Cache。这个小容量的页表Cache称为TLB(Translation Lookaside Buffer)。,6-4-1 MMU概述,MMU可以将整个存储空间分为最多16个域(domain)。每个域对应一定的内存区域。MMU中寄存器c3用于控制与域有关的属性配置。,6-4-1 MMU概述,从内存管理单元控制存储器的访问权限将虚拟地址转换为物理地址MMU 的组成后备变换缓冲器(TLB

23、)最近用于页变换的cache页表浮动硬件逻辑更新 TLB访问控制逻辑如果MMU 被禁用了外部地址总线将直接输出虚拟地址,6-4-1 MMU概述,与MMU有关的协处理器寄存器及其作用,6-4-2 MMU与MPU,在ARM体系结构中,MMU将MPU的功能大大地增加,使系统内存管理更加灵活、方便。MMU还增加了虚拟地址到物理地址的映射。使用MMU中虚拟地址到物理地址的映射功能,即使任务被编译、连接、运行在主存中有重叠地址的区域中,它们仍然可以运行。,6-4-3 内存的访问过程,当处理器产生一个内存访问请求时,将传输一个虚拟地址给MMUMMU首先遍历TLB(如果使用分离的存储系统,它将分别遍历数据TL

24、B和指令TLB)。如果TLB中不保护虚拟地址入口(Entry),那么它将转入保存在内存中的传输主表,来获得所有访问地址的物理地址和访问权限。一旦访问成功,它将新的虚拟地址入口(Entry)信息保存在TLB中,以备下次查询使用。,6-4-3 内存的访问过程,保护&中止,虚拟存储器,物理存储器,变换和校验机制.,Process C,Process B,Process A,Manager,Process D,MMU,RAM,RAM,VRAM,ROM,RAM,RAM,RAM,变换表,I TLB,D TLB,6-4-4 MMU的使能与禁止,MMU的使能禁止可以通过CPl5寄存器的cl的bit0来控制。b

25、it0=0,MMU禁止。bit0=1,MMU使能。当MMU被禁止时,存储访问执行下列过程。存储系统是否支持Cache和写缓存,根据不同芯片设计不同而有所不同(ARM公司将设计权交给芯片厂商)。如果芯片规定当禁止MMU时禁止Cache和写缓存,则存储访问如果芯片规定禁止MMU时使能Cache和写缓存,则数据访问被视为无Cache(uncachable)和写缓存(unbufferable)的,即C=0、B=0。读取指令时,如果系统是统一的TLB,则C=0;如果使用分开的TLB,则C=1。存储访问不受权限控制,MMU也不会产生存储访问中止信号。所有物理地址和虚拟地址相等,即使用平板存储模式。,6-4

26、-5 虚拟地址到物理地址的转换,为了使任务有各自的虚拟存储器映射,MMU硬件采用地址重定位.在地址访问主存之前,转换处理器输出的虚拟地址。当处理器产生一个虚拟地址时,MMU取出这个虚拟地址的高位,遍历传输表,从而形成一个物理地址。虚拟存储空间到物理存储空间的映射是以内存块为单位进行的。,6-4-5 虚拟地址到物理地址的转换,变换过程由硬件完成,对用户是透明的变换表由软件产生,检查TLB是否包含该虚拟地址,虚拟地址,得到物理地址,页表浮动,得到物理地址,是,否,更新 TLB,6-4-5 虚拟地址到物理地址的转换,ARM支持的存储块的大小有以下几种段(Sections):大小为lM的存储块。大页(

27、Large pages):大小为64KB。小页(Small pages):大小为4KB。极小页(Tiny Pages):大小为lKB。,6-4-5 虚拟地址到物理地址的转换,ARM在内存中存在两级页表以实现上述地址映射过程。一级页表:一级页表包括两种类型的页表项,即保持指向二级页表起始地址的页表项和保存用于转换段(Section)地址的页表项。一级页表也称为段页表(section page table)。二级页表:二级页表包含以大页和小页为单位的地址变换页表项。,6-4-5 虚拟地址到物理地址的转换,第一级变换页表,虚拟地址,第一级页表项,物理地址,段索引,段基地址,1,AP,域,C,B,1

28、0,段基地址,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,段索引,索引进入第一级页表,+TTB,6-4-5 虚拟地址到物理地址的转换,一级页表项是转换表中的一个条目,它可以是:一个错误一个段描述一个粗略的或细致的页描述段描述指针指向1Mb 的段物理空间,包括访问权限和可cache和可缓冲的控制位如果第一级取返回的是一个页描述,这将提供第二级描述表的基地址,粗略页表,错误,详细页表,段,31,30,29,28,27,26,25,24,23,22,21,20,19,18,

29、17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,段基地址,1,AP,域选择,C,B,1 0,粗略的第二级描述基地址,1,域选择,0 1,详细的第二级描述基地址,1,域选择,1 1,0 0,6-4-5 虚拟地址到物理地址的转换,虚拟地址,第一级转换页表,C,B,Domain Selector,AP,0 x000,1,1 0,C,B,Domain Selector,AP,0 x002,1,1 0,C,B,Domain Selector,AP,0 xFFC,1,1 0,C,B,Domain Selector,AP,0 xFFF,1,1 0,C,B,Domain

30、 Selector,AP,0 xFFF,1,1 0,C,B,Domain Selector,AP,0 xFFF,1,1 0,C,B,Domain Selector,AP,0 xFFF,1,1 0,0 x002 00000,0 x003 00000,0 x004 00000,0 x001 00000,0 x005 00000,0 x006 00000,0 xFFF 00000,0 xFFE 00000,0 xFFD 00000,0 xFFC 00000,物理地址,4096 项,1 MB 段,1 MB 段,错误,0 x001 00000,0 x003 00000,0 x004 00000,0 x0

31、02 00000,0 x005 00000,0 x006 00000,0 xFFF 00000,0 xFFE 00000,0 xFFD 00000,0 xFFC 00000,0 x000 00000,0 x000 00000,0 0,0 0,Fine Table Base,1,1 1,Domain Selector,Coarse Table Base,1,0 1,Domain Selector,粗略第二级转换页表,细致第二级转换页表,6-4-5 虚拟地址到物理地址的转换,第二级地址变换,6-4-5 虚拟地址到物理地址的转换,第二级描述保存的是大页,小页的基地址位 1:0 代表访问类别微页只支持

32、详细页表加入微页是为了改善存储器以用于更高级的文件分段系统,大页,错误,微页,小页,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,大页基地址,0 1,0 0,AP3,AP2,AP1,AP0,C,B,小页基地址,C,B,1 0,AP3,AP2,AP1,AP0,微页基地址,1 1,C,B,AP,6-4-5 虚拟地址到物理地址的转换,第二级变换页表,第二级转换页表,C,B,AP3,Large Page Base,0 1,AP2,AP1,AP0,0 0,C,B,AP3,Smal

33、l Page Base,1 0,AP2,AP1,AP0,1 1,C,B,Tiny Page Base,1 1,AP,C,B,AP3,Small Page Base,1 0,AP2,AP1,AP0,C,B,AP3,Large Page Base,0 1,AP2,AP1,AP0,0 0,粗略页表-256 项,细致页表-1024 项,微页1024页,1kB,大页16页,64kB,大页16 页,64kB,小页256 页,4kB,小页256页,4kB,错误,6-4-6 域(domain)和存储器访问权限,域指的是一些段、大页或者小页的集合。MMU 访问主要由域控制所有定义的存储器区域都有一个相关联的域域

34、被定义为2比特的读写区可以定义16个域域通常允许3个状态客户态 服从段或页描述中的访问权限管理态 忽略段或页描述中的访问权限所以无错误产生无读写态 任何访问都将产生一个域错误可以通过简单的协处理器写操作修改域的读写区,D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0,31 0,6-4-6 域(domain)和存储器访问权限,6-4-6 域(domain)和存储器访问权限,6-4-6与TLB相关的操作,如果操作系统改变了页表中的数据,那么缓存在TLB中的转换数据可能就不再有效了。存储器核有一些CPl5命令用于清除TLB,从而使TLB中的数

35、据作废。由于对TLB表的查询经常会使系统访问内存(要查询的段、页不在TLB中),这就使得系统的平均访问时间大大增加。对于实时系统,就需要将一些关键的页表项锁定在访问速度相对较快的TLB中。,6-5 快速上下文切换扩展,快速上下文切换扩展原理快速上下文切换扩展(FCSE,Fast Context Switch Extension)是MMU中的一个附加硬件,用于提高ARM嵌入式系统的系统性能。FCSE使得多个独立任务可以运行在一个固定的重叠存储空间中,而在上下文切换时,不需要清理(clean)或清除(flush)Cache和TLB。,6-5 快速上下文切换扩展,快速上下文切换扩展原理,6-5 快速

36、上下文切换扩展,C13用于快速的文本切换(FCSE)进程 ID 可以取代虚拟地址的位31:25如果 CP15 之R13 是0,VA 位31:25 未修改有效地允许每个进程运行在相同的虚拟地址空间复未时为0MCR/MRC p15,0,Rd,c13,c0,0读进程ID寄存器,返回进程标识写操作将更新进程标识,Process ID SBZ,31 25 24 0,6-5 快速上下文切换扩展,C13用于快速的文本切换(FCSE),VA24:0,进程 ID,VA31:25,判决逻辑,来自内核的指令地址VA31:0,MVA31:0修改过的地址送入 Cache和 MMU,OS进程管理,6-5 快速上下文切换扩

37、展,如果(0 VA 32 MB)则 MVA=(32MB Process ID)+VA,4 GB32 MB,来自内核的虚拟地址(VA),MMU虚拟地址(MVA),4 GB32 MB0 MB,进程 ID,P0,P1,P2,P3,P4,P31,P30,0 MB,阶段总结,ARM存储器的组织协处理器CP15的用途Cache的工作原理和控制策略存储管理单元MMU的作用虚拟地址到物理地址的转换快速上下文切换,阶段练习,相比一级页表,多级页表有何优点?页表为Coarse Page Table,页为Large Page时的转换过程是怎样的?为使系统性能最佳,N-Way Set Associative Cache的N应根据什么确定?,本章总结,CP15协处理器,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号