Sunteți pe pagina 1din 7

EL PROCESADOR Y SUS REGISTROS INTERNOS

La Unidad Central de Proceso o (Central Processing Unit) es el componente encargado de


interpretar las instrucciones de los programas y procesar los datos. También se le conoce como
procesador o microprocesador. Es un componente fundamental en un ordenador y ha estado
presente desde sus inicios. Pero no es hasta la década de los 70 cuando se fabrican los primeros
procesadores a partir de circuitos integrados.

Funcionamiento del procesador

El procesador no es de una sola pieza. Está formado por una serie de componentes cada uno de
los cuales tiene una función concreta. El procesador trabaja de forma conjunta con la memoria
RAM, que es la que almacena las instrucciones y los datos de todos los programas que se están
ejecutando en el ordenador en un momento dado.

Componentes de un procesador

Un procesador está formado por una serie de componentes que trabajan de forma coordinada para
ejecutar las instrucciones que forman los programas. Estos componentes son los siguientes:

• Unidad de interface con el bus: es quien recibe las instrucciones y los datos directamente de la
memoria RAM a través del bus del sistema (o front side bus-FSB-).

• Unidad de decodificación: se encarga de decodificar la instrucción para determinar a qué


instrucción corresponde la secuencia de bits que acaba de leer y saber de esta forma qué tiene
que hacer el procesador con los datos leídos.

• Unidad aritmético-lógica (ALU): en ocasiones las instrucciones requieren de la realización de


algún cálculo. Este es el componente básico encargado de realizar operaciones matemáticas
(aritméticas y lógicas) con los datos.

• Registros: almacenan temporalmente los datos de la instrucción que está ejecutando en ese
momento la unidad aritmético-lógica. El tamaño de estos registros se mide en bits y determina el
tamaño máximo de los datos que puede manipular en una sola operación. Piensa que son unas
casillas que se rellenan con unos y ceros. Si tenemos más cifras que casillas, tendremos que hacer
la operación en 2 ó más veces porque no nos caben todos los datos.

En los procesadores actuales estos registros son de 32 o de 64 bits. Por esto decimos que un
procesador es de 64 bits. Fíjate que, al doblar el tamaño de los registros necesitaremos la mitad
de accesos en el caso de que las instrucciones no quepan en los registros, con lo que el ordenador
podría llegar a ser el doble de rápido.

• Reloj interno: todos los componentes anteriormente descritos trabajan de forma sincronizada por
impulsos. El reloj es el encargado de proporcionar los pulsos para que todos los elementos se
sincronicen.

• Unidad de control (UC): es la unidad que coordina el funcionamiento de todas las anteriores,
indicando de quién es el turno de operar en cada instante.
Equivalencias entre procesadores

De todos los fabricantes de procesadores Intel y AMD son los fabricantes de procesadores más
conocidos por usarse casi de forma exclusiva en los ordenadores personales.

Cada uno de ellos dispone de una amplia gama de procesadores, cada uno de los cuales está
destinado a un tipo de ordenador distinto.

Respecto a los ordenadores de sobremesa, suele haber algunos procesadores para equipos de
gama baja: usuarios que no necesitan mucha potencia porque su uso del ordenador va a ser
simple: procesamiento de textos, navegación básica (webs, correo, uso de redes sociales…) y
reproducción de elementos multimedia. Si se desea realizar tareas más complejas es necesario
acudir a los procesadores para los equipos de gama media y alta. La diferencia entre estos últimos
está en el tipo de aplicaciones que se van a ejecutar. Por ejemplo, los juegos son una de las
aplicaciones más exigentes que tenemos hoy en día.

Otro grupo son para los portátiles se suelen emplear los mismos procesadores de los equipos de
escritorio, adaptados para un menor consumo y también un menor calentamiento. El extremo son
los procesadores para netbooks, donde los procesadores ofrecen un consumo mínimo pero a
cambio de reducir también mucho las prestaciones. Estos equipos están pensados como un
segundo ordenador, para usarlo de forma puntual en desplazamientos.

Por último, existe un grupo de procesadores de alto rendimiento para equipos de gama muy alta,
normalmente servidores y estaciones de trabajo.
Registros de un procesador

Espacio de direcciones

Los procesadores IA-32 pueden acceder a 4 GB de memoria en modo protegido; este límite se
basa en el tamaño de una dirección representada por un número entero binario sin signo, de 32
bits. Los programas en modo de direccionamiento real tienen un rango de memoria de 1 MB. Si
el procesador se encuentra en modo protegido y ejecuta varios programas en modo 8086 virtual,
cada programa tiene su propia área de memoria de 1 MB.

Registros básicos de ejecución de un programa

Los registros son ubicaciones de almacenamiento de alta velocidad, que se encuentran


directamente dentro de la CPU, y están diseñados para una velocidad de acceso mucho
mayor que la de la memoria convencional. Por ejemplo, cuando se optimiza un ciclo de
procesamiento en base a la velocidad, los contadores del ciclo se guardan en registros, en
vez de variables. La figura 10 muestra los registros básicos de ejecución de un programa.
Hay ocho registros de propósito general, seis registros de segmento, un registro de las
banderas de estado del procesador (EFLAGS), y un apuntador de instrucciones (EIP).

Fig. Registros de propósito general de 32 bits

Registros de propósito general. Los registros de propósito general


se utilizan principalmente para las operaciones aritméticas y el movimiento de datos. Como se
muestra en la siguiente figura, cada registro puede direccionarse como un valor individual de
32 bits, o como dos valores de 16 bits.
Fig. Registros de propósito general

Hay partes de algunos registros que pueden direccionarse como valores de 8 bits. Por
ejemplo, el registro EAX de 32 bits tiene una mitad inferior de 16 bits llamada AX. A su vez, el
registro AX tiene una mitad superior de 8 bits llamada AH, y una mitad inferior de 8 bits
llamada AL. La misma relación de traslape existe para los registros EAX, EBX, ECX Y EDX:

Fig. Direccionamiento de 32 a 16 y 8 bits

El resto de los registros de propósito general solo tienen nombres específicos para sus 16
bits inferiores. Por lo general, los registros de 16 bits que se muestran aquí se utilizan cuando se
escriben programas en modo de direccionamiento real.

Fig. Registros de 32 bits que sólo tienen nombres específicos para


sus 16 bits inferiores
Usos especializados. Algunos registros de propósito general tienen usos especializados:

• EAX es el registro que utilizan de manera automática las instrucciones de


multiplicación y división.
• A menudo se Ie conoce como el registro acumulador extendido.
• La CPU utiliza de manera automática a ECX como su contador de ciclo.
• ESP direcciona datos en la pila (una estructura de memoria del sistema). Se utiliza
raras veces para operaciones aritméticas o de transferencia de datos ordinarias. A
menudo se Ie conoce como el registro apuntador de pila extendido.
• ESI y EDI son los registros que utilizan las instrucciones de transferencia de memoria
de alta velocidad.
• Algunas veces se les conoce como registros índice de origen extendido, e índice de
destino extendido.
• EBP es el registro que utilizan los lenguajes de alto nivel para hacer referencia a los
parámetros de funciones y las variables locales en la pila. No debe utilizarse para
operaciones aritméticas o de transferencia de datos ordinarias, excepto en un nivel
avanzado de programación. A menudo se Ie conoce como el registro apuntador de
estructura extendido.

Registros de segmento En el modo de direccionamiento real, los registros de segmento


indican las direcciones base de las aéreas pre-asignadas de memoria, conocidas
como segmentos. En el modo protegido, los registros de segmento guardan apuntadores a
tablas de descriptores de segmento. Algunos segmentos guardan instrucciones de un
programa (código), otros guardan variables (datos), y otro segmento llamado segmento de pila
guarda las variables de funciones locales y los parámetros de funciones.

Apuntador de instrucciones El registro EIP, o apuntador de instrucciones, contiene la


dirección de la siguiente instrucción a ejecutar. Ciertas instrucciones de maquina manipulan a
EIP, para que el programa se bifurque hacia una nueva ubicación.

Registro EFLAGS EI registro EFLAGS (o simplemente Flags) consiste en bits binarios


individuales que controlan la operación de la CPU, o que reflejan el resultado de alguna
operación de la CPU. Algunas instrucciones evalúan y manipulan las banderas individuales
del procesador.

Banderas de control Las banderas de control controlan la operación de la CPU. Por


ejemplo, pueden hacer que la CPU salga de un ciclo después de ejecutar cada instrucción,
generar una interrupción cuando se detecta un desbordamiento aritmético, entrar al modo
8086 virtual y entrar al modo
protegido.

Los programas pueden activar bits individuales en el registro EFLAGS para controlar la
operación de la CPU. Algunos ejemplos son las banderas de Dirección y de Interrupción.

Banderas de estado Las banderas de estado reflejan los resultados de las operaciones
aritméticas y lógicas que realiza la CPU. Estas banderas son: Desbordamiento, Signo, Cero,
Acarreo Auxiliar, Paridad y Acarreo. Sus abreviaturas se muestran justo después de sus
nombres:
• La bandera Acarreo (CF) se activa cuando el resultado de una operación aritmética sin
signo es demasiado grande para caber en el destino.
• La bandera Desbordamiento (OF) se activa cuando el resultado de una operación
aritmética con signo es demasiado grande o pequeño para caber en el destino.
• La bandera Signo (SF) se activa cuando el resultado de una operación aritmética o
lógica genera un resultado negativo.
• La bandera Cero (ZF) se activa cuando el resultado de una operación aritmética o
lógica genera un resultado de cero.
• La bandera Acarreo auxiliar (AC) se activa cuando una operación aritmética produce
un acarreo del bit 3 al bit 4, en un operando de 8 bits.
• La bandera Paridad (PF) se activa si el byte menos significativo en el resultado
contiene un número par de bits que sean 1. En caso contrario, PF esta desactivada.
En general, se utiliza para comprobar errores cuando existe la posibilidad de que los
datos estén alterados o corruptos.

Registros del sistema

Los procesadores IA-32 tienen una variedad de registros importantes del sistema. MS-
Windows solo permite el acceso a estos registros a los programas que se ejecutan en el nivel
más alto de privilegio (nivel 0). EI núcleo (kernel) del sistema operativo es uno de estos
programas. Los registros del sistema son:

• IDTR (Registro de tabla de descriptores de interrupciones): este registro contiene la


dirección de la Tabla de descriptores de interrupciones, la cual proporciona los medios
para manejar las interrupciones (rutinas del sistema, diseñadas para responder a
eventos tales como los generados por el teclado y el ratón).
• GDTR (Registro de tabla de descriptores globales): el registro GDTR contiene la
dirección de la Tabla de descriptores globales, una tabla que contiene apuntadores a
los segmentos de estado de las tareas y tablas de descriptores locales de los
programas.
• LDTR (Registro de tabla de descriptores locales): el registro LDTR contiene
apuntadores al código, los datos y la pila de los programas que se están ejecutando
en un momento dado.
• Registro de tareas: este registro contiene la dirección del TSS (Segmento de estado
de tarea) para la tarea que se está ejecutando en un momento dado.
• Registros de depuración: los registros de depuración permiten que los programas
establezcan puntos de interrupción al momento de depurar los programas.
• Registros de control CRO, CR2, CR3, CR4: los registros de control contienen
banderas de estado y campos de datos que controlan las operaciones a nivel del
sistema, como la conmutación, la paginación y la habilitación de la memoria cache (el
registro CRI no se utiliza).
• Registros específicos del modelo: estos registros se utilizan para tareas del sistema
operativo tales como el monitoreo del rendimiento y la comprobación de la arquitectura
de la maquina. Su uso Varía, dependiendo de los distintos procesadores IA-32.
Unidad de punto flotante

La unidad de punto flotante (FPU) de los procesadores IA-32 realiza operaciones aritméticas de
punto flotante, de alta velocidad. Hace tiempo se requería un chip coprocesador
separado para esto. A partir del Intel 486 a la fecha, la FPU está integrada en el chip
procesador principal. Hay ocho registros de datos de punto flotante en la FPU, cuyos
nombres son: ST(O), ST(1), ST(2), ST(3), ST(4), ST(5), ST(6) Y ST(7). El resto de los
registros de control y de apuntadores se muestran en la figura 14.

Fig. 14. Registros de la unidad de punto flotante

Otros registros

Existen otros dos conjuntos de registros que se utilizan para la programación avanzada con
multimedia en la serie de procesadores Pentium:

• Ocho registros de 64 bits para utilizarlos con el conjunto de instrucciones MMX.


• Ocho registros XMM de 128 bits que se utilizan para las operaciones de una sola
instrucción y varios datos (SIMD).

S-ar putea să vă placă și