Browse Prior Art Database

ALU Operation for Addressing Arithmetic using Multiple Offset Sizes

IP.com Disclosure Number: IPCOM000038213D
Original Publication Date: 1989-Dec-01
Included in the Prior Art Database: 2005-Jan-31
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Funk, MR: AUTHOR [+4]

Abstract

ALU operations are used for address arithmetic where address arithmetic supports multiple size offsets and tests to ensure that an invalid address was not generated. Described is a single 32-bit signed or unsigned displacement, although smaller displacements are implemented by placing a sign or zeroes to extend these smaller displacements. Further, the 32-bit displacement is used because its size corresponds to the largest offset. The ALU operation is defined as an effective address calculation where the low order 32 bits of the virtual address are binary-added to the 32 bits representing a displacement. The result is a 48-bit virtual address.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

ALU Operation for Addressing Arithmetic using Multiple Offset Sizes

ALU operations are used for address arithmetic where address arithmetic supports multiple size offsets and tests to ensure that an invalid address was not generated. Described is a single 32-bit signed or unsigned displacement, although smaller displacements are implemented by placing a sign or zeroes to extend these smaller displacements. Further, the 32-bit displacement is used because its size corresponds to the largest offset. The ALU operation is defined as an effective address calculation where the low order 32 bits of the virtual address are binary-added to the 32 bits representing a displacement. The result is a 48-bit virtual address.

To control the type of overflow or underflow checking, two ALU operations are defined. One defines the displacement as unsigned, and the other defines it signed. The distinction is made by a type of instruction executed by a processor.

If the displacement is an unsigned or positive signed binary value, a test is conducted to assure that a carry did not occur out of an associated offset size or that a segment identifier was not altered. The test is as follows: - For a single segment address, a carry out of bit position 32 of the 48-bit virtual address or a displacement value with non-zero high order bits in the portion of the displacement in excess of the offset size results in effective address overflow exception. - For a segment group address, a carry out of bit position 24 of the 48-bit virtual add...