US5317745A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Minimal interrupt latency scheme using multiple program counters
Assignee: IXYS Intl Ltd
•
Filing: 1992-01-10
•
Granted: 1994-05-31
•
Expires: 2012-01-10
Abstract
Abstract A method and apparatus for using multiple program counters to reduce the latency time of a computer in response to an interrupt or subroutine call using a memory with multiple memory locations for storing the multiple program counters and control means in order to choose which one of the memory locations is used as a current program counter. Additionally, the use of a memory location to store the starting address of the interrupt subroutine is also disclosed.
Inventors
- 👤 Stephen H. Chan
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 22:16
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30098; G06F9/30101; G06F9/32; G06F9/321; G06F9/46; G06F9/461; G06F9/462
Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
76 words
A program counter apparatus for reducing the latency time of a computer in response to an interrupt, said apparatus comprising: a memory having memory locations, wherein a general program counter value is located at one of said memory locations and alternate program counter values are located at a number of other of said memory locations; and control means connected to said memory for controlling which one of said memory locations contains the current program counter value.
Claim 2
Dependent Claim
76 words
A program counter apparatus for reducing the latency time of a computer in response to an interrupt, said apparatus comprising: a memory having memory locations, wherein a general program counter value is located at one of said memory locations and alternate program counter values are located at a number of other of said memory locations; and control means connected to said memory for controlling which one of said memory locations contains the current program counter value.
Claim 3
Dependent Claim
46 words
The apparatus in claim 1, wherein said control means includes a control logic unit and an incrementor, said incrementor connected to said memory and said control logic unit, wherein said incrementor increments the current program counter value, and wherein said control logic unit controls the incrementor.
Claim 4
Dependent Claim
68 words
(New) The apparatus of claim 2, wherein said memory includes at least one interrupt subroutine starting address memory location that stores an interrupt subroutine starting address and said control means includes means for putting the interrupt subroutine starting address from said interrupt subroutine starting address memory location to the incrementor to be incremented and then placing the incremented value into one of said alternate program counter value locations.
Claim 5
Dependent Claim
51 words
The apparatus in claim 1, wherein said control means is connected to a number of interrupt devices which are designed to send interrupt signals to the control means and wherein said control means includes means for using said interrupt signals to select which memory location contains the current program counter value.
Claim 6
Independent Claim
210 words
A method for reducing the latency time of a computer in response to interrupts from interrupt devices, said computer including a memory with a plurality of memory locations, said method comprising the steps of: (a) establishing a general program counter value located at a first of said memory locations in said memory, establishing alternate program counter values associated with the interrupt devices, said alternate program counter values located at other memory locations in said memory and setting the location of the current program counter value as the first memory location containing the general program counter value; (b) prioritizing the interrupts received from the interrupt devices to choose one of the interrupt devices to be serviced by executing its associated subroutine; (c) a switching the location of the current program counter value from the first memory location containing the general program counter value to another memory location containing the alternate program counter value associated with the chosen interrupt device; (d) thereafter, executing the interrupt subroutine associated with the chosen interrupt device; and (e) subsequently, switching the location of the current program counter value back from the another memory location containing the alternate program counter value associated with the chosen interrupt device to the first memory location containing the general program counter.
Claim 7
Independent Claim
210 words
A method for reducing the latency time of a computer in response to interrupts from interrupt devices, said computer including a memory with a plurality of memory locations, said method comprising the steps of: (a) establishing a general program counter value located at a first of said memory locations in said memory, establishing alternate program counter values associated with the interrupt devices, said alternate program counter values located at other memory locations in said memory and setting the location of the current program counter value as the first memory location containing the general program counter value; (b) prioritizing the interrupts received from the interrupt devices to choose one of the interrupt devices to be serviced by executing its associated subroutine; (c) a switching the location of the current program counter value from the first memory location containing the general program counter value to another memory location containing the alternate program counter value associated with the chosen interrupt device; (d) thereafter, executing the interrupt subroutine associated with the chosen interrupt device; and (e) subsequently, switching the location of the current program counter value back from the another memory location containing the alternate program counter value associated with the chosen interrupt device to the first memory location containing the general program counter.
Claim 8
Dependent Claim
51 words
The method of claim 5, wherein step (c) includes the additional step of getting an interrupt subroutine starting address from the memory, incrementing this starting address, and placing the incremented value in the another memory location to be used as the alternate program counter value associated with the chosen interrupt device.
Claim 9
Dependent Claim
43 words
The method of claim 5, said method further comprising the following step after step (c) but before step (e): determining whether to service a second interrupt device including prioritizing the interrupts received from interrupt devices and comparing them to the chosen interrupt device.
Claim 10
Dependent Claim
63 words
The method of claim 7, wherein the additional step of determining whether to service a second interrupt device includes the step of not allowing a service to the second interrupt device unless the interrupt subroutine associated with the chosen interrupt device enables the service of the second interrupt device and the second interrupt device has a greater priority than the chosen interrupt device.
Claim 11
Dependent Claim
119 words
The method of claim 7, further comprising the following steps in order after the determining step: switching the location of the current program counter value from the another memory location containing the alternate program counter value associated with the chosen interrupt device to yet another memory location containing a second alternate program counter value associated with the chosen second interrupt device; executing the interrupt subroutine associated with the chosen second interrupt device; switching the location of the current program counter value back from the yet another memory location containing the second alternate program counter value associated with the chosen second interrupt device to the another memory location containing the alternate program counter value associated with the chosen interrupt device.
Claim 12
Dependent Claim
77 words
A program counter apparatus for reducing the latency time of a computer in response to a subroutine call, said apparatus comprising: a memory having memory locations, wherein a general program counter value is located at one of said memory locations and alternate program counter values are located at a number of other of said memory locations; and control means connected to said memory for controlling which one of said memory locations contains the current program counter value.
Claim 13
Dependent Claim
77 words
A program counter apparatus for reducing the latency time of a computer in response to a subroutine call, said apparatus comprising: a memory having memory locations, wherein a general program counter value is located at one of said memory locations and alternate program counter values are located at a number of other of said memory locations; and control means connected to said memory for controlling which one of said memory locations contains the current program counter value.
Claim 14
Dependent Claim
67 words
The apparatus in claim 10, wherein said control means includes means for selecting one of said alternate program counter values to be used as the current program counter value in response to a subroutine call from an Instruction Decode/Execute unit and means for selecting the general program counter value to be used as the current program counter value when said Instruction Decode/Execute unit finishes executing the subroutine.
Claim 15
Dependent Claim
46 words
The apparatus in claim 10, wherein said control means includes a control logic unit and an incrementor, said incrementor connected to said memory and said control logic unit, wherein said incrementor increments the current program counter value, and wherein said control logic unit controls the incrementor.
Claim 16
Dependent Claim
63 words
The apparatus of claim 12, wherein said memory includes at least one subroutine starting address memory location that stores a subroutine starting address and said control means includes means for putting the subroutine starting address from said subroutine starting address memory location to the incrementor to be incremented and then placing the incremented value into one of said alternate program counter value locations.
Claim 17
Dependent Claim
27 words
The apparatus of claim 13, wherein said memory includes a first port connected to said control means and a second port connected to an Instruction Decode/Execute unit.
References Cited (Backward Citations)
US5123094A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-05-30 | 1997-11-29 | 1998-05-31 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-05-30 | 2001-11-29 | 2002-05-31 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-05-30 | 2005-11-29 | 2006-05-31 | $7700.00 | Window Closed / Lapsed |