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?
- Instruction fetch
- Operand fetch
- Conditional branch
- Initiation of interrupt service
Answer is option (4).
My attempt :
- Instruction fetch : Fetch instruction: Read instruction code from address in PC and place in IR. ( IR ← Memory[PC] )
- Operand fetch : Fetch operands from memory if necessary: If any operands are memory addresses, initiate memory read cycles to read them into CPU registers. If an operand is in memory, not a register, then the memory address of the operand is known as the effective address, or EA for short. The fetching of an operand can therefore be denoted as Register ← Memory[EA]. On today's computers, CPUs are much faster than memory, so operand fetching usually takes multiple CPU clock cycles to complete.
- A conditional branch instruction causes the location counter in the PSW to be set to the address specified in the register or the register plus a 12-bit offset, if a condition is satisfied (and the register is not 0)
- An interrupt service routine (ISR) is a software routine that hardware invokes in response to an interrupt. ISRs examine an interrupt and determine how to handle it. ISRs handle the interrupt, and then return a logical interrupt value.
Can you explain in sequence of micro-operations for operations given in option?
MBR ← PC MAR ← X PC ← Y Memory ← MBR
for Initiation of interrupt service . Similarly , if you can give such correctcodes
for other options (1),(2) and (3) ? – Inexpugnablememory <- MBR
a memory write? None of the operations listed do a memory write. – SchematizeMBR
has been assigned thePC
earlier. – Schematize