129918270 1 6 Modos de Direccionamiento

download 129918270 1 6 Modos de Direccionamiento

of 11

Transcript of 129918270 1 6 Modos de Direccionamiento

  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    1/11

    MODOS DE

    DIRECCIONAMIENTO

    EQUIPO 6

    Alumnos:

    Cristian Ivn

    Martnez Gonzlez

    Ocaa Martnez

    Nerelyn

    Olazarn Gmez

    Kevin DarylLenguajes de interfaz

    Ing. Ted Echevarra Dionisio

    G&G: 6 B

    Instituto tecnolgico superior de Coatzacoalcos

  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    2/11

    Contenido

    1.6 MODOS DE DIRECCIONAMIENTO .................................................................................................. 2

    TIPOS DE DIRECCIONAMIENTO ........................................................................................................... 2

    Implcito .......................................................................................................................................... 2

    Inmediato ....................................................................................................................................... 2

    Directo ............................................................................................................................................ 3

    Indirecto ......................................................................................................................................... 4

    Absoluto ......................................................................................................................................... 5

    De registro ..................................................................................................................................... 5

    Indirecto mediante registros........................................................................................................ 5

    De desplazamiento ....................................................................................................................... 6

    De pila ............................................................................................................................................ 6

    Respecto a un registro base ....................................................................................................... 6

    Respecto a un registro ndice ..................................................................................................... 7

    Indexado con autoincremento/autodecremento ...................................................................... 7

    Instruccin de salto con direccionamiento absoluto ............................................................... 8

    Instruccin de salto con direccionamiento relativo.................................................................. 8

  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    3/11

    1.6 MODOS DE DIRECCIONAMIENTO

    Los llamados modos de direccionamientoson las diferentes maneras de

    especificar en informtica un operando dentro de una instruccin en lenguaje

    ensamblador

    Un modo de direccionamiento especifica la forma de calcular la direccin de

    memoria efectiva de un operando mediante el uso de la informacin contenida en

    registros y / o constantes, contenida dentro de una instruccin de la mquina o en

    otra parte.

    TIPOS DE DIRECCIONAMIENTO

    Implcito

    En este modo de direccionamiento no es necesario poner ninguna direccin de

    forma explcita, ya que en el propio cdigo de operacin se conoce la direccin del

    (de los) operando(s) al (a los) que se desea acceder o con el (los) que se quiere

    operar.

    Inmediato

    En la instruccin est incluido directamente el operando.

    En este modo el operando es especificado en la instruccin misma. En otras

    palabras, una instruccin de modo inmediato tiene un campo de operando en vez

    de un campo de direccin. El campo del operando contiene el operando actual que

    se debe utilizar en conjunto con la operacin especificada en la instruccin. Las

    instrucciones de modo inmediato son tiles para inicializar los registros en un valor

    constante.

    Cuando el campo de direccin especifica un registro del procesador, la instruccin

    se dice que est en el modo de registro.

  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    4/11

    Directo

    El campo de operando en la instruccin contiene la direccin en memoria donde

    se encuentra el operando.

    En este modo la direccin efectiva es igual a la parte de direccin de la

    instruccin. El operando reside en la memoria y su direccin es dada directamente

    por el campo de direccin de la instruccin. En una instruccin de tipo ramificacin

    el campo de direccin especifica la direccin de la rama actual.

    Con este tipo de direccionamiento, la direccin efectiva es contenida en la misma

    instruccin, tal como los valores de datos inmediatos que son contenidos en la

    instruccin. Un procesador de 16 bits suma la direccin efectiva al contenido del

    segmento de datos previamente desplazado en 4 bits para producir la direccin

    fsica del operando.

    http://commons.wikimedia.org/wiki/File:DireccionamientoInmediato.png
  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    5/11

    Indirecto

    El campo de operando contiene una direccin de memoria, en la que se encuentra

    la direccin efectiva del operando.

    http://commons.wikimedia.org/wiki/File:DireccionamientoIndirecto.pnghttp://commons.wikimedia.org/wiki/File:DireccionamientoDirecto.pnghttp://commons.wikimedia.org/wiki/File:DireccionamientoIndirecto.pnghttp://commons.wikimedia.org/wiki/File:DireccionamientoDirecto.png
  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    6/11

    Absoluto

    El campo de operando contiene una direccin en memoria, en la que se encuentra

    la instruccin.

    De registro

    Sirve para especificar operandos que estn en registros.

    Indirecto mediante registros

    El campo de operando de la instruccin contiene un identificador de registro en el

    que se encuentra la direccin efectiva del operando.

    En este modo el campo de la direccin de la instruccin da la direccin en donde

    la direccin efectiva se almacena en la memoria. El control localiza la instruccin

    de la memoria y utiliza su parte de direccin para acceder a la memoria de nuevo

    para leer una direccin efectiva. Unos pocos modos de direccionamiento requieren

    que el campo de direccin de la instruccin sea sumado al control de un registro

    especificado en el procesador. La direccin efectiva en este modo se obtiene del

    siguiente clculo:

    Dir. efectiva = Dir. de la parte de la instruccin + Contenido del registro del

    procesador...

    http://commons.wikimedia.org/wiki/File:DireccionamientoRegistro.png
  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    7/11

    De desplazamiento

    Combina el modo directo e indirecto mediante registros

    De pila

    Se utiliza cuando el operando est en memoria y en la cabecera de lapila.

    Este direccionamiento se basa en las estructuras denominadas Pila(tipo LIFO), lascuales estn marcados por el fondo de la pila y el puntero de pila (*SP), El puntero

    de pila apunta a la ltima posicin ocupada. As, como puntero de

    direccionamiento usaremos el SP. El desplazamiento ms el valor del SP nos dar

    la direccin del objeto al que queramos hacer referencia. En ocasiones, si no

    existe C. de desplazamiento solo se trabajara con la cima de la pila. Este tipo de

    direccionamiento nos aporta flexibilidad pero por el contrario, es mucho ms

    complejo que otros tipos estudiados ms arriba.

    Respecto a un registro base

    Este modo de direccionamiento es muy usado por los ensambladores cuando se

    llaman a las funciones (para acceder a los parmetros apilados en la pila, valga la

    redundancia). Consiste, al igual que el indirecto a travs de registro, en calcular la

    http://es.wikipedia.org/wiki/Pila_(estructura_de_datos)http://commons.wikimedia.org/wiki/File:DireccionamientoIndirectoConRegistro.pnghttp://es.wikipedia.org/wiki/Pila_(estructura_de_datos)
  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    8/11

    EA (Effective Address) como la suma del contenido del registro base y un cierto

    desplazamiento (u offset) que siempre ser positivo. Esta tcnica permite cdigos

    reentrantes y acceder de forma fcil y rpida a posiciones cercanas de memoria.

    EA = RB+offset RB = registro base offset = desplazamiento -> RB se comporta

    como una direccin de memoria a la que se le sumar el desplazamiento

    Respecto a un registro ndice

    Es similar al anterior, lo nico que es el contenido del registro ndice el que indica

    el desplazamiento que se produce a partir de una direccin de memoria que se

    pasa tambin como argumento a la orden que utiliza este modo de

    direccionamiento. Aunque en esencia son dos modos equivalentes. La EA se

    calcula como la suma del contenido del registro ndice y una direccin de

    memoria:

    EA = RI+DM RI = registro ndice DM = direccin de memoria -> RI se comporta

    como un offset

    === Indexado respecto a una base === Se trata de una combinacin de los dos

    anteriores y consiste en calcular la direccin efectiva como:

    EA = RI+RB+DM

    -> Las siglas significan lo mismo que en el caso anterior

    Indexado con autoincremento/autodecremento

    Es un modo de direccionamiento anlogo al indexado, explicado anteriormente.

    La nica diferencia es que permite un incremento o decremento de la direccin

    final o el registro ndice segn

    los siguientes casos:

    -> Indexado con autopreincremento: Incrementa el registro ndice primero (se

    incrementa un valor, segn el tamao del objeto direccionado) y luego calcula la

    EA al igual que el direccionamiento indexado.

    -> Indexado con autoposincremento: Calcula la direccin efectiva y despus

    incrementa esta.

  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    9/11

    -> Indexado con autopredecremento: Decrementa el registro ndice y despus

    calcula la direccin efectiva.

    -> Indexado con autoposdecremento: Calcula la direccin efectica y despus

    decrementa esta.

    Instruccin de salto con direccionamiento absoluto

    Consiste en cargar en el PC el valor que se especifica en la orden de salto, p.e:

    jmp 0xAB ----> Carga 0xAB en PC

    Instruccin de salto con direccionamiento relativo

    Es parecida a la especificada anteriormente la diferencia es que el salto es relativo

    al PC, pongamos un ejemplo:

    Supongamos que PC vale = 0x0A, si nosotros interpretamos la instruccin jr +03,

    saltaremos tres posiciones posteriores a PC (tambin podra ser -03 y seran

    posiciones anteriores). Pero, cuidado! si esa instruccin estaba en la posicin

    0x0A la direccin de PC a incrementar ser la inmediatamente posterior (ya que

    PC se incrementa automticamente despus de leer la instruccin), por lo que

    quedara:PC = 0x0B ---> nuevo PC = 0x0B+0x03 = 0x0E, con lo que el PC quedara como

    0x0E.

    Direccionamiento paginado y direccionamiento segmentado

    Paginado:La memoria se encuentra actualmente dividida en pginas(bloques

    de igual longitud).

    Para obtener las direcciones necesitamos:

    Indicador de pgina (IP): en un registro especfico o de propsito general de la

    mquina.

    Direccin de la palabra (DP): en el campo CD de la instruccin.

    As, concatenando ambas partes obtenemos la direccin completa.

  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    10/11

    Segmentado: La memoria se divide en porciones cuyos tamaos son variables.

    As, para acceder a ellos se tiene una tabla de segmentos que contiene la

    direccin del comienzo y del final de cada segmento en memoria.

    Usar este tipo de direccionamiento tiene como ventajas que se puede definir

    segmentos de tamao arbitrario. Por otro lado, esta misma ventaja, el

    fraccionamiento de memoria es uno de sus problemas.

    Ambos modos de direccionamiento facilitan la multiprogramacin gracias a la

    tcnica de la memoria virtual que permite que un proceso no tenga que estar

    cargado ntegramente en memoria, si no que se cargan distintas pginas delmismo (o segmentos). Si se intenta cargar una pgina o segmento que no se

    encuentra en la memoria principal se produce una excepcin de falta de pgina o

    segmento y se accede a la memoria para cargar la informacin requerida en la

    memoria principal.

    Direccionamiento absoluto vs Direccionamiento relativo

    En esta seccin vamos a resaltar las diferencias de estos dos tcnicas de

    direccionamiento y aclarar las ventajas y desventajas que cada una de ellas

    conlleva.

    Direccionamiento absoluto:Consiste en direccionar una posicin de

    memoria de forma directa, esto es, que la direccin hace referencia

    directamente a dicha posicin sin tener que realizar clculos adicionales para

    la EA.

    http://commons.wikimedia.org/wiki/File:Dir._paginado.jpg
  • 8/13/2019 129918270 1 6 Modos de Direccionamiento

    11/11

    Direccionamiento relativo:Cuando para direccionar una posicin de

    memoria se hace referencia a otra sobre la cual se especifica un incremento o

    decremento, es decir, se requiere otro dato para el clculo de la direccin

    efectiva.

    Generalmente se usan los direccionamientos relativos ya que, al ejecutar un cierto

    programa se cumple la proximidad espacial y temporal, lo que implica que datos

    que ya han sido usados o que se encuentran en posiciones cercanas al PC

    tendrn una alta probabilidad de ser referenciados prximamente. Otras de las

    ventajas del direccionamiento relativo es que permite los cdigos reentrantes y

    cambiar ciertas direcciones sin tener que volver a compilar el programa. Es

    tambin til porque nunca se sabe en qu posicin de memoria se cargar un

    determinado programa. Por ltimo reduce el nmero de bits para especificar las

    direcciones y se facilita la referencia a datos del programa a travs de los registros

    base.

    El problema viene cuando queremos referenciar un dato al que no podemos

    acceder de forma relativa (p.e porque los registros base no puedan alcanzar dicha

    posicin aun con el incremento ms grande que podamos darle), en este caso se

    requiere el direccionamiento absoluto que s es capaz de acceder, por lo general,

    a cualquier direccin de memoria.