您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
高速缓冲器(缓冲器的种类)
地址,物理地址,标记高速缓冲器(缓冲器的种类)
发布时间:2020-12-06加入收藏来源:互联网点击:
2.虚拟地址长度为14位,假设页表有256个页表项,因此虚拟页号(VPN)占用位数为8,虚拟一偏移量(VPO)占用6位。
3.物理地址长度为12位。
4.页面大小为64个字节(P=64)
5.TLB有4个组,每个组4个条目,总共16个条目组成
6.高速缓冲(L1)有16个组,每个组有4个块。
7.采用一级页表(多级页表复杂些,但原理类似)。
先看看虚拟地址和物理地址的格式,如下图:
虚拟地址
由上图得知,组号(TLBI)占用2位,因为我们假设TLB有4个组,标记位占用6位。
物理地址
由上图得知,组号(CI)占用4位,因为我们假设高速缓冲有16个组,每个组下有4个块,因此块号(CO)占用2位,剩下的6位就是标记位(CT)。
我们假定TLB,高速缓冲映射表如下图:
TLB映射表
高速缓冲映射表
页表总共有256项,我们把前16项列出,如下图
页表前16项
好了,一切就绪,假设CPU访问的虚拟地址是0x03d4,它的二进制是16位即00000011 11010100,而虚拟地址只有14位,所以高2位被抛弃,如下图
0x03d4虚拟地址分布图
由上图得知,组号(TLBI)为11即0x03,标记位(TLBT)为000011即0x03,从TLB映射表查找,发现命中了,如下图
TLB命中
由上图命中了红色部分的标记位,PTE中的PPN=0x0D,有效位为1,我们根据PPN然后在加上虚拟页偏移量,如下图
虚拟地址
由上图,我们得知虚拟页偏移量(VPO)为010100=0x14,虚拟页偏移量(VPO)=物理页偏移量(PPO),即PPO=0x14,PPN和PPO连接起来就是物理地址PA即001101010100=0x354,如下图
物理地址
由上图得知,组号是0101即0x05,块号(CO)为00即0x00,标记位为001101即0x0D,通过组号+标记位+块号,可以定位到高速缓冲的数据0x36,如下图所示
物理地址命中数据
物理地址对应的数据找到了,返回给了CPU,当然也可能发生其他的情况,如TLB未命中,高速缓冲未命中,缺页等,这些读者可以自行实践。
好了,虚拟地址翻译物理的过程和实践,介绍完了,谈下一个话题。
本文到此结束,希望对大家有所帮助呢。
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |