PTE、TLB、CACHE组成
PTE
页表(page table)的成员是PTE(page table entry),由于Linux对于PTE的定义和ARM硬件不一致,下面的L_开头的定义都是针对Linux的
在32位芯片中,PTE一共32位,低12位如上图定义是各种标志位;因为linux的page设定为4Kbytes,所以PPO是12位,则PPN是20位,PTE的高20位是PPN。
因为页表是全映射,所以页表的索引就是VPN,PTE不用存储VPN;但是TLB只存储部分PTE,所以VPN作为TLB tag存储在TLB entry里。
TLBE(TLB entry)
如下是一个虚拟地址,由VPN和VPO组成
TLBE由TLB tag、PPN、Valid组成;TLBI占2位,所以set取值范围为0~3,TLBI等于0即是set等于0。
上图一个set有4个line,一共3个set,所以属于4路组相连映射
CACHE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2016-12-18 gcc 编译源文件