Browse Prior Art Database

Early Exception Detection on Store with Convert

IP.com Disclosure Number: IPCOM000109535D
Original Publication Date: 1992-Sep-01
Included in the Prior Art Database: 2005-Mar-24
Document File: 2 page(s) / 86K

Publishing Venue

IBM

Related People

Beacom, TJ: AUTHOR [+4]

Abstract

This invention speeds up floating point (FP) store with convert operations. Store with convert operation converts double precision FP operand into a single precision and stores it in memory. Hardware for each floating point arithmetic operation checks in the first cycle for the possibility of the result of that operation causing an exception if used as the operand of a subsequent store with convert. The result of this check is carried down the pipe with the operation. Also, hardware for the store with convert function checks if its operand will come from an operation still in the pipeline and, if found, examines the result of the first cycle checks.

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

Early Exception Detection on Store with Convert

       This invention speeds up floating point (FP) store with
convert operations.  Store with convert operation converts double
precision FP operand into a single precision and stores it in memory.
Hardware for each floating point arithmetic operation checks in the
first cycle for the possibility of the result of that operation
causing an exception if used as the operand of a subsequent store
with convert.  The result of this check is carried down the pipe with
the operation.  Also, hardware for the store with convert function
checks if its operand will come from an operation still in the
pipeline and, if found, examines the result of the first cycle
checks.

      As soon as an operation and operands are available, some bounds
may be placed on the result that will be produced.  At this point, it
may not be known that this result will be part of a subsequent store
but that may be assumed to be the case.  It can be determined whether
there is any possibility that when the result is produced, if it were
to be the operand of a subsequent "store with convert," it would not
cause an exception.  This information is then saved and the
instruction stream is inspected for a "store with convert" that will
use this result as a source.  The instruction stream is only held up
if there is a "store with convert" and, based on the previous
operation and operands, there is a possibility of an exception on the
store.  If there...