Você está na página 1de 37

Aula 11: Memória Principal: Conceitos Básicos e Organização

Diego Passos

Universidade Federal Fluminense

Fundamentos de Arquiteturas de Computadores

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 1 / 37


Hierarquia de Memória

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 2 / 37


Memória: Definição

Componente de um sistema de computação.


▶ Armazena informações que são manipuladas pelo sistema.
▶ Permite que sejam recuperadas quando necessário.
Em computadores com programa armazenado, armazena também código executável.
▶ Arquitetura de Von Neumann: tudo é armazenado em uma única memória.
▶ Arquitetura de Harvard: memórias separadas.
Não é um componente único.
▶ Subsistema completo.
▶ Composto por vários componentes.
▶ Todos interligados.
▶ Formam uma hierarquia.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 3 / 37


Hierarquia de Memória: Uma Analogia

Você precisa fazer um exercício de física.


Você lê o enunciado e verifica que precisa de uma fórmula.
Como você a obtém?
Algumas alternativas:
1 Você abre o livro texto e procura a fórmula no capítulo relevante.
2 Você lembra de fórmula de cabeça porque previamente estudou a matéria.
3 Você tem a fórmula já anotada no rascunho usado para fazer o exercício.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 4 / 37


Hierarquia de Memória: Uma Analogia (II)

O livro texto contém muitas informações.


▶ Fórmulas para todo tipo de problema daquela matéria.
▶ Outros dados e informações também.
Certamente acharemos a fórmula lá, mas não de forma eficiente.
▶ Teremos que procurar no meio de outras informações.
▶ Manipular fisicamente as páginas.
Em conclusão:
▶ É um repositório de informações grande, mas lento.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 5 / 37


Hierarquia de Memória: Uma Analogia (III)

Nossa memória é mais rápida, assumindo que efetivamente nos lembremos da fórmula.
▶ Rapidamente recuperamos a expressão.
Maior tempo, provavelmente, é gasto transcrevendo a fórmula para o papel.
▶ Escrevê-la no nosso rascunho para utilizá-la.
Outro problema é que nossa memória tem capacidade limitada.
▶ Tendemos a esquecer certas informações.
▶ Principalmente com o passar do tempo.
Em conclusão:
▶ É um repositório de informações menor, mas mais rápido.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 6 / 37


Hierarquia de Memória: Uma Analogia (IV)

A última alternativa é que a fórmula já esteja anotada no papel.


▶ Nosso rascunho.
Neste caso, ela está pronta para uso.
▶ Podemos partir do que já está escrito.
▶ E aplicar os dados do problema.
Mas o quão provável é esta situação?
▶ Da fórmula já estar anotada?
▶ O papel de rascunho provê um espaço bastante limitado.
Em conclusão:
▶ É um repositório de informações pequeno, mas o mais rápido de todos.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 7 / 37


Hierarquia de Memória: Níveis

Esta ideia se aplica também aos computadores.


Existem vários tipos de repositórios diferentes.
▶ Registradores.
▶ Memória cache.
▶ Registradores
Memória principal.
▶ Memória secundária.
Cada um destes tipos ainda pode ser
subdividido. Memória Cache

▶ Cache de nível 1, nível 2.


▶ Disco rígido, fita magnética.
Repositórios variam em termos de: Memória Principal

▶ Tempo de acesso.
▶ Capacidade de armazenamento.
▶ Volatilidade dos dados. Memória Secundária
▶ Preço.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 8 / 37


Hierarquia de Memória: Dados

Do outro lado, os dados também variam.


Existem muitos dados que queremos guardar.
▶ Mas não serão utilizados em um futuro próximo.
Existem outros que esperamos usar em breve.
▶ Mas não necessariamente agora.
E existem dados sobre o qual queremos operar agora.
▶ Efetuar operações como somas, subtrações, . . .

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 9 / 37


Hierarquia de Memória: Dados e Níveis

Quanto mais imediato é uso de um dado, mais próximo ele deve estar do processador.
▶ Mais rápido é o acesso.
Mas, em geral, memórias mais próximas do processador são:
▶ Menores.
▶ Mais caras (por unidade de informação).
Memórias próximas ao processador também tendem a ser voláteis.
Logo, não podemos armazenar tudo nas memórias mais rápidas.
▶ É economicamente inviável.
▶ E, geralmente, precisamos armazenar informações de forma não-volátil.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 10 / 37


Características de uma Memória

Em geral, um determinado tipo de memória pode ser classificado de acordo com cinco
características:
▶ Tempo de acesso.
▶ Capacidade.
▶ Volatilidade.
▶ Tecnologia de fabricação.
▶ Custo.
Note que geralmente há correlação entre algumas destas características.
▶ e.g., tecnologia tem relação com tempo de acesso e custo.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 11 / 37


Características de uma Memória: Tempo de Acesso

Tempo desde a requisição do dado até que ele esteja disponível.


Normalmente, calculado em relação à leitura de dados.
▶ Recuperar informação que está armazenada em memória.
Note que certas memórias têm tempos diferentes para leitura e escrita.
Característica dependente da tecnologia usada pela memória.
▶ Poucos nanosegundos para a memória principal (dispositivo eletrônico).
▶ Dezenas de milissegundos para HDs (dispositivo eletromecânico).

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 12 / 37


Características de uma Memória: Tempo de Acesso (II)

Para alguns tipos de memória, o tempo de acesso pode ser variável.


e.g., tempo de acesso a um Disco Rígido.
▶ Cabeça de leitura precisa ser posicionada.
▶ Se ela está próxima do dado, acesso é mais rápido.
Isso não ocorre, por exemplo, com a memória principal.
▶ RAM: Random Access Memory.
▶ Qualquer local é acessado com uma mesma latência.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 13 / 37


Características de uma Memória: Capacidade

Quantidade de informação que pode ser armazenada na memória.


Geralmente, medida em bytes.
▶ Ou múltiplos (k, M, G, . . . ).
Dispositivos de memória secundária geralmente tem grande capacidade.
▶ Na casa dos Gigabytes ou Terabytes.
Do outro lado do espectro, estão os registradores.
▶ Poucos bits.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 14 / 37


Características de uma Memória: Volatilidade

Capacidade de reter informações “permanentemente”.


Em geral, utiliza-se como critério a alimentação elétrica.
▶ Sem energia elétrica.
▶ Com energia elétrica.
Memória volátil:
▶ Informações são perdidas quando dispositivo deixa de ser alimentado.
▶ Exemplo: memória RAM.
Memória não-volátil:
▶ Informações são retidas mesmo sem alimentação.
▶ Exemplo: memória ROM.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 15 / 37


Características de uma Memória: Tecnologia de Fabricação

Várias opções:
▶ Memórias baseadas em semicondutores.
⋆ Memória RAM, ROM, registradores, flash, . . . .
⋆ Geralmente rápidas, mas caras.
▶ Memórias baseadas em meio magnético.
⋆ Disco Rígido, Fita Magnética.
⋆ Baratas, alta capacidade de armazenamento, não-voláteis, lentas.
▶ Memórias baseadas em meio óptico.
⋆ CDs, DVDs, Blueray, . . .
⋆ Não-voláteis, lentas, alta capacidade de armazenamento.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 16 / 37


Características de uma Memória: Custo

O custo de uma memória é algo relativo.


▶ Memória RAM DDR3 4 GB: cerca de R$ 110,00.
▶ HD SATA 1 TB: cerca de R$ 180,00.
Como as capacidades podem ser muito diferentes, geralmente considera-se o custo por
byte.
▶ Memória RAM: 27,50 R$/GB.
▶ Disco Rígido: 0,18 R$/GB.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 17 / 37


Níveis de Memória: Registradores

São internos ao processador.


Guardam informações necessárias imediatamente.
▶ Instrução a ser executada.
▶ Operadores a serem processados.
Construídos com a mesma tecnologia do processador.
▶ Acesso muito rápido.
▶ Da ordem do tempo de execução de uma instrução.
▶ e.g., 1 ns.
Capacidade de poucos bits.
▶ Geralmente, do tamanho dos operadores processados pela UCP.
▶ 32 bits, 64 bits.
Voláteis.
Baseados em semicondutores.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 18 / 37


Níveis de Memória: Memória Cache

Podem ser internas ou externas ao processador.


▶ Cache L1 (level 1 ou nível 1) ou L2 interna.
⋆ Encapsulada no mesmo chip do processador.
▶ Cache L2 externa.
⋆ Chip separado.

Cache L1 é bastante rápida.


▶ Tempos de acesso ligeiramente maiores que de um registrador
▶ e.g., 5 ns.
Cache L2 é mais lenta.
▶ e.g., 12 ns.
Capacidade: centenas de kB (L1), poucos MB (L2).
Tecnologia: semicondutores, SRAM.
Custo alto.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 19 / 37


Níveis de Memória: Memória RAM

Externas ao processador.
▶ Conectadas via barramento.
Tempos de acesso consideravelmente maiores que da cache L2.
▶ e.g., 50 ns.
Capacidade muito maior que da cache.
▶ Mas limitada por características do processador.
▶ Ligada ao tamanho da palavra.
▶ Processadores recentes de 32 bits suportam até 4 GB.
Voláteis.
Tecnologia baseada em semicondutores, SRAM.
Custo menor que da memória cache.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 20 / 37


Níveis de Memória: Memória Secundária

Tempos de acesso bem mais altos.


▶ Na casa das dezenas de milissegundos.
Custo baixo e alta capacidade.
Não-volátil.
Geralmente, usam meios magnéticos ou ópticos.
▶ Mas, hoje, algumas são baseadas em semicondutores.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 21 / 37


Organização da Memória Principal

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 22 / 37


Introdução

Fisicamente, o Subsistema de Memória é organizado hierarquicamente.


▶ De acordo com os níveis vistos até aqui.
▶ Ainda nesta disciplina, discutiremos registradores, cache e memória secundária em mais
detalhes.
Mas em termos lógicos, a memória é organizada de acordo com a organização da Memória
Principal.
▶ Objeto do restante desta aula.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 23 / 37


Organização

M bits
0
1 ...
A memória principal pode ser vista como uma matriz de bits.
2
Bits são dispostos em linhas e colunas. 3
Neste curso, diremos que uma linha é uma célula de 4
memória.

...
...
Todas as células de memória possuem o mesmo número M de N-5
bits. N-4
▶ Largura da Célula. N-3
N-2
...

N-1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 24 / 37


Organização: Células

M bits
Cada célula de memória recebe um identificador único. 0
▶ Chamado de Endereço. 1 ...
▶ Não é armazenado na memória, fica subentendido. 2

De fato, uma célula de memória é a menor unidade de 3


informação endereçável. 4

...
▶ i.e., não podemos referenciar um subconjunto (próprio) de seus

...
bits isoladamente. N-5
Geralmente, M = 8. N-4
▶ Ou seja, células de um byte. N-3
▶ N-2
Mas isso não é uma regra. ...

N-1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 25 / 37


Organização: Endereços

M bits
0
Endereços são contados sequencialmente.
1 ...
▶ Começam do 0 e vão até um determinado valor N − 1.
2
São usados pelo processador para referenciar células. 3
▶ Quando este pede alguma operação à memória. 4
▶ Em alguns casos, processador referencia um conjunto de

...
...
células contíguas.
N-5
Número máximo de células é limitado. N-4
▶ Pelo número de bits do Barramento de Endereços. N-3
▶ BE de 32 bits endereça 232 ≈ 4 bilhões de células.
N-2
...

N-1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 26 / 37


Organização: Tamanho

M bits
Quantos bits (ou bytes) podemos armazenar na memória? 0
Em bits: 1 ...
▶ Número de posições da matriz. 2
▶ Com N linhas (células) e M colunas (bits): N × M. 3
4
Em bytes:

...
...
▶ N×M
8 .
N-5
Mas qual é o tamanho máximo?
N-4
▶ Depende da largura do BE.
▶ E do tamanho da célula. N-3
N-2
...
▶ Para BE de 32 bits com células de 1 byte: 232 B = 4 GiB.
N-1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 27 / 37


Organização: Tamanho (II)

Note que podemos aumentar o limite de memória de um M bits


computador de duas formas: 0
▶ Aumentando o número de células. 1 ...
▶ Aumentando a largura de cada célula. 2

Aumentar o número de células requer aumentar largura do BE. 3


4

...
▶ E alguns registradores estudados mais à frente na disciplina.

...
Aumentar a largura das células reduz a granularidade do N-5
endereçamento. N-4
▶ e.g., com M = 16, não podemos referenciar bytes individuais. N-3
▶ N-2
Para buscar um byte, precisamos trazer um par inteiro e ...
separá-lo. N-1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 28 / 37


Operações Sobre a Memória

A interação entre a UCP e a memória permite dois tipos de operação.


▶ Leitura.
▶ Escrita.
Em ambas as operações, a UCP informa um endereço.
▶ Marca início da região sobre a qual operação é realizada.
A leitura é uma operação não-destrutiva.
▶ Valor de uma região da memória é lido e permanece o mesmo.
A escrita é (por natureza) destrutiva.
▶ Valor da região é alterado.
▶ Valor original é perdido.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 29 / 37


Operações Sobre a Memória: Tamanho da Palavra

Conceito já citado brevemente.


O tamanho da palavra de um processador determina o número de bits de alguns
componentes do computador.
Em relação às operações sobre a memória, é muito importante.
▶ Determinados processador leem/escrevem na memória em unidades do tamanho da palavra
(ou múltiplos).
▶ e.g., se o tamanho da palavra é 4 bytes, leituras/escritas são feitas conjuntos de 4 bytes
contíguos.
Note uma distinção importante: tamanho da célula não é o mesmo que tamanho da
palavra.
▶ De fato, estes tamanhos são geralmente diferentes.
▶ e.g., células de 1 byte, palavras de 32 bits.
▶ Podemos endereçar memória em células individuais, mas leitura/escrita são feitas sobre
palavras inteiras.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 30 / 37


Operações Sobre a Memória: Tamanho da Palavra (II)

M bits

}
0
1 ... Se as leituras/escritas são feitas sobre palavras
2 Tamanho
inteiras, como obter o valor de células
3 da Palavra individuais?
4 Leitura:
▶ No processador ou na memória, célula desejada
...
...

é “isolada” do resto da palavra.


N-5
N-4
Escrita:
▶ No processador ou na memória, célula
N-3
específica é combinada com resto da palavra.
N-2
...

N-1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 31 / 37


Operações Sobre a Memória: Alinhamento

Outra restrição comum no acesso à memória:


▶ Acessos devem ser alinhados com o tamanho da palavra.
▶ Leituras/escritas são feitas em palavras iniciadas em endereços múltiplos do tamanho da
palavra.
Por exemplo:
▶ Tamanho da palavra é 4 bytes.
▶ Células são de 1 byte.
▶ Podemos acessar palavras iniciadas nos endereços 0, 4, 8, . . . .
▶ Mas não podemos nos endereços 1,2,3,5,6,7, . . . .
Razão:
▶ Permite melhor desempenho em certos aspectos.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 32 / 37


Operações Sobre a Memória: Alinhamento (Exemplo I)

Correto Incorreto

}
M bits M bits

}
0 0
1 ... Tamanho 1 ...
2 da Palavra 2 Tamanho
3 3 da Palavra
4 4
...

...
...

...
N-5 N-5
N-4 N-4
N-3 N-3
N-2 N-2
... ...

N-1 N-1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 33 / 37


Operações Sobre a Memória: Alinhamento (Exemplo II)

}
M bits
0
1 ...
Leitura dos bytes das posições 2 e 3. Um acesso

2
Palavra de 4 bytes.
▶ Células de 1 byte. 3
4
Um único acesso à memória.

5
Palavra inteira é carregada para o
processador. 6
▶ Dois bytes de interesse são depois 7
isolados.

...
...
Bytes desejados

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 34 / 37


Operações Sobre a Memória: Alinhamento (Exemplo III)

}
M bits
0
Situação semelhante.
1 ... Primeiro
Leitura dos bytes das posições 3 e 4. 2 Acesso

}
▶ Palavra de 4 bytes. 3
▶ Células de 1 byte.
4
Leitura não pode ser feita em um 5 Segundo
acesso. Acesso
6
▶ Bytes de interesse estão espalhados por
7
duas palavras alinhadas diferentes.

...
...
Solução: dois acessos à memória.
Bytes desejados

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 35 / 37


Operações Sobre a Memória: Padding

Exemplo anterior ilustra importância do alinhamento para o desempenho.


▶ Mesmo para dados menores que o tamanho da palavra, se houver desalinhamento, precisamos
de mais acessos à memória.
Por este motivo, é importante tentar manter dados alinhados ao tamanho da palavra.
Mas o que fazer quando há dados cujo tamanho não é múltiplo da palavra?
▶ Por exemplo, imagine um vetor de elementos de 3 bytes.
▶ Podemos alinhar o primeiro elemento, mas o segundo ficará desalinhado.
Solução: adição de padding.
▶ Inserimos um espaço artificial entre os elementos.
▶ No exemplo, 1 byte após cada elemento.
▶ Aumenta consumo de memória, mas melhora desempenho.
Linguagens de alto nível muitas vezes cuidam de forma automática destes aspectos.
▶ Compilador guarda variáveis alinhadas e com o padding necessário.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 36 / 37


Exercícios

1 Determine a largura mínima necessária para o barramento de endereços para que uma
máquina possa suportar 16 GB de memória com células de 2 bytes.
2 Para este mesmo cenário, determine quantas células terá a memória.
3 Agora suponha uma máquina com células de 1 byte e palavra de 8 bytes.
▶ Queremos armazenar um vetor de 3 elementos de 11 bytes cada.
▶ Podemos utilizar quaisquer células entre as posições 117 e 200.
▶ Desenhe um esquema de alocação de forma a maximizar o desempenho no acesso a estes
elementos.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Diego Passos (UFF) Memória Principal: Conceitos Básicos e Organização FAC 37 / 37

Você também pode gostar