On page 376 of Hennesay's book Computer Organization And Design, the following illustration is listed to illustrate branch prediction. But what do "IM" and "DM" mean? Does IM stand for instruction memory and DM stands for data memory or is it something else?
2 Answers
Yes, actually you have answered your own question. Just to add some comments. In fig. 4.34 you can verify that IM really stands for Instruction Memory (see the caption):
Finally, in figure 4.62, you will find a data path which shows the 5 pipeline stages and labels explicitly the IM block as Intruction Memory and DM as Data Memory.
I hope this helps!
Yes, in this diagram, the block marked "IM" represents the last stage of the instruction fetch mechanism, usually a prefetch buffer or a cache of some type. The block marked "DM" represents the part of the data memory interface used to write out results (to cache and/or external memory).