# Understanding Instruction Cycle?

A basic instruction cycle consists of these 5 stages.

## Instruction Cycle

1. IF - Instruction Fetch
2. RD - Instruction Decode and Register Read
3. EX - Execute
4. MA - Memory Access
5. WB - Write Back

I understood the function of all the stages accept the fourth (Memory access). What's the significance of this stage?

Over Internet what I've found is this

MA(Memory Access) does following operation

• If load or store instruction, then access memory

• If branch instruction, replace PC with destination address

The second point is clear, but I'm confused by the first.

Suppose we have load and store instruction like this $$(I) R_1 \leftarrow m[A_1]$$ $$(II) m[A_2] \rightarrow R_2$$

what will the MA stage do for the above instructions?

• What research have you done? We expect you to do a significant amount of research/self-study before asking (search on the Internet, look in standard textbooks), and to tell us in the question what you've done. There is little point in having us repeat standard material that's already covered in textbooks. What are your thoughts? What do you understand and what specifically are you unclear on? What precisely do you mean by "the meaning of a stage"? – D.W. Dec 19 '14 at 1:40
• I could be wrong. But just to be clear, isn't an FO(fetch operands[if]) stage necessary to be explicit? In which stage would we be fetching operands, in this architecture? In the second stage? – Abdussami Tayyab Dec 21 '14 at 13:01