Browse Prior Art Database

Logical Operation under Mask

IP.com Disclosure Number: IPCOM000113157D
Original Publication Date: 1994-Jul-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 8 page(s) / 173K

Publishing Venue

IBM

Related People

Findley, RL: AUTHOR [+3]

Abstract

Sample AND operation performed on an arbitrary field in A with the data in the same field in B. The data (A & B) must first be masked off with a generated mask (Mask 1). This data is then ANDed together to produce the desired intermediate result. The data in A must now be masked with Mask 2 (the inverse of Mask 1), whose result may now be merged with the previous intermediate result to produce the desired result.

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

Logical Operation under Mask

      Sample AND operation performed on an arbitrary
field in A with the data in the same field in B.  The data (A & B)
must first be masked off with a generated mask (Mask 1).  This data
is then ANDed together to produce the desired intermediate result.
The data in A must now be masked with Mask 2 (the inverse of Mask 1),
whose result may now be merged with the previous intermediate result
to produce the desired result.

      Background - Boolean operations are used extensively in
graphics and image processing applications.  They are used for
everything from setting and resetting flags in graphics kernels to
manipulating embedded bit strings to manipulating pixel values in
packed format.  Boolean operations are frequently performed on fields
within a word of data in a myriad of applications (e.g., Morphology
Operations).  Since these operations are performed on small groups of
data embedded in words, the data must be masked off and stored in
temporary storage.  Once the operation has been performed, the data
must be merged back with the original word.  Fig. 2:  (a) This Figure
illustrates an AND operation between A and B on an arbitrary field in
A.  Since the mask (M) is generated, there is no requirement for
temporary storage.  (b) If the mask in (a) is reversed, then the AND
operation is performed as shown.

      The problem arises from the belief that each word of data is a
distinct unit upon which the function is performed for the entire
word.  This lack of flexibility causes several needless instructions,
cycles, and registers to be used.  Since operations on fields occur
frequently, this waste can be noticed quite easily.  Fig. 3:  The
Fixed Point Unit showing the Mask and Merge Logic.

      As an example, Fig. 1 shows the procedure required to perform
the an AND operation between data A and data B on an arbitrary field
in A.  Each step in this procedure costs a clock cycle.  From this
example, it is clear that room for improvement exists in the current
method.

      Essence of the Invention - Described herein is a new set of
instructions that allow Boolean operations to be performed on fields
of arbitrary length and size within a word.  With this capability,
any portion of the two words can be o...