CN117056144A - 一种处理器的测试方法、装置、电子设备及可读存储介质 - Google Patents
一种处理器的测试方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117056144A CN117056144A CN202311021291.8A CN202311021291A CN117056144A CN 117056144 A CN117056144 A CN 117056144A CN 202311021291 A CN202311021291 A CN 202311021291A CN 117056144 A CN117056144 A CN 117056144A
- Authority
- CN
- China
- Prior art keywords
- virtual
- page
- memory
- address
- virtual page
- 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
- 238000010998 test method Methods 0.000 title claims description 8
- 238000013507 mapping Methods 0.000 claims abstract description 47
- 238000012360 testing method Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 46
- 230000006870 function Effects 0.000 abstract description 25
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011990 functional testing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/26—Functional testing
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种处理器的测试方法、装置、电子设备及可读存储介质,涉及处理器功能测试技术领域,包括:生成多个访存指令,多个访存指令的虚拟访存地址落在映射到同一物理页的多个虚拟页上;在多个虚拟页中确定主虚拟页,将主虚拟页外的虚拟页作为从虚拟页,主虚拟页在物理页上的映射地址范围包括从虚拟页在物理页上的映射地址范围;以及对虚拟访存地址位于从虚拟页的访存指令,在主虚拟页上执行该访存指令对应的访存操作,进而根据访存指令测试处理器的功能,使不同大小的虚拟页映射到相同的物理页,使程序访存地址比较集中,增强局部物理地址的访存压力,提高了测试速度,解决了在先技术中处理器的测试周期长的问题。
Description
技术领域
本申请属于处理器功能测试技术领域,具体涉及一种处理器的测试方法、装置、电子设备及可读存储介质。
背景技术
随着超大规模集成电路工艺的发展,使得微处理器越来越复杂,在单独一个芯片上集成的功能越来越多,另外,处理器的指令集被不断扩充,指令的数量、种类大幅增加,相应的功能也更加复杂。
在先技术中,为了满足需求,处理器的功能测试越来越复杂,导致处理器的测试周期长。
发明内容
本申请旨在提供一种处理器的测试方法、装置、电子设备及可读存储介质,至少解决在先技术中处理器的功能测试越来越复杂,导致处理器的测试周期长的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种处理器的测试方法,所述方法包括:
生成多个访存指令,多个访存指令的虚拟访存地址映射到同一物理页的多个虚拟页上;
在所述多个虚拟页中确定主虚拟页,将所述主虚拟页外的虚拟页作为从虚拟页,所述主虚拟页在所述物理页上的映射地址范围包括所述从虚拟页在所述物理页上的映射地址范围;以及
对所述虚拟访存地址位于所述从虚拟页的访存指令,在所述主虚拟页上执行所述访存指令对应的访存操作。
第二方面,本申请实施例还提供了一种处理器的测试装置,所述装置包括:
生成模块,用于生成多个访存指令,多个访存指令的虚拟访存地址映射到同一物理页的多个虚拟页上;
确定模块,用于在所述多个虚拟页中确定主虚拟页,将所述主虚拟页外的虚拟页作为从虚拟页,所述主虚拟页在所述物理页上的映射地址范围包括所述从虚拟页在所述物理页上的映射地址范围;以及
访存模块,用于对所述虚拟访存地址位于所述从虚拟页的访存指令,在所述主虚拟页上执行所述访存指令对应的访存操作。
第三方面,本申请实施例还提供了一种电子设备,该电子设备包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例还提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
在本申请实施例中,通过生成多个访存指令,多个访存指令的虚拟访存地址落在映射到同一物理页的多个虚拟页上;在多个虚拟页中确定主虚拟页,将主虚拟页外的虚拟页作为从虚拟页,主虚拟页在物理页上的映射地址范围包括从虚拟页在物理页上的映射地址范围;以及对虚拟访存地址位于从虚拟页的访存指令,在主虚拟页上执行该访存指令对应的访存操作,进而根据访存指令测试处理器的功能,使不同大小的虚拟页映射到相同的物理页,使程序访存地址比较集中,增强局部物理地址的访存压力,本申请实施例提供了一种生成高质量的测试程序的方法,提高了测试速度,解决了在先技术中处理器的功能测试越来越复杂,导致处理器的测试周期长的问题。
附图说明
图1是本申请实施例提供的一种处理器的测试方法的步骤流程图;
图2是本申请实施例提供的一种处理器的测试方法的具体步骤流程图;
图3是本申请实施例提供的不同的虚拟页与物理页的对应关系的一种示意图;
图4是本申请实施例提供的不同的虚拟页与物理页的对应关系的另一种示意图;
图5是本申请实施例提供的不同的虚拟页与物理页的对应关系的又一种示意图;
图6是本申请实施例提供的处理器执行访存指令的模拟流程的示意图;
图7是本申请实施例提供的一种处理器的测试装置的框图;
图8是本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的处理器的测试方法进行详细地说明。
图1是本申请实施例提供的一种处理器的测试方法的步骤流程图,如图1所示,该方法可以包括:
步骤101、生成多个访存指令。
其中,多个访存指令的虚拟访存地址落在映射到同一物理页的多个虚拟页上。
在本申请实施例中,为了测试处理器的功能,需要首先生成访存指令,访存指令用于数据在存储器和处理器寄存器之间传递,访存指令为测试程序中的访存指令,测试程序用于测试处理器的功能是否正常。访存指令对应的第一虚拟访存地址在页表中对应的物理地址指向的存储空间为执行访存指令的访存操作的存储空间,根据访存指令的操作数,可以确定第一虚拟访存地址。
本申请实施例中的页表为内存的页表,即页表中记录的虚拟访存地址与物理地址的映射关系为内存的虚拟访存地址与物理地址的映射关系。
步骤102、在所述多个虚拟页中确定主虚拟页,将所述主虚拟页外的虚拟页作为从虚拟页。
其中,所述主虚拟页在所述物理页上的映射地址范围包括所述从虚拟页在所述物理页上的映射地址范围。
在本申请实施例中,为了执行访存指令对应的访存操作,需要确定访存操作的存储空间,即为目标虚拟访存地址分配的存储空间,首先需要获取与第一虚拟访存地址对应的主虚拟页,然后根据第一虚拟访存地址,可以确定主虚拟页上的对应映射的目标虚拟访存地址。
需要说明的是,页表中记录的物理页对应有至少一个虚拟页,其中,物理页所确定的物理地址范围,大于或等于虚拟页所确定的虚拟访存地址范围对应的物理地址范围。在物理页只对应一个虚拟页的情况下,若该虚拟页为第一虚拟访存地址所属的虚拟页,则将该虚拟页作为主虚拟页,将该第一虚拟访存地址作为目标虚拟访存地址;在物理页对应有多个虚拟页的情况下,该物理页对应的虚拟页中,最大的虚拟页(即表征的虚拟访存地址范围最大的虚拟页)所确定的虚拟访存地址范围,包括其他虚拟页所确定的虚拟访存地址范围。若该物理页对应的虚拟页中有一个虚拟页为第一虚拟访存地址所属的虚拟页,则将物理页对应的虚拟页中最大的虚拟页作为主虚拟页,将主虚拟页上与第一虚拟访存地址对应同一个物理地址(该物理地址属于该物理页确定的物理地址范围内)的虚拟访存地址作为目标虚拟访存地址。
例如,参照图3,物理页对应有三个虚拟页,分别为虚拟页①、虚拟页②、虚拟页③,其中,虚拟页②确定的虚拟访存地址范围包括虚拟页①确定的虚拟访存地址范围以及虚拟页③确定的虚拟访存地址范围,虚拟页①确定的虚拟访存地址范围中的虚拟访存地址,在物理页上a段的物理地址范围中对应有各自的物理地址;虚拟页②确定的虚拟访存地址范围中的虚拟访存地址,在物理页上c段的物理地址范围中对应有各自的物理地址;虚拟页③确定的虚拟访存地址范围中的虚拟访存地址,在物理页上b段的物理地址范围中对应有各自的物理地址。
参照图4,在物理页上a段的物理地址范围对应虚拟页②上c-a段的虚拟访存地址范围,在物理页上b段的物理地址范围对应虚拟页②上c-b段的虚拟访存地址范围。
若第一虚拟访存地址属于虚拟页①确定的虚拟访存地址范围,则虚拟页②为主虚拟页,将虚拟页②上对应物理地址1的虚拟访存地址1作为目标虚拟访存地址,其中,物理地址1为第一虚拟访存地址在物理页a段的物理地址范围中对应的物理地址;若第一虚拟访存地址属于虚拟页③确定的虚拟访存地址范围,则虚拟页②为主虚拟页,将虚拟页②上对应物理地址2的虚拟访存地址2作为目标虚拟访存地址,其中,物理地址2为第一虚拟访存地址在物理页b段的物理地址范围中对应的物理地址;若第一虚拟访存地址属于虚拟页②确定的虚拟访存地址范围,则虚拟页②为主虚拟页,将第一虚拟访存地址作为目标虚拟访存地址。
步骤103、对所述虚拟访存地址位于所述从虚拟页的访存指令,在所述主虚拟页上执行该所述访存指令对应的访存操作。
在本申请实施例中,在确定了目标虚拟访存地址之后,就可以模拟执行访存指令,对目标虚拟访存地址在页表中对应的物理地址指向的存储空间的访存操作,其中,访存操作包括对存储空间的数据进行读取数据操作和对存储空间的数据进行写入操作。此时,需要为目标虚拟访存地址分配一个读写存储空间,需要注意的是,该读写存储空间与目标虚拟访存地址在页表中对应的物理地址指向的存储空间并不是同一个存储空间,该读写存储空间是为了模拟访存指令的访存操作而为目标虚拟访存地址分配的存储空间,在页表中指向该读写存储空间的物理地址与目标虚拟访存地址并不存在映射的对应关系。为目标虚拟访存地址分配该读写存储空间,即创建了该读写存储空间与目标虚拟访存地址的一种非虚实地址映射的关联关系。在该读写存储空间中,进行访存指令的访存操作,并记录第一结果,以与处理器执行访存指令的第二结果进行比对,从而测试处理器在执行访存指令的情景下不同大小的虚拟页映射到同一个物理页的功能。
例如,在页表中,目标虚拟访存地址对应的物理地址指向的存储空间为存储空间A,为目标虚拟访存地址分配的读写存储空间为存储空间B,其中,存储空间B与存储空间A不是同一个存储空间。在存储空间B中进行访存指令的访存操作,并记录第一结果,若访存指令的访存操作是写入操作,则将根据访存指令从处理器寄存器中获取到的数据1写入存储空间B中,则第一结果为写入的数据为数据1;若访存指令的访存操作是读取数据操作,则读取存储空间B中的数据2,第一结果为读取的数据为数据2,需要说明的是,若之前没有模拟其他访存指令将数据2写入存储空间B,则存储空间B中的数据为空;若之前没有模拟其他访存指令将数据2写入存储空间B,则存储空间B中的数据为数据2。
在处理器执行测试程序的过程中,记录处理器执行访存指令的第二结果,并将第一结果与第二结果进行比对,如果二者相同,则展示表征所述处理器功能正常的信息,即展示表征处理器的功能正常的信息,一般在计算机的界面中展示。
例如,处理器执行访存指令,若访存指令是写入数据,则根据访存指令将从处理器寄存器中获取到的数据1写入存储空间C中,其中,存储空间C为在页表中目标虚拟访存地址对应的物理地址指向的存储空间,则第二结果为写入的数据为数据1,若第一结果为写入的数据为数据1,则第一结果与第二结果相同,展示表征处理器功能正常的信息;若访存指令是读取数据,则将从存储空间C中读取数据2,其中,存储空间C为在页表中目标虚拟访存地址对应的物理地址指向的存储空间,则第二结果为读取的数据为数据2,若第一结果为读取的数据为数据2,则第一结果与第二结果相同,展示表征处理器功能正常的信息。
综上所述,在本申请实施例中,通过生成多个访存指令,多个访存指令的虚拟访存地址落在映射到同一物理页的多个虚拟页上;在多个虚拟页中确定主虚拟页,将主虚拟页外的虚拟页作为从虚拟页,主虚拟页在物理页上的映射地址范围包括从虚拟页在物理页上的映射地址范围;以及对虚拟访存地址位于从虚拟页的访存指令,在主虚拟页上执行该访存指令对应的访存操作,进而根据访存指令测试处理器的功能,使不同大小的虚拟页映射到相同的物理页,使程序访存地址比较集中,增强局部物理地址的访存压力,本申请实施例提供了一种生成高质量的测试程序的方法,提高了测试速度,解决了在先技术中处理器的功能测试越来越复杂,导致处理器的测试周期长的问题。
图2是本申请实施例提供的一种处理器的测试方法的具体步骤流程图,如图2示,该方法可以包括:
步骤201、生成多个访存指令。
其中,多个访存指令的虚拟访存地址落在映射到同一物理页的多个虚拟页上。
本步骤的实现方式与上述步骤101实现过程类似,此处不再赘述。
步骤202、在所述多个虚拟页中确定主虚拟页,将所述主虚拟页外的虚拟页作为从虚拟页。
其中,所述主虚拟页在所述物理页上的映射地址范围包括所述从虚拟页在所述物理页上的映射地址范围。
本步骤的实现方式与上述步骤102实现过程类似,此处不再赘述。
可选的,在一些实施例中,步骤202可以包括如下子步骤(子步骤2021、子步骤2022)
子步骤2021、获取第一虚拟地址所属的第一虚拟页对应的第一物理页。
在本申请实施例中,为了确定主虚拟页,需要获取第一虚拟地址所属的第一虚拟页对应的第一物理页,才能根据第一物理页对应的所有虚拟页的大小,确定主虚拟页。具体的,根据页表,确定第一虚拟页的虚拟访存地址范围中的每一个虚拟访存地址对应的物理地址,进而根据第一虚拟页的虚拟访存地址范围中,每一个虚拟访存地址对应的物理地址所组成的物理地址范围,确定第一物理页。
例如,第一虚拟页确定的虚拟访存地址范围包括虚拟访存地址1、虚拟访存地址2、虚拟访存地址3,在页表中,虚拟访存地址1对应物理地址1,虚拟访存地址2对应物理地址2,虚拟访存地址3对应物理地址3,则物理地址1、物理地址2、物理地址3所组成的物理地址范围所属的物理页为第一物理页。
子步骤2022、根据所述第一虚拟页与所述第一物理页,确定所述主虚拟页和所述从虚拟页。
在本申请实施例中,在获取到第一虚拟页和第一物理页之后,就可以获取到第一物理页对应的所有的虚拟页,进而在第一物理页只对应一个虚拟页(即新虚拟页)的情况下,将该虚拟页作为主虚拟页;在第一物理页对应有多个虚拟页的情况下,该物理页对应的虚拟页中,最大的虚拟页所确定的虚拟访存地址范围,包括其他虚拟页所确定的虚拟访存地址范围,则将第一物理页对应的虚拟页中最大的虚拟页作为主虚拟页,其他虚拟页作为从虚拟页。
可选的,在一些实施例中,所述第一物理页具有对应的第二虚拟页;所述第二虚拟页与所述第一虚拟页是不同的虚拟页;子步骤2022可以包括如下分子步骤:
分子步骤2022a、确定所述第一物理页对应的其他虚拟页的第一虚拟访存地址范围。
在本申请实施例中,为了比较第一物理页的所有的虚拟页的大小,需要先确定第一物理页对应的其他虚拟页的第一虚拟访存地址范围,其他虚拟页为第一物理页中除了第一虚拟页和第二虚拟页之外的虚拟页。
分子步骤2022b、在所述第二虚拟页确定的虚拟访存地址范围,包括所述第一虚拟页确定的虚拟访存地址范围以及所有的所述第一虚拟访存地址范围的情况下,将所述第二虚拟页作为所述主虚拟页,并将所述第一虚拟页和其他虚拟页作为从虚拟页。
在本申请实施例中,第二虚拟页确定的虚拟访存地址范围,包括第一虚拟页确定的虚拟访存地址范围以及所有的第一虚拟访存地址范围,第二虚拟页是第一物理页对应的虚拟页中最大的虚拟页,因此,将第二虚拟页作为主虚拟页。
例如,第一物理页对应三个虚拟页,分别为虚拟页1、虚拟页2、虚拟页3,其中,虚拟页2表征的虚拟访存地址范围大于虚拟页3表征的虚拟访存地址范围,虚拟页2表征的虚拟访存地址范围大于虚拟页1表征的虚拟访存地址范围,虚拟页1为第一虚拟页,虚拟页2为第二虚拟页,虚拟页3为其他虚拟页,则将虚拟页2作为主虚拟页,虚拟页1、虚拟页3作为从虚拟页。
通过执行分子步骤2022a至分子步骤2022b可以实现,从第一物理页对应的虚拟页中确定主虚拟页,进而可以根据第一虚拟访存地址,确定主虚拟页上的对应映射的目标虚拟访存地址。
步骤203、在所述主虚拟页上的相同偏移位置处执行所述访存操作。
其中,所述访存指令的虚拟访存地址在所述从虚拟页上具有偏移位置。
在本申请实施例中,在主虚拟页上的相同偏移位置处执行所述访存操作,即根据第一虚拟地址,确定主虚拟页上的对应映射的目标虚拟地址,并在为目标虚拟访存地址分配的读写存储空间中,进行访存指令的访存操作,以使不同大小的虚拟页映射到相同的物理页。
参照图4,在物理页上a段的物理地址范围对应虚拟页②上c-a段的虚拟访存地址范围,在物理页上b段的物理地址范围对应虚拟页②上c-b段的虚拟访存地址范围。
若第一虚拟访存地址属于虚拟页①确定的虚拟访存地址范围,则虚拟页②为主虚拟页,将虚拟页②上对应物理地址1的虚拟访存地址1作为目标虚拟访存地址,其中,物理地址1为第一虚拟访存地址在物理页a段的物理地址范围中对应的物理地址;若第一虚拟访存地址属于虚拟页③确定的虚拟访存地址范围,则虚拟页②为主虚拟页,将虚拟页②上对应物理地址2的虚拟访存地址2作为目标虚拟访存地址,其中,物理地址2为第一虚拟访存地址在物理页b段的物理地址范围中对应的物理地址;若第一虚拟访存地址属于虚拟页②确定的虚拟访存地址范围,则虚拟页②为主虚拟页,将第一虚拟访存地址作为目标虚拟访存地址。
可选的,在一些实施例中,步骤203可以包括如下子步骤(子步骤2031、子步骤2032)
子步骤2031、根据第一虚拟地址,确定主虚拟页上的对应映射的目标虚拟地址。
在本申请实施例中,为了模拟执行访存指令,需要确定模拟访存操作的存储空间,即为目标虚拟地址分配的存储空间,首先需要获取与第一虚拟地址对应的主虚拟页,然后根据第一虚拟地址,可以确定主虚拟页上的对应映射的目标虚拟地址。
可选的,在一些实施例中,子步骤2031可以包括如下分子步骤:
分子步骤2031a、获取所述第一物理页上与所述第一虚拟访存地址对应的目标物理地址。
在本申请实施例中,由于第二虚拟页为主虚拟页,则为了确定主虚拟页上的目标虚拟访存地址,需要获取第一物理页上与第一虚拟访存地址对应的目标物理地址,以便获取主虚拟页上与目标物理地址对应的第二虚拟访存地址,从而确定目标虚拟访存地址。
分子步骤2031b、获取所述主虚拟页上与所述目标物理地址对应的第二虚拟访存地址,并将所述第二虚拟访存地址作为所述目标虚拟访存地址。
在本申请实施例中,在获取目标物理地址之后,可以获取主虚拟页上与目标物理地址对应的第二虚拟访存地址,其中,在页表中,第二虚拟访存地址与第一虚拟访存地址对应同一个物理地址,即目标物理地址,将第二虚拟访存地址作为目标虚拟访存地址,以模拟处理器执行访存指令时,根据第一物理页对应的所有的虚拟页中,最大的虚拟页上与第一虚拟访存地址对应的目标虚拟访存地址,对页表中与目标虚拟访存地址对应的物理地址指向的存储空间,进行访存指令的访存操作,其中,最大的虚拟页表征的虚拟访存地址范围,包括第一物理页对应的所有的虚拟页的虚拟访存地址范围。
例如,第一物理页对应三个虚拟页,分别为虚拟页1、虚拟页2、虚拟页3,其中,虚拟页2表征的虚拟访存地址范围大于虚拟页3表征的虚拟访存地址范围,虚拟页2表征的虚拟访存地址范围大于虚拟页1表征的虚拟访存地址范围,虚拟页1为新虚拟页,虚拟页2为第二虚拟页,虚拟页3为其他虚拟页,则将虚拟页2作为主虚拟页。
第一虚拟访存地址为虚拟访存地址1,在第一物理页上与虚拟访存地址1对应的目标物理地址为物理地址1,在主虚拟页上与物理地址1对应的第二虚拟访存地址为虚拟访存地址2,则将虚拟访存地址2作为目标虚拟访存地址。
通过执行分子步骤2031a至分子步骤2031b可以实现,在第二虚拟页确定的虚拟访存地址范围,包括新虚拟页确定的虚拟访存地址范围以及所有的第一虚拟访存地址范围的情况下,将第二虚拟访存地址作为目标虚拟访存地址。
子步骤2032、在为所述目标虚拟访存地址分配的读写存储空间中,进行所述访存指令的访存操作,记录第一结果。
在本申请实施例中,在确定了目标虚拟访存地址之后,就可以模拟执行访存指令,对目标虚拟访存地址在页表中对应的物理地址指向的存储空间的访存操作,其中,访存操作包括对存储空间的数据进行读取数据操作和对存储空间的数据进行写入操作。此时,需要为目标虚拟访存地址分配一个读写存储空间,需要注意的是,该读写存储空间与目标虚拟访存地址在页表中对应的物理地址指向的存储空间并不是同一个存储空间,该读写存储空间是为了模拟访存指令的访存操作而为目标虚拟访存地址分配的存储空间,在页表中指向该读写存储空间的物理地址与目标虚拟访存地址并不存在映射的对应关系。为目标虚拟访存地址分配该读写存储空间,即创建了该读写存储空间与目标虚拟访存地址的一种非虚实地址映射的关联关系。在该读写存储空间中,进行访存指令的访存操作,并记录第一结果,以与处理器执行访存指令的第二结果进行比对,从而测试处理器在执行访存指令的情景下不同大小的虚拟页映射到同一个物理页的功能。
例如,在页表中,目标虚拟访存地址对应的物理地址指向的存储空间为存储空间A,为目标虚拟访存地址分配的读写存储空间为存储空间B,其中,存储空间B与存储空间A不是同一个存储空间。在存储空间B中进行访存指令的访存操作,并记录第一结果,若访存指令的访存操作是写入操作,则将根据访存指令从处理器寄存器中获取到的数据1写入存储空间B中,则第一结果为写入的数据为数据1;若访存指令的访存操作是读取数据操作,则读取存储空间B中的数据2,第一结果为读取的数据为数据2,需要说明的是,若之前没有模拟其他访存指令将数据2写入存储空间B,则存储空间B中的数据为空;若之前没有模拟其他访存指令将数据2写入存储空间B,则存储空间B中的数据为数据2。
可选的,在一些实施例中,在子步骤2031之前,所述方法还包括如下步骤:
步骤2033、在所述第一物理页对应的虚拟页包括其他虚拟页的情况下,确定所述其他虚拟页的第二虚拟访存地址范围。
在本申请实施例中,在第一物理页对应的虚拟页包括其他虚拟页的情况下,为了确定目标虚拟访存地址,需要先确定其他虚拟页的第二虚拟访存地址范围。
子步骤2031可以包括如下分子步骤:
分子步骤2031c、在所述新虚拟页确定的虚拟访存地址范围,包括所有的所述第二虚拟访存地址范围的情况下,将所述第一虚拟访存地址作为所述目标虚拟访存地址。
在本申请实施例中,在新虚拟页确定的虚拟访存地址范围,包括所有的第二虚拟访存地址范围的情况下,由前述可知,新虚拟页作为主虚拟页,因此,将第一虚拟访存地址作为目标虚拟访存地址。
例如,第一物理页对应三个虚拟页,分别为虚拟页1、虚拟页2、虚拟页3,其中,虚拟页2表征的虚拟访存地址范围大于虚拟页3表征的虚拟访存地址范围,虚拟页2表征的虚拟访存地址范围大于虚拟页1表征的虚拟访存地址范围,虚拟页2为新虚拟页,虚拟页1、虚拟页3为其他虚拟页,则将虚拟页2作为主虚拟页,并将虚拟页2(新虚拟页)上的第一虚拟访存地址作为目标虚拟访存地址。
可选的,在一些实施例中,在子步骤2032之后,所述方法还包括如下步骤(步骤2034):
步骤2034、记录所述处理器执行所述访存指令的第二结果,并在所述第一结果与所述第二结果相同的情况下,展示表征所述处理器功能正常的信息。
在处理器执行测试程序的过程中,记录处理器执行访存指令的第二结果,并将第一结果与第二结果进行比对,如果二者相同,则展示表征所述处理器功能正常的信息,即展示表征处理器的功能正常的信息,一般在计算机的界面中展示。
例如,处理器执行访存指令,若访存指令是写入数据,则根据访存指令将从处理器寄存器中获取到的数据1写入存储空间C中,其中,存储空间C为在页表中目标虚拟访存地址对应的物理地址指向的存储空间,则第二结果为写入的数据为数据1,若第一结果为写入的数据为数据1,则第一结果与第二结果相同,展示表征处理器功能正常的信息;若访存指令是读取数据,则将从存储空间C中读取数据2,其中,存储空间C为在页表中目标虚拟访存地址对应的物理地址指向的存储空间,则第二结果为读取的数据为数据2,若第一结果为读取的数据为数据2,则第一结果与第二结果相同,展示表征处理器功能正常的信息。
可选的,在一些实施例中,所述方法还包括如下步骤(步骤204):
步骤204、将在所述主虚拟页之前生成的从虚拟页上的进行过的访存操作,在所述主虚拟页的相同偏移位置上复制。
在本申请实施例中,为了模拟处理器执行访存指令的过程,需要将在主虚拟页之前生成的从虚拟页上的进行过的访存操作,在主虚拟页的相同偏移位置上复制,如此,可以保证在进行第二次访存指令的访存操作时,主虚拟页对应的存储空间的数据状态为进行第一次访存指令的访存操作之后的数据状态。
可选的,在一些实施例中,步骤204包括如下子步骤(子步骤2041)
子步骤2041、从所述主虚拟页之前生成的从虚拟页的虚拟访存地址中,确定第三虚拟访存地址。
其中,为所述第三虚拟访存地址分配的存储空间发生过访存操作。
在本申请实施例中,为了模拟处理器执行访存指令时,根据第一物理页对应的所有的虚拟页中,最大的虚拟页上与第一虚拟访存地址对应的目标虚拟访存地址,对页表中与目标虚拟访存地址对应的物理地址指向的存储空间,进行访存指令的访存操作,其中,最大的虚拟页表征的虚拟访存地址范围,包括第一物理页对应的所有的虚拟页的虚拟访存地址范围,且对于同一个存储空间,在进行第二次访存指令的访存操作时,该存储空间的数据状态为进行第一次访存指令的访存操作之后的数据状态,因此先要从其他虚拟页上的虚拟访存地址中,确定第三虚拟访存地址,其中,为所述第三虚拟访存地址分配的存储空间发生过访存操作,进而将第三虚拟访存地址分配的存储空间中的数据复制到目标存储空间。
子步骤2042、获取为所述第三虚拟访存地址分配的存储空间中的数据,并将所述数据复制到目标存储空间中。
其中,所述目标存储空间是为所述主虚拟页上的第四虚拟访存地址分配的存储空间,所述第四虚拟访存地址与所述第三虚拟访存地址对应所述物理页上的同一个物理地址。
在本申请实施例中,为了模拟处理器执行访存指令,根据第一物理页对应的所有的虚拟页中,最大的虚拟页上与第一虚拟访存地址对应的目标虚拟访存地址,对页表中与目标虚拟访存地址对应的物理地址指向的存储空间,进行访存指令的访存操作,其中,最大的虚拟页表征的虚拟访存地址范围,包括第一物理页对应的所有的虚拟页的虚拟访存地址范围,且对于同一个存储空间,在进行第二次访存指令的访存操作时,该存储空间的数据状态为进行第一次访存指令的访存操作之后的数据状态,因此,将为第三虚拟访存地址分配的存储空间中的数据,幅值到目标存储空间中,目标存储空间是为主虚拟页上的第四虚拟访存地址分配的存储空间,而第四虚拟访存地址与第三虚拟访存地址对应第一物理页上的同一个物理地址。
例如,在第一时刻,第一物理页上对应的虚拟页包括虚拟页1、虚拟页2,其中虚拟页2表征的虚拟访存地址范围包括虚拟页1表征的虚拟访存地址范围,因此,在访存地址需要对第一物理页上与第一虚拟访存地址对应的物理地址,指向的存储空间进行访存操作时,总是使用虚拟页2上与第一虚拟访存地址对应的目标虚拟访存地址,找到对应的物理地址指向的存储空间进行访存操作,在第二时刻,新创建一个虚拟页3作为新虚拟页,在虚拟页3表征的虚拟访存地址范围包括虚拟页1表征的虚拟访存地址范围以及虚拟页2表征的虚拟访存地址范围的情况下,同理,在访存地址需要对第一物理页上与第一虚拟访存地址对应的物理地址,指向的存储空间进行访存操作时,总是使用虚拟页3上与第一虚拟访存地址对应的目标虚拟访存地址,找到对应的物理地址指向的存储空间进行访存操作,在第一时刻至第二时刻之间和在第二时刻之后,处理器执行访存指令,对第一虚拟访存地址对应的物理地址指向的存储空间进行的访存操作,针对的是同一个存储空间,这是处理器在执行访存指令的情景下不同大小的虚拟页映射到同一个物理页的功能。其中,第一时刻早于第二时刻。
在模拟访存指令的访存操作的过程中,在第一时刻至第二时刻之间,进行访存操作的是为虚拟页2上的目标虚拟访存地址1分配的存储空间1,而在第二时刻之后,进行访存操作的是为虚拟页3上的目标虚拟访存地址2分配的存储空间2,存储空间1和存储空间2是不同的存储空间,因此,需要将存储空间1中的数据复制到存储空间2中,以保证存储空间1和存储空间2的数据状态一致,即模拟出处理器在执行访存指令的情景下不同大小的虚拟页映射到同一个物理页的功能的效果。
参照图5,物理页对应有2个虚拟页,分别为第一时刻创建的虚拟页①、第二时刻创建的虚拟页②,第一时刻早于第二时刻,其中,虚拟页②确定的虚拟访存地址范围包括虚拟页①确定的虚拟访存地址范围,虚拟页①确定的虚拟访存地址范围中的虚拟访存地址,虚拟页②b段表征的虚拟访存地址范围与虚拟页①a段表征的虚拟访存地址范围在物理页上对应同一个物理地址范围。在第二时刻创建虚拟页②之后,将为虚拟页①a段表征的虚拟访存地址范围中的虚拟访存地址1分配的存储空间中的数据“0x123”,复制到为虚拟页②b段表征的虚拟访存地址范围中的虚拟访存地址2分配的存储空间中,其中,虚拟访存地址1与虚拟访存地址2对应物理页上的同一个物理地址。
可选的,在一些实施例中,所述方法还包括如下步骤(步骤205):
步骤205、在生成的访存指令的虚拟访存地址未落在已存在的虚拟页的情况下,生成映射到所述物理页的新虚拟页。
在本申请实施例中,在获取到第一虚拟访存地址之后,需要先判断第一虚拟访存地址是否有所属的虚拟页,在页表记录的虚拟页中,不存在第一虚拟访存地址所属的虚拟页的情况下,需要在页表中创建第一虚拟访存地址所属的新虚拟页。
可选的,在一些实施例中,步骤205包括如下子步骤(子步骤2051、子步骤2052):
子步骤2051、从预设虚拟访存地址范围与第二预设阈值的对应关系的集合中,按照所述预设虚拟访存地址范围对应的第二预设阈值概率,选出目标虚拟访存地址范围。
在本申请实施例中,为了创建新虚拟页,采用随机生成的方式选出目标虚拟访存地址范围,具体的,从预设虚拟访存地址范围与第二预设阈值的对应关系的集合中,按照预设虚拟访存地址范围对应的第二预设阈值概率,选出目标虚拟访存地址范围。
例如,预设虚拟访存地址范围与第二预设阈值的对应关系的集合包括预设虚拟访存地址范围1(对应的第二预设概率1为20%)、预设虚拟访存地址范围2(对应的第二预设概率2为30%)、预设虚拟访存地址范围3(对应的第二预设概率3为50%),从预设虚拟访存地址范围与第二预设阈值的对应关系的集合中,按照预设虚拟访存地址范围对应的第二预设阈值概率,选出目标虚拟访存地址范围,即有20%的概率选出的目标虚拟访存地址范围为预设虚拟访存地址范围1,30%的概率选出的目标虚拟访存地址范围为预设虚拟访存地址范围2,50%的概率选出的目标虚拟访存地址范围为预设虚拟访存地址范围3。
子步骤2052、根据所述目标虚拟访存地址范围,创建所述新虚拟页。
在本申请实施例中,创建新虚拟页,新虚拟页表征目标虚拟访存地址范围,进而可以根据新虚拟页,获取新虚拟页对应的第一物理页。
通过执行子步骤2051至子步骤2052可以实现,使用随机生成的方式选出目标虚拟访存地址范围,并创建新虚拟页,新虚拟页表征目标虚拟访存地址范围,进而根据新虚拟页,获取新虚拟页对应的第一物理页。
可选的,在一些实施例中,在子步骤2052之前,所述方法还包括如下步骤:
步骤2053、根据页表中记录的所有的虚拟页的虚拟访存地址范围,确定可用虚拟访存地址范围的集合,所述可用虚拟访存地址范围与页表中记录的所有的虚拟页的虚拟访存地址范围均不重合。
在本申请实施例中,需要判断目标虚拟访存地址范围是否与页表中记录的所有其他的虚拟页的虚拟访存地址范围有重合,则可以先确定可用虚拟访存地址范围的集合,其中,可用虚拟访存地址范围与页表中记录的所有的虚拟页的虚拟访存地址范围均不重合,进而确定目标可用虚拟访存地址范围,第一虚拟访存地址在目标可用虚拟访存地址范围内。
步骤2054、从所述可用虚拟访存地址范围的集合中,确定包括所述第一虚拟访存地址的目标可用虚拟访存地址范围。
在本申请实施例中,为了判断目标虚拟访存地址范围是否与页表中记录的所有其他的虚拟页的虚拟访存地址范围有重合,需要从可用虚拟访存地址范围的集合中,确定目标可用虚拟访存地址范围,其中,第一虚拟访存地址在目标可用虚拟访存地址范围内。
例如,页表中记录有虚拟页1(虚拟页1的虚拟访存地址范围为虚拟访存地址范围1)、虚拟页2(虚拟页1的虚拟访存地址范围为虚拟访存地址范围2),则可用虚拟访存地址范围的集合包括虚拟访存地址范围3、虚拟访存地址范围4、虚拟访存地址范围5,第一虚拟访存地址在虚拟访存地址范围5内,则将虚拟访存地址范围5确定为目标可用虚拟访存地址范围。
可选的,在一些实施例中,子步骤2052可以包括如下分子步骤:
分子步骤2052a、在所述目标可用虚拟访存地址范围包括所述目标虚拟访存地址范围的情况下,将所述目标虚拟访存地址范围作为所述新虚拟页的虚拟访存地址范围。
在本申请实施例中,在可用虚拟访存地址范围包括目标虚拟访存地址范围的情况下,由于可用虚拟访存地址范围与页表中记录的所有的虚拟页的虚拟访存地址范围均不重合,则目标虚拟访存地址范围与页表中记录的所有的虚拟页的虚拟访存地址范围均不重合,因此,可以将目标虚拟访存地址范围作为新虚拟页的虚拟访存地址范围,保证了新虚拟页的正确性(保证页表中记录有不同的虚拟页,即页表中的虚拟页表征的虚拟访存地址范围不重合)。
分子步骤2052b、在所述目标虚拟访存地址范围包括所述目标可用虚拟访存地址范围的情况下,将所述目标可用虚拟访存地址范围作为所述新虚拟页的虚拟访存地址范围。
在本申请实施例中,在所述目标虚拟访存地址范围包括所述目标可用虚拟访存地址范围的情况下,目标虚拟访存地址范围与页表中记录的虚拟页的虚拟访存地址范围存在重合的部分,将目标可用虚拟访存地址范围作为新虚拟页的虚拟访存地址范围,由于可用虚拟访存地址范围与页表中记录的所有的虚拟页的虚拟访存地址范围均不重合,保证了新虚拟页的正确性(保证页表中记录有不同的虚拟页,即页表中的虚拟页表征的虚拟访存地址范围不重合)。
可选的,在一些实施例中,在步骤205之后,所述方法还包括:
步骤206、在所述物理页对应的其他虚拟页的数量等于数量阈值的情况下,将所述新虚拟页映射到其他物理页。
在本申请实施例中,对于在页表中新创建的新虚拟页,为了对第一物理页对应的虚拟页的数量进行限制,因此,在获取到新虚拟页对应的第一物理页,且第一物理页对应的其他虚拟页的数量等于数量阈值的情况下,修改新虚拟页所属的页表,将第一物理页替换,即在页表上创建新的物理页作为第一物理页。
例如,数量阈值为3,第一物理页表征的物理地址范围为0x10000000至0x11000000,在创建新虚拟页之前,第一物理页对应的虚拟页的数量为3,在创建新虚拟页之后,第一物理页对应的虚拟页的数量为4(他虚拟页的数量为3,加上新虚拟页,虚拟页的总数量为4),大于数量阈值(3),则在页表上新创建一个物理页(例如物理地址范围为0x13000000至0x14000000的物理页),作为第一物理页,将原来的第一物理页替换。
可选的,在一些实施例中,所述方法还包括如下步骤:
步骤207、从预设阈值与第一预设概率的对应关系的集合中,按照所述预设阈值对应的第一预设阈值概率,选出目标阈值。
在本申请实施例中,为了获取数量阈值,采用随机生成的方式选出目标阈值,具体的,从预设阈值与第一预设概率的对应关系的集合中,按照预设阈值对应的第一预设阈值概率,选出目标阈值。
例如,预设阈值与第一预设概率的对应关系的集合包括预设阈值1(对应的第一预设概率1为20%)、预设阈值2(对应的第一预设概率2为30%)、预设阈值3(对应的第一预设概率3为50%),从预设阈值与第一预设概率的对应关系的集合中,按照预设阈值对应的第一预设阈值概率,选出目标阈值,即有20%的概率选出的目标阈值为预设阈值1,30%的概率选出的目标阈值为预设阈值2,50%的概率选出的目标阈值为预设阈值3。
步骤208、将所述目标阈值作为所述数量阈值。
在本申请实施例中,将随机生成的目标阈值作为数量阈值,从而可以根据数量阈值去对第一物理页对应的虚拟页的数量进行限制。
通过执行步骤207至步骤208可以实现,使用随机生成的方式选出目标阈值,并将目标阈值作为数量阈值,进而根据数量阈值去对第一物理页对应的虚拟页的数量进行限制。
可选的,在一些实施例中,所述方法还包括如下步骤(步骤209):
步骤209、在生成的访存指令的虚拟访存地址落在已存在的虚拟页的情况下,将所述第一虚拟访存地址所属的虚拟页作为所述新虚拟页。
在本申请实施例中,在获取到第一虚拟访存地址之后,需要先判断第一虚拟访存地址是否有所属的虚拟页,在页表记录的虚拟页中,存在第一虚拟访存地址所属的虚拟页的情况下,将该虚拟页作为新虚拟页。
需要说明的是,所述页表中记录有多个物理页,每个所述物理页对应有至少一个虚拟页;所述物理页表征对应的物理地址范围;所述虚拟页表征对应的虚拟访存地址范围。
例如,虚拟页表征的虚拟访存地址范围为0x10000000至0x14000000,第一虚拟访存地址可为0x11000000,则虚拟访存地址范围为0x10000000至0x14000000的虚拟页为新虚拟页。
可选的,在一些实施例中,所述方法还包括如下步骤:
步骤210、在所述第一物理页对应的虚拟页包括其他虚拟页的情况下,确定所述其他虚拟页的第二虚拟访存地址范围,并在所述新虚拟页确定的虚拟访存地址范围,包括所有的所述第二虚拟访存地址范围的情况下,将所述新虚拟页作为所述主虚拟页,将所述其他虚拟页作为从虚拟页。
在本申请实施例中,在第一物理页对应的虚拟页包括其他虚拟页的情况下,为了确定主虚拟页,先要确定其他虚拟页的第二虚拟访存地址范围,在新虚拟页确定的虚拟访存地址范围,包括所有的第二虚拟访存地址范围的情况下,将所述新虚拟页作为主虚拟页,以模拟处理器执行访存指令时,根据第一物理页对应的所有的虚拟页中,最大的虚拟页上与第一虚拟访存地址对应的目标虚拟访存地址,对页表中与目标虚拟访存地址对应的物理地址指向的存储空间,进行访存指令的访存操作,其中,最大的虚拟页表征的虚拟访存地址范围,包括第一物理页对应的所有的虚拟页的虚拟访存地址范围。
例如,第一物理页对应三个虚拟页,分别为虚拟页1、虚拟页2、虚拟页3,其中,虚拟页2表征的虚拟访存地址范围大于虚拟页3表征的虚拟访存地址范围,虚拟页2表征的虚拟访存地址范围大于虚拟页1表征的虚拟访存地址范围,虚拟页2为新虚拟页,虚拟页1、虚拟页3为其他虚拟页,则将虚拟页2作为主虚拟页,将虚拟页1、虚拟页3作为从虚拟页。
步骤211、在所述第一物理页对应的虚拟页只有所述新虚拟页的情况下,将所述新虚拟页作为所述主虚拟页。
在本申请实施例中,在第一物理页对应的虚拟页只有新虚拟页的情况下,此时第一物理页对应的虚拟页只有一个,即新虚拟页,只能使用新虚拟页上的第一虚拟访存地址对应的物理地址,对该物理地址指向的存储空间中进行访存指令的访存操作,因此,将新虚拟页作为主虚拟页。
通过执行步骤212至步骤213可以实现,将新虚拟页作为主虚拟页,从而根据第一虚拟访存地址,确定主虚拟页上的对应映射的目标虚拟访存地址。
参照图6,本申请实施例提供的处理器执行访存指令的模拟流程包括:X1、访存指令生成,即生成测试程序中的访存指令,可以在生成测试程序的过程中实现;X2、判断目标地址是否落在新区域,即第一虚拟访存地址所属的第一虚拟页是否已经创建;X3、在第一虚拟页没有(N)创建的情况下,依需分配虚拟页“P”,即创建新虚拟页“P”;X4、是否需要新的映射关系,即在获取到新虚拟页对应的第一物理页的情况下,判断此时的第一物理页对应的其他虚拟页的数量是小于还是等于数量阈值;X5、在第一物理页对应的其他虚拟页的数量是小于(N)数量阈值的情况下,判断“P”页(创建的新虚拟页“P”)的大小是否大于“MP”,其中,“MP”为此时的主虚拟页;X6、在判断“P”页的大小小于“MP”的情况下,“P”角色作为“SP”,即确定创建的新虚拟页“P”不能称为新的“MP”;X7、在新虚拟页已经(Y)创建的情况下,是否将此页为“MP”,即判断第一虚拟访存地址所属的新虚拟页是否为“MP”;X8、在第一虚拟访存地址所属的新虚拟页不是“MP”的情况下,在其“MP”上的对应偏移位置完成访存操作,即在“MP”上与第一虚拟访存地址对应的目标虚拟访存地址,对应的物理地址指向的存储空间中进行访存地址的访存操作;X9、将参与此映射的所有地址值写入“P”页对应位置,即将所有的第三虚拟访存地址分配的存储空间中的数据,复制到各自对应的目标存储空间中;X10、确定映射虚页个数N,即确定第一物理页对应的其他虚拟页的数量;X11、在此时的第一物理页对应的其他虚拟页的数量等于数量阈值的情况下,将创建的新虚拟页“P”作为“MP”(由于新的第一物理页只对应新虚拟页“P”);X12、直接完成访存操作,即在“MP”上的目标虚拟访存地址对应的物理地址指向的存储空间进行访存地址的访存操作。
综上所述,在本申请实施例中,通过生成多个访存指令,多个访存指令的虚拟访存地址落在映射到同一物理页的多个虚拟页上;在多个虚拟页中确定主虚拟页,将主虚拟页外的虚拟页作为从虚拟页,主虚拟页在物理页上的映射地址范围包括从虚拟页在物理页上的映射地址范围;以及对虚拟访存地址位于从虚拟页的访存指令,在主虚拟页上执行该访存指令对应的访存操作,进而根据访存指令测试处理器的功能,使不同大小的虚拟页映射到相同的物理页,使程序访存地址比较集中,增强局部物理地址的访存压力,本申请实施例提供了一种生成高质量的测试程序的方法,提高了测试速度,解决了在先技术中处理器的功能测试越来越复杂,导致处理器的测试周期长的问题。
图7是本申请实施例提供的一种处理器的测试装置的框图,如图7所示,该装置300包括:
生成模块301,用于生成多个访存指令,多个访存指令的虚拟访存地址映射到同一物理页的多个虚拟页上;
确定模块302,用于在所述多个虚拟页中确定主虚拟页,将所述主虚拟页外的虚拟页作为从虚拟页,所述主虚拟页在所述物理页上的映射地址范围包括所述从虚拟页在所述物理页上的映射地址范围;以及
访存模块303,用于对所述虚拟访存地址位于所述从虚拟页的访存指令,在所述主虚拟页上执行所述访存指令对应的访存操作。
可选的,所述访存指令的虚拟访存地址在所述从虚拟页上具有偏移位置,访存模块303,具体包括:
访存子模块,用于在所述主虚拟页上的相同偏移位置处执行所述访存操作。
可选的,该装置300还包括:
复制模块,用于将在所述主虚拟页之前生成的从虚拟页上的进行过的访存操作,在所述主虚拟页的相同偏移位置上复制。
可选的,复制模块,具体包括:
确定子模块,用于从所述主虚拟页之前生成的从虚拟页的虚拟访存地址中,确定第三虚拟访存地址;为所述第三虚拟访存地址分配的存储空间发生过访存操作;
复制子模块,用于获取为所述第三虚拟访存地址分配的存储空间中的数据,并将所述数据复制到目标存储空间中;
其中,所述目标存储空间是为所述主虚拟页上的第四虚拟访存地址分配的存储空间,所述第四虚拟访存地址与所述第三虚拟访存地址对应所述物理页上的同一个物理地址。
可选的,该装置300还包括:
新虚拟页模块,用于在生成的访存指令的虚拟访存地址未落在已存在的虚拟页的情况下,生成映射到所述物理页的新虚拟页。
可选的,该装置300还包括:
映射模块,用于在所述物理页对应的其他虚拟页的数量等于数量阈值的情况下,将所述新虚拟页映射到其他物理页。
可选的,该装置300还包括:
目标阈值模块,用于从预设阈值与第一预设概率的对应关系的集合中,按照所述预设阈值对应的第一预设阈值概率,选出目标阈值;
数量阈值模块,用于将所述目标阈值作为所述数量阈值。
可选的,新虚拟页模块,具体包括:
选出子模块,用于从预设虚拟访存地址范围与第二预设阈值的对应关系的集合中,按照所述预设虚拟访存地址范围对应的第二预设阈值概率,选出目标虚拟访存地址范围;
创建子模块,用于根据所述目标虚拟访存地址范围,创建所述新虚拟页。
本申请实施例中的处理器的测试装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的处理器的测试装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的处理器的测试装置能够实现图1的方法实施例中处理器的测试装置实现的各个过程,为避免重复,这里不再赘述。
在本申请实施例中,通过生成多个访存指令,多个访存指令的虚拟访存地址落在映射到同一物理页的多个虚拟页上;在多个虚拟页中确定主虚拟页,将主虚拟页外的虚拟页作为从虚拟页,主虚拟页在物理页上的映射地址范围包括从虚拟页在物理页上的映射地址范围;以及对虚拟访存地址位于从虚拟页的访存指令,在主虚拟页上执行该访存指令对应的访存操作,进而根据访存指令测试处理器的功能,使不同大小的虚拟页映射到相同的物理页,使程序访存地址比较集中,增强局部物理地址的访存压力,本申请实施例提供了一种生成高质量的测试程序的方法,提高了测试速度,解决了在先技术中处理器的功能测试越来越复杂,导致处理器的测试周期长的问题。
可选地,本申请实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现上述处理器的测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图8为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备400包括但不限于:射频单元401、网络模块402、音频输出单元403、输入单元404、传感器405、显示单元406、用户输入单元407、接口单元408、存储器409、以及处理器410等部件。
本领域技术人员可以理解,电子设备400还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器410逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器410,用于生成多个访存指令,多个访存指令的虚拟访存地址映射到同一物理页的多个虚拟页上;
在所述多个虚拟页中确定主虚拟页,将所述主虚拟页外的虚拟页作为从虚拟页,所述主虚拟页在所述物理页上的映射地址范围包括所述从虚拟页在所述物理页上的映射地址范围;以及
对所述虚拟访存地址位于所述从虚拟页的访存指令,在所述主虚拟页上执行所述访存指令对应的访存操作。
在本申请实施例中,通过生成多个访存指令,多个访存指令的虚拟访存地址落在映射到同一物理页的多个虚拟页上;在多个虚拟页中确定主虚拟页,将主虚拟页外的虚拟页作为从虚拟页,主虚拟页在物理页上的映射地址范围包括从虚拟页在物理页上的映射地址范围;以及对虚拟访存地址位于从虚拟页的访存指令,在主虚拟页上执行该访存指令对应的访存操作,进而根据访存指令测试处理器的功能,使不同大小的虚拟页映射到相同的物理页,使程序访存地址比较集中,增强局部物理地址的访存压力,本申请实施例提供了一种生成高质量的测试程序的方法,提高了测试速度,解决了在先技术中处理器的功能测试越来越复杂,导致处理器的测试周期长的问题。
可选的,所述访存指令的虚拟访存地址在所述从虚拟页上具有偏移位置,处理器410,还用于在所述主虚拟页上的相同偏移位置处执行所述访存操作。
可选的,处理器410,还用于将在所述主虚拟页之前生成的从虚拟页上的进行过的访存操作,在所述主虚拟页的相同偏移位置上复制。
可选的,处理器410,还用于从所述主虚拟页之前生成的从虚拟页的虚拟访存地址中,确定第三虚拟访存地址;为所述第三虚拟访存地址分配的存储空间发生过访存操作;获取为所述第三虚拟访存地址分配的存储空间中的数据,并将所述数据复制到目标存储空间中;其中,所述目标存储空间是为所述主虚拟页上的第四虚拟访存地址分配的存储空间,所述第四虚拟访存地址与所述第三虚拟访存地址对应所述物理页上的同一个物理地址。
可选的,处理器410,还用于在生成的访存指令的虚拟访存地址未落在已存在的虚拟页的情况下,生成映射到所述物理页的新虚拟页。
可选的,处理器410,还用于在所述物理页对应的其他虚拟页的数量等于数量阈值的情况下,将所述新虚拟页映射到其他物理页。
可选的,处理器410,还用于从预设阈值与第一预设概率的对应关系的集合中,按照所述预设阈值对应的第一预设阈值概率,选出目标阈值;将所述目标阈值作为所述数量阈值。
可选的,处理器410,还用于从预设虚拟访存地址范围与第二预设阈值的对应关系的集合中,按照所述预设虚拟访存地址范围对应的第二预设阈值概率,选出目标虚拟访存地址范围;根据所述目标虚拟访存地址范围,创建所述新虚拟页。
在本申请实施例中,通过生成多个访存指令,多个访存指令的虚拟访存地址落在映射到同一物理页的多个虚拟页上;在多个虚拟页中确定主虚拟页,将主虚拟页外的虚拟页作为从虚拟页,主虚拟页在物理页上的映射地址范围包括从虚拟页在物理页上的映射地址范围;以及对虚拟访存地址位于从虚拟页的访存指令,在主虚拟页上执行该访存指令对应的访存操作,进而根据访存指令测试处理器的功能,使不同大小的虚拟页映射到相同的物理页,使程序访存地址比较集中,增强局部物理地址的访存压力,本申请实施例提供了一种生成高质量的测试程序的方法,提高了测试速度,解决了在先技术中处理器的功能测试越来越复杂,导致处理器的测试周期长的问题。
应理解的是,本申请实施例中,输入单元404可以包括图形处理器(GraphicsProcessing Unit,GPU)4041和麦克风4042,图形处理器4041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元406可包括显示面板4061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板4061。用户输入单元407包括触控面板4071以及其他输入设备4072中的至少一种。触控面板4071,也称为触摸屏。触控面板4071可包括触摸检测装置和触摸控制器两个部分。其他输入设备4072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器409可用于存储软件程序以及各种数据。存储器409可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器409可以包括易失性存储器或非易失性存储器,或者,存储器409可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器409包括但不限于这些和任意其它适合类型的存储器。
处理器410可包括一个或多个处理单元;可选的,处理器410集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器410中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述处理器的测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述处理器的测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (11)
1.一种处理器的测试方法,其特征在于,所述方法包括:
生成多个访存指令,多个访存指令的虚拟访存地址位于映射到同一物理页的多个虚拟页上;
在所述多个虚拟页中确定主虚拟页,将所述主虚拟页外的虚拟页作为从虚拟页,所述主虚拟页在所述物理页上的映射地址范围包括所述从虚拟页在所述物理页上的映射地址范围;以及
对所述虚拟访存地址位于所述从虚拟页的访存指令,在所述主虚拟页上执行所述访存指令对应的访存操作。
2.根据权利要求1所述的方法,其特征在于,所述访存指令的虚拟访存地址在所述从虚拟页上具有偏移位置,所述对所述虚拟访存地址位于从虚拟页的访存指令,在所述主虚拟页上执行所述访存指令的访存操作,包括:
在所述主虚拟页上的相同偏移位置处执行所述访存操作。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将在所述主虚拟页之前生成的从虚拟页上的进行过的访存操作,在所述主虚拟页的相同偏移位置上复制。
4.根据权利要求3所述的方法,其特征在于,所述将在所述主虚拟页之前生成的从虚拟页上的进行过的访存操作,在所述主虚拟页的相同偏移位置上复制,包括:
从所述主虚拟页之前生成的从虚拟页的虚拟访存地址中,确定第三虚拟访存地址;为所述第三虚拟访存地址分配的存储空间发生过访存操作;
获取为所述第三虚拟访存地址分配的存储空间中的数据,并将所述数据复制到目标存储空间中;
其中,所述目标存储空间是为所述主虚拟页上的第四虚拟访存地址分配的存储空间,所述第四虚拟访存地址与所述第三虚拟访存地址对应所述物理页上的同一个物理地址。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在生成的访存指令的虚拟访存地址未落在已存在的虚拟页的情况下,生成映射到所述物理页的新虚拟页。
6.根据权利要求5所述的方法,其特征在于,在所述在生成的访存指令的虚拟访存地址未落在已存在的虚拟页的情况下,生成映射到所述物理页的新虚拟页之后,所述方法还包括:
在所述物理页对应的其他虚拟页的数量等于数量阈值的情况下,将所述新虚拟页映射到其他物理页。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
从预设阈值与第一预设概率的对应关系的集合中,按照所述预设阈值对应的第一预设阈值概率,选出目标阈值;
将所述目标阈值作为所述数量阈值。
8.根据权利要求6所述的方法,其特征在于,所述生成映射到所述物理页的新虚拟页,包括:
从预设虚拟访存地址范围与第二预设阈值的对应关系的集合中,按照所述预设虚拟访存地址范围对应的第二预设阈值概率,选出目标虚拟访存地址范围;
根据所述目标虚拟访存地址范围,创建所述新虚拟页。
9.一种处理器的测试装置,其特征在于,所述装置包括:
生成模块,用于生成多个访存指令,多个访存指令的虚拟访存地址映射到同一物理页的多个虚拟页上;
确定模块,用于在所述多个虚拟页中确定主虚拟页,将所述主虚拟页外的虚拟页作为从虚拟页,所述主虚拟页在所述物理页上的映射地址范围包括所述从虚拟页在所述物理页上的映射地址范围;以及
访存模块,用于对所述虚拟访存地址位于所述从虚拟页的访存指令,在所述主虚拟页上执行所述访存指令对应的访存操作。
10.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至8中任一项所述的处理器的测试方法的步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至8中任一项所述的处理器的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311021291.8A CN117056144A (zh) | 2023-08-14 | 2023-08-14 | 一种处理器的测试方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311021291.8A CN117056144A (zh) | 2023-08-14 | 2023-08-14 | 一种处理器的测试方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117056144A true CN117056144A (zh) | 2023-11-14 |
Family
ID=88663892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311021291.8A Pending CN117056144A (zh) | 2023-08-14 | 2023-08-14 | 一种处理器的测试方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056144A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648226A (zh) * | 2024-01-29 | 2024-03-05 | 北京开源芯片研究院 | 一种处理器缓存的工作机制的测试方法以及装置 |
-
2023
- 2023-08-14 CN CN202311021291.8A patent/CN117056144A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648226A (zh) * | 2024-01-29 | 2024-03-05 | 北京开源芯片研究院 | 一种处理器缓存的工作机制的测试方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930442B (zh) | 页面视图的加载方法、装置、存储介质和电子设备 | |
CN117056144A (zh) | 一种处理器的测试方法、装置、电子设备及可读存储介质 | |
US8650012B1 (en) | Caching information to map simulation addresses to host addresses in computer system simulations | |
CN112199040B (zh) | 存储访问方法及智能处理装置 | |
CN109388345A (zh) | 存储器的数据读取方法、显示装置及计算机可读存储介质 | |
CN115129257A (zh) | 数据读写方法、电子设备及计算机可读存储介质 | |
CN111444117B (zh) | 存储空间碎片化实现方法、装置、存储介质及电子设备 | |
US20120124429A1 (en) | Apparatus and method for tracing memory access information | |
JP2022529201A (ja) | 意味論的拡張人工現実体験 | |
CN112133357A (zh) | 一种eMMC的测试方法及装置 | |
KR20170132483A (ko) | 메모리 장치의 구동 방법 | |
CN110058938B (zh) | 一种内存处理方法、装置、电子设备和可读介质 | |
CN113419798B (zh) | 内容的展示方法、装置、设备和存储介质 | |
WO2019092849A1 (ja) | シミュレーション装置、シミュレーション方法およびシミュレーションプログラム | |
CN109634583B (zh) | 一种基于SystemC和TLM模型的GPU颜色存储Cache模块的硬件及存储装置 | |
CN111143125B (zh) | 一种mce错误处理方法、装置及电子设备和存储介质 | |
CN114385368A (zh) | 预写日志的刷写方法和装置 | |
CN114527934A (zh) | 闪存的控制方法、装置、存储介质和电子设备 | |
US20060206631A1 (en) | Data duplication method and system used between USB devices | |
CN114513736B (zh) | 一种耳机的声学测试方法、设备、终端及存储介质 | |
CN115658351B (zh) | 2d拷贝方法、装置、电子设备和计算机可读存储介质 | |
CN116954462A (zh) | 输入设备的配置方法、装置和电子设备 | |
CN117112452B (zh) | 寄存器模拟配置方法、装置、计算机设备和存储介质 | |
US8799567B2 (en) | Method for accessing files in a management system | |
CN116661697A (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 |