RISCV体系结构编程(1)重名(aliasing)与同名(homonyms)

研究对象

寻址Cache方式为VIVT或VIPT的处理器会发生高速缓存重名问题。

重名

多个不同的虚拟地址映射到相同的物理地址

VIVT方式

一个物理地址的内容同时出现在多个cache行中,当系统改变虚拟地址到物理地址的映射时,需要清空这些cache并使他们失效,导致系统性能降低

VIPT方式

VIPT机制

  1. 处理器输出的虚拟地址同时发送到TLB/MMU进行地址翻译,并在cache中使用虚拟地址索引域和偏移量寻址cache组。
  2. TLB/MMU把VPN翻译为PFN,同时使用虚拟地址的索引域和偏移量以及物理地址的PFN即标记域来寻址cache行

VIPT优点

多任务操作系统中修改虚拟地址到物理地址的映射关系时不需要invalidate cache

TLB中的重名

TLB是类似于VIVT的cache
没有重名问题!!!
因为cache存放的是数据,TLB存放的是映射关系,映射关系下游的由MMU决定,而且是一对一!
cache数据由上游的CPU的寄存器决定,数据随时都可以变
从这里我们可以看到数据流动的方向性!!!

同名

相同的虚拟地址对应不同的物理地址
进程切换时容易发生

TLB中的同名

有同名问题!!!
设进程A和进程B都用0x50000的虚拟地址,A的页表需要映射为0x400,B的页表需要映射为0x800但是,已经被A映射为0x400了,B在映射时会发生TLB命中,返回0x400这个错误映射。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值