ScholarGate
Asistente

Modos de Direccionamiento

Los modos de direccionamiento son las reglas mediante las cuales una instrucción especifica dónde se encuentran sus operandos: en un registro, incrustados como un valor inmediato o en la memoria en una dirección calculada a partir de registros y desplazamientos.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

Un modo de direccionamiento es un método especificado por una instrucción para determinar la ubicación de un operando, que va desde valores mantenidos directamente en registros o la propia instrucción hasta direcciones calculadas a partir de registros base, registros índice y desplazamientos.

Scope

Este tema cubre las formas en que se nombran y localizan los operandos: inmediato, registro, indirecto por registro, base-más-desplazamiento, indexado, relativo al PC y modos calculados más complejos. Trata cómo los modos de direccionamiento afectan el tamaño del código, el recuento de instrucciones y la complejidad del hardware. Excluye cómo se codifican las instrucciones en bits (formatos y codificación de instrucciones) y la traducción de virtual a física del sistema (memoria virtual y paginación).

Core questions

  • ¿Cómo calcula cada modo de direccionamiento la dirección o el valor efectivo de un operando?
  • ¿Qué modos de direccionamiento se utilizan con mayor frecuencia en programas reales y por qué?
  • ¿Cómo reducen los modos de direccionamiento más ricos el recuento de instrucciones a costa de la complejidad del hardware y la decodificación?
  • ¿Por qué las arquitecturas de carga-almacenamiento restringen el acceso a la memoria a unos pocos modos simples?

Key concepts

  • direccionamiento inmediato
  • direccionamiento por registro
  • direccionamiento indirecto por registro
  • base-más-desplazamiento
  • direccionamiento indexado
  • direccionamiento relativo al PC
  • cálculo de dirección efectiva
  • restricción de carga-almacenamiento

Mechanisms

Cada modo de direccionamiento define cómo el procesador deriva un operando. Los operandos inmediatos se codifican en la instrucción; los operandos de registro se leen del archivo de registros; los operandos de memoria tienen una dirección efectiva calculada sumando un registro base, un índice escalado opcional y un desplazamiento. El direccionamiento relativo al PC forma direcciones relativas al contador de programa, lo que admite código independiente de la posición y objetivos de salto.

Clinical relevance

Los modos de direccionamiento configuran cómo los compiladores generan código: base-más-desplazamiento se asigna naturalmente a campos de estructura y variables de pila, los modos indexados al acceso a matrices y el direccionamiento relativo al PC a ejecutables independientes de la posición y bibliotecas compartidas. Los diseños de carga-almacenamiento RISC mantienen deliberadamente el direccionamiento de memoria simple para facilitar la segmentación, mientras que las máquinas CISC ofrecen modos más ricos para la densidad del código.

History

Las arquitecturas tempranas y CISC acumularon muchos modos de direccionamiento elaborados, incluidos los formularios indirectos de memoria y de auto-incremento. Estudios empíricos del uso de instrucciones mostraron que un pequeño conjunto de modos simples representa la mayoría de los accesos, lo que motivó la decisión de RISC de admitir solo un puñado de modos y confinar el acceso a la memoria a las instrucciones de carga y almacenamiento.

Key figures

  • John L. Hennessy
  • David A. Patterson

Related topics

Seminal works

  • hennessy2019
  • patterson2020

Frequently asked questions

¿Por qué las arquitecturas RISC admiten tan pocos modos de direccionamiento?
Los estudios encontraron que los programas utilizan abrumadoramente unos pocos modos simples. Restringir el acceso a la memoria a indirecto por registro y base-más-desplazamiento mantiene la tubería simple y el cálculo de la dirección efectiva rápido, mientras que los compiladores sintetizan cualquier patrón de acceso más rico a partir de estas primitivas.
¿Para qué se utiliza el direccionamiento relativo al PC?
El direccionamiento relativo al PC calcula una dirección como un desplazamiento desde el contador de programa. Se utiliza para objetivos de rama y salto y para acceder a datos cercanos, lo que permite un código independiente de la posición que se ejecuta correctamente independientemente de dónde se cargue en la memoria.

Methods for this concept

Related concepts