Professional Documents
Culture Documents
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:
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.
Memoria caché
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é:
El tiempo de espera para acceder a las memorias caché nivel 1 es muy breve; es similar
al de los registros internos del procesador.
Señales de Control
Las señales de control son señales electrónicas que orquestan las diversas unidades del
procesador que participan en la ejecución de una instrucción. Dichas señales se envían
utilizando un elemento denominado secuenciador. Por ejemplo, la señal Leer/Escribir
permite que la memoria se entere de que el procesador desea leer o escribir información.
Unidades Funcionales
El procesador se compone de un grupo de unidades interrelacionadas (o unidades de
control). Aunque la arquitectura del microprocesador varía considerablemente de un
diseño a otro, los elementos principales del microprocesador son los siguientes:
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.
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
...
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.
Conjunto de Instrucciones
Un conjunto de instrucciones es la suma de las operaciones básicas que puede cumplir
un procesador. El conjunto de instrucciones de un procesador es un factor determinante
en la arquitectura del éste, aunque una misma arquitectura puede llevar a diferentes
implementaciones por diferentes fabricantes.
Arquitectura CISC
La arquitectura CISC (Complex Instruction Set Computer, Ordenador de Conjunto de
Instrucciones Complejas) se refiere a la conexión permanente del procesador con las
instrucciones complejas, difíciles de crear a partir de las instrucciones de base.
La arquitectura CISC es especialmente popular en procesadores de tipo 80x86. Este
tipo de arquitectura tiene un costo elevado a causa de las funciones avanzadas impresas
en la silicona.
Las instrucciones son de longitud diversa, y a veces requieren más de un ciclo de reloj.
Dado que los procesadores basados en la arquitectura CISC sólo pueden procesar una
instrucción a la vez, el tiempo de procesamiento es una función del tamaño de la
instrucción.
Arquitectura RISC
Los procesadores con tecnología RISC (Reduced Instruction Set Computer, Ordenador
de Conjunto de Instrucciones Reducidas) no poseen funciones avanzadas conectadas en
forma permanente.
Es por eso que los programas deben traducirse en instrucciones sencillas, lo cual
complica el desarrollo o hace necesaria la utilización de un procesador más potente.
Este tipo de arquitectura tiene un costo de producción reducido si se lo compara con los
procesadores CISC. Además, las instrucciones de naturaleza sencilla se ejecutan en un
sólo ciclo de reloj, lo cual acelera la ejecución del programa si se lo compara con los
procesadores CISC. Para terminar, dichos procesadores pueden manejar múltiples
instrucciones en forma simultánea, procesándolas en paralelo.
Mejoras Tecnológicas
A través del tiempo, los fabricantes de microprocesadores (denominados fundadores)
han desarrollado un determinado número de mejoras que optimizan el rendimiento del
procesador.
Procesamiento Paralelo
El procesamiento paralelo consiste en la ejecución simultánea de instrucciones desde
el mismo programa pero en diferentes procesadores. Implica la división del programa en
múltiples procesos manejados en paralelo a fin de reducir el tiempo de ejecución.
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:
El objetivo de la canalización es ejecutar cada paso en paralelo con los pasos anteriores
y los siguientes, lo que implica leer la instrucción (RECUPERACIÓN) mientras se lee
el paso anterior (DECODIFICACIÓN), al momento en que el paso anterior está siendo
ejecutado (EJECUCIÓN) al mismo tiempo que el paso anterior se está escribiendo en la
memoria (MEMORIA), y que el primer paso de la serie se registra en un registro (POST
ESCRITURA).
En general, deben planificarse 1 o 2 ciclos de reloj (rara vez más) para cada paso de
canalización, o un máximo de 10 ciclos de reloj por instrucción. Para dos instrucciones,
se necesita un máximo de 12 ciclos de reloj (10+2=12 en lugar de 10*2=20), dado que
la instrucción anterior ya se encontraba en la canalización. Ambas instrucciones se
procesan simultáneamente, aunque con una demora de 1 o 2 ciclos de reloj. Para 3
instrucciones, se necesitan 14 ciclos de reloj, etc.
Debe notarse que existen muchos tipos diferentes de canalizaciones, con cantidades que
varían entre 2 y 40 pasos, pero el principio siempre es el mismo.
Superscaling
La tecnología Superscaling consiste en ubicar múltiples unidades de procesamiento en
paralelo con el fin de procesar múltiples instrucciones por ciclo.
HyperThreading
La tecnología HyperThreading (se escribe HT) consiste en ubicar dos procesadores
lógicos junto con un procesador físico. El sistema reconoce así dos procesadores físicos
y se comporta como un sistema multitareas, enviando de esta manera, dos subprocesos
simultáneos denominados SMT (Simultaneous Multi Threading, Multiprocesamiento
Simultáneo). Este "engaño", por decirlo de alguna manera, permite emplear mejor los
recursos del procesador, garantizando el envío masivo de información al éste.