A thread of execution, or simply a thread, is one series of instructions sent to the CPU. Hyper-threading is a technology developed to help make better use of spare processing cycles. Hyper-threaded processors have a duplicate set of registers, small spaces of high-speed memory storage used to hold the data that is currently needed to execute a thread. When a CPU core is delayed, waiting for data to be retrieved from another place in memory, it can use these duplicate registers to spend the spare computation cycles executing a different thread. The second set of registers will be pre-loaded with the data needed to execute the second thread, so the CPU core can begin work immediately