IP Library Granted Patent US 7,272,751
Granted Patent B2
US 7,272,751 · App. 10/757,790 · Granted Sep 18, 2007

Error detection during processor idle cycles

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 7,272,751
App. No.
10/757,790
Granted
Sep 18, 2007
Kind
B2
Abstract

A method, apparatus, system, and signal-bearing medium that in an embodiment detect an event that will cause idle cycles in the processor and issue diagnostic instructions to the processor during the cycles that would be idle. In another embodiment, the processor is periodically interrupted and diagnostic instructions are issued to the processor, where the diagnostic instructions are selected based on a history of activity at the processor and a log of previous errors at the processor. In this way, errors may be detected at the processor without undue cost and impact on performance.

Claims (22)

1. A method comprising:

detecting an event that would cause cycles to be idle in a processor;

selecting diagnostic instructions based on a number of the cycles that would be idle;

issuing the diagnostic instructions to the processor during the cycles that would be idle, wherein the issuing further comprises using initial values in a first diagnostic instruction and incrementing operands of respective next diagnostic instructions, wherein the respective next diagnostic instructions use output of respective previous instructions as input;

if the diagnostic instructions partially complete during the cycles that would be idle, saving an intermediate result and retrieving the intermediate result on a next idle cycle sequence; and

comparing a final result of the diagnostic instructions with a pre-computed result “upon completion of the diagnostic instructions”.

2. The method of claim 1 , wherein the event comprises a cache miss.

3. The method of claim 1 , wherein the event comprises a task switch.

4. An apparatus comprising:

means for detecting an event that would cause cycles to be idle in a processor;

means for selecting diagnostic instructions based on a number of the cycles that would be idle;

means for issuing the diagnostic instructions to the processor during the cycles that would be idle, wherein the means for issuing further comprises means for using initial values in a first diagnostic instruction and incrementing operands of respective next diagnostic instructions, wherein the respective next diagnostic instructions use output of respective previous instructions as input;

means for saving an intermediate result and retrieving the intermediate result on a next idle cycle sequence if the diagnostic instructions partially complete during the cycles that would be idle; and

means for comparing a final result of the diagnostic instructions with a pro-computed result “upon completion of the diagnostic instructions”.

5. A processor comprising:

an issue unit to detect an event that would cause cycles to be idle in the processor and issue diagnostic instructions during the cycles that would be idle to a pipeline, wherein a first diagnostic instruction uses initial values;

an increment unit to increment operands of respective next diagnostic instructions, wherein the respective next diagnostic instructions use output of respective previous instructions as input;

a write back unit to save an intermediate result of the diagnostic instructions and retrieve the intermediate result on a next idle cycle sequence if the diagnostic instructions partially complete during the cycles that would be idle; and

a compare unit to compare the pro-computed result with a final result of the diagnostic instructions “upon completion of the diagnostic instructions”.

6. The processor of claim 5 , wherein the issue unit is further to select the diagnostic instructions based on a number of the cycles.

7. The processor of claim 5 , wherein the event comprises a cache miss.

8. The processor of claim 5 , wherein the event comprises a task switch.

Assignments (3)
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044142/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GOOGLE INC.
Reel/Frame 026664/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2004
From: BEACOM, THOMAS J.; LUICK, DAVID A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014907/0901 →