Buscar

ORGANIZAÇÃO DAS MEMÓRIAS e M Cache.pdf 860999610

Prévia do material em texto

ORGANIZAÇÃO DAS MEMÓRIAS 
 
 O objetivo de toda memória ou subsistema 
de memória e armazenar informação, que 
em algum momento, seja utilizada pelo 
processador. 
 
 Antes de uma posição de memória ser 
utilizada, o processador necessita buscá-la 
(memória cache ou principal) e armazená-
la nos seus próprio interior. Para isso 
existem os registradores. 
 Princípio da Máquina de Von Neumann. 
ORGANIZAÇÃO DAS MEMÓRIAS 
 
 
 
O problema não é tecnológico 
 
 O problema e econômico. 
 
 
PEQUENA quantidade de memória RÁPIDA 
 
 
 
GRANDE quantidade de memória LENTA 
 
 
MELHORANDO A PERFORMANCE 
 
 
 
Outro Problema : Diferença de velocidade 
entre o Ciclo de tempo da CPU e o ciclo de 
tempo da Memória Principal 
 
Objetivo : Melhorar a performance dos Sistema 
de memória de modo a suprir o processador 
com INSTRUÇÕES E DADOS na velocidade à 
qual ele consegue processar. 
 
Solução -> MEMÓRIA CACHE 
MEMÓRIA CACHE 
CPU 
CACHE 
MEMÓRIA 
PRINCIPAL 
barramento 
Princípio da LOCALIDADE : 
 
Localidade Temporal : Ao acessar 
uma palavra, a uma grande probabilidade de 
acessar a mesma palavra . 
 
Localidade Espacial : Ao acessar 
uma palavra, a uma grande probabilidade de 
acessar uma palavra subsequënte ou 
adjacente . 
 
 
 
 ORGANIZAÇÃO DAS MEMÓRIAS 
 
 
MEMÓRIA SECUNDÁRIA 
 HD -Magnéticos 
 Óticos - CD e DVD 
BAIXO CUSTO 
VELOCIDADE BAIXA 
CAPACIDADE ELEVADA 
REGISTRADORES 
CACHE 
MEMÓRIA PRINCIPAL 
CUSTO ALTO 
VELOCIDADE ALTA 
BAIXA CAPACIDADE 
REGISTRADORES 
 
MEMÓRIA CACHE 
 
 
Funcionamento da Memória Cache 
 
1 - SEMPRE que a UCP vai buscar uma nova INSTRUÇÂO ou 
DADO na memória principal MP, inicia uma busca na memória 
CACHE. 
 
2 - Se a instrução ou dado estiver na Cache , ela é transferida 
em ALTA VELOCIDADE para a UCP . São então chamados de HIT 
ou acertos . 
 
3 - Se a instrução ou dado NÃO ESTIVER na Cache , chama-se de 
falha ou MISS, então o sistema está programado para 
interromper a execução do programa e esperar que a MP 
transfira instrução/dado para a cache . Porém, usando o 
princípio da localidade um bloco de dados subseqüente é 
transferido para a memória Cache . 
 
Níveis de Memória Cache 
 
 
 
LI - Level 1 ou L1 sempre localiza no interior do processador. 
L2 - Level 2 ou L2 sempre localizada o mais próximo da CPU. 
L3 - Level 3 ou L3 localizada externamente ao processador. 
 
 
Exemplos de alguns processadores e suas 
memórias cache L1 
 Processador Fabricante Cache L1 Cache L2 Cache L3 FSB 
486 Intel 8 KB 66MHz 
Pentium P5 Intel 16 KB 66MHz 
Pentium Pro P6 Intel 32 KB 256K 66MHz 
Pentium II Intel 32 KB 512K 66MHz 
Pentium III Intel 32 KB 512K 100-133MHz 
Pentium IV Intel 32 KB 512K/2M 400/800MHz 
Pentium D Intel 64 KB 2M/4M 533/1066MHz 
Pentium (2010) Intel 64 KB 2M/4M 3M/5M 533/1066MHz 
C6 Cyrix 64 KB 
K5 AMD 24 KB 
K6 AMD 64 KB 
K7 AMD 64K D +64KB I 512K 100/133MHz 
Barton /horton AMD 64K D +64KB I 512K 133/200Mz 
Opteron 4-core AMD ? 2 +28M 8+8 M HT PC3-15000 
FSB - Front side bus 
Sistema de Memória 
 Memória cache (Organização e funcionamento) 
Transferência cache/MP: 
Bloco por blocos de palavras 
Transferência cache/processador: 
Palavra por palavra 
Processador 
 
 
 
 
 
 
 
 
 
Memória 
Principal 
 
 
 
 
 
 
 
 
 
Memória 
Cache 
 
BD – Barramento de dados 
BE – Barramento de endereço 
BC BC 
• A conexão entre os dispositivos é 
comum ao processador a as duas 
memorias. 
 
• Redundancia 
 
• Facilitando a comunicação entre os 
três componentes. 
BC 
BD - BE 
Ec = -------------------- * 100 
Acertos (Hit) 
Total acessos 
Eficiência da cache 
Sistema de Memória 
 Memória cache (Organização e funcionamento) 
Byte 
3 
Byte 
2 
Byte 
1 
Byte 
0 
. . . . Byte 
1 
Byte 
0 
 
 
 
 
 
 
: 
: 
: 
: 
: 
Byte 
1 
Linha 0 
Linha 1 
Linha L-1 
B – Blocos 
 
 
 
Byte 0 
Byte 1 
Byte 2 
Byte 3 
Byte 4 
Byte 5 
Byte 6 
Byte 7 
Byte 8 
Byte N-1 
Tag Dados 
Bloco 0 
Bloco 1 
Bloco B-1 
Memória principal 
N – número de palavras ou células 
X – número de células de uma linha 
 B = ----------- * 100 
N 
X 
 
Modelo de mapeamento da Memória 
Cache 
 
 
 
Todas as CACHE usam o seguinte modelo : 
 
 A MP é dividida em blocos de tamanho FIXO 
conhecido como LINHAS de CACHE . Uma linha de cachê 
pode contém em geral de 4 a 64 bytes consecultivos. 
 
Modelos de mapeamento: 
 
 Mapeamento Direto 
 Mapeamento Associativo 
 Mapeamento Associativo por conjunto 
 
Mapeamento Direto 
 
 
 
 
Exemplo de memória: 
 Memória Principal 16Mbytes 
 End. Principal: log216M = 24bits 
 
 Memória Cache 16K palavras 
 End. Cache: log216K = 14bits 
 
 Bits de Palavra de 4 bytes: 2 bits 
 Rótulo = End. Princ. – (End. Cache + Bits Pal.) 
 
 Rótulo = 24 – (14 + 2) = 8bits 
 
Mapeamento Direto 
 
 
 
 
Obtenção do endereço mapeado: 
 
 Como a palavra é de 4bytes, retiramos o rótulo e dividimos por 4 
 
 0000 / 4 = 0000 Hexa 
 0004 / 4 = 0001 Hexa 
 339C / 4 = 0CE7 Hexa 
 FFFC / 4 = 3FFF Hexa 
 FFF8 / 4 = 3FFE Hexa 
 
 
Mapeamento Direto 
 
 
 
 
Mapeamento Associativo 
Exemplo de memória: 
• Memória Principal: 16Mbytes 
End. Principal: log216M = 24bits 
• Bits de Palavra de 4 bytes: 2 bits 
• Rótulo = End. Princ. – Bits Pal. 
 Rótulo = 24 – 2 = 22bits 
 
Mapeamento Associativo 
 
 
 
 
Obtenção do endereço mapeado: 
 
 Como a palavra é de 4bytes, dividimos o endereço por 4 
 
 000000 / 4 = 000000 Hexa 
 16339C / 4 = 058CE7 Hexa 
 FFFFF4 / 4 = 3FFFFD Hexa 
 FFFFF8 / 4 = 3FFFFE Hexa 
 FFFFFC / 4 = 3FFFFF Hexa 
 
 
 
Mapeamento 
Associativo 
 
 
 
 
Mapeamento Associativo por 
conjunto 
Exemplo de memória: 
• Memória Principal 16Mbytes 
• End. Principal: log2 16M = 24bits 
• Memória Cache: 16K palavras 
• Número de Conjunto: 2 : 1 bit 
• End. Cache : log2 16K – nº bits conj. 
 End. Cache = 14 – 1 = 13bits 
• Bits de Palavra de 4 bytes: 2 bits 
• Rótulo = End. Princ. – (End. Cache + Bits Pal.) 
 Rótulo = 24 – (13 + 2) = 9bits 
 
Mapeamento Associativo por 
conjunto 
 
 
 
 
Obtenção do endereço mapeado: 
 
 Como a palavra é de 4bytes, retiramos o rótulo e dividimos o 
endereço por 4 
 
 0000 / 4 = 0000 Hexa 
 0004 / 4 = 0001 Hexa 
 339C / 4 = 0CE7 Hexa 
 7FFC / 4 = 1FFF Hexa 
 7FF8 / 4 = 1FFE Hexa 
 
 
 
 
Mapeamento 
Associativo por 
conjunto 
 
 
 
 
O modelo de memória da arquitetura VM 
 Pode ser visualizado de duas formas : 
 
 
 
 
 
 
 
 
 
 
O modelo de memória da arquitetura VM 
 A VM NÃO permite que o endereços seja visível diretamente no 
nível das instruções (ISA), fazendo com que o acesso seja 
efetivado por intermédio de PONTEIROS de PILHA. As instruções 
VM só podem ter acesso à memória indexado por intermédio de um 
ponteiro de pilha. 
 
 A arquitetura VM divide a memória nos seguintes espaços : 
 
Omodelo de memória da arquitetura VM 
 Exemplo de uma pilha de operando para a execução de cálculos 
( Notação Polonesa Reversa - RPN ) 
 
Fazer a operação : A = B + C 
Exemplos de Notação polonesa 
reversa 
 
A + B x C A B C x + 
A x B + C A B x C + 
A x B + C x D A B + C D - / 
A x B / C A B X C / 
( A + B ) x C + D ) / ( E + F + G ) A B + C x D + E F + G + /

Continue navegando