Method and System for Building a Self-Generating Test Program for Multiprocessor Systems
Original Publication Date: 2010-Feb-02
Included in the Prior Art Database: 2010-Feb-02
A method and system for creating pools of self-generating test cases for multiprocessor systems is disclosed. The pools of self-generating test cases help in eliminating long build times in testcase generation in the multiprocessor systems.
Method and System for Building a Self -Generating Test Program for Multiprocessor Systems
A method and system is disclosed for creating pools of self-generating test cases for multiprocessor systems thereby eliminating long build times in testcase generation in the multiprocessor systems.
An exponential increase in the complexities of the multiprocessor systems poses a challenge in
an area of processor verification. In addition, the necessity of testing the multiprocessor systems is proving to be critical. The processors of the multiprocessor systems are verified by executing test cases on the processor. The generation of these test cases requires time. This time is known as build time. The build time increases proportionally with the increase in number of processors. Therefore, the elimination of the build time is important in processor verification.
The method as disclosed enables creating pools of self-generating test cases for multiprocessor systems thereby eliminating long build times in the multiprocessor systems. Each pool of test cases contains all data structures required for self-generation of test cases. This helps in ensuring the independent functioning of all the pools in the multiprocessor systems. In a scenario, any pool may be scheduled to execute on any processor of the multiprocessor systems. A processor, during the course of execution of the test case, may interrupt a pool. Based on the interrupt, another test case in the pool is self-generated for the processor. In another scenario, a self-generated test case may execute on a processor and may self-generate another test case for the processor without interrupt from the processor. Upon completion of the execution of the current test case of a pool on a processor, the pool may be re-scheduled on the same processor or another processor of the multiprocessor systems. Further, the self-generated test case executes and in-turn self-generates another test case.
Fig. 1 depicts an overall architecture of the pools used for self-generating test cases for the
processors of the multiprocessor systems. As depicted in Fig. 1, the architecture contains 'n'
number of pools labeled Pool 1 to Pool n. Each pool is populated with 'm' number of test cases labeled T1 to Tm. In addition, each pool contains a test program information table depicted as Info table in the Fig. 1, and an instruction-grouping table (not shown in Fig. 1). The multiprocessor system architecture also contains 'k' number of processors or CPUs labeled CPU 1 to CPU k that execute the test cases that are self-generated by the pools. The number of pools are greater than the number of processors. This ensures that at any given time a processor need not remain idle waiting for a pool to be scheduled for the processor. The execution of test cases on the processors is explained in conjunction with Fi...