数据处理方法和装置制造方法及图纸

技术编号:2828971 阅读:196 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种数据处理方法和装置。该方法包括:设置主存储器以组相联方式与高速缓存器相互关联,主存储器包括数个存储空间相等、顺序排列的主存块,高速缓存器包括数个存储空间相等、顺序排列的缓存块,且主存块存储空间为缓存块存储空间的两倍或两倍以上;将两个或两个以上、由数个数据条目组成的数据子表顺序存储在主存储器的主存块中;调整数据子表的大小等于主存块存储空间大小的N倍,其中N为自然数,且N≥2。该装置包括用于执行本发明专利技术数据处理方法各步骤的模块。本发明专利技术的技术方案能够减少采用高速缓存技术访问读取数据过程中出现的高速缓存冲突现象,以提高数据读取的速度,节省系统开销,改善系统的性能。

【技术实现步骤摘要】

本专利技术涉及一种数据处理方法和装置,尤其涉及一种利用高速緩存技术 处理数据的方法以及装置。
技术介绍
高速緩存技术是基于程序访问的局部性(locality)原理产生的。所谓 程序访问的局部性体现在两方面l)时间局部性,即如果一个单元^皮访问, 那么这个单元将来会被再次访问;2)空间局部性,即如果一个单元被访问, 那么与这个单元邻近的单元将会被访问。如图1所示为现有技术采用高速緩冲器(以下称Cache)的系统结构示 意图,在CPU 1与主存储器2之间设置一个高速的、容量相对较小的存储器, 将当前正在访问的、以及其邻近的指令和数据存储在其中,以便CPU 1在将 来可以快速地访问使用,该存储器即为Cache 3。高速緩存技术极大地緩解 了 CPU与主存储器之间的数据传输瓶颈,在各种处理器中被普遍采用。Cache緩存主存储器中数据的常见方式是将主存储器空间与Cache空 间相应地被划分成一系列的块(block),其中緩存块也称为緩存行,緩存块 的存储空间大小通常为32字节或64字节,主存块的存储空间大小通常大于 緩存块, 一般为64字节或128字节。主存储器中的主存块映射到高速緩存器 中的放置策略主要有3种全相联、直接映射和组相联。其中,全相联即将 一个主存块顺序读取至高速緩存器的所有緩存块中,例如一个主存块的大小 为64字节, 一个緩存块的大小为32字节,则主存块从緩存块的起始位置开 始,顺序存储占用两个緩存块,存储完一个主存块的内容后再重复存储该主存块的内容,这种方式的优点是Cache的沖突小,缺点是速度慢;直接映射, 即将一个主存块按照设定规则读取至高速缓存器的一个緩存块中,该规则 可以为关联到的緩存块号-主存块号mod緩存块数,若一个緩存块不足以放 置一个完整的主存块时,则仅放置主存块前面的数据,填满一个緩存块为止, 直接映射方式的优点是速度快,缺点是緩存沖突大;组相联介于全相联和直 接映射之间,将緩存块分成若干组(Set),每个主存块采用直接映射方式被 读取到一个组中,其中緩存组号=主存块号mod緩存组数,然后在组内采用 全相联方式顺序放置在緩存块中,当该组内的緩存块不足以放置一个主存块 时,则仅放置主存块前面的数据,组相联的优缺点介于全相联和直接映射方 式之间。组相联通常可分为2路、4路和8路的组相联,路数即每个缓存组 内所具有的緩存块数,则直接映射可看作是单路组相联、全相联可看作是路 数为緩存块数的组相联。如图2A所示为一个现有技术中的一个主存储器,每个主存块的大小为 64字节,待緩存的主存块号为12,图2B~2E分别为该主存块在具有8 块緩存块,每个緩存块的大小为32字节的高速緩存器中映射情况的示意图。 图2B为采用全相联方式将该主存块顺序缓存在8个緩存块中,图2C为采用 直接映射方式緩存在高速緩存器中的第4号緩存块中,緩存规则为緩存块 号=主存块号mod緩存块数,即12mod8 = 4,图2D为采用2路组相联方式緩 存在高速緩存器第0组的所有緩存块中,设置在第0组是按照12mod4 -O的预设规则,图2E为采用4路组相联方式緩存在高速緩存器第0组 (12mod4 = 0)的所有緩存块中。按照上述Cache緩存数据的方式,在基于高速緩存技术进行数据读取时 的基本方法为数据处理器,例如CPU在读取所需数据时,可以采用存储器 直4妄访问(Direct Memory Access,以下简称DMA)—技术读取,首先会读取 高速緩存器,当高速緩存器中未存储所需读取的数据时,会将所需数据所在 的主存块从主存储器中按照设定的方式读取至高速緩存器的緩存块中,通常所需数据是包含在一个独立使用的数据条目中的, 一个数据条目的大小往往 不相等,顺序存储在一个或多个主存块中,所以一般需要同时读取多个主存 块到緩存中,而后再从緩存块中读取至数据处理器。在基于高速缓存技术进 行数据读取的过程中,命中率是衡量緩存效率的主要指标。当高速緩存器中 緩存的数据不被命中时,就需要进行将数据换入、换出高速緩存器的操作, 这类操作的开销很大。因此,提高高速緩存器的命中率是提高效率,减少开 销的关键手段。在数据读取过程中,发生不命中现象的原因主要有3种l)首次访问, 即高速緩存器中没有这个数据,必须从主存储器中读取,首次访问所造成的 冲突是不可避免的;2)容量不足,即因为高速緩存器容量太小而不能保存需 要访问的数据,数据换出后又被取入,高速緩存器的容量是由硬件决定的, 因此也难以避免;3)冲突,组相联或直接映射方式中,主存储器中映射到同 一组内的主存块数过多,导致某些主存块被反复的读入和换出,緩存沖突是 和主存块的组织结构,及其与緩存块的映射关系有关的,是目前为提高緩存 命中率而主要针对的研究对象。在数据访问技术中,緩存冲突是一普遍现象,因为现有数据表的设计通 常不对表中的数据排放进行严格的要求,在少数情况下,仅根据编译器或CPU 的特点作字节对齐,表中数据的内容根据其功能来决定,表中数据的顺序一 般按照规范格式甚至没有规范而简单的排放。上述技术方案导致在访问数据 过程中会出现大量緩存冲突,增加了系统开销,降低了运行速度。
技术实现思路
本专利技术的目的是提供一种数据处理方法和装置,以实现在采用高速緩存 技术读取数据时,降低高速緩存冲突,减少系统开销,提高运行速度,以及 改善系统的性能。为实现上述目的, 一方面,提供了一种数据处理方法,包括设置用于存储数据子表的主存储器以组相联方式与高速緩存器相互关 联,主存储器包括数个存储空间相等、顺序排列的主存块,高速緩存器包括 数个存储空间相等、顺序排列的緩存块,且主存块存储空间为緩存块存储空间的两4咅或两4咅以上;将两个或两个以上、由数个数据条目组成的数据子表顺序存储在主存储 器的主存块中;调整数据子表的大小等于主存块存储空间大小的N倍,其中N为自然数, 且N。为实现上述目的,另一方面,提供了一种数据处理装置,包括第一模块,用于设置用于存储数据子表的主存储器以组相联方式与高速 緩存器相互关联,主存储器包括数个存储空间相等、顺序排列的主存块,高 速緩存器包括数个存储空间相等、顺序排列的緩存块,且主存块存储空间为 緩存块存储空间的两倍或两倍以上;第二模块,用于将两个或两个以上、由数个数据条目组成的数据子表顺 序存储在主存储器的主存块中;第三模块,用于在存储数据子表最后一个数据条目的主存块中,设置用 于维持主存块存储一个数据子表中数据的空白条目。本专利技术的数据处理方法可以采用本专利技术数据处理装置来执行。由以上技 术方案可知,本专利技术采用合理处理主存储器中数据表的技术手段,克服了现 有技术中,因数据表组织方式不当,导致緩存冲突高,数据访问命中率低, 从而读取速度低,系统性能差的技术问题。因此,本专利技术的技术方案能够有 效减少采用高速緩存技术访问读取数据过程中出现的緩存冲突现象,以提高 数据读取的速度,节省系统开销,改善系统的性能。下面通过具体实施例并结合附图对本专利技术做进一步的详细描述。附图说明图1所示为现有技术中采用高速緩存技术进行数据访问的系统结构示意图2A所示为现有技术主存储器中的数据分布图2B所示为图2A中主存储器按照全相联方式与高速缓存器间的映射关 系示意图2C所示为图2A中主存储器按照直接映射方本文档来自技高网
...

【技术保护点】
一种数据处理方法,其特征在于包括:设置用于存储数据子表的主存储器以组相联方式与高速缓存器相互关联,所述主存储器包括数个存储空间相等、顺序排列的主存块,所述高速缓存器包括数个存储空间相等、顺序排列的缓存块,且所述主存块存储空间为所述缓存块存储空间的两倍或两倍以上;将两个或两个以上、由数个数据条目组成的数据子表顺序存储在所述主存储器的主存块中;调整所述数据子表的大小等于所述主存块存储空间大小的N倍,其中N为自然数,且N≥2。

【技术特征摘要】
1、一种数据处理方法,其特征在于包括设置用于存储数据子表的主存储器以组相联方式与高速缓存器相互关联,所述主存储器包括数个存储空间相等、顺序排列的主存块,所述高速缓存器包括数个存储空间相等、顺序排列的缓存块,且所述主存块存储空间为所述缓存块存储空间的两倍或两倍以上;将两个或两个以上、由数个数据条目组成的数据子表顺序存储在所述主存储器的主存块中;调整所述数据子表的大小等于所述主存块存储空间大小的N倍,其中N为自然数,且N≥2。2、 根据权利要求1所述的数据处理方法,其特征在于,调整所述数据子 表的大小等于所述主存块存储空间大小的N倍具体为在存储所述数据子表 最后一个数据条目的所述主存块中,设置用于维持所述主存块存储一个数据 子表中数据的空白条目。3、 根据权利要求2所述的数据处理方法,其特征在于,在存储所述数据 子表最后一个数据条目的所述主存块中设置所述空白条目之后,还包括在 存储各所述数据子表的第一个数据条目的各主存块中设置填充条目,所述填 充条目设置在所述主存块中的数据条目之前,且所述填充条目的空间大小等 于所述緩存块存储空间的自然数倍。4、 根据权利要求3所述的数据处理方法,其特征在于,在所述主存块中 设置填充条目具体为在存储各所述数据子表的第一个数据条目的各主存块 中分别设置空间大小递增的填充条目。5、 根据权利要求2或3或4所述的数据处理方法,其特征在于,在将两 个或两个以上、由数个数据条目组成的数据子表顺序存储在所述主存储器的 主存块中之后,还包括按照所述数据条目的访问频率调整数据条目在所述 数据子表中的...

【专利技术属性】
技术研发人员:陈四强
申请(专利权)人:福建星网锐捷网络有限公司
类型:发明
国别省市:35[中国|福建]

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

1