Browse Prior Art Database

MLID Addressing

IP.com Disclosure Number: IPCOM000043399D
Original Publication Date: 1984-Aug-01
Included in the Prior Art Database: 2005-Feb-04
Document File: 3 page(s) / 52K

Publishing Venue

IBM

Related People

Barber, JA: AUTHOR [+5]

Abstract

In order to provide increased speed and additional capabilities for an existing computer system architecture, such as the IBM System/34, a new instruction, called the Multi-Level Indirect-Displaced (MLID) instruction is provided. This instruction should follow one which has determined an address and fetched the data at that address. The address of this access and the fetched data are inputs to the MLID instruction (Fig. 1). The new instruction will select either the address or the fetched data, add the displacement to it to create a new address, and then access the appropriate storage to retrieve the data at that address. The result of the new instruction will be a calculated address and the associated data.

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

Page 1 of 3

MLID Addressing

In order to provide increased speed and additional capabilities for an existing computer system architecture, such as the IBM System/34, a new instruction, called the Multi-Level Indirect-Displaced (MLID) instruction is provided. This instruction should follow one which has determined an address and fetched the data at that address. The address of this access and the fetched data are inputs to the MLID instruction (Fig. 1). The new instruction will select either the address or the fetched data, add the displacement to it to create a new address, and then access the appropriate storage to retrieve the data at that address. The result of the new instruction will be a calculated address and the associated data. These can be input to either another occurrence of the MLID instruction or into an operation to be performed with the final data or address. Fig. 1 summarizes the MLID action. The net effect of this is that each execution of the new instruction gives either: 1. an additional displacement on the address and a data fetch, or 2. an indirect-displaced address calculation and storage access. To understand the MLID instruction in the S/34 context, it is necessary to understand the Base-Displacement (BD) instruction, an enhancement to the S/34 Control Store Processor (CSP) instruction set. The base-displacement capability is provided by redefining op code '3' to carry out a base plus displacement address calculation and access of the appropriate storage. This acts as a prefix to another instruction which will execute in a slightly modified fashion. In particular, the instruction will select either the BD Address Register (containing the address calculated by the BD instruction) or the BD Data Register (containing the data fetched from that address) in place of a work register selection for an address or data. Fig. 2 shows the definition of the bits in a BD instruction. The operation of this instruction includes selecting a base register 50 (Fig. 3) from among the 8 work registers. Then, the contents of register 50 are added to the displacement value to develop the effective address which is used to access either Control Store (CS) 15 or Main Store (MS) 10. Finally, the effective address and the fetched data are stored in the BD Address Register (BDAR) 60 and the BD Data Register (BDDR) 70, respectively. The instruction following the BD instruction can now generally select the BDAR or BDDR in place of a work register containing an address or data.

Figs. 4 and 5 illustrate the general forms of the instruction which will execute in a modified fashion after a BD instruction. Any instruction which is not defined for use after the BD instruction will execute normally. The marked field (<< >>) indicates that the field has a different meaning depending upon whether or not it follows a BD instruction. The example in Fig. 6 shows a Logical/Arithmetic 2-Byte instruction that does an Add of the work register WR1 80 with either th...