A machine cycle is the sequence of actions that a computer's processor does when it receives a machine language command. It is the most fundamental CPU process, and current CPUs may execute millions of machine cycles every second. The cycle is divided into three steps: fetch, decode, and execute. During fetch, the processor reads information from memory; during decode, it interprets instructions found in programs being executed; and during execute, it performs duties associated with its interpretation of instructions. Fetch means getting data out of memory. Modern computers use a cache to store recently used data so that it can be accessed quickly. When the processor needs to read data from memory, it first checks whether the desired information is available in the cache. If it is, the processor simply reads it from the cache instead of reading it from memory. If it is not, the processor has to wait until the information it wants becomes available in memory. This might take a while if there is no other program using up all the memory resources, so the processor has to wait for an opportunity to get some free time before it can read another instruction. Decode means interpreting instructions in a program. When you run a program on your computer, the operating system provides it with the information it needs during the decoding step. For example, it gives the program the address of where information about what program to run next can be found in memory.