Browse Prior Art Database

General Purpose Register Extension

IP.com Disclosure Number: IPCOM000052947D
Original Publication Date: 1981-Aug-01
Included in the Prior Art Database: 2005-Feb-12
Document File: 2 page(s) / 34K

Publishing Venue

IBM

Related People

Desai, SM: AUTHOR

Abstract

IBM System/370 architecture defines 16 general purpose registers (GPRs). At present, the IBM processors provide only 16 GPRs in the hardware. When during the course of a program a programmer needs more GPRs, he stores the contents of either some of them or all of them, reuses the GPRs, and restores them later. This is done quite often when changing sub-routines. All this storing and restoring causes added activity in the storage, thus degrading performance.

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

Page 1 of 2

General Purpose Register Extension

IBM System/370 architecture defines 16 general purpose registers (GPRs). At present, the IBM processors provide only 16 GPRs in the hardware. When during the course of a program a programmer needs more GPRs, he stores the contents of either some of them or all of them, reuses the GPRs, and restores them later. This is done quite often when changing sub-routines. All this storing and restoring causes added activity in the storage, thus degrading performance.

The new scheme is shown in Fig. 1A. The hardware will have 16 sets of 16 GPRs each. The sets (numbered 0 through F) will be address able by GPR Index Number (GIN). GIN will be set by the programmer with an instruction ``SET GIN''. Fig. 1B shows the instruction format. The instruction will set a byte of data, either from storage location B2D2 or from the immediate fields of the instruction, into a hardware register called GPR Index Register (GIR). Fig. 1C shows a GIR.

The GIR is a one-byte register. The right half of GIR will be the GIN currently in use. The left half will hold the value of ``Last GIN'' (LGIN). The GIR will be set to zero (00) at SYSTEM RESET time or at IPL (Initial Program Load) time. Thus, the Control Programs not containing the new instructions will still be compatible and will only work with GPR set 0.

The operation of the ``SET GIN'' can be defined as follows. A byte of data either from storage location indicated by B2D2 or from the immediate fields of th...