Modern CPUs often use a memory management unit (MMU). An MMU is a component that translates addresses from the CPU to (usually) different RAM addresses. When using an MMU, the addresses used in a program are (usually) not the "real" addresses where the data is stored. This is called "virtual" (the opposite of "real") memory. A few of the reasons why it is good to have an MMU are listed below: