内存测试方法及装置制造方法及图纸

技术编号:18367253 阅读:24 留言:0更新日期:2018-07-05 08:20
本发明专利技术提供了一种内存测试方法及装置,涉及计算机领域。其中,该方法包括:加载内存测试代码到缓存;执行所述内存测试代码对内存进行内存测试。该方法及装置使执行的用于内存测试的内存测试代码被加载于缓存中,测试速度更快,测试时间更短。

Memory test method and device

The invention provides a memory testing method and a device, relating to the computer field. The method includes loading memory test code to cache, executing memory test code to carry out memory test for memory. The method and device enable the memory test code executed for memory testing to be loaded into the cache, and the test speed is faster and the test time is shorter.

【技术实现步骤摘要】
内存测试方法及装置
本专利技术涉及计算机领域,具体而言,涉及一种内存测试方法及装置。
技术介绍
内存(Memory)也被称为内存储器,是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,内存的性能对计算机的影响非常大,因此,对内存的性能进行测试就显得非常重要。现有的对内存进行测试的方法中,通常是在内存或者只读存储器(ROM)中运行内存测试代码,实现对内存的性能测试。但是,若内存测试代码在ROM中运行,测试速度低,增加了测试时间。若在内存中运行内存测试代码,需要至少两次测试才能完成对内存的完全测试,则需要至少启动两次计算机,仍然使测试时间加长。
技术实现思路
有鉴于此,本专利技术实施例提供了一种内存测试方法及装置,通过在缓存中运行内存测试代码进行内存测试,提升了测试速度,从而有效缩短测试时间,以改善上述问题。为了实现上述目的,本专利技术采用的技术方案如下:一种内存测试方法,所述方法包括:加载内存测试代码到缓存;执行所述内存测试代码对内存进行内存测试。优选的,上述方法中,所述加载内存测试代码到缓存之前,还包括:对所述内存测试代码进行编译,并且将所述内存测试代码编译到连续的存储地址中。优选的,上述方法中,所述执行所述内存测试代码对内存进行内存测试之前,还包括:对内存进行初始化。优选的,上述方法中,所述加载内存测试代码到缓存的步骤中,还包括:将所述内存测试代码锁定。优选的,上述方法中,所述执行所述内存测试代码对内存进行内存测试之后,还包括:若所述内存的测试结果为正常,则将所述内存测试代码解锁。优选的,上述方法中,所述加载内存测试代码到缓存之前,还包括:对串口进行初始化;所述执行所述内存测试代码对内存进行内存测试之后,还包括:通过所述串口打印输出所述内存测试的结果。优选的,上述方法中,若所述内存测试的结果为存在异常,使系统进入死循环等待。一种内存测试装置,包括:加载模块,用于加载内存测试代码到缓存;执行模块,用于执行所述内存测试代码对内存进行内存测试。优选的,上述装置中,还包括:编译模块,用于对所述内存测试代码进行编译,并且将所述内存测试代码编译到连续的存储地址中。优选的,上述装置中,还包括:锁定模块,用于将所述内存测试代码锁定;解锁模块,若所述内存的测试结果为正常,用于将所述内存测试代码解锁。本专利技术实施例提供的内存测试方法及装置,将内存测试代码加载到缓存(cache)中后再执行该内存测试代码进行内存测试。由于缓存是进行高速数据交换的存储器,处理器读取数据时,首先从缓存中查找需要的数据,运行速率很快,于是,在执行内存测试代码对内存进行测试的过程中,速度快,测试时间短。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1示出了本专利技术第一实施例提供的内存测试方法的流程图;图2示出了本专利技术第一实施例提供的一种存储空间示意图;图3示出了本专利技术第二实施例提供的内存测试装置的功能模块图。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。第一实施例计算机在开机启动过程中通常需要进行内存测试,图1示出了本专利技术第一实施例提供的内存测试方法,请参见图1,该方法包括:步骤S110:加载内存测试代码到缓存。内存测试代码预先存储于非易失性存储器中,以便计算机在开机启动过程中通过该内存测试代码对内存进行测试。当需要对内存进行测试时,处理器首先将内存测试代码加载到缓存中。并且,为了保证内存测试过程中缓存中的内存测试代码不会被替换,将该内存测试代码锁定于缓存中。进一步的,在本步骤之前,还包括对内存测试代码进行编译。由于内存测试代码可能包括多个文件,编译时如果不进行控制,编译后的代码可能分布在代码空间的各个地址,碎片化,代码的每个段的大小无法确定,导致加载到缓存比较困难。而且将内存测试代码加载到缓存并锁定的时候,需要根据缓存行(cacheline)对齐,编译在一起保证需要使用的缓存最小。于是,在编译过程中,将内存测试代码编译到独立的段中,保证内存测试代码编译后集中放置,并且可以获取其存储地址,以使在将内存测试代码加载到缓存中时,可以根据缓存行将其对齐,使该内存测试代码占用的缓存空间最小。在本实施例中,可以通过编译脚本将内存测试代码编译到连续的存储地址中。如图2示出了编译后的内存测试代码存放的存储空间,其中内存测试代码在text_memtest_start到text_memtest_end之间的连续的存储空间。步骤S120:执行所述内存测试代码对内存进行内存测试。处理器执行加载到缓存中的内存测试代码,以实现对内存的测试。由于在对内存的测试过程中,需要对内存进行读写,而若要通过软件对内存进行读写,需先对内存进行初始化。于是,在本步骤之前,还包括对内存进行初始化,处理器执行内存测试代码对内存进行测试在内存初始化完成后进行。对内存进行测试的一种具体的过程可以是,首先通过内存控制寄存器获取内存的大小。由于处理器(CPU)的类型不同,其内存空间分布不同,于是再根据处理器的类型以及内存的大小确定内存的开始地址以及结束地址,最后根据内存的开始地址以及结束地址进行内存测试。当然,在本实施例中,内存的大小也可以在内存初始化过程中获得。若内存测试的结果为异常,如,内存测试代码测试过程中向内存中写入的数据与从内存中读出的数据不一致,则内存测试失败,使系统进入死循环等待。具体的,可以是在内存测试异常的地址进行死循环运行。若内存的测试结果为正常,测试通过,将内存测试代码从缓存中解锁。同时,控制被测试的计算机继续启动。进一步的,在本实施例中,在加载内存测试代码到缓存之前,还可以包括对被测试的计算机的基础硬件进行初始化,其中包括串口初始化,使串口可以进行打印输出。在测试完成后,还可以通过串口打印输出内存测试的测试结果。该测试完成包括得到正常的测试结果或者异常的测试结果。若得到异常的测试结果,可以打印输出出错地址,以根据出错地址确定出错内存条、出错行以及出错位(bit)。另外,也可以打印出错数据以及期望值,该期望值为内存测试中写入内存的值,出错数本文档来自技高网...
内存测试方法及装置

【技术保护点】
1.一种内存测试方法,其特征在于,所述方法包括:加载内存测试代码到缓存;执行所述内存测试代码对内存进行内存测试。

【技术特征摘要】
1.一种内存测试方法,其特征在于,所述方法包括:加载内存测试代码到缓存;执行所述内存测试代码对内存进行内存测试。2.根据权利要求1所述的方法,其特征在于,所述加载内存测试代码到缓存之前,还包括:对所述内存测试代码进行编译,并且将所述内存测试代码编译到连续的存储地址中。3.根据权利要求1所述的方法,其特征在于,所述执行所述内存测试代码对内存进行内存测试之前,还包括:对内存进行初始化。4.根据权利要求1所述的方法,其特征在于,所述加载内存测试代码到缓存的步骤中,还包括:将所述内存测试代码锁定。5.根据权利要求4所述的方法,其特征在于,所述执行所述内存测试代码对内存进行内存测试之后,还包括:若所述内存的测试结果为正常,则将所述内存测试代码解锁。6.根据权利要求1所述的方法,其特征...

【专利技术属性】
技术研发人员:陈小松
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1