Ministerio del Poder Popular para la Educacin Universitaria
Universidad Alejandro de Humboldt Asignatura: Microprocesadores Seccin: DCM0801II-VI
Caracas, Marzo de 2014 NTRODCUCCIN El presente documento nos dar a conocer los Mtodos de Direccionamiento que realiza el Procesador (CPU) para el manejo de los datos. Cuando se da una instruccin se tiene que realizar una operacin donde debe ser ejecutada sobre algunos datos almacenados en registros del computador o en palabras de memoria, tambin llamados operandos. El modo de direccionamiento especifica la forma de interpretar la informacin contenida en cada campo de operando para localizar, en base a esta informacin, el operando.
Los ordenadores utilizan tcnicas de direccionamiento para dar versatilidad de programacin al usuario proporcionando facilidades tales como ndices, direccionamientos indirectos, entre otras. Esta versatilidad nos servir para manejar estructuras de datos complejas como vectores, matrices, etc.
Reducir el nmero de bits del campo de operando.
Al usuario que tiene poca experiencia, la variedad de modos de direccionamiento en un procesador le puede parecer excesivamente complicada. Sin embargo, la disponibilidad de diferentes esquemas de direccionamiento le da al programador experimentado flexibilidad para escribir programas que son ms eficientes en cuanto a nmero de instrucciones y tiempo de ejecucin.
Es tal la importancia de los modos de direccionamiento que la potencia de una mquina se mide tanto por su repertorio de instrucciones como por la variedad de modos de direccionamiento que es capaz de admitir.
A continuacin se hablar o mostrara los tipos de direccionamiento que existen, as como sus principales funciones o usos en las computadoras. Espero que este trabajo sea de su total agrado y pueda cumplir con los objetivos establecidos por el profesor.
MODOS DE DIRECCIONAMIENTO
Los llamados modos de direccionamiento son las diferentes maneras de especificar en informtica un operando dentro de una instruccin (lenguaje ensamblador). Cmo se especifican e interpretan las direcciones de memoria segn las instrucciones.
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.
Objetivos de los modos de direccionamiento:
Reducir el espacio ocupado en memoria por las instrucciones. Permitir la reubicacin del cdigo. Facilitar el manejo de las estructuras de datos.
Direccionamiento implcito
En este modo, llamado tambin inherente, el operando se especifica en la misma definicin de la instruccin. El modo implcito se usa para hacer referencia a operandos de dos tipos:
Registros: En el caso de que el cdigo de operacin se refiera en particular a un registro.
Operandos en la pila: En el caso de que la operacin se realice siempre sobre el dato situado en la cima de pila. El primer caso es tpico de las organizaciones de un solo acumulador.
Generalmente en un ordenador de este tipo todas las instrucciones que actan sobre el acumulador utilizan direccionamiento implcito.
En el segundo caso estn la mayora de las instrucciones de los ordenadores con organizacin de pila. Estas operaciones llevan implcitos los operandos que son los elementos de la cima de pila. Esto se debe a que en este tipo de mquinas la mayora de las operaciones no tienen campos de direccin. Tambin estn en este caso las instrucciones PUSH y POP de la mayora de los ordenadores cuyo operando implcito tambin es, como en el caso anterior, la cima de pila.
Direccionamiento Inmediato En este modo es el operando el que figura en la instruccin no su direccin. En otras palabras el campo de operando contiene l mismo, sin transformacin alguna, la informacin sobre la que hay que operar. Este modo es til para inicializar registros o palabras de memoria con un valor constante.
Direccionamiento directo por registro
El campo de direccin de una instruccin puede especificar una palabra de memoria o un registro del procesador. Cuando se da este ltimo caso se dice que el operando est especificado con direccionamiento directo por registro, en tal caso, el operando reside en uno de los registros del procesador que es seleccionado por un campo de registro de k bits en la instruccin. Este campo de k bits puede especificar uno de 2k registros. Este modo es tpico de los ordenadores con organizacin de registros de uso general.
Las ventajas de este modo son:
- El acceso a los registros es muy rpido, por tanto el direccionamiento por registro debe usarse en las variables que se usen con ms frecuencia para evitar accesos a memoria que son ms lentos, un ejemplo muy tpico del uso de este direccionamiento son los ndices de los bucles.
- El nmero de bits necesarios para especificar un registro es mucho ms pequeo.
Direccionamiento directo
Este es el modo de direccionamiento ms sencillo. El campo de direccin no necesita transformacin alguna para dar la direccin efectiva, es decir la funcin que transforma el campo de operando en la direccin efectiva es la identidad. Esto significa que el campo de operando es ya la direccin efectiva.
Este direccionamiento slo se usa en ordenadores pequeos en que el programa siempre se sita en la misma zona de memoria ya que dificulta la relocalizacin de los programas, es decir que el cdigo de los programas no dependa de su situacin en memoria. En ordenadores ms grandes, este modo est reservado para acceder a direcciones del sistema, que normalmente se refieren a operaciones de entrada y salida, ya que estas direcciones no dependen del programa.
Direccionamiento indirecto
En este modo el campo de operando de la instruccin indica la localizacin de la direccin efectiva del operando. El modo de direccionamiento indirecto puede adquirir diferentes formas segn cul sea el lugar donde se encuentre la direccin del operando.
Este direccionamiento es til cuando se trabaja con apuntadores ya que los apuntadores son variables que contienen las direcciones de los operandos.
Direccionamiento relativo
El direccionamiento denominado habitualmente relativo toma como valor de referencia el registro contador de programa. Cuando se usa este modo de direccionamiento, el campo de operando consiste en un nmero (normalmente con signo) que expresa la diferencia entre la direccin del dato y la direccin siguiente a la instruccin en curso (contenida en el contador de programa). Si el campo de operando, llamado en este caso desplazamiento u offset, es positivo el operando residir en una direccin posterior a la de la instruccin y si es negativo, en una direccin anterior.
Este modo de direccionamiento es usado muy frecuentemente en programas cuyo cdigo deba ser independiente de la posicin de memoria donde estn situados (programas relocalizables) ya que el desplazamiento es independiente de la localizacin del programa. Tambin se usa con mucha frecuencia en instrucciones de bifurcacin.
Direccionamiento por base y desplazamiento
Este modo de direccionamiento se fundamenta en la propiedad de localidad de referencia mencionada anteriormente. La direccin que se toma como referencia de la zona de memoria en la que estn localizados los datos se deposita en un registro denominado registro base y el campo de operando indica la diferencia entre el registro base y la direccin del operando. Normalmente se toma como referencia (registro base) la direccin de comienzo de la zona de memoria ocupada por un programa. Por tanto, la direccin 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 memoria varios 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 relocalizacin de los programas: para situar el programa en una zona de memoria diferente bastar con cambiar el contenido de su registro base, no ser necesario cambiar ninguno de los campos de operando.
Direccionamiento indexado
En este modo de direccionamiento, la direccin del operando tambin se calcula sumando un registro de la CPU al campo de operando, este registro es un registro especfico para este uso llamado registro ndice. En los ordenadores con organizacin de registros generales, el registro ndice puede ser cualquiera de los registros de la CPU. En los ordenadores en que el contador de programa es considerado como un registro de uso general (PDP-11 y VAX) el modo relativo es un caso particular del direccionamiento indexado. A la cantidad que hay que sumar al registro ndice para conseguir la direccin del operando tambin se le llama desplazamiento u offset.
Este modo de direccionamiento es especialmente til para el direccionamiento de vectores y matrices en bucles ya que, si se quieren direccionar elementos consecutivos del vector o matriz.
Tambin sirve para acceder de forma relativa a elementos de vectores cercanos a uno dado, para ello, se carga la direccin del elemento de referencia en el registro ndice y despus se accede mediante direccionamiento indexado, con el desplazamiento adecuado, al anterior, al siguiente, etc., esto mismo tambin es aplicable a pilas, en que, algunas veces, hay que acceder a datos cercanos, por encima o por debajo, al dato sealado por algn apuntador. Una consecuencia de todo esto es una modalidad de direccionamiento indexado de que disponen algunos ordenadores, denominada autoindexacin, que hace que el registro ndice sea incrementado o decrementado en el tamao del operando antes o despus de acceder al mismo.
Direccionamiento autoincremental o postincremental En este modo, la direccin del operando se encuentra en un registro y ste es incrementado, despus de acceder al operando, en el tamao del mismo.
Este modo es til para manejar vectores y matrices como se vea en el apartado anterior. Tambin 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, despus de la operacin el apuntador sealar al siguiente elemento de la pila.
Direccionamiento autodecremental o predecremental En este modo para obtener la direccin del operando hay que decrementar un registro en el tamao del operando; el nuevo contenido del registro despus de efectuar esa operacin, es la direccin del operando.
Se emplea para direccionar elementos de vectores y matrices en orden descendente y tambin para introducir datos en las pilas ya que, si se aplica este modo sobre el apuntador de pila, conseguiremos que antes de efectuar el acceso el apuntador seale al siguiente hueco libre de la pila.
Modos de direccionamiento en ordenadores reales
CONCLUSIN
Como se ha podido constatar, los modos de direccionamiento, y el conjunto de operaciones, es lo que define actualmente a un procesador en el mercado, y a medida que ms se actualicen y se logre entender su verdadera utilidad, implementando nuevas formas de uso, podremos tener mucha ms potencia y capacidad de procesamiento para los computadores. Consecuentemente con esto, tendremos un avance tecnolgico en todas las esferas de una sociedad que actualmente est regida casi completamente por el uso de los ordenadores.
Tomando como referencia los modos de direccionamiento que especifican e interpretan las direcciones de memoria segn las instrucciones que se le den a un computador.
Estos tipos de direccionamiento nos permiten:
Reducir el espacio ocupado en memoria por las instrucciones. Permitir la reubicacin del cdigo. Facilitar el manejo de las estructuras de datos.