Browse Prior Art Database

Storage Reference by Absolute Address

IP.com Disclosure Number: IPCOM000110845D
Original Publication Date: 1994-Jan-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 4 page(s) / 166K

Publishing Venue

IBM

Related People

Hennessy, JP: AUTHOR [+2]

Abstract

For IBM Enterprise Systems Architecture/370* and Enterprise Systems Architecture/390* programs, a method is described whereby storage at any given absolute address may be referenced by an identical virtual address, without interference from the machine prefixing function in a multiprocessor environment. Since references to certain addresses are affected by the prefixing operation which takes place on each CPU, CPU-specific dynamic-address-translation tables are implemented. To allow each CPU to have a local version of the ASN-Second-Table entry (ASTE), a copy of the ASTE containing a CPU-specific segment-table designation is placed into the prefix storage area of each CPU. This allows each CPU to select the proper DAT tables automatically from the same access-list-entry token and access list.

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

Storage Reference by Absolute Address

      For IBM Enterprise Systems Architecture/370* and Enterprise
Systems Architecture/390* programs, a method is described whereby
storage at any given absolute address may be referenced by an
identical virtual address, without interference from the machine
prefixing function in a multiprocessor environment.  Since references
to certain addresses are affected by the prefixing operation which
takes place on each CPU, CPU-specific dynamic-address-translation
tables are implemented.  To allow each CPU to have a local version of
the ASN-Second-Table entry (ASTE), a copy of the ASTE containing a
CPU-specific segment-table designation is placed into the prefix
storage area of each CPU.  This allows each CPU to select the proper
DAT tables automatically from the same access-list-entry token and
access list.

      Refer to the IBM Enterprise Systems Architecture/390 Principles
of Operation, Chapters 3 and 5, for definitions and explanations of:
virtual address, real address, absolute address, Dynamic Address
Translation (DAT), segment table, Segment-Table Entry (STE), page
table, Page-Table Entry (PTE), prefixing, prefix register,
Segment-Table Designation (STD), Access-Register Translation (ART),
access list, Access-List Entry (ALE), Access-List-Entry Token (ALET),
ASN-Second-Table Entry (ASTE).

      This invention permits storage reference by absolute address in
programs running with DAT enabled on IBM Enterprise Systems
Architecture/ 370 (ESA/370) and IBM Enterprise Systems
Architecture/390 (ESA/390) processors, including multiprocessor
complexes in which each Central Processing Unit (CPU) has a different
value in its prefix register.  Such references can be made
concurrently with references to ordinary virtual addresses in
pageable address spaces, and the absolute-address references will
succeed using the same ALET and access list even if the program is
interrupted and resumed on another CPU.

      This problem is solved by creating a separate
"absolute-mapping" address-space definition for each CPU, and
arranging for the correct mapping to be selected automatically for
instructions executing on each CPU.  This solution encompasses the
following aspects:

      Building absolute-mapping address spaces - To implement the
absolute-mapping address space, a separate DAT segment table is
allocated for each CPU.  In each of these tables, all but two
Segment-Table Entries (STEs) designate page tables which effect an
identity mapping.  The two exceptions, for which CPU-unique page
tables are allocated, are for the segment containing addresses 0-4095
and the segment containing the address range identified by the
individual CPU's prefix value.  Again, each of these two CPU-unique
page tables has all its Page-Table Entries (PTEs) effecting an
identity mapping except the one which designates the special range
(0-4095 or the prefix-area address range); those two PTEs designate
the prefix...