D] An integer arithmetic unit that can perform addition and multiplication of 16-bit unsigned numbers is to be used to multiply two 32-bit unsigned numbers. All operands, intermediate results, and final results are held in 16-bit registers labeled R0 through R15. The hardware multiplier multiplies the contents of Ri (multiplicand) by Rj (multiplier) and stores the double-length 32-bit product in registers Rj and Rj+1, with the low-order half in Rj. When j = i − 1, the product overwrites both operands. The hardware adder adds the contents of Ri and Rj and puts the result in Rj. The input carry to an Add operation is 0, and the input carry to an Add-with-carry operation is the contents of a carry flag C. The output carry from the adder is always stored in C. Specify the steps of a procedure for multiplying two 32-bit operands in registers R1, R0, and R3, R2, high-order halves first, leaving the 64-bit product in registers R15, R14, R13, and R12. Any of the registers R11 through R4 may be used for intermediate values, if necessary. Each step in the procedure can be a multiplication, or an addition, or a register transfer operation.

Systems Architecture
7th Edition
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Stephen D. Burd
Chapter2: Introduction To Systems Architecture
Section: Chapter Questions
Problem 2VE: A(n) __________ is a storage location implemented in the CPU.
icon
Related questions
Topic Video
Question
D] An integer arithmetic unit that can perform addition and multiplication of 16-bit unsigned numbers is to be used to multiply two 32-bit unsigned numbers. All operands, intermediate results, and final results are held in 16-bit registers labeled R0 through R15. The hardware multiplier multiplies the contents of Ri (multiplicand) by Rj (multiplier) and stores the double-length 32-bit product in registers Rj and Rj+1, with the low-order half in Rj. When j = i − 1, the product overwrites both operands. The hardware adder adds the contents of Ri and Rj and puts the result in Rj. The input carry to an Add operation is 0, and the input carry to an Add-with-carry operation is the contents of a carry flag C. The output carry from the adder is always stored in C. Specify the steps of a procedure for multiplying two 32-bit operands in registers R1, R0, and R3, R2, high-order halves first, leaving the 64-bit product in registers R15, R14, R13, and R12. Any of the registers R11 through R4 may be used for intermediate values, if necessary. Each step in the procedure can be a multiplication, or an addition, or a register transfer operation.
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning