El procesador o CPU es sin duda la pieza más importante de tu ordenador, sin embargo, es uno de los componentes más complejos y viene rodeado de una serie de especificaciones que hacen que este sea difícil de entender para la mayoría de usuarios. Es por ello que os hemos preparado esta extensa guía, para que podáis entender sin problema este componente que es de los más esenciales cuando se trata de querer imprimirle la mayor potencia a nuestro ordenador.
Cuando hablamos de un procesador estamos hablando de una estructura muy compleja, la cual podemos disfrutar gracias a los progresos de la ciencia. El problema es que su complejidad es tal que cumple con eso de que llegado a un punto de evolución puede parecerle magia a los que no conocen cuál es exactamente su funcionamiento. ¿Lo peor de algo así? Que cada vez son más esos usuarios que piensan que lo que ocurre dentro de un ordenador tiene que ver con poderes sobrenaturales porque cada nuevo modelo que aparece en el mercado es toda´via más complejo que el anterior.
Los procesadores de ahora, y contando solo sus transistores, son una media de 1.000 veces más complejos de los que usábamos en los años 90 y si nos vamos a los albores de la informática personal, entonces hablamos de decenas de millones. Ese crecimiento exponencial es algo que nos va a acompañar durante años y puede que, con la implementación de nuevas tecnologías como los ordenadores cuánticos, ese camino de progreso se recorra a velocidades cada vez más rápidas.
Así que lo que os vamos a explicar es, básicamente, qué es un procesador desde la perspectiva de los más nuevos y complejos, sino desde la forma más simple que tienen en su forma tradicional. Ya que todos ellos siguen una serie de fundamentos básicos que los definen y que, más o menos, se han venido respetando como concepto desde los primeros tiempos de la informática. Es por ello que hemos preparado este artículo para que podáis entender de manera fácil ciertas siglas y conceptos que se suelen relacionar con los procesadores y que os van a ayudar un poco mejor cómo son y qué mejoran añaden los nuevos que van llegando año a año por parte de intel o AMD (que son los principales fabricantes, los más utilizados en el entorno PC).
Interfaz con los periféricos
Para poder comunicarnos con el ordenador y que este lo haga con nosotros, necesitamos una serie de periféricos como son el teclado, el ratón, la pantalla, etcétera. Para ello, la CPU dispone de una serie de interfaces y componentes externos que le ayudan a gestionar la comunicación con todos ellos. Además, el procesador dispone de mecanismos de interrupción, que le permiten parar temporalmente el código que está ejecutando para atender a peticiones tan simples como el movimiento del ratón o las pulsaciones en el teclado.
Entendiendo las especificaciones de un procesador para ordenador
Cuando miramos cualquier página web a la hora de comprar un procesador o las especificaciones de un ordenador en concreto, se nos aparecen una serie de siglas y nombres que no hacen más que aumentar la confusión si no tenemos experiencia previa a la hora de comprar estos productos. No os preocupéis y tampoco os sintáis mal sobre ello. Quien ha escrito lo que leéis ahora no tiene ni idea de mecánica y no sabe la diferencia entre un motor diésel y uno de gasolina. En serio, no exagero, por lo que en ese sentido empatizo con aquellos usuarios que se os queda cara de póquer cuando veis las especificaciones de un procesador.
¿Qué es el número de núcleos de un procesador?
Un núcleo de un procesador en realidad es un procesador, ya que a día de hoy tenemos varios de ellos en un mismo chip. ¿Qué ocurre? Debido a que físicamente seguimos teniendo un único chip donde se reúnen todos los núcleos, nos es raro llamarlo los procesadores o Las CPU, es por ello que singularizamos el nombre. Por lo que cuando hablamos de un procesador de 8 núcleos estamos hablando de 8 procesadores en un chip realmente, los cuales trabajan en conjunto.
Antiguamente, solo se utilizaba un núcleo y el rendimiento se conseguía aumentando la velocidad de reloj del procesador, pero se llegó al punto en que hacer esto era imposible para aumentar el rendimiento y se empezó a usar más de un núcleo para aumentar el rendimiento. Eso sí, hemos de entender cada núcleo como un trabajador distinto, el cual trabaja en conjunto con el resto, así pues, cuanto más núcleos, más potente es nuestro procesador, pero también más caro.
¿Qué significa que un procesador sea multihilo?
Un hilo de ejecución no es más que un programa que ha de ejecutar el procesador, es decir, una serie de instrucciones que le dicen lo que ha de hacer. Esto es algo que en un mundo ideal no supondría problemas, pero la realidad es muy distinta y hay veces que por A por B de repente un programa deja de ejecutarse durante un tiempo por falta de información necesaria. Eso provoca una parada temporal en el funcionamiento de la CPU y reduce su rendimiento. Dichas paradas las llamamos coloquialmente burbujas.
La idea del multihilo es darle la capacidad a un procesador de ejecutar otro programa o hilo de ejecución mientras se encuentra en espera para el primer proceso. Es decir, que durante los periodos de las llamadas burbujas, la propia CPU no se encuentre sin hacer nada y aumentar así el rendimiento. Se trata de que virtualmente se convierte en un segundo núcleo, lo cual consigue duplicando buena parte de la circuitería del procesador. Esencialmente, la unidad de control, pero no se trata de un segundo núcleo al completo. Es decir, una CPU de 16 núcleos, pero con un solo hilo de ejecución, será mucho más potente que una de 8 núcleos con 16 hilos de ejecución.
¿Qué es la velocidad de reloj base?
Es el tiempo en el que todos los componentes de un procesador tardan en realizar una operación básica. Suponed que vivimos en una realidad en el que cada uno de nosotros solamente puede hacer un movimiento al compás de una señal constante al mismo ritmo. Es decir, que estamos en medio de un juego infantil en el que solo nos podemos mover cada vez que se da una palmada. Pues bien, los componentes internos de un procesador funcionan de la misma manera. Por lo que todos los operarios de nuestra fábrica no van a tener cada uno su ritmo de funcionamiento, sino que cada uno de ellos irán al compás que se les indique.
A día de hoy la velocidad de reloj se mide en GHz, que es lo mismo que decir mil millones de Hz. ¿Y por qué no se utiliza luna medida del tiempo? Pues por motivos de mercadeo y no es otro que la velocidad que una persona entiende que es más potente una CPU a 4 GHz que otra a 3.8 GHz. En cambio, el valor en tiempo sería menos y eso provocaría confusiones al usuario final. Por otro lado, cuando hablamos de velocidad de reloj base nos referimos a la velocidad a la que funcionan la mayor parte del tiempo, ya que un procesador puede variar esta según cuál sea su carga de trabajo.
¿Qué es la velocidad de reloj de Boost o Turbo?
Algunos de los procesadores más modernos tienen una velocidad de Boost o Turbo, esta es una segunda velocidad de reloj que el procesador puede alcanzar y que es mucho más rápida. Sin embargo, esta consume más y calienta más el chip, por lo que solo puede mantenerla durante un periodo de tiempo muy corto antes de volver a la velocidad original. Esta se suele activar en ciertos momentos en que el procesador tiene mucho trabajo que hacer para podérselo quitar de encima de forma rápida.
Tienen la ventaja de que esas velocidades extra están supervisadas, bendecidas y garantizadas por el fabricante, por lo que sobre el papel el procesador no correrá ningún peligro. Es una especie de overclocked pero sin que nosotros tomemos los riesgos, sino que es la propia responsable del componente la que guarda un extra de potencia si necesitamos activarla para una tarea concreta. No para que la tengamos permanentemente activa.
¿Qué es el socket de un procesador?
El socket del procesador es el espacio en el que el procesador va conectado, es decir, donde se enchufa a la placa base y le da todas las conexiones tanto para poderse alimentar desde la fuente de alimentación como para conectarse con el resto de componentes del ordenador. Es decir, sirve para que el procesador se comunique con la tarjeta gráfica, la memoria RAM, la unidad de almacenamiento que tengamos, sea esta un SSD o un disco duro, y también con los periféricos.
Sin embargo, el socket no es universal y no solo cada generación de procesadores, sino también cada marca tiene su propio socket. Esto significa que si compras un procesador solo podrás usarlo en placas base que tengan dicho socket. En otras palabras, cada oveja con su pareja y si tienes pensado un ordenador por piezas deberás optar por una placa base que sea compatible con la CPU que ha escogido. Esto, en cambio, no ocurre con los ordenadores portátiles, donde el procesador se encuentra directamente soldado la placa sin un socket por el medio. Claro está que nadie vende un portátil a piezas, sino que se vende como un todo integrado.
¿Qué es el procesador en un PC?
Un procesador o CPU, siglas que corresponden a unidad central de proceso en inglés, es el chip más importante que podemos encontrar dentro de nuestro ordenador o PC. Su trabajo es el de ejecutar los programas y controlar la interacción de los usuarios con estos. Se le llama procesador por el hecho que se encarga de procesar las instrucciones de los programas, escritas en binario y, por tanto, con valores de 0 y 1, y hacer posible que veamos todos esas aplicaciones con las que podemos interactuar al usar un ordenador.
Se trata de una pieza extremadamente compleja de ingeniería a día de hoy, debido a estar formado por miles de millones de estructuras básicas que son los transistores. Además, debido a que cada cierto tiempo se consiguen crear transistores mucho más pequeños, estos cada vez son mejores, ya que no solo han aumentado su complejidad. Todo ello ha permitido ir integrando piezas que antes se encontraban fuera del mismo, como es el caso del controlador de memoria. No olvidemos que un procesador de principios de los 80 estaba compuesto por menos de 100.000 transistores, a día de hoy y tras 40 años tenemos CPU con una complejidad de 10.000.000.000 de transistores.
Por lo que a día de hoy un procesador es sumamente complejo, es por ello que para que lo podáis entender mucho mejor vamos a ir a lo más básico, que es lo que tienen en común todos los procesadores, desde los más básicos que salieron a mediados de los 70 hasta los que utilizáis a día de hoy en el PC Gaming más potente. Porque al final la estructura se ha modificado muy poco –por no decir nada– y lo que de verdad ha visto cómo se modificaba era la cantidad de elementos presentes en su interior.
Anatomía básica de un procesador
Lo primero que hemos de tener en cuenta es que un procesador es una máquina y, por tanto, ejecuta un trabajo recursivo al que llamamos ciclo de instrucción, para no complicar las cosas para el lector lo vamos a dejar en una descripción simple del mismo:
- El procesador capta la instrucción. (Fetch)
- Se descodifica la instrucción. (Decode)
- La instrucción ya descodificada es resuelta y se devuelve el resultado. (Execute)
- Se vuelve al paso 1
Esto ocurre de forma recursiva en todas las CPU que han estado funcionando desde que se creó la primera hasta la que ha salido recientemente en el momento en que estás leyendo esto. Sin embargo, creemos que reducir la explicación a esto no ayuda a conocer lo que es un procesador, por lo que daremos una pincelada rápida a los diferentes componentes que lo componen.
Fetch
Hemos de tener en cuenta que todo procesador no puede funcionar sin su memoria RAM correspondiente, la cual es otro componente del ordenador y se encuentra habitualmente en un chip aparte. Por lo que el primer componente que vamos a necesitar para montar nuestro ordenador es una interfaz con la memoria externa, la cual le permite acceder al código binario almacenado y que ha de ejecutar.
Dado que la memoria RAM está organizada de manera ordenada, necesitamos una pieza que le diga a nuestro procesador donde se encuentra la siguiente instrucción a ejecutar, a esto se le llama contador de programa. Esto es importante, ya que los programas no son solo secuenciales, sino que tienen lo que llamamos saltos, donde dada una condición el procesador tiene que cambiar desde donde está leyendo de la memoria.
Decode
Con los elementos descritos en la sección anterior podemos captar las instrucciones a hacer desde la RAM, pero estas se encuentran codificadas de una manera concreta y no nos referimos solamente a que la información está codificada en binario, sino a la interpretación de la misma. Dos personas pueden conocer el mismo abecedario, por ejemplo un francés y un alemán, sin embargo, pueden entender las letras, sin embargo, no saben leer el idioma que escribe el otro. Pues bien, a la lengua o dialecto de cada familia de procesadores la llamamos ISA o set de instrucciones y registros.
Por lo que vamos a necesitar una unidad que sea capaz de descodificar esa instrucción, la cual y de manera muy poco original recibe el nombre de descodificador y le permite saber al procesador que tipo de instrucción ha de ejecutar. Una vez que lo sabe solo necesita enviarla a la unidad de ejecución correspondiente al tipo de instrucción para que esta la resuelva, de lo cual se encargará la unidad de dispatch.
Execute
Históricamente, a las unidades de ejecución se les ha llamado ALU en muchos libros sobre arquitectura de computadores, pero la ALU es solo un tipo de unidad de ejecución y hay muchos tipos de ALU distintas, a continuación os las vamos a describir una por una cuál es cada una:
- Load/Store Unit: una unidad que se encarga de gestionar las instrucciones de acceso a la memoria, ya sea para obtener datos (lectura) o modificar datos (escritura).
- Branch Unit: es la unidad que se encarga de controlar los saltos en el código, por tanto, su tarea principal es modificar el valor que almacena el contador de programa.
- ALU: se encarga de realizar los cálculos matemáticos, las hay de muchos tipos. Desde la que trabajan con números enteros o decimales, hasta la que puede ejecutar una misma instrucción en varios números distintos al mismo tiempo. A estas últimas las llamamos unidades SIMD.
Memoria dentro del procesador
Dentro del procesador tenemos una serie de memorias que sirven para almacenar datos de manera temporal. Esto evitar que las diferentes unidades tengan que acceder a la memoria RAM, ya que si esto ocurriese, la RAM del sistema se vería colapsada por la cantidad de peticiones que tendría que cumplir y ralentizaría por completo al procesador
Existen dos tipos de memoria interna en una CPU, la cuales son:
- Memoria caché: su trabajo es almacenar una parte de la RAM para hacer que el procesador acceda al código a ejecutar de forma más rápido.
- Registros: estas son memorias muy pequeñas que son utilizadas por los diferentes componentes del procesador para ejecutar las tareas recursivas que os hemos comentado en este artículo.
Esto es todo, con ello ya podéis entender lo básico para saber como funciona la CPU de vuestro sistema y qué podéis esperar de él, así como atisbar el futuro de las próximas generaciones y qué pueden llegar a mejorar. ¿No?