EP0250876A2

Apparatus and method for page replacement in a data-processing system having a virtual memory.

Abstract

In a multiprocessor, multiprogrammed data processing system employing virtual addressing, apparatus and method are provided for selecting a page frame in main memory to be replaced by a new page of logic signal groups required by a processor. Rather than utilize a algorithm implemented in a series of logical decisions determined by a software procedure, the present invention provides for a single instruction that uses the status signals included with a page descriptor to address an entry in a table of resulting status signals. The relationship between the status signals and the table entries implements the algorithm. The table with entries of resulting status signals is associated with the instruction and is stored in the processor when the instruction is prepared for execution by the processor. The resulting status signals are stored with the page descriptor. The resulting status signals are analysed by a software procedure, the software procedure implementing the page replacement and executing other activity indicated by the resulting status signals.

EP0250876A2, drawing sheet 1
Sheet 1 of 4

Term

Term ended

Projected expiry passed 27 May 2007, 19.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

19 claims: 4 independent, 15 dependent

  1. 1
    In a data processing system in which each of a plurality of memory locations has a plurality of status signals associated therewith, apparatus for determining new status signals resulting from applying an algorithm to said status signals, comprising:an instruction for executing said algorithm, said instruction storing said new status signals therein;a first storage unit for storing said status signals;a second storage unit for storing said new status signals in a table;and addressing apparatus responsive to said instruction for using said stored status signals to address an entry in said table configuration, a relation between said stored status signals and said table configuration entry implementing said algorithm.
  2. 2
    The apparatus for determining new status signals of Claim 1 wherein said status signals are associated with a page frame of data, said algorithm identifying when a page frame of data can be replaced with a new page frame of data.
  3. 3
    The apparatus for determining new status signals of Claim 2 further including apparatus responsive to selected new status signals for replacing said page frame of data associated with said stored status signals with a new page frame of data.
  4. 4
    The apparatus for determining new status signals of Claim 2 wherein a first of said status signals related to usage of said associated page frame of data and a second of said status signals relates to modification of said associated page frame of data.
  5. 5
    In a data processing system, a method of determining when to replace a page frame in a main memory of said data processing system comprising the steps of:retrieving a first instruction from main memory to perform said replacement determination, said first instruction having associated therewith groups of status signals;storing said first instruction status signal groups in a table;retrieving a page descriptor associated with a selected page frame;using status signals associated with said descriptor to access an entry in said instruction status signal table;and identifying when said accessed instruction status signal group indicates said associated page frame can be replaced.
  6. 6
    The method of determining when to replace a page frame of Claim 5 further comprising the step of replacing said status signals with said instruction table entry in said descriptor.
  7. 7
    The method of determining when to replace a page frame of Claim 5 further comprising the step of retrieving a descriptor that has not been examined for replacement for the longest period of time when the retrieved page descriptor is not suitable for replacement.
  8. 8
    The method of determining when to replace a page frame of Claim 5 further including the step of associating said status signals with usage, validity and modification of said page frame.
  9. 9
    In a data processing system having page frames storing data in a main memory unit, apparatus in a processor for determining when a page of data signals can be replaced comprising:retrieval apparatus associated with said processor for retrieving an instruction, said instruction including a plurality of entries, wherein said plurality of entries is stored in said processor, said retrieval apparatus for retrieving at least a preselected field of a descriptor associated with a one of said data signal pages, wherein said preselected field of said descriptor is stored in said processor;addressing apparatus responsive to a preselected field of said store selected descriptor field for forming an address field, said addressing apparatus using said address field to address a predetermined one of entries, said predetermined entry being a replacement descriptor field;and decision apparatus responsive to said replacement field for providing a signal to said processor indicating when a data signal page can be replaced.
  10. 10
    The page replacement apparatus of Claim 9 further including apparatus for storing said replacement field in said descriptor in main memory.
  11. 11
    The page replacement apparatus of Claim 9 wherein said retrieving apparatus at least a preselected field of a next descriptor when said decision apparatus indicates that the data page field can not be replaced.
  12. 12
    The page replacement apparatus of Claim 11 wherein said next descriptor is the descriptor that has not had said at least one field replaced for the longest interval.
  13. 13
    The page replacement apparatus of Claim 9 wherein said at least one field includes a plurality of status signals, a one of said status signals signifying use of said data signal page.
  14. 14
    The page replacement apparatus of Claim 10 wherein said portion of main memory storing said descriptor is made unavailable to a remainder of said data processing system during activity of said instruction.
  15. 15
    In a data processing system, an instruction for causing a processor to determine if a selected page frame can be replaced without intervention of a software program comprising:a first field;a second field, said first field causing said processor to retrieve and to store therein at least a first field of a descriptor associated with said page frame, a location of said descriptor being identified by said second field;and a third field including a plurality entries, said third field being stored in said processor, said first field causing said processor to select a one of said instruction entries, said selected entry determining when said associated page frame is to be replaced.
  16. 16
    The instruction for determination of a replacement of a page frame of Claim 15 wherein said selected entry is a replacement field for said first descriptor field, said replacement field being stored with said descriptor in said main memory.
  17. 17
    The instruction for determination of a replacement of a page frame of Claim 15 wherein said first descriptor field includes a multiplicity of logic signals defining a status of said page frame.
  18. 18
    The instruction for determination of a replacement of a page frame of Claim 17 wherein said status signals are indicative of a validity of data in said page frame, are indicative of use of said page frame and are indicative of modification of said page frame.
  19. 19
    The instruction for determination of a replacement of a page frame of Claim 15 wherein said instruction entries are stored in a memory unit, said first field causing said said processor to select an address in said memory unit determined by logic signals in said first descriptor field.
Independent claims19