Abstract:
Described is a shifting structure which separates a shifting operation into partial shifts which can be executed in different pipeline stages. In a first pipe stage, an operand is read out and at least one partial shift is accomplished by placing the operand or parts of the operand into registers coupled to a shift unit (10). The shift unit (10), in a second pipe stage, eventually finalizes the shifting operation by executing the remaining partial shifts. This reduces the time required for the shifting operation in total and also allows to distribute the partial shifts into the different pipeline stages in order to use a possible remaining period of time in a cycle. Further reductions of the time required for the shifting operation in the second cycle can be accomplished by a shift unit according to the disclosure.
Abstract:
The processor (109) includes a decoder (202) being coupled to receive a control signal (207). The control signal has a first source address, a second source address, a destination address, and an operation field. The first source address corresponds to a first location. The second source address corresponds to a second location. The destination address corresponds to a third location. The operation field indicates that a type of packed data shift operation is to be performed. The processor further includes a circuit (203) being coupled to the decoder. The circuit is for shifting a first packed data being stored at the first location by a value being stored at the second location. The circuit is further for communicating a corresponding result packed data to the third location.
Abstract:
In a storage system with a store (SP) operable as a ring store, an address decoder (AD) which can be allocated thereto and an address counter (AZ) controlling the address decoder (AD) with an adjustable initial value, the store (SP) has at least one first storage area (SP1) and a second storage area (SP2). Successive address areas of the store (SP) are allocated to the storage area, where the same data (a, b, c, d) are stored in the first (SP1) and second (SP2) storage areas in the same order.
Abstract:
An apparatus for performing a shift operation on a packed data element (901) having multiple values. The apparatus having multiple muxes (910-913), each of the multiple muxes having a first input, a second input, a select input and an output. Each of the multiple bits that represents a shifted packed intermediate result on a first bus (919) is coupled to the corresponding first input. Each of the multiple bits representing a replacement bit for one of the multiple values is coupled to a corresponding second input (996-999). Each of the multiple bits driven by a correction circuit (932) is coupled to a corresponding select input. Each output (915-918) corresponds to a bit of a shifted packed result.
Abstract:
A barrel shifter comprising: an n-bit by n-bit transistor array arranged into n rows an n colums, wherein the source of a transistor in one row is connected to the source of a transistor in the next row; a first plurality of multiplexors, each having a first and a second input and an output, wherein the first input is coupled to a corresponding bit of an operand, the second input is coupled to a first control signal, and the output is coupled to one transistor in each row of the array beginning with a transistor in a corresponding bit position in the first row and continuing with transistors in ascending bit positions for each subsequent row; a second plurality of multiplexors each having inputs and an output, each multiplexor selecting one of three inputs depending on the data length; and a third plurality of multiplexors, each having a first and a second input and an output, wherein the first input is coupled to a corresponding bit output of the second multiplexor, the second input is coupled to a second control signal, and the output is coupled to one transistor in each row of the array beginning with a transistor in a corresponding bit position in the second row and continuing with transistors in ascending bit positions.
Abstract:
A method for performing a "rotate through carry" operation, utilizing iteratively a single bit left/right shifter, as well as a set of dedicated status flags.