Requisito previo: segmentación La
segmentación es el proceso en el que la memoria principal de la computadora se divide lógicamente en diferentes segmentos y cada segmento tiene su propia dirección base. Básicamente se utiliza para mejorar la velocidad de ejecución del sistema informático, de modo que el procesador pueda obtener y ejecutar los datos de la memoria de manera fácil y rápida.
Necesidad de segmentación:
la unidad de interfaz de bus (BIU) contiene cuatro registros de propósito especial de 16 bits (mencionados a continuación) denominados registros de segmento.
- Registro de segmento de código (CS): se utiliza para direccionar la ubicación de la memoria en el segmento de código de la memoria, donde se almacena el programa ejecutable.
- Registro de segmento de datos (DS): apunta al segmento de datos de la memoria donde se almacenan los datos.
- Registro de segmento adicional (ES): también se refiere a un segmento en la memoria que es otro segmento de datos en la memoria.
- Registro de segmento de pila (SS): se utiliza para direccionar el segmento de pila de la memoria. El segmento de pila es ese segmento de memoria que se utiliza para almacenar datos de pila.
El número de líneas de dirección en 8086 es 20, 8086 BIU enviará una dirección de 20 bits para acceder a una de las ubicaciones de memoria de 1 MB. Los registros de cuatro segmentos en realidad contienen los 16 bits superiores de las direcciones iniciales de los cuatro segmentos de memoria de 64 KB cada uno con los que está trabajando el 8086 en ese instante de tiempo. Un segmento es una unidad lógica de memoria que puede tener hasta 64 kilobytes de longitud. Cada segmento se compone de ubicaciones de memoria contiguas. Es una unidad independiente, direccionable por separado. La dirección inicial siempre cambiará. No se arreglará.
Tenga en cuenta que el 8086 no funciona con toda la memoria de 1 MB en un momento dado. Sin embargo, solo funciona con cuatro segmentos de 64 KB dentro de la memoria total de 1 MB.
A continuación se muestra la única forma de colocar cuatro segmentos de 64 kilobytes dentro del espacio de memoria de 1M byte de un 8086.
Tipos de segmentación –
- Segmento superpuesto: un segmento comienza en una dirección particular y su tamaño máximo puede llegar hasta los 64 kilobytes. Pero si otro segmento comienza junto con esta ubicación de 64 kilobytes del primer segmento, se dice que los dos son segmentos superpuestos .
- Segmento no superpuesto: un segmento comienza en una dirección particular y su tamaño máximo puede llegar hasta los 64 kilobytes. Pero si otro segmento comienza antes de esta ubicación de 64 kilobytes del primer segmento, entonces se dice que los dos segmentos son segmentos no superpuestos .
Reglas de segmentación El proceso de segmentación sigue algunas reglas de la siguiente manera:
- La dirección de inicio de un segmento debe ser tal que se pueda dividir por 16.
- El tamaño mínimo de un segmento puede ser de 16 bytes y el máximo de 64 kB.
- Proporciona un poderoso mecanismo de administración de memoria.
- Las operaciones relacionadas con datos o relacionadas con la pila se pueden realizar en diferentes segmentos.
- La operación relacionada con el código se puede realizar en segmentos de código separados.
- Permite a los procesos compartir datos fácilmente.
- Permite ampliar la capacidad de direccionamiento del procesador, es decir, la segmentación permite el uso de registros de 16 bits para dar una capacidad de direccionamiento de 1 Megabyte. Sin segmentación, requeriría registros de 20 bits.
- Es posible mejorar el tamaño de la memoria de los datos de código o apilar segmentos más allá de los 64 KB asignando más de un segmento para cada área.
Ventajas de la Segmentación Las principales ventajas de la segmentación son las siguientes:
Publicación traducida automáticamente
Artículo escrito por Astha_Singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA