Browse Prior Art Database

Profiling Technique for Memory References within Individual Pages on Paging Based Virtual Memory Systems

IP.com Disclosure Number: IPCOM000109356D
Original Publication Date: 1992-Aug-01
Included in the Prior Art Database: 2005-Mar-24
Document File: 6 page(s) / 290K

Publishing Venue

IBM

Related People

Christopher, KW: AUTHOR [+3]

Abstract

Described is a computer system software facility for profiling all memory references to individual pages on systems which use paging to manage virtual memory. The facility provides a means of monitoring multiple pages in physical memory and to report the memory reference patterns within each individual page.

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

Profiling Technique for Memory References within Individual Pages on Paging Based Virtual Memory Systems

       Described is a computer system software facility for
profiling all memory references to individual pages on systems which
use paging to manage virtual memory.     The facility provides a
means of monitoring multiple pages in physical memory and to report
the memory reference patterns within each individual page.

      Typically, virtual memory systems are associated with computer
systems that have the capability of addressing a memory space much
larger than is available in the primary storage of the system.  The
key to the virtual memory concept is the disassociation of memory
addresses referenced by a process from those used in the physical
memory of the system.  Generally, the addresses referenced by a
process are called virtual addresses and the addresses used by the
physical memory are called physical addresses.  The range of virtual
addresses in which a process may reference is called the process'
virtual address space.  Since the virtual address space, as seen by a
process, is much larger than the limited amount of physical memory
installed in the system, the virtual address space is divided into
smaller blocks.  Each of the blocks, when in use by a process,
correspond to a certain block of the same size in physical memory.
Since the amount of physical memory is limited, the blocks that are
not in use will be kept on disk and not in the system memory.  As
the process executes, it will reference different blocks and the
blocks will be brought into memory dynamically. To make room for new
blocks to be brought into the limited physical memory, some blocks
that are no longer in use by the process might be swapped out to
disk.  Thus, the operating system must keep track of where in
physical memory the various memory blocks have been placed.

      On paging systems, when a memory-reference instruction is
executed by the processor, the virtual address specified by the
instruction must be converted to a physical address.  This address
translation is normally performed through a set of tables called page
directory and page tables.  Fig. 1 shows an address translation on a
typical paging system.  Typically, the architecture of a processor's
virtual address consists of three components: a directory entry
number, a page number and an offset.  To determine the physical
address corresponding to a virtual address, the processor first
accesses a system register which contains the starting physical
address of the page directory.  The directory entry number specified
in the virtual address is then added to this starting address to find
out the physical starting address of a page table.  Next, the page
number, also specified in the virtual address, is added to the page
table's starting address to determine the starting physical address
of the page frame memory.  Finally, the last component in the virtual
address...