发明内容
本发明要解决的技术问题在于,针对现有技术无法对二级缓存进行有效测试的缺陷,提供一种测试装置和测试方法。
本发明解决其技术问题所采用的技术方案是:
一种测试装置,用于对处理器的二级缓存进行测试,该二级缓存与内存通信连接,所述测试装置包括:
比较模块;
控制模块,与比较模块通信连接,并通过总线与所述二级缓存通信连接,用于向所述比较模块发出写入数据,并通过所述总线向所述二级缓存发出写入地址和所述写入数据,以控制所述二级缓存依据所述写入地址将所述写入数据写入内存;
监听模块,分别与比较模块和所述内存通信连接,并通信连接至所述总线,用于对所述总线进行监听,以获取所述写入地址,然后在预设等待时间过后,依据该写入地址在内存中读取对应的存储数据,再将读取的存储数据发往比较模块;
所述比较模块用于对收到的写入数据和存储数据进行比较,得到数据比较结果,据此对二级缓存进行测试。
优选的,所述控制模块还用于向所述比较模块发出所述写入地址;所述监听模块还用于将所述写入地址发往所述比较模块;所述比较模块还用于对收到的来自控制模块和监听模块的写入地址进行比较,得到地址比较结果,并基于所述数据比较结果和所述地址比较结果对二级缓存进行测试。
优选的,所述总线为AHB总线。
一种测试装置,用于对处理器的二级缓存进行测试,该二级缓存与内存通信连接,所述测试装置包括:
比较模块;
控制模块,与比较模块通信连接,并通过总线与所述二级缓存通信连接,用于通过所述总线向所述二级缓存发出读取地址,以及接收所述二级缓存依据该读取地址找到的读取数据,并将该读取数据发往比较模块;
监听模块,分别与比较模块和所述内存通信连接,并通信连接至所述总线,用于对所述总线进行监听,以获取所述读取地址,据此在内存中读取对应的存储数据,然后将该存储数据发往比较模块;
所述比较模块用于对所述读取数据和存储数据进行比较,得到数据比较结果,据此对二级缓存进行测试。
优选的,所述控制模块还用于向所述比较模块发出所述读取地址;所述监听模块还用于将所述读取地址发往所述比较模块;所述比较模块还用于对收到的来自控制模块和监听模块的读取地址进行比较,得到地址比较结果,并基于所述数据比较结果和所述地址比较结果对二级缓存进行测试。
优选的,所述总线为AHB总线。
一种测试方法,用于对处理器的二级缓存进行测试,该二级缓存与内存通信连接,所述测试方法包括:
控制步骤,包括通过总线向所述二级缓存发出写入地址和测试数据,以控制所述二级缓存依据所述写入地址将所述测试数据写入内存;
监听步骤,包括对所述总线进行监听,以获取所述写入地址,然后在预设等待时间过后,依据该写入地址在内存中读取对应的存储数据;
比较步骤,包括对测试数据和存储数据进行比较,得到数据比较结果,据此对二级缓存进行测试。
优选的,所述比较步骤还包括对控制步骤中发出的写入地址和监听步骤中监听到的写入地址进行比较,得到地址比较结果,并基于所述数据比较结果和所述地址比较结果对二级缓存进行测试。
一种测试方法,用于对处理器的二级缓存进行测试,该二级缓存与内存通信连接,所述测试方法包括:
控制步骤,包括通过所述总线向所述二级缓存发出读取地址,以及接收所述二级缓存依据该读取地址找到的读取数据;
监听步骤,包括对所述总线进行监听,以获取所述读取地址,据此在内存中读取对应的存储数据;
比较步骤,包括对所述读取数据和存储数据进行比较,得到数据比较结果,据此对二级缓存进行测试。
优选的,所述比较步骤还包括对控制步骤中发出的读取地址和监听步骤中监听到的读取地址进行比较,得到地址比较结果,并基于所述数据比较结果和所述地址比较结果对二级缓存进行测试。
实施本发明的技术方案,具有以下有益效果:本发明提供的技术方案可通过读写两个方面来对二级缓存进行测试。在写操作时,通过向二级缓存发送写入地址和待写入数据,来控制二级缓存依据写入地址将待写入数据写入内存。此后,再依据该写入地址从内存中获取对应的数据。最后,通过将待写入数据与从内存中获取的数据进行比较,来完成对二级缓存的测试。在读操作时,通过向二级缓存发送读取地址,来控制二级缓存查找对应的数据。此后,再依据该读取地址从内存中直接获取对应的数据。最后,通过将二级缓存找到的数据与从内存中直接获取的数据进行比较,来完成对二级缓存的测试。由此可见,本发明提供的技术方案可实现对二级缓存的精确测试。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种测试装置和测试方法,可通过读写两个方面来对二级缓存进行测试。在写操作时,通过向二级缓存发送写入地址和待写入数据,来控制二级缓存依据写入地址将待写入数据写入内存。此后,再依据该写入地址从内存中获取对应的数据。最后,通过将待写入数据与从内存中获取的数据进行比较,来完成对二级缓存的测试。在读操作时,通过向二级缓存发送读取地址,来控制二级缓存查找对应的数据。此后,再依据该读取地址从内存中直接获取对应的数据。最后,通过将二级缓存找到的数据与从内存中直接获取的数据进行比较,来完成对二级缓存的测试。由此可见,本发明提供的技术方案可实现对二级缓存的精确测试。下面就结合附图和具体实施例来详细描述本发明的技术方案。
图1是依据本发明一较佳实施例的测试装置100的逻辑结构示意图。本发明提供的测试装置用于对处理器的二级缓存108进行测试,该二级缓存108通过例如但不限于AHB总线(Advanced High performance Bus,高性能总线)与内存110通信连接。在具体实现过程中,内存110可通过“DRAM控制器+DRAM(Dynamic Random Access Memory,动态随机存取存储器)”的方式来实现。
本发明提供的测试装置包括控制模块102、监听模块104和比较模块106,其中,控制模块102通过总线112(例如但不限于AHB总线)与二级缓存108通信连接,而监听模块104则通信连接至该总线112上。此外,控制模块102和监听模块104还分别与比较模块106通信连接,监听模块104还与内存110通信连接。本发明提供的测试装置可在写操作和读操作两个方面对二级缓存108进行测试,下面就来分别描述在写操作和读操作两个过程中本发明测试装置中各模块的功能。
首先描述本发明测试装置各功能模块在写操作过程中的具体功能。
控制模块102用于通过总线112向二级缓存108发出写入地址和写入数据,以控制所述二级缓存108依据所述写入地址将所述写入数据写入内存110。在具体实现过程中,控制模块102发出的写入地址和写入数据在内容和发送方式上与现有技术中处理器内核发送给二级缓存108的写入地址和写入数据相同。
二级缓存108接收写入地址和写入数据并依据写入地址将写入数据写入内存110的具体技术内容已经在现有技术中做了清楚的描述,因此本文不再详细赘述。
在具体实现过程中,除了将写入地址和写入数据发往二级缓存108外,控制模块102还会将写入数据发往比较模块106。作为可选的,控制模块102还可将写入地址也发往比较模块106
监听模块104用于对总线112进行监听,以获取控制模块102发往二级缓存108的所述写入地址,并且在预设等待时间过后,依据该写入地址在内存110中读取对应的存储数据,然后将读取的存储数据发往比较模块106。作为可选的,监听模块106还可将获取的写入地址也发往比较模块106。
在具体实现过程中,监听模块104需等待二级缓存108依据写入地址将写入数据写入内存110后方可读取相应的存储数据,因此,可设置一等待时间,在该等待时间过后,监听模块104方可依据写入地址在内存110中读取对应的存储数据。
比较模块106用于接收并对比控制模块102发来的写入数据和监听模块104发来的存储数据,得到数据比较结果,据此对二级缓存108进行测试。
在具体实现过程中,除了将收到的存储数据和写入数据进行对比以外,比较模块106还可对分别从控制模块102和监听模块104收到的写入地址进行比较,得到地址比较结果,并结合上文所述的数据比较结果,来对二级缓存108进行测试。
接下来描述本发明测试装置各功能模块在读操作过程中的具体功能。
控制模块102用于通过总线112将读取地址发往二级缓存108,以及接收二级缓存108依据该读取地址找到的读取数据,并将该读取数据发往比较模块106。在具体实现过程中,控制模块102还可将上述读取地址发往比较模块106。
在具体实现过程中,控制模块102发出的读取地址在内容和发送方式上与现有技术中处理器内核发送给二级缓存108的读取地址相同。
二级缓存108接收读取地址并依据读取地址查找读取数据的具体技术内容已经在现有技术中做了清楚的描述,因此本文不再详细赘述。应注意,二级缓存108在查找读取数据时首先在自身存储的数据中查找对应的数据,若未找到对应的数据,则将从内存110中查找对应的数据。
监听模块104用于监听总线112,以获取控制模块102发往二级缓存108的读取地址,据此在内存110中读取对应的存储数据,然后将该存储数据发往比较模块106。在具体实现过程中,监听模块104还可将上述监听到的读取地址发往比较模块106。
比较模块106用于接收并对比控制模块102发出的读取数据和监听模块104发来的存储数据,得到数据比较结果,据此对二级缓存108进行测试。
在具体实现过程中,除了将收到的数据进行对比以外,比较模块106还可对分别从控制模块102和监听模块104收到的读取地址进行比较,得到地址比较结果,并结合上文所述的数据比较结果,来对二级缓存108进行测试。
本发明还提供了一种测试方法,下面就结合图2和图3对其进行详细描述。
图2是依据本发明一较佳实施例的测试方法200的流程图。测试方法200用于通过写操作来对二级缓存进行测试。如图2所示,方法200开始于步骤202。
随后,在下一步骤204,执行控制步骤,包括通过总线(例如但不限于AHB总线)向二级缓存发出写入地址和写入数据,以控制二级缓存依据所述写入地址将所述写入数据写入内存。
在具体实现过程中,控制步骤描述的内容与图1中控制模块在写操作过程中执行的操作相同。
随后,在下一步骤206,执行监听步骤,包括监听上述总线以获取所述写入地址,在预设等待时间过后,依据该写入地址在内存中读取对应的存储数据并发出。
在具体实现过程中,监测步骤描述的内容与图1中监测模块在写操作过程中执行的操作相同。
随后,在下一步骤208,执行比较步骤,包括对控制步骤中发出的写入数据和监听步骤中获取的存储数据进行比较,得到数据比较结果,据此对二级缓存进行测试。
在具体实现过程中,比较步骤描述的内容与图1中比较模块在写操作过程中执行的操作相同。
最后,方法200结束于步骤210。
图3是依据本发明一较佳实施例的测试方法300的流程图。测试方法300用于通过读操作来对二级缓存进行测试。如图3所示,方法300开始于步骤302。
随后,在下一步骤304,执行控制步骤,包括通过总线向二级缓存发出读取地址,以及接收所述二级缓存依据该读取地址找到的读取数据。
在具体实现过程中,控制步骤描述的内容与图1中控制模块在读操作过程中执行的操作相同。
随后,在下一步骤306,执行监听步骤,包括监听上述总线以获取所述读取地址,据此在内存中读取对应的存储数据并发出。
在具体实现过程中,监听步骤描述的内容与图1中监听模块在读操作过程中执行的操作相同。
随后,在下一步骤308,执行比较步骤,包括将控制步骤中得到的读取数据和监听步骤中得到的存储数据进行比较,得到数据比较结果,据此对二级缓存进行测试。
在具体实现过程中,比较步骤描述的内容与图1中比较模块在读操作过程中执行的操作相同。
最后,方法300结束于步骤310。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。