一种高速缓冲存储器、一种数据读写控制方法及系统技术方案

技术编号:22054852 阅读:15 留言:0更新日期:2019-09-07 15:07
本发明专利技术公开一种高速缓冲存储器、一种数据读写控制方法及系统。高速缓存包括:标签存储器和数据存储器,标签存储器存储有地址标记位和数据格式标记位。本发明专利技术将传统高速缓冲存储器中标签存储器的标记位进行了扩展,获得了数据格式标记位,使用附加的数据格式标记位作为指向相应数据存储中更多数据元素的指针,能够获得因为压缩/近似而存储的额外的缓存行,在不增加高速缓存开销的前提下能够有效提高存储密度。在此基础上,本发明专利技术提供的数据读取控制方法及系统、数据写入控制方法及系统,根据源数据的冗余类型对所述源数据进行压缩或近似处理,有效减少冗余信息,然后再进行数据的读取操作和写入操作,能够减缓高速缓存的开销,提升访问效率。

A Cache Memory, a Data Read-Write Control Method and System

【技术实现步骤摘要】
一种高速缓冲存储器、一种数据读写控制方法及系统
本专利技术涉及缓存结构及访问方法领域,特别是涉及一种高速缓冲存储器、一种数据读写控制方法及系统。
技术介绍
由于应用程序数据局部性,高速缓存中的数据存在大量的冗余信息,比如大量的数组通常初始化为全0,多媒体等应用中某个区域的像素值数据值完全相同,或当连续地址访问时地址之间的数值差别很小而基址较大,或者是针对计数器等情况分配的存储空间远大于实际数值占用空间。如何消除高速缓存中的冗余信息,有效利用高速缓存的存储空间,提高存储密度,已成为本领域技术人员亟需解决的技术问题。
技术实现思路
本专利技术的目的是提供一种高速缓冲存储器、一种数据读写控制方法及系统,在不增加高速缓存开销的前提下能够有效提高存储密度,提升访问效率。为实现上述目的,本专利技术提供了如下方案:一种高速缓冲存储器,所述高速缓冲存储器包括:标签存储器和数据存储器,其中,所述标签存储器用于存储地址标记位和数据格式标记位,所述数据格式标记位为5位,其中,第1位为压缩状态标记位,第2位为近似状态标记位。一种数据读取控制方法,所述数据读取控制方法包括:获取内存中的源数据;判断所述源数据是否为冗余数据,获得第一判断结果;当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据;采用BCH编码方法对所述压缩数据进行校验,获得校验数据;将所述校验数据存储到二级缓存中;采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应;控制一级缓存读取所述解压缩数据。可选的,所述对所述源数据进行压缩处理,获得压缩数据,具体包括:判断所述源数据的冗余类型,所述冗余类型为重复型或浮动型;当所述源数据的冗余类型为重复型时,提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数;根据所述重复单元和所述重复次数生成所述源数据的压缩数据;当所述源数据的冗余类型为浮动型时,获取存储介质的位宽;根据所述存储介质的位宽确定数据块的大小;根据所述数据块的大小将所述源数据划分为多个数据块;将第一个所述数据块作为基值;计算所述基值与每一所述数据块的差值;根据所述数据块的大小、所述基值和所述差值生成所述源数据的压缩数据。一种数据读取控制系统,所述数据读取控制系统包括:第一数据获取模块,用于获取内存中的源数据;第一判断模块,用于判断所述源数据是否为冗余数据,获得第一判断结果;第一压缩模块,用于当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据;第一校验模块,用于采用BCH编码方法对所述压缩数据进行校验,获得校验数据;第一存储模块,用于将所述校验数据存储到二级缓存中;第一解码模块,用于采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;第一解压模块,用于采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应;第一控制模块,用于控制一级缓存读取所述解压缩数据。一种数据读取控制方法,所述数据读取控制方法包括:获取内存中的源数据;判断所述源数据是否为浮动型冗余数据,获得第二判断结果;当所述第二判断结果表示是,则对所述源数据进行近似处理,获得近似数据,具体包括:获取存储介质的位宽;根据所述存储介质的位宽确定数据块的大小;根据数据块的大小将所述源数据划分为多个数据块;将第一个所述数据块作为基值;采用所述基值近似表示各数据块,获得源数据的近似数据;将所述近似数据存储到二级缓存中;控制一级缓存读取所述近似数据。可选的,在所述“对所述源数据进行近似处理,获得近似数据”和所述“将所述近似数据存储到二级缓存中”之间还包括:采用BCH编码方法对所述近似数据进行校验,获得校验后的近似数据;在所述“将所述近似数据存储到二级缓存中”和所述“控制一级缓存读取所述近似数据”之间还包括:采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码后的近似数据。一种数据读取控制系统,所述数据读取控制系统包括:第二数据获取模块,用于获取内存中的源数据;第二判断模块,用于判断所述源数据是否为浮动型冗余数据,获得第二判断结果;近似模块,用于当所述第二判断结果表示是,对所述源数据进行近似处理,获得近似数据;所述近似模块具体包括:位宽获取单元,用于获取存储介质的位宽;数据块确定单元,用于根据所述存储介质的位宽确定数据块的大小;数据块划分单元,用于根据数据块的大小将所述源数据划分为多个数据块;基值确定单元,用于将第一个所述数据块作为基值;近似单元,用于采用所述基值近似表示各数据块,获得源数据的近似数据;第二存储模块,用于将所述近似数据存储到二级缓存中;第二控制模块,用于控制一级缓存读取所述近似数据。一种数据写入控制方法,所述数据写入控制方法包括:获取一级缓存中的待写数据;判断所述待写数据是否为冗余数据,获得第三判断结果;当所述第三判断结果表示是,则对所述待写数据进行压缩处理,获得压缩数据;采用BCH编码方法对所述压缩数据进行校验,获得校验数据;将所述校验数据写入二级缓存中;采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对待写数据进行压缩处理的压缩方法对应;将所述解压缩数据写入内存。一种数据写入控制系统,所述数据写入控制系统包括:第一待写数据获取模块,用于获取一级缓存中的待写数据;第三判断模块,用于判断所述待写数据是否为冗余数据,获得第三判断结果;第二压缩模块,用于当所述第三判断结果表示是,则对所述待写数据进行压缩处理,获得压缩数据;第二校验模块,用于采用BCH编码方法对所述压缩数据进行校验,获得校验数据;第一写入模块,用于将所述校验数据写入二级缓存中;第二解码模块,用于采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;第二解压模块,用于采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对待写数据进行压缩处理的压缩方法对应;第二写入模块,用于将所述解压缩数据写入内存。一种数据写入控制方法,所述数据写入控制方法包括:获取一级缓存中的待写数据;判断所述待写数据是否为浮动型冗余数据,获得第四判断结果;当所述第四判断结果表示是,则对所述待写数据进行近似处理,获得近似数据,具体包括:获取存储介质的位宽;根据所述存储介质的位宽确定数据块的大小;根据数据块的大小将所述待写数据划分为多个数据块;将第一个所述数据块作为基值;采用所述基值近似表示各数据块,获得待写数据的近似数据;将所述近似数据存入二级缓存中;将所述近似数据写入内存。可选的,所述“对所述待写数据进行近似处理,获得近似数据”和所述“将所述近似数据存入二级缓存中”之间,还包括:采用BCH编码方法对所述近似数据进行校验,获得校验后的近似数据;所述“将所述近似数据存入二级缓存中”和所述“将所述近似数据写入内存”之间,还包括:采用与BCH编码方法对应的BCH解码方法对所述二级缓存本文档来自技高网...

【技术保护点】
1.一种高速缓冲存储器,其特征在于,所述高速缓冲存储器包括:标签存储器和数据存储器,其中,所述标签存储器用于存储地址标记位和数据格式标记位,所述数据格式标记位为5位,其中,第1位为压缩状态标记位,第2位为近似状态标记位。

【技术特征摘要】
1.一种高速缓冲存储器,其特征在于,所述高速缓冲存储器包括:标签存储器和数据存储器,其中,所述标签存储器用于存储地址标记位和数据格式标记位,所述数据格式标记位为5位,其中,第1位为压缩状态标记位,第2位为近似状态标记位。2.一种数据读取控制方法,其特征在于,所述数据读取控制方法包括:获取内存中的源数据;判断所述源数据是否为冗余数据,获得第一判断结果;当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据;采用BCH编码方法对所述压缩数据进行校验,获得校验数据;将所述校验数据存储到二级缓存中;采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应;控制一级缓存读取所述解压缩数据。3.根据权利要求2所述的数据读取控制方法,其特征在于,所述对所述源数据进行压缩处理,获得压缩数据,具体包括:判断所述源数据的冗余类型,所述冗余类型为重复型或浮动型;当所述源数据的冗余类型为重复型时,提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数;根据所述重复单元和所述重复次数生成所述源数据的压缩数据;当所述源数据的冗余类型为浮动型时,获取存储介质的位宽;根据所述存储介质的位宽确定数据块的大小;根据所述数据块的大小将所述源数据划分为多个数据块;将第一个所述数据块作为基值;计算所述基值与每一所述数据块的差值;根据所述数据块的大小、所述基值和所述差值生成所述源数据的压缩数据。4.一种数据读取控制系统,其特征在于,所述数据读取控制系统包括:第一数据获取模块,用于获取内存中的源数据;第一判断模块,用于判断所述源数据是否为冗余数据,获得第一判断结果;第一压缩模块,用于当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据;第一校验模块,用于采用BCH编码方法对所述压缩数据进行校验,获得校验数据;第一存储模块,用于将所述校验数据存储到二级缓存中;第一解码模块,用于采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;第一解压模块,用于采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应;第一控制模块,用于控制一级缓存读取所述解压缩数据。5.一种数据读取控制方法,其特征在于,所述数据读取控制方法包括:获取内存中的源数据;判断所述源数据是否为浮动型冗余数据,获得第二判断结果;当所述第二判断结果表示是,则对所述源数据进行近似处理,获得近似数据,具体包括:获取存储介质的位宽;根据所述存储介质的位宽确定数据块的大小;根据数据块的大小将所述源数据划分为多个数据块;将第一个所述数据块作为基值;采用所述基值近似表示各数据块,获得源数据的近似数据;将所述近似数据存储到二级缓存中;控制一级缓存读取所述近似数据。6.根据权利要求5所述的数据读取控制方法,其特征在于,在所述“对所述源数据进行近似处理,获得近似数据”和所述“将所述近似数据存储到二级缓存中”之间还包括:采用BCH编码方法对所述近似数据进行校验,获得校验后的近似数据;在所述“将所述近似数据存储到二级缓存中”和所述“控制一级缓存读取所述近似数据”之间还包括:采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码后的近似数据。7.一种数据读取控制系统,其特征在于,所述数据读取控制系统包括:第二数据获取模块,用于获取内存中的源数据;第二判断模块,用于判断所述源数据是否为浮动型冗余数据,获得第二判断结果;近似模块,用于当所述第二判断结果表示是,对所述源数据进行近似处理,获得近似数据;所述近似模块具...

【专利技术属性】
技术研发人员:王晶陈折桂张伟功朱晓燕
申请(专利权)人:首都师范大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1