draw the block diagram for the hardware that implements the following statements: x + yz: AR <- AR + BR where AR and BR are two n-bit registers and x, y and z are control variables. include the logic gates for the control function. note that the symbol + designates an or operation in a control or boolean function but that it represents an arithmetic plus in a microoperation.
For the first question, a lot of information wasn't specified. For example, I didn't know how in-depth of a block diagram you needed. Based on the entry level aspect of the other questions, I chose to go simple. Below I wrote out the diagram to logical OR two registers and place the answer a third. It's simply a matter of performing the operation on each pair of bits and putting the answer in the corresponding bits of the third register. I wasn't sure what you were supposed to use to represent the registers, so I used blank boxes (but they could easily be turned into flip-flops for example).
The only real challenge comes into play with control variables. Ufortunately, you didn't specify what the control variables represented. I assumed the general meaning of Z (set to 1 only when the result of the operation is zero). I have not seen Y used as a control variable before (since the registers are usually named X and Y), so I didn't implement it. If you want to tell me what Y is supposed to be, I'd be happy to explain how to work it in. For Z, since it's only set to 1 when the answer is 0, you simply need to NOR all of the bits together. If they are all zero, then the NOR gate will output a 1...otherwise it will output zero.
For three, the one thing you need to pay attention to is arithmatic shifts to the right. Shift the numbers to the right as you normally would, but in order to preserve the sign of the number, the most significant bit (the bit farthest to the left) gets copied to the corresponding bit of the new number.