CN116089182A - 可加速Device属性内存的验证方法及系统 - Google Patents
可加速Device属性内存的验证方法及系统 Download PDFInfo
- Publication number
- CN116089182A CN116089182A CN202211501976.8A CN202211501976A CN116089182A CN 116089182 A CN116089182 A CN 116089182A CN 202211501976 A CN202211501976 A CN 202211501976A CN 116089182 A CN116089182 A CN 116089182A
- Authority
- CN
- China
- Prior art keywords
- dut
- address
- merge
- unit
- model
- 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.)
- Pending
Links
Images
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
- G06F11/2236—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 to test CPU or processors
-
- 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/2273—Test methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及CPU技术领域,具体涉及一种可加速Device属性内存的验证方法及系统,本发明对Device地址属性的Forward和Merge特性进行单独建模;验证时,通过Forward模型监测DUT流水线上的查询信息,同时抓取DUT中各个单元的地址和大小信息,并进行比较,若不同,则报错;通过Merge模型监测DUT中新的写数据请求,同时抓取DUT中各个单元的地址和大小信息,并进行比较,若不同,则报错。本发明针对可加速Device地址属性的读写传输进行验证,可加速Device地址属性具有可Forward和Merge的特性,本发明对Forward和Merge的特性进行单独建模,能快速有效的判断DUT的Forward和Merge逻辑是否正确,准确的报出错误的逻辑和时间点,大大缩短了调试的时间,提高了调试效率。
Description
技术领域
本发明涉及CPU技术领域,具体涉及一种可加速Device属性内存的验证方法及系统。
背景技术
当前不同的CPU架构,包括ARM架构和RISCV架构,支持的内存类型分为普通内存和Device内存。对于访问普通内存的程序,CPU和编译器都可以优化,包括reorder,forward,merge等操作来提高性能。但是对于Device内存的访问,通常情况下不能进行reorder,forward和merge,为了提高对这类内存访问速度,ARM架构和RISCV架构都对Device内存进行了细分,其中一种就是可加速Device内存,对该属性内存的访问,可以进行Forward和Merge操作,本验证方法就是针对此类访问的Forward和Merge操作的正确性验证。
发明内容
针对现有技术的不足,本发明公开了一种可加速Device属性内存的验证方法及系统,用于解决对可加速Device内存访问的Forward和Merge操作进行验证,目前没有很有效的方法,该验证必须与微架构紧耦合,对微架构非常熟悉才能保证验证的正确性的问题。
本发明通过以下技术方案予以实现:
第一方面,本发明提供了一种可加速Device属性内存的验证方法,所述方法对Device地址属性的Forward和Merge特性进行单独建模;验证时,通过Forward模型监测DUT流水线上的查询信息,同时抓取DUT中各个单元的地址和大小信息,并进行比较,若不同,则报错;通过Merge模型监测DUT中新的写数据请求,同时抓取DUT中各个单元的地址和大小信息,并进行比较,若不同,则报错。
更进一步的,所述方法中,Forward模型监测DUT流水线上来源于访问指令的查询信息,同时Forward模型会抓取DUT中各个单元的地址和大小信息,并根据这些单元信息判断查询信息是否可从某个单元Forward数据,最后将模型查询结果与DUT查询结果进行比较,若不同,则报错。
更进一步的,所述方法中,Merge模型监测DUT中新的写数据请求,且该请求地址属性为可加速Device属性,同时Merge模型抓取DUT中各个单元的地址和大小信息,根据这些单元信息判断新请求是否命中某个单元,若命中,表示该请求可以Merge到原有单元中,最后将模型查询结果与DUT查询结果进行比较,若不同,则报错。
更进一步的,所述方法中,Forward模型的具体实现包括以下步骤:
根据DUT中每个单元的写地址和写数据大小,Forward模型为每个单元创建最小写地址到最大写地址的数组;
监测DUT流水线上的访问指令的查询信息;
若当前查询信息的访问地址属性为可加速Device属性,则该访问指令可以从DUT中Forward数据,Forward模型根据读地址和数据大小,遍历所有模型中的单元,将读地址范围与每个单元的写地址范围进行比较,若存在重叠,则表示该重叠地址部分可以Forward;
每个单元产生的Forward结果包括是否可以从当前单元Forward,forward数据以及哪些byte可以forward,将这些信息与DUT的forward结果进行比较,若不同,则报错。
更进一步的,所述方法中,同时若有多个单元可Forward,则Forward模型进行优先级判断,根据越新的单元优先级越高的原则,得出最后可forward的数据,并将该数据与DUT数据进行比较,若不同,则报错。
更进一步的,所述方法中,查询信息,包括读地址,读数据大小,访问地址属性信息。
更进一步的,所述方法中,最小写地址到最大写地址的数组,表示当前单元需要写的地址范围,最小单位是1Byte。
更进一步的,所述方法中,Merge模型的具体流程包括以下步骤:
监测DUT中新的写传输请求,根据地址属性判断是否为可加速Device属性;
若不是可加速Device属性,则当前流程结束;
若是可加速Device属性,则根据当前写传输的地址和写数据大小,遍历模型中的每个单元,若存在单元的地址范围与当前写传输的地址范围重叠,且没有超过128位,则表示当前写传输可以merge到该单元中;
若当前单元可以Merge,则该单元的merge_vld置1,否则置0;
监测DUT的merge_vld信息,并于Merge模型的merge_vld进行比较,若不一致,则报错。
第二方面,本发明提供了一种可加速Device属性内存的验证系统,所述系统用于实现第一方面所述的可加速Device属性内存的验证方法,包括DUT,Forward模型,Merge模型和比较器。
更进一步的,所述DUT,为存放内存属性为可加速Device属性的写传输的模块,新的可加速Device属性的写请求,若查询到DUT中有相同地址的单元,将新的写请求Merge到该单元中,且所述DUT为地址相同的读请求提供数据,从而使读请求不需要从内存中读取数据。
本发明的有益效果为:
本发明针对可加速Device地址属性的读写传输进行验证,可加速Device地址属性具有可Forward和Merge的特性,本发明对Forward和Merge的特性进行单独建模,能快速有效的判断DUT的Forward和Merge逻辑是否正确,准确的报出错误的逻辑和时间点,大大缩短了调试的时间,提高了调试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例验证方法整体结构图;
图2是本发明实施例Forward模型结构图;
图3是本发明实施例Merge模型流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
参照图1所示,本实施例提供一种可加速Device属性内存的验证系统包括DUT,Forward模型,Merge模型和比较器。
本实施例DUT是指存放内存属性为可加速Device属性的写传输的模块,目前设计可同时存放8个这样的写传输,且每个单元的数据宽度为128位。
本实施例新的可加速Device属性的写请求,若查询到DUT中有相同地址的单元,可以将新的写请求Merge到该单元中。
本实施例DUT可以为地址相同的读请求提供数据,从而读请求不需要从内存中读取数据,该操作称为Forward。
本实施例该验证系统中的Forward模型监测DUT流水线上的查询信息,该查询信息来源于访问指令。同时Forward模型会抓取DUT中各个单元的地址和大小信息,根据这些单元信息判断查询信息是否可以从某个单元Forward数据,最后将模型查询结果与DUT查询结果进行比较,若不同,则报错。
本实施例该验证系统中的Merge模型监测DUT中新的写数据请求,且该请求地址属性为可加速Device属性。同时Merge模型会抓取DUT中各个单元的地址和大小信息,根据这些单元信息判断新请求是否命中某个单元,若命中,表示该请求可以Merge到原有单元中,最后将模型查询结果与DUT查询结果进行比较,若不同,则报错。
实施例2
本实施例提供一种可加速Device属性内存的验证方法,所述方法对Device地址属性的Forward和Merge特性进行单独建模;验证时,通过Forward模型监测DUT流水线上的查询信息,同时抓取DUT中各个单元的地址和大小信息,并进行比较,若不同,则报错;通过Merge模型监测DUT中新的写数据请求,同时抓取DUT中各个单元的地址和大小信息,并进行比较,若不同,则报错。
本实施例被替换时,可加速Device属性的读访问,可在最后CPU得到数据后对读数据进行比较,但是这种方式只能判断数据是否正确,不能确定数据是否是从本DUT中Forward得到。
本实施例被替换时,可加速Device属性的写访问,可在激励结束后比较最终内存中的数据DUT与内存模型是否一致,但是这时不能判断哪些数据是经过Merge后写入。
本实施例针对可加速Device地址属性的读写传输进行验证,可加速Device地址属性具有可Forward和Merge的特性,本验证方法对Forward和Merge的特性进行单独建模,能快速有效的判断DUT的Forward和Merge逻辑是否正确。
实施例3
在具体实施层面,本实施例提供了一种Forward模型的具体实现,如图2所示:
本实施例根据DUT中每个单元的写地址和写数据大小,Forward模型为每个单元创建最小写地址到最大写地址的数组,表示当前单元需要写的地址范围,最小单位是1Byte。
本实施例监测DUT流水线上的访问指令的查询信息,包括读地址,读数据大小,访问地址属性等信息。
本实施例中,若当前查询信息的访问地址属性为可加速Device属性,则该访问指令可以从DUT中Forward数据,Forward模型根据读地址和数据大小,遍历所有模型中的单元,具体遍历方式为将读地址范围与每个单元的写地址范围进行比较,若存在重叠,则表示该重叠地址部分可以Forward。
本实施例每个单元产生的Forward结果包括是否可以从当前单元Forward,forward数据以及哪些byte可以forward,将这些信息与DUT的forward结果进行比较,若不同,则报错。
本实施例中,若有多个单元可以Forward,Forward模型会进行优先级判断,根据越新的单元优先级越高的原则,得出最后可以forward的数据,并将该数据与DUT数据进行比较,若不同,则报错。
实施例4
在具体实施层面,本实施例提供了一种Merge模型的具体流程,如图3所示:
本实施例监测DUT中新的写传输请求,根据地址属性判断是否为可加速Device属性。
本实施例中,若不是可加速Device属性,则当前流程结束;若是可加速Device属性,则根据当前写传输的地址和写数据大小,遍历模型中的每个单元,若存在单元的地址范围与当前写传输的地址范围重叠,且没有超过128位,则表示当前写传输可以merge到该单元中。
本实施例若当前单元可以Merge,则该单元的merge_vld置1,否则置0。
本实施例监测DUT的merge_vld信息,并于Merge模型的merge_vld进行比较,若不一致,则报错。
综上,本发明针对可加速Device地址属性的读写传输进行验证,可加速Device地址属性具有可Forward和Merge的特性,本发明对Forward和Merge的特性进行单独建模,能快速有效的判断DUT的Forward和Merge逻辑是否正确,准确的报出错误的逻辑和时间点,大大缩短了调试的时间,提高了调试效率。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种可加速Device属性内存的验证方法,其特征在于,所述方法对Device地址属性的Forward和Merge特性进行单独建模;验证时,通过Forward模型监测DUT流水线上的查询信息,同时抓取DUT中各个单元的地址和大小信息,并进行比较,若不同,则报错;通过Merge模型监测DUT中新的写数据请求,同时抓取DUT中各个单元的地址和大小信息,并进行比较,若不同,则报错。
2.根据权利要求1所述的可加速Device属性内存的验证方法,其特征在于,所述方法中,Forward模型监测DUT流水线上来源于访问指令的查询信息,同时Forward模型会抓取DUT中各个单元的地址和大小信息,并根据这些单元信息判断查询信息是否可从某个单元Forward数据,最后将模型查询结果与DUT查询结果进行比较,若不同,则报错。
3.根据权利要求1所述的可加速Device属性内存的验证方法,其特征在于,所述方法中,Merge模型监测DUT中新的写数据请求,且该请求地址属性为可加速Device属性,同时Merge模型抓取DUT中各个单元的地址和大小信息,根据这些单元信息判断新请求是否命中某个单元,若命中,表示该请求可以Merge到原有单元中,最后将模型查询结果与DUT查询结果进行比较,若不同,则报错。
4.根据权利要求2所述的可加速Device属性内存的验证方法,其特征在于,所述方法中,Forward模型的具体实现包括以下步骤:
根据DUT中每个单元的写地址和写数据大小,Forward模型为每个单元创建最小写地址到最大写地址的数组;
监测DUT流水线上的访问指令的查询信息;
若当前查询信息的访问地址属性为可加速Device属性,则该访问指令可以从DUT中Forward数据,Forward模型根据读地址和数据大小,遍历所有模型中的单元,将读地址范围与每个单元的写地址范围进行比较,若存在重叠,则表示该重叠地址部分可以Forward;
每个单元产生的Forward结果包括是否可以从当前单元Forward,forward数据以及哪些byte可以forward,将这些信息与DUT的forward结果进行比较,若不同,则报错。
5.根据权利要求4所述的可加速Device属性内存的验证方法,其特征在于,所述方法中,同时若有多个单元可Forward,则Forward模型进行优先级判断,根据越新的单元优先级越高的原则,得出最后可forward的数据,并将该数据与DUT数据进行比较,若不同,则报错。
6.根据权利要求4所述的可加速Device属性内存的验证方法,其特征在于,所述方法中,查询信息,包括读地址,读数据大小,访问地址属性信息。
7.根据权利要求4所述的可加速Device属性内存的验证方法,其特征在于,所述方法中,最小写地址到最大写地址的数组,表示当前单元需要写的地址范围,最小单位是1Byte。
8.根据权利要求3所述的可加速Device属性内存的验证方法,其特征在于,所述方法中,Merge模型的具体流程包括以下步骤:
监测DUT中新的写传输请求,根据地址属性判断是否为可加速Device属性;
若不是可加速Device属性,则当前流程结束;
若是可加速Device属性,则根据当前写传输的地址和写数据大小,遍历模型中的每个单元,若存在单元的地址范围与当前写传输的地址范围重叠,且没有超过128位,则表示当前写传输可以merge到该单元中;
若当前单元可以Merge,则该单元的merge_vld置1,否则置0;
监测DUT的merge_vld信息,并于Merge模型的merge_vld进行比较,若不一致,则报错。
9.一种可加速Device属性内存的验证系统,所述系统用于实现如权利要求1-8任一项所述的可加速Device属性内存的验证方法,其特征在于,包括DUT,Forward模型,Merge模型和比较器。
10.根据权利要求9所述的可加速Device属性内存的验证系统,其特征在于,所述DUT,为存放内存属性为可加速Device属性的写传输的模块,新的可加速Device属性的写请求,若查询到DUT中有相同地址的单元,将新的写请求Merge到该单元中,且所述DUT为地址相同的读请求提供数据,从而使读请求不需要从内存中读取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211501976.8A CN116089182A (zh) | 2022-11-28 | 2022-11-28 | 可加速Device属性内存的验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211501976.8A CN116089182A (zh) | 2022-11-28 | 2022-11-28 | 可加速Device属性内存的验证方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116089182A true CN116089182A (zh) | 2023-05-09 |
Family
ID=86209159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211501976.8A Pending CN116089182A (zh) | 2022-11-28 | 2022-11-28 | 可加速Device属性内存的验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089182A (zh) |
-
2022
- 2022-11-28 CN CN202211501976.8A patent/CN116089182A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6760814B2 (en) | Methods and apparatus for loading CRC values into a CRC cache in a storage controller | |
US7921339B2 (en) | Flash storage device with data correction function | |
US20070168754A1 (en) | Method and apparatus for ensuring writing integrity in mass storage systems | |
CN111611120A (zh) | 一种片上多核处理器Cache一致性协议验证方法、系统及介质 | |
CN106910528A (zh) | 一种固态硬盘数据巡检的优化方法及装置 | |
CN110674055B (zh) | 一种用于部件级和部件联合级的缓存一致性模拟验证方法 | |
CN113342721B (zh) | 存储控制器dma设计方法 | |
CN115563914A (zh) | 验证方法及装置、计算设备、计算机可读存储介质 | |
CN107290654A (zh) | 一种fpga逻辑测试结构及方法 | |
CN112466382A (zh) | 一种raid阵列的巡检方法和装置 | |
CN114664369A (zh) | 一种存储芯片测试方法及装置 | |
CN113157512B (zh) | 实现大容量ssd在小内存机器上进行数据校验测试的方法 | |
CN114153680A (zh) | 一种二级缓存接口协议的验证方法及系统 | |
CN116089182A (zh) | 可加速Device属性内存的验证方法及系统 | |
CN115061948A (zh) | 多核系统中非对齐访问的验证方法及系统 | |
JP4475621B2 (ja) | メモリ制御回路の論理検証装置及び方法 | |
EP4246329A1 (en) | Error correction method and apparatus | |
CN114237715A (zh) | 多核访存指令验证系统与方法 | |
CN109582523B (zh) | 有效分析SSD前端NVMe模块性能的方法及系统 | |
US7975103B2 (en) | Method for optimized data record verification | |
US7818646B1 (en) | Expectation based event verification | |
CN116225774B (zh) | 数据实时校验方法、装置、电子设备及存储介质 | |
CN110795297B (zh) | 一种电子设备的测试方法及装置 | |
CN112416687B (zh) | 验证访存操作的方法与系统以及验证设备和存储介质 | |
CN116643945B (zh) | 一种二级缓存的数据检测方法、系统及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |