Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30600
  • 博文数量: 4
  • 博客积分: 280
  • 博客等级: 二等列兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-19 13:42
文章分类
文章存档

2009年(1)

2008年(3)

我的朋友

分类: LINUX

2009-02-13 18:12:17

32根地址线,2层分页架构的4k为一页的 系统中 线性地址到物理地址的转化。

 

一个32位的线性地址,

22-----31:最高十位 :在页面目录中的下标

12-----21:中间十位: 在页面表中的下标

0-------11:最低12位, 留作

 

这样页面目录本身所占用的空间是 2^10 * sizeof(uint32) = 1024*4= 4k

这样页面表本身所占用的空间是 2^10 * sizeof(uint32) = 1024*4= 4k

 

这样的架构中寻址能力正好是4k *4k*页面大小(4k=4G

段式内存管理的缺点:

1:段 + 偏移量 寻址 只要段的基地址固定不变,则在偏移量的地址范围内,可以任意访问。

2:原来改变段基址的指令也不是特权指令, 因此实际上就可以访问能够地址线能够寻址的所有范围, 相当危险。

 

此架构的优点如下:

次架构我们选择10x10x12 而不选择其它的如 8x12x12 呢?

1:空间效率高。 页面目录几乎总是存在的, 它本身的大小正好为一个页面。而并不是1024个页表都需要固定存在于内存中的,因为很少有进程能够占用整个4G的空间,所以仅在需要的时候分配页面表本身需要的内存然后填入表项的内容的

2:灵活性非常好, 连续的现行地址在经过隐射后,不一定在连续的物理地址, 这就对我们对某些地址空间范围进行保护提供了很好的条件。

 

 

 

Intelx86 的一些寄存器:

CR0:其最高位PG,为0表示关闭页式管理, 1:开启页式管理。

CR1

CR2:当访问的线性地址所在页面不再内存中时,会产生一个页面异常,而此线性地址就会存放在CR2中。

CR3:指向当前页目录的指针。即页面目录的基址。

1:当此寄存器的值被设置后, 会自动将所有的TLB全部失效  

 

CR4:此寄存器中的PAE的标志位 被置1时就开启了 PAE模式, 可以寻址高于4G的空间

阅读(718) | 评论(0) | 转发(0) |
0

上一篇:MIPS_TLB

下一篇:没有了

给主人留下些什么吧!~~