El
procesador es el cerebro de tu equipo. Es el encargado de ejecutar las
aplicaciones, interactuar con el teclado, el ratón, etc. Su cometido es clave
dentro de cualquier PC.
Su
funcionamiento, se puede ver, de forma esquemática y simplificada dividido en
los siguientes pasos:
Lee una
instrucción. Los programas están compuestos de instrucciones y datos. Las
primeras indican al procesador que tareas deben de realizarse sobre los
segundos.
Una instrucción por ejemplo, es la suma de A más B, donde tanto A como B
son datos. Por lo tanto el primer paso consiste en leer esa instrucción de la
memoria.
Lee los datos asociados a esa
instrucción. Una vez leída la instrucción, y analizados los datos que se van a
procesar, estos son leídos de la memoria.
Siguiendo con el ejemplo anterior, A y B serían leídos de la memoria.
Dependiendo de la instrucción estos pueden o no estar en memoria.
Procesa la información y se escribe a
memoria los datos. Se realiza la operación. Dependiendo de la
instrucción, el resultado puede ser escrito en memoria, o quedar almacenado
dentro del procesador, en un registro del mismo para un posterior uso.
Se pasa a la siguiente instrucción. Lo normal es pasar
a la siguiente instrucción. Pero no todas son iguales y puede que alguna cambie
el flujo del programa. Por ejemplo, una puede decidir que se repitan las
anteriores instrucciones hasta que no se cumpla una determinada condición.
¿Donde se almacenan los datos y las instrucciones?
Los procesadores, de los PC, utilizan
la arquitectura de Von Neumann.
Obten tu Titulo sin asistir a clase Universidad Virtual.
Comunícate con tus amigos y familia Es gratis y lo será siempre.
En ella, tanto los datos como las instrucciones, son leídos de la misma
memoria.
En un PC, no existe un sólo
dispositivo al que podamos denominar memoria, sino que realmente estamos ante
un sistema jerarquizado en varios niveles. Cuando el equipo esta apagado, los
datos y programas se almacenan en el disco duro.
Cuando este se enciende, se leen y se
escriben en la memoria RAM que es donde los programas
realmente se ejecutan.
La RAM es miles de veces más rápida que el disco duro y por lo tanto es
ideal para almacenar los programas cuando son ejecutados.
¿Qué se hace para acelerar ese flujo de datos e
instrucciones?
El uso de la arquitectura de Von Neumann hace que la velocidad a la que
se leen y escriben los datos e instrucciones sea muy importante. Puede darse el
caso que todo el procesador se encuentre a la espera de recibir datos quedando
la máquina bloqueada hasta que estos no lleguen.
La solución tomada por los ingenieros
de los procesadores para acelerar este enlace es añadir más niveles a la
jerarquía de memoria. Se insertan varios niveles de memoria, los cuales son
denominados cache, dentro del procesador.
Cada nivel, intenta almacenar los
valores que más se consultan, haciendo las sucesivas lecturas más fluidas. El
cometido de la memoria cache es por tanto sencillo, que los datos estén lo más
cerca posible de donde van a ser procesados. Este elemento, es muy importante y
por eso se suele dar su tamaño cuando consultamos las especificaciones técnicas de los micros.
¿Cómo se puede acelerar el procesamiento de las
instrucciones?
Una vez que se soluciona el problema de los flujos de instrucciones y
datos, los ingenieros se enfrentan a otro problema y es acelerar en la medida
de lo posible el procesamiento de cada una de ellas.
Un procesador no tiene un sólo bloque para trabajar con las funciones si
no que puede estar compuesto por varios. Cuando se procesa una instrucción, se
divide para utilizar los distintos bloques del procesador. Realmente lo que se
hace es dividir una instrucción muy compleja en partes más pequeñas conocidas
como microinstrucciones.
De esta forma un procesador es capaz incluso, de ejecutar varias de
estas instrucciones por reloj. Todo depende de la habilidad que tenga.
La parte del procesador encargada de
realizar todo este proceso es la unidad de control.
¿Cómo se realizan las operaciones?
El micro tiene en su interior unas
pequeñas memorias denominadas registros. En estos, se introducen los datos
de las operaciones que van a ser almacenados, se ejecuta la operación y en otro
de estos registros se devuelve la información.
Si las operaciones son complejas se
utilizan bloques funcionales adaptados como son lasALUS y las FPUs.
Con la aparición de nuevos conjuntos de instrucciones, orientadas a
acelerar procesados matemáticos como los que puedes encontrar en aplicaciones
multimedia o de generación de gráficos tridimensionales, el número de estos
registros y sus tamaños ha aumentado de manera exponencial.
¿Cómo intervienen las instrucciones de salto?
No todas las instrucciones son del mismo tipo sino que existen algunas
que dependiendo de ciertas condiciones pueden saltar a otros lugares del
programa. Los procesadores juegan con adelantarse a los resultados, a veces
ejecutas la primera y la tercera operación siguientes por ejemplo antes que se
realiza la segunda, pero las instrucciones condicionales lo pueden cambiar
todo.
Esto hace que buen predictor de salto sea importante para que el
procesador pueda seguir funcionando a plena potencia.
No hay comentarios:
Publicar un comentario