Diferencia entre acceso directo y acceso por direccionamiento calculado

Acceso directo

El campo de operando en la instrucción contiene la dirección en memoria donde se encuentra el operando.

En este modo la dirección efectiva es igual a la parte de dirección de la instrucción. El operando reside en la memoria y su dirección es dada directamente por el campo de dirección de la instrucción. En una instrucción de tipo ramificación el campo de dirección especifica la dirección de la rama actual.

Si hace referencia a un registro de la máquina, el dato estará almacenado en este registro y hablaremos de direccionamiento directo a registro; si hace referencia a una posición de memoria, el dato estará almacenado en esta dirección de memoria (dirección efectiva) y hablaremos de direccionamiento directo a memoria. Estos modos de direccionamiento tienen una forma muy simple y no hay que hacer cálculos para obtener la dirección efectiva donde está el dato. El tamaño del operando, en el caso del direccionamiento directo a registro, dependerá del número de registros que tenga la máquina; en el direccionamiento directo a memoria, dependerá del tamaño de la memoria.

 

Acceso por direccionamiento calculado

Al igual que ocurre con los ficheros de acceso directo, los registros se almacenan en una posición específica del fichero que  es obtenida en este caso no simplemente por el valor de la clave  sino por el resultado de aplicar el algoritmo a dicha clave. A esta clave se la reconoce también con el nombre de  clave de direccionamiento calculado. El algoritmo determinará la posición de memoria en la que se localizará el registro, denominado como función de direccionamiento calculado. Esta aplicación de aplicar un algoritmo a la clave del registro se conoce como técnica de Hashing o direccionamiento calculado.

tabla hash

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *