CN105446840B - 一种Cache一致性极限测试方法 - Google Patents
一种Cache一致性极限测试方法 Download PDFInfo
- Publication number
- CN105446840B CN105446840B CN201510827235.2A CN201510827235A CN105446840B CN 105446840 B CN105446840 B CN 105446840B CN 201510827235 A CN201510827235 A CN 201510827235A CN 105446840 B CN105446840 B CN 105446840B
- Authority
- CN
- China
- Prior art keywords
- cache
- memory access
- consistency
- granularity
- limit test
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2247—Verification or detection of system hardware configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2294—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种Cache一致性极限测试方法,包括:执行Cache的规模和结构配置,其中根据Cache大小、Cache行长度、相连路组的数量以及一致性策略,确定Cache一致性极限测试的粒度、访存顺序和访存的Cache入口地址,而不遍历整个Cache;设置用于精确错误定位的初始值和数据还原运算,其中采用地址作为初始值,数据还原操作采用拍数最少的移位运算;设置多粒度高密度访存方式,其中使得Cache的操作以Cache行为单位,不同的处理器以并行进程同时或交替对同一个Cache行进行访存;设置与系统相关的Cache协议验证。
Description
技术领域
本发明涉及计算机技术领域,更具体地说,本发明涉及一种Cache(高速缓存)一致性极限测试方法。
背景技术
Cache的一致性协议正确性验证是计算机系统工程化的重要阶段,极限测试要解决的问题是,如何在有限的空间和时间内通过高密度、高强度的测试,暴露动态状态下的Cache一致性协议问题,并且可以快速重现错误和准确定位。一致性极限测试要解决四个技术问题:配置Cache的规模和结构以及Cache协议,以方便Cache协议的验证设计;用于精确错误定位的初始值设计和数据还原运算设计;多粒度高密度访存设计;Cache协议验证设计。
传统的测试为了覆盖Cache,通常采用的访存模式是顺序、连续访存,数据空间至少要两倍以上Cache大小,这样才可以保证确实用到了装填、淘汰等最基本的Cache协议。这种访存模式对于测试的优点是不用考虑Cache协议,对测试程序,特别是对程序员的要求不高。通常的应用程序都会包含运算,运算是在寄存器间进行的,夹杂着运算的程序访存密度不够,并且一道题目的访存模式往往比较单一,很难覆盖Cache一致性协议的全部功能。
即使空间占用不是Cache测试的主要问题,但顺序、连续访问遍历两倍于Cache大小的空间有几点不足:(1)访存的密度不够;(2)访存模式单一。以四路组相连的Cache结构为例,假设Cache有n个入口,顺序、连续访问时本地Cache的数据装填、淘汰顺序是:“第1个四路组第1个条目——〉第2个四路组第1个条目——〉……——〉第(n-1)个四路组第1个条目——〉第n个四路组第1个条目——〉”…………“第1个四路组第4个条目——〉第2个四路组第4个条目——〉……——〉第(n-1)个四路组第4个条目——〉第n个四路组第4个条目”。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种Cache一致性极限测试方法,其能够通过针对某一入口的四路组或多个入口的Cache行的访存精细设计,达到增强测试的目的。
为了实现上述技术目的,根据本发明,提供了一种Cache一致性极限测试方法,包括:执行Cache的规模和结构配置,其中根据Cache大小、Cache行长度、相连路组的数量以及一致性策略,确定Cache一致性极限测试的粒度、访存顺序和访存的Cache入口地址,而不遍历整个Cache。
优选地,所述Cache一致性极限测试方法包括:设置用于精确错误定位的初始值和数据还原运算,其中采用地址作为初始值,数据还原操作采用拍数最少的移位运算。
优选地,所述Cache一致性极限测试方法包括:设置多粒度高密度访存方式,其中使得Cache的操作以Cache行为单位,不同的处理器以并行进程同时或交替对同一个Cache行进行访存。
优选地,所述访存的代码用汇编实现,尽量减少不必要的寄存器间运算,提高访存密度。
优选地,不同的处理器以并行进程同时或交替对同一个Cache行进行访存时的访存粒度为1B、2B、4B、8B、单个向量长度中的一个。
优选地,所述Cache一致性极限测试方法包括:设置与系统相关的Cache协议验证;其中,协议验证包括下述协议验证中的一个或多个:单个进程对同一个多路组的装填、单个进程对同一个多路组的淘汰、多个并行进程读同一行导致出现多个干净副本、多副本的环境下单个进程的写操作导致本地产生最新脏副本和多个干净副本无效、多个并行进程的同时写操作导致远程脏副本回写和本地产生脏副本。
附图说明
结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
图1示意性地示出了根据本发明优选实施例的Cache一致性极限测试方法的示意图。
需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施方式
为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
一致性极限测试要解决四个技术问题:配置Cache的规模、结构和协议,以方便Cache协议的验证设计;用于精确错误定位的初始值设计和数据还原运算设计;多粒度高密度访存设计;Cache协议验证设计。
本发明提供的关于Cache一致性极限测试的方法,针对数据Cache的一致性正确性测试,满足了几个要素:Cache空间覆盖、Cache协议覆盖、Cache协议可配置、访存粒度覆盖、高密度访存、快速的错误重现、准确的错误定位,由此达到在尽可能短的时间内测试能覆盖到动态的Cache状态的目的。
下面将参考图1对这些部分进行详细描述,其中图1示意性地示出了根据本发明优选实施例的Cache一致性极限测试方法的示意图。
S1:执行Cache的规模和结构配置,其中根据Cache大小、Cache行长度、相连路组的数量以及一致性策略,确定Cache一致性极限测试的粒度、访存顺序和访存的Cache入口地址,而不遍历整个Cache。
具体地,需要配置的与Cache规模和结构相关的参数包括:Cache大小、Cache行长度、相连路组的数量、一致性策略,根据这些参数,可利用程序自动计算出测试的粒度、访存顺序、访存的Cache入口地址,不需要遍历整个Cache,有针对性地造成Cache某行或某一组的状态变化。
S2:设置用于精确错误定位的初始值和数据还原运算,其中采用地址作为初始值,数据还原操作采用拍数最少的移位运算。
具体地,为了方便结果校验和错误定位,用地址作为初始值,数据还原操作采用拍数最少的移位运算,这样经过若干次任意长度的数值还原和位置还原操作,便可以进行结果自校验。
S3:设置多粒度高密度访存方式,其中使得Cache的操作以Cache行为单位,不同的处理器以并行进程同时或交替对同一个Cache行进行访存。而且,优选地,所述访存的代码用汇编实现,尽量减少不必要的寄存器间运算,提高访存密度。优选地,不同的处理器以并行进程同时或交替对同一个Cache行进行访存时的访存粒度为1B、2B、4B、8B、单个向量长度中的一个。
具体地,Cache的各种操作(装填、淘汰、刷新等)以Cache行为单位,为了加大测试强度,不同的处理器(并行进程)同时或交替采用1B(1字节)、2B、4B、8B、单个向量长度等访存粒度对同一个Cache行进行访存,增加对Cache操作的验证强度;访存代码用汇编实现,直接读、写目标地址,减少运算、寄存器间转储的间隙。
S4:设置与系统相关的Cache协议验证。
具体地,协议验证包括单个进程对同一个多(四)路组的装填/淘汰、多个并行进程读同一行导致出现多个干净副本、多副本的环境下单个进程的写操作导致本地产生最新脏副本和多个干净副本无效、多个并行进程的同时写操作导致远程脏副本回写和本地产生脏副本等,各种副本状态的迁移,以测试动态下的Cache一致性协议的正确性。
利用本发明的Cache一致性极限测试方法,能够针对专门的Cache结构和协议,可以针对性地加大某类协议的测试强度。测试程序的设计从访存地址到Cache结构,对应关系变得透明易操作,强度可控,错误容易重现和定位。
可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (1)
1.一种Cache一致性极限测试方法,其特征在于包括:执行Cache的规模和结构配置,其中根据Cache大小、Cache行长度、相连路组的数量以及一致性策略,确定Cache一致性极限测试的粒度、访存顺序和访存的Cache入口地址,而不遍历整个Cache;设置用于精确错误定位的初始值和数据还原运算,其中采用地址作为初始值,数据还原操作采用拍数最少的移位运算;设置多粒度高密度访存方式,其中使得Cache的操作以Cache行为单位,不同的处理器以并行进程同时或交替对同一个Cache行进行访存;设置与系统相关的Cache协议验证;其中,协议验证包括下述协议验证中的一个或多个:单个进程对同一个多路组的装填、单个进程对同一个多路组的淘汰、多个并行进程读同一行导致出现多个干净副本、多副本的环境下单个进程的写操作导致本地产生最新脏副本和多个干净副本无效、多个并行进程的同时写操作导致远程脏副本回写和本地产生脏副本;其中,Cache一致性极限测试方法,其中所述访存的代码用汇编实现;其中,其中不同的处理器以并行进程同时或交替对同一个Cache行进行访存时的访存粒度为1B、2B、4B、8B、单个向量长度中的一个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510827235.2A CN105446840B (zh) | 2015-11-24 | 2015-11-24 | 一种Cache一致性极限测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510827235.2A CN105446840B (zh) | 2015-11-24 | 2015-11-24 | 一种Cache一致性极限测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446840A CN105446840A (zh) | 2016-03-30 |
CN105446840B true CN105446840B (zh) | 2019-02-12 |
Family
ID=55557072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510827235.2A Active CN105446840B (zh) | 2015-11-24 | 2015-11-24 | 一种Cache一致性极限测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446840B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727611B (zh) * | 2019-09-09 | 2022-01-07 | 无锡江南计算技术研究所 | 一种带状态监测的可配置一致性验证系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0916472A (ja) * | 1995-07-04 | 1997-01-17 | Fujitsu Ltd | キャッシュメモリ試験方法 |
US6892319B2 (en) * | 2000-09-08 | 2005-05-10 | Hewlett-Packard Development Company, L.P. | Method for verifying abstract memory models of shared memory multiprocessors |
US6785773B2 (en) * | 2001-03-29 | 2004-08-31 | International Business Machines Corporation | Verification of global coherence in a multi-node NUMA system |
US6922756B2 (en) * | 2002-12-19 | 2005-07-26 | Intel Corporation | Forward state for use in cache coherency in a multiprocessor system |
CN1445661A (zh) * | 2003-04-21 | 2003-10-01 | 杭州中天微系统有限公司 | 一种降低指令cache功耗的控制逻辑 |
US8812793B2 (en) * | 2006-06-19 | 2014-08-19 | International Business Machines Corporation | Silent invalid state transition handling in an SMP environment |
CN101520751B (zh) * | 2009-03-26 | 2012-01-04 | 浙江大学 | Cache的自适应插入策略的实现方法 |
CN102063406B (zh) * | 2010-12-21 | 2012-07-25 | 清华大学 | 用于多核处理器的网络共享Cache及其目录控制方法 |
CN102346714B (zh) * | 2011-10-09 | 2014-07-02 | 西安交通大学 | 用于多核处理器的一致性维护装置及一致性交互方法 |
CN103150264B (zh) * | 2013-01-18 | 2014-09-17 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
-
2015
- 2015-11-24 CN CN201510827235.2A patent/CN105446840B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105446840A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105765541B (zh) | 用于机动车的控制器 | |
CN107078747B (zh) | 具有预配置的存储器仲裁的流水线分层ldpc解码 | |
US9176872B2 (en) | Wait-free algorithm for inter-core, inter-process, or inter-task communication | |
CN105446841B (zh) | 缓存一致性测试方法 | |
WO2014031255A1 (en) | Multiport memory emulation using single-port memory devices | |
JP5843801B2 (ja) | 情報処理装置およびデバッグ方法 | |
JPH08505725A (ja) | 命令実行を制御するため命令にタグを割り当てるシステム及び方法 | |
CN104866443A (zh) | 可中断存储独占 | |
CN105446840B (zh) | 一种Cache一致性极限测试方法 | |
CN103729166B (zh) | 程序的线程关系确定方法、设备及系统 | |
CN104050148B (zh) | 快速傅里叶变换加速器 | |
CN108897036A (zh) | 一种地震数据处理方法及装置 | |
Schreiber et al. | Free-surface lattice-Boltzmann simulation on many-core architectures | |
JP2006139729A (ja) | ハードウェア検証用プログラミング言語モデル生成装置、ハードウェア検証用プログラミング言語モデル生成方法、コンピュータシステム、ハードウェアシミュレーション方法、制御プログラムおよび可読記憶媒体 | |
CN107977577A (zh) | 访存指令访问检测方法及装置 | |
US7779230B2 (en) | Data flow execution of methods in sequential programs | |
CN108932136A (zh) | 处理器设备 | |
JP3766339B2 (ja) | 入出力制御装置及びコンピュータシステム | |
CN114328062A (zh) | 校验缓存一致性的方法、装置和存储介质 | |
US20130117512A1 (en) | Program converting apparatus, program converting method, and medium | |
US9760462B2 (en) | Testing optimization of microprocessor table functions | |
Margenstern | A family of weakly universal cellular automata in the hyperbolic plane with two states | |
CN106502810A (zh) | 一种高速缓冲存储器的故障检测方法及装置 | |
JP6880766B2 (ja) | 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム | |
Ogawa et al. | Control of internal structure and fluid-migration pathways within the Barbados Ridge decollement zone by strike-slip faulting: Evidence from coherence and three-dimensional seismic amplitude imaging: Discussion |
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 |