SlideShare una empresa de Scribd logo
1 de 8
MODOS DE DIRECCIONAMIENTO
Introducción
El campo de operación de una instrucción especifica la operación que se debe
realizar. Éstadebe ser ejecutada sobre algunos datos almacenados en registros
del computador o en palabrasde memoria, es decir, sobre los operandos. Elmodo
de direccionamientoespecifica laformade interpretar la información contenida en
cada campo de operando para localizar, en base aesta información, el operando.
Los ordenadores utilizan técnicas de direccionamiento con los siguientes fines:
Dar versatilidad de programación al usuario proporcionando facilidades tales
como índices, direccionamientos indirectos, etc., esta versatilidad nos servirá
para manejar estructuras de datos complejas como vectores, matrices, etc.
Reducir el número de bits del campo de operando.
Al usuario que tiene poca experiencia, la variedad de modos de direccionamiento
en unprocesador le puede parecer excesivamente complicada. Sin embargo, la
disponibilidad de diferentes esquemas de direccionamiento le da al programador
experimentado flexibilidad paraescribir programas que son más eficientes en
cuanto a número de instrucciones y tiempo deejecución.
Es tal la importancia de los modos de direccionamiento que la potencia de una
máquina semide tanto por su repertorio de instrucciones como por la variedad de
modos de direccionamiento que es capaz de admitir.
Definición: Losmodos de direccionamientode un procesador son lasdiferentes
formas detransformación del campo de operando de la instrucción en la dirección
del operando.En esta definición el términodireccióndebe interpretarse en su
sentido más general delocalización del operando, en cualquier lugar, y no en el
sentido más estricto de dirección dememoria.
Modos de direccionamiento más usuales
Los modos de direccionamiento podrían clasificarse enpropios e impropios: en
los direccionamientos propios el operando está localizado en una dirección
concreta de memoria,mientras que en los impropios en otros lugares tales como
los registros del procesador, etc. Entre los modos de direccionamiento descritos
en los párrafos siguientes, los tres primeros puedenconsiderarse impropios,
mientras que los demás son direccionamientos propios.
- Direccionamiento implícito
En este modo, llamado tambiéninherente,el operando se especifica en la misma
definiciónde la instrucción. El modo implícito se usa para hacer referencia a
operandos de dos tipos:
Registros: En el caso de que el código de operación se refiera en particular a un
registro.
Operandos en la pila: En el caso de que la operación se realice siempre sobre el
datosituado en la cima de pila.
El primer caso es típico de las organizaciones de un solo acumulador.
Generalmente en unordenador de este tipo todas las instrucciones que actúan
sobre el acumulador utilizan direccionamiento implícito.
En el segundo caso están la mayoría de las instrucciones de los ordenadores con
organización de pila. Estas operaciones llevan implícitos los operandos que son
los elementos de la cimade pila. Esto se debe a que en este tipo de máquinas la
mayoría de las operaciones no tienencampos de dirección. También están en este
caso las instrucciones PUSH y POP de la mayoríade los ordenadores cuyo
operando implícito también es, como en el caso anterior, la cima depila.
- Direccionamiento inmediato (o literal)
En este modo es el operando el que figura en la instrucción no su dirección. En
otras palabrasel campo de operando contiene él mismo, sin transformación
alguna, la información sobre laque hay que operar. Este modo es útil para
inicializar registros o palabras de memoria con unvalor constante.
- Direccionamiento directo por registro
Se mencionó anteriormente que el campo de dirección de una instrucción puede
especificaruna palabra de memoria o un registro del procesador. Cuando se da
este último caso se diceque el operando está especificado condireccionamiento
directo por registro, en tal caso,eloperando reside en uno de los registros del
procesadorque es seleccionado por un campo deregistro dekbits en la instrucción.
Este campo dekbits puede especificar uno de
2k
registros.Este modo es típico de los ordenadores con organización de registros
de uso general.
Lasventajasde este modo son:
El acceso a los registros es muy rápido, por tanto el direccionamiento por
registro debe usarseen las variables que se usen con más frecuencia para evitar
accesos a memoria que sonmás lentos, un ejemplo muy típico del uso de este
direccionamiento son losíndices delos bucles.
El número de bits necesarios para especificar un registro es mucho más
pequeñoque el necesario para especificar una dirección de memoria, esto es
debido a que el número deregistros del procesador es muy pequeño comparado
con el número de direcciones dememoria. Sin embargo, hay que tener en cuenta
que en los ordenadores modernos el número de registros ha aumentado
considerablemente.
- Direccionamiento directo (o absoluto)
Este es el modo de direccionamiento más sencillo.El campo de dirección no
necesita transformación alguna para dar la dirección efectiva, es decir la función
que transforma el campode operando en la dirección efectiva es la identidad. Esto
significa que el campo de operando esya la dirección efectiva.
Este direccionamiento sólo se usa en ordenadores pequeños en que el programa
siempre sesitúa en la misma zona de memoria ya que dificulta larelocalizaciónde
los programas, es decirque el código de los programas no dependa de su
situación en memoria. En ordenadores másgrandes, este modo está reservado
para acceder a direcciones del sistema, que normalmente serefieren a
operaciones de entrada y salida, ya que estas direcciones no dependen del
programa.
- Direccionamiento indirecto
En este modoel campo de operando de la instrucción indica la localización de la
direcciónefectiva del operando. El modo de direccionamiento indirecto puede
adquirir diferentes formassegún cuál sea el lugar donde se encuentre la dirección
del operando. En general, todos losmodos de direccionamiento tienen su versión
indirecta que añade un eslabón más a la cadenadel direccionamiento. Por ejemplo
existe el direccionamiento indirecto por registro, en el queel registro especificado
contiene la dirección del operando, no el operando mismo.
Este direccionamiento es útil cuando se trabaja conapuntadoresya que los
apuntadoresson variables que contienen las direcciones de los operandos, no los
operandos mismos.
- Direccionamiento relativo
Hay algunos modos de direccionamiento en que se hace uso de una propiedad
muy generalizada de los programas denominadalocalidad de referencia, esta
propiedad consiste en quelas direcciones referenciadas por los programas no
suelen alejarse mucho unas de otrasy, portanto, suelen estar concentradas en una
parte de la memoria. Estas consideraciones nos llevana la conclusión de que no
es necesario utilizar todos los bits de la dirección de memoria en elcampo de
operando, basta utilizar los bits precisos para cubrir la parte de memoria donde
esténincluidas las direcciones a las que el programa hace referencia. Esto puede
hacerse tomandocomo referencia un punto de la memoria y tomando como campo
de operando la diferenciaentre ese punto y la dirección efectiva del operando. La
dirección que se toma como punto dereferencia puede residir en un registro de la
CPU y, por tanto, sumando el contenido de ese registro con el campo de operando
obtendremos la dirección efectiva. Hay varios direccionamientos basados en esta
técnica que reciben diferentes nombres dependiendo de cuál sea elregistro en el
que radica la dirección tomada como referencia. Todos ellos podrían
catalogarsecomo direccionamientosrelativos a un registro.
El direccionamiento denominado habitualmente relativo toma como valor de
referencia elregistro contador de programa. Cuando se usa este modo de
direccionamiento, el campo deoperando consiste en un número (normalmente con
signo) que expresa la diferencia entre ladirección del dato y la dirección siguiente
a la instrucción en curso (contenida en el contador deprograma). Si el campo de
operando, llamado en este casodesplazamientouoffset, es positivoel operando
residirá en una dirección posterior a la de la instrucción y si es negativo, en
unadirección anterior.
Este modo de direccionamiento es usado muy frecuentemente en programas cuyo
códigodeba ser independiente de la posición de memoria donde estén situados
(programas relocalizables) ya que el desplazamiento es independiente de la
localización del programa. También seusa con mucha frecuencia en instrucciones
de bifurcación.
Los apartados siguientes se refieren a diferentes versiones dedireccionamientos
relativosa registros.
- Direccionamiento por base y desplazamiento
Este modo de direccionamiento se fundamenta en la propiedad de localidad de
referenciamencionada anteriormente. La dirección que se toma como referencia
de la zona de memoriaen la que están localizados los datos se deposita en un
registro denominadoregistro baseyel campo de operando indica la diferencia
entre el registro base y la dirección del operando.Normalmente se toma como
referencia (registro base) la dirección de comienzo de la zona dememoria ocupada
por un programa. Por tanto,la dirección efectiva del operando se
calcularásumando el contenido del registro base con el campo de operando.
Este modo de direccionamiento se usa en ordenadores que pueden mantener en
memoriavarios programas ya que, de esta forma, los diferentes registros base
pueden contener las direcciones de comienzo de cada uno de los programas. Esto
es muy útil porque facilita la relocalización de los programas: para situar el
programa en una zona de memoria diferente bastará concambiar el contenido de
su registro base, no será necesario cambiar ninguno de los campos deoperando.
- Direccionamiento indexado
En este modo de direccionamiento,la dirección del operando también se calcula
sumandoun registro de la CPU al campo de operando, este registro es un registro
específico para este usollamadoregistro índice. En los ordenadores con
organización de registros generales, el registroíndice puede ser cualquiera de los
registros de la CPU. En los ordenadores en que el contador deprograma es
considerado como un registro de uso general (PDP-11 y VAX) el modo relativo
esun caso particular del direccionamiento indexado. A la cantidad que hay que
sumar al registroíndice para conseguir la dirección del operando también se le
llamadesplazamientouoffset.Este modo de direccionamiento es especialmente
útil para el direccionamiento de vectores ymatrices en bucles ya que, si se quieren
direccionar elementos consecutivos del vector o matriz,basta mantener en el
desplazamiento la dirección del primer elemento e ir incrementando elregistro
índice. También sirve para acceder de forma relativa a elementos de vectores
cercanosa uno dado, para ello, se carga la dirección del elemento de referencia en
el registro índice ydespués se accede mediante direccionamiento indexado, con el
desplazamiento adecuado, al anterior, al siguiente, etc., esto mismo también es
aplicable a pilas, en que, algunas veces, hay queacceder a datos cercanos, por
encima o por debajo, al dato señalado por algún apuntador. Unaconsecuencia de
todo esto es una modalidad de direccionamiento indexado de que
disponenalgunos ordenadores, denominadaautoindexación, que hace que el
registro índice sea incrementado o decrementado en el tamaño del operando
antes o después de acceder al mismo. Losordenadores que poseen
autoindexación incorporan los modos de direccionamiento descritosen los dos
apartados siguientes. En algunos ordenadores existen variantes del
direccionamientoindexado en que se obtiene la dirección del operando sumando el
contenido de varios registroscon el desplazamiento, esto puede servir para
especificar el comienzo de un vector mediante undesplazamiento respecto a un
registro y el elemento del vector mediante un registro índice.
- Direccionamiento autoincremental o postincremental
En este modo,la dirección del operando se encuentra en un registro y éste es
incrementado,después de acceder al operando, en el tamaño del mismo.
Este modo es útil para manejar vectores y matrices como se veía en el apartado
anterior.También se puede utilizar para extraer datos de pilas (que crezcan hacia
direcciones bajas)ya que, si el registro sobre el que se aplica este modo es el
apuntador de pila, después de laoperación el apuntador señalará al siguiente
elemento de la pila.
- Direccionamiento autodecremental o predecremental
En este modopara obtener la dirección del operando hay que decrementar un
registro enel tamaño del operando; el nuevo contenido del registro después de
efectuar esa operación, esla dirección del operando.
Este modo complementa al anterior y se emplea para direccionar elementos de
vectoresy matrices en orden descendente y también para introducir datos en las
pilas ya que, si seaplica este modo sobre el apuntador de pila, conseguiremos que
antes de efectuar el acceso elapuntador señale al siguiente hueco libre de la pila

Más contenido relacionado

La actualidad más candente

Control de flujo en Telecomunicaciones
Control de flujo en TelecomunicacionesControl de flujo en Telecomunicaciones
Control de flujo en TelecomunicacionesDaniel Morales
 
Arquitectura de Computadoras - Memoria
Arquitectura de Computadoras - MemoriaArquitectura de Computadoras - Memoria
Arquitectura de Computadoras - MemoriaMiguel Rodríguez
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPUEduardo Suarez
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorInfomania pro
 
Grupo 4 metodos de multiplexacion
Grupo 4   metodos de multiplexacionGrupo 4   metodos de multiplexacion
Grupo 4 metodos de multiplexacionCarlos Ventura Luyo
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresDaniel Huerta Cruz
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorascamiche97
 
Arquitectura de computadoras unidad 2 y 3
Arquitectura de computadoras unidad 2 y 3Arquitectura de computadoras unidad 2 y 3
Arquitectura de computadoras unidad 2 y 3m220
 
codificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarcodificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarthejp
 
Codigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIICodigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIIAndy Juan Sarango Veliz
 
Concepto de conmutacion
Concepto de conmutacionConcepto de conmutacion
Concepto de conmutaciongpava
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvardManzelot
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 

La actualidad más candente (20)

Tipos de multiplexacion
Tipos de multiplexacionTipos de multiplexacion
Tipos de multiplexacion
 
Ciclo de instrucción
Ciclo de instrucciónCiclo de instrucción
Ciclo de instrucción
 
Control de flujo en Telecomunicaciones
Control de flujo en TelecomunicacionesControl de flujo en Telecomunicaciones
Control de flujo en Telecomunicaciones
 
Arquitectura de Computadoras - Memoria
Arquitectura de Computadoras - MemoriaArquitectura de Computadoras - Memoria
Arquitectura de Computadoras - Memoria
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 
Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Arquitecturas de computadoras
Arquitecturas de computadorasArquitecturas de computadoras
Arquitecturas de computadoras
 
Grupo 4 metodos de multiplexacion
Grupo 4   metodos de multiplexacionGrupo 4   metodos de multiplexacion
Grupo 4 metodos de multiplexacion
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Arquitectura de computadoras unidad 2 y 3
Arquitectura de computadoras unidad 2 y 3Arquitectura de computadoras unidad 2 y 3
Arquitectura de computadoras unidad 2 y 3
 
codificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarcodificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolar
 
Intel 80286 80386 y 80486
Intel 80286 80386 y 80486Intel 80286 80386 y 80486
Intel 80286 80386 y 80486
 
codificacion de linea
codificacion de lineacodificacion de linea
codificacion de linea
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Codigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIICodigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones III
 
Concepto de conmutacion
Concepto de conmutacionConcepto de conmutacion
Concepto de conmutacion
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 

Similar a Modos direccionamiento

Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoRosannyGamardo
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamientogabo
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorCloud Rodriguez
 
Modos de direccionamiento y formatos
Modos de direccionamiento y formatosModos de direccionamiento y formatos
Modos de direccionamiento y formatosKikivan Cortez
 
Tercer blog arquitectura de hardware tercer corte
Tercer blog arquitectura de hardware tercer corteTercer blog arquitectura de hardware tercer corte
Tercer blog arquitectura de hardware tercer corteSebastian Gonzalez
 
Registro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorRegistro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorAnderson Gutierrez
 
Modos de Direccionamiento del Procesador (IEEE)
Modos de Direccionamiento del Procesador (IEEE)Modos de Direccionamiento del Procesador (IEEE)
Modos de Direccionamiento del Procesador (IEEE)Cloud Rodriguez
 
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTOCAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTORafael Espina
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucciónSantiago Rozo
 
Modo de direccionamiento de las intrucciones cpu
Modo de direccionamiento de las intrucciones cpuModo de direccionamiento de las intrucciones cpu
Modo de direccionamiento de las intrucciones cpuMargoth Del Rosario
 
Registros de los Microprocesadores
Registros de los MicroprocesadoresRegistros de los Microprocesadores
Registros de los Microprocesadoresjosep urdaneta
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computadorthegrim85
 

Similar a Modos direccionamiento (20)

Direccionamiento
DireccionamientoDireccionamiento
Direccionamiento
 
Modos De Direccionamiento
Modos De Direccionamiento Modos De Direccionamiento
Modos De Direccionamiento
 
Organizacion E/S
Organizacion E/SOrganizacion E/S
Organizacion E/S
 
Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamiento
 
Yeimir rincon 20%
Yeimir rincon 20%Yeimir rincon 20%
Yeimir rincon 20%
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamiento
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del Procesador
 
Modos de direccionamiento y formatos
Modos de direccionamiento y formatosModos de direccionamiento y formatos
Modos de direccionamiento y formatos
 
Tercer blog arquitectura de hardware tercer corte
Tercer blog arquitectura de hardware tercer corteTercer blog arquitectura de hardware tercer corte
Tercer blog arquitectura de hardware tercer corte
 
Registro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorRegistro e intrucciones de microprocesador
Registro e intrucciones de microprocesador
 
Unidad de control
Unidad de controlUnidad de control
Unidad de control
 
Modos de Direccionamiento del Procesador (IEEE)
Modos de Direccionamiento del Procesador (IEEE)Modos de Direccionamiento del Procesador (IEEE)
Modos de Direccionamiento del Procesador (IEEE)
 
Sistemasd
SistemasdSistemasd
Sistemasd
 
Sistemasd
SistemasdSistemasd
Sistemasd
 
Preguntas de Refuerzo 3
Preguntas de Refuerzo 3Preguntas de Refuerzo 3
Preguntas de Refuerzo 3
 
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTOCAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
CAPACIDAD DE LA UNIDAD DE PROCESAMIENTO
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 
Modo de direccionamiento de las intrucciones cpu
Modo de direccionamiento de las intrucciones cpuModo de direccionamiento de las intrucciones cpu
Modo de direccionamiento de las intrucciones cpu
 
Registros de los Microprocesadores
Registros de los MicroprocesadoresRegistros de los Microprocesadores
Registros de los Microprocesadores
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computador
 

Último

TALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.pptTALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.pptxico33a
 
presentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdfpresentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdfIsabelSena13
 
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfPROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfrgsteveo32
 
Material modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasMaterial modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasErnesto840942
 
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfARACELIGINESZARATE1
 
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdfREGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdfJULIOELIDEOROSIERRA
 
Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Yes Europa
 
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxPRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxcarlosdaniellujandel1
 

Último (8)

TALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.pptTALLERorientacion_herramientas de orientacion laboral.ppt
TALLERorientacion_herramientas de orientacion laboral.ppt
 
presentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdfpresentacion norma240201056induccion.pdf
presentacion norma240201056induccion.pdf
 
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfPROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
 
Material modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasMaterial modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivas
 
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
 
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdfREGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
REGLAMENTO DEL APRENDIZ SERVICIO NACIONAL DE APRENDIZAJE SENA.pdf
 
Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024
 
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxPRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
 

Modos direccionamiento

  • 1. MODOS DE DIRECCIONAMIENTO Introducción El campo de operación de una instrucción especifica la operación que se debe realizar. Éstadebe ser ejecutada sobre algunos datos almacenados en registros del computador o en palabrasde memoria, es decir, sobre los operandos. Elmodo de direccionamientoespecifica laformade interpretar la información contenida en cada campo de operando para localizar, en base aesta información, el operando. Los ordenadores utilizan técnicas de direccionamiento con los siguientes fines: Dar versatilidad de programación al usuario proporcionando facilidades tales como índices, direccionamientos indirectos, etc., esta versatilidad nos servirá para manejar estructuras de datos complejas como vectores, matrices, etc. Reducir el número de bits del campo de operando. Al usuario que tiene poca experiencia, la variedad de modos de direccionamiento en unprocesador le puede parecer excesivamente complicada. Sin embargo, la disponibilidad de diferentes esquemas de direccionamiento le da al programador experimentado flexibilidad paraescribir programas que son más eficientes en cuanto a número de instrucciones y tiempo deejecución. Es tal la importancia de los modos de direccionamiento que la potencia de una máquina semide tanto por su repertorio de instrucciones como por la variedad de modos de direccionamiento que es capaz de admitir. Definición: Losmodos de direccionamientode un procesador son lasdiferentes formas detransformación del campo de operando de la instrucción en la dirección del operando.En esta definición el términodireccióndebe interpretarse en su sentido más general delocalización del operando, en cualquier lugar, y no en el sentido más estricto de dirección dememoria.
  • 2. Modos de direccionamiento más usuales Los modos de direccionamiento podrían clasificarse enpropios e impropios: en los direccionamientos propios el operando está localizado en una dirección concreta de memoria,mientras que en los impropios en otros lugares tales como los registros del procesador, etc. Entre los modos de direccionamiento descritos en los párrafos siguientes, los tres primeros puedenconsiderarse impropios, mientras que los demás son direccionamientos propios. - Direccionamiento implícito En este modo, llamado tambiéninherente,el operando se especifica en la misma definiciónde la instrucción. El modo implícito se usa para hacer referencia a operandos de dos tipos: Registros: En el caso de que el código de operación se refiera en particular a un registro. Operandos en la pila: En el caso de que la operación se realice siempre sobre el datosituado en la cima de pila. El primer caso es típico de las organizaciones de un solo acumulador. Generalmente en unordenador de este tipo todas las instrucciones que actúan sobre el acumulador utilizan direccionamiento implícito. En el segundo caso están la mayoría de las instrucciones de los ordenadores con organización de pila. Estas operaciones llevan implícitos los operandos que son los elementos de la cimade pila. Esto se debe a que en este tipo de máquinas la mayoría de las operaciones no tienencampos de dirección. También están en este caso las instrucciones PUSH y POP de la mayoríade los ordenadores cuyo operando implícito también es, como en el caso anterior, la cima depila. - Direccionamiento inmediato (o literal)
  • 3. En este modo es el operando el que figura en la instrucción no su dirección. En otras palabrasel campo de operando contiene él mismo, sin transformación alguna, la información sobre laque hay que operar. Este modo es útil para inicializar registros o palabras de memoria con unvalor constante. - Direccionamiento directo por registro Se mencionó anteriormente que el campo de dirección de una instrucción puede especificaruna palabra de memoria o un registro del procesador. Cuando se da este último caso se diceque el operando está especificado condireccionamiento directo por registro, en tal caso,eloperando reside en uno de los registros del procesadorque es seleccionado por un campo deregistro dekbits en la instrucción. Este campo dekbits puede especificar uno de 2k registros.Este modo es típico de los ordenadores con organización de registros de uso general. Lasventajasde este modo son: El acceso a los registros es muy rápido, por tanto el direccionamiento por registro debe usarseen las variables que se usen con más frecuencia para evitar accesos a memoria que sonmás lentos, un ejemplo muy típico del uso de este direccionamiento son losíndices delos bucles. El número de bits necesarios para especificar un registro es mucho más pequeñoque el necesario para especificar una dirección de memoria, esto es debido a que el número deregistros del procesador es muy pequeño comparado con el número de direcciones dememoria. Sin embargo, hay que tener en cuenta que en los ordenadores modernos el número de registros ha aumentado considerablemente. - Direccionamiento directo (o absoluto)
  • 4. Este es el modo de direccionamiento más sencillo.El campo de dirección no necesita transformación alguna para dar la dirección efectiva, es decir la función que transforma el campode operando en la dirección efectiva es la identidad. Esto significa que el campo de operando esya la dirección efectiva. Este direccionamiento sólo se usa en ordenadores pequeños en que el programa siempre sesitúa en la misma zona de memoria ya que dificulta larelocalizaciónde los programas, es decirque el código de los programas no dependa de su situación en memoria. En ordenadores másgrandes, este modo está reservado para acceder a direcciones del sistema, que normalmente serefieren a operaciones de entrada y salida, ya que estas direcciones no dependen del programa. - Direccionamiento indirecto En este modoel campo de operando de la instrucción indica la localización de la direcciónefectiva del operando. El modo de direccionamiento indirecto puede adquirir diferentes formassegún cuál sea el lugar donde se encuentre la dirección del operando. En general, todos losmodos de direccionamiento tienen su versión indirecta que añade un eslabón más a la cadenadel direccionamiento. Por ejemplo existe el direccionamiento indirecto por registro, en el queel registro especificado contiene la dirección del operando, no el operando mismo. Este direccionamiento es útil cuando se trabaja conapuntadoresya que los apuntadoresson variables que contienen las direcciones de los operandos, no los operandos mismos. - Direccionamiento relativo Hay algunos modos de direccionamiento en que se hace uso de una propiedad muy generalizada de los programas denominadalocalidad de referencia, esta propiedad consiste en quelas direcciones referenciadas por los programas no suelen alejarse mucho unas de otrasy, portanto, suelen estar concentradas en una parte de la memoria. Estas consideraciones nos llevana la conclusión de que no
  • 5. es necesario utilizar todos los bits de la dirección de memoria en elcampo de operando, basta utilizar los bits precisos para cubrir la parte de memoria donde esténincluidas las direcciones a las que el programa hace referencia. Esto puede hacerse tomandocomo referencia un punto de la memoria y tomando como campo de operando la diferenciaentre ese punto y la dirección efectiva del operando. La dirección que se toma como punto dereferencia puede residir en un registro de la CPU y, por tanto, sumando el contenido de ese registro con el campo de operando obtendremos la dirección efectiva. Hay varios direccionamientos basados en esta técnica que reciben diferentes nombres dependiendo de cuál sea elregistro en el que radica la dirección tomada como referencia. Todos ellos podrían catalogarsecomo direccionamientosrelativos a un registro. El direccionamiento denominado habitualmente relativo toma como valor de referencia elregistro contador de programa. Cuando se usa este modo de direccionamiento, el campo deoperando consiste en un número (normalmente con signo) que expresa la diferencia entre ladirección del dato y la dirección siguiente a la instrucción en curso (contenida en el contador deprograma). Si el campo de operando, llamado en este casodesplazamientouoffset, es positivoel operando residirá en una dirección posterior a la de la instrucción y si es negativo, en unadirección anterior. Este modo de direccionamiento es usado muy frecuentemente en programas cuyo códigodeba ser independiente de la posición de memoria donde estén situados (programas relocalizables) ya que el desplazamiento es independiente de la localización del programa. También seusa con mucha frecuencia en instrucciones de bifurcación. Los apartados siguientes se refieren a diferentes versiones dedireccionamientos relativosa registros. - Direccionamiento por base y desplazamiento
  • 6. Este modo de direccionamiento se fundamenta en la propiedad de localidad de referenciamencionada anteriormente. La dirección que se toma como referencia de la zona de memoriaen la que están localizados los datos se deposita en un registro denominadoregistro baseyel campo de operando indica la diferencia entre el registro base y la dirección del operando.Normalmente se toma como referencia (registro base) la dirección de comienzo de la zona dememoria ocupada por un programa. Por tanto,la dirección efectiva del operando se calcularásumando el contenido del registro base con el campo de operando. Este modo de direccionamiento se usa en ordenadores que pueden mantener en memoriavarios programas ya que, de esta forma, los diferentes registros base pueden contener las direcciones de comienzo de cada uno de los programas. Esto es muy útil porque facilita la relocalización de los programas: para situar el programa en una zona de memoria diferente bastará concambiar el contenido de su registro base, no será necesario cambiar ninguno de los campos deoperando. - Direccionamiento indexado En este modo de direccionamiento,la dirección del operando también se calcula sumandoun registro de la CPU al campo de operando, este registro es un registro específico para este usollamadoregistro índice. En los ordenadores con organización de registros generales, el registroíndice puede ser cualquiera de los registros de la CPU. En los ordenadores en que el contador deprograma es considerado como un registro de uso general (PDP-11 y VAX) el modo relativo esun caso particular del direccionamiento indexado. A la cantidad que hay que sumar al registroíndice para conseguir la dirección del operando también se le llamadesplazamientouoffset.Este modo de direccionamiento es especialmente útil para el direccionamiento de vectores ymatrices en bucles ya que, si se quieren direccionar elementos consecutivos del vector o matriz,basta mantener en el desplazamiento la dirección del primer elemento e ir incrementando elregistro índice. También sirve para acceder de forma relativa a elementos de vectores cercanosa uno dado, para ello, se carga la dirección del elemento de referencia en el registro índice ydespués se accede mediante direccionamiento indexado, con el
  • 7. desplazamiento adecuado, al anterior, al siguiente, etc., esto mismo también es aplicable a pilas, en que, algunas veces, hay queacceder a datos cercanos, por encima o por debajo, al dato señalado por algún apuntador. Unaconsecuencia de todo esto es una modalidad de direccionamiento indexado de que disponenalgunos ordenadores, denominadaautoindexación, que hace que el registro índice sea incrementado o decrementado en el tamaño del operando antes o después de acceder al mismo. Losordenadores que poseen autoindexación incorporan los modos de direccionamiento descritosen los dos apartados siguientes. En algunos ordenadores existen variantes del direccionamientoindexado en que se obtiene la dirección del operando sumando el contenido de varios registroscon el desplazamiento, esto puede servir para especificar el comienzo de un vector mediante undesplazamiento respecto a un registro y el elemento del vector mediante un registro índice. - Direccionamiento autoincremental o postincremental En este modo,la dirección del operando se encuentra en un registro y éste es incrementado,después de acceder al operando, en el tamaño del mismo. Este modo es útil para manejar vectores y matrices como se veía en el apartado anterior.También se puede utilizar para extraer datos de pilas (que crezcan hacia direcciones bajas)ya que, si el registro sobre el que se aplica este modo es el apuntador de pila, después de laoperación el apuntador señalará al siguiente elemento de la pila. - Direccionamiento autodecremental o predecremental En este modopara obtener la dirección del operando hay que decrementar un registro enel tamaño del operando; el nuevo contenido del registro después de efectuar esa operación, esla dirección del operando. Este modo complementa al anterior y se emplea para direccionar elementos de vectoresy matrices en orden descendente y también para introducir datos en las
  • 8. pilas ya que, si seaplica este modo sobre el apuntador de pila, conseguiremos que antes de efectuar el acceso elapuntador señale al siguiente hueco libre de la pila