Endereço (memória)
introdução
[editar | editar código-fonte]Em Ciência da Computação, um endereço de memória é um identificador único para um local de memória no qual um processador ou algum outro dispositivo pode armazenar pedaços de dados. Em computadores modernos com endereçamento por byte, cada endereço representa um byte distinto de armazenamento. Dados maiores que um byte podem residir em múltiplos bytes, ocupando uma sequência de bytes consecutivos. Alguns microprocessadores foram desenvolvidos para trabalhar com endereçamento por word, tornando a unidade de armazenamento maior que um byte.[1]
Tanto memória virtual quanto memória física utilizam endereçamento de memória. Para facilitar a cópia de memória virtual em memória real, os sistemas operacionais dividem a memória virtual em páginas, cada uma contendo um número fixo de endereços. Cada página é armazenada em disco até que seja necessária, sendo então copiada pelo sistema operacional do disco para a memória, transformando o endereço virtual em endereço real.
Tal transformação é invisível ao aplicativo, e permite que aplicativos operem independente de sua localização na memória física, fornecendo aos sistemas operacionais liberdade para alocar e realocar memória conforme necessário para manter o computador executando eficientemente.[2]
Unidade de resolução de endereço
[editar | editar código-fonte]A maioria dos computadores modernos utilizam endereço em bytes.Cada endereço de memória refere-se a um único byte(oito bits) de armazenamento. Dados maiores que 1 byte são armazenados em uma sequencia de endereços consecutivos. Os processadores atuais utilizam a alocação de memoria em word o qual tem como a menor unidade de armazenamento de memoria um word, que equivale a arquitetura do processador, normalmente 32 ou 64 bits em computadores atuais. Para melhorar a eficiência do acesso a memoria é utilizado alinhamento de memória com base no tamanho da word do processador, por exemplo em uma arquitetura de 32 bits os dados de 4 bytes(word) devem ser alinhados em endereços que são múltiplos de 4.
Frequentemente, ao citar tamanho de word em computadores modernos, é citado também o tamanho de endereços de memória virtual em tal computador. Por exemplo, um computador de 32 bits geralmente trata os endereços de memória como valores inteiros de 32 bits, tornando o espaço de endereçamento igual a bytes de memória, ou 4 GBs.[3]
Arquiteturas e endereçamento de memoria
[editar | editar código-fonte]Arquitetura em 32 bits
[editar | editar código-fonte]Nesse tipo de arquitetura, os endereços de memória tem 32 bits de largura permitindo que o processador possua um endereçamento de ate 4GB de memória, e cada endereço refere-se a um byte especifico.[4]
Arquitetura em 64 bits
[editar | editar código-fonte]Nesse tipo de arquitetura, os endereços de memória tem 64 bits de largura o que permite um endereçamento de 18 exabytes de memória o que permite uma manipulação de memória superior a sistemas de 32 bits.[5]
Ver também
[editar | editar código-fonte]Referencias
[editar | editar código-fonte]- ↑ «Endereço» (em inglês). Microsoft Academic. Consultado em 20 de novembro de 2020
- ↑ Hennessy & Patterson, john L David A (2013). Computer Organization and Design: The Hardware/Software Interface. [S.l.]: Morgan Kaufmann Publishers
- ↑ Tanenbaum, Andrew (2014). Modern Operating Systems. [S.l.]: Pearson
- ↑ FORTE, Cássio Henrique Volpato. "Processadores ARM: visão geral e aplicações." Universidade Estadual Paulista” Júlio de Mesquita Filho”(UNESP), Sao José do Rio Preto, SP (2015).
- ↑ Stallings, William (2009). Computer Organization and Architecture: Designing for Performance. [S.l.]: Pearson