stringtranslate.com

Modelo de memoria plana

El modelo de memoria plana o modelo de memoria lineal se refiere a un paradigma de direccionamiento de memoria en el que " la memoria aparece para el programa como un único espacio de dirección contiguo ". [1] La CPU puede direccionar directamente (y linealmente ) todas las ubicaciones de memoria disponibles sin tener que recurrir a ningún tipo de conmutación de bancos , segmentación de memoria o esquemas de paginación .

La gestión de memoria y la traducción de direcciones aún se pueden implementar sobre un modelo de memoria plana para facilitar la funcionalidad del sistema operativo , la protección de recursos, la multitarea o para aumentar la capacidad de memoria más allá de los límites impuestos por el espacio de direcciones físicas del procesador, pero la característica clave de un modelo de memoria plana es que todo el espacio de memoria es lineal, secuencial y contiguo.

En un controlador simple, o en una aplicación embebida de tarea única , donde la gestión de memoria no es necesaria ni deseable, el modelo de memoria plana es el más apropiado, porque proporciona la interfaz más simple desde el punto de vista del programador, con acceso directo a todas las ubicaciones de memoria y una complejidad de diseño mínima.

En un sistema informático de propósito general, que requiere multitarea, asignación de recursos y protección, el sistema de memoria plana debe complementarse con algún esquema de gestión de memoria, que normalmente se implementa mediante una combinación de hardware dedicado (dentro o fuera de la CPU) y software integrado en el sistema operativo. El modelo de memoria plana (a nivel de direccionamiento físico) sigue ofreciendo la mayor flexibilidad para implementar este tipo de gestión de memoria.

Modelos de memoria

La mayoría de los modelos de memoria modernos entran en una de tres categorías:

Modelo de memoria plana

Modelo de memoria paginada

Modelo de memoria segmentada x86

Dentro de las arquitecturas x86, al operar en modo real (o emulación), la dirección física se calcula como: [2]

Dirección = 16 × segmento + desplazamiento

(Es decir, el registro de segmento de 16 bits se desplaza 4 bits a la izquierda y se agrega a un desplazamiento de 16 bits, lo que da como resultado una dirección de 20 bits).

Véase también

Referencias

  1. ^ Gonzalez, Antonio; Latorre, Fernando; Magklis, Grigorios (2011). Microarquitectura de procesadores: una perspectiva de implementación. Morgan & Claypool Publishers. p. 72. ISBN 9781608454525.
  2. ^ Descripción general del modo real "La dirección física se puede calcular como Valor_en_segmento_registro
    • 16 + Valor_en_registro_de_desplazamiento."