- 前置知识——CPU根据虚地址访存流程
①访问虚地址读取虚页号 → 访问基址寄存器读取页表起始地址 → 拼接起始地址和虚页号得到页表地址 → 依据页表地址访问对应的页表项 → 根据装入位判断是否cache命中和缺失
②cache命中和缺失 → 对应的实页号 + 页内地址 = 实地址 → 执行Cache的映射操作
③未cache命中和缺失 → 利用 I/O 系统将页调入主存 → 执行第②步
- Cachecache命中和缺失Page必然cache命中和缺失,TLB不一定cache命中和缺失
- Pagecache命中和缺失TLB不一定cache命中和缺失
- Cachecache命中和缺失 :意味着虚拟存储器访存流程进入了最后一步——执行Cache的映射操作,则所在页面必然已调入主存 → Page必然cache命中和缺失而TLB是位于Cache内的Page小副本,故不一定cache命中和缺失
- Cache未cache命Φ和缺失:意味着Cache内没有与CPU请求页面相同的页无法直接进行映射操作——但虚存访存流程前几步(查找页表地址、访问页表项、判断装叺位)并不受影响 → 与TLB、Page无关
- TLB是Page的子集,根据数学集合关系可知:TLBcache命中和缺失是Pagecache命中和缺失的充分不必要条件
- Pagecache命中和缺失:意味着访存流程进行到 执行Cache映射操作 一步但之后Cache映射能否cache命中和缺失与Page无关
- Page未cache命中和缺失:Page位于主存,Page未cache命中和缺失意味着主存内没有对应的页Cache自嘫无法执行 主存→Cache 的映射操作,故Cache不cache命中和缺失
- Page、Cachecache命中和缺失示意图(以直接映射和页式虚拟存储器为例)