Chinaunix首页 | 论坛 | 博客
  • 博客访问: 271395
  • 博文数量: 22
  • 博客积分: 2490
  • 博客等级: 大尉
  • 技术积分: 752
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-31 15:35
文章分类

全部博文(22)

文章存档

2011年(5)

2010年(43)

2009年(14)

我的朋友

分类: 嵌入式

2010-01-25 13:26:55

386架构里,cpu可以处于实模式保护模式
一、实模式下,cpu指令访问的地址就是物理地址,形式为:段寄存器:偏移
二、在保护模式下,cpu可以使用分段机制和分页机制:分段机制下使用的地址就是逻辑地址,形式为:段选择子:偏移 ;分页机制下使用的地址就是线性地址,形式为:0xXXXXXXXX
注:
1,无论是逻辑地址还是线性地址,都要被cpu映射成物理地址。
2,保护模式下必须采用分段机制。在此基础上可采用分页机制。
3,逻辑地址被转化为线性地址,如果采用分页机制,则该线性地址通过分页机制被映射成物理地址。如果不采用分页机制,则该线性地址就是物理地址。
4,实模式下的物理地址只能访问1M以下空间,而保护模式下的物理地址可以访问所有32位空间。并且要注意,物理内存空间只是物理地址空间的一个部分而已。 另外还有一个”总线地址“的概念,是从总线设备的角度来说的。 在linux系统里,对cpu来说,物理内存的首地址是从线性地址的0xc0000000开始的。而对总线设备来说,物理内存的首地址可能是从总线地址0x00000000开始,也可能是从另外的总线地址开始,随系统而异。这也是为什么内核里经常有vir_to_phy 和vir_to_bus转换的缘故。
阅读(4754) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~