版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CP15CP15协处理器第四章第1页/共81页预习检查 什么是cache? Cache有哪两种写方式? MMU的功能是什么?2第2页/共81页本章目标 了解ARM存储器组织结构 了解S3C2440A的cache基本工作原理 了解MMU基本工作原理,与地址映射 第3页/共81页本章结构CP15协处理器协处理器协处理器协处理器CP15结构和功能结构和功能高速高速Cache内存管理单元内存管理单元MMU快速上下文切换快速上下文切换ARM存储器存储器第4页/共81页6-1 ARM存储器 ARM存储系统有非常灵活的体系结构,可以适应不同的嵌入式应用系统的需要。 ARM存储器系统可以使用简单的平板式地址映
2、射机制,也可以使用其他技术提供功能更为强大的存储系统。 提供多种类型的存储器件,如FLASH、ROM、SRAM等; Caches技术; 写缓存技术(write buffers); 虚拟内存和IO地址映射技术。第5页/共81页6-1 ARM存储器 大多数的系统通过下面的方法之一实现对复杂存储系统的管理。 使能Cache,缩小处理器和存储系统速度差别,从而提高系统的整体性能。 引入存储保护机制,增强系统的安全性。 引入一些机制保证将IO操作映射成内存操作后,各种IO操作能够得到正确的结果。 第6页/共81页6-1 ARM存储器 8051的结构第7页/共81页6-1 ARM存储器 s32440的结构
3、第8页/共81页6-1 ARM存储器 存储器的层次结构第9页/共81页6-2 协处理器CP15 CPl5,即通常所说的系统控制协处理器(System Control Coprocesssor)。它负责完成大部分的存储系统管理。 CacheARM内核地址地址写缓冲MMU或MPU数据读数据写数据控制逻辑控制逻辑CP15AMBA总线接口JTAG 及非AMBA信号AMBA接口第10页/共81页6-2 协处理器CP15 CPl5包含l6个32位寄存器,其编号为015。 CPl5中的寄存器可能是只读的,也可能是只写的,还有一些是可读可写的。在对协处理器寄存器进行操作时,需要注意以下几个问题。 寄存器的访问
4、类型(只读只写可读可写)。 不同的访问引发的不同功能。 相同编号的寄存器是否对应不同的物理寄存器。 寄存器的具体作用。第11页/共81页6-2-1 CP15 寄存器访问指令 通常对协处理器CPl5的访问使用以下两种指令 MCR:将ARM寄存器的值写入CPl5寄存器中; MRC:将CPl5寄存器的值写入ARM寄存器中。 指令MCR和MRC指令访问CPl5寄存器使用通用语法MCR p15, , , , , MRC p15, , , , , 第12页/共81页6-2-2 CP15 中的寄存器寄存器编号 基本作用特殊用途 0 ID编号(只读) ID和Cache类型 1 控制位 各种控制位 2 存储器保
5、护和控制MMU:地址转换表基地址MPU:Cache属性设置 3内存保护和控制MMU:域访问控制MPU:写缓存控制 4内存保护和控制保留 5内存保护和控制MMU:错误状态MPU:访问权限控制 6内存保护和控制MMU:错误状态MPU:保护区域控制 7 Cache和写缓存Cache和写缓存控制 8内存保护和控制MMU:TLB控制MPU:保留 9 Cache和写缓存Cache锁定 10内存保护和控制MMU:TLB锁定MPU:保留 11保留保留 12保留保留 13进程ID进程ID 14保留保留 15芯片生产厂商定义芯片生产厂商定义第13页/共81页6-2-3 寄存器C0操作码操作码 opcode2opc
6、ode2对应的标识符寄存器对应的标识符寄存器0b0000b000主标识符寄存器主标识符寄存器Ob001Ob001 CacheCache类型寄存器类型寄存器其他其他保留保留寄存器c0包含的是ARM本身或芯片生产厂商的一些标识信息。当使用MRC指令读c0寄存器时,根据第二个操作码opcode2的不同,读出的标识符也是不同的。第14页/共81页6-2-3 寄存器C0由生产商决定(Implementor)产品子编号 (Varimant) Arm系统版本号 (Architecture) 产品主编号 (Primary Part Number)处理器版本型号 (Revision)主标识符寄存器 当协处理器指
7、令对CPl5进行操作,并且操作码0pcode2时,处理器的主标识符将被读出。从主标识符中,可以确定ARM体系结构的版本型号。 如果bit15:12为0 x0,说明处理器是ARM7之前的处理器; 如果bit15:12为0 x7,说明处理器为ARM7处理器; 如果bit15:12为其他值,说明处理器为ARM7之后的处理器。 bit31:24:生产厂商的编号30 24 23 20 19 16 15 4 3 0第15页/共81页6-2-3 寄存器C0Cache类型标识符寄存器 对于指令MRC来说,当协处理器寄存器为r0,而第二操作数opcode2为0b001时,指令读取值为Cache类型,即可以将处理
8、器的Cache类型标识符寄存器的内容读取到寄存器r0中。MCR P15 ,0,r0,c0,c0,1第16页/共81页6-2-3 寄存器C0Cache类型标识符寄存器 Cache类型标识符定义了关于Cache的信息 系统中的数据Cache和指令Cache是分开的还是统一的。 Cache的容量、块大小以及相联特性。 Cache类型是直(writethrough)写还是回写(writeback)。 对于回写(writeback)类型的Cache如何有效清除Cache内容。 Cache是否支持内容锁定。第17页/共81页6-2-3 寄存器C0000属性字段 S 数据Cache相关属性数据Cache相关
9、属性Cache类型标识符寄存器编码格式Cache类型标识符定义了关于Cache的信息:31 29 28 25 24 23 12 11 0第18页/共81页6-2-4 寄存器C1SBZP/UNPL4RRVIZFRSBLDPWCAMCPl5中的寄存器C1包括以下控制功能:禁止使能MMU以及其他与存储系统有关的功能;配置存储系统以及删处理器中相关的工作。31 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0第19页/共81页6-3 高速缓冲存储器CacheCache存储器是一个容量小但存取速度非常快的存储器它保存最近用到的存储器数据拷贝。对于程序员来说,Cache是透
10、明的。它自动决定保存哪些数据、覆盖哪些数据。现在Cache通常与处理器在同一芯片上实现。Cache能够发挥作用是因为程序具有局部性特性。 第20页/共81页6-3 高速缓冲存储器Cache谓局部性就是指,在任何特定的时间,微处理器趋于对相同区域的数据(如堆栈)多次执相同的指令(如循环)。Cache经常与写缓存器(write buffer)一起使用。通过引入Cache和写缓存区,存储系统的性能得到了很大的提高,但同时也带来了一些问题。第21页/共81页6-3 高速缓冲存储器Cache位于处理器中的少量高速缓冲存储器, 保存最近被访问的存储空间内容的备份哪些存储空间需要读入到cache中,要通过M
11、MU 或 MPU来控制依赖于内存的重使用仅用来改善速度较慢的存储器或总线宽度较窄的存储器的性能降低对总线宽度的要求减少功耗外部存储器CPUCache地址数据总线接口第22页/共81页6-3-1 Cache的分类统一Cache。指令和数据用同一个Cache 第23页/共81页6-3-1 Cache的分类指令和数据分开的Cache。有时这种组织方式也被称为改进的哈佛结构。第24页/共81页6-3-2 Cache的性能衡量只有当所需要的Cache存储器内容已经在Cache时,微处理器才能以高时钟速率工作,因此,系统的总体性能就可以用存储器访问中命中Cache的比例来衡量。当要访问的内容在Cache时
12、称为命中(hit),而要访问的内容不在Cache时称为未命中(miss)。在给定时间间隔内,Cache命中的次数与总的存储器请求次数的比值被称为命中率。命中率用下面的公式进行计算:命中率=(Cache命中次数/存储器请求次数)*100%第25页/共81页6-3-3 Cache的工作原理 Cache的基本存储单元为Cache行(Cache line)。存储系统把Cache和主存储器都划分为相同大小的行。Cache与主存储器交换数据是以行为基本单位进行的。每一个Cache行都对应于主存中的一个存储块(memory block)Cache行的大小通常是2L字节。通常情况下是16字节(4个字)和32字
13、节(8个字)。如果Cache行的大小为2L字节,那么对主存的访问通常是2L字节对齐的。对于一个虚拟地址来说,它的bit31 :L ,是Cache行的一个标识。当CPU发出的虚拟地址的bit31:L和Cache中的某行bit31:L相同,那么Cache中包含CPU要访问的数据,即成为一次Cache命中。 第26页/共81页6-3-3 Cache的工作原理第27页/共81页6-3-3 Cache的工作原理数据以每次传送一行的方式复制到cache 中每个cache行包含连续的数据Cache行按其自然的行边界尺寸分配Cache中的数据一旦被获取后,立即对内核有效在一个cache 读操作不命中后,将激发
14、cache 行内容的填充但新数据应放在cache 的什么位置?ARM 处理器支持以下置换策略中的一个或多个: 随机, 循环轮换 轮换指针指向下一个要填充的cache 行已经使用过的行将被收回和替换对回写数据cache而言, 任何改过的数据都要写到存储器中第28页/共81页6-3-4 Cache与主存的关系 在Cache中采用地址映射将主存中的内容映射到Cache地址空间。 具体的说,就是把存放在主存中的程序按照某种规则装入到Cache中,并建立主存地址到Cache地址之间的对应关系。而地址变换是指当程序已经装入到Cache后,在实际运行过程中,把主存地址变换成Cache地址。 地址的映射和变换
15、是密切相关的。采用什么样的地址映射方法,就必然有与之对应的地址变换。 直接映射和变换方式 组相联映射和变换方式以及 全相联和变换方式。 第29页/共81页6-3-4 Cache与主存的关系 直接映射(direct-mapped)方式。 直接映射是一种最简单,也是最直接的映射方式。主存中的每个地址都对应Cache存储器中惟一的一行。由于主存的容量远远大于Cache存储器,所以在主存中很多地址被映射到同一个Cache行。 如果程序同时用到对应于Cache同一主存行的两个主存块,那么就会发生冲突,冲突的结果是导致Cache行的频繁变换。这种由直接映射导致的Cache存储器中的软件冲突称为颠簸(thr
16、ashing)问题。 第30页/共81页6-3-4 Cache与主存的关系主存储器0 x00000 x00100 x00200 x00300 x00400 x00500 x00600 x00700 x00800 x0090Cache00.0110010 x006400tagindex word地址tag ram数据=第31页/共81页6-3-4 Cache与主存的关系 为了减少颠簸问题,有些Cache使用了组相联的映射策略。 在组相联的地址映射和变换中,把主存和Cache按同样大小划分成组(set),每个组都由相同的行数组成。 从主存的组到Cache的组之间采用直接映射方式。 主存中的一组与C
17、ache中的一组之间建立了之间映射方式后,在两个对应的组内部采用全相联映射方式。 在ARM中采用的是组相联的地址映射和变换方式。 如果Cache的行大小为2L,则同一行中各地址的bit31:L是相同的。如果Cache中组的大小(每组中包含的行数)为2S,则虚地址位bitL+S:L用于选择Cache中的某个组。 第32页/共81页6-3-4 Cache与主存的关系 2路组相联的Cache主存储器0 x00000 x00100 x00200 x00300 x00400 x00500 x00600 x00700 x00800 x0090Way 0Way 1Set 02-Way, 4 Sets?数据=
18、tagindex=tagindexWay 0Way 1目标计数器n替换策略:n随机n循环第33页/共81页6-3-4 Cache与主存的关系 4路组相联的CacheDecoderDecoderDecoder31 10 9 5 4 2 1 0Cache 行53注:每一个地址索引映射到一个cache 行,该行可存于4组的任意一组中(4组相联)存于 TAG中的地址 (22 位)IndexWordUnusedDataway 0TAGLine 0Line 1Line 30Line 31这里是一个4k cache 的例子: 4 组x 32 lines x 8 words = 4kb cacheDecode
19、rvd0d1v- 有效位 d0,d1 脏位01234567d0 d1第34页/共81页6-3-4 Cache与主存的关系 随着Cache控制器的相联度的提高,冲突的可能性减少了。 提高组相联程度,使主存地址能够映射到任意Cache行。这样的Cache被称为全相联Cache。 硬件设计者提高Cache相联度的一种方法就是使用内容寻址寄存器CAM(ContentAddressable Memory)。 CAM使用一组比较器,以比较输入的标签地址和存储在每一个有效Cache行中的标签位。 CAM采取了与RAM相反的工作方式:RAM在得到一个地址后再给出数据,而CAM则是在检测到给定的数据值在存储器中
20、后,再给出该数据的地址。 使用CAM允许同时比较更多的地址中的标签位,从而增加了可以包含在一组的Cache行数。 第35页/共81页6-3-4 Cache与主存的关系 全相联的Cache第36页/共81页6-3-5 Cache的写策略 直写(): 如果位置在cache之内, cache 将被更新. 数据也通过写缓冲送至存储器. 回写: 如果位置在cache之内,只有 cache 被更新. 注: 如果数据位置不在cache之内, 数据将被直接写到存储器中。如果存储器是可cache或可缓冲的,写缓冲将被使用 。CPUCacheWrite BufferAccess Mode 0Non cacheab
21、le, non bufferable0GCd GBd0Non cacheable, bufferable11WT, Write Through01WB, Write Back1ExternalMemory访问模式 0非 cache, 非缓冲0GCd GBd0非 cache, 可缓冲11WT, 直写01WB, 回写1CPUCache写缓冲外部存储器wbwt第37页/共81页6-3-5 Cache的写策略 直写与回写的比较 如果位置在cache之内, cache 将被更新. 数据也通过写缓冲送至存储器.写策略写策略直写法直写法回写法回写法可靠性可靠性 高低与主存的通信量与主存的通信量多少控制的复杂
22、性控制的复杂性简单复杂硬件实现代价硬件实现代价大小第38页/共81页6-3-6 Cache的替换策略 在Cache访问过程中,发现查找的Cache行已经失效,则需要从主存中调入新的行到Cache中。 在采用组相联的Cache中,一个来自主存的行可以放入多个Cache组中。当所有组中的对应行都已经装满时,就要使用Cache替换算法, Cache控制器选择下一个丢弃Cache行的策略被称为替换策略。在ARM常用的替换算法有两种: 轮转算法 随机替换算法。 第39页/共81页6-3-6 Cache的替换策略 在常见ARM核使用的替换策略内核写策略替换策略ARM720T直写法随机ARM740T直写法随
23、机ARM920T直写法、回写法随机、轮转ARM940T直写法、回写法随机ARM926EJ-S直写法、回写法随机、轮转ARM946E直写法、回写法随机、轮转ARMl020E直写法、回写法随机、轮转ARMl 026EJS直写法、回写法随机、轮转Intel Stong ARM回写法轮转Intel XSCale直写法轮转第40页/共81页6-3-7 Cache相关的编程接口 与Cache编程相关的CPl5的寄存器共有3个,它们分别为Cl、C7及C9。 第41页/共81页6-3-7 Cache相关的编程接口 C1中与Cache相关的位 相关位作用C(bit2)当数据Cache和指令Cache分开时,本控
24、制位禁止使能数据Cache当数据Cache和指令Cache统一时,本控制位禁止使能整个Cache 0:禁止Cache 1:使能Cache如果系统中不含Cache,读取时该位返回0,写入时忽略该位当系统中Cache不能禁止时,读取返回l,写入时忽略该位I(bit12)当数据Cache和指令Cache分开时,本控制位禁止使能数据Cache0:禁止Cache1:使能Cache如果系统使用统一的指令Cache和数据Cache或者系统中不含Cache,读取时该位返回0,写入时忽略该位当系统中Cache不能禁止时,读取返回l,写入时忽略该位RR(bit14)如果系统中Cache的淘汰算法可以选择的话,本控
25、制位选择淘汰算法 0:选择常规的淘汰算法,如随机淘汰算法RR(bit14) ;1:选择预测性的淘汰算法,如轮转(round-robin)淘汰算法;如果系统中淘汰算法不可选择,写入该位时被忽略,读取该位时,根据其淘汰算法可以简单地预测最坏情况,并返回1或者0第42页/共81页6-3-7 Cache相关的编程接口 CPl5中的寄存器c7主要用于控制Cache和写缓存。 c7是一个只写存储器,可以使用协处理器指令MCR对其进行操作。如果程序中包含读c7的操作,那么指令的结果不可预知。第43页/共81页6-3-8 内存一致性 当一个系统中同时使用了Cache、写缓存时,同一地址的数据可能同时出现在包括
26、系统内存在内的多个不同的物理位置中。如果Cache引入了哈佛架构,使用数据和指令分类的Cache,那情况将更复杂。 由于上述存储系统的多样性特点,当从内存中读取数据时,不能保证读取的是数据的最新值(即有可能出现下述情况:写操作将数据写入到Cache中,但更新数据还没有被回写到内存)。 ARM存储系统中,数据不一致问题一方面可以通过存储系统自动保证解决,另一方面编写程序时要遵循一定的规则,防止数据不一致性发生。第44页/共81页6-3-8 内存一致性 地址映射发生的变换 如果数据Cache为写回型Cache,清空该数据Cache。 使数据Cache中相应的行无效。 使指令Cache中相应的行无效
27、。 将写缓存区中被延时的操作全部执行。 有些情况可能还要求相关的存储区域被置换成非缓存的。 第45页/共81页6-3-8 内存一致性 当系统中采用分离的数据Cache和指令Cache时 对于使用数据和指令分离Cache的系统,使指令Cache的内容无效。 对于使用数据和指令分离Cache的系统,如果数据Cache是写回类型的,清空数据Cache。 第46页/共81页6-3-8 内存一致性 DMA造成的数据不一致 将DMA访问的存储器设置成非缓存的 将DMA访问的存储区所涉及的数据Cache中的行设置成无效,或者清空数据Cache。 清空写缓存区(将写缓存区中延时操作全部执行)。 在DMA访问期
28、间限制存储器访问DMA所访问的存储区域。第47页/共81页阶段总结 ARM处理器支持多种类型存储器,具备复杂的管理和控制能力 系统控制协处理器CP15,负责完成大部分系统存储管理 Cache的工作原理Cache的性能Cache与主存的关系Cache的写策略Cache的替换策略 内存一致性第48页/共81页64 存储管理单元MMU MMU(Memory Management Unit) MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。 MMU提供了一些资源以允许使用虚拟存储器(将系统物理存储器重新编址,可将其看成一个独立于系统物理存储器的存储空间)。 存储器有
29、两种类型的地址:虚拟地址和物理地址。 虚拟地址由编译器和连接器在定位程序时分配; 物理地址用来访问实际的主存硬件模块(物理上程序存在的区域)。第49页/共81页6-4-1 MMU概述 内存管理单位MMU,对处理器内存管理主要是通过一个叫作传输表的数据结构来实现的。 这个传输表存在于内存中,它有多个称为Entry的入口。 每个入口定义了存储空间的一个页,页的大小从lKB到1MB,同时定义了这些页的属性 第50页/共81页6-4-1 MMU概述 ARM系统中,MMU主要完成以下工作: 虚拟存储空间到物理存储空间的映射; 存储器访问权限的控制; 设置虚拟存储空间的缓存特性。第51页/共81页6-4-
30、1 MMU概述 从虚拟地址到物理地址的变换过程是查询传输表的过程 ARM结构体系中采用一个容量更小、访问速度和CPU中通用寄存器相当的存储器件来存放当前访问需要的地址变换条目,它是一个小容量的Cache。 这个小容量的页表Cache称为TLB(Translation Lookaside Buffer)。 第52页/共81页6-4-1 MMU概述 MMU可以将整个存储空间分为最多16个域(domain)。每个域对应一定的内存区域。 MMU中寄存器c3用于控制与域有关的属性配置。 第53页/共81页6-4-1 MMU概述 从内存管理单元 控制存储器的访问权限 将虚拟地址转换为物理地址 MMU 的组
31、成 后备变换缓冲器 (TLB) 最近用于页变换的cache 页表浮动硬件逻辑 更新 TLB 访问控制逻辑 如果MMU 被禁用了 外部地址总线将直接输出虚拟地址第54页/共81页6-4-1 MMU概述 与MMU有关的协处理器寄存器及其作用 协处理器寄存器协处理器寄存器作用作用c1中某些位中某些位配置配置MMU中的一些操作中的一些操作c2保存内存中页表基地址保存内存中页表基地址c3设置域访问权限设置域访问权限c4保留保留c5内存访问失效状态标准内存访问失效状态标准c6内存访问失效时失效地址内存访问失效时失效地址c8控制与清除控制与清除TLB内容相关的操作内容相关的操作clO控制与锁定控制与锁定TL
32、B内容相关的操作内容相关的操作第55页/共81页6-4-2 MMU与MPU 在ARM体系结构中,MMU将MPU的功能大大地增加,使系统内存管理更加灵活、方便。 MMU还增加了虚拟地址到物理地址的映射。 使用MMU中虚拟地址到物理地址的映射功能,即使任务被编译、连接、运行在主存中有重叠地址的区域中,它们仍然可以运行。第56页/共81页6-4-3 内存的访问过程 当处理器产生一个内存访问请求时,将传输一个虚拟地址给MMU MMU首先遍历TLB(如果使用分离的存储系统,它将分别遍历数据TLB和指令TLB)。 如果TLB中不保护虚拟地址入口(Entry),那么它将转入保存在内存中的传输主表,来获得所有
33、访问地址的物理地址和访问权限。 一旦访问成功,它将新的虚拟地址入口(Entry)信息保存在TLB中,以备下次查询使用。第57页/共81页6-4-3 内存的访问过程保护 & 中止虚拟存储器物理存储器 变换和校验机制.Process CProcess BProcess AManagerProcess DMMURAMRAMVRAMROMRAMRAMRAM变换表I TLBD TLB第58页/共81页6-4-4 MMU的使能与禁止 MMU的使能禁止可以通过CPl5寄存器的cl的bit0来控制。 bit0=0,MMU禁止。 bit0=1,MMU使能。 当MMU被禁止时,存储访问执行下列过程。 存储
34、系统是否支持Cache和写缓存,根据不同芯片设计不同而有所不同(ARM公司将设计权交给芯片厂商)。 如果芯片规定当禁止MMU时禁止Cache和写缓存,则存储访问 如果芯片规定禁止MMU时使能Cache和写缓存,则数据访问被视为无Cache (uncachable)和写缓存(unbufferable)的,即C=0、B=0。读取指令时,如果系统是统一的TLB,则C=0;如果使用分开的TLB,则C=1。 存储访问不受权限控制,MMU也不会产生存储访问中止信号。 所有物理地址和虚拟地址相等,即使用平板存储模式。第59页/共81页6-4-5 虚拟地址到物理地址的转换 为了使任务有各自的虚拟存储器映射,M
35、MU硬件采用地址重定位. 在地址访问主存之前,转换处理器输出的虚拟地址。 当处理器产生一个虚拟地址时,MMU取出这个虚拟地址的高位,遍历传输表,从而形成一个物理地址。 虚拟存储空间到物理存储空间的映射是以内存块为单位进行的。第60页/共81页6-4-5 虚拟地址到物理地址的转换 变换过程由硬件完成,对用户是透明的 变换表由软件产生检查TLB是否包含该虚拟地址虚拟地址得到物理地址页表浮动得到物理地址是否更新 TLB第61页/共81页6-4-5 虚拟地址到物理地址的转换 ARM支持的存储块的大小有以下几种 段(Sections):大小为lM的存储块。 大页(Large pages):大小为64KB
36、。 小页(Small pages):大小为4KB。 极小页(Tiny Pages):大小为lKB。第62页/共81页6-4-5 虚拟地址到物理地址的转换 ARM在内存中存在两级页表以实现上述地址映射过程。 一级页表: 一级页表包括两种类型的页表项,即保持指向二级页表起始地址的页表项和保存用于转换段(Section)地址的页表项。一级页表也称为段页表(section page table)。 二级页表: 二级页表包含以大页和小页为单位的地址变换页表项。第63页/共81页6-4-5 虚拟地址到物理地址的转换 第一级变换页表 虚拟地址 第一级页表项 物理地址 段索引段基地址1AP域C B 1 0段基
37、地址313029282726252423222120191817161514131211109876543210段索引索引进入第一级页表+TTB第64页/共81页6-4-5 虚拟地址到物理地址的转换 一级页表项是转换表中的一个条目,它可以是: 一个错误 一个段描述 一个粗略的或细致的页描述 段描述指针指向1Mb 的段物理空间,包括访问权限和可cache和可缓冲的控制位 如果第一级取返回的是一个页描述,这将提供第二级描述表的基地址粗略页表错误详细页表段313029282726252423222120191817161514131211109876543210段基地址1AP域选择C B 1 0粗略
38、的第二级描述基地址1域选择0 1详细的第二级描述基地址1域选择1 10 0第65页/共81页6-4-5 虚拟地址到物理地址的转换 虚拟地址第一级转换页表C BDomain SelectorAP0 x00011 0C BDomain SelectorAP0 x00211 0C BDomain SelectorAP0 xFFC11 0C BDomain SelectorAP0 xFFF11 0C BDomain SelectorAP0 xFFF11 0C BDomain SelectorAP0 xFFF11 0C BDomain SelectorAP0 xFFF11 00 x002 000000
39、x003 000000 x004 000000 x001 000000 x005 000000 x006 000000 xFFF 000000 xFFE 000000 xFFD 000000 xFFC 00000物理地址 4096 项 1 MB 段 1 MB 段 错误0 x001 000000 x003 000000 x004 000000 x002 000000 x005 000000 x006 000000 xFFF 000000 xFFE 000000 xFFD 000000 xFFC 000000 x000 000000 x000 000000 00 0Fine Table Base1
40、1 1Domain SelectorCoarse Table Base10 1Domain Selector粗略第二级转换页表细致第二级转换页表第66页/共81页6-4-5 虚拟地址到物理地址的转换 第二级地址变换 虚拟地址 物理地址313029282726252423222120191817161514131211109876543210页索引索引进入第一级页表第一级页表项 第二级页表项 页索引大页/小页/微页基地址索引进入第二级页表大页/小页/微页基地址x xC BAP粗略/细致第二级描述基地址1页x 1+TTB+第67页/共81页6-4-5 虚拟地址到物理地址的转换 第二级描述保存的是大
41、页,小页的基地址 位 1:0 代表访问类别 微页只支持详细页表 加入微页是为了改善存储器以用于更高级的文件分段系统大页错误微页小页313029282726252423222120191817161514131211109876543210大页基地址0 10 0AP3AP2AP1AP0C B小页基地址C B 1 0AP3AP2AP1AP0微页基地址1 1C BAP第68页/共81页6-4-5 虚拟地址到物理地址的转换 第二级变换页表第二级转换页表C BAP3Large Page Base0 1AP2 AP1 AP00 0C BAP3Small Page Base1 0AP2 AP1 AP01 1C BTiny Page Base1 1APC BAP3Small Page Base1 0AP2 AP1 AP0C BAP3Large Page Base0 1AP2 AP1 AP00 0 粗略页表 - 256 项 细致页表 - 1024 项微页1024页1kB大页16页64kB大页16 页64kB小页256 页4kB小页256页4kB错误第69页/共81页6-4-6 域(domain)和存储器访问权限 域
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度体育场馆综合物业管理服务协议
- 2024年店铺装修工程合同
- 2024年室内装修工程标准协议模板版
- 2024年国内水铁联运货品保险合同范本版
- 2024年度企业咨询服务合同(复杂、详细)
- 2024年度不动产综合服务保障协议版B版
- 2024年度办公电脑设备供应及服务协议版
- 2024年度合作开发合同:钢铁行业合作开发协议2篇
- 2024上海建筑工程分包合同
- 2024年度乙状乙方汽车销售服务合同2篇
- 2024时事政治考试题库(100题)
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- (高清版)JTG 3370.1-2018 公路隧道设计规范 第一册 土建工程
- 教育新篇章:数字化转型
- 《实验室安全教育》课件-事故急救与应急处理
- 电脑耗材实施方案、供货方案、售后服务方案
- 宅基地确权委托书
- 精神发育迟滞的护理查房
- 孪晶电子衍射图的分析
- 《肺康复》PPT课件
评论
0/150
提交评论