registros

Post on 24-Jun-2015

198 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

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.

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)).

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.

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.

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.

UNIDAD ARITMÉTICA Y LOGICA (UAL)

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,…

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.

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.

Coprocesador Matemático

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.

• 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

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.

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.

MEMORIA CACHÉ

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.

Memoria Caché

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.

BUS Y CICLOS DE BUS

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.

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.

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.

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.

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.

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.

Repertorio de instrucciones y modos de direccionamiento de un microprocesador

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.

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.

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.• …

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.

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)

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.

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.

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).

Direccionamiento Directo (Absoluto)

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.

Direccionamiento indirecto

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.

Direccionamiento de Registro

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.

Direccionamiento indirecto con registro

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.

Direccionamiento con desplazamiento

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.

Direccionamiento Implícito (pila)

top related