Requisito previo: modos de
direccionamiento Los modos de direccionamiento son el campo de operaciones que especifica las operaciones que deben realizarse. La operación debe ejecutarse sobre algunos datos que ya están almacenados en los registros de la computadora o en la memoria. La forma de elegir los operandos durante la ejecución del programa depende de los modos de direccionamiento de la instrucción. “El modo de direccionamiento especifica una regla para interpretar o modificar el campo de dirección de la instrucción antes de que se haga referencia al operando. “Básicamente, cómo interpretamos el operando que se da en la instrucción se conoce como modo de direccionamiento.
El modo de direccionamiento depende mucho del tipo de organización de la CPU. Hay tres tipos de organización de la CPU:
- Organización de acumulador único
- organización del registro general
- Organización de la pila
Los modos de direccionamiento se utilizan para uno o ambos propósitos. Estas también se pueden decir como las ventajas de usar el modo de direccionamiento:
- Brindar versatilidad de programación al usuario al proporcionar funciones tales como punteros a la memoria, contador para control de bucle, indexación de datos y reubicación de programas.
- Reducir el número de bits en el campo de direccionamiento de la instrucción.
Hay varios modos de direccionamiento disponibles y depende de la arquitectura y la organización de la CPU cuál de los modos de direccionamiento se puede aplicar.
Diferencia entre los modos de direccionamiento basados en memoria y en registro:
Modos de direccionamiento basados en memoria | Modos de direccionamiento basados en registros |
---|---|
El operando está presente en la memoria y su dirección se da en la instrucción misma. Este modo de direccionamiento aprovecha adecuadamente una dirección de memoria, por ejemplo, el modo de direccionamiento directo | Se dará un operando en uno de los registros y el número de registro se proporcionará en la instrucción. Con el número de registro presente en la instrucción, se obtiene un operando, por ejemplo, modo de registro |
La dirección de memoria especificada en la instrucción puede dar la dirección donde se almacena la dirección efectiva en la memoria. En este caso, una dirección de memoria efectiva está presente en la dirección de memoria que se especifica en la instrucción, por ejemplo, modo de direccionamiento indirecto. | El registro contiene la dirección del operando. La dirección efectiva puede derivarse del contenido del registro especificado en la instrucción. El contenido del registro puede no ser la dirección efectiva. Este modo aprovecha al máximo los registros, por ejemplo, Modo indirecto de registro |
El contenido del registro base se suma a la parte de dirección de la instrucción para obtener la dirección efectiva. Se supone que un registro base contiene una dirección base y el campo de dirección de la instrucción proporciona un desplazamiento relativo a la dirección base, por ejemplo, modo de direccionamiento de registro base. | Si tenemos una tabla de datos y nuestro programa necesita acceder a todos los valores uno por uno, necesitamos algo que disminuya el contador del programa o cualquier registro que tenga una dirección base. Aunque en este caso el registro se reduce básicamente, se trata de un modo de direccionamiento basado en registros, por ejemplo, en el modo de decrementos automáticos. |
El contenido del registro de índice se agrega a la parte de la dirección que se da en la instrucción para obtener la dirección efectiva. El modo de índice se utiliza para acceder a una array cuyos elementos están en ubicaciones de memoria sucesivas, por ejemplo, el modo de direccionamiento indexado. | Si tenemos una tabla de datos y nuestro programa necesita acceder a todos los valores uno por uno, necesitamos algo que incremente el contador del programa o cualquier registro que tenga una dirección base, por ejemplo, el modo Autoincrement. |
El contenido del contador de programa se suma a la parte de dirección de la instrucción para obtener la dirección efectiva. La parte de la dirección de la instrucción, en este caso, suele ser un número con signo que puede ser positivo o negativo, por ejemplo, Modo de direccionamiento relativo | Las instrucciones generalmente utilizadas para inicializar registros a un valor constante son el modo de direccionamiento basado en registros, y esta técnica es un enfoque muy útil, por ejemplo, el modo inmediato. |
Los modos de direccionamiento basados en la memoria dependen principalmente de la dirección de la memoria y el contenido presente en alguna ubicación de la memoria. Los modos de direccionamiento basados en registros dependen principalmente de los registros y el contenido presente en algún registro, ya sean datos o alguna dirección de memoria.
Publicación traducida automáticamente
Artículo escrito por Bhumika_Rani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA