Dirección física

En la informática, una dirección física (también denominada dirección real o dirección binaria) es una dirección de memoria que se representa en forma de un número binario en la circuitería de bus de direcciones para permitir que el bus de datos acceda a una celda de almacenamiento particular de la red principal de memoria o un registro de dispositivo de E/S mapeada en memoria.

Diagrama de la relación entre los espacios de direcciones virtuales y físicos.

Uso por unidad de procesamiento centralEditar

En un ordenador que admite memoria virtual, el término dirección física se utiliza principalmente para diferenciarse de una dirección virtual. En particular, en los ordenadores que utilizan una unidad de gestión de memoria (MMU) para traducir direcciones de memoria, las direcciones físicas y virtuales se refieren a una dirección antes y después de la traducción realizada por la MMU, respectivamente.[1]

Direccionamiento no alineadoEditar

Dependiendo de la arquitectura subyacente de la computadora, el funcionamiento de una computadora puede ser obstaculizado por el acceso no alineado a la memoria. Por ejemplo, una computadora de 16 bits con un bus de datos de memoria de 16 bits, como Intel 8086, generalmente tiene menos sobrecarga si el acceso está alineado con una dirección uniforme. En ese caso, la búsqueda de un valor de 16 bits requiere una sola operación de lectura de memoria, una sola transferencia a través de un bus de datos.[2][3]

Obviamente, si el valor de datos de 16 bits comienza en una dirección impar, el procesador puede realmente necesitar realizar dos ciclos de lectura de memoria para cargar el valor en él, es decir, uno para la dirección baja (tirando la mitad de ella) y luego un segundo Leer el ciclo para cargar la dirección alta (tirar de nuevo la mitad de los datos recuperados). De hecho, en algunas arquitecturas (como los microprocesadores Motorola de la familia 68000), los accesos de memoria no alineados darán lugar a una excepción que se plantea (por lo general resulta en una excepción de software que se plantea como SIGBUS de POSIX).[2]

Uso por otros dispositivosEditar

La función de acceso directo a memoria (DMA) permite que otros dispositivos de la placa base, excepto la CPU, direccionen la memoria principal. Tales dispositivos, por lo tanto, también necesitan tener un conocimiento de direcciones físicas.

Véase tambiénEditar

ReferenciasEditar

  1. Uyeda, Frank (2009). «Lecture 7: Memory Management» (PDF). CSE 120: Principles of Operating Systems (en inglés). UC San Diego. Consultado el 4 de diciembre de 2013. 
  2. a b Drake, Daniel (4 de diciembre de 2007). «Memory access and alignments» (en inglés). LWN. Consultado el 4 de diciembre de 2013. 
  3. Drake, Daniel; Berg, Johannes. «UNALIGNED MEMORY ACCESSES». kernel.org (en inglés). Consultado el 4 de diciembre de 2013.