IP Library › Granted Patent US 11,609,761
Granted Patent B2
US 11,609,761 · App. 16/708,261 · Granted Mar 21, 2023

Inline data inspection for workload simplification

Inventors: Jeffrey Michael Pool (Durham, NC); Andrew Kerr (San Francisco, CA); John Tran (Denver, CO); Ming Y. Siu (Santa Clara, CA); Stuart Oberman (Sunnyvale, CA)
Assignee: NVIDIA CORPORATION
G06F9/30043G06F9/3001G06F9/30094G06F9/30145G06F9/30098
View Patent ↗
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 11,609,761
App. No.
16/708,261
Granted
Mar 21, 2023
Kind
B2
Abstract

A method, computer readable medium, and processor are described herein for inline data inspection by using a decoder to decode a load instruction, including a signal to cause a circuit in a processor to indicate whether data loaded by a load instruction exceeds a threshold value. Moreover, an indication of whether data loaded by a load instruction exceeds a threshold value may be stored.

Claims (38)

1. A processor, comprising:

one or more circuits to cause a load instruction to be performed only if data to be loaded by the load instruction exceeds a threshold value.

2. The processor of claim 1 , further comprises a load/store unit that receives the load instruction, and an inspection circuit that is coupled to the load/store unit.

3. The processor of claim 2 , wherein the inspection circuit determines whether the data exceeds the threshold value.

4. The processor of claim 3 , wherein the inspection circuit transmits, based on a comparison of the data with the threshold value, the data and a signal to the load/store unit, wherein the signal is a predicate signal and wherein the load/store unit stores a predicate value according to the predicate signal.

5. The processor of claim 4 , wherein a functional unit discards the data and stores the predicate value.

6. The processor of claim 1 , wherein decoding of the load instruction causes the one or more circuits in the processor to compare the data with the threshold value.

7. The processor of claim 1 , wherein a second instruction follows the load instruction in a sequence of instructions for execution by the processor, wherein the second instruction is associated with a signal.

8. The processor of claim 7 , wherein a portion of instructions in the sequence of instructions immediately after the second instruction are not executed by the processor based at least in part on the signal.

9. A method, comprising:

using one or more circuits to cause a load instruction to be performed only if data to be loaded by the load instruction exceeds a threshold value.

10. The method of claim 9 , further comprising receiving the load instruction at a load/store unit.

11. The method of claim 10 , further comprising:

causing an inspection circuit, coupled to the load/store unit, to determine whether the data exceeds the threshold value.

12. The method of claim 11 , wherein the inspection circuit detects whether the data has a characteristic, wherein the characteristic indicates a value of the data.

13. The method of claim 12 , further comprising transmitting, from at least one of the one or more circuits, the data and a signal, wherein the signal indicates the characteristic of the data to the load/store unit.

14. The method of claim 9 , wherein decoding of the load instruction causes a comparison of the data with the threshold value.

15. A tangible, non-transitory machine-readable medium having stored thereon an instruction, which as a result of being performed by a processor, causes the processor to at least:

use one or more circuits to cause a load instruction to be performed only if data to be loaded by the load instruction exceeds a threshold value.

16. The tangible, non-transitory machine-readable medium of claim 15 , wherein the load instruction is received at a load/store unit.

17. The tangible, non-transitory machine-readable medium of claim 16 , wherein decoding of the load instruction causes the processor to compare the data with the threshold value.

18. The tangible, non-transitory machine-readable medium of claim 15 , wherein the instruction further causes the processor to at least:

execute a second instruction that follows the load instruction in a sequence of instructions for execution by the processor based at least in part on information about an indication.

19. The tangible, non-transitory machine-readable medium of claim 18 , wherein a portion of instructions in the sequence of instructions immediately after the second instruction are not executed by the processor based at least in part on the indication.

20. A parallel processing unit, comprising:

one or more circuits to cause a load instruction to be performed only if data to be loaded by the load instruction exceeds a threshold value.

21. The parallel processing unit of claim 20 , wherein the load instruction is received by a load/store unit.

22. The parallel processing unit of claim 21 , wherein a signal indicates that the data exceeds the threshold value.

23. The parallel processing unit of claim 21 , wherein the load/store unit receives the data and a signal from an inspection circuit.

24. The parallel processing unit of claim 23 , wherein a functional unit discards the data by not storing the data in a destination register.

25. The parallel processing unit of claim 20 , wherein decoding of the load instruction causes the one or more circuits in the processor to compare the data with the threshold value.

26. A system, comprising:

one or more computers having one or more processors to:

cause a load instruction to be performed only if data to be loaded by the load instruction exceeds a threshold value.

27. The system of claim 26 , wherein the one or more processors are further to receive the load instruction and decode the load instruction at a load/store unit.

28. The system of claim 27 , wherein the decoding of the load instruction causes the one or more processors to compare the data with the threshold value.

29. The system of claim 26 , wherein the one or more processors are further to insert information about an indication into a second instruction that follows the load instruction in a sequence of instructions for execution by the processor of the one or more processors.

30. The system of claim 29 , wherein a portion of instructions in the sequence of instructions immediately after the second instruction are not executed by the processor of the one or more processors based at least in part on the indication.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2019
From: POOL, JEFFREY MICHAEL; KERR, ANDREW; TRAN, JOHN; SIU, MING Y.; OBERMAN, STUART
To: NVIDIA CORPORATION
Reel/Frame 051222/0498 →
Continuity (2)
Continuation 15693345 · Aug 31, 2017
Related Publication 20200125363A1 · Apr 23, 2020