DEV Community

Vaf88767
Vaf88767

Posted on

Onde é salvo uma variável?

Para começo de conversa, se você acha que é na memória RAM. Você esta errado.

Se quer uma resposta simples, e sem muitos detalhes, a maioria das variáveis são armazenadas nos registradores. O computador tenta ao máximo registrar em um registrador quando não a mais espaço ela guarda na memória RAM. Atualmente um registrador é 100x mais rápido que qualquer memória RAM. Pode parar de ler por aqui ser quiser saber apenas isso, agora caso queira entender como funciona um processador, como uma linguagem faz isso.Continue a ler

Vamos imaginar um circuito simples que salva dados, podemos imaginar um flip flop. ele pode salvar 0 ou 1, como já deve saber, quando fazemos algum codigo, vou usar assembly de exemplo:

mov eax, 3
Enter fullscreen mode Exit fullscreen mode

Assim movemos o conteúdo do EAX(registrador Accumulator) para 3. Ou seja colocamos 3 no registrador EAX, quando criamos uma variável nada mais nada menos estamos só definindo um registrador para usar.

Como eu consigo registrar tantas variáveis então?

Bem, a resposta é simples. Existem centenas de registradores vazios para isso porém, realmente é facilmente esgotável em alguns programas, por isso o computador usa memória RAM para salvar dados que não cabem nos registradores. **Por isso se você tiver muitas variáveis vai acabar tendo perdas de velocidades muito perceptíveis, cerca de 100x mais lento,já que um registrador é 100x mais rápido que qualquer memória RAM. Esse é um dos motivos nos quais nos preocupamos tanto com a quantidade de variáveis.

Top comments (0)