Jump to content

Memory-level parallelism

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 220.221.35.209 (talk) at 17:31, 2 March 2008 (+ja). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Memory Level Parallelism or MLP is a term in computer architecture referring to the ability to have pending multiple memory operations, in particular cache misses, at the same time.

MLP may be considered a form of ILP, instruction level parallelism. However, ILP is often mixed up with superscalar, the ability to execute more than one instruction at the same time. E.g. a processor such as the Intel Pentium Pro is 5-way superscalar, with the ability to start executing 5 different microinstructions in a given cycle, but it can handle 4 different cache misses for up to 20 different load microinstructions at any time.

It is possible to have a machine that is not superscalar but which nevertheless has high MLP.

References

  • "Microarchitecture optimizations for exploiting memory-level parallelism", Yuan Chou, B. Fahs, and S. Abraham, Computer Architecture, 2004. Proceedings. 31st Annual International Symposium on 2004.
  • "Coming challenges in microarchitecture and architecture", Ronen, R.; Mendelson, A.; Lai, K.; Shih-Lien Lu; Pollack, F.; Shen, J.P. Proceedings of the IEEE Volume: 89 Issue: 3 Mar 2001
  • MLP yes! ILP no!, Andrew Glew