edited by
14,932 views
42 votes
42 votes

Consider the following sequence of micro-operations.

MBR ← PC  
MAR ← X  PC ← Y  
Memory ← MBR

Which one of the following is a possible operation performed by this sequence?

  1. Instruction fetch
  2. Operand fetch
  3. Conditional branch
  4. Initiation of interrupt service
edited by

5 Answers

Best answer
71 votes
71 votes

Here PC value is being stored in memory which is done when either CALL RETURN involved or there is Interrupt. As, we will have to come back to execute current instruction.

So, options (A), (B) are clearly incorrect.

Option (C) is incorrect because conditional branch does not require to save PC contents.

Option (D) is correct as it matches the generic Interrupt Cycle : 

 

$$\text{Interrupt Cycle:}$$

$$\begin{array}{lcl}
t_1:&\text{MBR}&\leftarrow(\text{PC})\\
t_2:&\text{MAR}&\leftarrow(\text{save-address})\\
&\text{PC}&\leftarrow(\text{routine-address})\\
t_3:&\text{Memory}&\leftarrow(\text{MBR})\\
\end{array}$$

edited by
31 votes
31 votes

whenever the word fetch is used instruction register was associated as there is no instruction reg. so (A) is not our answer.

- operand fetch says you have to get operand from the memory and place it into the memory data register so source should be the memory and destination should be memory data register so there no such operation is given so (B) is not our ans.

- in conditional branch or Unconditional branch you are able to place new value into the program counter but here it is doing one extra thing it is placing the old value of program counter into the memory so (C) is not our ans.

so our ans is (D)

edited by
11 votes
11 votes
PC holds the value of the next instruction to be executed we store the value of PC to the MBR and then to the memory .We are saving the value of PC in memory and new address value(routine address) is loaded in to the PC as interrupt is there as we have already save the PC in to the memory then why we are adding another address in to the PC. This can be done only in the Interrupt Services.

option (d) is correct
1 votes
1 votes

The interrupt cycle starts when there arises an interrupt signal. The PC has the address of the next instruction of the program that has to be executed next. The content of PC i.e. address of the next instruction that has to be executed is transferred to MBR. Now the content of MBR is written to a special memory location the address of which is loaded into MAR. Now the PC is initialized with the first instruction of interrupt service routine, this program’s services the occurred interrupts.

Answer:

Related questions

0 votes
0 votes
1 answer
3
Bikram asked May 27, 2017
599 views
Consider the following Micro-operations:$\begin{array}{|l|l|} \hline \text{MAR} & \leftarrow IR \text{[address]} \\ \hline \text{MBR} & \leftarrow \text{Memory} \\ \hline...
33 votes
33 votes
6 answers
4