Conviene empezar por definir CPU para estar seguros de lo que estamos hablando. La CPU, o UCP en castellano, es la Unidad Central de Procesamiento, comúnmente conocida como microprocesador. Es la encargada de controlar y procesar la información que trata un ordenador.
Para explicar su funcionamiento partimos de una foto de un microprocesador con la información principal que encontramos al comprarlo:
Frecuencia: 3200 GHz
Frecuencia turbo: 3600 GHz
Caché: 7,5 MB
Número de cores: 4
Supongamos por un momento que la CPU solo puede hacer una cosa de cada vez, que es lo que ocurría con las primeras. Nosotros le estamos introduciendo y pidiendo numerosa información, y sin embargo, es capaz de dar respuestas prácticamente instantáneas. Esto se debe a que el procesador se encuentra repitiendo, constantemente, estas cuatro acciones:
- Busca la siguiente acción que tiene que ejecutar
- Analiza lo que es
- Lo ejecuta
- Comprueba que todo vaya bien
Si nos fijamos en las operaciones que realiza, la primera consiste en buscar la siguiente orden, lo que nos lleva a la siguiente pregunta: ¿Dónde la busca? En el caché. El caché es una pequeña memoria que hay dentro del procesador que permite almacenar algunas cantidades de información para que el procesador pueda acceder rápidamente a ella. Si vemos las especificaciones más detalladas, nos indican, incluso, la cantidad que se reserva para cada tipo de dato; pero ese tema no nos ocupa en este post. Una parte de la memoria caché, se reserva para almacenar la información que tiene que ejecutar más tarde.
Llegados a este punto, tan solo nos queda hablar sobre el número de núcleos, cores o threads. Como dije al principio: «Supongamos por un momento que la CPU solo puede hacer una cosa de cada vez». Eso solo ocurría en las primeras CPUs. Actualmente, esto se ha mejorado y un único procesador puede tener 2, 4, 8 núcleos, lo que hace que pueda ejecutar tantas instrucciones como número de núcleos tiene. En el caso del procesador que tratamos, puede ejecutar cuatro instrucciones simultáneamente. Cada núcleo se comporta como una CPU independiente, por lo que realizan las cuatro tareas, aunque de manera alternativa, para dar mayor rapidez de procesamiento: mientras un núcleo busca su siguiente instrucción, otro está analizando otra, otro está ejecutando otra y, el último, comprobando que sus instrucciones son correctas y se han ejecutado como deben. Debido a esto, pasamos de poder realizar 3,2 billones de operaciones en un segundo a 12,8 billones de operaciones.

No hay comentarios:
Publicar un comentario