O que são registradores de segmento? Por que a memória é segmentada? Como é feita a segmentação de memória?


Melhor resposta

Um segmento é um pedaço contíguo de memória. Em um esquema de memória segmentada, toda a memória de um processo está em segmentos. Os primeiros sistemas de memória virtual (Burroughs B5000, Mulitcs) eram baseados em segmentos de tamanho variável que são copiados para dentro e para fora da RAM.

Um programa faz referência a cada segmento como um deslocamento para um registrador de segmento. O conteúdo real do registro de segmento é controlado pelo sistema. O sistema sabe quando um segmento é referenciado quando o registrador de segmento é usado e usa isso para gerenciar a memória virtual.

Isso está em contraste com paginado memória virtual, usada em todos os lugares hoje, onde os quanta de memória virtual são pedaços de memória de tamanho fixo. A paginação é mais complexa e requer mais suporte de hardware.

O Multics do MIT teve um grande impacto na computação moderna (incluindo muitas ideias incorporadas ao Unix e Linux). Fred Pollack ingressou no projeto Intel 286 recém-saído do MIT. Ele viu os registradores de “segmento” do 8086 (na verdade, registradores de base) e fez lobby com sucesso para fazer esses registradores de segmento reais como no Multics. (Fred mais tarde se tornou um Fellow da Intel.)

Os segmentos de 64 KB do 286 sofreram o mesmo problema que os segmentos do Multics: eles eram muito pequenos. Freqüentemente, vários segmentos são necessários para acessar as estruturas de memória, o que significa recarregar registradores de segmento e, muitas vezes, envolver o sistema operacional. Devido ao impacto no desempenho, a segmentação raramente era usada e os registros de segmento eram usados ​​como registros básicos no modo de compatibilidade 8086.

O Intel 386 de 32 bits adicionou memória virtual paginada (SIM!) Sob o esquema de segmento (meh ) O modelo de arquitetura Intel de 64 bits dispensa inteiramente os registradores de segmento, embora ainda tenha modos de compatibilidade desde o 8086.

Resposta

1.O que são registradores de segmento?

-> Como todos sabemos que os registros estão presentes no processador. criamos segmentos na memória (segmentação). Para obter a localização inicial desses segmentos, armazenamos o endereço desses segmentos no registrador de segmento. em registros de segmento curto, armazenam a localização inicial dos segmentos presentes na memória, ou seja, o endereço do segmento.

3.como a segmentação da memória é feita?

-> a segmentação da memória é feita usando endereços de 16 bits. Primeiro, damos o endereço do segmento (início do segmento), depois de fornecer o endereço do segmento, fornecemos o endereço de deslocamento () para acessar os locais nesse segmento.

damos o endereço do segmento apenas uma vez, depois disso, o endereço de deslocamento.

damos o endereço do segmento e endereço de deslocamento ambos os endereços de 16 bits como um programador. após fornecer este endereço, é dever do processador converter este endereço em endereço físico (endereço real).

endereço físico = endereço de segmento * 10 + endereço de deslocamento

= 1000 * 10 + 2345

= 12345H

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *