GPU体系结构-the miss status holding register(MSHR)原理简介
2015-12-08 22:36
1221 查看
最近在看论文的时候里面有一段介绍MSHR的原理,以后有可能用做这方面的东西,先写出来。
GPGPU-Sim文档中有关于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.
相关文章推荐
- Nginx 代码解析(2) : 主要数据结构解析
- UVa-572油田
- ORACLE权限
- Android--文件读写
- 森林病虫防治系统 (结束)
- VMWare 11 安装 出现乱码
- Linux 网络编程 select复用模式
- Exchange Server2013 系列:证书的配置
- CodeForces 507E Breaking Good 最短路
- 树莓派(raspberry)启用root账户
- 在Android中操作JSON数据-读取JSON格式数据/创建JSON格式数据
- 四则运算第二次冲刺更新进度(补更)
- Windows下常用软件工具的命令
- iOS UITextField实用限制字符长度(中英文)—— HERO博客
- BHO开发浏览器插件-Hello Word
- C# implementation of dynamic hand gesture recognition
- 查找最大元素
- Codeforces_96A
- ORACLE用户管理
- 建造者模式