ALU 101 ALU Design and Architecture 2 — Questions and Answers
Question 1: What is the primary advantage of a carry-save adder (CSA) when multiplying large numbers?
- It eliminates the need for registers
- It defers carry propagation until the final addition, speeding up partial product reduction (Correct answer)
- It works only in base 10
- It reduces the bit width of operands
Correct answer: It defers carry propagation until the final addition, speeding up partial product reduction
A CSA produces a sum and carry output without propagating carry through all bits, allowing fast tree-based reduction of many partial products.
Question 2: What does the 'critical path' of an ALU determine?
- The power consumption
- The maximum clock frequency, set by the longest combinational delay through the circuit (Correct answer)
- The number of operands
- The instruction set size
Correct answer: The maximum clock frequency, set by the longest combinational delay through the circuit
The critical path is the longest gate-delay path in the ALU; the clock period must be long enough for signals to traverse it, setting the maximum frequency.
Question 3: How does Booth's algorithm improve binary multiplication in an ALU?
- It converts operands to BCD before multiplying
- It reduces the number of partial products by recoding the multiplier to include -1 terms (Correct answer)
- It uses logarithms internally
- It pads operands with zeros to a power of two
Correct answer: It reduces the number of partial products by recoding the multiplier to include -1 terms
Booth's algorithm recodes consecutive 1s in the multiplier into a subtract followed by an add, reducing the number of partial products and speeding up multiplication.
Question 4: In a superscalar processor, what is required for two ALU operations to execute in parallel?
- They must use the same opcode
- They must have no data dependencies between them (Correct answer)
- They must use identical operand widths
- They must complete in the same number of cycles
Correct answer: They must have no data dependencies between them
Parallel execution requires that neither operation reads a register the other is writing, i.e., no RAW, WAR, or WAW hazards exist.
Question 5: What is the purpose of operand forwarding (bypassing) in a pipelined ALU datapath?
- To skip the decode stage
- To route a computed result directly to the next instruction's input without waiting for register writeback (Correct answer)
- To forward the program counter
- To pre-fetch memory operands
Correct answer: To route a computed result directly to the next instruction's input without waiting for register writeback
Forwarding paths allow a result in the EX or MEM stage to feed directly into the ALU input for a dependent instruction, reducing stall cycles.
Question 6: Why does a floating-point ALU require more hardware than an integer ALU of the same bit width?
- Floating point uses more clock cycles by design
- It must separately handle exponent alignment, mantissa operations, normalization, and rounding (Correct answer)
- It always operates on 128-bit values
- It requires a dedicated memory controller
Correct answer: It must separately handle exponent alignment, mantissa operations, normalization, and rounding
FP arithmetic involves aligning exponents, computing the mantissa result, normalizing the output, and applying rounding—each step requiring additional dedicated logic.
What is the primary advantage of a carry-save adder (CSA) when multiplying large numbers?