In the datapath diagram shown in Figure 3.15, why do we need the A and B registers in front of the ALU? Why do we need MAR? Under what conditions would you be able to do without with any of these registers?

What will be an ideal response?

We need the A and B registers in front of the ALU because ALU operations (ADD, NAND, A-B, A+1) require 2 operands, so we need temporary registers to hold at least one of them, since we can only get 1 register value out of the register file since there is only 1 output port (Dout). Also, with only 1 bus, there is only 1 channel of communication between any pair of datapath elements. Similarly, we need the MAR so there is a place to hold the address sent by the ALU to the memory. The only conditions where we would be able to do without some of these registers would be if there were multiple buses and/or multiple output ports from the register file, thereby allowing multiple value to be communicated simultaneously, so that the ALU could carry out its operations and the memory could look up data at a specified address.

Computer Science & Information Technology

You might also like to view...

Is it always possible or practical to expect excellence in every shot?

What will be an ideal response?

Computer Science & Information Technology

The onsubmit event handler is placed ____.

A. in the document head B. within the

element C. at the end of a form D. after the onreset event handler

Computer Science & Information Technology