1
resposta

Limitação de RAM em CPU 32bits

Assistindo a aula do curso Arquitetura de Computadores, no módulo 4 sendo mais específico:

O instrutor menciona que a limitação do processador (ou sistema operacional) de 32bits é devido ao maior endereço de memória que os registradores contidos no CPU (processador) suportam, com a explicação de que, ja que sao 32bits, 2 elevado a potencia de 32 (2^32) é igual a aproximadamente 4Giga BYTES.

Fazendo a conta, de fato, 2^32=4.294.967.296; entretanto, na minha visão esse é o valor do ultimo registro da memória que pode ser gravado no registrador representado em decimal.

nao entendi onde a conversão para BYTES existiu nesse processo. acho que entendi algo errado, nao sei... alguém sabe esclarecer a minha linha de raciocínio?

Obg

1 resposta

Olá Maurício, tudo bem?

Bora lá, seguindo esse raciocínio:  

1 bit representa
N° binárioDecimal
00
11
Quantidade de valores2 = 2¹

 

2 bits representam
N° binárioDecimal
000
011
102
113
Quantidade de valores4 = 2²

 

3 bits representam
N° binárioDecimal
0000
0011
0102
0113
1004
1015
1106
1117
Quantidade de valores8 = 2³

  E por aí vai ...

Agora, pensando em um sistema de 4 bits, a quantidade de valores que ele pode representar é de 2⁴ = 16. Portanto são 16 endereços diferentes que ele pode assumir, sendo cada endereço representado por um byte, dessa forma, é um sistema de 16 bytes. Segue na imagem abaixo a representação deste sistema:

Imagem que representa um sistema de 4 bits, onde se têm duas tabelas, a primeira apresenta endereços em forma de tabela, sendo eles as 16 combinações de 4 bits: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111. 
Na segunda tabela, está representada as 16 posições preenchidas por 1 byte com uma faixa mostrando o total da somatória que é de 16 Bytes

Então, no caso do processador de 32 bits, ele pode representar até o valor em decimal 4.294.967.295 (2³²-1), que são em quantidade 4.294.967.296 (2³²) valores armazenados. Portanto, essa é a quantidade de posições da memória que o sistema consegue acessar no barramento de endereços e ela é alocada em posições de bytes.

Dessa forma, se cada posição é usada para armazenar um byte, poderão ser endereçados 4.294.967.296 Bytes = 4.194.304 KiloBytes = 4.096 MegaBytes = 4 GigaBytes. Segue abaixo este cálculo de Bytes para GigaBytes:

4.294.967.296 bytes / 1024 bytes ( equivale a 1 KiloByte ) = 4.194.304 KiloBytes

4.194.304 KB / 1024 bytes = 4.096 MegaBytes

4.096 MB / 1024 bytes = 4 GigaBytes

Espero ter esclarecido sua dúvida e, qualquer coisa, estou à disposição!

Bons estudos :)