Vous êtes sur la page 1sur 47

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.
Coprocesador Matemático
• 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.
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:
AyR
• 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)

Vous aimerez peut-être aussi