Está en la página 1de 55

MICROPROCESADORES

1. Microprocesadores
Gabriel Ricardo Ocaa Fuertes
Departamento de Arquitectura y Tecnologa de Computadores
y Ciencia de la Computacin e Inteligencia Artificial

Universidad Rey Juan Carlos


G. R. Ocaa

1. Microprocesadores
1.1 Estructura de un computador: ideas bsicas
1.2 Concepto de microprocesador
1.3 Componentes bsicos de un microprocesador
1.3.1 Unidad de control
1.3.2 Registros
1.3.3 UAL
1.3.4 Coprocesador matemtico
1.3.5 Memoria cach
1.4 El bus y los ciclos de bus
1.5 Repertorio de instrucciones y modos de
direccionamiento de un microprocesador
G. R. Ocaa

1.1 Estructura de un computador:


ideas bsicas
Un computador es una mquina destinada a procesar
informacin (datos).
Sobre ellos se aplican unas instrucciones obteniendo
despus unos resultados.
DATOS

UCP

RESULTADOS

INSTRUCCIONES
(manipulan los datos)
Procesar informacin: Fases de transformacin y/o
manipulacin que sufre la informacin para resolver un
problema determinado.
G. R. Ocaa

Estructura bsica de un computador:


UNIDAD CENTRAL DE PROCESO
MEMORIA
PRINCIPAL

REGISTROS
UAL

DATOS
+
INSTRUCCIONES

UNIDAD DE CONTROL

BUS DEL SISTEMA


UNIDADUNIDAD
DE ENTRADA/SALIDA
DEL SISTEMA
DE ENTRADA/SALIDA

PERIFRICOS
(teclado, monitor, ratn, disco, lector dvd, impresora, modem, pendrive,....)
G. R. Ocaa

Memoria principal: En ella se almacenan los datos e


instrucciones necesarios para ejecutar los programas.
Cada posicin de memoria tiene asociada una direccin.
Unidad Central de Proceso: En ella se ejecutan las
instrucciones que se leen de la memoria. Tiene 3 elementos
principales:
Unidad de Control: Lee y ejecuta las instrucciones.
Unidad Aritmtico-Lgica (UAL): Realiza operaciones
aritmticas y lgicas.
Banco de registros: Almacenan datos e instrucciones
temporalmente.
Unidad de Entrada/Salida: Permiten la comunicacin entre
el computador y los perifricos.
Bus del sistema: Mecanismo de comunicacin entre los
componentes del computador.
G. R. Ocaa

1.2 Concepto de microprocesador


Microprocesador:
Circuito integrado formado por millones de transistores.
Se encarga de la bsqueda de la instruccin en curso, de su
decodificacin, de la bsqueda de los operandos, de la ejecucin
aritmtica/lgica que implica la instruccin, y del
almacenamiento de los resultados.
Microprocesador + memoria + mdulos E/S Computador
Arquitectura interna: Unidad Central de Proceso (CPU)
(procesador) = Unidad de Control + Camino de datos
(interpreta la intruccin) (ejecuta la instruccin)
Arquitectura abierta: el computador que implementa es
configurable por el usuario y puede realizar diversas tareas.
G. R. Ocaa

Estructura de un sistema computador basado en un


microprocesador:

G. R. Ocaa

Microcontrolador:
Circuito integrado programable.
Contiene todos los componentes de un computador.
Arquitectura interna: Unidad Central de Proceso (CPU) +
Memoria + Mdulos E/S + Recursos auxiliares
Arquitectura cerrada: el computador que implementa no es
configurable por el usuario. Es un sistema cerrado que contiene
un computador completo y se destina a realizar una sola tarea
(en la memoria slo reside el programa concreto).
Suele ir incrustrado o embebido en el propio dispositivo o
sistema que controla (ej. electrodomsticos, coches (control del
motor, sistema de frenos, climatizacin,...)).

G. R. Ocaa

Bloques que contiene un microcontrolador:

G. R. Ocaa

1.3 Componentes bsicos de un


microprocesador
Componentes de la arquitectura bsica de un microprocesador:
1) Unidad de control.
2) Registros.
3) UAL.
Componentes incorporados a la arquitectura de un microprocesador:
4) Coprocesador matemtico.
5) Memoria cach.
REGISTROS
UAL

UNIDAD DE CONTROL

G. R. Ocaa

COPROCESADOR
MATEMTICO
MEMORIA
CACH
10

1.3.1 Unidad de control


La unidad de control lee y ejecuta las instrucciones:
1) Lee de memoria principal la instruccin apuntada por el CP.
2) Incrementa el CP.
3) Decodifica la instruccin.
4) Hace que se ejecute la instruccin.
Adems:
Resuelve situaciones anmalas o de conflicto.
Atiende las interrupciones.
Controla la comunicacin con los perifricos.

G. R. Ocaa

11

Para ello, utiliza la siguiente informacin:


Instruccin en ejecucin: el cdigo de operacin indica qu
operacin se debe realizar y cules son los modos de
direccionamiento.
Registro de estado: contiene informacin sobre determinadas
condiciones de los resultados de las operaciones (ej. resultado
0, signo del resultado,), as como, posibles situaciones
anmalas o especiales (desbordamientos aritmticos,
interrupciones, errores de paridad,)
Contador de perodos (accionado por un reloj): para
diferenciar los correspondientes perodos y fases de las
instrucciones, necesarios para realizar sus operaciones
elementales.
Seales de control y estado externas a la UCP (ej. seales de
E/S para dilogo con perifricos).
G. R. Ocaa

12

Operaciones elementales:

Ejecucin de
instruccin

Secuencia de
operaciones
elementales

Secuencia de seales
de control por cada
operacin elemental

(- lectura del operando


- incremento del contador de programa
- ejecucin de una operacin aritmtica,.)

El objetivo de la unidad de control es la generacin de las


secuencias de seales de control que permitan realizar las
distintas operaciones elementales de cada instruccin.

G. R. Ocaa

13

Los computadores tienen un funcionamiento sncrono gobernado


por un oscilador o reloj general (Perodo o ciclo de reloj).
Fases de ejecucin de una instruccin:
Lectura de la instruccin (fetch).
Lectura de los operandos y decodificacin de la instruccin.
Ejecucin de la operacin.
Almacenamiento del resultado.

Cada fase requiere uno o varios perodos para su ejecucin.

Temporizacin de las seales de control.


G. R. Ocaa

14

Clasificacin de operaciones elementales:


a) Operaciones de transferencia:
- Elemento de almacenamiento (ej. registros) origen
- Elemento de almacenamiento destino
- Se establece un camino
Primero se establece un camino fsico entre la salida del origen y la
entrada del destino, y luego, se enva una seal al destino para que se
cargue con la informacin que tiene a su entrada.

b) Operaciones de proceso:
- Elemento/s origen
- Operacin que transforma la informacin en su camino
- Elemento destino
Adems de transformar la informacin en su camino (resultado), se
generan unos bits de estado (resultado 0, resultado -, desbordamiento,).

G. R. Ocaa

15

Unidad de control:
Entradas: - Cdigo de operacin
- Perodo
- Estado (ocasionalmente)
Salida: - Seales de control (especificadas en el cronograma)
El diseo de la unidad de control exige haber definido previamente
las seales que hay que activar en cada una de las instrucciones
mquina que es capaz de interpretar:
Cronogramas de las seales de control.
Operaciones elementales.
Lenguaje simblico.
Dos tcnicas de disear y construir una unidad de control:
Unidad de control en lgica cableada
Unidad de control almacenada (microprogramacin)
G. R. Ocaa

16

A) Unidad de control cableada


Construccin mediante puertas lgicas, siguiendo los mtodos
de diseo lgico.
Caractersticas:
Laborioso y costoso el diseo y puesta a punto del circuito.
Difcil de modificar: rediseo completo.
Muy rpido (computadores RISC).

B) Unidad de control almacenada: Microprogramacin


Idea bsica: Emplear una memoria para almacenar el estado de
las seales de control en cada perodo de cada instruccin.
A cada palabra que define un perodo de una instruccin
Microinstruccin Unidad de control microprogramada
Las microinstrucciones tienen un bit por cada seal de control.
Microinstruccin: cadena de 1s y 0s que representa el estado
de cada seal de control durante un perodo de una instruccin.
G. R. Ocaa

17

Microprograma: conjunto ordenado de microinstrucciones,


que representan el cronograma de una instruccin.
Firmware (microcdigo): conjunto de los microprogramas de
una mquina.
Ejemplo de microprograma de una instruccin:

Caractersticas de la unidad de control microprogramada:

Correcciones, modificaciones y ampliaciones fciles Slo se


cambian algunas microinstrucciones.
Se pueden incluir instrucciones complejas.
Permite incluir funciones del sistema operativo.
Computadores con varios juegos de instrucciones.
Se pueden emular otros computadores.
Rutinas de diagnstico.
Hw simple difcil microcdigo
G. R. Ocaa

18

Tres condiciones bsicas de una u.c. microprogramada:


1) Memoria de control suficiente para almacenar todos los
microprogramas correspondientes a todas las instrucciones.
2) Procedimiento para asociar a cada instruccin su
microprograma Procedimiento que convierta el cdigo de
operacin de la instruccin en la direccin de la memoria de
control donde empieza su microprograma.
3) Mecanismo para ir leyendo las sucesivas
microinstrucciones, y para bifurcar a otro microprograma
cuando termina el que se est ejecutando.
Dos alternativas para 2) y 3):
Secuenciamiento explcito
Secuenciamiento implcito

G. R. Ocaa

19

Secuenciamiento explcito
Cada microinstruccin proporciona la direccin de la
microinstruccin siguiente.
Gran cantidad de memoria de control para el secuenciamiento
de instrucciones.

G. R. Ocaa

20

Funcionamiento del secuenciamiento explcito


La condicin 2 se resuelve reservando las primeras posiciones de
memoria de control para albergar la 1 microinstruccin de cada
instruccin (justo en la direccin que expresa el valor de su cdigo de
operacin). Primeras posiciones por la restriccin de 2n, siendo n los bits
del cdigo de operacin.
El oscilador genera la seal de carga en el registro de microinstrucciones,
estableciendo el perodo bsico.
El registro de microinstrucciones:
Campo con las seales de control.
Campo direccin: se realimenta a la memoria de control para iniciar la
lectura de la microinstruccin siguiente.
Campo para controlar el multiplexor.

El multiplexor de direcciones permite seleccionar entre el cdigo de


operacin de una nueva instruccin o la direccin de la microinstruccin.
Est gobernado por una seal de control, y permite que la ltima
microinstruccin de un programa direccione la primera microinstruccin
siguiente (condicin 3).
G. R. Ocaa

21

Secuenciamiento implcito
Instrucciones de un microprograma ordenadas consecutivamente
en la memoria de control Las microinstrucciones no necesitan
contener la direccin de la siguiente (ahorro de memoria).
Necesario:
Etapa traductora (ROM o PLA)
Registro de microdirecciones ms un incrementador

G. R. Ocaa

22

Funcionamiento del secuenciamiento implcito


La condicin 2 se resuelve introduciendo una etapa traductora entre el
cdigo de operacin y el multiplexor de direcciones de la memoria de
control.
La condicin 3 se resuelve mediante un registro de microdirecciones y
un incrementador.
El oscilador lleva a cabo la temporizacin base, generando una seal
peridica empleada en cargar el registro de microdirecciones y el de
microinstrucciones.
Para encadenar un nuevo microprograma, la seal de control activa el
multiplexor, de forma que la ltima microinstruccin de un
microprograma selecciona como siguiente direccin la que proviene de
la ROM o la PLA.
En otro caso, se siguen leyendo las microinstrucciones con el
incrementador, que incrementa la direccin, y mandando la direccin a
travs del multiplexor al registro de microdirecciones.
G. R. Ocaa

23

Formato de las microinstrucciones


Cada microinstruccin tiene:
Un bit por cada seal de control.
Una duracin de un perodo.
Muchos ceros (normalmente las instrucciones realizan una sola
operacin elemental en cada perodo).
Las microinstrucciones se suelen codificar para reducir su longitud.
Formato de la microinstruccin: especifica el n de bits y el
significado de cada uno de ellos. Las seales se agrupan por campos
(dentro del formato de la microinstruccin):
Seales triestado de acceso a bus.
Seales de gobierno de la UAL.
Seales de gobierno del banco de registros.
Seales de gobierno de la memoria.
G. R. Ocaa

24

Microprogramacin horizontal:

Microinstrucciones no codificadas.
Mayor memoria de control.
Formatos largos.
Permiten utilizar elementos del computador en paralelo.

Microprogramacin vertical:

Microinstrucciones codificadas.
Menor memoria de control.
Formatos cortos.
Se reduce el paralelismo.

G. R. Ocaa

25

Codificacin de las microinstrucciones:


Diferentes tcnicas para reducir el tamao de las microinstruciones:
A) Codificacin de campos:
Se codifican todos o algunos campos.
Etapa decodificadora: aumenta el coste e introduce un retardo.

Ejemplo: Para 13 elementos que gobiernan un bus de datos


a) 13 seales
b) 4 bits para seleccionar uno de los 13 elementos que puede estar
activo decodificador 4 a 16.
G. R. Ocaa

26

B) Solapamiento de campos:
Se eliminan seales que no se activan o que son excluyentes (no se
pueden activar simultneamente).
El solapamiento consiste en emplear un nico grupo de bits de la
microinstruccin para dos campos distintos (C1 y C2).
La seal adicional CR indica si los bits corresponden a C1 o C2.
El demultiplexor permite separar ambos campos.
Inconvenientes:
Las operaciones elementales gobernadas por los campos C1 y C2 son
incompatibles.
Circuito demultiplexor: coste y retardo en las seales de control.

G. R. Ocaa

27

C) Codificacin total:
Microprogramacin de mxima verticalidad.
Procedimiento:
1) Se definen las microinstrucciones horizontales diferentes
necesarias para escribir los microprogramas.
2) Se codifican con el menor n de bits posible.
Requiere un decodificador complejo y con un retardo importante.
En algunas unidades de control, la decodificacin se realiza mediante
una memoria auxiliar Codificacin total en la memoria auxiliar:
Las informaciones contenidas en la memoria de control son las direcciones
para extraer de la memoria auxiliar la microinstrucin correspondiente.
Inconveniente: doble retardo de acceso a memoria.

G. R. Ocaa

28

1.3.2 Registros
Dentro de la CPU hay un conjunto de registros que funciona
como un nivel de memoria por encima de la memoria principal
y de la cach.
Los registros de la CPU son de dos tipos:
A) Registros visibles para el usuario: Permiten al
programador de lenguaje mquina o ensamblador minimizar
las referencias a memoria principal cuando optimiza el uso
de registros.
B) Registros de control y de estado: Utilizados por la
unidad de control para controlar el funcionamiento de la
CPU, y por programas privilegiados del S.O. para controlar
la ejecucin de programas.

G. R. Ocaa

29

A) Registros visibles para el usuario:


- Registros de uso general: pueden ser asignados a diversas
funciones.
- Registros de datos: nicamente para contener datos, y no para
el clculo de una direccin de operando.
- Registros de direccin: normalmente dedicados a un modo de
direccionamiento particular.
- Punteros de segmento: contienen la direccin de la base
de un segmento.
- Registros ndice: usados para el direccionamiento
indexado, y pueden ser autoindexados.
- Punteros de pila: apuntan a la cabecera de una pila,
permitiendo el direccionamiento implcito (apilar (push) y
desapilar (pop)).
- Registros de cdigos de condicin: contienen indicadores o
flags fijados por el hardware de la CPU como resultado de alguna
operacin.
G. R. Ocaa

30

B) Registros de control y de estado:


- Contador de programa (Program Counter, PC): contiene
la direccin de la siguiente instruccin a ejecutar.
- Registro de instruccin (Instruction Register, IR): contiene
la instruccin captada que se est ejecutando.
- Registro de direccin de memoria (Memory Address
Register, MAR): contiene la direccin de una posicin de
memoria.
- Registro intermedio de memoria (Memory Buffer
Register, MBR): contiene la palabra de datos a escribir en
memoria , o la palabra leda ms recientemente.

G. R. Ocaa

31

1.3.3 UAL
Unidad Aritmtica y Lgica (UAL): Circuito combinacional
que realiza operaciones aritmticas y lgicas bsicas en un
computador:
Aritmticas: suma y resta de enteros, desplazamientos
unitarios,
Lgicas: NOT, AND, OR, NAND, NOR, EXOR,
En ingls, ALU (Arithmetic and Logic Unit).
La multiplicacin y divisin de enteros se realizan en circuitos
especficos.
Implementacin de circuitos para las operaciones lgicas:
Conjunto de puertas lgicas y un multiplexor accionado por
seales de control.

G. R. Ocaa

32

Implementacin de circuitos para las operaciones aritmticas:


Sumadores binarios elementales: semisumador, sumador
completo.
Sumadores para N bits: con propagacin de acarreo en serie,
de acarreo almacenado, con anticipacin de acarreo, con
salto de acarreo, con prediccin de acarreo,.
Restadores elementales: semirrestador binario, restador
binario completo.
Restador de N bits con propagacin de acarreo en serie.
Sumador/restador de N bits con indicadores de resultado:
nulo, signo, desbordamiento,
Circuitos de cambios de signo.
Comparadores mediante resta.

G. R. Ocaa

33

1.3.4 Coprocesador matemtico


Un coprocesador matemtico era un circuito integrado que se
aada, opcionalmente, a un procesador para ampliar el n de
instrucciones capaz de interpretar y ejecutar, especialmente de
tipo matemtico.
Los microprocesadores de Intel a partir del 80486DX tienen su
propio coprocesador matemtico integrado.
El coprocesador matemtico realiza operaciones con nmeros
reales representados segn algn estndar (normalmente el
IEEE 754).
Pueden trabajar con nmeros enteros de 16, 32 y 64 bits con
signo, y con nmeros en coma flotante de 32, 64 y 80 bits.

G. R. Ocaa

34

Dos formas distintas de funcionamiento de los coprocesadores:


1) Coprocesadores externos:
Los operandos e instrucciones son colocados en unas posiciones
de memoria determinadas por parte del microprocesador (memorymapped).
Cuando tienen el resultado, generan una interrupcin y el
procesador recoge el resultado de otra posicin de memoria.
Tienen la ventaja de que son independientes del microprocesador.

2) Coprocesadores internos:
Comparten el flujo de instrucciones con el microprocesador.
Cuando el microprocesador detecta una instruccin que no es
suya, la enva al coprocesador, que la ejecuta y devuelve los
resultados al microprocesador.

Aplicaciones que requieren la actuacin de un coprocesador


matemtico: programas de simulacin, hojas electrnicas, CADCAM, grficos, control numrico, robtica, visin computacional,
inteligencia artificial,
G. R. Ocaa

35

1.3.5 Memoria cach


Memoria ultrarrpida de pequea capacidad (8 KB a 2 MB) y
muy cara.
Est entre la memoria principal y la CPU, mediante una conexin
en serie o en paralelo.
Puede localizarse en el propio microprocesador.
Permite mejorar el rendimiento del computador, acelerando la
transmisin de datos e instrucciones entre el procesador y
cualquier componente de almacenamiento.
Transferencia de bloques
Transferencia de palabras

CPU

Memoria
cach

G. R. Ocaa

Memoria
principal

36

Operaciones con la cach:


La CPU realiza una peticin de informacin (datos o instrucciones)
localizados en memoria.
Se comprueba la cach para estos datos.
Si est (acierto), se obtiene de la cach (rpidamente).
Si no est (fallo), se lee el bloque requerido a partir de la memoria
principal hasta la cach.
Despus, la cach los entrega a la CPU.
La cach incluye etiquetas para identificar los bloques de la memoria
principal cargados.

Existen diferentes tipos de organizacin de la cach:


Totalmente asociativa.
Asociativa de una va.
Asociativa de N vas.

Existen diferentes algoritmos de reemplazo para actualizar la


memoria cach.
Existen diferentes protocolos de coherencia de cach.
G. R. Ocaa

37

1.4 El bus y los ciclos de bus


Enlace: Elemento que permite transmitir informacin entre dos o
ms dispositivos.
Conmutador: Elemento que permite encaminar la informacin
entre varios enlaces, activando unos e inhibiendo otros.
Bus:
Tipo ms corriente de elemento de comunicacin en los
computadores.
Consta de un camino que permite comunicar selectivamente
un cierto n de componentes o dispositivos, de acuerdo a
ciertas normas de conexin.
Incluye los conceptos de enlace y conmutador Permite
seleccionar los dispositivos que se comunican a travs suyo.
En una transferencia de informacin en un bus:
Maestro: agente que origina la transferencia.
Esclavo: agente que responde a la transferencia.
G. R. Ocaa

38

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 operacin: transaccin.

Pasos de un ciclo o transaccin de bus:


1) Fase de direccionamiento:
Peticin del bus.
Control.
Direccionamiento.

2) Fase de transferencia:
Transferencia del dato.
Deteccin y notificacin de errores.
Finalizacin de la transferencia.

Existen diferentes categoras de ciclos de bus:


Ciclo de bus en modo sencillo o simple.
Ciclo de bus en modo rfaga.
Ciclos especiales: reconocimiento de interrupcin, shutdown,
G. R. Ocaa

39

1.5 Repertorio de instrucciones y


modos de direccionamiento de un
microprocesador
Funcionamiento de un microprocesador: ejecucin continua de
instrucciones.
Fases de un ciclo de instruccin:

1) Lectura de la instruccin en memoria.


2) Lectura de los operandos y decodificacin de la instruccin.
3) Ejecucin de la instruccin.
4) Almacenamiento del resultado.

Lenguaje mquina:
nico lenguaje que un microprocesador es capaz de interpretar y
ejecutar directamente (secuencia de 0s y 1s).
Ligado ntimamente a la arquitectura interna del microprocesador.

Repertorio o juego de instrucciones de un microprocesador:


conjunto de instrucciones mquina que es capaz de ejecutar.
G. R. Ocaa

40

Tipos de instrucciones:
Instrucciones de transferencia de datos.
Instrucciones aritmticas.
Instrucciones lgicas.
Instrucciones condicionales.
Instrucciones de desplazamiento.
Instrucciones de transferencia de control o de modificacin
de la secuencia de ejecucin.
Instrucciones de bit.
Instrucciones de entrada/salida.
Instrucciones de control del sistema.
Instrucciones de manipulacin de cadenas.
Instrucciones especiales.

G. R. Ocaa

41

Modos de direccionamiento: mecanismos por los que se puede


especificar la ubicacin de los operandos o de una instruccin.
El campo de operandos de una instruccin es limitado
Mecanismos para poder aumentar el rango de direccionamiento y
tener flexibilidad de direccionamiento.
Algunos modos de direccionamiento ms comunes:
a) Inmediato
b) Directo (absoluto)
c) Indirecto
d) De registro
e) Indirecto con registro
f) Con desplazamiento (indexado)
f.1) Relativo a PC
f.2) Con registro base
f.3) Indexado
g) Implcito (de pila)
G. R. Ocaa

42

Nomenclatura:
A = Contenido de un campo de direccin en la instruccin.
R = Contenido de un campo de direccin en la instruccin
que referencia un registro.
EA = Direccin real (efectiva) de la posicin que contiene el
operando que se referencia:
Sistema sin memoria virtual EA = Direccin de
memoria principal o un registro.
Sistema con memoria virtual EA = Direccin de
memoria virtual o un registro.
(X) = Contenido de la posicin X.

G. R. Ocaa

43

a) Direccionamiento inmediato:
El operando es parte de la instruccin Operando = A.
Normalmente almacenado en complemento a 2, siendo el bit a la
izqd el signo.
No hace falta una referencia a memoria para captar los datos.
Es rpido.
La magnitud del operando est limitada por el n de bits.
Esquema:

Instruccin
Cdigo operacin (CO)
G. R. Ocaa

Operando
44

b) Direccionamiento directo (absoluto):


El campo de direccin contiene la direccin real del operando
EA (direccin real) = A (campo de direccin).
Tan slo requiere una referencia a memoria para acceder a los datos.
No necesita ningn clculo especial para acceder a la direccin real.
Proporciona un espacio de direcciones restringido (con un campo de
direccin de k bits, 2k direcciones).
Esquema:

CO

Instruccin
Direccin A
(ej. 1000)

Memoria

Operando 1000
G. R. Ocaa

45

c) Direccionamiento indirecto:
La celda de la memoria referenciada por el campo de direccin
contiene la direccin completa del operando.
EA = (A)
Mirar en A, encontrar la direccin (A) y, buscar el operando en
la direccin.
Amplio espacio de direcciones 2n, siendo n la longitud de
palabra.
El direccionamiento puede ser anidado (multinivel):
EA = (((A)))
Pueden requerirse varios accesos a memoria para encontrar el
operando + lento.

G. R. Ocaa

46

Esquema:

Instruccin
CO

Direccin A

Memoria

(ej. 1000)

1000 Indicador del operando


(ej. 1500)

1500

G. R. Ocaa

Operando

47

d) Direccionamiento de registro:
El operando se encuentra en el registro nombrado en el campo de
direcciones EA = R
El nmero de registros est limitado Espacio de direcciones est
muy limitado.
Ventajas:
Se necesita un campo de direcciones muy pequeo (ej. con 4
bits se pueden referenciar 16 registros de uso general).
Instrucciones ms cortas.
Captacin de instrucciones ms rpida.
No hay acceso a memoria.
Ejecucin muy rpida.
Alternativa al direccionamiento directo, con un acceso
menos a memoria.
G. R. Ocaa

48

Esquema:

Instruccin
CO Direccin de registro R
(ej. BX)

BX

G. R. Ocaa

Registros

Operando

49

e) Direccionamiento indirecto con registro:


El operando se encuentra en la celda de la memoria referenciada
por el contenido del registro R EA = (R)
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.

G. R. Ocaa

50

Esquema:

Instruccin
CO

Direccin de registro R
(ej. BX)

Memoria

Registros
BX Indicador del operando

Operando

(ej. 1000)

G. R. Ocaa

1000

51

f) Direccionamiento con desplazamiento:


Combina las posibilidades de los direccionamientos directo e
indirecto con registro.
El campo de direcciones contiene dos campos: A y R
EA = A + (R)
3 usos ms comunes:
Direccionamiento relativo a PC
Direccionamiento con registro base
Direccionamiento indexado
Ventaja: Flexibilidad.
Inconveniente: Complejidad.

G. R. Ocaa

52

Esquema:

Instruccin
CO Registro R Direccin A
(ej. BX)

(ej. 1000)

Memoria

Registros
BX Indicador del operando
(ej. 500)

G. R. Ocaa

1500

Operando

53

f.1) Direccionamiento relativo a PC:


R = PC (contador de programa) EA = A + (PC)
La direccin efectiva es un desplazamiento relativo a la
direccin de la instruccin.

f.2) Direccionamiento con registro base


R (registro referenciado) contiene una direccin de memoria.
A (campo de direccin) contiene un desplazamiento desde
dicha direccin.

f.3) Direccionamiento indexado


A (campo de direccin) referencia una direccin de memoria.
R (registro referenciado) contiene un desplazamiento positivo
desde esa direccin.
Autoindexado: EA = A + (R); (R) (R)+1 (operaciones
iterativas).
G. R. Ocaa

54

g) Direccionamiento implcito (de pila):

El operando est implcito en la instruccin.


Ejemplo: instrucciones de pila EA = cabecera de la pila.
Instrucciones de 0 direcciones.
Ventaja: No referencia a memoria.
Inconveniente: Aplicabilidad limitada.
Esquema:

Instruccin (CO)

Pila

Implcito

Cabecera de pila
G. R. Ocaa

Operando
55