Bit-Slice Design: Controllers and ALUsby Donnamaie E. WhiteCopyright © 1996, 2001, 2002, 2008 Donnamaie E. White |
||||||||||||||||||||||||||||||||||||
3. Adding Programming Support to the Controller
6. The ALU and Basic Arithmetic
|
These would be connected to the condition MUX of the CCU constructed earlier. Shift and RotateWhile the ALU is capable of most operations, the ability to shift right or left or to rotate right or left is a desirable feature. This can be accomplished by the addition shown in Figure 5-7, where a shift register has been added to the scratchpad input. The shift register is under CCU control. External connections determine whether a shift or rotate is being performed and what bit, 0 or 1, is shifted into the high or the low-order bit. A shift MUX will be needed for each side of the ALU, which will also be under CCU control. Figure 5-7 Adding the Shifter at the RAM input
Control BitsEach item added which requires CCU control adds a field to the microinstruction format. The width of the field added is a function of the amount of flexibility of the device. For a shift MUX, a 2- or 3-bit field is required. The ALU so far requires a 3-bit function field, a carry-in field (or a carry-in MUX control field), A address and B address fields of 4 bits each for fixed register operations, MUX select bits to allow A and B register addresses to be supplied from either the microinstruction register or the machine-level instruction in the IR, and controls for the A port input MUX, the ALU output MUX, and the shift register. The microinstruction fields required by this version of the ALU are shown in Figure 5-8. Figure 5-8 ALU portion of the microword (simple system)
Double PrecisionThe simple system under development has no multiply or divide operations. To provide the capability for these operations, the ALU must have at least one double precision register. FOr the system developed so far, this is provided by adding an extension Q register and its own shift register. The ALU inputs to the Q register directly. The Q shift register is connected to the output of the Q register. The Q register output also connects to the B port of the ALU. To avoid requiring a tristate register and a tristate scratchpad memory, a MUX is added to the ALU B port input and the MUX is under CCU control. External connections determine the shift or rotate operations on Q alone or Q and a scratchpad register. The addition is shown in Figure 5-9. Figure 5-9 Am2901 ALU
Additional ModificationsA few additional improvements can be made: First, adding a zero input to the ALU A and B port input MUXs allows incrementing and decrementing as well as PASS operations on both ports.
Second, adding the A port of the scratchpad to the ALU B port input MUX allows a fast multiply by 2:
Third. adding an output enable control and making the ALU output MUX into a tristate MUX allows the ALU to share a bus. Finally, adding two additional status outputs, carry-generate G' and carry propagate P' , allows fast addition using a carry-look-ahead if the ALU is assumed to be a 4-bit wide slice. The result is shown in Figure 5-9 and is a logical block diagram of the original Am2901 bit-slice RALU. [This part is no longer in production - but it is around as a soft IP.]
| |||||||||||||||||||||||||||||||||||
For information about this file or to report problems in its use email
[email protected]
Copyright © September 1996, 1999, 2001, 2008 Donnamaie E. White WhitePubs Enterprises, Inc. |