US5371872A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for controlling operation of a cache memory during an interrupt
Assignee: International Business Machines Corp
•
Filing: 1991-10-28
•
Granted: 1994-12-06
•
Expires: 2011-10-28
Abstract
Abstract The use of a high speed cache memory may be selectively controlled when a data processing task is interrupted in response to an interrupt signal, in order to prevent the interrupt from chilling the cache when insufficient performance enhancement will be realized. Disturbing the cache memory during performance of an interrupting task is prevented, thereby increasing the hit ratio of the cache when the interrupted task is resumed. Cache control information may be incorporated into a program status vector or program status word which is loaded into a program status register on occurrence of an interrupt.
Inventors
- 👤 Larry D. Larsen
- 👤 David W. Nuechterlein
- 👤 Kim E. O'Donnell
- 👤 Lee S. Rogers
- 👤 Thomas A. Sartorius
- 👤 Kenneth D. Schultz
- 👤 Harry I. Linzer
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 23:16
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0842; G06F9/00; G06F9/06; G06F9/46; G06F9/461
Claims Analysis
Total Claims: 32
Claim 1
Independent Claim
174 words
A data processing system comprising: main memory means for storing information therein at relatively low speed; cache memory means for storing information therein at relatively high speed; means for generating a hardware interrupt signal in response to a hardware interrupt; and processing means for performing data processing tasks, said processing means being operatively connected to said main memory means and said cache memory means, said processing means including hardware interrupt responsive cache controlling means, responsive to said hardware interrupt signal, for controlling said cache memory means to perform a first data processing task, and to suspend performance of said first data processing task and perform a second data processing task in response to said hardware interrupt signal, and for controlling information storing in at least part of said cache memory means during said second data processing task which is performed in response to said hardware interrupt signal, to prevent said part of said cache memory means from being disturbed during performance of said second data processing task in response to said hardware interrupt signal.
Claim 2
Dependent Claim
174 words
A data processing system comprising: main memory means for storing information therein at relatively low speed; cache memory means for storing information therein at relatively high speed; means for generating a hardware interrupt signal in response to a hardware interrupt; and processing means for performing data processing tasks, said processing means being operatively connected to said main memory means and said cache memory means, said processing means including hardware interrupt responsive cache controlling means, responsive to said hardware interrupt signal, for controlling said cache memory means to perform a first data processing task, and to suspend performance of said first data processing task and perform a second data processing task in response to said hardware interrupt signal, and for controlling information storing in at least part of said cache memory means during said second data processing task which is performed in response to said hardware interrupt signal, to prevent said part of said cache memory means from being disturbed during performance of said second data processing task in response to said hardware interrupt signal.
Claim 3
Dependent Claim
91 words
The data processing system of claim 1 wherein said interrupt responsive cache controlling means comprises: a program status word, associated with said second task, said program status word including cache control information therein; a program status word register for storing therein said program status word including said cache control information; wherein said hardware interrupt responsive cache controlling means is responsive to said cache control information in said program status word register, for controlling information storing in said part of said cache memory means during performance of said second data processing task.
Claim 4
Dependent Claim
133 words
The data processing system of claim 1 wherein said processing means further includes arithmetic and logic means and wherein hardware interrupt responsive cache controlling means comprises: interrupt controlling means for controlling said arithmetic and logic means to perform said first data processing task and to suspend performance of said first data processing task and perform a second data processing task in response to said interrupt signal; and cache controlling means, responsive to said interrupt controlling means, for controlling information storing in at least part of said cache memory means during said second data processing task which is performed in response to said hardware interrupt signal, to thereby prevent said part of said cache memory means from being disturbed during performance of said second data processing task in response to said hardware interrupt signal.
Claim 5
Dependent Claim
25 words
The data processing system of claim 3 wherein said cache controlling means comprises means for selectively preventing storing of data in said cache memory means.
Claim 6
Dependent Claim
25 words
The data processing system of claim 3 wherein said cache controlling means comprises means for selectively preventing storing of instructions in said cache memory means.
Claim 7
Dependent Claim
27 words
The data processing system of claim 3 wherein said cache controlling means comprises means for selectively preventing storing of instructions and data in said cache memory means.
Claim 8
Dependent Claim
25 words
The data processing system of claim 3 wherein said cache controlling means comprises means for selectively preventing overwriting of data in said cache memory means.
Claim 9
Dependent Claim
25 words
The data processing system of claim 3 wherein said cache controlling means comprises means for selectively preventing overwriting of instructions in said cache memory means.
Claim 10
Dependent Claim
27 words
The data processing system of claim 3 wherein said cache controlling means comprises means for selectively preventing overwriting of instructions and data in said cache memory means.
Claim 11
Dependent Claim
141 words
A cache control method for a data processing system which generates a hardware interrupt signal in response to a hardware interrupt, said data processing system including main memory for storing information therein at relatively low speed, and cache memory for storing information therein at relatively high speed, said cache control method comprising the steps of: performing a first data processing task; receiving a hardware interrupt signal; interrupting performance of the first data processing task to perform a second data processing task in response to the received hardware interrupt signal; preventing at least part of the cache memory from being disturbed during performance of the second data processing task; and resuming performance of the first data processing task after performing the second data processing task; whereby part of the cache memory is undisturbed when performance of the first data processing task resumes.
Claim 12
Dependent Claim
141 words
A cache control method for a data processing system which generates a hardware interrupt signal in response to a hardware interrupt, said data processing system including main memory for storing information therein at relatively low speed, and cache memory for storing information therein at relatively high speed, said cache control method comprising the steps of: performing a first data processing task; receiving a hardware interrupt signal; interrupting performance of the first data processing task to perform a second data processing task in response to the received hardware interrupt signal; preventing at least part of the cache memory from being disturbed during performance of the second data processing task; and resuming performance of the first data processing task after performing the second data processing task; whereby part of the cache memory is undisturbed when performance of the first data processing task resumes.
Claim 13
Dependent Claim
31 words
The cache control method of claim 10 wherein said preventing step comprises the step of preventing storing of data in the cache memory during performance of the second data processing task.
Claim 14
Dependent Claim
31 words
The cache control method of claim 10 wherein said preventing step comprises the step of preventing storing of instructions in the cache memory during performance of the second data processing task.
Claim 15
Dependent Claim
33 words
The cache control method of claim 10 wherein said preventing step comprises the step of preventing storing of instructions and data in the cache memory during performance of the second data processing task.
Claim 16
Dependent Claim
31 words
The cache control method of claim 10 wherein said preventing step comprises the step of preventing overwriting of data in the cache memory during performance of the second data processing task.
Claim 17
Dependent Claim
31 words
The cache control method of claim 10 wherein said preventing step comprises the step of preventing overwriting of instructions in the cache memory during performance of the second data processing task.
Claim 18
Dependent Claim
33 words
The cache control method of claim 10 wherein said preventing step comprises the step of preventing overwriting of instructions and data in the cache memory during performance of the second data processing task.
Claim 19
Dependent Claim
99 words
The cache control method of claim 10: wherein said performing step comprises the step of loading a first program status word, including cache control data, into a program status register; wherein said interrupting step comprises the step of loading a second program status word, including cache control data, into the program status register; wherein said preventing step comprises the step of controlling operation of the cache memory according to the cache control data in the second program status word; and wherein said resuming step comprises the step of reloading the first program status word into the program status register.
Claim 20
Dependent Claim
102 words
The cache control method of claim 10: wherein said performing step comprises the step of loading a first program status vector, including cache control data, into a program status vector register; wherein said interrupting step comprises the step of loading a second program status vector, including cache control data, into the program status vector register; wherein said preventing step comprises the step of controlling operation of the cache memory according to the cache control data in the second program status vector; and wherein said resuming step comprises the step of reloading the first program status vector into the program status vector register.
Claim 21
Dependent Claim
257 words
A cache control method for a data processing system including main memory for storing information therein at relatively low speed, and cache memory for storing information therein at relatively high speed, said cache control method comprising the steps of: performing a first data processing task; receiving an interrupt signal; interrupting performance of the first data processing task to perform a second data processing task in response to the received interrupt signal; preventing at least part of the cache memory from being disturbed during performance of the second data processing task; and resuming performance of the first data processing task after performing the second data processing task; wherein said performing step is preceded by the step of loading a plurality of program status words, each including cache control data, into a program status register; wherein said performing step comprises the step of performing the first data processing task according to the information in a first one of the program status words; wherein said interrupting step comprises the step of performing the second data processing task according to the information in a second one of the program status words; wherein said preventing step comprises the step of controlling operation of the cache memory according to the cache control data in the second program status word; and wherein said resuming step comprises the step of resuming performance of the first data processing task according to the information in the first program status word; whereby part of the cache memory is undisturbed when performance of the first data processing task resumes.
Claim 22
Dependent Claim
257 words
A cache control method for a data processing system including main memory for storing information therein at relatively low speed, and cache memory for storing information therein at relatively high speed, said cache control method comprising the steps of: performing a first data processing task; receiving an interrupt signal; interrupting performance of the first data processing task to perform a second data processing task in response to the received interrupt signal; preventing at least part of the cache memory from being disturbed during performance of the second data processing task; and resuming performance of the first data processing task after performing the second data processing task; wherein said performing step is preceded by the step of loading a plurality of program status words, each including cache control data, into a program status register; wherein said performing step comprises the step of performing the first data processing task according to the information in a first one of the program status words; wherein said interrupting step comprises the step of performing the second data processing task according to the information in a second one of the program status words; wherein said preventing step comprises the step of controlling operation of the cache memory according to the cache control data in the second program status word; and wherein said resuming step comprises the step of resuming performance of the first data processing task according to the information in the first program status word; whereby part of the cache memory is undisturbed when performance of the first data processing task resumes.
Claim 23
Dependent Claim
282 words
A data processing system comprising: main memory means for storing information therein at relatively low speed; cache memory means for storing information therein at relatively high speed; arithmetic and logic means operatively connected to said main memory means and said cache memory means; program status word storing means, for storing therein a program status word including status data and cache control data, corresponding to the status of a program during an interrupt; interrupt controlling means operatively connected to said arithmetic and logic means and to said program status word storing means, for controlling operation of said arithmetic and logic means in response to said status data during an interrupt; and cache controlling means, operatively connected to said cache memory means and to said program status word storing means, for controlling information storing in said cache memory means in response to said cache control data during an interrupt; wherein said program status word storing means comprises a program status vector register for storing a plurality of program status words therein, each of which is associated with a predetermined interrupt level, and each of which includes status data and cache control data for the associated interrupt level; wherein said interrupt controlling means is responsive to an interrupt at one of said predetermined interrupt levels, for controlling said arithmetic and logic means in response to the status data for the associated interrupt level; and wherein said cache controlling means controls information storing in said cache memory means in response to the cache control data for the associated interrupt level; whereby information storing in said cache memory means is selectively controlled during an interrupt in response to the contents of said program status word storing means.
Claim 24
Dependent Claim
282 words
A data processing system comprising: main memory means for storing information therein at relatively low speed; cache memory means for storing information therein at relatively high speed; arithmetic and logic means operatively connected to said main memory means and said cache memory means; program status word storing means, for storing therein a program status word including status data and cache control data, corresponding to the status of a program during an interrupt; interrupt controlling means operatively connected to said arithmetic and logic means and to said program status word storing means, for controlling operation of said arithmetic and logic means in response to said status data during an interrupt; and cache controlling means, operatively connected to said cache memory means and to said program status word storing means, for controlling information storing in said cache memory means in response to said cache control data during an interrupt; wherein said program status word storing means comprises a program status vector register for storing a plurality of program status words therein, each of which is associated with a predetermined interrupt level, and each of which includes status data and cache control data for the associated interrupt level; wherein said interrupt controlling means is responsive to an interrupt at one of said predetermined interrupt levels, for controlling said arithmetic and logic means in response to the status data for the associated interrupt level; and wherein said cache controlling means controls information storing in said cache memory means in response to the cache control data for the associated interrupt level; whereby information storing in said cache memory means is selectively controlled during an interrupt in response to the contents of said program status word storing means.
Claim 25
Dependent Claim
322 words
A data processing system comprising: main memory means for storing information therein at relatively low speed; cache memory means for storing information therein at relatively high speed; arithmetic and logic means operatively connected to said main memory means and said cache memory means; program status word storing means, for storing therein a program status word including status data and cache control data, corresponding to the status of a program during an interrupt; interrupt controlling means operatively connected to said arithmetic and logic means and to said program status word storing means, for controlling operation of said arithmetic and logic means in response to said status data during an interrupt; and cache controlling means, operatively connected to said cache memory means and to said program status word storing means, for controlling information storing in said cache memory means in response to said cache control data during an interrupt; wherein said data processing system comprises a multiple virtual machine data processing system; wherein said program status word storing means comprises program status vector register, for storing a plurality of program status words therein, each of which is associated with a predetermined interrupt level, and each of which includes status data and cache control data for the associated interrupt level; wherein said interrupt controlling means is responsive to an interrupt at one of said predetermined interrupt levels and for one of said multiple virtual machines, for storing a program status vector for said one virtual machine in said program status vector register, and for controlling said arithmetic and logic means in response to the status data for the associated interrupt level in said program status vector register; and wherein said cache controlling means controls information storing in said cache memory means in response to the associated cache control data; whereby information storing in said cache memory means is selectively controlled during an interrupt in response to the contents of said program status word strong means.
Claim 26
Dependent Claim
322 words
A data processing system comprising: main memory means for storing information therein at relatively low speed; cache memory means for storing information therein at relatively high speed; arithmetic and logic means operatively connected to said main memory means and said cache memory means; program status word storing means, for storing therein a program status word including status data and cache control data, corresponding to the status of a program during an interrupt; interrupt controlling means operatively connected to said arithmetic and logic means and to said program status word storing means, for controlling operation of said arithmetic and logic means in response to said status data during an interrupt; and cache controlling means, operatively connected to said cache memory means and to said program status word storing means, for controlling information storing in said cache memory means in response to said cache control data during an interrupt; wherein said data processing system comprises a multiple virtual machine data processing system; wherein said program status word storing means comprises program status vector register, for storing a plurality of program status words therein, each of which is associated with a predetermined interrupt level, and each of which includes status data and cache control data for the associated interrupt level; wherein said interrupt controlling means is responsive to an interrupt at one of said predetermined interrupt levels and for one of said multiple virtual machines, for storing a program status vector for said one virtual machine in said program status vector register, and for controlling said arithmetic and logic means in response to the status data for the associated interrupt level in said program status vector register; and wherein said cache controlling means controls information storing in said cache memory means in response to the associated cache control data; whereby information storing in said cache memory means is selectively controlled during an interrupt in response to the contents of said program status word strong means.
Claim 27
Dependent Claim
25 words
The data processing system of claim 20 wherein said cache control data comprises data for selectively preventing storing of data in said cache memory means.
Claim 28
Dependent Claim
25 words
The data processing system of claim 21 wherein said cache control data comprises data for selectively preventing storing of instructions in said cache memory means.
Claim 29
Dependent Claim
27 words
The data processing system of claim 20 wherein said cache control data comprises data for selectively preventing storing of instructions and data in said cache memory means.
Claim 30
Dependent Claim
25 words
The data processing system of claim 21 wherein said cache control data comprises data for selectively preventing overwriting of data in said cache memory means.
Claim 31
Dependent Claim
25 words
The data processing system of claim 20 wherein said cache control data comprises data for selectively preventing overwriting of instructions in said cache memory means.
Claim 32
Dependent Claim
27 words
The data processing system of claim 21 wherein said cache control data comprises data for selectively preventing overwriting of instructions and data in said cache memory means.
References Cited (Backward Citations)
US3827029A
Cited
US4001783A
Cited
US4028664A
Cited
US4075686A
Cited
US4357656A
Cited
US4190885A
Cited
US4386402A
Cited
US4426682A
Cited
US4504902A
Cited
US4635186A
Cited
US4730248A
Cited
US4823256A
Cited
US4811209A
Cited
US5014240A
Cited
US4864492A
Cited
US4814981A
Cited
US4881163A
Cited
US5091846A
Cited
US4887204A
Cited
US5091845A
Cited
US4831581A
Cited
US5119484A
Cited
US4833601A
Cited
US4896291A
Cited
US5129090A
Cited
US5146603A
Cited
US4930106A
Cited
US5060144A
Cited
US5163143A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-12-05 | 1998-06-06 | 1998-12-06 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-12-05 | 2002-06-06 | 2002-12-06 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-12-05 | 2006-06-06 | 2006-12-06 | $7700.00 | Window Closed / Lapsed |