arm内存管理单元学习x

arm内存管理单元学习x

ID:39961330

大小:1.13 MB

页数:23页

时间:2019-07-16

arm内存管理单元学习x_第1页
arm内存管理单元学习x_第2页
arm内存管理单元学习x_第3页
arm内存管理单元学习x_第4页
arm内存管理单元学习x_第5页
资源描述:

《arm内存管理单元学习x》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、内存管理单元MMU——1主要的功能1.管理虚拟存储器、物理存储器的控制线路2.负责虚拟地址映射为物理地址3.提供硬件机制的内存访问授权地址范围:由CPU的位数决定,例如一个32位的CPU,它的地址范围是0~0xFFFFFFFF(4G)1相关概念分页机制:虚拟地址空间划分成称为页(page)的单位,而相应的物理地址空间也被进行划分,单位是页帧(frame).页和页帧的大小必须相同。TLB和地址转换表2相关概念1.TLB(translationlookasidebuffer)转换遍历缓存。TLB是MMU的核心部件,它存储少量的虚拟地址与物理地址的转换关系,它其实是物理内存区的一

2、小段内存。TLB是位于内存中的页表的cache,如果没有TLB,则每次取数据都需要两次访问内存,即查页表获得物理地址和取数据.2.地址转换表。当TLB中没有缓冲对应的地址转换关系时,需要查找这个地址转换表,找到虚拟地址与物理地址的对应关系。在大多数处理器中,这个转换表为多级页表,比如386里面的页目录表和页表将线性地址映射为物理地址2功能说明现代的多用户多进程操作系统,需要MMU,才能达到每个用户进程都拥有自己独立的地址空间的目标。使用MMU,操作系统划分出一段地址区域,在这块地址区域中,每个进程看到的内容都不一定一样。例如WINDOWS操作系统将地址范围4M-2G划分为用

3、户地址空间,进程A在地址0X400000(4M)映射了可执行文件,进程B同样在地址0X400000(4M)映射了可执行文件,如果A进程读地址0X400000,读到的是A的可执行文件映射到RAM的内容,而进程B读取地址0X400000时,则读到的是B的可执行文件映射到RAM的内容。将线性地址映射为物理地址2功能说明CP15寄存器介绍—与MMU有关的寄存器CP15的C8寄存器用来控制清除TLB的内容,是只写寄存器,读操作将产生不可预知的后果。CP15的C10寄存器用于控制TLB内容锁定。如果系统中包含独立的指令TLB和数据TLB,那么对应于数据TLB和指令TLB分别有一个独立的

4、TLB内容锁定寄存器,用来选择其中的某个寄存器CP15寄存器介绍—与MMU有关的寄存器ARMMMU硬件采用2级页表结构:一级页表(L1)和二级页表(L2)3MMU的页表一级页表支持4种类型的页表项-由bit[1:0]决定:1.1MB段转换项;(指向一个1MB的存储段)2.指向L2细页表的目录项;(包含一个L2细页表首地址的指针,同时包含L1表项代表的1MB虚存段的域信息。细页表必须与4KB的倍数地址对齐)3.指向L2粗页表的目录项;(粗页表必须与1KB的倍数地址对齐)4.产生中止异常的错误项一级页表两大类:1.指向第一级页表(L2页表)的基地址2.直接指

5、向1MB的物理内存L1主页表既可作为L2页表的页目录,也可作为用于转换1MB虚拟页(称为一段)的普通页表L1页表中每个表项可以覆盖1MB的内存,由于有4096K个选项(item),所以总计可以覆盖4096K*1MB=4GB的内存空间。3MMU的页表L1每种页表的结构ARMMMU硬件采用2级页表结构:一级页表(L1)和二级页表(L2)3MMU的页表二级页表有4种类型的页表项)-由bit[1:0]决定:1.定义64KB页帧属性的大(large)页表项;(包含一个64KB物理存储块的基地址,同时还包含4组权限位域,以及页的cache和写缓冲器属性。每一组访问权限位域代表虚存页的1

6、/4,这些页表项可以看成是16KB子页,以更好的控制64KB页的访问权限)。2.定义4KB页帧属性的小(small)页表项;3.定义1KB页帧属性的微(tiny)页表项;4.访问时产生页错中止异常的错误页表项。(注意区别大页,小页,微页和粗页表,细页表)一个L2粗页表有256(1MB/4KB)个页表项,占用1KB的主存空间,每个页表项将一个4KB的虚拟存储块转换成一个4KB的物理存储块。粗页表支持4KB或64KB的页,页表项包含的是4KB或64KB的页帧的首地址。如果转换的是一个64KB的页,对于每个64KB的页,同一个页表必须在页表中重复16次。 一个L2细页表有1024

7、(1MB/1KB)个页表项,占用4KB的主存空间,每个页表项将一个1KB的虚拟存储块转换成一个4KB的物理存储块。细页表支持1KB,4KB或64KB的页,页表项包含的是1KB,4KB或64KB的页帧的首地址。3MMU的页表L2每种页表的结构页表:存在内存中的地址转换表,页表由一个个条目(描述符)组成条目:每个条目存储了一段虚拟地址对应的物理地址及其访问权限,或者下一级页表地页号:从页表基址开始,每页的索引号页内偏移:某一页的内部偏移地址条目也称为“描述符”(Descriptor):段描述符,大页描述符,小页描述符,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。