CN105446840A - 一种Cache一致性极限测试方法 - Google Patents
一种Cache一致性极限测试方法 Download PDFInfo
- Publication number
- CN105446840A CN105446840A CN201510827235.2A CN201510827235A CN105446840A CN 105446840 A CN105446840 A CN 105446840A CN 201510827235 A CN201510827235 A CN 201510827235A CN 105446840 A CN105446840 A CN 105446840A
- Authority
- CN
- China
- Prior art keywords
- cache
- memory access
- limit test
- test method
- consistance
- 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.)
- Granted
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 (6)
1.一种Cache一致性极限测试方法,其特征在于包括:执行Cache的规模和结构配置,其中根据Cache大小、Cache行长度、相连路组的数量以及一致性策略,确定Cache一致性极限测试的粒度、访存顺序和访存的Cache入口地址,而不遍历整个Cache。
2.根据权利要求1所述的Cache一致性极限测试方法,其特征在于还包括:设置用于精确错误定位的初始值和数据还原运算,其中采用地址作为初始值,数据还原操作采用拍数最少的移位运算。
3.根据权利要求1或2所述的Cache一致性极限测试方法,其特征在于还包括:设置多粒度高密度访存方式,其中使得Cache的操作以Cache行为单位,不同的处理器以并行进程同时或交替对同一个Cache行进行访存。
4.根据权利要求3所述的Cache一致性极限测试方法,其特征在于Cache一致性极限测试方法,其中所述访存的代码用汇编实现。
5.根据权利要求3或4所述的Cache一致性极限测试方法,其特征在于,其中不同的处理器以并行进程同时或交替对同一个Cache行进行访存时的访存粒度为1B、2B、4B、8B、单个向量长度中的一个。
6.根据权利要求1或2所述的Cache一致性极限测试方法,其特征在于还包括:设置与系统相关的Cache协议验证;其中,协议验证包括下述协议验证中的一个或多个:单个进程对同一个多路组的装填、单个进程对同一个多路组的淘汰、多个并行进程读同一行导致出现多个干净副本、多副本的环境下单个进程的写操作导致本地产生最新脏副本和多个干净副本无效、多个并行进程的同时写操作导致远程脏副本回写和本地产生脏副本。
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 true CN105446840A (zh) | 2016-03-30 |
CN105446840B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727611A (zh) * | 2019-09-09 | 2020-01-24 | 无锡江南计算技术研究所 | 一种带状态监测的可配置一致性验证系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748879A (en) * | 1995-07-04 | 1998-05-05 | Fujitsu Limited | Cache memory testing method |
US20020144185A1 (en) * | 2001-03-29 | 2002-10-03 | International Business Machines Corporation | Verification of global coherence in a multi-node NUMA system |
US20020166032A1 (en) * | 2000-09-08 | 2002-11-07 | Shaz Qadeer | Method for verifying abstract memory models of shared memory multiprocessors |
CN1445661A (zh) * | 2003-04-21 | 2003-10-01 | 杭州中天微系统有限公司 | 一种降低指令cache功耗的控制逻辑 |
CN1729458A (zh) * | 2002-12-19 | 2006-02-01 | 英特尔公司 | 供多处理器系统中的高速缓存同步中使用的转发状态 |
CN101093464A (zh) * | 2006-06-19 | 2007-12-26 | 国际商业机器公司 | 高速缓存一致性方法和对称多处理系统 |
CN101520751A (zh) * | 2009-03-26 | 2009-09-02 | 浙江大学 | Cache的自适应插入策略的实现方法 |
CN102063406A (zh) * | 2010-12-21 | 2011-05-18 | 清华大学 | 用于多核处理器的网络共享Cache及其目录控制方法 |
CN102346714A (zh) * | 2011-10-09 | 2012-02-08 | 西安交通大学 | 用于多核处理器的一致性维护装置及一致性交互方法 |
CN103150264A (zh) * | 2013-01-18 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
-
2015
- 2015-11-24 CN CN201510827235.2A patent/CN105446840B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748879A (en) * | 1995-07-04 | 1998-05-05 | Fujitsu Limited | Cache memory testing method |
US20020166032A1 (en) * | 2000-09-08 | 2002-11-07 | Shaz Qadeer | Method for verifying abstract memory models of shared memory multiprocessors |
US20020144185A1 (en) * | 2001-03-29 | 2002-10-03 | International Business Machines Corporation | Verification of global coherence in a multi-node NUMA system |
CN1729458A (zh) * | 2002-12-19 | 2006-02-01 | 英特尔公司 | 供多处理器系统中的高速缓存同步中使用的转发状态 |
CN1445661A (zh) * | 2003-04-21 | 2003-10-01 | 杭州中天微系统有限公司 | 一种降低指令cache功耗的控制逻辑 |
CN101093464A (zh) * | 2006-06-19 | 2007-12-26 | 国际商业机器公司 | 高速缓存一致性方法和对称多处理系统 |
CN101520751A (zh) * | 2009-03-26 | 2009-09-02 | 浙江大学 | Cache的自适应插入策略的实现方法 |
CN102063406A (zh) * | 2010-12-21 | 2011-05-18 | 清华大学 | 用于多核处理器的网络共享Cache及其目录控制方法 |
CN102346714A (zh) * | 2011-10-09 | 2012-02-08 | 西安交通大学 | 用于多核处理器的一致性维护装置及一致性交互方法 |
CN103150264A (zh) * | 2013-01-18 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
Non-Patent Citations (4)
Title |
---|
(美)沃森等编著: "《OCP/OCA认证考试指南全册 Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)》", 31 January 2011 * |
李功明: "片上多处理器体系结构中Cache一致性模型研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
杜建军: "共享高速缓存多核处理器的关键技术研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
赵富: "多核并行计算机中Cache伪共享的研究", 《计算机与现代化》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727611A (zh) * | 2019-09-09 | 2020-01-24 | 无锡江南计算技术研究所 | 一种带状态监测的可配置一致性验证系统 |
CN110727611B (zh) * | 2019-09-09 | 2022-01-07 | 无锡江南计算技术研究所 | 一种带状态监测的可配置一致性验证系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105446840B (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540250B2 (en) | Reducing storage requirements for storing memory addresses and values | |
US9158683B2 (en) | Multiport memory emulation using single-port memory devices | |
CN105678378A (zh) | 间接访问样本数据以在并行处理系统中执行多卷积操作 | |
US9710191B1 (en) | Rapid memory buffer write storage system and method | |
JP2008276763A (ja) | メモリエラーの検出法 | |
CN107078747B (zh) | 具有预配置的存储器仲裁的流水线分层ldpc解码 | |
CN105446841A (zh) | 缓存一致性测试方法 | |
CN107515759A (zh) | 截屏方法、装置、电子设备及可读存储介质 | |
CN110826720B (zh) | 一种界面的显示方法及装置、界面的切换方法及装置 | |
CN102681937A (zh) | 一种缓存一致性协议正确性验证方法 | |
CN106155833A (zh) | 一种异步远程复制的方法和装置 | |
US9287003B2 (en) | Multi-cycle write leveling | |
CN107977577A (zh) | 访存指令访问检测方法及装置 | |
CN105446840A (zh) | 一种Cache一致性极限测试方法 | |
JP2004030638A (ja) | マイクロプロセッサキャッシュ設計初期化 | |
CN114328062B (zh) | 校验缓存一致性的方法、装置和存储介质 | |
KR20200123799A (ko) | 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법 | |
KR102471553B1 (ko) | 컴퓨팅 기기에 의해 수행되는 방법, 장치, 기기 및 컴퓨터 판독가능 저장 매체 | |
CN113760751A (zh) | 生成测试用例的方法、电子设备及存储介质 | |
US20210367918A1 (en) | User perceptible indicia for web address identifiers | |
CN1945747B (zh) | 存储单元测试方法及测试系统 | |
CN111899782A (zh) | 一种测试方法、装置、电子设备及存储介质 | |
JP6812637B2 (ja) | プログラマブルコントローラシステム、その開発支援装置、ターゲット装置 | |
CN112486424B (zh) | 用户透明的运算核并行打印保序代理方法 | |
CN117112452B (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 |