Documente Academic
Documente Profesional
Documente Cultură
slide 1
Localizao Interna:
na CPU: registradores memria principal: cache e outras.
Capacidade
Tamanho de palavra (memria interna): A unidade de organizao natural. Expresso em bits Nmero de palavras (memria externa): Expresso em Bytes.
Unidade de transferncia
Interna: Normalmente controlada pela largura do barramento. Externa: Normalmente um bloco que muito maior que uma palavra. Unidade enderevel: Menor local que pode ser endereado exclusivamente, tambm chamada de clula. N unidades endereveis = 2A , onde A o tamanho de bits de um endereo.
Mtodos de acesso
Sequencial: Comea no incio e l em ordem. Tempo T d de acesso depende d d da d localizao l li dos d dados e local anterior. Por exemplo, fita. Direto: Blocos individuais possuem endereo exclusivo. Acesso saltando para vizinhana, mais uma busca sequencial. i l Tempo de acesso depende da localizao e local anterior. Por exemplo, disco.
Mtodos de acesso
Aleatrio: Endereos individuais identificam localizaes com exatido. exatido Tempo de acesso independente da localizao ou acesso anterior e constante. P.e., memria principal DRAM e algumas caches. Associativo: Dados so localizados por uma comparao com contedo de uma parte do armazenamento e no por um endereo. Tempo de acesso independente do local ou acesso anterior e constante. P.e., cache.
Desempenho
Tempo de acesso (latncia): Tempo e po entre e e a apresentao ap ese ao do endereo e de eo e obteno dos dados vlidos. Tempo de ciclo de memria:
Tempo que pode ser exigido para a memria se recuperar antes do prximo acesso.
Tempo de ciclo = t. de acesso + recuperao. Taxa de transferncia: Taxa em que os dados podem ser movidos. Para a DRAM 1/(tempo de ciclo)
Tipos fsicos
Semicondutor: RAM e Flash Magntico: Disco e fita. ptico: CD e DVD. Outros: Holograma. Novos discos HVD.
Caractersticas fsicas
Deteriorao. Volatilidade. Apagvel. Consumo de energia.
Organizao
Arranjo fsico dos bits em palavras. Arranjo bvio nem sempre usado. P.e., intercalada. P.e., 1MBytes organizados em 2x 512KBytes
A concluso
Quanto? Capacidade. Que velocidade? Tempo dinheiro. Com que custo?
Algumas relaes
Tempo de acesso mais rpido, maior custo p/ bit Maior capacidade, menor custo p/ bit Maior capacidade, tempo de acesso mais lento
Lista de hierarquia
Registradores (na CPU). Cache L1. Cache L2. Cache L3 Memria principal. Cache de disco. Disco Disco. ptica. Fita.
Obs.: a chave o item d) diminuio da frequncia de acesso. Explicao em Memria cache neste captulo e em memria virtual no captulo 8.
10
11
12
Endereamento de cache
Onde fica a cache? Entre processador e MMU (unidade de gerenciamento de memria virtual). Explicada no captulo 8. Entre MMU e memria principal. l Cache lgica (cache virtual) armazena dados usando endereo virtual. Processador acessa a cache diretamente, sem passar pela MMU. Vantagem: Acesso cache lgica mais rpido, pois a cache responde antes da traduo de endereo da MMU. Endereos E d virtuais i t i usam o mesmo espao de d endereos d para diferentes aplicaes. Deve esvaziar cache a cada troca de contexto. Cache fsica armazena dados usando endereos fsicos da memria principal.
13
Importa: Custo Mais cache caro. Velocidade: Mais Mais cache mais rpido (at certo ponto). Verificar dados na cache leva tempo.
14
Cache de 64 KB. Bloco de cache de 4 bytes. Ou seja, cache de 16k (214) linhas de 4 bytes. 16 MB de memria principal. Endereo direto de 24 bits. (2 (224=16MBytes) 6 ) Memria principal tem 4M blocos de 4 bytes
15
Mapeamento direto
Cada bloco de memria principal mapeado apenas para uma linha de cache possvel. Ou seja, se um bloco est na cache, ele deve estar em um local especfico. w bits menos significativos identificam word exclusiva. s bits mais significativos especificam um bloco de memria. Lgica L i d de cache h interpreta i t t os s bits bit em 2 partes: t um campo de linha de cache r e um campo de tag de s-r (parte mais significativa).
Palavra w 2
16
Mapeamento direto da cache para memria principal Cada bloco de memria principal mapeado apenas para uma linha de cache p possvel.
m-1, 2m-1,3m-12s-1
17
Lgica de cache
18
Tamanho de endereo= endereo (s + w) bits. Nmero de unidades endereveis= 2s+w palavras ou bytes. Tamanho de bloco= tamanho de linha= 2w words ou bytes. Nmero de blocos na memria principal= 2s. Nmero de linhas na cache = m = 2r. Tamanho da tag= (s r) bits.
19
Mapeamento associativo
U Um bloco bl de d memria i principal i i l pode d ser carregado d em qualquer linha de cache. Endereo de memria interpretado como tag e palavra. Tag identifica exclusivamente o bloco de memria. Tag de cada linha examinada em busca de combinao. combinao Pesquisa da cache dispendiosa.
20
Lgica de cache
21
000000000000000000000000 000000000000000000000100
111111111111111111110100 111111111111111111111000
Tag de 22 bits armazenado a cada bloco de 32 bits de dados. Compara campo de tag do endereo 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. P.e. (no slide anterior): Endereo Tag Dados Linha de cache FFFFFC 3FFFFF 24682468 3FFF
22
23
Nmero de conjunto com 13 bits Nmero de bloco na memria principal mdulo 213 000000, 008000, , FF8000 mapeados no mesmo conjunto
24
25
Usa campo de conjunto para determinar conjunto de cache a examinar. Compara campo de tag para ver se h um acerto. P.e. ( (ver p prximo slide), ), Endereo Tag Dados Conjunto FFFFF8 1FF 11223344 1FFE 167FFC 02C 12345678 1FFF
000101100111111111111100 000101100111111111111100
26
27
O que fazer em caso de cache cheia ? Algoritmos de substituio (de blocos ) Mapeamento direto
Sem escolha. Cada bloco mapeado apenas a uma linha. Essa linha ser substituda.
28
Poltica de escrita
No se deve sobrescrever bloco de cache a menos que a memria principal esteja atualizada. Mltiplas CPUs podem ter caches individuais. E/S pode enderear memria principal diretamente.
29
Write-through
Todas as escritas vo para a memria principal e tambm para a cache. Mltiplas CPUs podem monitorar o trfego da memria principal para manter a cache local ( CPU) atualizada. Isso gera muito trfego e atrasa as escritas. Pode haver caches write-through falsos!
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. Para sistemas de alto desempenho (HPC) pode chegar a at 50%.
30
Tamanho de linha
Recuperar no apenas a palavra desejada, mas tambm uma srie de palavras adjacentes. adjacentes Tamanho de bloco aumentado aumentar razo de acerto a princpio. O princpio da localidade. Razo de acerto diminuir medida que o bloco se tornar ainda maior. Probabilidade de uso de informaes recmbuscadas torna-se menor que probabilidade de reutilizar informaes substitudas.
Blocos maiores: Reduzem nmero de blocos que cabem na cache. 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 HPC, 64 e 128 bytes mais comum.
31
Caches multinvel
Alta densidade lgica permite caches no chip. Mais rpido que acesso ao barramento. Libera barramento para outras transferncias. Comum usar cache dentro e fora do chip. L1 no chip, L2 fora do chip na RAM esttica. Acesso L2 muito mais rpido que DRAM ou ROM. L2 normalmente usa caminho de dados separado. L2 p pode agora g estar no chip. p Resultando em cache L3. Acesso ao barramento agora no chip.
32
Pentium 4 cache
80386 nenhuma cache no chip. 80486 8 KB usando linhas de 16 bytes organizao associativa em conjunto com 4 linhas. Pentium (todas as verses) duas caches L1 no chip. Dados e instrues: Pentium III cache L3 adicionada fora do chip. Pentium 4: Caches Caches L1. 8 KB. Linhas 64 bytes. Associativa em conjunto com 4 linhas.
33
Cache L2: Alimentando ambas as caches L1. L1 256k. Linhas de 128 bytes. Associativa em conjunto com 8 linhas. Cache L3 cache no chip.
34
35
Decodifica instrues para RISC como microoperaes antes da L1. Micro-operaes de tamanho fixo. Pipelining e escalonamento superescalar. Instrues Pentium longas e complexas. Desempenho p melhorado separando p decodificao do escalonamento e pipelining. (Mais adiante Captulo 14)
Cache de dados write-back. Pode ser configurada para write-through. Cache L1 controlada por 2 bits no registrador. CD= Cache Disable. NW= Not write-through. 2 instrues para invalidar (esvaziar) cache e write-back depois invalidao. j com 8 linhas. L2 e L3 associativas em conjunto Tamanho de linha 128 bytes.
36
37
Fontes na Internet
Sites de fabricantes: Intel. ARM. Procure sobre cache.
38