
¿Qué sabe Ud. del Pentium además del nombre? ¿O de las G3 y G4? ¿Celeron?
Aunque el procesador es uno de los elementos más importantes de nuestras computadoras, en general sabemos poco acerca de él. Por supuesto que podemos pensar "solamente me interesa que trabaje bien", pero con un poquito más de conocimiento podemos comprar el computador con el procesador adecuado a nuestras necesidades y así evitar gastar el doble en un sistema con capacidades que nunca vamos a aprovechar.
Antes de empezar con la exposición, comencemos con unos cuantos conceptos.
Es el conjunto de chips que se encarga de controlar el flujo de bits entre el CPU, la memoria del sistema y el bus de la tarjeta madre. Es el pegamento que une al CPU con el resto de la computadora. Ejemplos son los 440BX y 820 de Intel y el KX133 de VIA.
Note que si el chipset no es eficiente, el rendimiento del sistema completo sufre. Esto lo pone al mismo nivel de importancia del procesador.
Es el conjunto de líneas (bus) que comunica el CPU con el chipset.
Su velocidad puede ser diferente al de la comunicación entre el chipset y la memoria. Por ejemplo, los procesadores Athlon se comunican a 200 MHz con su chipset y éste se puede comunicar con la memoria a 100,133 ó 266 MHz.
Fabricar memorias que permitan al procesador correr sin esperar por ellas es sumamente costoso, además, ocuparían demasiado espacio. Podríamos utilizar memoria más lentas pero más baratas de fabricar y que ocupen menos espacio, pero perderíamos velocidad de procesamiento. Una solución intermedia entre ambos extremos lo constituyen las memorias caché.
Los caché son memorias ultrarrápidas que se sitúan entre el procesador y la memoria principal. Cuando el procesador requiere algo de la memoria, instrucciones o datos, primero busca en el caché. Si lo consigue, la espera es mínima. En caso contrario, tiene que hacer la búsqueda en la memoria principal, lo cual tarda cierto tiempo. Lo que lee se almacena en el caché, de manera que la próxima vez que lo necesite, lo puede obtener rápidamente.
Los caché son tan convenientes que los fabricantes de procesadores incluyen cierta cantidad dentro del mismo chip. Éste se llama caché de nivel 1, o simplemente caché L1.
Pero el caché L1 puede resultar insuficiente. En este caso utilizamos caché de nivel 2 o L2, el cual puede estar también en el mismo chip (como en las Athlon "Thunderbird" y Pentium III "Coppermine") o fuera (como en las Pentium III y Athlon "clásicas"). Cuando está fuera del chip, el acceso se puede hacer a través del bus del sistema o a través de un bus dedicado ("backside caché").
Un procesador moderno puede ejecutar varias instrucciones a la vez. Este trabajo lo realizan las unidades de ejecución. Existen unidades especializadas en instrucciones que involucran operaciones con números enteros y otras para operaciones sobre números con decimales (punto flotante). Hay otras más que veremos luego.
Para los números que tienen decimales, utilizamos los registros, operaciones y unidades de ejecución de punto flotante.
Existe un formato estándar para números de punto flotante que ocupa 32 bits y otro de mayor precisión que ocupa 64 bits. Para distinguirlos, los llamamos números de punto flotante de precisión simple y de doble precisión, respectivamente.
Con varias unidades de ejecución que pueden funcionar al mismo tiempo, lo más razonable sería mantenerlas ocupadas la mayor parte del tiempo posible. Una forma es el uso del pipeline, o línea de ensamblaje.
Una línea de ensamblaje está dividida en varios pasos o etapas. Cada etapa depende de la culminación de la anterior, pero cuando cada una de ellas ya tiene algo que hacer, todas pueden realizarse al mismo tiempo. Si ocurre algo en una de las etapas que interrumpe el flujo del trabajo, todo lo realizado por las etapas anteriores se pierde, y hay que volver a llenar el pipeline, lo cual toma tiempo.
Mientras más larga sea el pipeline, más trabajo puede hacer el procesador al mismo tiempo, pero también implica que es mayor el trabajo y tiempo perdidos si ocurre una interrupción del flujo de trabajo.
Un procesador puede tener más de un pipeline. Por ejemplo, el Athlon tiene tres pipelines para operaciones de punto flotante.
Son partes del procesador que se utilizan para almacenar datos o resultados intermedios en un cálculo complejo. Por ejemplo, una operación de suma puede tomar los valores contenidos en dos registros, sumarlos y almacenar el resultado en un tercero. Como son parte del procesador, su acceso es rapidísimo. Por esta razón, un procesador con muchos registros tiene ventaja sobre uno con pocos registros.