Browse Prior Art Database

Folding Resolution of a Case Block into a Case-Block-Table

IP.com Disclosure Number: IPCOM000104787D
Original Publication Date: 1993-May-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 1 page(s) / 37K

Publishing Venue

IBM

Related People

Emma, PG: AUTHOR [+2]

Abstract

Disclosed is a design that includes in a Case Block Table entry, the resolution of the Case Block.

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

Folding Resolution of a Case Block into a Case-Block-Table

      Disclosed is a design that includes in a Case Block Table
entry, the resolution of the Case Block.

      A Case Block is a high-level language branching construct
commonly used to implement a multi-way branch, based on the value of
an operand (i.e., a Case Block Variable (CBV)).  Each Case Block
contains a sequence of conditional branches that test the value of
the CBV.  Based on the value of the CBV, a particular address in the
Case Block is branched to (this address is referred to as the
beginning of a subcase).

      A Case Block Table is a hardware mechanism that provides for
efficient resolution of this sequence of conditional branches, by
providing the beginning address of the appropriate subcase as
determined by the value of the CBV.  The Case Block Table effectively
"folds" the execution of the Case Block resolution into a single
unconditional branch.

      Each subcase typically contains a single assignment statement,
setting the value of a variable which is called the Case Block
Operand (CBO).  The CBO is typically the same for all subcases within
a Case Block.  To increase the amount of folding achieved by a Case
Block Table the the setting the CBO within a CBT entry should be
performed.

      The BEGIN_CASE instruction is modified to include a new field.
The field contains the address of the CBO.  The CBT is modified to
contain the value of the CBO that corresponds to...