IP Library Granted Patent US 10,248,488
Granted Patent B2
US 10,248,488 · App. 14/983,026 · Granted Apr 2, 2019

Fault tolerance and detection by replication of input data and evaluating a packed data execution result

Inventors: Elmoustapha Ould-Ahmed-Vall (Chandler, AZ); Suleyman Sair (Chandler, AZ); Kshitij A. Doshi (Chandler, AZ); Charles R. Yount (Phoenix, AZ)
Assignee: Intel Corporation
G06F11/079G06F9/3001G06F9/30036G06F9/3861G06F9/455G06F11/0745G06F11/0751G06F11/0772G06F11/1629G06F11/1641G06F9/30189G06F9/30196G06F9/3889G06F11/1608G06F15/8007
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 10,248,488
App. No.
14/983,026
Granted
Apr 2, 2019
Kind
B2
Abstract

Systems, methods, and apparatuses for fault tolerance and detection are described. For example, an apparatus including circuitry to replicate input sources of an instruction; arithmetic logic unit (ALU) circuitry to execute the instruction with replicated input sources using single instruction, multiple data (SIMD) hardware to produce a packed data result; and comparison circuitry coupled to the ALU circuitry to evaluate the packed data result and output a singular data result into a destination of the instruction is described.

Claims (27)

1. An apparatus comprising:

circuitry to replicate input sources of a scalar arithmetic instruction, wherein an opcode of the scalar arithmetic instruction is to indicate the use of using single instruction, multiple data (SIMD) hardware;

arithmetic logic unit (ALU) circuitry to execute the scalar arithmetic instruction with replicated input sources using the SIMD hardware to produce a packed data result; and

comparison circuitry coupled to the ALU circuitry to evaluate the packed data result and output a singular data result into a destination of the scalar arithmetic instruction, wherein the singular data result is to be stored as a scalar in a least significant data element of a packed data destination register.

2. The apparatus of claim 1 , wherein the inputs sources are scalar.

3. The apparatus of claim 1 , wherein the comparison circuitry is to vote on a majority result to output.

4. The apparatus of claim 3 , wherein the comparison circuitry is to output a signal indicating agreement or disagreement of the vote.

5. The apparatus of claim 1 , wherein the comparison circuitry is to output an indication of a fault when there is a fault.

6. A method comprising:

decoding a scalar arithmetic instruction;

replicating source data of the decoded scalar arithmetic instruction;

executing the decoded scalar arithmetic instruction using the replicated data to produce a packed data result; and

storing a singular data result from the packed data result, wherein the singular data result is to be stored as a scalar in a least significant data element of a packed data destination register.

7. The method of claim 6 , wherein the instruction is a scalar instruction, further comprising:

mapping the decoded instruction to a single instruction, multiple data (SIMD) instruction.

8. The method of claim 6 , wherein the instruction is a single instruction, multiple data (SIMD) instruction.

9. The method of claim 6 , further comprising:

determining that there is a fault; and

output a signal indicating the fault.

10. The method of claim 6 , further comprising:

determining the packed data result is tolerable; and

output a signal indicating agreement.

11. The method of claim 6 , further comprising:

determining the packed data result is not tolerable; and

output a signal indicating disagreement.

12. The method of claim 6 , wherein replicating source data of the decoded instruction comprises duplicating the source data into at least one packed data register.

13. The method of claim 6 , wherein replicating source data of the decoded instruction comprises routing the source data to execution hardware.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2018
From: OULD-AHMED-VALL, ELMOUSTAPHA; SAIR, SULEYMAN; DOSHI, KSHITIJ A.; YOUNT, CHARLES A.
To: INTEL CORPORATION
Reel/Frame 046977/0071 →
Continuity (1)
Related Publication 20170185465A1 · Jun 29, 2017
Cited By (1)
US 12,579,016