← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag