Cuadro Comparativo Registros de Microprocesadores

Anuncio
Arquitectura de Computadoras
Cuadro Comparativo
Registros de
Microprocesadores
Unidad 2
Diana Cecilia Ramírez Ramírez
Miguel Angel Chávez Reza
Instituto Tecnológico de Chihuahua II
Introducción
En el siguiente trabajo se presentaran los registros manejados por los distintos
procesadores Intel a lo largo de su evolución, denotando sus categorías, funciones y
tamaño comenzando con el microprocesador 8086 hasta el microprocesador Intel Pentium.
Procesador
8086 y
8088
22 registros de 16 bits.
Registros de Propósito General
Los registros de propósito general son el AX, BX, CX, y DX, de 16 bits. Cada uno de
ellos se divide en dos registros de 8 bits, llamados AH y AL, BH y BL, CH y CL, y, DH
y DL, H significando Hight (alto) y L significando Low (bajo), indicando la parte alta o
la parte baja del registro correspondiente de 16 bits.
AX El registro AX es el registro acumulador, es utilizado para operaciones que
implican entrada/salida, y multiplicación y división (estas dos últimas en
conjunto con el registro DX)
BX El registro BX es el registro base, y es el único registro de propósito general
que puede ser un índice para direccionamiento indexado
CX El registro CX es conocido como el registro contador. Puede contener un valor
para controlar el número de veces que un ciclo se repite o un valor para
corrimiento de bits
DX El registro DX es el registro de datos. En algunas operaciones se indica
mediante este registro el número de puerto de entrada/salida, y en las
operaciones de multiplicación y división de 16 bits se utiliza junto con el
acumulador AX
Registros Índice
Los registros SI y DI están disponibles para direccionamiento indexado y para
operaciones de cadenas de caracteres.
SI
El registro índice fuente de 16 bits es requerido por algunas operaciones con
cadenas de caracteres. El SI está asociado con el segmento DS.
DI
El registro índice destino también es requerido por algunas operaciones con
cadenas de caracteres. El DI está asociado con el segmento ES.
Registros Apuntadores
Los registros SP (apuntador de pila) y BP (apuntador base) están asociados con el
registro SS y permiten al sistema acceder a datos en el segmento de la pila.
SP
El apuntador de pila de 16 bits está asociado con el segmento SS y
proporciona un valor de desplazamiento que se refiere a la palabra actual que
está siendo procesada en la pila. El sistema maneja de manera automática
este registro, aunque el programa puede hacer ciertas manipulaciones con él.
BP El apuntador base de 16 bits facilita la referencia de parámetros dentro de la
pila.
Registros Banderas
Es un registro de 16 bits, de los cuales nueve sirven para indicar el estado actual de
la máquina y el resultado del procesamiento. Muchas instrucciones aritméticas y de
comparación cambian el estado de las banderas y apoyándose en ellas se pueden
tomar decisiones para determinar la acción subsecuente.
OF (overflow, desbordamiento) Indica desbordamiento del bit de mayor orden
después de una operación aritmética de números con signo (1=existe
overflow; 0=no existe overflow). Para operaciones sin signo, no se toma en
cuenta esta bandera.
DF (dirección) Controla la selección de incremento o decremento de los registros
SI y DI en las operaciones con cadenas de caracteres (1=decremento
automático; 0=incremento). La bandera DF se controla con las instrucciones
STD y CLD.
IF
(interrupción) Controla el disparo de las interrupciones (1=habilita las
interrupciones; 0=deshabilita las interrupciones). La interrupción no
enmascarable es la única que no puede ser bloqueada por esta bandera. El
estado de la bandera IF se controla con las instrucciones STI y CLI.
TF
(trampa) Permite la operación del procesador en modo de depuración (paso a
paso)
SF
(signo) Contiene el signo resultante de una operación aritmética (0=positivo;
1=negativo).
(cero) Indica el resultado de una operación aritmética o de comparación
(0=resultado diferente de cero; 1=resultado igual a cero).
AF
(acarreo auxiliar) Contiene el acarreo del bit 3. Esta bandera se prueba con
las instrucciones DAA y DAS para ajustar el valor de AL después de una
suma o resta BCD.
PF
(paridad) Indica si el número de bits 1, del byte menos significativos de una
operación, es par (0=número de bits 1 es impar; 1=número de bits 1 es par).
CF (acarreo) Contiene el acarreo del bit de mayor orden después de una
operación aritmética; también almacena el contenido del último bit en una
operación de desplazamiento o de rotación.
Registros de Segmento
Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086. Estas
áreas pueden solaparse total o parcialmente. No es posible acceder a una posición
de memoria no definida por algún segmento: si es preciso, habrá de moverse alguno.
CS El DOS almacena la dirección inicial del segmento de código de un programa
en el registro CS. Esta dirección de segmento, más un valor de
desplazamiento en el registro apuntador de instrucción (IP), indica la
dirección de una instrucción que es buscada para su ejecución
DS La dirección inicial de un segmento de datos de programa es almacenada en
el registro DS. Esta dirección, más un valor de desplazamiento en una
instrucción, genera una referencia a la localidad de un byte específico en el
segmento de datos.
SS
El registro SS permite la colocación en memoria de una pila, para
almacenamiento temporal de direcciones y datos. El DOS almacena la
dirección de inicio del segmento de pila de un programa en el registro SS.
Esta dirección de segmento, más un valor de desplazamiento en el registro del
apuntador de la pila (SP), indica la palabra actual en la pila que está siendo
direccionada.
ES Algunas operaciones con cadenas de caracteres utilizan el registro extra de
segmento para manejar el direccionamiento de memoria. El registro ES está
asociado con el registro DI (Índice). Un programa que requiere el uso del
registro ES puede inicializarlo con una dirección de segmento apropiada.
Registro Apuntador de Instrucciones
El registro IP de 16 bits contiene el desplazamiento de dirección de la siguiente
instrucción que se ejecuta. El IP está asociado con el registro CS en el sentido de
que el IP indica la instrucción actual dentro del segmento de código que se está
ejecutando actualmente en la memoria.
ZF
Procesador
80286
28 registros de 16 bits.
Propósito General
Los registros de propósito general son el AX, BX, CX, y DX, de 16 bits. Cada uno de
ellos se divide en dos registros de 8 bits, llamados AH y AL, BH y BL, CH y CL, y, DH
y DL, H significando Hight (alto) y L significando Low (bajo), indicando la parte alta
o la parte baja del registro correspondiente de 16 bits.
AX El registro AX es el registro acumulador, es utilizado para operaciones que
implican entrada/salida, y multiplicación y división (estas dos últimas en
conjunto con el registro DX)
BX El registro BX es el registro base, y es el único registro de propósito general
que puede ser un índice para direccionamiento indexado
CX El registro CX es conocido como el registro contador. Puede contener un valor
para controlar el número de veces que un ciclo se repite o un valor para
corrimiento de bits
DX El registro DX es el registro de datos. En algunas operaciones se indica
mediante este registro el número de puerto de entrada/salida, y en las
operaciones de multiplicación y división de 16 bits se utiliza junto con el
acumulador AX
Registros Índice
Los registros SI y DI están disponibles para direccionamiento indexado y para
operaciones de cadenas de caracteres.
SI
El registro índice fuente de 16 bits es requerido por algunas operaciones con
cadenas de caracteres. El SI está asociado con el segmento DS.
DI
El registro índice destino también es requerido por algunas operaciones con
cadenas de caracteres. El DI está asociado con el segmento ES.
Registros Apuntadores
Los registros SP (apuntador de pila) y BP (apuntador base) están asociados con el
registro SS y permiten al sistema acceder a datos en el segmento de la pila.
SP
El apuntador de pila de 16 bits está asociado con el segmento SS y
proporciona un valor de desplazamiento que se refiere a la palabra actual que
está siendo procesada en la pila. El sistema maneja de manera automática
este registro, aunque el programa puede hacer ciertas manipulaciones con él.
BP El apuntador base de 16 bits facilita la referencia de parámetros dentro de la
pila.
Registros Banderas
Es un registro de 32 bits, de los cuales nueve sirven para indicar el estado actual de
la máquina y el resultado del procesamiento. Muchas instrucciones aritméticas y de
comparación cambian el estado de las banderas y apoyándose en ellas se pueden
tomar decisiones para determinar la acción subsecuente.
OF (overflow, desbordamiento) Indica desbordamiento del bit de mayor orden
después de una operación aritmética de números con signo (1=existe
overflow; 0=no existe overflow). Para operaciones sin signo, no se toma en
cuenta esta bandera.
DF (dirección) Controla la selección de incremento o decremento de los registros
SI y DI en las operaciones con cadenas de caracteres (1=decremento
automático; 0=incremento). La bandera DF se controla con las instrucciones
STD y CLD.
IF
(interrupción) Controla el disparo de las interrupciones (1=habilita las
interrupciones; 0=deshabilita las interrupciones). La interrupción no
enmascarable es la única que no puede ser bloqueada por esta bandera. El
estado de la bandera IF se controla con las instrucciones STI y CLI.
TF
(trampa) Permite la operación del procesador en modo de depuración (paso a
paso)
SF
(signo) Contiene el signo resultante de una operación aritmética (0=positivo;
1=negativo).
ZF
(cero) Indica el resultado de una operación aritmética o de comparación
(0=resultado diferente de cero; 1=resultado igual a cero).
AF
(acarreo auxiliar) Contiene el acarreo del bit 3. Esta bandera se prueba con
las instrucciones DAA y DAS para ajustar el valor de AL después de una
suma o resta BCD.
PF
(paridad) Indica si el número de bits 1, del byte menos significativos de una
operación, es par (0=número de bits 1 es impar; 1=número de bits 1 es par).
CF (acarreo) Contiene el acarreo del bit de mayor orden después de una
operación aritmética; también almacena el contenido del último bit en una
operación de desplazamiento o de rotación.
IOP
0
IOP
1
(nivel de privilegio de entrada/salida) Se utiliza en el funcionamiento en modo
protegido para seleccionar el nivel de privilegio de los dispositivos E/S. Si el
nivel de privilegio actual es mayor prioridad que el del IOPL, entonces se
ejecuta la operación de E/S. Si el nivel del IOPL es menos que el nivel de
privilegio actual, ocurre una interrupción y ocasiona que se suspenda la
ejecución. Se debe tener en cuenta que un IOPL de 0 de mayor prioridad y un
IOPL de 1 es de menor prioridad.
NT (tarea anidada) Indica que la tarea que está en curso está anidada dentro de
otra tarea en el funcionamiento en modo protegido. Esta bandera se activa
cuando el software anida la tarea.
Registros de Segmento
Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086. Estas
áreas pueden solaparse total o parcialmente. No es posible acceder a una posición
de memoria no definida por algún segmento: si es preciso, habrá de moverse alguno.
CS El DOS almacena la dirección inicial del segmento de código de un programa
en el registro CS. Esta dirección de segmento, más un valor de
desplazamiento en el registro apuntador de instrucción (IP), indica la
dirección de una instrucción que es buscada para su ejecución
DS La dirección inicial de un segmento de datos de programa es almacenada en
el registro DS. Esta dirección, más un valor de desplazamiento en una
instrucción, genera una referencia a la localidad de un byte específico en el
segmento de datos.
SS
El registro SS permite la colocación en memoria de una pila, para
almacenamiento temporal de direcciones y datos. El DOS almacena la
dirección de inicio del segmento de pila de un programa en el registro SS.
Esta dirección de segmento, más un valor de desplazamiento en el registro del
apuntador de la pila (SP), indica la palabra actual en la pila que está siendo
direccionada.
ES Algunas operaciones con cadenas de caracteres utilizan el registro extra de
segmento para manejar el direccionamiento de memoria. El registro ES está
asociado con el registro DI (Índice). Un programa que requiere el uso del
registro ES puede inicializarlo con una dirección de segmento apropiada.
GD Estos registros mantienen la dirección base de 24 bits y el límite de 16 bits de
TR
las tablas GDT e IDT, respectivamente. Estos segmentos, como son globales
e
para todas las tareas en el sistema, se definen mediante direcciones físicas de
IDT 24 bits y límite de 16 bits.
R
LD Estos registros mantienen los selectores de 16 bits para el descriptor de LDT
TR
y de TSS, respectivamente. Estos segmentos, como son específicos para cada
y
tarea, se definen mediante valores de selector almacenado en los registros de
TR
segmento del sistema. Éste apunta a un descriptor apropiado (de LDT o TSS).
Nótese que un registro descriptor del segmento (invisible para el programador)
está asociado con cada registro de segmento del sistema.
Registro Apuntador de Instrucciones
El registro IP de 16 bits contiene el desplazamiento de dirección de la siguiente
instrucción que se ejecuta. El IP está asociado con el registro CS en el sentido de que
el IP indica la instrucción actual dentro del segmento de código que se está
ejecutando actualmente en la memoria.
Procesador
80386
43 registros de 32 bits.
Registros de Propósito General
Los ocho registros de propósito general de 32 bits mantienen datos y direcciones.
Estos registros soportan operandos de 1, 8, 16, 32 y 64 bits y campos de bits de 1 a
32 bits. Soportan operandos de direcciones de 16 y de 32 bits.
EAX Acumulador
EBX Base
ECX Contador
EDX Datos
ESI
Índice fuente
EDI Índice destino
EBP Puntero base
ESP Puntero de pilla
Registros de Segmento
Son seis registros de 16 bits que mantienen valores de selectores de segmentos
identificando los segmentos que se pueden direccionar. En modo protegido, cada
segmento puede tener entre un byte y el espacio total de direccionamiento (4
gigabytes). En modo real, el tamaño del segmento siempre es 64 KB.
CS
El DOS almacena la dirección inicial del segmento de código de un programa
en el registro CS. Esta dirección de segmento, más un valor de
desplazamiento en el registro apuntador de instrucción (IP), indica la
dirección de una instrucción que es buscada para su ejecución.
SS
La dirección inicial de un segmento de datos de programa es almacenada en
el registro DS. Esta dirección, más un valor de desplazamiento en una
instrucción, genera una referencia a la localidad de un byte específico en el
segmento de datos.
DS
El registro SS permite la colocación en memoria de una pila, para
almacenamiento temporal de direcciones y datos. El DOS almacena la
dirección de inicio del segmento de pila de un programa en el registro SS.
Esta dirección de segmento, más un valor de desplazamiento en el registro
del apuntador de la pila (SP), indica la palabra actual en la pila que está
siendo direccionada.
ES
Algunas operaciones con cadenas de caracteres utilizan el registro extra de
segmento para manejar el direccionamiento de memoria. El registro ES está
asociado con el registro DI (Índice). Un programa que requiere el uso del
registro ES puede inicializarlo con una dirección de segmento apropiada.
FS
Algunas operaciones con cadenas de caracteres utilizan el registro extra de
segmento para manejar el direccionamiento de memoria. El registro ES está
asociado con el registro DI (Índice). Un programa que requiere el uso del
registro ES puede inicializarlo con una dirección de segmento apropiada.
GS
Algunas operaciones con cadenas de caracteres utilizan el registro extra de
segmento para manejar el direccionamiento de memoria. El registro ES está
asociado con el registro DI (Índice). Un programa que requiere el uso del
registro ES puede inicializarlo con una dirección de segmento apropiada.
Registro Puntero de Instrucciones
El puntero de instrucciones es un registro de 32 bits llamado EIP, el cual mantiene
el offset de la próxima instrucción a ejecutar. El offset siempre es relativo a la base
del segmento de código (CS). Los 16 bits menos significativos de EIP conforman el
puntero de instrucciones de 16 bits llamado IP, que se utiliza para direccionamiento
de 16 bits.
Registro de Indicadores
Es un registro de 32 bits llamado EFlags. Los bits definidos y campos de bits
controlan ciertas operaciones e indican el estado del 80386. Los 16 bits menos
significativos (bits 15-0) llevan el nombre de Flags.
VM
Este bit provee el modo 8086 virtual dentro del modo protegido manejando
los segmentos como lo hace el 8086, pero generando una excepción 13
(Violación general de protección) en instrucciones privilegiadas (aquéllas que
sólo se pueden ejecutar en modo real o en el anillo 0). El bit VM sólo puede
ponerse a 1 en modo protegido mediante la instrucción IRET (ejecutando en
nivel de privilegio cero) y por cambios de tarea en cualquier anillo.
RF
NT
(tarea anidada) Indica que la tarea que está en curso está anidada dentro de
otra tarea en el funcionamiento en modo protegido. Esta bandera se activa
cuando el software anida la tarea.
IOPL Si el nivel de privilegio actual es mayor prioridad que el del IOPL, entonces
se ejecuta la operación de E/S. Si el nivel del IOPL es menos que el nivel de
privilegio actual, ocurre una interrupción y ocasiona que se suspenda la
ejecución. Se debe tener en cuenta que un IOPL de 0 de mayor prioridad y
un IOPL de 1 es de menor prioridad.
OF
(overflow, desbordamiento) Indica desbordamiento del bit de mayor orden
después de una operación aritmética de números con signo (1=existe
overflow; 0=no existe overflow). Para operaciones sin signo, no se toma en
cuenta esta bandera.
DF
(dirección) Controla la selección de incremento o decremento de los registros
SI y DI en las operaciones con cadenas de caracteres (1=decremento
automático; 0=incremento). La bandera DF se controla con las instrucciones
STD y CLD.
IF
(interrupción) Controla el disparo de las interrupciones (1=habilita las
interrupciones; 0=deshabilita las interrupciones). La interrupción no
enmascarable es la única que no puede ser bloqueada por esta bandera. El
estado de la bandera IF se controla con las instrucciones STI y CLI.
TF
(trampa) Permite la operación del procesador en modo de depuración (paso a
paso).
SF
(signo) Contiene el signo resultante de una operación aritmética (0=positivo;
1=negativo).
ZF
(cero) Indica el resultado de una operación aritmética o de comparación
(0=resultado diferente de cero; 1=resultado igual a cero).
AF
(acarreo auxiliar) Contiene el acarreo del bit 3. Esta bandera se prueba con
las instrucciones DAA y DAS para ajustar el valor de AL después de una
suma o resta BCD.
PF
(paridad) Indica si el número de bits 1, del byte menos significativos de una
operación, es par (0=número de bits 1 es impar; 1=número de bits 1 es par).
CF
(acarreo) Contiene el acarreo del bit de mayor orden después de una
operación aritmética; también almacena el contenido del último bit en una
operación de desplazamiento o de rotación.
Registros de Control
El 80386 tiene tres registros de control de 32 bits, llamados CR0, CR2 y CR3, para
mantener el estado de la máquina de naturaleza global (no el específico de una tarea
determinada). Estos registros, junto con los registros de direcciones del sistema,
mantienen el estado de la máquina que afecta a todas las tareas en el sistema. Para
acceder los registros de control, se utiliza la instrucción MOV.
CR0 (Registro de control de la máquina) Contiene seis bits definidos para
propósitos de control y estado. Los 16 bits menos significativos de CR0
también se conocen con el nombre de palabra de estado de la máquina
(MSW), para la compatibilidad con el modo protegido del 80286. Las
instrucciones LMSW y SMSW se toman como casos particulares de carga y
almacenamiento de CR0 donde sólo se opera con los 16 bits menos
significativos de CR0.
(Dirección lineal de falta de página) Mantiene la dirección lineal de 32 bits
que causó la última falta de página detectada. El código de error puesto en
la pila del manejador de la falta de página cuando se la invoca provee
información adicional sobre la falta de página.
CR3 Un cambio de tareas a través de un TSS que cambie el valor de CR3, o una
carga explícita de CR3 con cualquier valor, invalidará todas las entradas en
la tabla de páginas que se encuentran en el caché de la unidad de
paginación. Si el valor de CR3 no cambia durante el cambio de tareas se
considerarán válidos los valores almacenados en el caché.
Registros de direcciones del sistema
Cuatro registros especiales se definen en el modelo de protección del 80386 para
referenciar tablas o segmentos.
GDT (Tabla de descriptores globales).
IDT
(Tabla de descriptores de interrupción).
LDT (Tabla de descriptores locales).
TSS (Segmento de estado de la tarea).
Registros de Depuración
Los seis registros de depuración de 32 bits accesibles al programador, proveen
soporte para depuración (debugging) por hardware.
DR0- Registros de direcciones lineales de puntos de parada. Se pueden especificar
DR3 hasta cuatro direcciones de puntos de parada escribiendo en los registros
DR0 a DR3. Las direcciones especificadas son direcciones lineales de 32 bits
DR7 Registro de control de depuración.
DR6 Registro de estado de depuración. Este registro permite que el manejador de
la excepción 1 determine fácilmente por qué fue llamado.
Registro de Test
Se utilizan dos registros para verificar el funcionamiento del RAM/CAM (Content
Addressable Memory) en el buffer de conversión por búsqueda (TLB) de la unidad de
paginado.
TR6 Es el registro de comando del test.
TR7 Es el registro de datos que contiene el dato proveniente del TLB.
CR2
Procesador
Pentium
51 registros de 32 bits.
Registros de Propósito General
Todos ellos tienen un tamaño de 32 bits y su principal cometido es almacenar datos
temporales necesarios para la ejecución de programas.
EAX, EBX, ECX, EDX, EBP, ESP, EDI, ESI
Registros de la pila
SS
(Stack Segment) Dirección de comienzo del segmento de pila en
memoria.
ESP (Extended Stack Pointer): Desplazamiento dentro del segmento
de pila.
EBP (Extended Base Pointer): Si pasamos a pila una estructura de
datos, apunta al comienzo de la estructura (ESP apuntará al final).
Registros para manejo de Strings
Pensados para trabajar con cadenas de caracteres.
ESI
Dirección de comienzo de una cadena de origen.
EDI
Dirección de comienzo de una cadena de destino.
Registros Puntero de Instrucción
EIP
(Extended Instruction Pointer) es un contador
de programa (PC). Es el del desplazamiento.
(Code Segment) sirve de base para el
segmento de código.
Registros de Estado
ID
VIF
VIP
AC
VM
Este bit provee el modo 8086 virtual dentro del modo protegido manejando
los segmentos como lo hace el 8086, pero generando una excepción 13
(Violación general de protección) en instrucciones privilegiadas (aquéllas que
sólo se pueden ejecutar en modo real o en el anillo 0). El bit VM sólo puede
ponerse a 1 en modo protegido mediante la instrucción IRET (ejecutando en
nivel de privilegio cero) y por cambios de tarea en cualquier anillo.
RF
Este indicador se utiliza junto con los registros de depuración. Cuando RF
vale 1, hace que se ignoren las faltas (hechos que ocasionan una excepción)
de depuración. RF se pone automáticamente a cero luego de ejecutar
correctamente cualquier instrucción excepto las instrucciones IRET y POPF
y en los cambios de tarea causados por la ejecución de JMP, CALL e INT.
Estas instrucciones ponen RF al valor especificado por la imagen
almacenada en memoria.
CS
NT
IOPL
OF
DF
IF
TF
SF
ZF
AF
PF
CF
(tarea anidada) Indica que la tarea que está en curso está anidada dentro de
otra tarea en el funcionamiento en modo protegido. Esta bandera se activa
cuando el software anida la tarea.
Si el nivel de privilegio actual es mayor prioridad que el del IOPL, entonces
se ejecuta la operación de E/S. Si el nivel del IOPL es menos que el nivel de
privilegio actual, ocurre una interrupción y ocasiona que se suspenda la
ejecución. Se debe tener en cuenta que un IOPL de 0 de mayor prioridad y
un IOPL de 1 es de menor prioridad.
(overflow, desbordamiento) Indica desbordamiento del bit de mayor orden
después de una operación aritmética de números con signo (1=existe
overflow; 0=no existe overflow). Para operaciones sin signo, no se toma en
cuenta esta bandera.
(dirección) Controla la selección de incremento o decremento de los registros
SI y DI en las operaciones con cadenas de caracteres (1=decremento
automático; 0=incremento). La bandera DF se controla con las instrucciones
STD y CLD.
(interrupción) Controla el disparo de las interrupciones (1=habilita las
interrupciones; 0=deshabilita las interrupciones). La interrupción no
enmascarable es la única que no puede ser bloqueada por esta bandera. El
estado de la bandera IF se controla con las instrucciones STI y CLI.
(trampa) Permite la operación del procesador en modo de depuración (paso a
paso).
(signo) Contiene el signo resultante de una operación aritmética (0=positivo;
1=negativo).
(cero) Indica el resultado de una operación aritmética o de comparación
(0=resultado diferente de cero; 1=resultado igual a cero).
(acarreo auxiliar) Contiene el acarreo del bit 3. Esta bandera se prueba con
las instrucciones DAA y DAS para ajustar el valor de AL después de una
suma o resta BCD.
(paridad) Indica si el número de bits 1, del byte menos significativos de una
operación, es par (0=número de bits 1 es impar; 1=número de bits 1 es par).
(acarreo) Contiene el acarreo del bit de mayor orden después de una
operación aritmética; también almacena el contenido del último bit en una
operación de desplazamiento o de rotación.
Registros de Segmento
CS
El DOS almacena la dirección inicial del segmento de código de un programa
en el registro CS. Esta dirección de segmento, más un valor de
desplazamiento en el registro apuntador de instrucción (IP), indica la
dirección de una instrucción que es buscada para su ejecución.
SS
La dirección inicial de un segmento de datos de programa es almacenada en
el registro DS. Esta dirección, más un valor de desplazamiento en una
instrucción, genera una referencia a la localidad de un byte específico en el
segmento de datos.
DS
El registro SS permite la colocación en memoria de una pila, para
almacenamiento temporal de direcciones y datos. El DOS almacena la
dirección de inicio del segmento de pila de un programa en el registro SS.
Esta dirección de segmento, más un valor de desplazamiento en el registro
del apuntador de la pila (SP), indica la palabra actual en la pila que está
siendo direccionada.
ES
Algunas operaciones con cadenas de caracteres utilizan el registro extra de
segmento para manejar el direccionamiento de memoria. El registro ES está
asociado con el registro DI (Índice). Un programa que requiere el uso del
registro ES puede inicializarlo con una dirección de segmento apropiada.
FS
Algunas operaciones con cadenas de caracteres utilizan el registro extra de
segmento para manejar el direccionamiento de memoria. El registro ES está
asociado con el registro DI (Índice). Un programa que requiere el uso del
registro ES puede inicializarlo con una dirección de segmento apropiada.
GS
Algunas operaciones con cadenas de caracteres utilizan el registro extra de
segmento para manejar el direccionamiento de memoria. El registro ES está
asociado con el registro DI (Índice). Un programa que requiere el uso del
registro ES puede inicializarlo con una dirección de segmento apropiada.
Registros de Segmento II
RPL 2 bits que indican el nivel de privilegio del segmento.
Registros de tablas del sistema
Para manipular las tablas que maneja el S.O. en modo protegido.
GDTR Estos registros mantienen la dirección base de 24 bits y el límite de 16 bits
e
de las tablas GDT e IDT, respectivamente. Estos segmentos, como son
IDTR globales para todas las tareas en el sistema, se definen mediante
direcciones físicas de 24 bits y límite de 16 bits.
LDTR Estos registros mantienen los selectores de 16 bits para el descriptor de
y TR
LDT y de TSS, respectivamente. Estos segmentos, como son específicos
para cada tarea, se definen mediante valores de selector almacenado en los
registros de segmento del sistema. Éste apunta a un descriptor apropiado
(de LDT o TSS). Nótese que un registro descriptor del segmento (invisible
para el programador) está asociado con cada registro de segmento del
sistema.
Registros de Control
Determinan el modo de operación del Pentium y las características de la tarea en
ejecución.
CR0
(Registro de control de la máquina) Contiene seis bits definidos para
propósitos de control y estado. Los 16 bits menos significativos de CR0
también se conocen con el nombre de palabra de estado de la máquina
(MSW), para la compatibilidad con el modo protegido del 80286. Las
instrucciones LMSW y SMSW se toman como casos particulares de carga y
almacenamiento de CR0 donde sólo se opera con los 16 bits menos
significativos de CR0.
CR4
Registros de Depuración
Los utiliza el programador para depurar (puntos de ruptura)
DR0
DR7
Registro de control de depuración.
Registros de prueba de la TBL
Permiten leer y escribir en la TBL.
TR6
Es el registro de comando del test.
TR7
Es el registro de datos que contiene el dato proveniente del TLB.
Registros específicos del Pentium
Registros de 64b para acceder a características especificas de cada procesador. Son
accesibles mediante las instrucciones RDMSR y WRMSR.
TR1
TR2
Conclusión
Podemos comprender con el trabajo anterior que conforme los microprocesadores
evolucionaban a lo largo del tiempo incrementaban su capacidad de velocidad,
procesamiento, funciones, tamaño. A su vez los nuevos procesadores que se crean toman
como base los registros o características de los anteriores con el fin de que pueda existir
una compatibilidad al momento de que se ejecute un programa diseñado para trabajar con
un procesador de versión anterior. Un ejemplo de esto se podría ver por ejemplo cuando
tenemos un equipo con un procesador de 64 bits y en este se desea ejecutar un programa
diseñado para un procesador con arquitectura de 32 bits.
Bibliografía
http://es.wikipedia.org/wiki/Intel_8086_y_8088#Registros_.C3.8Dndice
http://www.alpertron.com.ar/80386.HTM
http://dac.escet.urjc.es/docencia/Micros/MP05c.pdf
http://lc.fie.umich.mx/~rochoa/Manuales/ENS_Arquitectura_5ium/ARC.html#arq:sec:re
gisters
http://usuarios.sion.com/iop-chagui/registros.html
http://www.alpertron.com.ar/PENTIUM.HTM
Descargar