存储管理单元MMU
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6-2-2 CP15 中的寄存器
寄存器编号 0 1 2
3
4 5
6
7 8
9 10
11 12 13 14 15
基本作用 ID编号(只读) 控制位 存储器保护和控制
内存保护和控制
内存保护和控制 内存保护和控制
内存保护和控制
Cache和写缓存 内存保护和控制
Cache和写缓存 内存保护和控制
保留 保留 进程ID 保留 芯片生产厂商定义
指令MCR和MRC指令访问CPl5寄存器使用通
MCR{<cond>} p15, <opcode1=0>, <Rd>, <CRm>, <CRm> {, <opcode2>}
用语法 MRC{<cond>} p15, <opcode1=0>, <Rd>, <CRm>, <CRm> {, <opcode2>}
第四章
CP15协处理器
预习检查
什么是cache? Cache有哪两种写方式? MMU的功能是什么?
2
本章目标
了解ARM存储器组织结构 了解S3C2440A的cache基本工作原理 了解MMU基本工作原理,与地址映射
本章结构
ARM存储器 协处理器CP15结构和功能
CP15协处理器
6-2-3 寄存器C0
主标识符寄存器
当协处理器指令对CPl5进行操作,并且操作码0pcode2时,处理器的主 标识符将被读出。从主标识符中,可以确定ARM体系结构的版本型号 。
• 如果bit[15:12]为0x0,说明处理器是ARM7之前的处理器; • 如果bit[15:12]为0x7,说明处理器为ARM7处理器; • 如果bit[15:12]为其他值,说明处理器为ARM7之后的处理器。 • bit[31:24]:生产厂商的编号
寄存器的访问类型(只读/只写/可读可写)。 不同的访问引发的不同功能。
相同编号的寄存器是否对应不同的物理寄存器。
寄存器的具体作用。
6-2-1 CP15 寄存器访问指令
通常对协处理器CPl5的访问使用以下两种指 令
MCR:将ARM寄存器的值写入CPl5寄存器中; MRC:将CPl5寄存器的值写入ARM寄存器中。
8051的结构
6-1 ARM存储器
s32440的结构
6-1 ARM存储器
存储器的层次结构
6-2 协处理器CP15
CPl5,即通常所说的系统控制协处理 器(System Control Coprocesssor)。
JTAG它及非负AM责BA信完号 成大部分的存储系统管理。
地址
ARM 内核
30
24 23
20 19
16 15
43
0
由生产商决定 (Implementor)
产品子编号 Arm系统版本号 (Varimant) (Architecture)
产品主编号 处理器版本型
(Primary
号
Part Number) (Revision)
6-2-3 寄存器C0
Cache类型标识符寄存器
对于指令MRC来说,当协处理器寄存器为r0,而第二操作数opcode2为 0b001时,指令读取值为Cache类型,即可以将处理器的Cache类型标识 符寄存器的内容读取到寄存器r0中。
高速Cache
内存管理单元MMU 快速上下文切换
6-1 ARM存储器
ARM存储系统有非常灵活的体系结构,可以适应不同的嵌入式应 用系统的需要。
ARM存储器系统可以使用简单的平板式地址映射机制,也可以使 用其他技术提供功能更为强大的存储系统。
提供多种类型的存储器件,如FLASH、ROM、SRAM等; Caches技术; 写缓存技术(write buffers); 虚拟内存和I/O地址映射技术。
保留
保留
进程ID
保留
芯片生产厂商定义
6-2-3 寄存器C0
寄存器c0包含的是ARM本身或芯片生产厂商的一些标识信息。 当使用MRC指令读c0寄存器时,根据第二个操作码opcode2的不同,读出 的标识符也是不同的。
操作码 opcode2 0b000 Ob001 其他
对应的标识符寄存器 主标识符寄存器 Cache类型寄存器 保留
6-1 ARM存储器
大多数的系统通过下面的方法之一实现对复杂 存储系统的管理。
使能Cache,缩小处理器和存储系统速度差别,从而提高系统的整体 性能。
引入存储保护机制,增强系统的安全性。 引入一些机制保证将I/O操作映射成内存操作后,各种I/O操作能够
得到正确的结果。
6-1 ARM存储器
特殊用途
ID和Cache类型
各种控制位
MMU:地址转换表基地址 MPU:Cache属性设置
MMU:域访问控制 MPU:写缓存控制
保留
MMU:错误状态 MPU:访问权限控制
MMU:错误状态 MPU:保护区域控制
Cache和写缓存控制
MMU:TLB控制 MPU:保留
Cache锁定
MMU:TLB锁定 MPU:保留
MCR P15 ,0,r0,c0,c0,1
6-2-3 寄存器C0
Cache类型标识符寄存器
Cache类型标识符定义了关于Cache的信息
• 系统中的数据Cache和指令Cache是分开的还是统一的。 • Cache的容量、块大小以及相联特性。 • Cache类型是直(write.through)写还是回写(write.back)。 • 对于回写(write.back)类型的Cache如何有效清除Cache内容。 • Cache是否支持内容锁定。
6-2-3 寄存器C0
Cache类型标识符寄存器编码格式 Cache类型标识符定义了关于Cache的信息:
31
000
29 28
属性字段
25 24 23
12 11
0
S 数据Cache相关属性 数据Cache相关属性
6-2-4 寄存器C1
CPl5中的寄存器C1包括以下控制功能:
禁止/使能MMU以及其他与存储系统有关的功能; 配置存储系统以及删处理器中相关的工作。
Βιβλιοθήκη Baidu数据
Cache
CP15
MMU 或 MPU
数据写
控制逻辑
地址
写缓冲
AMBA 接口
数据读
AMBA 总线 接口
6-2 协处理器CP15
CPl5包含l6个32位寄存器,其编号为0~15。 CPl5中的寄存器可能是只读的,也可能是只写的,
还有一些是可读可写的。在对协处理器寄存器进 行操作时,需要注意以下几个问题。