Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
Código de Operación Campo de Operación
El número de bits en una instrucción varía de acuerdo al tipo de información (entre 1 y
4 bytes de 8 bits).
Las instrucciones pueden agruparse en distintas categorías. A continuación presentamos
algunas de las más importantes:
• Acceso a Memoria: acceso a la memoria o transferencia de información entre
registros.
• Operaciones Aritméticas: operaciones tales como suma, resta, división o
multiplicación.
• Operaciones Lógicas: operaciones tales como Y, O, NO, NO EXCLUSIVO,
etc.
• Control: controles de secuencia, conexiones condicionales, etc.
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.
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é:
• 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 RAM (caché nivel 3)
para permitir la transferencia sin entorpecer el funcionamiento normal 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:
• Una unidad de control que vincula la información entrante para luego
decodificarla y enviarla a la unidad de ejecución:
La unidad de control se compone de los siguientes elementos:
○ secuenciador (o unidad lógica y de supervisión ), que sincroniza la
ejecución de la instrucción con la velocidad de reloj. También envía
señales de control:
○ contador ordinal, que contiene la dirección de la instrucción que se está
ejecutando actualmente;
○ registro de instrucción, que contiene la instrucción siguiente.
• Una unidad de ejecución (o unidad de procesamiento), que cumple las tareas
que le asigna la unidad de instrucción. La unidad de ejecución se compone de
los siguientes elementos:
○ la unidad aritmética lógica (se escribe ALU); sirve para la ejecución de
cálculos aritméticos básicos y funciones lógicas (Y, O, O EXCLUSIVO,
etc.);
○ la unidad de punto flotante (se escribe FPU), que ejecuta cálculos
complejos parciales que la unidad aritmética lógica no puede realizar;
○ el registro de estado;
○ el registro acumulador.
• Una unidad de administración del bus (o unidad de entrada-salida) que
administra el flujo de información entrante y saliente, y que se encuentra
interconectado con el sistema RAM;
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.
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.
El principio de la canalización puede compararse a una línea de ensamblaje automotriz.
El auto se mueve de una estación de trabajo a la otra a lo largo de la línea de ensamblaje
y para cuando sale de la fábrica, está completamente terminado. A fin de comprender
bien el principio, debe visualizarse la línea de ensamblaje como un todo, y no vehículo
por vehículo. Se necesitan tres horas para producir cada vehículo, pero en realidad se
produce uno por minuto.
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.