Browse Prior Art Database

Synchronized Page Fault And Page Cross Detection

IP.com Disclosure Number: IPCOM000101895D
Original Publication Date: 1990-Sep-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 2 page(s) / 87K

Publishing Venue

IBM

Related People

Funk, MR: AUTHOR [+4]

Abstract

This article describes a hardware scheme which assists a processor in handling Page Faults. It solves the problem where a Page Fault occurs in the middle of an operand, causing the entire instruction to restart. This invention results in an overall increase in processor performance.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Synchronized Page Fault And Page Cross Detection

       This article describes a hardware scheme which assists a
processor in handling Page Faults.  It solves the problem where a
Page Fault occurs in the middle of an operand, causing the entire
instruction to restart.  This invention results in an overall
increase in processor performance.

      A Page Fault is the condition which occurs when bytes of an
operand on a specific page are required for an instruction, but that
page is not resident in main storage. When an attempt is made to
access the operand, the hardware and the microprogram must inform the
operating system that this Page Fault has occurred.

      During the execution of a processor instruction, an operand may
cross a page boundary (see the figure).  In this case, it is possible
that one or both portions of that operand are on pages which are not
resident in main storage at the time the instruction executes (pages
A and B).  A scenario exists where both pages are not resident in
main storage.  In this case, the system first handles a Page Fault on
Page A.  Some time later, when the processor attempts to access the
part of the operand in Page B, a second Page Fault will occur.  After
that Page Fault is handled, the instruction restarts and Page A is
once again accessed.  It may again be non-resident, causing yet
another Page Fault.  This results in system performance degradation.
In the case where the number of bytes in Page A is much larger than
the number of bytes in Page B, the performance loss becomes even more
considerable.  Both pages must be resident in main storage before the
instruction will execute completely.

      The method described above for reporting Page Faults on a
processor is an asynchronous reporting method.  The system responds
to the second Page Fault only when it is reported, which by then is
too late.  Many machine cycles have been used, only to be repeated
again.

      This article describes a more efficient method of handling
operands that cross page boundaries where one or both of the pages
may not be resident in main storage.

      The first part of this algorithm is to allow a P...