You are on page 1of 144

http://sites.google.

com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

2013.1

PARTE 6

(Ref. Cap. 4 e 5 do livro do Stallings) (Ref. Cap. 2 e 3 do livro do Tanenbaum)

Prof. Misael Morais


moraiscg@uol.com.br

http://sites.google.com/site/moraiscg

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

MEMRIA

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Memria
Conceito:

Em sistema digital, um conjunto de clulas ou dispositivos capaz de armazenar informaes binria

Unidade bsica de armazenamento: Bit (Binary digIT)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Hierarquias de memria no Computador


Custo, acesso
Menor capacidade

Custo, acesso

Interna Externa
Maior capacidade

Hierarquia de memria de cinco nveis.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Classificao de Memria

Quanto sua localizao:


Memria Interna

Memria Externa

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Memria Interna
Categoria: Principal: de acesso mais rpido, mas de capacidade mais restrita. Armazena informaes temporariamente durante um processamento realizado pela UCP.

Secundria: de acesso mais lento, mas de capacidade

bem maior. Armazena grande conjunto de dados que a memria principal no suporta.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Memria Externa
Categoria:

Disco magntico ptica


CD-ROM CD-Writable (WORM) CD-R/W DVD

Fita magntica

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Caractersticas fundamentais das memrias

Localizao

Processador, Interna e Externa

Organizao

Palavras, Unidades endereveis, Unidade de transferncia (veja capacidade)

Palavra e unidades endereveis Capacidade

Tamanho da palavra e nmero de palavras

Transferncia

Palavra (interna largura do barramento) e Bloco (normalmente externa)

Mtodo de acesso

Seqencial, Direto, Aleatrio e Associativo

Desempenho (terminologia principais parmetros)

Tempo de acesso (latncia), tempo de ciclo, taxa de transferncia

Tecnologia

Semicondutor, magntica, tica, magntica-tica

Caractersticas fsicas

Voltil, no-voltil, apagvel, no-apagvel

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Organizao/Capacidade/Palavra
Tamanho da Palavra: quantidade de bits lidos ou escritos paralela ou simultaneamente.
Ex.: palavra de 8 bits, 16 bits, ....., 64 bits

Capacidade: numero total de bits ou de palavras que a memria pode armazenar


Nmero total de palavras X tamanho da palavra: 16K X 8 = 16K Bytes = 16 x 1024 x 8 bits = 16384 palavras de 8 bits = 31072 bits

Organizao: disposio ou arranjo com que a memria constituda.


EX.: 16K X8;

8K X 16 (mesma capacidade; organizaes diferentes)

Densidade: capacidade de armazenamento de bits no mesmo espao Endereo: Conjunto de bits que identificam a posio de memria onde est

armazenada uma palavra.


Escrita: operao de colocao de uma palavra (contedo) em uma posio (endereo)

especificado, substituindo a anterior.


Leitura: operao de recuperao da informao armazenada (contedo) de uma

determinada posio (endereo).

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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 .

. Memrias com Endereamento Implcito: a palavra a ser lida ou escrita implicitamente

especificada

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 11

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

de cada chip no chip 1, e assim por diante.


Um chip de 16 Mbits pode ser organizado como um array de 2048 x

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

Prof. Misael Morais (moraiscg@uol.com.br) 12

12

Organizao

Dois modos de organizar um chip de memria de 4 Mbits.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 13

13

Organizao (2)

CS

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 14

14

Organizao (3)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 15

15

Organizao (1)
o arranjo fsico dos bits para formar palavras

Trs maneiras de organizar uma memria de 96 bits

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 16

16

Organizao (2)

Nmero de bits por clula para alguns computadores comerciais historicamente interessantes

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 17

17

Ordenao na organizao
ordem que os dados sero interpretados Dado Dado

(a) Memria big endian

(b) Memria little endian

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

Prof. Misael Morais (moraiscg@uol.com.br) 18

18

Organizao em mdulos (1)


Arranjos de 256Kbytes
Endereos

Dados

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 19

19

Organizao em mdulos (2)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

21

Hierarquia de memria
Registradores:
Na CPU.

Memria interna ou principal:


Pode incluir um ou mais nveis de cache. RAM.

Memria externa:
Armazenamento de apoio.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

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

antes do prximo acesso.


Tempo de ciclo acesso + recuperao.

Taxa de transferncia: (R)


Taxa em que os dados podem ser movidos. (TN=TA+n/R)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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

Tempo de ciclo de memria


o tempo de acesso mais o tempo requerido antes que um segundo acesso possa ser iniciado

Taxa de transferncia (em bps)


a taxa na qual os dados podem ser transferidos de ou para a unidade de memria

Tempo de habilitao - tOE


o atraso entre habilitao e a disponibilidade do dado

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

25

Tipos Fsicos - Tecnologias


Semicondutor:
RAM; ROM
Esttica Dinmica

Magntico:
Disco e fita.

ptico:
CD e DVD.

Outros:
.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

26

Tipos de memria de semicondutor


Tipo RAM ROM No possvel PROM EPROM Flash EEPROM Apenas Leitura Luz UV Eltrico Eltrico Eltrico No-voltil Categoria Leitura e escrita Apagamento Eltrico Escrita Eltrico Mscara Volatilidade Voltil

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

27

Tipos de memria RAM (1)


Requerem energia para reter a informao armazenada
RAM Dinmica (DRAM) - Esta uma memria baseada na tecnologia de
capacitores e requer a atualizao peridica do contedo de cada clula do chip consumindo assim pequenas quantidades de energia, no entanto possui um acesso lento aos dados. Uma importante vantagem a grande capacidade de armazenamento oferecida por este tipo de tecnologia.

RAM Esttica (SRAM)- - uma memria baseada na tecnologia de transistores


e no requer atualizao dos dados. Consome mais energia (o que gera mais calor) comparando-se com a memria dinmica sendo significativamente mais rpida. frequentemente usada em computadores rpidos. Possui uma capacidade de armazenamento bem menor que a memria dinmica.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

28

Tipos de memria RAM (2)

Vantagens RAM Dinmica Barata Baixo Consumo Alta Densidade

Desvantagens Necessita de Atualizao Lenta

RAM Esttica

Mais cara Rpida Consome Mais Energia No necessita de atualizao Baixa Densidade

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

29

Tipos de memria de semicondutor

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 30

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

Prof. Misael Morais (moraiscg@uol.com.br)

31

Caractersticas fsicas
Deteriorao. Volatilidade. (externa no-voltil chamada memria
secundria ou auxiliar)

Apagvel. Consumo de energia.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 32

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

Prof. Misael Morais (moraiscg@uol.com.br) 33

33

Operao memria DRAM


Linha de endereo ativa quando bit lido ou escrito.
Chave de transistor fechada (corrente flui).

Escrita:
Voltagem na linha de bit.

Alta para 1 baixa para 0.

Depois sinaliza linha de endereo.

Transfere carga ao capacitor.

Leitura:
Linha de endereo selecionada.

Transistor liga.

Carga do capacitor alimentada por linha de bit para amplificador comparar.

Compara com valor de referncia para determinar 0 ou 1.

Carga do capacitor deve ser restaurada.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

34

DRAM 16Mb (4M x 4)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

35

Caractersticas

35

CAS Latency (tempo de acesso - CL) Tempo demorado (em clock) entre um

comando ter sido enviado para a memria e ela comear a responder.

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

dados e iniciar o acesso a outra linha de dados.

tRAS: Active to Precharge Delay. O quanto a memria tem que esperar at que o

prximo acesso memria possa ser iniciado.

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

Prof. Misael Morais (moraiscg@uol.com.br) 36

36

Temporizao de leitura de DRAM

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 37

37

Operao memria SRAM


Bits armazenados como chaves ligado/desligado. Sem carga para vazar. No precisa de refresh quando alimentada. Construo mais complexa. Maior por bit. Mais cara. No precisa de circuitos de refresh. Mais rpida. Cache. Digital.
Usa flip-flops.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

38

SRAM versus DRAM


Ambas volteis.
preciso energia para preservar os dados.

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

Prof. Misael Morais (moraiscg@uol.com.br) 39

39

Read Only Memory (ROM)


Armazenamento permanente.
No voltil.

Microprogramao. Sub-rotinas de biblioteca. Programas do sistema (BIOS). Tabelas de funo.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 40

40

Tipos de ROM
Gravada durante a fabricao:
Muito cara para pequenas quantidades.

Programvel (uma vez):


PROM. Precisa de equipamento especial para programar.

Lida na maioria das vezes:


Erasable Programmable (EPROM).

Apagada por UV.

Electrically Erasable (EEPROM):

Leva muito mais tempo para escrever que para ler.

Memria flash:

Apaga memria inteira eletricamente.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 41

41

Barramento da unidade de memria


Memria: formada por N palavras de um mesmo tamanho. Cada palavra possui um nico endereo (0,1,...,N-1) Uma palavra pode ser lida ou escrita na memria Recebe e envia sinais de dados Recebe sinais de endereos Recebe sinais de controle
Ler (read) Escreve (write) Temporizao (timming)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 42

42

Barramento da unidade de memria

Leitura Escrita

Memria
N palavras

Endereo

Dados

Dados

. . .
N-1

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 43

43

Decodificao de endereo (1)

Localizao de EPROM, RAM e PIO (E/S) em nosso espao de endereo de 64 KB

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 44

44

Decodificao de endereo (2)

(E/S)

Decodificao de endereo completo com E/S mapeado na memria

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 45

45

Decodificao de endereo (3)

Decodificao parcial de endereo com E/S mapeado na memria

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 46

46

Principio de operao da memria


Selecionar o endereo Selecionar uma operao de leitura ou escrita Fornecer os dados para serem escritos Manter os dados de sada vindo da memria Habilitar e desabilitar a memria
MSB Entrada de endereo LSB
A4 A3 A2 A1 A0 D3 D2 D1 D0

MSB

Memria 32x4
R/W CS (ou ME)

Entrada/sada de dados LSB

Comando de leitura/escrita Habilitao de memria

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 47

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

Prof. Misael Morais (moraiscg@uol.com.br) 48

48

Empacotamento (2)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 49

49

Gerenciamento de memria por segmentao no processador da Intel


Segmento -> uma rea de memria Offset -> um endereo dentro do segmento Endereo lgico / endereo efetivo Endereo fsico

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br) 50

50

Correo de erro
Falhas graves
Defeito permanente

Erros moderados (no permanente)


Aleatrio, no destrutivo Causados por problema de alimentao presena de

partculas alfas
Lgica de deteo e correo de erro. (cdigo Hamming)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

51

Cdigo de correo de erro

2K - 1 M + K (k palavra de sndrome)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

52

Cdigo de correo de erro de Hamming

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

53

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

56

Memria cache e principal

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

57

Operao da cache viso geral


CPU requisita contedo do local de memria. Verifica se os dados esto em cache. Se estiverem, apanha da cache (rpido). Se no, l bloco solicitado da memria principal para

a cache.
Depois, entrega da cache CPU. Cache inclui tags para identificar qual bloco da

memria principal est em cada slot da cache.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

58

Lgica de funcionamento

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

59

Ento voc quer velocidade?


possvel montar um computador que usa apenas RAM

esttica (veja adiante).


Este seria muito rpido. Este no precisaria de cache.
Como voc pode manter o cache em cache?

Isso sairia muito caro.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

61

Diagrama em blocos de uma cache


Matriz de rtulo Endereo Rtulo Lgica de acertos/ faltas

Matriz de dados

Acerto ?

Dados

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

63

Arquitetura de cache harvard


Processador

Cache de instrues

Cache de dados

Memria principal

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

64

Memria cache - Resumo


Princpios fundamentais:
Memria pequena e rpida Situada entre a CPU e memria principal Pode est montada na CPU ou fora

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

65

Memria Cache
Taxa de acertos (h)
h = (k-1)/k
onde k nmero de referncias a uma determinada palavra.

Tempo mdio de acesso (t)


t = c.h + (1 - h).(c+m).
Onde, m = tempo de acesso memria principal e c = tempo de acesso Cache.
Est na cache hits No est na cache - miss

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

67

Cache lgica e fsica

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

68

Endereamento de cache
Onde fica a cache?
Entre processador e unidade de gerenciamento de memria virtual. Entre MMU e memria principal.

Cache lgica (cache virtual) armazena dados usando endereo virtual.


Processador acessa cache diretamente, no atravs da cache fsica. Acesso cache mais rpido, antes da traduo de endereo da

MMU.
Endereos virtuais usam o mesmo espao de endereos para

diferentes aplicaes.

Deve esvaziar cache a cada troca de contexto.

Cache fsica armazena dados usando endereos fsicos da memria

principal.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

69

Elementos do projeto de memrias cache


Tamanho Funo de mapeamento
Direto Associativo Associativo por conjunto

Algoritmo de substituio
FIFO, aleatrio, menos usado,...

Poltica de escrita Quantidade de memrias cache

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

70

Tamanho
Custo
Quanto mais cache mais caro

Velocidade
Mais cache mais rpido at certo ponto

Comprimento da linha o tamanho do bloco

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

71

Mapeamento direto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

72

Mapeamento direto

Cada bloco de memria principal mapeado apenas para uma

linha de cache.
Ou seja, se um bloco est na cache, ele deve estar em um

local especfico.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

73

Mapeamento Direto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

74

Mapeamento Direto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

75

Mapeamento Direto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

76

Mapeamento Direto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

77

Mapeamento Direto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

78

Mapeamento Direto
Exemplo de uma cache com 1024 (210) linhas com palavra de 32 bits

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

79

Mapeamento Direto - Passos

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

80

Exemplos: Mapeamento Direto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

81

Exemplos: Mapeamento Direto

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

Prof. Misael Morais (moraiscg@uol.com.br)

82

Exemplos: Cont.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

83

Exemplos: Cont.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

84

Exemplos: Cont.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

85

Exemplos: Cont.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

86

Exemplos: Cont.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

87

Exemplos: Cont.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

88

Exerccio: Mapeamento Direto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

89

Exemplos: Resposta

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

90

Mapeamento Direto Transferncia de Bloco


Transferncia de Blocos entre nveis de memria Exemplo: Memria de 32 bits (4Giga Byte) e cache de 1024 linhas de 32 Bytes

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

91

Exemplo: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

92

Exemplo: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

0 0 0 0

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

93

Exemplo: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

0 0 0 0

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

94

Exemplo: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

0 0 0 0

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

95

Exemplo: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

0 0 0 0

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

96

Exemplo: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

97

Exemplo: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

98

Exemplo: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

99

Exemplo: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

100

Exerccio: Mapeamento Direto com Bloco


MAMRIA PRINCIPAL

CACHE

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

101

Exerccio: Resposta
MAMRIA PRINCIPAL

CACHE

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

102

Dever de Casa

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

103

Concluses e Questes

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

104

Anexo: Tabela de converso de endereamento de memria


22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 27 = 128 28 = 256 29 = 512 210 = 1024 = 1 KB 211 = 2048 = 2 KB 212 = 4096 = 4 KB ... 220 = 1.048.576 = 1 MB 221 = 2.097.152 = 2 MB 222 = 4.194.304 = 4 MB ... 230 = 1.073.741.824 = 1 GB 231 = 2.147.483.648 = 2 GB 232 = 4.294.967.296 = 4 GB 233 = 8.589.934.592 = 8 GB ...

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

105

Organizaao da memria com mapeamento direto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

106

Exemplo de mapeamento direto - cache


Parte do endereo Dados Rtulo

Rtulo

Dados

Nr. da linha

Memria cache de 16 K linhas

8bits

14bits

2bits

Memria principal de 16 MBytes

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

107

Estrutura do mapeamento direto - cache


Rtulo - tag 16 bits Linha 10 bits Palavra 6 bits

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)

No existe dois blocos do mesmo conjunto na cache (mesmo

rtulo mais de uma vez na cache)


checado o contedo do cache para localizar a linha e o rtulo

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

108

Na aula Anterior

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

109

Mapeamento associativo

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

110

Mapeamento Associativo

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

111

Exemplo: Mapeamento Associativo


Memria Principal

Tag

Cache

0000, 0010, 0110, 0000, 1000, 0000,0101 Endereo 4 bits (16 posies) Tag; 4 bits

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

112

Exemplo: Mapeamento Associativo


Memria Principal

Tag 0000

Cache AAAA

Preenche linha 00 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Miss

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

113

Exemplo: Mapeamento Associativo


Memria Principal

Tag 0000 0010

Cache AAAA BBBB

Preenche linha 01 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Miss

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

114

Exemplo: Mapeamento Associativo


Memria Principal

Tag 0000 0010 0101

Cache AAAA BBBB EEEE

Preenche linha 10 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Miss

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

115

Exemplo: Mapeamento Associativo


Memria Principal

Tag 0000 0010 0101

Cache AAAA BBBB EEEE

Preenche linha 10 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Hit

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

116

Exemplo: Mapeamento Associativo


Memria Principal

Tag 0000 0010 0101 1000

Cache AAAA BBBB EEEE DDDD

Preenche linha 11 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Miss

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

117

Exemplo: Mapeamento Associativo


Memria Principal

Tag 0000 0010 0101 1000

Cache AAAA BBBB EEEE DDDD

Preenche linha 11 da cache 0000, 0010, 0110, 0000, 1000, 0000,0101 Hit

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

118

Exemplo: Mapeamento Associativo


Memria Principal

Tag 0000 0101 0101 1000

Cache AAAA EEEE EEEE DDDD

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

Prof. Misael Morais (moraiscg@uol.com.br)

119

Substituio na Cache

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

120

Exemplo: Mapeamento associativo por bloco


Memria Principal

Tag

Cache

Endereo 6 bits (64 posies) Tag; 4 bits | bloco (2 bits)

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

121

Exemplo: Mapeamento associativo por bloco


Memria Principal

Tag

Cache

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

122

Estrutura do mapeamento totalmente associativo - cache

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

123

Mapeamento associativo - estrutura de endereo


Tag 22 bit
Palavra 2 bit

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

Prof. Misael Morais (moraiscg@uol.com.br)

124

Organizao da memria com mapeamento associativo

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

125

Resumo do mapeamento associativo


Tamanho do endereo= (s + w) bits. Nmero de unidades endereveis= 2s+w words ou bytes. Tamanho do bloco= tamanho de linha= 2w palavras ou

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

Prof. Misael Morais (moraiscg@uol.com.br)

126

Exerccio

Endereo de 28 bits (256 Mega) 25 bits (Tag) 3 bits

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

127

Exerccio
Das afirmaes a seguir, sobre memoria cache, so verdadeiras?

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

128

Concluses

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

129

Mapeamento associativo em conjunto


um meio-termo entre a tcnica direta e associativa. Cache dividida em uma srie de conjuntos. Cada conjunto contm uma srie de linhas. Determinado bloco mapeado a qualquer linha em determinado

conjunto.
Ex.,Bloco B pode estar em qualquer linha do conjunto i.

Ex.: 2 linhas por conjunto:


Mapeamento associativo com 2 linhas. Determinado bloco pode estar em uma de 2 linhas em apenas

um conjunto.

http://sites.google.com/site/moraiscg

Organizao da memria com mapeamento associativo por conjunto

Prof. Misael Morais (moraiscg@uol.com.br)

130

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

131

Mapeamento associativo em conjunto Exemplo


Memria cache de 32KB de capacidade,

constituda de linhas de 8 bytes e conjunto de 4. A MP de 16MBytes. Qual o total de bits da cache?

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

132

Estrutura do mapeamento associado por conjunto

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

133

Tcnicas de atualizao do cache


Escrita direta (write though)
Sempre que houver uma escrita, o controlador atualiza o cache e, em seguida, a memria principal

Contra escrita (write back)


Quando houver uma escrita, ela atualizada apenas no cache e s escrita na memria principal quando a posio do cache for requisitada.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

134

Poltica de escrita
No 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.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

135

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.


Muito trfego. Atrasa as escritas. Lembre-se de caches write-through falsos!

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

138

Algoritmos de substituio Mapeamento direto


Sem escolha. Cada bloco mapeado apenas a uma linha. Substitui essa linha.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

139

Algoritmos de substituio Associativa e associativa em conjunto


Algoritmo implementado no hardware (velocidade). Least Recently Used (LRU). Ex., na associativa em conjunto com 2 linhas.
Qual dos 2 blocos LRU?

First In First Out (FIFO).


Substitui bloco que est na cache h mais tempo.

Least Frequently Used (LFU).


Substitui bloco que teve menos acertos.

Aleatrio.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

140

Algoritmo de substituio

LRU Menos recentimento usado FIFO FLU Menos frequentemente usado

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

141

Caches unificadas versus separadas


Uma cache para dados e instrues ou duas, uma para dados e uma

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.

Vantagens da cache separada:


Elimina disputa pela cache entre a unidade de busca/decodificao

de instruo e a unidade de execuo.

Importante no pipeline de instrues.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

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

Prof. Misael Morais (moraiscg@uol.com.br)

143

Disco SCSI

Alguns dos possveis parmetros SCSI.

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

144

Formato de um bloco do CD-ROM


Sector Mode Sec Min

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

You might also like