The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+22 votes
3.5k views

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
asked in CO & Architecture by Veteran (369k points)
edited by | 3.5k views
0
What is the purpose of MAR <--Y?
+1

Learner_jai 

What is the purpose of MAR <--Y?

I think if we want to fetch some data from different location. For example information related to interrupt.

4 Answers

+32 votes
Best answer

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 : 

$\begin{array}{lcl}
\rlap{\text{Interrupt Cycle:}}\\
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}$

answered by Boss (15.7k points)
edited by
+10

basic rules which holds true for any cycle :

+11 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)

answered by Junior (643 points)
edited by
+7 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
answered by Active (2.1k points)
–2 votes
option d.
answered by Junior (791 points)
Answer:

Related questions



Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

44,298 questions
49,785 answers
164,377 comments
65,857 users