Fundamentos de computador sobre memória [duplicado]

0

Quando a capacidade da memória principal é de 2 GB, qual pode ser o maior programa que pode ser acessado pelo processador com o suporte de um barramento de endereços de 32 bits?

    
por Praveen Roxx 25.05.2017 / 05:49

2 respostas

0

Se você tiver espaço de endereçamento de 32 bits, poderá endereçar 2 ^ 32 (4Gi) bytes de memória. No que diz respeito a um programa em execução no espaço de endereço virtual, não vejo razão para que ele não consiga endereçar e acessar o valor de 4GiB.

Isso pressupõe algumas coisas, como um sistema operacional que usa memória virtual, possivelmente algum hardware (MMU) para auxiliar, etc. Mas para qualquer CPU moderna de 32 bits e qualquer SO moderno isso não deve ser um problema. Tudo moderno suporta paginação, então só tem que ter a parte daquele 4GiB que está atualmente acessando na memória física.


Tanto para uma resposta genérica, agora uma para windows e x86.

O Windows (desde a era win2000?) usa memória virtual e paginação. Também é padronizado dividir o intervalo de endereços 4Gi pela metade. A metade superior do kernel, a metade inferior dos programas do usuário. Isso impõe um limite aritificial de endereço de 2GiB para programas do usuário, ou 3GiB quando você inicializa o kernel em um modo especial e usa programas LARGEADDRESSAWARE.

Isso limitará seus programas USER a isso.

Depois, há o PAE, artificialmente expandindo seu barramento de memória para 36 bits. O PAE é um kludge feio e não é necessário desde CPUs de 64 bits (que têm sido comuns nas últimas duas décadas).

Thi está se transformando em um post 'what-if' e depois em 'answer X'. O que significa que seria bom ter uma pergunta mais específica.

    
por 25.05.2017 / 12:23
0

Isso seria de 2 GB em teoria, mas alguns deles serão reservados e / ou usados pelo próprio SO.

Observe que os processos de 32 bits também são limitados a 2 GB, mesmo se você os executar em um sistema operacional de 64 bits, a menos que sejam redesenhados intencionalmente. Se reprojetado considerando IMAGE_FILE_LARGE_ADDRESS_AWARE, o limite será de acordo com o MSDN , 3 GB.

    
por 25.05.2017 / 09:45

Tags