Browse Prior Art Database

Efficiently Turning a Unidirectional Shifter Into a Bidirectional Shifter

IP.com Disclosure Number: IPCOM000101450D
Original Publication Date: 1990-Aug-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 2 page(s) / 51K

Publishing Venue

IBM

Related People

Hicks, TN: AUTHOR

Abstract

Floating-point processors require both shift-left and shift-right shifters. Shifters that shift in one direction are easy to design and usually very fast. However, a bidirectional shifter typically requires much more hardware and is usually much slower. This article describes an efficient and easy method of converting a unidirectional shifter into a bidirectional shifter. A shift-right shifter can be described as a functional unit that shifts in zeros into the most significant end while dropping the least significant bits. While a shift-left shifter can be described as a functional unit that shifts in zeros into the least significant end while dropping off the most significant bits.

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

Efficiently Turning a Unidirectional Shifter Into a Bidirectional Shifter

       Floating-point processors require both shift-left and
shift-right shifters.  Shifters that shift in one direction are easy
to design and usually very fast.  However, a bidirectional shifter
typically requires much more hardware and is usually much slower.
This article describes an efficient and easy method of converting a
unidirectional shifter into a bidirectional shifter.  A shift-right
shifter can be described as a functional unit that shifts in zeros
into the most significant end while dropping the least significant
bits.  While a shift-left shifter can be described as a functional
unit that shifts in zeros into the least significant end while
dropping off the most significant bits.  Rather than changing the
function of the shifter, the user can simply change the ordering of
the input data, and then reordering the data once the right (or left)
shift has been performed.  This can be done by two 2-to-1
multiplexers. The input multiplexer (mux) selects the input data as
is, if the shift desired is that for which the shifter was designed,
or it selects the data transposed (flipped, such that the most
significant end is now the least significant). If the transposed data
is selected once the data is shifted, it is transposed back to its
original format.  The figure shows the invention described.  Mux (A)
either passes the input data to the shifter unchanged or transposes
the data if...