Professional Documents
Culture Documents
com/site/moraiscg
2013.1
PARTE 6
http://sites.google.com/site/moraiscg
http://sites.google.com/site/moraiscg
MEMRIA
http://sites.google.com/site/moraiscg
Memria
Conceito:
http://sites.google.com/site/moraiscg
Custo, acesso
Interna Externa
Maior capacidade
http://sites.google.com/site/moraiscg
Classificao de Memria
Memria Externa
http://sites.google.com/site/moraiscg
Memria Interna
Categoria: Principal: de acesso mais rpido, mas de capacidade mais restrita. Armazena informaes temporariamente durante um processamento realizado pela UCP.
bem maior. Armazena grande conjunto de dados que a memria principal no suporta.
http://sites.google.com/site/moraiscg
Memria Externa
Categoria:
Fita magntica
http://sites.google.com/site/moraiscg
Localizao
Organizao
Transferncia
Mtodo de acesso
Tecnologia
Caractersticas fsicas
http://sites.google.com/site/moraiscg
Organizao/Capacidade/Palavra
Tamanho da Palavra: quantidade de bits lidos ou escritos paralela ou simultaneamente.
Ex.: palavra de 8 bits, 16 bits, ....., 64 bits
Densidade: capacidade de armazenamento de bits no mesmo espao Endereo: Conjunto de bits que identificam a posio de memria onde est
http://sites.google.com/site/moraiscg
10
Organizao/Capacidade/Palavra
Memrias com Endereamento Explcito: A palavra a lida ou escrita na memria associada a
um numero inteiro de 0 a N-1 (o endereo)
Se: m linhas de dados (entrada/sada), e K nmero de linhas de endereo, ento, a memria ter cada palavra com m bits e 2K palavras (ou endereos) e arranjo N x m, onde N = 2K .
especificada
http://sites.google.com/site/moraiscg
11
Organizao em detalhes
Um chip de 16 Mbits pode ser organizado como 1M de palavras de 16
bits.
Um sistema de um bit por chip tem 16 lotes de chip de 1 Mbit com bit 1
2048 x 4 bits.
Reduz nmero de pinos de endereo.
Multiplexa endereo de linha e endereo de coluna. 11 pinos para enderear (211=2048). Aumentar um pino dobra o intervalo de valores, de modo que a capacidade multiplica por 4.
http://sites.google.com/site/moraiscg
12
Organizao
http://sites.google.com/site/moraiscg
13
Organizao (2)
CS
http://sites.google.com/site/moraiscg
14
Organizao (3)
http://sites.google.com/site/moraiscg
15
Organizao (1)
o arranjo fsico dos bits para formar palavras
http://sites.google.com/site/moraiscg
16
Organizao (2)
Nmero de bits por clula para alguns computadores comerciais historicamente interessantes
http://sites.google.com/site/moraiscg
17
Ordenao na organizao
ordem que os dados sero interpretados Dado Dado
Os bytes so guardados por ordem decrescente do seu "peso numrico" em endereos sucessivos da memria (extremidade maior primeiro ou big-endian).
Os bytes so guardados por ordem crescente do seu "peso numrico" em endereos sucessivos da memria (extremidade menor primeiro ou little-endian).
http://sites.google.com/site/moraiscg
18
Dados
http://sites.google.com/site/moraiscg
19
http://sites.google.com/site/moraiscg
20
Mtodos de acesso
Seqencial:
Comea no incio e l em ordem. Tempo de acesso depende da localizao dos dados e local anterior. Por exemplo, fita.
Direto:
Blocos individuais possuem endereo exclusivo. Acesso saltando para vizinhana, mais busca sequencial. Tempo de acesso depende da localizao e local anterior. Por exemplo, disco.
http://sites.google.com/site/moraiscg
21
Hierarquia de memria
Registradores:
Na CPU.
Memria externa:
Armazenamento de apoio.
http://sites.google.com/site/moraiscg
22
Aleatrio:
Endereos individuais identificam localizaes com exatido. Tempo de acesso independente da localizao ou acesso anterior. Ex., RAM.
Associativo:
Dados so localizados por uma comparao com contedo de uma
parte do armazenamento.
Tempo de acesso independente do local ou acesso anterior. Ex., cache.
http://sites.google.com/site/moraiscg
23
Desempenho
Tempo de acesso: (TA)
Tempo entre apresentar o endereo e obter os dados
vlidos.
Tempo de ciclo de memria: (TN)
Tempo que pode ser exigido para a memria se recuperar
http://sites.google.com/site/moraiscg
24
Principais parmetros
Tempo de acesso - tACC
o tempo decorrido desde o instante em que o endereo apresentado memria at o momento em que os dados so armazenados ou se tornam disponveis para utilizao
http://sites.google.com/site/moraiscg
25
Magntico:
Disco e fita.
ptico:
CD e DVD.
Outros:
.
http://sites.google.com/site/moraiscg
26
http://sites.google.com/site/moraiscg
27
http://sites.google.com/site/moraiscg
28
RAM Esttica
Mais cara Rpida Consome Mais Energia No necessita de atualizao Baixa Densidade
http://sites.google.com/site/moraiscg
29
http://sites.google.com/site/moraiscg
30
Memria DRAM
Bits armazenados com carga em capacitores. As cargas vazam. Precisa de renovao mesmo se alimentada. Construo mais simples. Menor por bit. Mais barata. Precisa de circuitos de refresh. Mais lenta. Memria principal. Dispositivo basicamente analgico.
Nvel de carga determina o valor.
http://sites.google.com/site/moraiscg
31
Caractersticas fsicas
Deteriorao. Volatilidade. (externa no-voltil chamada memria
secundria ou auxiliar)
http://sites.google.com/site/moraiscg
32
Refreshing (DRAM)
Circuito de refresh includo no chip. Desabilita chip. Conta por linhas. L e escreve de volta. Leva tempo. Atrasa o desempenho aparente.
http://sites.google.com/site/moraiscg
33
Escrita:
Voltagem na linha de bit.
Leitura:
Linha de endereo selecionada.
Transistor liga.
http://sites.google.com/site/moraiscg
34
http://sites.google.com/site/moraiscg
35
Caractersticas
35
CAS Latency (tempo de acesso - CL) Tempo demorado (em clock) entre um
tRCD: RAS to CAS Delay. Tempo demorado entre a ativao da linha (RAS) e a coluna (CAS) onde o dado est armazenado na matriz.
tRP: RAS Precharge. Tempo demorado entre desativar o acesso a uma linha de
tRAS: Active to Precharge Delay. O quanto a memria tem que esperar at que o
CMD: Command Rate. Tempo demorado entre o chip de memria ter sido ativado e
o primeiro comando poder ser enviado para a memria. Algumas vezes este valor no informado. Normalmente possui o valor T1 (1 clock) ou T2 (2 clocks).
http://sites.google.com/site/moraiscg
36
http://sites.google.com/site/moraiscg
37
http://sites.google.com/site/moraiscg
38
Clula dinmica:
Mais simples de construir, menor. Mais densa. Mais barata. Precisa de refresh. Maiores unidades de memria.
Esttica:
Mais rpida. Cache.
http://sites.google.com/site/moraiscg
39
http://sites.google.com/site/moraiscg
40
Tipos de ROM
Gravada durante a fabricao:
Muito cara para pequenas quantidades.
Memria flash:
http://sites.google.com/site/moraiscg
41
http://sites.google.com/site/moraiscg
42
Leitura Escrita
Memria
N palavras
Endereo
Dados
Dados
. . .
N-1
http://sites.google.com/site/moraiscg
43
http://sites.google.com/site/moraiscg
44
(E/S)
http://sites.google.com/site/moraiscg
45
http://sites.google.com/site/moraiscg
46
MSB
Memria 32x4
R/W CS (ou ME)
http://sites.google.com/site/moraiscg
47
Empacotamento (1)
Taxa de transferencia em MB;s CL- tRCD - tRP - tRAS - CMD Clock mximo
Capacidade
Memria da Corsair
http://sites.google.com/site/moraiscg
48
Empacotamento (2)
http://sites.google.com/site/moraiscg
49
http://sites.google.com/site/moraiscg
50
Correo de erro
Falhas graves
Defeito permanente
partculas alfas
Lgica de deteo e correo de erro. (cdigo Hamming)
http://sites.google.com/site/moraiscg
51
2K - 1 M + K (k palavra de sndrome)
http://sites.google.com/site/moraiscg
52
http://sites.google.com/site/moraiscg
53
http://sites.google.com/site/moraiscg
54
Exemplo
Posio do bit 12 Nr. da posio Bit de dados Bit de verificao
1100
11
1011
10
1010
9
1001
8
1000
7
0111
6
0110
5
0101
4
0100
3
0011
2
0010
1
0001
D8
D7
D6
D5 C8
D4
D3
D2 C4
D1 C2 C1
C1 = C2 = C4 = C8 =
D1 + D1 +
D2
+
D3 +
D4 + D4 + D4 +
D5
D7 D6 + D7 D8
D2
D3 +
D5 +
D6 + D7 + D8
http://sites.google.com/site/moraiscg
55
Cache
CPU
Registradores Cache
Interna
Memria principal Cache
O cache localiza-se logicamente entre a CPU e a memria principal. Fisicamente h vrios locais onde ela pode ser colocada
Pequena quantidade de memria rpida. Fica entre a memria principal normal e a CPU. Pode estar localizada no chip da CPU ou mdulo.
Externa
Dispositivo de massa
http://sites.google.com/site/moraiscg
56
http://sites.google.com/site/moraiscg
57
a cache.
Depois, entrega da cache CPU. Cache inclui tags para identificar qual bloco da
http://sites.google.com/site/moraiscg
58
Lgica de funcionamento
http://sites.google.com/site/moraiscg
59
http://sites.google.com/site/moraiscg
60
Memria Cache
Idia bsica: manter no Cache as palavras mais usadas pelo processador. Se a maior parte dos acessos for satisfeita pelo Cache, o tempo mdio de acesso ser prximo do tempo de acesso ao Cache, que pequeno.
http://sites.google.com/site/moraiscg
61
Matriz de dados
Acerto ?
Dados
http://sites.google.com/site/moraiscg
62
Memria Cache
Falha de acesso Cache: Quando uma palavra procurada no estiver no Cache, a linha correspondente trazida da memria principal. Cache unificada: instrues e dados usam a mesma Cache. Mais simples de projetar. Caches divididas (arquitetura Harvard): utiliza uma Cache para instrues e uma Cache para dados. Permite paralelizar a busca dedados e instrues em processadores pipeline. Como as instrues no so modificadas, o Cache de instrues no precisa ser atualizado na memria principal. Estrutura da Cache em nveis: Cache Primria (dentro do chip), Cache Secundria (fora do chip, mas no mesmo invlucro), Cache Terciria (totalmente dissociada da CPU).
http://sites.google.com/site/moraiscg
63
Cache de instrues
Cache de dados
Memria principal
http://sites.google.com/site/moraiscg
64
http://sites.google.com/site/moraiscg
65
Memria Cache
Taxa de acertos (h)
h = (k-1)/k
onde k nmero de referncias a uma determinada palavra.
http://sites.google.com/site/moraiscg
66
Projeto de cache
Endereando. Tamanho. Funo de mapeamento. Algoritmo de substituio. Poltica de escrita. Tamanho de bloco. Nmero de caches.
http://sites.google.com/site/moraiscg
67
http://sites.google.com/site/moraiscg
68
Endereamento de cache
Onde fica a cache?
Entre processador e unidade de gerenciamento de memria virtual. Entre MMU e memria principal.
MMU.
Endereos virtuais usam o mesmo espao de endereos para
diferentes aplicaes.
principal.
http://sites.google.com/site/moraiscg
69
Algoritmo de substituio
FIFO, aleatrio, menos usado,...
http://sites.google.com/site/moraiscg
70
Tamanho
Custo
Quanto mais cache mais caro
Velocidade
Mais cache mais rpido at certo ponto
http://sites.google.com/site/moraiscg
71
Mapeamento direto
http://sites.google.com/site/moraiscg
72
Mapeamento direto
linha de cache.
Ou seja, se um bloco est na cache, ele deve estar em um
local especfico.
http://sites.google.com/site/moraiscg
73
Mapeamento Direto
http://sites.google.com/site/moraiscg
74
Mapeamento Direto
http://sites.google.com/site/moraiscg
75
Mapeamento Direto
http://sites.google.com/site/moraiscg
76
Mapeamento Direto
http://sites.google.com/site/moraiscg
77
Mapeamento Direto
http://sites.google.com/site/moraiscg
78
Mapeamento Direto
Exemplo de uma cache com 1024 (210) linhas com palavra de 32 bits
http://sites.google.com/site/moraiscg
79
http://sites.google.com/site/moraiscg
80
http://sites.google.com/site/moraiscg
81
Como fica o contedo da cache depois desta sequencia de acessos memria? Assumir cache inicialmente vazia. 0000, 0010, 0110, 0000, 1000, 0000
http://sites.google.com/site/moraiscg
82
Exemplos: Cont.
http://sites.google.com/site/moraiscg
83
Exemplos: Cont.
http://sites.google.com/site/moraiscg
84
Exemplos: Cont.
http://sites.google.com/site/moraiscg
85
Exemplos: Cont.
http://sites.google.com/site/moraiscg
86
Exemplos: Cont.
http://sites.google.com/site/moraiscg
87
Exemplos: Cont.
http://sites.google.com/site/moraiscg
88
http://sites.google.com/site/moraiscg
89
Exemplos: Resposta
http://sites.google.com/site/moraiscg
90
http://sites.google.com/site/moraiscg
91
CACHE
http://sites.google.com/site/moraiscg
92
CACHE
0 0 0 0
http://sites.google.com/site/moraiscg
93
CACHE
0 0 0 0
http://sites.google.com/site/moraiscg
94
CACHE
0 0 0 0
http://sites.google.com/site/moraiscg
95
CACHE
0 0 0 0
http://sites.google.com/site/moraiscg
96
CACHE
http://sites.google.com/site/moraiscg
97
CACHE
http://sites.google.com/site/moraiscg
98
CACHE
http://sites.google.com/site/moraiscg
99
CACHE
http://sites.google.com/site/moraiscg
100
CACHE
http://sites.google.com/site/moraiscg
101
Exerccio: Resposta
MAMRIA PRINCIPAL
CACHE
http://sites.google.com/site/moraiscg
102
Dever de Casa
http://sites.google.com/site/moraiscg
103
Concluses e Questes
http://sites.google.com/site/moraiscg
104
http://sites.google.com/site/moraiscg
105
http://sites.google.com/site/moraiscg
106
Rtulo
Dados
Nr. da linha
8bits
14bits
2bits
http://sites.google.com/site/moraiscg
107
32 bit de endereo 6 bit para identificar a palavra (blocos de 64 bytes) 26 bit para bloco identificando
16 bit rtulo (=26-10) 10 bit para linha (slot)
http://sites.google.com/site/moraiscg
108
Na aula Anterior
http://sites.google.com/site/moraiscg
109
Mapeamento associativo
http://sites.google.com/site/moraiscg
110
Mapeamento Associativo
http://sites.google.com/site/moraiscg
111
Tag
Cache
0000, 0010, 0110, 0000, 1000, 0000,0101 Endereo 4 bits (16 posies) Tag; 4 bits
http://sites.google.com/site/moraiscg
112
Tag 0000
Cache AAAA
Preenche linha 00 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Miss
http://sites.google.com/site/moraiscg
113
Preenche linha 01 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Miss
http://sites.google.com/site/moraiscg
114
Preenche linha 10 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Miss
http://sites.google.com/site/moraiscg
115
Preenche linha 10 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Hit
http://sites.google.com/site/moraiscg
116
Preenche linha 11 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Miss
http://sites.google.com/site/moraiscg
117
Preenche linha 11 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Hit
http://sites.google.com/site/moraiscg
118
Linha 01 da cache substituida 0000, 0010, 0110, 0000, 1000, 0000, 0101 Miss Total 5 Misses e 2 Hits
http://sites.google.com/site/moraiscg
119
Substituio na Cache
http://sites.google.com/site/moraiscg
120
Tag
Cache
http://sites.google.com/site/moraiscg
121
Tag
Cache
http://sites.google.com/site/moraiscg
122
http://sites.google.com/site/moraiscg
123
Tag de 22 bits armazenado a cada bloco de 32 bits de dados. Compara campo de tag com entrada de tag na cache para procurar
acerto. 2 bits menos significativos do endereo identificam qual word de 16 bits exigida do bloco de dados de 32 bits. Ex.: Endereo Tag Dados Linha de cache FFFFFC 3FFFFF 24682468 3FFF
http://sites.google.com/site/moraiscg
124
http://sites.google.com/site/moraiscg
125
bytes.
Nmero de blocos na memria principal= 2s+w/2w = 2s. Nmero de linhas na cache= indeterminado. Tamanho da tag= s bits.
http://sites.google.com/site/moraiscg
126
Exerccio
http://sites.google.com/site/moraiscg
127
Exerccio
Das afirmaes a seguir, sobre memoria cache, so verdadeiras?
http://sites.google.com/site/moraiscg
128
Concluses
http://sites.google.com/site/moraiscg
129
conjunto.
Ex.,Bloco B pode estar em qualquer linha do conjunto i.
um conjunto.
http://sites.google.com/site/moraiscg
130
http://sites.google.com/site/moraiscg
131
http://sites.google.com/site/moraiscg
132
http://sites.google.com/site/moraiscg
133
http://sites.google.com/site/moraiscg
134
Poltica de escrita
No deve sobrescrever bloco de cache a menos
diretamente.
http://sites.google.com/site/moraiscg
135
Write-through
Todas as escritas vo para a memria principal e
http://sites.google.com/site/moraiscg
136
Write-back
Atualizaes feitas inicialmente apenas na
cache. Bit de atualizao para slot de cache definido quando ocorre a atualizao. Se o bloco deve ser substitudo, escreve na memria principal apenas se o bit atualizado estiver marcado. Outras caches saem de sincronismo. E/S deve acessar a memria principal atravs da cache. 15% das referncias de memria so escritas.
http://sites.google.com/site/moraiscg
137
Obs.:
Blocos maiores:
Reduzem nmero de blocos que cabem na cache. Dados sobrescritos pouco depois de serem buscados. Cada palavra adicional menos local, de modo que
menos provvel de ser necessria. Nenhum valor ideal definitivo foi descoberto. 8 a 64 bytes parece ser razovel. Para sistemas HP, 64 e 128 bytes mais comum.
http://sites.google.com/site/moraiscg
138
http://sites.google.com/site/moraiscg
139
Aleatrio.
http://sites.google.com/site/moraiscg
140
Algoritmo de substituio
http://sites.google.com/site/moraiscg
141
para instrues.
Vantagens da cache unificada:
Maior taxa de acerto.
Equilibra carga entre buscas de instruo e dados. Apenas uma cache para projetar e implementar.
http://sites.google.com/site/moraiscg
142
Format ST506
Gap1
Id
Gap2
Data Gap3
Gap1
Id
Gap2
Data Gap3
Sync Byte
Track
Head
Sector
CRC
Sync Byte
Data
CRC
http://sites.google.com/site/moraiscg
143
Disco SCSI
http://sites.google.com/site/moraiscg
144
00
FF x 10
00
Data
Layered ECC
12 byte Sync
4 byte Id
2.048 byte
288 byte
2.352 byte
Mode 0=blank data field Mode 1=2.048 byte data+error correction Mode 2=2.336 byte data