Los primeros microprocesadores solo podían simular tareas múltiples al dividir su tiempo entre varios procesos. Para mejorar esto, los procesadores se dividieron en partes, como unidades lógicas y de punto flotante, que podían trabajar simultáneamente. Más tarde, la tecnología Hyper-Threading permitió que un solo procesador ejecutara los hilos de dos tareas diferentes a la vez, mejorando el rendimiento.