[发明专利]一种细粒度内存访问的方法有效
申请号: | 201210460512.7 | 申请日: | 2012-11-15 |
公开(公告)号: | CN102999441A | 公开(公告)日: | 2013-03-27 |
发明(设计)人: | 汪东升;高鹏;王海霞 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 100084 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 细粒度 内存 访问 方法 | ||
1.一种细粒度内存访问的方法,其特征在于,包括以下步骤:
S1、按照如下方式定义细粒度高速缓存脏位图:所述细粒度高速缓存脏位图使用一个或多个比特位标识高速缓存数据区的一行中的一个或多个8比特存储单元的内容是否与读入时的初始值不同;所述高速缓存数据区是没有写损耗或者具有写损耗的存储器件的数据区;
S2、按照如下方式定义零值位图:所述零值位图使用一个或多个比特位标识内存中的一个或多个8比特存储单元内的数据是否为零;
S3、按照如下方式定义内存行:在内存中,多个易失或非易失存储芯片通过共享读写地址来增加每个地址上能存储的数据,每个读写地址对应的存储空间为一个内存行,所述内存行由8个或更多个1字节位宽的存储芯片构成;所述内存是具有所述没有写损耗或者具有写损耗的存储器件的内存;
S4、利用所述细粒度高速缓存脏位图实现高速缓存数据区的读写;
S5、利用所述零值位图和内存行实现内存的读写。
2.如权利要求1所述的方法,其特征在于,步骤S4具体为:
当所述高速缓存数据区的一行数据被读入时,初始的细粒度高速缓存脏位图中的比特位视为全0或全1;
当所述高速缓存数据区的一行数据被更新时,按照字节比较新的数据与原有数据,根据二者是否相同来修改所述细粒度高速缓存脏位图中的内容;
当所述高速缓存数据区的一行数据被替换出时,若所述细粒度高速缓存脏位图中的比特位标识高速缓存数据区的数据没有变化,则丢弃被替换出的数据,否则根据所述细粒度高速缓存脏位图中的比特位,将所述高速缓存数据区中有修改的字节中的内容写入内存。
3.如权利要求1所述的方法,其特征在于,步骤S5具体为:
根据所述细粒度高速缓存脏位图中的比特位和地址,将所述高速缓存数据区中被替换出的行发送给内存中相应内存行的存储芯片;
当内存被读取时,根据零值位图中相应的比特位,只发送不为零的数据,对于未发送的数据,在目的地填充零;
当数据写入到内存时,根据写入内存的数据生成对应于零值位图中的比特位,并使用所生成的比特位更新零值位图。
4.如权利要求1所述的方法,其特征在于,所述细粒度高速缓存脏位图的大小为高速缓存数据区大小的1/8。
5.如权利要求1所述的方法,其特征在于,所述零值位图的大小为所述内存大小的1/8。
6.如权利要求1~5中任一项所述的方法,其特征在于,所述内存行为64比特或更高位宽。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210460512.7/1.html,转载请声明来源钻瓜专利网。