2

Referring to the wikipedia article:

http://en.wikipedia.org/wiki/Classic_RISC_pipeline

I am a little unsure what the "memory access" stage actually does. If "execute" actually does the execution, what purpose is there of retrieving memory addresses after the execution has taken place (which is what the wikipedia article suggests)?

1
  • This is a place for specific programming questions. Thus, your question does not belong here IMO. If you're looking for a good and thorough answer, I'd recommend finding a more relevant StackExchange QA site. Commented Feb 16, 2014 at 22:00

2 Answers 2

1

Memory address is decoded at ID stage, and the EXE works with register address, so the DMEM stage is to put data in register to right place.

Sign up to request clarification or add additional context in comments.

Comments

1

For memory accesses, the execute stage calculates the Virtual Address, which will be used in the Memory Access Stage.

From the Wikipedia page you linked:

"Execute: ... Memory Reference (Two-cycle latency). All loads from memory. During the execute stage, the ALU added the two arguments (a register and a constant offset) to produce a virtual address by the end of the cycle."

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.