Sie sind auf Seite 1von 35

Modos de

direccionamiento
Arquitectura de Computadoras 1
Organizacin y Arquitectura
de Computadoras
Tema 4
Conjuntos de Instrucciones:
Modos de direccionamiento
y Formatos
Modos de
direccionamiento
Arquitectura de Computadoras 2
Modos de direccionamiento
Inmediato
Directo
Indirecto
Registro
Registro Indirecto
Desplazamiento (Indexado)
Stack
Modos de
direccionamiento
Arquitectura de Computadoras 3
Direccionamiento Inmediato
El operando es parte de la instruccin
Operando = campo direccin
ejemplo. ADD 5
Suma 5 al contenido del acumulador
5 es el operando
No hay referencia a memoria para extraer datos
Rpido
Rango limitado
Modos de
direccionamiento
Arquitectura de Computadoras 4
Diagrama del Direccionamiento Inmediato
Operando Opcode
Instruccion
Modos de
direccionamiento
Arquitectura de Computadoras 5
Direccionamiento Directo
El campo de direcciones contiene la direccin del
operando
La direccin efectiva (EA) = campo de direccin (A)
ejemplo. ADD A
Suma el contenido de la celda A al acumulador
Buscar en memoria la direccin A para el operando
Una sola referencia a memoria para acceder a los datos
No se hacen clculos adicionales para trabajar la
direccin efectiva
Espacio de direcciones limitado
Modos de
direccionamiento
Arquitectura de Computadoras 6
Diagrama de Direccionamiento Directo
Direccion A Opcode
Instruccion
Memoria
Operando
Operando
Modos de
direccionamiento
Arquitectura de Computadoras 7
Direccionamiento Indirecto (1)
La localidad de memoria apuntada por el campo
de direccin de la instruccin contiene la
direccin (apuntador) al operando
EA = (A)
Busca en A, encuentra la direccin (A) y ah busca el
operando
Ejemplo. ADD (A)
Suma el contenido de una localidad apuntada por el
contenido de A al acumulador
Modos de
direccionamiento
Arquitectura de Computadoras 8
Direccionamiento Indirecto (2)
Espacio de direccionamiento grande
2
n
donde n = es la longitud de la palabra
Puede ser anidado, multinivel, en cascada
ejemplo. EA = (((A)))
Cmo sera el diagrama?
Varios accesos a memoria para encontrar
el operando
Ms lento
Modos de
direccionamiento
Arquitectura de Computadoras 9
Diagrama de Direccionamiento Indirecto
Direccion A Opcode
Instruccion
Memoria
Operando
Apuntador al operando
Operando
Modos de
direccionamiento
Arquitectura de Computadoras 10
Direccionamiento de Registro (1)
El operando est en el registro nombrado
en el campo direccin
EA = R
Nmero limitado de registros
Se requiere un campo de direcciones muy
pequeo
Instrucciones ms cortas
Extraccin de instrucciones ms rpida
Modos de
direccionamiento
Arquitectura de Computadoras 11
Direccionamiento de Registro (2)
No se hace acceso a memoria
La ejecucin es muy rpida
Espacio de direcciones muy limitado
Muchos registros ayudan al rendimiento
Requiere una buena programacin en
ensamblador o el desarrollo de un buen
compilador
Programando en C
register int a;
Modos de
direccionamiento
Arquitectura de Computadoras 12
Diagrama de direccionamiento de Registro
Direccion del Registro R
Instruccion
Registros
Opcode
Operando
Modos de
direccionamiento
Arquitectura de Computadoras 13
Direccionamiento indirecto con registro
EA = (R)
El operando est en una celda de
memoria apuntado por el contenido del
registro R
Espacio de direcciones grande (2
n
)
Un acceso menos a memoria que el
direccionamiento indirecto
Modos de
direccionamiento
Arquitectura de Computadoras 14
Diagrama de direccionamiento
Indirecto con registro
Instruccion
Opcode
Memoria
Direccion del registro R
Operando
Apuntador al operando
Registros
Modos de
direccionamiento
Arquitectura de Computadoras 15
Direccionamiento con
desplazamiento
EA = A + (R)
El campo de direcciones tiene dos valores
A = valor base
R = registro que tiene el desplazamiento
o viceversa
Modos de
direccionamiento
Arquitectura de Computadoras 16
Direccionamiento con desplazamiento
Registro R Opcode
Instruccion
Memoria
Direccion A

Operando
Apuntador al operando
Registros
Modos de
direccionamiento
Arquitectura de Computadoras 17
Direccionamiento Relativo
Una versin de direccionamiento con
desplazamiento
R = Contador del programa, PC
EA = A + (PC)
Obtener operando A localidades a partir de
la posicin actual del PC
Localidad de referencia y el uso de la cach
Modos de
direccionamiento
Arquitectura de Computadoras 18
Direccionamiento base registro
A = desplazamiento
R = apuntador a la direccin base
R puede ser implcito o explcito
ejemplo. Registros de segmento en el
80x86
Modos de
direccionamiento
Arquitectura de Computadoras 19
Direccionamiento Indexado
A = base
R = desplazamiento
EA = A + R
Bueno para el acceso de arreglos
EA = A + R
R++
Modos de
direccionamiento
Arquitectura de Computadoras 20
Combinaciones
Post-indexado
EA = (A) + (R)
Pre-indexado
EA = (A+(R))
Modos de
direccionamiento
Arquitectura de Computadoras 21
Direccionamiento de Stack
El operando est (implcitamente) en el
tope del stack
ejemplo.
ADD
Saca dos elementos del stack y los suma
Modos de
direccionamiento
Arquitectura de Computadoras 22
Modos de direccionamiento del Pentium
La direccin virtual o efectiva es el desplazamiento en el
segmento
La direccin inicial ms un desplazamiento da la direccin lineal
Esto va a travs de traduccin de pgina si est habilitado
Modos de direccionamiento disponibles:
Inmediato
Registro
Desplazamiento
Base
Base con desplazamiento
Indice escalado con desplazamiento
Base con ndice y desplazamiento
Base ndice escalado con desplazamiento
Relativo
Modos de
direccionamiento
Arquitectura de Computadoras 23
Clculo modos de direccionamiento del Pentium
Modos de
direccionamiento
Arquitectura de Computadoras 24
Modos de direccionamiento del Power PC
Arquitectura Load/Store (Carga/almacena)
Indirecto
La instruccin incluye un desplazamiento de 16 bits que se suma al
registro base (puede ser un registro de propsito general)
Puede reemplazar el contenido del registro base con una nueva
direccin
Indirecto indexado
La instruccin hace referencia a un registro base y un registro
ndice (ambos pueden ser de propsito general)
La direccin efectiva (EA) es la suma de sus contenidos
Direccin de salto
Absoluta
Relativa
Indirecta
Aritmtica
Operandos en registros o como parte de la instruccin
Punto flotante en registros nicamente
Modos de
direccionamiento
Arquitectura de Computadoras 25
Modos de direccionamiento operandos
de memoria del PowerPC
Modos de
direccionamiento
Arquitectura de Computadoras 26
Formatos de Instrucciones
Distribucin de los bits en una instruccin
Incluye el opcode
Incluye operandos (implcitos o explcitos)
Usualmente existe ms de un formato en un
conjunto de instrucciones
Modos de
direccionamiento
Arquitectura de Computadoras 27
Longitud de la instruccin
Afectado por y afecta:
Tamao de la memoria
Organizacin de la memoria
Estructura del bus
Complejidad del CPU
Velocidad del CPU
Repertorio de instrucciones potente o
ahorrar espacio?
Modos de
direccionamiento
Arquitectura de Computadoras 28
Asignacin de bits
Nmero de modos de direccionamiento
Nmero de operandos
Registros vs memoria
Nmero de conjuntos de registros
Rango de direccionamiento
Granularidad en las direcciones
Modos de
direccionamiento
Arquitectura de Computadoras 29
Formato de instrucciones PDP-8
Modos de
direccionamiento
Arquitectura de Computadoras 30
Formato de instrucciones PDP-10
Modos de
direccionamiento
Arquitectura de Computadoras 31
Formato de instrucciones PDP-11
Modos de
direccionamiento
Arquitectura de Computadoras 32
Ejemplos de instrucciones VAX
Modos de
direccionamiento
Arquitectura de Computadoras 33
Formato de instrucciones Pentium
Modos de
direccionamiento
Arquitectura de Computadoras 34
Formato de instrucciones PowerPC (1)
Modos de
direccionamiento
Arquitectura de Computadoras 35
Formato de instrucciones PowerPC (2)

Das könnte Ihnen auch gefallen