IP Library Granted Patent US 7,321,945
Granted Patent B2
US 7,321,945 · App. 10/811,410 · Granted Jan 22, 2008

Interrupt control device sending data to a processor at an optimized time

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,321,945
App. No.
10/811,410
Granted
Jan 22, 2008
Kind
B2
Abstract

An interrupt control device for issuing interrupts to a central processing unit (CPU) includes an object acquiring unit for acquiring data or resource(s) for use by the CPU and an interrupt issuing unit for issuing interrupts to the CPU. The interrupt issuing unit issues each interrupt to the CPU before the object acquiring unit actually acquires the data or the resource, but the interrupt indicates that the data or the resource is available. The interrupt control device further includes a use delay unit for delaying the use of the data or resource by the CPU unit until the object acquiring unit acquires the data or the resource if the CPU which has received the interrupt requests the use of the data or the resource before the object acquiring unit acquires the data or the resource. By adjusting the exact timing of the issuance of the interrupt according to the actual delays experienced by the CPU, the overall delays associated with interrupt handling are minimized.

Claims (31)

1. An interrupt control device for issuing interrupts to a central processing unit, comprising:

an object acquiring unit for acquiring data for use by said central processing unit;

an interrupt issuing unit for issuing an interrupt to said central processing unit before said object acquiring unit acquires said data, after a predetermined setup period elapses from when a data generation device generating said data starts to generate said data, wherein said data generation device generates a plurality of data segments, wherein said object acquiring unit sequentially acquires said plurality of data segments for use by said central processing unit, and wherein said interrupt issuing unit issues an interrupt to said central processing unit before said object acquiring unit acquires each of said plurality of data segments, each said interrupt indicating that the respective one of said plurality of data segments has become available; and

a use delay unit for delaying use of said data by said central processing unit until said object acquiring unit acquires said data if said central processing unit which has received said interrupt requests use of said data before said object acquiring unit acquires said data,

a time difference measuring unit for measuring a time difference between when said object acquiring unit acquires said data and when said central processing unit which has received said interrupt requests use of said data, wherein said time difference measuring unit measures, for each of said plurality of data segments, a time difference between when said object acquiring unit acquires said data segment and when said central processing unit which has received said interrupt requests use of said data segment; and

a setup period change unit for changing said predetermined setup period according to said time difference, wherein said setup period change unit changes said setup period according to the time differences measured by said time difference measuring unit.

2. The interrupt control device according to claim 1 , wherein said setup period change unit changes said setup period according to an average of the time differences measured by said time difference measuring unit.

3. The interrupt control device according to claim 2 , wherein said setup period change unit changes said setup period to make said average a predetermined small value, said predetermined small value being small compared to an average time between an interrupt being issued and said central processing unit which has received said interrupt requesting use of said data segment.

4. The interrupt control device according to claim 1 , wherein said setup period change unit changes said setup period to cause an average value of a distribution of said time differences measured by said time difference measuring unit to become substantially zero.

5. The interrupt control device according to claim 4 , wherein said setup period change unit changes said setup period to make a predetermined percentage of said time differences less than or equal to a predetermined value, wherein said predetermined value is approximately zero.

6. An information processing device comprising a central processing unit and an interrupt control device that issues an interrupt to said central processing unit, wherein said interrupt control device comprises:

an object acquiring unit for acquiring data for use by said central processing unit;

an interrupt issuing unit for issuing an interrupt to said central processing unit before said object acquiring unit acquires said data, after a predetermined setup period elapses from when a data generation device generating said data starts to generate said data, wherein said data generation device generates a plurality of data segments, wherein said object acquiring unit sequentially acquires said plurality of data segments for use by said central processing unit, and wherein said interrupt issuing unit issues an interrupt to said central processing unit before said object acquiring unit acquires each of said plurality of data segments, each said interrupt indicating that the respective one of said plurality of data segments has become available

a use delay unit for delaying use of said data by said central processing unit until said object acquiring unit acquires said data if said central processing unit which has received said interrupt requests use of said data before said object acquiring unit acquires said data,

a time difference measuring unit for measuring a time difference between when said object acquiring unit acquires said data and when said central processing unit which has received said interrupt requests use of said data, wherein said time difference measuring unit measures, for each of said plurality of data segments, a time difference between when said object acquiring unit acquires said data segment and when said central processing unit which has received said interrupt requests use of said data segment; and

a setup period change unit for changing said predetermined setup period according to said time difference, wherein said setup period change unit changes said setup period according to the time differences measured by said time difference measuring unit.

7. The information processing device according to claim 6 , wherein said setup period change unit changes said setup period according to an average of the time differences measured by said time difference measuring unit.

8. The information processing device according to claim 7 , wherein said setup period change unit changes said setup period to make said average a predetermined small value, said predetermined small value being small compared to an average time between an interrupt being issued and said central processing unit which has received said interrupt requesting use of said data segment.

9. The information processing device according to claim 6 , wherein said setup period change unit changes said setup period to cause an average value of a distribution of said time differences measured by said time difference measuring unit to become substantially zero.

10. The information processing device according to claim 9 , wherein said setup period change unit changes said setup period to make a predetermined percentage of said time differences less than or equal to a predetermined value, wherein said predetermined value is approximately zero.

11. A method comprising:

generating a plurality of data segments within a data generation device;

sequentially acquiring said plurality data segments within an object acquiring unit for use within a central processing unit;

issuing an interrupt for each of said plurality of data segments from an interrupt issuing unit within an interrupt control device to a central processing unit after a predetermined setup period elapses from when said data generation device starts to generate said plurality of data segments, and before said object acquiring unit acquires each of said plurality of data segments; wherein each said interrupt indicates that one of said data segments has become available;

delaying use of said data by said central processing unit until said object acquiring unit acquires said data if said central processing unit, having received said interrupt, requests use of said data before said object acquiring unit acquires said data;

measuring a time difference between when said object acquiring unit acquires said data and when said central processing unit, having received said interrupt requests use of said data, wherein, for each of said plurality of data segments, a time difference is measured between when said object acquiring unit acquires said data segment and when said central processing unit which has received said interrupt requests use of said data segment; and

changing said predetermined setup period according to said time difference, wherein said setup period is changed according to the time differences measured between when said object acquiring unit acquires said data segment and when said central processing unit which has received said interrupt requests use of said data segment.

12. The method according to claim 11 , wherein said setup period is changed according to an average of the time differences measured by said time difference measuring unit.

13. The method according to claim 12 , wherein said setup period is changed to make said average a predetermined small value, said predetermined small value being small compared to an average time between an interrupt being issued and said central processing unit, having received said interrupt, requesting use of said data segment.

14. The method according to claim 11 , wherein said setup period is changed to cause an average value of a distribution of said time differences measured by said time difference measuring unit to become substantially zero.

15. The method according to claim 14 , wherein said setup period is changed to make a predetermined percentage of said time differences less than or equal to a predetermined value, wherein said predetermined value is approximately zero.

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Nov 25, 2015
From: LENOVO (SINGAPORE) PTE LTD.
To: LENOVO PC INTERNATIONAL
Reel/Frame 037160/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2008
From: LAKKIS, ISMAIL
To: PULSE-LINK, INC.
Reel/Frame 020671/0597 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2005
From: LAKKIS, ISMAIL
To: PULSE~LINK, INC.
Reel/Frame 016627/0399 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2005
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO (SINGAPORE) PTE LTD.
Reel/Frame 016891/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2004
From: KATAOKA, TOSHIHIKO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014851/0070 →