Curso básico de arquitectura de ordenadores

Cada aplicación es típicamente un proceso (de los que veis en el admin de tareas al hacer control-alt-supr). A su vez cada proceso puede tener varios hilos (cada pestaña del firefox es un hilo, por ejemplo).
Los procesadores de un solo nucleo (por empezar por lo fácil) dedican un % de su tiempo a cada hilo de ejecución. Pero como conmutan de hilo "mu rápido" pues da la sensación de que hacen muchas cosas a la vez cuando en realidad solo hacen una cosa al mismo tiempo.
Si le metes HyperThreading, lo que haces básicamente (lo que hacían con los PIV, con el I7 será algo más currado) es duplicar los registros del procesador. Los registros son la memoria más rápida y cercana al procesador (el caché más básico). De esta forma el procesador puede conmutar entre dos hilos mucho más rápido, porque no tiene que vaciarlos primero para meter los datos del hilo que le toque, sino que tiene 2 juegos de registros. Esto es lo que hace que los sistemas operativos vean 2 núcleos en un PIV con HT.
Si tienes dos cores físicos, puedes currar en dos hilos a la vez, sin las trampas del HT. Si tienes 4, pues 4 hilos, y si tienes un i7, pues 4hilos y, con truco, otros 4. Aunque ya digo que no se como lo hace exactamente el i7.