Estructura y Tecnología de Computadores I                                  Modos de direccionamiento                     -...
Estructura y Tecnología de Computadores I                                  Modos de direccionamiento                      ...
Estructura y Tecnología de Computadores I                                  Modos de direccionamiento           -3-3. DIREC...
Estructura y Tecnología de Computadores I                                 Modos de direccionamiento                       ...
Estructura y Tecnología de Computadores I                                  Modos de direccionamiento                      ...
Estructura y Tecnología de Computadores I                                   Modos de direccionamiento                     ...
Estructura y Tecnología de Computadores I                                   Modos de direccionamiento                     ...
Estructura y Tecnología de Computadores I                                   Modos de direccionamiento                     ...
Estructura y Tecnología de Computadores I                                  Modos de direccionamiento                      ...
Estructura y Tecnología de Computadores I                                   Modos de direccionamiento                     ...
Estructura y Tecnología de Computadores I                                  Modos de direccionamiento                      ...
Upcoming SlideShare
Loading in...5
×

Modos de Direccionamiento

2,072

Published on

Modos de Direccionamiento utilizados por el CPU.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,072
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
103
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Modos de Direccionamiento

  1. 1. Estructura y Tecnología de Computadores I Modos de direccionamiento -1-MODOS DE DIRECCIONAMIENTO1. Introducción2. Direccionamiento inmediato3. Direccionamiento directo4. Direccionamiento relativo a registro5. Direccionamiento indexado6. Direccionamiento indirecto7. Combinaciones de modos básicos de direccionamiento8. Modos de direccionamiento del microprocesador M680009. Direccionamiento paginado y direccionamiento segmentado1. INTRODUCCIÓN- Modo de direccionamiento: mecanismo que permite conocer la ubicación de un dato oinstrucción.- Objeto: dato o instrucción que se desea direccionar.- Un computador dispone de varios modos de direccionamiento.- Objetivos de los modos de direccionamiento: • Reducir el espacio ocupado en memoria por las instrucciones. • Permitir la reubicación del código. • Facilitar el manejo de las estructuras de datos.Modos de direccionamiento en las instrucciones- Los operandos y resultado de una instrucción son accedidos a través de modos dedireccionamiento.- Cada campo de operando o resultado en una instrucción contiene información acercadel modo de direccionamiento empleado para acceder a él. • Código de operación (CO) y modificador (MD) • Operandos (OPi) y resultado (RES) CO MD OP1 OP2 RES- Cada campo de operandos o resultado tendrá los siguientes subcampos: Mdir CR CD • Mdir: especificador del modo de direccionamiento (ocupa pocos bits). • CR: campo especificador del registro involucrado en el modo de direccionamiento (ocupa pocos bits). • CD: campo que puede contener un operando inmediato, una dirección o un desplazamiento (suele ocupar bastante espacio).
  2. 2. Estructura y Tecnología de Computadores I Modos de direccionamiento -2-2. DIRECCIONAMIENTO INMEDIATO- La instrucción contiene al propio objeto.- Se emplea cuando la instrucción contiene un valor constante.- El tamaño del operando viene determinado por el espacio reservado para él en elformato de instrucción.- Subcampos del campo de operando Mdir CD (operando inmediato)- Esquema de funcionamiento- Ejemplo M68000: MOVE.B #5,D0
  3. 3. Estructura y Tecnología de Computadores I Modos de direccionamiento -3-3. DIRECCIONAMIENTO DIRECTODireccionamiento mediante registro- El operando se encuentra contenido en un registro.- Subcampos del campo de operando Mdir CR- Esquema de funcionamiento- Ejemplos M68000: MOVE.B #5,D0 MOVE.W #$23A0,A3
  4. 4. Estructura y Tecnología de Computadores I Modos de direccionamiento -4-Direccionamiento directo absoluto- La instrucción contiene la dirección de memoria exacta donde se encuentra eloperando.- El operando se encuentra en memoria.- Subcampos del campo de operando Mdir CD (dirección) • El rango de CD debe ser capaz de direccionar toda la memoria. • Si no es capaz: direccionamiento de página base.- Esquema de funcionamiento- Ejemplo M68000: MOVE.B D0,$A61350
  5. 5. Estructura y Tecnología de Computadores I Modos de direccionamiento -5-4. DIRECCIONAMIENTO RELATIVO A REGISTRO- El operando se encuentra en memoria.- La dirección del objeto ha de ser calculada a partir de la suma del contenido de uncierto registro (que funciona como un puntero) y un desplazamiento (contenido en lainstrucción).- Subcampos del campo de operando Mdir CR CD (desplazamiento)Direccionamiento relativo a registro base- Se emplea como puntero un registro base, que puede ser un registro específico o unocualquiera de los del banco.- El registro base utilizado se indica en el subcampo CR.- Esquema de funcionamiento- Ejemplo M68000: MOVE.W 5(A0),D1
  6. 6. Estructura y Tecnología de Computadores I Modos de direccionamiento -6-Direccionamiento relativo a contador de programa- Como puntero se emplea el contador de programa.- Este direccionamiento se emplea para acceder a instrucciones (saltos relativos obucles) o para referenciar datos cercanos al código.- No es preciso introducir el subcampo CR.- Esquema de funcionamiento- Ejemplo M68000: MOVE.L 24(PC),D0Direccionamiento relativo a puntero de pila- Pila: estructura de tipo LIFO marcada por • el fondo de la pila • el puntero de pila (*SP), registro que apunta a la última posición ocupada de la pila- Como puntero del direccionamiento se emplea el puntero de pila.- No es preciso incluir el subcampo CR, y a veces no lleva CD.- Ejemplo M68000: MOVE.B D0,24(SP) MOVE.B D0,24(A7)
  7. 7. Estructura y Tecnología de Computadores I Modos de direccionamiento -7-5. DIRECCIONAMIENTO INDEXADO- Similar al direccionamiento relativo a registro base. • El operando se encuentra en memoria. • Registro índice: se modifica a menudo en la ejecución del programa.- Subcampos del campo de operando Mdir CR CD (desplazamiento)- El registro índice puede permitir incrementos o decrementos antes o después deobtenerse la dirección del objeto: • Preincremento • Predecremento • Posincremento • Posdecremento- El incremento o decremento puede depender del tamaño del objeto referenciado.- Ejemplos M68000 (sólo predecremento y posincremento): MOVE.B D0,(A0)+ incrementa A0 en 1 MOVE.W D0,-(A2) decrementa A2 en 2 MOVE.L (A5)+,D3 incrementa A5 en 4- Utilizado para recorrer tablas o vectores.6. DIRECCIONAMIENTO INDIRECTO- El operando se encuentra en memoria.- La instrucción contiene una dirección que se emplea para leer en memoria unadirección intermedia que será la verdadera dirección del objeto buscado.- Subcampos del campo de operando Mdir CD (dirección indirecta)- Esquema de funcionamiento
  8. 8. Estructura y Tecnología de Computadores I Modos de direccionamiento -8-7. COMBINACIONES DE MODOS BÁSICOS DE DIRECCIONAMIENTODireccionamiento indirecto a registro- Es similar al direccionamiento indirecto, pero la dirección intermedia está contenida enun registro, no en una posición de memoria.- La instrucción contendrá la referencia al registro.- Subcampos del campo de operando Mdir CR- Coincide con el direccionamiento relativo a registro base sin usar desplazamiento.- Ejemplo M68000: MOVE.L D0,(A4)Combinación de modos indirecto e indexado- Subcampos del campo de operando Mdir CR CD (dirección indirecta)- Preindexado: El contenido del registro índice se suma al de la dirección indirecta en elprimer paso de la indirección.
  9. 9. Estructura y Tecnología de Computadores I Modos de direccionamiento -9-- Posindexado: el contenido del registro índice se suma a la dirección intermedia en elsegundo paso de la indirección.- Puede haber preincremento o predecremento (total: 8 posibilidades).Direccionamiento relativo a registro con índice y desplazamiento- La dirección del objeto se obtiene sumando el contenido de un registro base, unregistro índice y un desplazamiento.- Subcampos del campo de operando Mdir CR1 CR2 CD (desplazamiento)- Ejemplo M68000: MOVE.L D0,12(A0,D2)
  10. 10. Estructura y Tecnología de Computadores I Modos de direccionamiento -10-8. MODOS DE DIRECCIONAMIENTO DEL MICROPROCESADOR M68000- Inmediato (sólo operandos fuente): MOVE.B #$48,D3- Mediante registro • De datos: MOVE.B #$48,D3 • De direcciones: MOVE.W #$4AE8,A5- Absoluto directo: MOVE.W D2,$4AB12F0- Relativo a registro de direcciones (indirecto a registro): MOVE.L $345A0A5F,(A6)- Relativo a registro de direcciones con desplazamiento: MOVE.L $345A0A5F,3(A6)- Relativo a registro de direcciones con desplazamiento e índice: MOVE.L $345A0A5F,4(A1,A2) MOVE.L $345A0A5F,4(A4,D7)- Relativo a registro de direcciones con predecremento: MOVE.W D0,-(A7)- Relativo a registro de direcciones con posincremento: MOVE.W D0,(A7)+- Relativo a contador de programa con desplazamiento (sólo operando fuente): MOVE.L 4(PC),$345A0A5F- Relativo a contador de programa con desplazamiento e índice (sólo operando fuente): MOVE.L 4(PC,A2),$345A0A5F MOVE.L 4(PC,D7),$345A0A5F
  11. 11. Estructura y Tecnología de Computadores I Modos de direccionamiento -11-9. DIRECCIONAMIENTO PAGINADO Y DIRECCIONAMIENTOSEGMENTADODireccionamiento paginado- La memoria se encuentra dividida en páginas (bloques de igual longitud).- Las direcciones se componen de dos partes: • Indicador de página (IP): en un registro específico o de propósito general de la máquina. • Dirección de palabra (DP): en el campo CD de la instrucción.- Concatenando IP y DP se obtiene la dirección completa.- Esquema de funcionamientoDireccionamiento segmentado- La memoria se divide en porciones de tamaño variable llamadas segmentos.- Tabla de segmentos: contiene la dirección del comienzo y del final de cada segmentoen memoria.- Problemas: fraccionamiento de memoria.- Ventajas: se pueden definir segmentos de tamaño arbitrario.

×