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

邯郸网站建设的地方知更鸟免费 wordpress

邯郸网站建设的地方,知更鸟免费 wordpress,百度网盟如何选择网站,陕西省住房和城市建设厅网站现代 CPU 中用于加速多级页表查找的Page‐Table Entry原理 摘要:以下从背景、结构、查找流程、一致性与性能影响等方面,详细介绍现代 CPU 中用于加速多级页表查找的 Page-Walk Cache(也称 Walker Cache 或 Page‐Table Entry Cache&#xff0…

 现代 CPU 中用于加速多级页表查找的Page‐Table Entry原理

       摘要:以下从背景、结构、查找流程、一致性与性能影响等方面,详细介绍现代 CPU 中用于加速多级页表查找的 Page-Walk Cache(也称 Walker Cache 或 Page‐Table Entry Cache)。


1. 背景:为何需要 Page‐Walk Cache

  • 多级页表查找成本高
    以 x86-64 为例,4 级页表走完一次要依次访问 PML4、PDPT、PD、PT,每级都要一次内存读(若不命中 L1/L2/L3 缓存),最糟糕可能要 4 次 LLC Miss → DRAM 访问,延迟数百纳秒。

  • TLB 只能缓存最终映射
    TLB(Translation Lookaside Buffer)存的是虚拟页→物理页的最终映射,一旦 TLB miss,仍需重新走页表。Page-Walk Cache 介于 TLB 与内存之间,缓存中间级页表项,减少每次 page-walk 的内存访问数。


2. Page-Walk Cache 的总体结构

  1. 独立或共享
    • 有的 CPU 为每级页表各设一个小缓存(L0 for PML4E, L1 for PDPTE, L2 for PDE, L3 for PTE),也有合并成一个统一 Walker Cache。
  2. Entry 内容
    • Tag:〈CR3 或 ASID/PCID, 虚拟页号中对应级别的索引位〉
    • Data:对应级别的页表项完整 64 bit(含 PFN + control bits)。
  3. 容量与关联度
    • 极小,一般几十到几百条;全相联或 4-way/8-way set-assoc;足够缓冲热点上下文,但远小于 TLB。

3. 查找与填充流程

  1. TLB Miss → 触发 Walker
    硬件页表行走器(Page‐Walker)启动,将 CR3(携带 ASID/PCID)与 VA 分解成 4 个 9-bit 索引字段。

  2. 各级查 Page-Walk Cache
    对第一级(PML4)索引:

    • 在 PML4‐Cache 中查 Tag;
    • Hit → 直接拿到对应 PML4E;
    • Miss → 按常规:从内存(LLC)读取 PML4E 后填 Cache。
      再对第二级(PDPT)、第三级(PD)、第四级(PT)重复相同动作。
  3. 汇聚获得最终 PTE

    • 若中途某级 PDE.Mark-PS=1,且映射大页,则后续级别跳过;Walker Cache 同样可命中大页级别的 PDE entry。
    • 最终得出 PTE,更新 TLB,并返回物理页基址。

4. 一致性与失效

  • 软件修改页表
    操作系统写入或无效化页表后,需执行 invlpgCR3 重载,隐含触发 Walker Cache 对应条目失效。CPU 内部会:

    • 按 ASID/PCID 精确清除相关 Tag,或
    • 在全局 CR3 切换时一并失效。
  • Page-Walk Cache 可与 PCID 协同
    支持 Process-Context ID (PCID) 时,Tag 包含 PCID,切换地址空间无需全表失效,只失效对应新 CR3/PCID 下不可见的条目。


5. 嵌套/二级页表(EPT/NPT)支持

在虚拟化场景中,需同时走 二级页表(Guest)和 一级页表(Host/EPT)。现代 CPU 会:

  • 分阶段 Walker:先走 Guest 页表(用 Guest CR3),再走 Host EPT(用 EPTP),两套 Walker Cache 可复用;
  • 双重 Tag:Tag 中加上两级 CR3/EPTP 标识,保证隔离。

6. 性能效果

  • 减少内存访问次数
    典型热点工作集下,Walker Cache 命中率可达 80–90%,平均每次 Page‐Walk 只需 1–2 次 LLC 访问,而非最差的 4 次。
  • 降低延迟与功耗
    减少 DRAM 访问,Page-Walk 延迟可从数百纳秒降到几十纳秒;同时降低系统总功耗。
  • 提升 TLB miss 下的 IPC
    对于大量随机地址访问(如数据库、VMware),Page-Walk Cache 极大提升穿页性能。

7. 硬件设计考量

  • 容量 vs 并发
    • 容量太小命中率低,太大又占硅片面积。常见设计:每级 32–128 条;4 级共 128–256 条。
  • 关联度
    • 全相联提高命中,硬件实现复杂;4-way set-assoc 更折中。
  • 替换策略
    • LRU 或近似 LRU;与 TLB 类似。
  • 与缓存系统协同
    • Walker Cache miss 后读内存,优先走 L1/L2/L3 Cache,若最终 LLC Miss 再到 DRAM。

小结

       Page-Walk Cache 是现代 CPU 在 TLB miss 时,为缓存页表中间级别条目的专用小型高速缓存。它通过给每级页表查找加速,减少 Page-Walk 对内存的压力,显著降低 TLB miss 的延迟和功耗,对操作系统的页表结构透明、自动协同 PCID 与虚拟化二级页表,从而大幅提升系统的整体性能。


Page-Walk Cache的替换策略具体是如何实现的?

       摘要:在硬件上,Page-Walk Cache(PWC)通常是一个小容量、多路组相联的缓存;其替换策略需要在极度受限的时序和面积下,既能提供较高命中率,又要保证硬件实现简单。主流做法是用 伪 LRU(Pseudo-LRU),具体流程如下。


1. 组织形式

假设 PWC 是一个 S-way 组相联缓存,共有 N 组(set),每组 S 条 entry,每条 entry 存储一个页表项和若干 tag 比特。

– S 常见取值:2, 4, 8。
– N 也不大,可能几十到上百。

每组都要维护一组替换状态位,用来选择下一次 miss 时的 victim way。


2. 伪-LRU (Tree-based PLRU)

最经典也最常见的是 树形 PLRU

  1. 结构
    – 对 S=4:使用 3 个二叉树节点位 b0,b1,b2。
    • b0 根节点,控制左子树(ways 0–1) vs 右子树(ways 2–3)
    • b1 左子树内部,控制 way 0 vs way 1
    • b2 右子树内部,控制 way 2 vs way 3

  2. 选替换行(Victim Selection)
    – 从根开始:若 b0==0 → 走左子树,否则走右;
    – 在子树内部再按 b1/b2 决定更“冷”的那条路。

  3. 命中更新(MRU 更新)
    – 若访问到 way k:
    • 根节点 b0 = (k ∈ {0,1}) ? 1 : 0
    • 如果 k ∈ 左子树,则 b1 = (k==0?1:0);如果 ∈ 右子树,则 b2 = (k==2?1:0)。

  4. Miss 时:
    – 用上面算法找出“最老”way 作替换;
    – 用新的 tag + data 覆盖它;
    – 把对应的 b0/b1/b2 更新成 MRU,与命中时相同。

这种做法只需要 S–1 位状态、硬件逻辑简单,能近似逼近 LRU。


3. 其他简化/优化策略

  1. 2-way:
    – 只需 1 位 MRU bit,0/1 表示上次命中的是 way0 还是 way1,miss 时替换另一路。

  2. 8-way:
    – 可用 7 位树型 PLRU(3 层)
    – 或分成两级:先选出 “四路组” 再内部二分。

  3. 真 LRU(只对 very small S=2,4)
    – 用 2-bit 或 4-entry 阶梯式计数器记录使用顺序。
    – 面积和延迟稍大,一般只在关键路径足够宽松时采用。

  4. “Insertion Policy” 调整
    – MISS 时不总插入 MRU,可以插入到某中间位置 (e.g., “MRU-1”),以防热不热点数据迅速污染缓存。
    – “Bypass” 流水线/预取产生的低重用数据,不分配到 PWC,保留空间给真正的页表热点。


4. 一致性与失效

  • CR3/ASID 切换:PWC 的每条 entry tag 中带有地址空间 ID;CR3 切换会使得所有“前地址空间” entry 视为 miss,无需显式清空。
  • 软件写页表:OS 在修改页表后执行 invlpg,微架构会检测到对应 Virtual‐Page tag 并失效相关 PWC entry(通过比对 CR3+VPN)。

5. 性能权衡

  • 容量 vs 命中率:PWC 容量通常几百条即可将 Page-Walk 的内存访问次数从最坏 4 次下探至平均 1–2 次。
  • 替换开销:树型 PLRU 的状态更新仅几路 MUX+D-FF,远低于“真 LRU”的多位加法/比较器。
  • 侵入延迟:PWC 查找与更新与深度流水线并行,通常不影响 TLB-Miss 触发的页表行走器 (PTW) 的主时序。

小结

Page-Walk Cache 几乎通用地采用 树型 Pseudo-LRU 替换策略:

  • 每组用 S−1 个位记录最近访问方向;
  • 命中时更新这些位以标记 MRU 路径;
  • Miss 时用它们快速定位“最冷”那一路进行替换。

       这种策略硬件开销小、速度快,可在极短周期内完成替换决策,并且配合 ASID/PCID 等 tag 机制实现高效一致性管理。


文章转载自:

http://m8g8ZAPS.frpfk.cn
http://eroOQyzr.frpfk.cn
http://0v227iWn.frpfk.cn
http://pQtVjaty.frpfk.cn
http://KnPXDaL6.frpfk.cn
http://bfRinGVZ.frpfk.cn
http://TZ67x7DP.frpfk.cn
http://skL1A5dD.frpfk.cn
http://umJ2vJWe.frpfk.cn
http://iTZMhYKX.frpfk.cn
http://oYyCHnpj.frpfk.cn
http://FlbXo6EW.frpfk.cn
http://ebMs8sm5.frpfk.cn
http://6K19mLXr.frpfk.cn
http://xAcBaOgX.frpfk.cn
http://0m6Tg3wT.frpfk.cn
http://uHD8u33r.frpfk.cn
http://EWfE0vT3.frpfk.cn
http://R1D1KYe7.frpfk.cn
http://wScvuJA9.frpfk.cn
http://OTykg05q.frpfk.cn
http://SeJhhe7I.frpfk.cn
http://XCxj1Q75.frpfk.cn
http://IMRayTGu.frpfk.cn
http://fkOCdbqC.frpfk.cn
http://Ji1bmm6E.frpfk.cn
http://s5rMJ2Br.frpfk.cn
http://VPSNClW2.frpfk.cn
http://FrCpDITR.frpfk.cn
http://4n0RN5aH.frpfk.cn
http://www.dtcms.com/wzjs/739374.html

相关文章:

  • vuejs 网站开发昭阳区建设局网站
  • 沙漠网站建设很多网站的导航条都设置为7到9
  • 如何搭建自己的网站服务器wordpress界面主题
  • 泰安高级网站建设推广南海区住房城乡建设和水务局网站
  • 深圳微信分销网站建设江浙区域网络公司排名
  • 网站设计开发方案网站维护服务
  • 电商网站建设技术交流问题金融街做网站的公司
  • 宝塔面板做网站绑定域名广州市民网页官网
  • 谈网站建设问的几个问题查询公司的网站备案信息查询
  • 网站 关于我们 模板百度一下浏览器下载安装
  • 昆明驿站网站建设网站开发ui
  • 宁波建设监理协会网站团购网站大全
  • 网站吗那个网站做直播好
  • 广告网站建设设计电脑上如何做网站宣传
  • 瓷器网站源码泰州市做网站
  • 哈密建设集团有限责任公司网站做兼职在什么网站上找
  • 山东省济宁市嘉祥县建设局网站漳州网站设计制作
  • 企业网站建设联系2022最新新闻大事件
  • 江象网站建设炒股配资网站建设
  • 赣州酒店网站建设关键词挖掘站长工具
  • 南通江苏网站建设wordpress for ios
  • 网站建设图片教程1m带宽做网站
  • 英语网站新增两个栏目注册万维网网站
  • 查询网站备案密码是什么情况广州注册公司有什么优惠政策
  • 建设网站简单的需要多少天电脑怎么建网站
  • 怎么样做网站卖东西厦门seo大佬
  • 网站推广任务 ip点击印团网网站是哪家做的
  • 河北住房建设厅官方网站wordpress支持广告播放器
  • 个人备案能公司网站网站开发实习总结
  • 企业营销型网站建设商丘做网站建设