previous | contents | next

188 Part 2 ½ Regions of Computer Space Section 1 ½ Microprogram-Based Processors
 

Table 1 ALU Operand Sources
 
-EA I0 -OEB ALU operand R ALU operand S
L L L RAM output A RAM output B
L L H RAM output A DB0-3
L H X RAM output A Q Register
H L L DA0-3 RAM output B
H L H DA0-3 DB1-3
H H X DA0-3 Q Register

L = LOW H =HIGH X = don't care

ALU Shifter

Under instruction control, the ALU shifter passes the ALU output (F) non-shifted, shifts it up one bit position (2F), or shifts it down one bit position (F/2). Both arithmetic and logical shift operations are possible. An arithmetic shift operation shifts data around the most significant (sign) bit position of the most significant slice, and a logical shift operation shifts data through this bit position (see Fig. 2). SIO0 and SIO3 are bidirectional serial shift inputs/outputs. During a shift-up operation, SIO0 is generally a serial shift input

Table 2 ALU Functions
 
I4 I3 I2 I1 Hex code ALU functions
L L L L 0 I0 = Fi = HIGH
I0 = L Special functions
L L L H 1 F = S Minus R Minus 1 Plus Cn
L L H L 2 F = R Minus S Minus 1 Plus Cn
L L H H 3 F = R Plus S Plus Cn
L H L L 4 F = S Plus Cn
L H L H 5 F = -S Plus Cn
L H H L 6 F = R Plus Cn
L H H H 7 F = -R Plus Cn
H L L L 8 Fi = LOW
H L L H 9 Fi = Ri AND Si
H L H L A Fi = Ri Exclusive-N0R Si
H L H H B Fi = Ri Exclusive-OR Si
H H L L C Fi = Ri AND Si
H H L H D Fi = Ri NOR Si
H H H L E Fi = Ri NAND Si
H H H H F Fi = Ri 0R Si

L=LOW H=HIGH i= 0 to 3

and SIO3 a serial shift output. During a shift down operation, SIO3 is generally a serial shift input and SIO0 a serial shift output.

To some extent, the meaning of the SIO0 and SIO3 signals is instruction-dependent. Refer to Tables 3 and 4 for an exact definition of these pins.

The ALU shifter also provides the capability to sign-extend at slice boundaries. Under instruction control, the SIO0 (sign) input can be extended through Y0, Y1, Y2, and Y3 and propagated to the SIO3 output.

A cascadable 5-bit parity generator/checker is designed into the Am2903 ALU shifter and provides ALU error detection capability. Parity for the F0, F1, F2, and F3 ALU outputs and SIO3 input is generated and, under instruction control, is made available at the SIO0 output.

The instruction inputs determine the ALU shifter operation. Table 4 defines the special functions and the operation the ALU shifter performs for each. When the Am2903 executes instructions other than the nine special functions, the ALU shifter operation is determined by instruction bits I8I7I6I5. Table 3 defines the ALU shifter operation as a function of these four bits.

Q Register

The Q register is an auxiliary 4-bit register. It is intended primarily for use in multiplication and division operations; however, it can also be used as an accumulator or holding register for some applications. The ALU output, F, can be loaded into the Q register, and/or the Q register can be selected as the source for the ALU S operand. The shifter at the input to the Q register provides the capability to shift the Q-register contents up one bit position (2Q) or down one bit position (Q/2). Only logical shifts are performed. QIO0 and QIO3 are bidirectional shift serial inputs/outputs. During a Q-register shift-up operation, QIO0 is a serial shift input and QIO3 is a serial shift output. During a shift-down operation, QIO3 is a serial shift input and QIO0 is a serial shift output.
 
 

previous | contents | next