GPU体系结构-the miss status holding register(MSHR)原理简介

最近在看论文的时候里面有一段介绍MSHR的原理,以后有可能用做这方面的东西,先写出来。

英文原文

On a cache hit, a request will be served by sending data to the register file immediately. On a cache miss, the miss handling logic will first check the miss status holding register (MSHR) to see if the same request is currently pending from prior ones. If so, this request will be merged into the same entry and no new data request needs to be issued. Otherwise, a new MSHR entry and cache line will be reserved for this data request. A cache status handler may fail on resource unavailability events such as when there are no free MSHR entries, all cache blocks in that set have been reserved but still haven’t been filled, the miss queue is full, etc.

翻译

当缓存请求结果为hit时,数据将会很快的从L1数据缓存中发送到寄存器中。但该请求发生miss时,会首先查看MSHR中是相同缓存请求是否已经存在。如果已经存在,则将请求合并(我理解为直接舍弃)。如果不存在,则会将这条缓存请求加到MSHR中,将该数据请求放到miss队列中,排队向下一层缓存发送数据请求。如果MSHR已经满了,或者所请求数据应该存放的缓存块全部处于RESERVED状态,或者miss 队列已满等,那么返回资源不可获得事件。

自己的理解

MSHR相当于一个大小固定的数组,用于存放所请求数据还没返回到L1缓存中的miss请求。当数据返回到L1缓存中后,即从MSHR中删除所对应的miss请求。
GPGPU-Sim文档中有关于MSHR的详细解释。

引用

[1] Li C, Song S L, Dai H, et al. Locality-Driven Dynamic GPU Cache Bypassing[J]. 2015.
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值