Browse Prior Art Database

Virtual to Absolute Address Conversion

IP.com Disclosure Number: IPCOM000073427D
Original Publication Date: 1970-Dec-01
Included in the Prior Art Database: 2005-Feb-22
Document File: 4 page(s) / 53K

Publishing Venue

IBM

Related People

Herin, FE: AUTHOR [+3]

Abstract

Virtual addressing allows the programmer to view the available storage as essentially contiguous, although the system may be composed of high-speed storage (an example is monolithic buffer) and bulk storage (example disk). This description assumes that the total storage consists of not more than 64K bytes for which a two byte address is sufficient.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 41% of the total text.

Page 1 of 4

Virtual to Absolute Address Conversion

Virtual addressing allows the programmer to view the available storage as essentially contiguous, although the system may be composed of high-speed storage (an example is monolithic buffer) and bulk storage (example disk). This description assumes that the total storage consists of not more than 64K bytes for which a two byte address is sufficient.

A fundamental concept of virtual addressing is the page, which may be defined as a block of 256 consecutive bytes. All pages are located in the bulk storage but are moved to and executed from the high-speed storage. For that reason a page which contains instructions or data has to be moved from the bulk storage to the high-speed storage before it can be executed or altered. At a given time, the high-speed storage may contain a number of pages, the number stored being limited only by the actual size of high-speed storage. Some further definitions are: 1) Virtual Address is the two byte storage address referencing up to 64K bytes. 2) Virtual Page Number is the high-order byte of Virtual Address. 3) Absolute Page Number is the high-order byte of the high-speed storage address.

Each reference to high-speed storage (either for an instruction or for data) is made by replacing a Virtual Page Number with an Absolute Page Number. This replacement of a Virtual Page Number with an Absolute Page Number to form a high-speed storage address occurs via an association table in high-speed storage. The association table of previous systems contains a virtual page number for each absolute page number in the high-speed storage. For example, the association table for a system with 8K bytes of high-speed storage contains 32 virtual page numbers. The table is scanned to determine the proper absolute page number. If the referenced page is not residing in the high-speed storage, (i.e., if the virtual page number is not in the association table) a program interrupt occurs and the required page is moved from the bulk storage into the high-speed storage. In the following description of the system, it is assumed that an instruction can address up to 64K bytes of virtual storage.

This virtual storage is organized into 256-byte pages, so there are at most 256 virtual pages. The association table has a two-byte entry for each virtual page. Therefore, 512 bytes have to be reserved for the association table. If only 32K bytes of virtual storage are used, the association table has 256 bytes. Each entry in the association table is defined in the following way: ABSOLUTE PAGE NO. V W R L

Entry Bits 0 - - - - - - 7 8 9 10 11 12
13 14 15. where V - is the valid bit, indicating that the page is in high speed storage at the location given by the absolute page number contained in bits 0-7. This bit is set by the disk program at the completion of the successful read and is reset at the time of setting read bit.

W - is the write bit, indicating that this page has to be transferred from high-sp...