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