miércoles, 25 de febrero de 2015

Núcleos e Hilos

¿Que son?                                                                  


Núcleos (Cores en ingles):                                                                

Un procesador es un dispositivo electrónico que incluye varios bloques entre ellos se encuentran unos muy interesantes que se denominan núcleos los cuales se encargan de ejecutar las instrucciones y pueden ser vistos como unos micros en miniatura.

De esta forma pasamos de poder ejecutar una sola tarea a trabajar con varias al mismo tiempo (múltitarea).

Es como si la CPU del ordenador, una tablet o un Smartphone tuviese varios cerebros que pudiesen trabajar de forma simultánea; en un mismo trabajo – dividiéndose las tareas – o en trabajos diferentes. Y todo ello sin que el rendimiento de uno se vea afectado por el rendimiento de los otros. Es decir, aumenta la velocidad de ejecución de los programas

Se pueden encontrar procesadores con 2 núcleos (Dual Core), 4 núcleos (Quad Core), 8 núcleos (Octo Core).




Procesador de 2 núcleos

Procesador de 4 núcleos
Esquema de un Procesador de 8 Núcleos.


Hilos (Threads en ingles):                                                                 

Son las instrucciones de procesamiento mas pequeñas que maneja el procesador, por lo tanto es software, no físico.

Los núcleos del procesador pueden tener de 1 a 4 hilos, a mas hilos mas velocidad, un núcleo con dos hilos seria similar a tener dos núcleos, aunque uno seria físico y el otro virtual.

No todos los programas están preparados para ser usados en multihilo (multithread en ingles) y por lo tanto aunque tengamos mas hilos estos serian ignorados y no se ganaría velocidad de procesamiento.


¿Como Funcionan?                                                   


Núcleo:                                                                                                

Al llegar la información desde la RAM al procesador esta se almacena en la RAM del mismo, el procesador la va sacando conforme la necesita para hacer los cálculos que se le piden, en un procesador de 1 núcleo debe sacar y usar 1 a 1 los datos pero en uno con varios núcleos puede desdoblar el trabajo y por tanto su rendimiento.

Ejemplo: 1 Núcleo: (Single Core y 1 Hilo)



Ejemplo: 2 Núcleos y 2 hilos : (Dual Core y 1 Hilo por núcleo)


Hilos:                                                                                                   

En los procesadores Multihilos (Multithread en ingles) la salida de información aún se amplia mas pues utiliza una especie de núcleos virtuales. 

Estos no llegan a ser tan eficientes como un núcleo físico y ademas muchos programas ignoraran estos hilos adicionales al no estar programados para usarlos.

Ejemplo: 2 Núcleos y 4 Hilos (2 por núcleo).


Como se ve llega 1 línea de información que a la salida del procesador se divide en dos para enviarla a los núcleos, en este punto es donde aparece el multihilo, 2 en el ejemplo, en el núcleo si el programa lo admite se dividiría nuevamente la salida de ordenes, multiplicando de esta forma la capacidad de procesamiento del procesador.

No hay comentarios:

Publicar un comentario