Segmentos

Segmentos

de Leonardo Alfredo Levy Garrido -
Número de respuestas: 4

Hola, capaz es una pregunta bien basica pero la verdad estoy un poco mareado con esto.

Entiendo que los segmentos estan para ampliar la cantidad de memoria direccionable en los registros. Sin los segmentos, en el 8086 se pueden direccionar 2^16 direcciones con un registro.

Pero con segmentos puedo direccionar hasta 2^20 utilizando la estrategia de usar dos registros. Uno para especificar el segmento y otro para moverme dentro de él.

Ahora no estoy seguro cuantos segmentos existen? porque solo hay cuatro registros apuntando a cuatro segmentos DS,CS,SS y ES? No hay más? Para mi deberia poder tener 2^4=16 segmentos y dentro de cada uno 2^16 direcciones. Pienso esto ya que me estoy imaginando que tengo los 4 bits más significativos indicando el segmento y luego 16 bits de desplazamiento dentro de él.

Y otra pregunta seria, no se puede tener más memoria que 2^20 en el 8086 no? ya que el procesador no podria ubicar más direcciones.

Muchas gracias!

Slaudos

En respuesta a Leonardo Alfredo Levy Garrido

Re: Segmentos

de Matias Rodal Medina -

Existen 4 registros de segmento, y por lo tanto, al mismo tiempo pueden haber 4 segmentos distintos. Pero si, cada registro de segmento lo podes mover a donde quieras generando 2^16 posibles segmentos en total.

Como las direcciones son de 20 bits, no podes direccionar mas que 2^20 direcciones no.

Saludos

En respuesta a Matias Rodal Medina

Re: Segmentos

de Leonardo Alfredo Levy Garrido -

Muchas gracias por la respuesta!

Una pregunta más, estos registros de segmento se pueden cambiar dianmicamente sin apagar el sistema? o solo se cargan cuando el sistema se inicializa?

 

gracias!