memÓria cache - instituto de matemática e estatística ...adao/memcache.pdf · 3 memÓria cache o...

28
1 MEMÓRIA CACHE

Upload: hoangtruc

Post on 02-Jan-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

1

MEMÓRIA CACHE

Page 2: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

2

Page 3: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

3

MEMÓRIA CACHE

O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação

e o uso de memórias cache.

Entender a diferença de velocidade UCP/MP.

Entender o conceito de localidade.

Page 4: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

4

MEMÓRIA CACHE

Entender a diferença de velocidade UCP/MP e o conceito de localidade.

– A MP transfere bits para UCP em uma velocidade inferior a que a mesma

pode suportar, o que acarreta a necessidade de se acrescentar um tempo

de espera para a UCP (wait state – estado de espera).

– O número de estados de espera inseridos depende da relação entre a

velocidade da UCP e da memória.

– Se os circuitos da UCP e da memória fossem fabricados com a mesma

tecnologia, o problema deixaria de existir e não haveria a necessidade de

memória cache.

– É difícil solucionar o problema da diferença de velocidade apenas com a

melhoria do desempenho da memória principal pois o desempenho dos

processadores dobra a cada 18 a 24 meses enquanto a velocidade das

memórias DRAM (RAM dinâmicas) utilizadas como MP aumenta cerca de

10% por ano.

– Apenas da tecnologia para aumentar a velocidade da MP ser bem

conhecida, penalizaria o sistema em custo pois as memórias SRAM,

memórias rápidas são muito caras.

Page 5: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

5

MEMÓRIA CACHE

conceito de localidade.

– Modo pelo qual os programas são em média escritos e executados pela

UCP.A execução de programas se realiza, em média, em pequenos grupos

de instruções.

Princípio da localidade temporal

– Se um programa acessa uma palavra da memória, há uma boa

probabilidade de que acesse novamente a mesma palavra da memória

novamente.

Princípio da localidade espacial

– Se um programa acessa uma palavra da memória, há uma boa

probabilidade de que o programa acesse aproximadamente uma palavra

subseqüente ou um endereço adjacente aquela palavra novamente.

Page 6: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

6

MEMÓRIA CACHE

APROVEITAMENTO DO PRINCÍPIO DA

LOCALIDADE

Deixar a parte repetitiva de uma parte de

um programa em uma memória bem mais

rápida deixando e o restante do programa

que não está sendo usando no momento

na memória mais lenta, porém mais barata

Page 7: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

7

MEMÓRIA CACHE

APROVEITANDO O PRINCÍPIO DA LOCALIDADE

Alocação de um elemento de memória intermediário entre a memória

principal(MP) e a UCP que deve possuir uma elevada velocidade de

transferência de dados

Page 8: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

8

MEMÓRIA CACHE

FUNCIONAMENTO DO SISTEMA

A taxa de acertos (hits) mais comum varia de 80% a 99%

Page 9: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

9

MEMÓRIA CACHE

FUNCIONAMENTO DO SISTEMA

A taxa de acertos (hits) mais comum varia de 80% a 99%

Page 10: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

10

MEMÓRIA CACHE

NÍVEIS DE CACHE DE MEMÓRIA RAM

Page 11: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

11

MEMÓRIA CACHE

NÍVEIS DE CACHE DE MEMÓRIA RAM

– O aumento crescente da velocidade da UCP e o compromisso de não

aumentar demasiadamente o custo das memórias caches (com aumento

demasiado de sua capacidade) levaram os projetistas a desenvolverem caches

com diferentes características de velocidade e capacidade (formando um

sistema hierárquico).

– São níveis de diferentes de memórias cache constituídos de memórias SRAM.

– A cache L1 , denominada cache primária, tem velocidade de acesso igual a do

processador. É constituída por elementos do processador.

– A cache L1 por ser dividida ou não (cache L1 de instrução e cache L1 de dados)

– A memória cache de nível mais baixo (L1) é a que possui maior velocidade (e

maior custo).

– A UCP sempre procura o dado/instrução na memória L1 e não encontrando

buscará na L2 (se houver); desta para a memória DRAM (memória principal)

e , finalmente, não encontrando na DRAM buscará o dado/instrução no

disco.

Page 12: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

12

MEMÓRIA CACHE

NÍVEIS DE CACHE DE MEMÓRIA RAM

Page 13: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

13

MEMÓRIA CACHE

ESTRUTURA PARA TRANSFERÊNCIA DE DADOS

Q

Page 14: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

14

MEMÓRIA CACHE

ESTRUTURA PARA TRANSFERÊNCIA DE DADOS

MP com N células (palavras)

MP dividida em B blocos com K células

MC com Q quadros (linhas) cada um do

tamanho de um bloco de memória (K

células)

Tag = número de identificação do bloco

armazenado.

Page 15: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

15

MEMÓRIA CACHE

MAPEAMENTO DIRETO

– Cada bloco da MP possui uma linha no cache previamente estabelecida.

Como o cache é menor que a MP, muitos blocos da MP serão direcionados

para uma mesma linha.

Page 16: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

16

MEMÓRIA CACHE MAPEAMENTO DIRETO (exemplo)

– N=4G células, cada uma com um endereço de 32 bits (232 = 4G= 22.230)

– Cachê possui um tamanho correspondente a 64 Kbytes (1024 linhas com 64

bytes cada uma). Note que 1K = 210=1024.

– B=N/K = 232/64= 226= 220 .26 =64M blocos

– A MP será dividida então em 64 M blocos de 64 bytes cada (4G=64x220x64= 232)

1024

EQ = endereço da linha (quadro) do cache (0 até1023)

E = Número do bloco na MP

Q = quantidade de linha do cache (1024)

EQ = E MÓDULO 1024

Page 17: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

17

MEMÓRIA CACHE MAPEAMENTO DIRETO

QUE BLOCOS DA MP SÃO ARMAZENADOS EM LINHA DO CACHE

EQ = endereço da linha (quadro) do cache (0 até1023)

E = Endereço do bloco da memória

Q = quantidade de linha do cache (1024)

EQ = E MÓDULO 1024

QUE BLOCOS DA MP SÃO ARMAZENADOS EM LINHA DO CACHE

Linha do cache 0 blocos da MP 0, 1024, 2048, ...

Linha do cache 1 blocos da MP 1, 1025, 2049, ...

Linha do cache 1023 blocos da MP 1023, 2047,...64M-1.

16 bits mais significativos

Indicam qual bloco é o desejado , dentre os 64 K blocos que podem ser alocados naquela linha

10 bits do meio

Indica o endereço da linha do cache, porque 210 = 1024, e há 1024 linhas no cache.

6 bits menos significativos

Indicam o byte de dados (palavra) desejada pela UCP. No bloco B e na linha Q há 64 palavra (células da

MP). Como 26=64, cada endereço possui 6 bits

Page 18: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

18

MEMÓRIA CACHE

Endereço de leitura enviado pela UCP

Número do bloco no quadro | Número do Quadro | Endereço da palavra no bloco

16 bits mais significativos (0000000000000100 bloco 4)

Indicam qual bloco linha é o desejado (226/210) dentre os 64 K blocos que podem ser alocados naquela

10 bits do meio (0000011001 linha 25)

Indica o endereço da linha do cache, porque 210 = 1024, e há 1024 linhas no cache.

6 bits menos significativos (palavra ou célula 8 do bloco dentre os 64 possíveis )

Indicam o byte de dados (palavra) desejada pela UCP. No bloco B e na linha Q há 64 palavra (células da MP).

Como 26=64, cada endereço possui 6 bits

Page 19: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

19

MEMÓRIA CACHE

TECNOLOGIA DE FABRICAÇÃO

– A memórias RAM evoluíram em diferentes tipos:

• Memória de leitura e escrita ou R/W

• Memórias de somente leitura ou ROM

– As memórias R/W podem ser fabricadas através do uso de diferentes elementos,

redundando em dois grandes tipos:

• A SRAM (RAM estática):

– usadas na fabricação de memórias cache L1 ou L2

• A DRAM (RAM dinâmica)

– Usadas na constituição das memórias principais (MP), sendo conhecidas

como RAM ou MP

Page 20: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

20

MEMÓRIA CACHE

TECNOLOGIA DE FABRICAÇÃO

– A memórias SRAM são constituídas exclusivamente de circuitos transistorizados

conhecidos como FLIP-FLOP, um circuito que mantém o valor “setado=1” até que

receba um valor de “reset” ou perca a energia (quando a alimentação é

desligada).

TRANSISTOR

Page 21: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

21

MEMÓRIA CACHE

TECNOLOGIA DE FABRICAÇÃO

– A memórias DRAM (RAM dinâmicas) não armazena o valor do bit 1 pelo mesmo

processo da SRAM. A carga armazenada em um capacitor (que permanece por

alguns milissegundos) faz a célula guardar o valor 1. A ausência de carga no

capacitor representa o valor 0.

– Um capacitor trabalha de maneira semelhante a uma bateria, que recebendo energia

a mantém durante um certo tempo.Com o tempo vai perdendo a carga e necessita

uma recarga periódica (refresh) e isto é que torna as memórias DRAM mais lentas

(como maior tempo de acesso).

CAPACITOR

Page 22: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

22

MEMÓRIA CACHE

TECNOLOGIA DE FABRICAÇÃO

– COMPARAÇÃO ENTRE SRAM e DRAM

Page 23: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

23

MEMÓRIA CACHE

EVOLUÇÃO DA TECNOLOGIA DE FABRICAÇÃO DE DRAM

– Como a velocidade dos processadores tem aumentado, nem o aumento das

memórias cache (que ainda não pode ser demasiado devido ao custo) serve para

compensar esta velocidade. Em razão disso tem-se desenvolvido outras versões de

DRAM.

– Apesar da melhoria da velocidade e novas tecnologias de DRAM a DRAM é

essencialmente a mesma.

Page 24: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

24

MEMÓRIA CACHE

EVOLUÇÃO DA TECNOLOGIA DE FABRICAÇÃO DE DRAM

Memória Assíncrona

Seu funcionamento não é cadenciado pelo relógio.

DRAM original, FPM, EDO e BEDO

Memória Síncrona

Memória cadenciada pelo relógio permite maiores velocidades de acesso.

SDRAM e RDRAM

Page 25: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

25

MEMÓRIA CACHE

ELEMENTOS DA MEMÓRIA NO SISTEMA DE COMPUTAÇÃO

– Os termos DIMM e SIMM, etc estão relacionados ao modo pela qual

as pastilhas são instaladas na placa de circuito impresso do

computador.

– Os modelos de módulos de memória denominam-se SIMM (SINGLE

IN LINE MEMORY MODULE) que podem ser do tipo SIMM-30,

SIMM-72, DIMM (DOUBLE IN LINE MEMORY MODULE) e RIMM

(RAMBUS IN LINE MEMORY MODULE)

Page 26: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

26

MEMÓRIA CACHE

ELEMENTOS DA MEMÓRIA NO SISTEMA DE COMPUTAÇÃO

Page 27: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

27

MEMÓRIA CACHE

ELEMENTOS DA MEMÓRIA NO SISTEMA DE COMPUTAÇÃO

– Os modelos de módulos de memória denominam-se SIMM (SINGLE

IN LINE MEMORY MODULE) que podem ser do tipo SIMM-30,

SIMM-72, DIMM (DOUBLE IN LINE MEMORY MODULE) e RIMM

(RAMBUS IN LINE MEMORY MODULE)

Page 28: MEMÓRIA CACHE - Instituto de Matemática e Estatística ...adao/MEMCACHE.pdf · 3 MEMÓRIA CACHE O objetivo é detalhar os conceitos e técnicas que norteiam a fabricação e o uso

28

MEMÓRIA CACHE

ELEMENTOS DA MEMÓRIA NO SISTEMA DE COMPUTAÇÃO

– Os modelos de módulos de memória denominam-se SIMM (SINGLE

IN LINE MEMORY MODULE) que podem ser do tipo SIMM-30,

SIMM-72, DIMM (DOUBLE IN LINE MEMORY MODULE) e RIMM

(RAMBUS IN LINE MEMORY MODULE)

SIMM-30

30 terminais (endereços, dados e controle). Permite passagem de 8 bits em cada ciclo de barramento.

SIMM-72

72 terminais (endereços, dados e controle). Permite passagem de 32 bits em cada ciclo de barramento

DIMM-72

168 terminais (endereços, dados e controle). Permite passagem de 64 bits de cada vez, sendo atualmente

empregado com memórias SDRAM.

RIMM

Propriedade da empresa Rambus Inc. É utilizado apenas para receber pastilhas de memória RDRAM.