IP Library Patent Application 14262793
Patent Application
App. No. 14/262,793

TESTING OPERATION OF MULTI-THREADED PROCESSOR HAVING SHARED RESOURCES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/262,793
Abstract

A method of testing simultaneous multi-threaded operation of a shared execution resource in a processor includes running test patterns including irritator threads and non-irritator threads that try to simultaneously use the shared execution resource. Synchronizing the starts of the access of the irritator threads and the non-irritator threads to the shared execution resource includes the initial instructions of the irritator thread disabling execution of the irritator thread using a thread management register, and the initial instructions of the non-irritator thread enabling the irritator thread using the thread management register and starting execution of the non-irritator thread. Ending access to the shared execution resource includes the irritator thread communicating to the non-irritator thread an address of an end of the irritator thread loop, and the non-irritator thread moving the irritator thread out of the loop using thread restart.

Claims (30)

1 . A method of testing simultaneous multi-threaded (SMT) functioning of a shared execution resource in a processor, the method comprising:

running test patterns including irritator threads and non-irritator threads that simultaneously access the shared execution resource;

comparing results of the test patterns with expected results;

providing instructions for the irritator threads and the non-irritator threads; and

synchronizing the starts of the access of the irritator threads and the non-irritator threads to the shared execution resource, including the initial instructions of the irritator thread disabling execution of the irritator thread using a thread management register, and the initial instructions of the non-irritator thread enabling the irritator thread using the thread management register and starting execution of the non-irritator thread.

2 . The method of claim 1 , wherein the instructions of the irritator thread run in a loop.

3 . The method of claim 2 , wherein the test patterns of the non-irritator thread include more instructions than the irritator thread.

4 . The method of claim 2 , wherein ending access to the shared execution resource includes the irritator thread communicating to the non-irritator thread an address of an end of the irritator thread loop at compile time, and the non-irritator thread moving the irritator thread out of the loop using thread restart.

5 . The method of claim 4 , wherein ending access to the shared execution resource includes the non-irritator thread stopping the irritator thread using the thread management register.

6 . The method of claim 4 , wherein the steps of disabling the irritator thread, enabling the irritator thread, and moving the irritator thread out of the loop include writing data respectively in a thread enable clear register, in a thread enable set register, and in a next instruction register.

7 . A tester for testing simultaneous multi-threaded (SMT) operation of a process having a shared execution resource, wherein the tester runs test patterns including irritator threads and non-irritator threads that simultaneously access the shared execution resource, the tester comprising:

a comparison module that compares results of the test patterns with expected results; and

an instruction generator that selects instructions from instruction lists for the irritator and non-irritator threads for the shared execution resource, wherein the instruction generator includes:

a synchronizer synchronizing the starts of the access of the irritator threads and the non-irritator threads to the shared execution resource, the synchronizer providing initial instructions in the irritator thread disabling execution of the irritator thread using a thread management register, and providing initial instructions in the non-irritator thread enabling the irritator thread using the thread management register and starting execution of the non-irritator thread.

8 . The tester of claim 7 , wherein the instruction generator includes:

a configuration validation module that validates the configuration of instructions for the irritator and non-irritator threads;

a control parameter module that defines control parameters for the irritator and non-irritator threads; and

a coverage setup module that defines a coverage setup.

9 . The tester of claim 7 , wherein the instruction generator includes:

a prologue module that provides the initial instructions in the irritator thread and the non-irritator thread;

an epilogue module that adds an epilogue to the irritator thread defining a move of the irritator thread out of a loop; and

an irritator kill module that adds an instruction to the non-irritator thread to stop the irritator thread using the epilogue, the thread management register and thread restart.

10 . A non-transitory computer-readable storage medium storing instructions that, when executed by an automatic test equipment (ATE), cause the ATE to test simultaneous multi-threaded (SMT) functioning of a shared execution resource in a processor, the method comprising running test patterns including irritator threads and non-irritator threads that simultaneously access the shared execution resource, and comparing results of the test patterns with expected results, the test patterns including:

loading instructions for the irritator threads and the non-irritator threads; and

synchronizing the starts of the access of the irritator threads and the non-irritator threads to the shared execution resource, including the initial instructions of the irritator thread disabling execution of the irritator thread using a thread management register, and the initial instructions of the non-irritator thread enabling the irritator thread using the thread management register and starting execution of the non-irritator thread.

11 . The non-transitory computer-readable storage medium of claim 10 , wherein the instructions of the irritator thread run in a loop.

12 . The non-transitory computer-readable storage medium of claim 11 , wherein the test patterns of the non-irritator thread include more instructions than the irritator thread.

13 . The non-transitory computer-readable storage medium of claim 11 , wherein ending access to the shared execution resource includes the irritator thread communicating to the non-irritator thread an address of an end of the irritator thread loop at compile time, and the non-irritator thread moving the irritator thread out of the loop using thread restart.

14 . The non-transitory computer-readable storage medium of claim 13 , wherein ending access to the shared execution resource includes the non-irritator thread stopping the irritator thread using the thread management register.

15 . The non-transitory computer-readable storage medium of claim 13 , wherein the steps of disabling the irritator thread, enabling the irritator thread, and moving the irritator thread out of the loop include writing data respectively in a thread enable clear register, in a thread enable set register, and in a next instruction register.

Assignments (24)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 14/258,829 AND REPLACE ITWITH 14/258,629 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0082. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OFSECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0332 →
CORRECTIVE ASSIGNMENT OF INCORRECT APPLICATION 14/258,829 PREVIOUSLY RECORDED ON REEL 037444 FRAME 0109. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Aug 10, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039639/0208 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0109 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0082 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0903 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0293 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033460/0337 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Aug 1, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033462/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2014
From: AGGARWAL, PUNEET; CHOUHAN, VIKAS; SUBRAMANIAM, ESWARAN
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 032763/0975 →