当前位置: 首页 > wzjs >正文

设计师服务平台鱼巴士有哪些网站漯河知名网站建设价格

设计师服务平台鱼巴士有哪些网站,漯河知名网站建设价格,网站开发和网站制作的区别,有祥云网站X86分页机制 x86的分页单元支持两种分页模式:常规分页与扩展分页。 常规分页采用两级结构,固定页大小为4KB。线性地址被划分为三个字段: 页目录索引(最高10位)页表索引(中间10位)页内偏移&am…

X86分页机制

x86的分页单元支持两种分页模式:常规分页与扩展分页。

常规分页采用两级结构,固定页大小为4KB。线性地址被划分为三个字段:

  • 页目录索引(最高10位)
  • 页表索引(中间10位)
  • 页内偏移(最低12位)

扩展分页启用时采用单级结构,页大小为4MB。线性地址被划分为两个字段:

  • 页目录索引(最高10位)
  • 页内偏移(最低22位)

页表结构

常规分页与扩展分页可混合使用。页目录条目中有一个标志位用于指定当前使用哪种分页模式。专用寄存器CR3指向页目录的基地址,页目录条目则指向页表的基地址。

页目录和页表均包含1024个条目,每个条目占4字节。
所有页表均存储于物理内存中,页表地址均为物理地址。

页表条目字段

  • 存在位(Present/Absent)
  • 页框号(PFN):物理地址的最高20位
  • 访问位(Accessed,硬件不自动更新,供操作系统维护使用)
  • 脏位(Dirty,硬件不自动更新,供操作系统维护使用)
  • 访问权限(读/写)
  • 特权级(用户/管理员)
  • 页大小标志(仅页目录条目有效,置位时启用扩展分页)
  • 缓存控制位(PCD-禁用页缓存,PWT-直写模式)

Linux分页实现

Linux采用四级分页模型以支持64位架构。下图展示了如何通过虚拟地址的各字段索引页表并计算物理地址:

Linux提供统一的API用于创建和遍历页表。内核与进程地址空间的创建及修改均通过通用代码实现,这些代码依赖宏和函数将通用操作适配到不同架构。

虚拟地址转物理地址示例(使用Linux页表API)

struct page *page; 
pgd_t pgd; 
pmd_t pmd; 
pud_t pud; 
pte_t pte; 
void *laddr, *paddr; pgd = pgd_offset(mm, vaddr);      // 获取页全局目录项 
pud = pud_offset(pgd, vaddr);     // 获取页上级目录项 
pmd = pmd_offset(pud, vaddr);     // 获取页中间目录项 
pte = pte_offset(pmd, vaddr);     // 获取页表项 
page = pte_page(pte);             // 获取对应物理页结构 
laddr = page_address(page);       // 获取逻辑地址 
paddr = virt_to_phys(laddr);      // 转换为物理地址 为兼容分页层级少于4级的架构(如x86 32位),部分宏/函数会被定义为空操作:static inline pud_t *pud_offset(pgd_t *pgd, unsigned long address) { return (pud_t *)pgd;  // 直接返回页全局目录项地址 } static inline pmd_t *pmd_offset(pud_t *pud, unsigned long address) { return (pmd_t *)pud;  // 直接返回页上级目录项地址 } 

转译后备缓冲器(快表,TLB)

使用虚拟内存时,由于页表的多级结构,地址转换可能需要额外1次(x86扩展分页)、2次(x86常规分页)或3次(x86 64位)内存访问。

快表(TLB)作为专用缓存用于加速虚拟地址到物理地址的转换,其特性如下:

  • 缓存分页信息(页框号、权限、特权级)
  • 基于内容可寻址存储器(CAM)实现
  • 容量极小(64-128条目)
  • 速度极快(并行搜索实现单周期访问)
  • CPU通常包含独立指令TLB(i-TLB)与数据TLB(d-TLB)
  • TLB未命中惩罚:可达数百时钟周期

与其他缓存类似,需注意TLB的一致性问题。例如:

  • 修改页表条目使其指向新的物理地址时,必须使旧TLB条目失效,否则MMU仍会使用旧的物理地址转换。

x86平台支持两种TLB失效操作:

  1. 单地址失效
mov $addr, %eax 
invlpg (%eax)  ; 强制刷新指定虚拟地址的TLB条目 
  1. 全局失效
mov %cr3, %eax 
mov %eax, %cr3  ; 通过重载CR3寄存器刷新全部TLB 

http://www.dtcms.com/wzjs/589867.html

相关文章:

  • 大型物流公司网站软件开发内容有哪些
  • 广州网站优化外包如何申请域名创建一个网站
  • 网站系统管理员做一样的模板网站会被告侵权吗
  • 怎么做代刷网站教程用ps做商城网站好做吗
  • 新网站多久会被百度收录国外wordpress主题
  • 手把手做网站页面10秒折一把古风伞
  • 爱站网自媒体网站建设与维护采访稿
  • 做网站赚什么钱北京网站建设公司报价浩森宇特
  • 营销网站首页设计asp 公司网站源码
  • 长春网页制作建站英文wordpress换中文
  • 微网站建设公司首选济南浩辰网站建设公司怎么样
  • 女人和男人做爰网站做网站容易挣钱吗
  • 产品展示网站源码广州o2o网站建设
  • 软文广告示范jsp网站seo优化
  • 常州武进区建设局网站湖南常德广宇建设网站
  • 济南中建设计院有限公司网站学院网站建设项目
  • 网站备案ip地址段七台河新闻综合频道节目表
  • 郑州建设银行网站房贷网点在哪本地最新招聘信息
  • 买个网站服务器多少钱it公司排名
  • 网站开发 避免 字段变化 代码手机app定制多少钱
  • 电子商务系统网站建设专业建设网站多少钱
  • 做h游戏视频网站优秀网名
  • 自己做营销网站网站建设评比
  • 小说网站收录了怎么做排名it外包前景
  • 移动网站 图片优化超低价网站维护网站托管
  • 专做商业平台网站安徽省高路建设有限公司网站
  • 官方网站开发多少钱山东省建设执业资格注册中心网站
  • wordpress建站vip全站教程怎样建个人网页免费
  • wordpress 登录验证码网站关键字排名优化
  • 中山市规划建设局网站常州 招网站开发