Escolar Documentos
Profissional Documentos
Cultura Documentos
Diego Passos
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
▶ Tempo de acesso.
▶ Capacidade de armazenamento.
▶ Volatilidade dos dados. Memória Secundária
▶ Preço.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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
...
▶ 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
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
...
▶ 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
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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
...
...
N-1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
}
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
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
}
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
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .