Abstract: A computer system using non-volatile main memory in lieu of random access memory (RAM). The non-volatile main memory stores operating system software and application software used by the central processing unit (CPU) when the computer system is operating after bootup. The operating system and application software used by the computer after bootup are retained in an initialized and executable state within the non-volatile main memory when the computer is powered off. As a result, the time to bootup the computer is reduced because the operating system and application software do not need to be copied into a memory element (e.g., RAM) and initialized into an executable state. Also, applications can be opened more quickly during normal operation, and the computer can be shut down more quickly. Performance of the computer can also be improved by using non-volatile memory for the secondary level memory cache and/or the CPU registers.