Registros

47
REGISTROS

Transcript of Registros

Page 1: Registros

REGISTROS

Page 2: Registros

REGISTROS

En CPU hay un conjunto de registros que funciona como un nivel de memoria por encima de la memoria principal y de la memoria caché.

Son de dos tipos:A) Registros visibles para el usuario.B) Registros de control y de estado.

Page 3: Registros

Registros visibles para el usuario

Permiten al programador de lenguaje máquina o ensamblador minimizar las referencias a memoria principal cuando optimiza el uso de registros.

– Registros de uso general: pueden ser asignados a diversas funciones (datos-direcciones ).

– Registros de datos: únicamente para contener datos, y no para el cálculo de una dirección de operando.

Page 4: Registros

Registros visibles para el usuario

– Registros de dirección: normalmente dedicados a un modo de direccionamiento particular.• Punteros de segmento: contienen la dirección de la

base de un segmento.• Registros índice: usados para el direccionamiento

indexado.• Punteros de pila: apuntan a la cabecera de una pila,

permitiendo el direccionamiento implícito (apilar (push) y desapilar (pop)).

Page 5: Registros

Registros visibles para el usuario

– Registros de códigos de condición: contienen indicadores o flags fijados por el hardware de la CPU como resultado de alguna operación.

Page 6: Registros

Registros de control y estado

Utilizados por la unidad de control para examinar el funcionamiento de la CPU, y por programas privilegiados del S.O. para controlar la ejecución de programas.– Contador de programa (PC): contiene la dirección

de la siguiente instrucción a ejecutar.– Registro de instrucción (IR): contiene la

instrucción captada que se está ejecutando.

Page 7: Registros

Registros de control y estado

– Registro de dirección de memoria (MAR): contiene la dirección de una posición de memoria.

– Registro intermedio de memoria (Memory Buffer Register, MBR): contiene la palabra de datos a escribir en memoria , o la palabra leída más recientemente.

Page 8: Registros

UNIDAD ARITMÉTICA Y LOGICA (UAL)

Page 9: Registros

ALU

• Unidad Aritmética y Lógica (UAL): Circuito combinacional que realiza operaciones aritméticas y lógicas básicas en un computador:– Aritméticas: suma y resta de enteros,

desplazamientos unitarios– Lógicas: NOT, AND, OR, NAND, NOR, EXOR,…

Page 10: Registros

ALU - DISEÑO

• En inglés, ALU (Arithmetic and Logic Unit).• La multiplicación y división de enteros se

realizan en circuitos específicos.• Operaciones lógicas:– Compuertas lógicas y multiplexores accionado por

señales de control.

Page 11: Registros

ALU - DISEÑO

• Operaciones Aritméticas.– Sumadores binarios elementales.– Sumadores para N bits: con manejo de acarreo en serie.– Restadores elementales– Restador de N bits con propagación de acarreo en serie.– Sumador/restador de N bits con indicadores de resultado:

nulo, signo, desbordamiento.– Circuitos de cambios de signo.– Comparadores mediante resta.

Page 12: Registros

Coprocesador Matemático

Page 13: Registros

Coprocesador Matemático• Era un circuito integrado que se añadía,

opcionalmente, a un procesador para ampliar el nº de instrucciones matemáticas capaz de interpretar y ejecutar.

• Los microprocesadores de Intel a partir del 80486DX tienen su propio coprocesador matemático integrado.

• El coprocesador matemático realiza operaciones con números reales.

• Pueden trabajar con números enteros de 16, 32 y 64 bits con signo, y con números en coma flotante de 32, 64 y 80 bits.

Page 14: Registros

• Aplicaciones que requieren de un coprocesador: – programas de simulación, hojas electrónicas, CAD/CAM,

gráficos, control numérico, robótica, visión computacional, inteligencia artificial.

• Dos formas distintas de funcionamiento de los coprocesadores:

– Coprocesadores externos.– Coprocesadores internos.

Coprocesador Matemático

Page 15: Registros

Coprocesadores Externos

• Los operandos e instrucciones son colocados en posiciones de memoria determinadas por parte del microprocesador.

• Cuando obtiene el resultado, generan una interrupción y el procesador recoge el resultado de otra posición de memoria.

• Tienen la ventaja de que son independientes del microprocesador.

Page 16: Registros

Coprocesadores Internos

• Comparten el flujo de instrucciones con el microprocesador.

• Cuando el microprocesador detecta una instrucción que no es suya, la envía al coprocesador, que la ejecuta y devuelve los resultados al microprocesador.

Page 17: Registros

MEMORIA CACHÉ

Page 18: Registros

Memoria Caché

• Memoria ultrarrápida de pequeña capacidad y muy costosa.

• Se encuentra entre la memoria principal y la CPU, mediante una conexión en serie o en paralelo.

• Puede localizarse en el propio microprocesador.• Permite mejorar el rendimiento del computador,

acelerando la transmisión de datos e instrucciones entre el procesador y cualquier componente de almacenamiento.

Page 19: Registros

Memoria Caché

Page 20: Registros

Memoria Caché - Operación

• La CPU realiza una petición de información (datos o instrucciones) localizados en memoria.

• Se comprueba la caché para estos datos.• Si está (acierto), se obtiene de la caché

(rápidamente).• Si no está (fallo), se lee el bloque requerido a partir

de la memoria principal hasta la caché.• La caché incluye etiquetas para identificar los

bloques de la memoria principal cargados.

Page 21: Registros

BUS Y CICLOS DE BUS

Page 22: Registros

Bus y Ciclos de Bus

• Enlace: Elemento que permite transmitir información entre dos o más dispositivos.

• Conmutador: Elemento que permite encaminar la información entre varios enlaces, activando unos e inhibiendo otros.

Page 23: Registros

BUS

• Tipo más común de elemento de comunicación en computadores.

• Consta de un camino que permite comunicar selectivamente un cierto nº de componentes o dispositivos, de acuerdo a ciertas normas de conexión.

• Incluye los conceptos de enlace y conmutador Permite seleccionar los dispositivos que se comunican a través suyo.

Page 24: Registros

Bus y Ciclos de Bus

• En una transferencia de información por bus:– Maestro: agente que origina la transferencia. – Esclavo: agente que responde a la transferencia.

Page 25: Registros

Bus y Ciclos de Bus

Ciclo de Bus:• Tiempo en el que la CPU realiza una

transferencia elemental de un dato entre dos dispositivos (fuente y destino).

• Los buses modernos permiten agrupar varias transferencias en una sola operación: transacción.

Page 26: Registros

Ciclos de Bus - Pasos

• Fase de direccionamiento:– Petición del bus.– Control.– Direccionamiento.

• Fase de transferencia:– Transferencia del dato.– Detección y notificación de errores.– Finalización de la transferencia.

Page 27: Registros

Ciclos de Bus – Categorías

• Ciclo de bus en modo sencillo o simple.• Ciclo de bus en modo ráfaga.• Ciclos especiales: reconocimiento de

interrupción, shutdown.

Page 28: Registros

Repertorio de instrucciones y modos de direccionamiento de un microprocesador

Page 29: Registros

Lenguaje de Máquina

• Único lenguaje que un microprocesador es capaz de interpretar y ejecutar directamente (secuencia de 0´s y 1´s).

• Ligado íntimamente a la arquitectura interna del microprocesador.

Page 30: Registros

Repertorio o juego de instrucciones de un microprocesador.

• Conjunto de instrucciones que la máquina que es capaz de ejecutar.

• Tipos de Instrucciones:– Instrucciones de transferencia de datos.– Instrucciones aritméticas.– Instrucciones lógicas.– Instrucciones condicionales.– Instrucciones de desplazamiento.

Page 31: Registros

Repertorio o juego de instrucciones de un microprocesador.

• Instrucciones de transferencia de control o de modificación de la secuencia de ejecución.

• Instrucciones de bit.• Instrucciones de entrada/salida.• Instrucciones de control del sistema. • Instrucciones de manipulación de cadenas.• Instrucciones especiales.• …

Page 32: Registros

Modos de Direccionamiento

Mecanismos por los que se puede especificar la ubicación de los operandos de una instrucción.

El campo de operandos de una instrucción es limitado Mecanismos para poder aumentar el rango de direccionamiento y tener flexibilidad.

Page 33: Registros

Modos de Direccionamiento

• Más comunes:– Inmediato– Directo (absoluto)– Indirecto– De registro– Indirecto con registro – Con desplazamiento (indexado)

• Relativo a PC • Con registro base • Indexado

– Implícito (de pila)

Page 34: Registros

Modos de Direccionamiento - Nomenclatura

A campo de dirección.R campo de dirección en la instrucción que

referencia un registro.EA Dirección real (efectiva) de la posición que

contiene el operando que se referencia(X) Contenido de la posición X.

Page 35: Registros

Direccionamiento Inmediato

• El operando es parte de la instrucción (Operando = A).

• No hace falta una referencia a memoria para captar los datos.

• Es rápido.• La magnitud del operando está limitada por el

nº de bits.

Page 36: Registros

Direccionamiento Directo (Absoluto)

• El campo de dirección contiene la dirección real del operando.

• Tan sólo requiere una referencia a memoria para acceder a los datos.

• No necesita ningún cálculo especial para acceder a la dirección real.

• Proporciona un espacio de direcciones restringido (con un campo de dirección de k bits, 2k direcciones).

Page 37: Registros

Direccionamiento Directo (Absoluto)

Page 38: Registros

Direccionamiento indirecto• La celda de la memoria referenciada por el campo de

dirección contiene la dirección completa del operando. • EA = (A)– Mirar en A, encontrar la dirección (A) y, buscar el

operando • El direccionamiento puede ser anidado (multinivel):– EA = (((A)))– Pueden requerirse varios accesos a memoria para

encontrar el operando + lento.

Page 39: Registros

Direccionamiento indirecto

Page 40: Registros

Direccionamiento de Registro• El operando se encuentra en el registro nombrado en el

campo de direcciones.• El número de registros está limitado• Ventajas:– Se necesita un campo de direcciones muy pequeño

(ej. con 4 bits se pueden referenciar 16 registros de uso general).• Instrucciones más cortas.• Captación de instrucciones más rápida.

– No hay acceso a memoria. • Ejecución muy rápida.• Alternativa al direccionamiento directo, con un

acceso menos a memoria.

Page 41: Registros

Direccionamiento de Registro

Page 42: Registros

Direccionamiento indirecto con registro

• El operando se encuentra en la celda de memoria referenciada por el contenido del registro.

• Amplio espacio de direcciones (2n, siendo n el n º de bits del registro).

• Alternativa al direccionamiento indirecto, pero con un acceso a memoria menos: 1 referencia a registro y 1 referencia a memoria frente a 2 referencias a memoria.

Page 43: Registros

Direccionamiento indirecto con registro

Page 44: Registros

Direccionamiento con desplazamiento

• Combina las posibilidades de los direccionamientos directo e indirecto con registro.

• El campo de direcciones contiene dos campos: A y R

• Ventaja: Flexibilidad. • Inconveniente: Complejidad.

Page 45: Registros

Direccionamiento con desplazamiento

Page 46: Registros

Direccionamiento Implícito (pila)

• El operando está implícito en la instrucción. • Ejemplo: instrucciones de pila• Instrucciones de 0 direcciones. • Ventaja: No referencia a memoria. • Inconveniente: Aplicabilidad limitada.

Page 47: Registros

Direccionamiento Implícito (pila)