CN105373456B - 降低缓存命中率的内存测试方法 - Google Patents
降低缓存命中率的内存测试方法 Download PDFInfo
- Publication number
- CN105373456B CN105373456B CN201510808418.XA CN201510808418A CN105373456B CN 105373456 B CN105373456 B CN 105373456B CN 201510808418 A CN201510808418 A CN 201510808418A CN 105373456 B CN105373456 B CN 105373456B
- Authority
- CN
- China
- Prior art keywords
- memory
- testing
- memory sections
- several
- internal storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 63
- 238000012956 testing procedure Methods 0.000 claims abstract description 51
- 238000005192 partition Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims abstract description 4
- 238000005457 optimization Methods 0.000 abstract description 3
- 238000012544 monitoring process Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种降低缓存命中率的内存测试方法,包括:将待测内存划分为若干预设大小的内存区段;将预设的内存测试算法划分为若干测试步骤;对所述若干内存区段依次执行所述若干测试步骤;其中,在每一所述内存区段执行任意两个连续的所述测试步骤之间,至少对另一所述内存区段执行一所述测试步骤。本发明通过依次对不同的内存区段执行测试步骤,实现了缓存无法持续形成有效的关注区段,使得缓存状态一直在抖动,降低了缓存命中率,从而提高了内存测试的有效性;并进一步通过监测并统计所述内存测试算法执行过程的执行时间与缓存命中,根据统计结果优化内存测试算法的测试步骤划分,从而兼顾考虑内存测试的效率和有效性,优化所述内存测试方法。
Description
技术领域
本发明涉及内存测试技术领域,尤其涉及一种降低缓存命中率的内存测试方法。
背景技术
内存测试的有效性一直是衡量测试质量的一个非常重要的标准,对于整合测试阶段的diag程序而言更是如此。现今的处理器都带有多级缓存(cache),而且每一级缓存的大小都随着科技的进步而逐渐增大,目前高端的intel处理器基本都分为3级缓存,而且第三级缓存大小已经达到4M乃至更大。因此在内存的测试中如何有效且最大限度的保证每一次读写操作真的操作到内存,而不是落入多级缓存中,这是一个很重要的问题。目前市面上的diag程序对于这一个问题没有作出有效的优化和针对性的处理,因此测试的有效性会受到一定的影响。
发明内容
在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明提供一种降低缓存命中率的内存测试方法,最大限度的保证每一次读写操作操作到内存而非多级缓存,从而提高内存测试的有效性。
本发明提供一种降低缓存命中率的内存测试方法,包括:
将待测内存划分为若干预设大小的内存区段;
将预设的内存测试算法划分为若干测试步骤;
对所述若干内存区段依次执行所述若干测试步骤;
其中,在每一所述内存区段执行任意两个连续的所述测试步骤之间,至少对另一所述内存区段执行一所述测试步骤。
本发明诸多实施例提供的内存测试方法通过依次对不同的内存区段执行测试步骤,实现了缓存无法持续形成有效的关注区段,使得缓存状态一直在抖动,降低了缓存命中率,从而提高了内存测试的有效性;
本发明一些实施例提供的内存测试方法通过对所有内存区段依次执行每一步骤,固定测试步骤的排序,在保持降低缓存命中率的同时维持测试的效率;
本发明一些实施例提供的内存测试方法通过监测并统计所述内存测试算法执行过程的执行时间与缓存命中,根据统计结果优化内存测试算法的测试步骤划分,从而兼顾考虑内存测试的效率和有效性,进一步优化所述内存测试方法。
附图说明
参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。
图1为本发明一实施例提供的降低缓存命中率的内存测试方法的流程图。
图2为图1所示内存测试方法的一优选实施例的流程图。
图3为图1所示内存测试方法的另一优选实施例的流程图。
具体实施方式
下面参照附图来说明本发明的实施例。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。
图1为本发明一实施例提供的降低缓存命中率的内存测试方法的流程图。
如图1所示,在本实施例中,本发明所提供的降低缓存命中率的内存测试方法包括:
S10:将待测内存划分为若干预设大小的内存区段;
S30:将预设的内存测试算法划分为若干测试步骤;
S50:对所述若干内存区段依次执行所述若干测试步骤;
其中,在每一所述内存区段执行任意两个连续的所述测试步骤之间,至少对另一所述内存区段执行一所述测试步骤。
具体地,在本实施例中,内存区段的预设大小为4M,以待测内存大小16M为例,步骤S10将待测内存划分为内存区段1、内存区段2、内存区段3和内存区段4;
步骤S30将预设的内存测试算法划分为测试步骤a、测试步骤b和测试步骤c;
步骤S50对内存区段1-4依次执行测试步骤a-c,并确保对每一内存区段执行任意两个连续的测试步骤之间,至少对另一内存区段执行一测试步骤,例如:
对内存区段1执行测试步骤a;
对内存区段2执行测试步骤a;
对内存区段3执行测试步骤a;
对内存区段1执行测试步骤b;
对内存区段2执行测试步骤b;
对内存区段4执行测试步骤a;
对内存区段1执行测试步骤c;
对内存区段3执行测试步骤b;
对内存区段4执行测试步骤b;
对内存区段2执行测试步骤c;
对内存区段3执行测试步骤c;
对内存区段4执行测试步骤c;
从而确保了执行下一测试步骤的是不同的内存区段,使得缓存无法持续关注同一内存区段。
因此,在本实施例中,本发明提供的内存测试方法通过依次对不同的内存区段执行测试步骤,实现了缓存无法持续形成有效的关注区段,使得缓存状态一直在抖动,降低了缓存命中率,从而提高了内存测试的有效性。
图2为图1所示内存测试方法的一优选实施例的流程图。
如图2所示,在一优选实施例中,在步骤S50中,当每一所述内存区段执行完前一测试步骤后,再对所述若干内存区段执行后一测试步骤。
具体地,相对于上一实施例,在本实施例中,处理器对内存区段1-4均执行完测试步骤a后,再分别对内存区段1-4执行测试步骤b,最后分别对内存区段1-4执行测试步骤c。
本实施例通过固定测试步骤的排序,在保持降低缓存命中率的同时维持测试的效率。
在实际内存测试的应用中,采用本实施例提供的内存测试方法可以起到明显的降低缓存命中率的效果:
在采用同样内存测试算法的前提下,普通内存测试方法的缓存命中率在0.5-0.9之间;而本实施例提供的内存测试方法的缓存命中率在0.1-0.2之间。
图3为图1所示内存测试方法的另一优选实施例的流程图。
如图3所示,在一优选实施例中,本发明所提供的内存测试方法在步骤S50之后还包括:
S70:监测并统计所述内存测试算法执行过程的执行时间与缓存命中,根据统计结果优化所述内存测试算法的测试步骤划分。
具体地,在一定范围内,内存测试算法的测试步骤划分的越细,缓存越难以持续形成有效的关注区段,缓存命中率越低,内存测试的有效性越高;但同时,内存测试算法的测试步骤划分的越细,则测试步骤越多,执行时间越长,测试效率越低。
因此本发明所提供的内存测试方法可以通过步骤S70进一步找到一个兼顾有效性和测试效率的平衡点,进一步优化内存测试方法。
在一优选实施例中,所述预设大小为测试所采用处理器的三级缓存大小。
在一优选实施例中,所述处理器为多核处理器。
具体地,多核处理器通常存在缓存的一致性问题,而所述缓存的一致性问题恰好可以为缓存难以持续形成有效的关注区段、保持缓存状态一直在抖动、降低了缓存命中率提供多重保障。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (3)
1.一种降低缓存命中率的内存测试方法,其特征在于,包括:
将待测内存划分为若干预设大小的内存区段;
将预设的内存测试算法划分为若干测试步骤;
对所述若干内存区段依次执行所述若干测试步骤;
其中,在每一所述内存区段执行任意两个连续的所述测试步骤之间,至少对另一所述内存区段执行一所述测试步骤;
所述预设大小为测试所采用处理器的三级缓存大小;
所述对所述若干内存区段依次执行所述若干测试步骤之后还包括:
监测并统计所述内存测试算法执行过程的执行时间与缓存命中,根据统计结果优化所述内存测试算法的测试步骤划分。
2.根据权利要求1所述的内存测试方法,其特征在于,当每一所述内存区段执行完前一测试步骤后,再对所述若干内存区段执行后一测试步骤。
3.根据权利要求1所述的内存测试方法,其特征在于,所述处理器为多核处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510808418.XA CN105373456B (zh) | 2015-11-19 | 2015-11-19 | 降低缓存命中率的内存测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510808418.XA CN105373456B (zh) | 2015-11-19 | 2015-11-19 | 降低缓存命中率的内存测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105373456A CN105373456A (zh) | 2016-03-02 |
CN105373456B true CN105373456B (zh) | 2018-06-29 |
Family
ID=55375676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510808418.XA Active CN105373456B (zh) | 2015-11-19 | 2015-11-19 | 降低缓存命中率的内存测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105373456B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970862B (zh) * | 2017-04-11 | 2020-06-16 | 武汉斗鱼网络科技有限公司 | 一种内存抖动自动化测试方法及装置 |
CN111739577B (zh) * | 2020-07-20 | 2020-11-20 | 成都智明达电子股份有限公司 | 一种基于dsp的高效的ddr测试方法 |
CN114253455A (zh) * | 2020-09-21 | 2022-03-29 | 深圳市茁壮网络股份有限公司 | 一种缓存命中率的调整方法、装置、设备和存储介质 |
CN113254321B (zh) * | 2021-06-07 | 2023-01-24 | 上海恒为智能科技有限公司 | 一种评估处理器内存访问性能的方法及系统 |
CN115576872B (zh) * | 2022-11-18 | 2023-03-24 | 北京红山微电子技术有限公司 | 多级缓存的访问检测方法及装置 |
CN119559991A (zh) * | 2025-01-24 | 2025-03-04 | 深圳市晶存科技股份有限公司 | 一种内存器的读写测试方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240532B1 (en) * | 1998-04-06 | 2001-05-29 | Rise Technology Company | Programmable hit and write policy for cache memory test |
CN101957781A (zh) * | 2009-07-13 | 2011-01-26 | 英业达股份有限公司 | 远程协助测试内存的方法 |
CN103902448A (zh) * | 2012-12-28 | 2014-07-02 | 中国科学院深圳先进技术研究院 | 多核处理器软错误压力测试程序生成系统及方法 |
CN104123224A (zh) * | 2014-07-09 | 2014-10-29 | 浪潮电子信息产业股份有限公司 | 一种基于ia-64架构下的简易内存测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442666B1 (en) * | 1999-01-28 | 2002-08-27 | Infineon Technologies Ag | Techniques for improving memory access in a virtual memory system |
-
2015
- 2015-11-19 CN CN201510808418.XA patent/CN105373456B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240532B1 (en) * | 1998-04-06 | 2001-05-29 | Rise Technology Company | Programmable hit and write policy for cache memory test |
CN101957781A (zh) * | 2009-07-13 | 2011-01-26 | 英业达股份有限公司 | 远程协助测试内存的方法 |
CN103902448A (zh) * | 2012-12-28 | 2014-07-02 | 中国科学院深圳先进技术研究院 | 多核处理器软错误压力测试程序生成系统及方法 |
CN104123224A (zh) * | 2014-07-09 | 2014-10-29 | 浪潮电子信息产业股份有限公司 | 一种基于ia-64架构下的简易内存测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105373456A (zh) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105373456B (zh) | 降低缓存命中率的内存测试方法 | |
WO2016141735A1 (zh) | 缓存数据的确定方法及装置 | |
JP2017517082A5 (zh) | ||
CN104317958B (zh) | 一种实时数据处理方法及系统 | |
TWI796286B (zh) | 一種機器學習系統的訓練方法和訓練系統 | |
WO2019100263A1 (en) | File pre-fetch scheduling for cache memory to reduce latency | |
US9836396B2 (en) | Method for managing a last level cache and apparatus utilizing the same | |
CN109583561A (zh) | 一种深度神经网络的激活量量化方法及装置 | |
US10078447B2 (en) | Memory activity driven adaptive performance measurement | |
US20140095907A1 (en) | Method of Conserving Power Based on Electronic Device's I/O Pattern | |
CN107229575A (zh) | 缓存性能的评估方法及装置 | |
CN109359729B (zh) | 一种在fpga上实现缓存数据的系统及方法 | |
CN105095104B (zh) | 数据缓存处理方法及装置 | |
CN108509723A (zh) | 基于人工神经网络的LRU Cache预取机制性能收益评估方法 | |
CN107678927B (zh) | 分配硬盘io方法、装置、设备及计算机可读存储介质 | |
US10977180B2 (en) | Hit-based allocation of quotas of a cache space of a cache memory | |
CN105512051A (zh) | 一种自学习型智能固态硬盘缓存管理方法和装置 | |
CN111159074A (zh) | 一种基于FPGA的超大规模数据hash运算加速卡 | |
Galanopoulos et al. | An artificial matrix generator for multi-platform spmv performance analysis | |
CN107748711A (zh) | 自动优化Storm并行度的方法、终端设备及存储介质 | |
CN110825652B (zh) | 淘汰磁盘块上的缓存数据的方法、装置及设备 | |
CN108304252B (zh) | 一种任务调度方法及装置 | |
CN107229574A (zh) | 缓存及其控制方法 | |
CN107229546A (zh) | 缓存的模拟方法及装置 | |
CN114443588B (zh) | 一种数据预读方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |