Todas estas técnicas lo que tratan es de mejorar el IPC es decir la
capacidad del procesador de ejecutar más instrucciones en la misma cantidad de
tiempo.
¿Cómo funciona un procesador?
El procesador, también conocido como CPU o micro, es el cerebro del
PC. Sus funciones principales incluyen la ejecución de las aplicaciones y la
coordinación de los diferentes dispositivos que componen el equipo.
En realidad, no es más que una pequeña pastilla de silicio la cual
está recubierta de lo que llamamos encapsulado. Este se inserta en la placa
base sobre un conector que se denomina socket, aunque en un laptop o portátil
lo normal es que se suelde directamente. Existen tres modelos de encapsulado,
PGA, LGA y BGA.
La placa se convierte así en la encargada de la conexión con los
restantes dispositivos del equipo, como son la memoria RAM, la tarjeta gráfica
o el disco duro usando para ello un conjunto de circuitos y chips denominado
chipset.
El procesador es uno de los elementos del PC que más ha evolucionado,
tanto en su proceso de fabricación, como en su arquitectura interna.
Gracias a estas mejoras, se han podido incluir más bloques funcionales
en su interior. En un principio fue el controlador de memoria, después la
tarjeta gráfica y en un futuro muy cercano, pasaremos del concepto de
procesador a lo que se denomina SOC, es decir, un chip con todos los elementos
de la placa base en su interior.
¿Qué componentes tiene un procesador?
Ten en cuenta que no todos son iguales pero la mayoría de ellos
incluyen entre otros elementos:
Núcleos. Un núcleo no es más que un procesador en miniatura. Al tener
varios es posible acelerar ciertos tipos de aplicaciones y evitar bloqueos.
Cache. La memoria cache es el elemento del sistema de memoria de un PC
que se encuentra en el interior del micro, se usa para acelerar la velocidad de
los accesos a la RAM.
La cache se encuentra, a su vez, organizada en varios niveles cada uno
más lento y grande que el anterior. Será tarea del micro dejar los datos que
más se usen lo más cerca posible para así acelerar todo el sistema.
Controlador de memoria. Este fue uno de los primeros elementos que se
integro consiguiendo acelerar el acceso la memoria RAM. Esto tiene un
inconveniente y es que sólo puedes usar el tipo de memoria para la que tu
procesador este preparado.
Esto no ocurría antes que la memoria dependía de la placa base y no
era raro que esta estuviera preparada para poder funcionar con varios tipos de
memoria RAM.
Tarjeta gráfica. Si integran este componente ya no hablamos de CPUs
sino de APUs. Ya no estaríamos ante un micro convencional si no ante un hibrido
entre procesador y tarjeta gráfica. En la actualidad y parece que en
desarrollos futuros casi todos los micros con los que te encuentres serán de
este tipo.
La inclusión de este elemento es muy atractiva ya que las tarjetas
gráficas están compuestas de pequeños núcleos en su interior que pueden usarse
para acelerar cierto tipo de aplicaciones que al pasar al interior del micro
pueden hacer su trabajo de una forma mucho más eficiente.
Otros elementos. Los micros han incorporado aún mas funcionalidad que
antes se encontraba sobre la placa base. Por ejemplo, el controlador de PCI
Express, aumentando la velocidad con la que el micro es capaz de comunicarse,
por ejemplo, con una tarjeta gráfica discreta.
Todo el sistema está gobernado por un reloj que se usa para
sincronizar los diferentes bloques funcionales. La velocidad a la que este
cambia de estado se denomina frecuencia de funcionamiento y está relacionada
con la capacidad de cómputo del sistema.
El funcionamiento de un procesador se puede dividir en las siguientes
etapas:
Se lee una instrucción de memoria. El conjunto de instrucciones de
cualquier procesador actual incluye más de mil diferentes y va creciendo con el
tiempo. Se añaden para mejorar la velocidad de procesamiento de ciertas
aplicaciones.
Se buscan los datos. Algunas instrucciones necesitaran de datos para
realizar sus cálculos que pueden no encontrarse dentro del procesador y tendrán
que buscarse por tanto en el sistema de memoria.
Se realiza la operación. Una vez que se tiene todo se ejecuta la
operación, para esto puede ser necesario el trabajo de varios bloques como la
unidad aritmética lógica o la de punto flotante.
Se pasa a la siguiente instrucción. Que no es siempre la que se
encuentra a continuación en la memoria. Muchas instrucciones pueden cambiar el
flujo del programa y permitir saltos o repetir ciertas acciones hasta que se
cumpla una determinada condición.
Una de las técnicas más usadas para aumentar la velocidad incluye la
ejecución de instrucciones fuera de orden intentando optimizar el uso de los
bloques funcionales. En estos procesadores se ejecutan las operaciones cuando
están sus datos y no en el orden en que fueron escritas. Esto por supuesto
lleva a una arquitectura más compleja que debe de controlar que los resultados
sean coherentes.
Otra de las mejoras es el predictor de saltos. Este elemento trata de
acertar si en una determinada operación se va a producir una bifurcación en el
código o no. De esta forma puede ejecutar las instrucciones de una determinada
rama incluso antes de saber si se va a producir un salto a ella.
No hay comentarios:
Publicar un comentario