Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of verifying an operation of a processor, the method comprising: specifying a model dependent item on which different test instruction sequences occur in processors of different models with the same logic specifications; generating a random number by using a random number generation algorithm; generating a test instruction based on both the model dependent item and the random number; executing, by a software simulator, the test instruction; obtaining an expectation value from a result of the executed test instruction; obtaining a result value of the test instruction executed by the processor; and comparing, by a verification processor, the obtained expectation value with the obtained result value to determine a match or mismatch between the expectation value and the result value.
2. The method according to claim 1 , wherein, the test instruction includes an instruction that sets an access order for a first operand and a second operand when the processor executes a move instruction including the first operand and the second operand.
3. The method according to claim 2 , wherein the executing of the test instruction includes, determining whether or not an exception condition is present for the first operand; determining whether or not the first operand is the first operand in the operand access order; and when the exception condition is present and the first operand is the first operand, simulating an access exception for the first operand.
4. The method according to claim 1 , wherein, the test instruction includes an instruction that sets an order of occurrence of exceptions when the processor executes a division instruction in which a data format of operands is specified.
5. The method according to claim 4 , wherein the plurality of exceptions include at least one of a data exception that occurs when a data format of an operand serving as a divisor is different from the specified data format, a division exception that occurs when the divisor is 0, and an access exception that occurs when storage access to a memory in which an operand serving as a divisor is stored is not permitted.
6. The method according to claim 1 , wherein, the test instruction includes an instruction that sets whether or not to permit a processor to write back data stored in a memory by the other processor when the other processor executes exclusive control with the processor.
7. The method according to claim 1 , wherein the processor executes a comparison instruction for comparing, for each byte, first bytes contained in first data stored in a cache memory connected to the processor and is to be executed by the processor with second bytes contained in second data stored in a memory connected to the processor, and when the first bytes and the second bytes have a different byte, the test instruction sequence includes an instruction sequence that recognizes whether or not an access exception that occurs when storage access to the memory is not permitted is set for the remaining first bytes and second bytes on which the comparison instruction has not been executed.
8. An apparatus for verifying an operation of a first processor, the apparatus comprising: a memory; and a second processor coupled to the memory and configured to: specify a model dependent item on which different test instruction sequences occur in processors of different models with the same logic specifications; generate a random number by using a random number generation algorithm; generate a test instruction based on both the model dependent item and the random number; execute, with a software simulator, the test instruction to obtain an expectation value from a result of the executed test instruction; obtain a result value of the test instruction which is executed by the first processor; and compare the expectation value with the result value.
9. The apparatus according to claim 8 , wherein, the test instruction includes an instruction that sets an access order for a first operand and a second operand when the first processor executes a move instruction including the first operand and the second operand.
10. The apparatus according to claim 8 , wherein, the test instruction includes an instruction that sets an order of occurrence of exceptions when the processor executes a division instruction in which a data format of operands is specified.
11. The apparatus according to claim 10 , wherein the plurality of exceptions include at least one of a data exception that occurs when a data format of an operand serving as a divisor is different from the specified data format, a division exception that occurs when the divisor is 0, and an access exception that occurs when storage access to a memory in which an operand serving as a divisor is stored is not permitted.
12. The apparatus according to claim 8 , wherein, the test instruction includes an instruction that sets whether or not to permit a processor to write back data stored in a memory by the other processor when the other processor executes exclusive control with the processor.
13. The apparatus according to claim 8 , wherein the processor executes a comparison instruction for comparing, for each byte, first bytes contained in first data stored in a cache memory connected to the processor and is to be executed by the processor with second bytes contained in second data stored in a memory connected to the processor, and when the first bytes and the second bytes have a different byte, the test instruction sequence includes an instruction sequence that recognizes whether or not an access exception that occurs when storage access to the memory is not permitted is set for the remaining first bytes and second bytes on which the comparison instruction has not been executed.
14. A computer-readable, non-transitory medium storing a program that causes a second processor to execute a procedure for controlling an apparatus for verifying an operation of a first processor, the procedure comprising: specifying a model dependent item on which different test instruction sequences occur in processors of different models with the same logic specifications; generating a random number by using a random number generation algorithm; generating a test instruction based on both the model dependent item and the random number; executing, using a software simulator, the test instruction to an expectation value from a result of the executed test instruction; obtaining a result value of the test instruction which is executed by the first processor; and comparing the expectation value with the result value.
15. The computer-readable, non-transitory medium according to claim 14 , wherein, the test instruction includes an instruction that sets an access order for a first operand and a second operand when the first processor executes a move instruction including the first operand and the second operand.
16. The computer-readable, non-transitory medium according to claim 14 , wherein, the test instruction includes an instruction that sets an order of occurrence of exceptions when the processor executes a division instruction in which a data format of operands is specified.
17. The computer-readable, non-transitory medium according to claim 16 , wherein the plurality of exceptions include at least one of a data exception that occurs when a data format of an operand serving as a divisor is different from the specified data format, a division exception that occurs when the divisor is 0, and an access exception that occurs when storage access to a memory in which an operand serving as a divisor is stored is not permitted.
18. The computer-readable, non-transitory medium according to claim 14 , wherein, the test instruction includes an instruction that sets whether or not to permit a processor to write back data stored in a memory by the other processor when the other processor executes exclusive control with the processor.
19. The computer-readable, non-transitory medium according to claim 14 , wherein the processor executes a comparison instruction for comparing, for each byte, first bytes contained in first data stored in a cache memory connected to the processor and is to be executed by the processor with second bytes contained in second data stored in a memory connected to the processor, and when the first bytes and the second bytes have a different byte, the test instruction sequence includes an instruction sequence that recognizes whether or not an access exception that occurs when storage access to the memory is not permitted is set for the remaining first bytes and second bytes on which the comparison instruction has not been executed.
Unknown
April 22, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.