paging由x86 cpu控制寄存器中的三个bit控制:
CR0 bit31:PG位,控制是否启用paging
CR4 bit4:PSE位,页大小扩展,允许4M大小的页面
CR4 bit5:PAE位,物理地址扩展
先看32位的paging处理,就是PSE=PAE=0,而PG=1时的情况。
一个线性地址被分为3部分,第一部分是页目录表项索引,高10位(bit31-bit22),第二部分是页表表项索引,中间10位(bit21-bit12),最后部分是页内偏移地址,低12位(bit11-bit0)。由此,一个页目录表最多有2^10 = 1024项,一个页表最多有2^10=1024项,一个页大小为2^12=4096字节。每个页目录表项和每个页表项大小都是4字节,因此每个页目录表和每个页表的大小正好是4*1024=4096字节,也就是正好占一页。
每个页目录项和每个页表项的结构类似,首先是一个页表或一个页的物理地址,页表和页大小都是2^12=4096字节,因此其物理地址都是4096字节对齐,因此物理地址的低12位全部为0,所以这低12位可以用来作为属性位。
主要的属性位有如下几个:
P:物理内存中存在标志位
D:dirty,已经被写过
A:accessed,已经被读或写过
PCD:page cache disabled,缓存禁止
WT:缓存write through
U/S:user/supervisor,0表示管理员态,1表示用户态
R/W:只读,还是可读写
分享到:
相关推荐
hive 开发UDF 使用maven工程 引发jar包缺失 hive 开发UDF 使用maven工程 引发jar包缺失
Version : 5.7 Vendor : Fedora Project Release : 2.20090207.fc11 Date : 2009-02-26 09:37:30 Group : Development/Libraries Source RPM : ncurses-5.7-2.20090207.fc11.src.rpm Size : 1.71 MB Packager :...
Root project 'Almost-Famous' +--- Project ':famous-cloud' +--- Project ':famous-config' \--- Project ':famous-unique' +--- Project ':famous-common' +--- Project ':famous-login' +--- Project ':famous-...
gEDA homepage: http://www.geda-project.org -----gschem.exe 1.9.2 (g9e1f72c) -----pcb.exe Compile Time Options ----- GUI: gtk : Gtk - The Gimp Toolkit Exporters: bom : Exports a Bill of Materials ...
Udacity-前端网页开发纳米学位-项目3-经典街机游戏克隆-欢迎来到游戏:《蛙人》 -直播版本链接: ://tulysg.github.io/Front-End-NanoDegree-Project3/ -支持课程:Object Oriented JavaScript, ...
2006-03-11 15:26 122,880 关键路径分析.mpp 2005-10-06 00:21 339,456 固定资产信息系统项目.mpp 2005-11-17 16:56 622,592 固定资产信息系统项目.多比较基准.mpp 2005-11-17 16:56 637,440 固定资产信息系统项目....
llvm-project_13.0.1-5.src.tar.gzllvm-project_13.0.1-5.src.tar.gzllvm-project_13.0.1-5.src.tar.gzllvm-project_13.0.1-5.src.tar.gzllvm-project_13.0.1-5.src.tar.gzllvm-project_13.0.1-5.src.tar.gzllvm-...
使用步骤:使用Keil打开Project--》RVMDK(uv5)--》iSO-STM32.uvprojx,对MCU进行代码烧录 二、My_TemAndHumCollection:上位机程序源码 ----->build:编译输出文件目录 ----->My_TemAndHumCollection.pro:QT ...
本文使用intellij idea搭建Maven3多模块项目,并进行配置相关配置,以实现项目的构建打包。项目结构multi-module-project是我们的项目名称,其中包含多个模块:mmp-dal模块:数据访问层,提供对原始数据(主要指...
5. **Problem 5: 2的幂次方的和** - 知识点:幂运算,循环结构,数组操作,位运算(可选)。 - 解决方法:计算2的幂次方直到它们的和大于等于4000000,然后相加所有偶数的幂次方。 6. **Problem 6: 平方和与平方...
431-Project1:RIT CSCI 431
来自emule-project的原版emule,里面没有关键字过滤,可以自由的下载一切资源,不可多得啊~
composer create-project drupal-composer/drupal-project:9.x-dev some-dir --no-interaction 使用composer require ...您可以将新的依赖项下载到您的安装中。 cd some-dir composer require drupal/devel ...
WebUml-ProjectManager WebUml项目管理器后端。 职责: 用于元模型和表示模型元素的CRUD 要求: GIT 1.9( ) Java 8( ) Maven 3.0.5( ) heroku-toolbelt 3.6.0( ) MongoDB的 推荐工具: jq( ) 在...
3. 如何在Microsoft Project中创建横道图: - 输入任务:首先,需要在Project中输入项目的所有任务,包括任务名称、开始和结束日期、持续时间等信息。 - 分配资源:为每个任务分配必要的资源,如人力、设备或材料,...
Lesson 3 - Introducing Python: a programming language Lesson 4 - Variables and expressions: giving names and values to things Lesson 5 - Object types and statements of code 46 Lesson 6 - Capstone ...
在这个项目中,"fireworx-streamline-project-master"可能包含源代码、配置文件和其他相关资源,以改善MATLAB的默认设置,提供更加智能化的代码提示功能。 MATLAB的快捷键通常分为两类:基本编辑器快捷键和特定功能...
3. **科研项目**:结合"nih"标签,ncpi-project-forge 可能特别适用于科研项目管理,为研究团队提供定制化的项目规划和协作环境。 4. **开源软件**:"ncpi-project-forge-master" 提示这是一个开源项目,意味着源...
midterm-project-aagamsh1:GitHub Classroom创建的midterm-project-aagamsh1
:gear: 自行设定# Clone repo$ git clone https://github.com/marcorichetta/cs50-project1.git$ cd cs50-project1# Create a virtualenv (Optional but reccomended)$ python3 -m venv myvirtualenv# Activate the...