El procesador (CPU, por Central Processing Unit o Unidad Central de Procesamiento), es por decirlo de alguna manera, el cerebro del ordenador. Permite el procesamiento de información numérica, es decir, información ingresada en formato binario, así como la ejecución de instrucciones almacenadas en la memoria.
El primer microprocesador (Intel 4004) se inventó en 1971. Era un dispositivo de cálculo de 4 bits, con una velocidad de 108 kHz. Desde entonces, la potencia de los microprocesadores ha aumentado de manera exponencial. Funcionamiento
El procesador (denominado CPU, por Central Processing Unit) es un circuito electrónico que funciona a la velocidad de un reloj interno, gracias a un cristal de cuarzo que, sometido a una corriente eléctrica, envía pulsos, denominados "picos". La velocidad de reloj (también denominada ciclo), corresponde al número de pulsos por segundo, expresados en Hertz (Hz). De este modo, un ordenador de 200 MHz posee un reloj que envía 200.000.000 pulsos por segundo. Por lo general, la frecuencia de reloj es un múltiplo de la frecuencia del sistema (FSB, Front-Side Bus o Bus de la Parte Frontal), es decir, un múltiplo de la frecuencia de la placa madre.
Con cada pico de reloj, el procesador ejecuta una acción que corresponde a su vez a una instrucción o bien a una parte de ella. La medida CPI (Cycles Per Instruction o Ciclos por Instrucción) representa el número promedio de ciclos de reloj necesarios para que el microprocesador ejecute una instrucción. En consecuencia, la potencia del microprocesador puede caracterizarse por el número de instrucciones por segundo que es capaz de procesar. Los MIPS (millions of instructions per second o millones de instrucciones por segundo) son las unidades que se utilizan, y corresponden a la frecuencia del procesador dividida por el número de CPI.
Instrucciones
Una instrucción es una operación elemental que el procesador puede cumplir.. Las instrucciones se almacenan en la memoria principal, esperando ser tratadas por el procesador. Las instrucciones poseen dos campos:
- el código de operación, que representa la acción que el procesador debe ejecutar;
- el código operando, que define los parámetros de la acción. El código operando depende a su vez de la operación. Puede tratarse tanto de información como de una dirección de memoria.
Registros
Cuando el procesador ejecuta instrucciones, la información almacena en forma temporal en pequeñas ubicaciones de memoria local de 8, 16, 32 o 64 bits, denominadas registros. Dependiendo del tipo de procesador, el número total de registros puede variar de 10 a varios cientos.
Los registros más importantes son:
- el registro acumulador (ACC), que almacena los resultados de las operaciones aritméticas y lógicas;
- el registro de estado (PSW, Processor Estado: Word o Palabra de Estado del Procesador), que contiene los indicadores de estado del sistema (lleva dígitos, desbordamientos, etc.);
- el registro de instrucción (RI), que contiene la instrucción que está siendo procesada actualmente;
- el contador ordinal (OC o PC por Program Counter, Contador de Programa), que contiene la dirección de la siguiente instrucción a procesar;
- el registro del búfer, que almacena información en forma temporal desde la memoria.
La memoria caché (también memoria buffer) es una memoria rápida que permite reducir los tiempos de espera de las distintas informaciones almacenada en la RAM (Random Access Memory o Memoria de Acceso Aleatorio). En efecto, la memoria principal del ordenador es más lenta que la del procesador. Existen, sin embargo, tipos de memoria que son mucho más rápidos, pero que tienen un costo más elevado. La solución consiste entonces, en incluir este tipo de memoria local próxima al procesador y en almacenar en forma temporal la información principal que se procesará en él. Los últimos modelos de ordenadores poseen muchos niveles distintos de memoria caché:
- La Memoria caché nivel 1 (denominada L1 Cache, por Level 1 Cache) se encuentra integrada directamente al procesador. Se subdivide en dos partes:
- la primera parte es la caché de instrucción, que contiene instrucciones de la RAM que fueron decodificadas durante su paso por las canalizaciones.
- la segunda parte es la caché de información, que contiene información de la RAM, así como información utilizada recientemente durante el funcionamiento del procesador.
El tiempo de espera para acceder a las memorias caché nivel 1 es muy breve; es similar al de los registros internos del procesador.
- La memoria caché nivel 2 (denominada L2 Cache, por Level 2 Cache) se encuentra ubicada en la carcasa junto con el procesador (en el chip). La caché nivel 2 es un intermediario entre el procesador con su caché interna y la RAM. Se puede acceder más rápidamente que a la RAM, pero no tanto como a la caché nivel 1.
- La memoria caché nivel 3 (denominada L3 Cache, por Level 3 Cache) se encuentra ubicada en la placa madre.
Todos estos niveles de caché reducen el tiempo de latencia de diversos tipos de memoria al procesar o transferir información. Mientras el procesador está en funcionamiento, el controlador de la caché nivel 1 puede interconectarse con el controlador de la caché nivel 2, con el fin de transferir información sin entorpecer el funcionamiento del procesador. También, la caché nivel 2 puede interconectarse con la
El siguiente diagrama suministra una representación simplificada de los elementos que componen el procesador (la distribución física de los elementos es diferente a la disposición
Transistor
Con el fin de procesar la información, el microprocesador posee un grupo de instrucciones, denominado "conjunto de instrucciones", hecho posible gracias a los circuitos electrónicos. Más precisamente, el conjunto de instrucciones se realiza con la ayuda de semiconductores, pequeños "conmutadores de circuito" que utilizan el efecto transistor, descubierto en 1947 por John Barden, Walter H. Brattain y William Shockley, quienes recibieron por ello el premio Nobel en 1956.
Un transistor (contracción de los términos transferencia y resistor) es un componente electrónico semi-conductor que posee tres electrodos capaces de modificar la corriente que pasa a través suyo, utilizando uno de estos electrodos (denominado electrodo de control). Éstos reciben el nombre de "componentes activos", en contraste a los "componentes pasivos", tales como la resistencia o los capacitores, que sólo cuentan con dos electrodos (a los que se denomina "bipolares").
El transistor MOS (metal, óxido, silicona) es el tipo de transistor más común utilizado en el diseño de circuitos integrados. Los transistores MOS poseen dos áreas con carga negativa, denominadas respectivamente fuente (con una carga casi nula), y drenaje (con una carga de 5V), separadas por una región con carga positiva, denominada sustrato. El sustrato posee un electrodo de control superpuesto, denominado puerta, que permite aplicar la carga al sustrato.
Cuando una tensión no se aplica en el electrodo de control, el sustrato con carga positiva actúa como barrera y evita el movimiento de electrones de la fuente al drenaje. Sin embargo, cuando se aplica la carga a la puerta, las cargas positivas del sustrato son repelidas y se realiza la apertura de un canal de comunicación con carga negativa entre la fuente y el drenaje.
Circuitos Integrados
Una vez combinados, los transistores pueden constituir circuitos lógicos que, al combinarse, forman procesadores. El primer circuito integrado data de 1958 y fue construido por Texas Instruments.
Los transistores MOS se componen, entonces, de láminas de silicona (denominadas obleas), obtenidas luego de múltiples procesos. Dichas láminas de silicona se cortan en elementos rectangulares para formar un "circuito". Los circuitos se colocan luego en carcasas con conectores de entrada-salida, y la suma de esas partes compone un "circuito integrado". La minuciosidad del grabado, expresado en micrones (micrómetros, se escribe µm) define el número de transistores por unidad de superficie. Puede haber millones de transistores en un sólo procesador.
La Ley de Moore, escrita en 1965 por Gordon E. Moore, cofundador de Intel, predijo que el rendimiento del procesador (por extensión del número de transistores integrados a la silicona) se duplicaría cada 12 meses. Esta ley se revisó en 1975, y se cambió el número de meses a 18. La Ley de Moore sigue vigente hasta nuestros días.
Dado que la carcasa rectangular contiene clavijas de entrada-salida que parecen patas, en Francia se utiliza el término "pulga electrónica" para referirse a los circuitos integrados.
Familias
Cada tipo de procesador posee su propio conjunto de instrucciones. Los procesadores se agrupan en las siguientes familias, de acuerdo con sus conjuntos de instrucciones exclusivos:
- 80x86: la "x" representa la familia. Se hace mención a 386, 486, 586, 686, etc.
- ARM
- IA-64
- MIPS
- Motorola 6800
- PowerPC
- SPARC
Canalización
Se denomina canalización a la tecnología destinada a mejorar la velocidad de ejecución de instrucciones mediante la colocación de las diversas etapas en paralelo.
A fin de comprender el mecanismo de canalización, es necesario primero comprender las etapas de ejecución de una instrucción. Las etapas de ejecución de una instrucción correspondientes a un procesador con canalización "clásica" de 5 pasos son las siguientes:
- RECUPERACIÓN: (recupera la instrucción de la caché;
- DECODIFICACIÓN: decodifica la instrucción y busca operando (valores de registro o inmediatos);
- EJECUCIÓN: ejecuta la instrucción (por ejemplo, si se trata de una instrucción ADD, se realiza una suma, si es una instrucción SUB, se realiza una resta, etc.);
- MEMORIA: accede a la memoria, y escribe o recupera información desde allí;
- POST ESCRITURA (retirar): registra el valor calculado en un registro.
Esto explica por qué un programa producido para un tipo específico de procesador sólo puede trabajar directamente en un sistema con otro tipo de procesador si se realiza lo que se denomina traducción de instrucciones, o emulación. El término "emulador" se utiliza para referirse al programa que realiza dicha traducción.
RAM (caché nivel 3) para permitir la transferencia sin entorpecer el funcionamiento normal del procesador.