tec*_*hno 17 assembly intel microprocessors
我经常在微处理器和微控制器Paradigm中听到术语地址空间.我知道地址用于指代物理内存中的特定内存块(主要).
如果我是对的,地址空间是所有这些地址的超级集合.对?
通过使用虚拟内存/分页,我们使用二级存储扩展地址空间.
在这个范例中,页表,页表项和页面目录究竟是什么?我知道第一个p.memory是分段和逻辑上的,这些段被分成页面.那么页面表究竟是什么?包含Pages的表格?什么是页面目录页表的超级表?
pet*_*rdn 33
在x86体系结构中,页面目录和页表一起提供虚拟地址(应用程序使用的内存地址)和物理地址(物理内存硬件中的实际位置)之间的映射.
甲页仅仅是一个连续的内存块.x86(32位)支持3种大小的页面:4MB,2MB和4KB,后者是主流操作系统中最常用的.甲页表是1024*32位的条目(方便地装配到一个单一的4KB页)的阵列.每个条目都指向页面的物理地址.因为单个页表不能单独表示整个地址空间(1024个条目*4KB =仅22位的地址空间),所以我们需要一个二级页表:一个页面目录.页面目录还包含1024*32位条目(再次适合单个页面),每个条目指向一个页面表.我们可以看到现在1024*1024*4KB = 32位,并且通过这种3级结构,我们可以映射整个4GB虚拟地址空间.
当要求CPU访问虚拟地址时,它使用10个最高位(31:22)索引到页面目录表(其基址存储在特殊寄存器中).接下来的10个最高位(21:12)用于索引页面目录条目指向的页表.最低12位(11:0)最终用于索引页表条目指向的页面中的字节.
在其他系统中,可能需要更多或更少级别的页表,具体取决于虚拟地址空间的大小和支持的页面大小.例如,具有4MB页面的x86只需要一个页面目录.在具有4KB页面的64位模式中,使用4级系统:页面映射级别4表包含指向许多页面目录之一的条目.
" 英特尔架构开发人员手册"提供了有关该主题的更多信息,特别是在第3章和第4章中.
| 归档时间: |
|
| 查看次数: |
13560 次 |
| 最近记录: |