Browse Prior Art Database

Arrangement for Dynamic Address Translation

IP.com Disclosure Number: IPCOM000076899D
Original Publication Date: 1972-May-01
Included in the Prior Art Database: 2005-Feb-24
Document File: 3 page(s) / 40K

Publishing Venue

IBM

Related People

Tsui, F: AUTHOR [+2]

Abstract

A logical address referring to a virtual memory location consists of a segment address part AS, a page address part AP, and a byte address part AB. Of these, AS and AP are to be translated into a real page address AN. Concatenation of AN and AB gives the physical address of a byte in main memory. The known dynamic address translation (DAT) procedure uses a segment table and a number of page tables, all stored in main memory, and, therefore, requires two additive address calculations and main memory accesses for a translation.

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 52% of the total text.

Page 1 of 3

Arrangement for Dynamic Address Translation

A logical address referring to a virtual memory location consists of a segment address part AS, a page address part AP, and a byte address part AB. Of these, AS and AP are to be translated into a real page address AN. Concatenation of AN and AB gives the physical address of a byte in main memory. The known dynamic address translation (DAT) procedure uses a segment table and a number of page tables, all stored in main memory, and, therefore, requires two additive address calculations and main memory accesses for a translation.

The proposed arrangement uses a single translation table stored in an associative memory of special design (Fig. 1). A word in the memory contains a logical page address part ALP, a filling code, a reference code, a "change" and a "current usage" bit, a key, an BAC code, a translation factor AX, and a real page address AN.

In the ALP part, the full logical page address to be translated, i.e., AS and AP (Fig. 2), is stored. The filling code part is used to provide a mapping of the filling status of main memory. This part of the associative memory incorporates a hard- wired binary "grapevine" structure in which bits F1, F2, F4, etc., are set to "1" to indicate that a block of a given size is "occupied" when a part of the block is filled. Associative inquiry of the filling code allows usable space for a single page or for 2, 4 or more contiguous pages to be rapidly located. The reference code part resembles the filling code part and also contains the "grapevine" structure. Its latches are set to 1 when a word is referenced, i.e., accessed for read or write. By associative inquiry of the reference code, a block which is occupied but has not been referenced (and hence is to be preferred for replacement) can be rapidly located. The "change" bit is used to indicate that a page has been written into and should preferably not be replaced as long as an unchanged page is available, in order that the writing back into the external store of the page being replaced is saved. Associative inquiry of the filling and reference codes and the "change" bit, allows usable space in blocks of contiguous pages to be rapidly found and located for new filling or repl...