centro de informÁtica - ufpe greco memória. centro de informÁtica - ufpe greco sistema básico de...

53
CENTRO DE INFORMÁTICA - UFPE GRECO Memória

Upload: octavio-reina

Post on 07-Apr-2016

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Memória

Page 2: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Sistema Básico de Memória

Fluxo de Dados

CPU

Registradores

MemóriaPrincipal

MemóriaSecundária

Barramentode memória

Barramento de E/S

Page 3: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Características de Memória Localização

• CPU• Placa mãe (primária)• Externa (secundária)

Capacidade• Tamanho e Núm. de palavras

Unidade de Transf.• Palavra ou bloco

Método de Acesso• Sequencial (ex. fita)• Acesso direto (ex. disco)• Acesso randômico• Acesso associativo

Performance• Tempo de acesso• Ciclo• Taxa de transferência

Implementação• Semicondutor• Superfície magnética• Superfície ótica

Manutenção de dados• Volátil ou não • Apagável ou não

Page 4: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Nomenclatura Básica

RAM = Random Acces Memory

SRAM = Static RAM DRAM = Dynamic RAM VRAM - Video RAM WRAM - Windows RAM

ROM = Read Only Memory PROM = Programmable ROM EPROM = Erasable PROM EEPROM = Electrically Erasable

PROM (apagamento byte a byte) Flash EPROM = Fast erasable

EPROM (apagamento por bloco)

Page 5: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Tipos Básicos de Memória Semicondutora

Tipo de Memória Categoria Apagamento Escrita Volatilidade

Random-Access Mem. (RAM)

Read-Write

Elétrico byte a byte

Elétrica Volátil

Read-Only Mem. (ROM)

Read-Only Máscara

Programmable ROM (PROM)

One-Time Prog.

Impossível

Erasable PROM (EPROM)

Ultra-violeta

Electrically EPROM (EEPROM)

Elétrico byte a byte

Flash EPROM

Read-mostly

Elétrico por bloco

Elétrica

não- volátil

Page 6: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

RAM Dinâmica vs. Estática

DRAM (Dynamic Random Acess Memory)• Grande capacidade de integração (baixo custo por bit)Grande capacidade de integração (baixo custo por bit)• Perda de informação após algum tempo: Perda de informação após algum tempo: Necessidade de refreshingNecessidade de refreshing

SRAM (Static Random Acess Memory)• Pequeno tempo de acessoPequeno tempo de acesso• Não existe necessidade de refreshingNão existe necessidade de refreshing• Alto custo por bit (baixa integração)Alto custo por bit (baixa integração)

Page 7: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Encapsulamento SIMM

• Single In-line Memory Module• 30 pinos, 8 bits/módulo• 72 pinos, 32 bits/módulo

DIMM• Dual In line Memory Module• 168 pinos, 64 bits/módulo

Compact SIMM

SIMM 30 pinos

DIMM 168 pinos

Montagem na MB

Page 8: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

DIMM

Page 9: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Acesso a memória principal (DRAM)

CPU

__________________________________________________________________________________________

Controlador de Memória

Endereços

Dados

Controle (RD, WR...) ____RAS ____CAS___ W ______OE(RD)

n bits Endereçomultiplexado:Linhas e colunas

n/2 bits

Dados

Memória

Page 10: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

____ ___ __ __RAS CAS W OE

RowDecoder

ColumnDecoder

D1D2D3D4

A0A1......A10

MUX

DRAMOrganização Internae Método de Acesso

• O endereço das linhas e colunas são enviados separadamente (prim. linha, depois coluna).

• Para acessar uma posição (leitura ou escrita), o endereço da linha é posto junto com o sinal RAS (Row Addres Selector).

• Depois o endereço da coluna vai junto com o sinal CAS (Column Address Selector)

• No exemplo abaixo, as 11 linhas de A0 a A10 são usadas para enviar end. de linha e coluna. Por isso esta memória tem 4Mega posições de endereçamento (4Mega = 222)

Page 11: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Modo de Acesso

No Page Mode, o controlador de memória faz até 4 acessos em sequência à DRAM. É comum designar o núm. de pulsos de clock de cada acesso para cada tipo de memória.

Ex. a FPM RAM tem acesso 5/3/3/3 (a 66MHz) em page mode, o que significa 5 pulsos de clock para obter o primeiro dado, e 3 para o segundo, terceiro e quarto.

Ex: FPM RAM• Ativa uma fila (RAS)• Acessos sequenciais

a colunas (vários pulsos de CAS)

Page 12: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

FPM DRAM - Fast Page Mode DRAM EDO DRAM - Extended Data-Output DRAM

EDO DRAM Tempo de acesso 70ns,

60ns and 50nsPara barramento de 66 MHz use 60 ns ou melhor.

Acesso page mode = 5/2/2/2 a 66MHz

FPM DRAM DRAM mais simples Tempo de acesso 70ns and

60ns. Acesso page mode = 5/3/3/3

a 66MHz

Page 13: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

EDO DRAMMétodo de Acesso No page mode, um latch na saída de dados permite o acesso simultâneo

a novas posições de memória enquanto os dados estão sendo lidos na saída.

Isso permite a diminuição do tempo entre pulsos de CAS

Page 14: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

BEDO - Burst EDO DRAM Page (burst) mode = 5/1/1/1 a

66MHz Tempo de acesso randômico é

igual ao FPM ou EDO RAM

Possui registrador e gerador interno de ender. sequenciais

Page 15: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

SDRAM - Synchronous DRAM Page (burst) mode =

5/1/1/1 a 100MHz Tempo de acesso

randômico é igual à FPM ou EDO RAM.

Trabalha na velocidade do bus, por isso o nome.

Interleaved Uso de Serial

Presence Detect para Plug-and-Play

Page 16: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

DDR SDRAM – Double Data Rate SDRAM Transfere dados na subida e descida do clock (compensa o

uso de barramentos lentos) Uso de Serial Presence Detect para Plug-and-Play

Page 17: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Direct Rambus DRAM ou RDRAM Padrão proprietário da Rambus Inc. Usa o Direct Rambus Channel – 400MHz, 16 bits (o barramento

estreito permite estas taxas altas) Transferência de dados na subida e descida do clock

1,6 GByte/s Uso de Serial Presence Detect para Plug-and-Play

Page 18: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Direct Rambus DRAM ou RDRAM

Page 19: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Direct Rambus DRAM ou RDRAM

Page 20: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Synchronous Link DRAM - SLDRAM Desenvolvido pelo SLDRAM Consortium (20 empresas) Uso de tecnologia mais comum: bus de 64-bit a 200 MHz Transferência de dados na subida e descida do clock

3,2 GByte/s

Page 21: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Memórias para Controlador de Vídeo

VRAM - Vídeo RAMWRAM - Windows RAM

Têm duas portas de acesso: uma para o controlador de vídeo e outra para a CPU

WRAM é 50% mais rápida e 20% mais barata

MDRAM - Multibank DRAM Vários bancos de DRAMs (cada

um 32 KB) com I/O próprio ligados num bus interno.

Dados podem ser acessados em vários bancos simultaneamente.

Chips de qualquer tamanho podem ser fabricados. Ex: 2.5MB, usados em cont. de vídeo com resolução de 1,024x768 por 24bit

Page 22: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Memória Cache

Page 23: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Comparação da Performance da Mem. Principal e CPU

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

50

100

150

200

250

300

350DecAlpha

DecAlpha

IBMPower2

DecAlphaHP900

IBMPower1MIPSR3000

MIPSR2000SUN

CPUCPU

MemóriaMemória

Page 24: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Memória Principal Vs. Cache O fichário representa o disco

rígido. A pasta sobre a mesa

representa a memória principal. No quadro de avisos se

encontram informações que podem ser acessadas de forma muito rápida. O quadro representa a cache.

Mesa e usuário são a CPU

Pasta

QuadroFichário

Page 25: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Motivação para hierarquia Principio da localidade + Relação custo/desempenho das

tecnologias

Alto desempenho da CPU

CPU

Registradores

Cache

MemóriaPrincipal

MemóriaSecundária

Barramentode memória

Barramento de E/S

Page 26: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Princípio da Localidade

Localidade Temporal • Num futuro próximo, o programa irá referenciar os

programas e dados referenciados recentemente Localidade Espacial

• Num futuro próximo, o programa irá referenciar os programas e objetos de dados que tenham endereços próximos das últimas referências.

Page 27: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Hierarquia de Memória

cache (L1)

CPURegistradores

memória principal

memória secundária

Custo etamanho

chip

cache (L2)

VelocidadeReg.

Cache

Principal

Cache de Disco

Disco Magnético

Fita CD-ROM

Page 28: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Níveis de memóriaNível 1 2 3 4Nome Registrador Cache Memória

PrincipalSecundária

Tamanho < 1K < 4 M < 4 G > 1 GTecnologia BICMOS SRAM DRAM DiscoTempo de

acesso (ns)2-5 3-10 80-400 5.000.000

Largura debanda(MB/s)

4000-32.000 800-5000 400-2000 4-32

Gerência Compilador Hardware S.O S.O /usuário

Copia em Cache MemóriaPrincipal

Disco Fita

Page 29: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Características da Memória Cache Organização

• Tamanho do Bloco Tipos de mapeamento

• Direto• Associativo• Associativo por conjunto

Estratégias de substituição• Random• First-in-first-out (FIFO)• Least-recently used (LRU)• Least-frequently used (LFU)

Estratégia de Escrita• Write through• Write back

Núm. de Caches• Single X Two-level• Unified X Split

Page 30: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Avanços em implementação de caches

Sincronizada ao clock do sistema• Os sinais são sincronizados ao clock.• Simplifica o projeto da memória

Burst• Incorpora controle interno que permite acesso rápido a

posições subsequentes (ex. reg. e gerador de endereços) Pipelining

• Usa registradores na entrada e/ou saída o que permite fornecer dados e acessar novos endereços em paralelo.

Page 31: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Async SRAM

A mais antiga É mais rápida que a DRAM apenas por ser estática. 20, 15 or 12 ns. Não é suficientemente rápida para permitir acesso síncrono.

Page 32: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

SB SRAM - Syncronous Burst SRAM

8.5ns to 12ns Acesso em page mode

• 2/1/1/1 em 66 MHz• 3/2/2/2 em > 66 MHz

Para velocidadades de barramento até 66 MHz, SB SRAM apresenta a melhor performance.

Page 33: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

PB SRAM - Pipeline Burst SRAM (cache)

Usa registradores na entrada ou saída. Gasta um clock a mais para carregar o registrador, mas depois

permite acesso simultâneo a novas posições de memória enquanto os dados estão sendo lidos na saída.

Acesso page mode 3/1/1/1. Mais lenta que SB SRAM em bus < 66MHz.

Melhor se > 66MHz. 4.5ns to 8ns.

Page 34: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Velocidade de Acesso a Memórias Cache

Vel. Bus(MHz) 33 50 60 66 75 83 100 125

AsyncSRAM

2/1/1/1 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2

SyncSRAM

2/1/1/1 2/1/1/1 2/1/1/1 2/1/1/1 3/2/2/2 3/2/2/2 3/2/2/2 3/2/2/2

PBSRAM

3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1 3/1/1/1

A melhor memória para cada velocidade de barramento

Page 35: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Memória Cache:Tipos de Mapeamento

0 123456789101112131415...3031

Memória principal

Memória cache0

1

2

3

4

5

6

7

Blocosou

Linhas

Offset:identifica palavras em uma linha

Page 36: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Mapeamento Direto

0 12345678910111213141516...31

Memória principal

Memória cache

0 (000)

1 (001)

2 (010)

3 (011)

4 (100)

5 (101)

6 (110)

7 (111)

Endereço da palavra

Tag Linha Offset

Exemplo: End. linha = 12 mod 8 = 4 tag = 12 / 8 = 1

Offset0000...01 100

Cada linha na mem. principal tem uma posição fixa na cache• End. linha = ELMP mod NLC onde ELMP = endereço linha mem. principal NLC = núm. linhas da cache• Tag = ELMP / NLCInforma qual linha da mem. principal está

armazenada na linha de cache correspondente)• Offset cache = Offset Mem. Principal

Offset

01

dados tag linha

Page 37: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Mapeamento direto

Page 38: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Mapeamento Associativo

0 12345678910111213141516...31

Memória principal

Memória cache

Endereço da palavra

Tag Offset

Exemplo: tag = 12 (011002)

Offset000000...01100

Uma linha na memória principal pode ocupar qualquer posição na cache

• Tag armazena na cache o end. da linha na mem. principal• Offset cache = Offset Mem. Principal

Offset

01100

dados tag

Page 39: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Mapeamento Associativo

Page 40: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Mapeamento Associativo por Conjunto

0 12345678910111213141516...31

Memória principal

Memória cacheExemplo: two-way set associative tag = 12 / 4 = 3 (0112)) set = 12 mod 4 = 0

Uma linha na memória principal pode ocupar qualquer posição dentro de um conjunto definido de linhas da cache

• Tag = ELMP / NCC • Set = ELMP mod NCC onde ELMP = endereço linha mem. principal NCC = núm. conjuntos da cache• Offset cache = Offset Mem. Principal

011

dados tag

Endereço da palavraTag set Offset

Offset 011 00

{{{{

Conjuntos (sets)

Page 41: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Mapeamento Associativo por Conjunto

Page 42: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Comparação de Métodos de Mapeamento Mapeamento direto

• Simples e BarataSimples e Barata• Mais faltas

Associativa• RápidaRápida• Menos faltaMenos falta• Cara (comparação do endereço

em paralelo)

Associativa por conjunto: combinação das anteriores• Se NCC = NLC Ass. por conjunto = Mapeamento Direto• Se NCC = 1 Ass. por conjunto = Associativa

NLC = núm. linhas da cacheNCC = núm. conjuntos da cache

Page 43: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Políticas de Substituição de Páginas Randômica:

• Simples e fácil de implementar FIFO (First-In-First-Out) LFU (Least-Frequently Used) LRU (least-recently used)

• Menor taxa de faltas

Associatividade2 way 4-way 8-way

Size LRU random LRU random LRU random16 KB 5.18 5.69 4.67 5.29 4.39 4.9664 KB 1.88 2.01 1.54 1.66 1.39 1.53256KB 1.15 1.17 1.13 1.13 1.12 1.12

Page 44: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Leitura/Escrita da Cache

Leitura:• Mais frequentes, rápidas e fáceis de implementar

Escrita:• Mais lentas e complicadas e consistência de dados com a memória

principal deve ser mantida (se uma página da cache foi alterada pela CPU, não pode ser descartado da cache sem garantir que foi copiada para a página correspondente na mem. principal)

Page 45: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Políticas de Escrita e Consistência

Write through • Cache e memória são atualizadas simultaneamente

Write back • Memória principal é atualizada quando bloco é substituído• Usa dirty bit para marcar linhas alteradas na cache.

Page 46: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Memória Cache: escrita

Write through Write backfacilidade deimplementação

consistência da memóriaprincipal

redução de tráfego commemória

Para se evitar espera durante escrita:Write buffers

Page 47: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Exemplo: Alpha AXP 21064 Cache separadas de dados e de instruções

• Vantagens:– Melhor capacidade de otimizações– Evita hazard estrutural

Características:• Tamanho:8192 bytes• Blocos de 32 bits• Mapeamento direto• Write through• Four buffer write-buffer

Page 48: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Alpha AXP 21064- Cache Dados

Tag Indice Off.

Val.(1)

Tag(21)

Dados(256)

=?

CPUDados

EntradaDadosSaída

Endereço

Bufferde

Escrita

256 blocos

Mux

Page 49: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Memórias mais largas

CPU

Cache

Memória

CPU

Multiplexador

Memória

Cache

Page 50: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Memória “Interleaved”

CPU

Cache

Memória

CPU

Cache

Banco 0Memória

Banco 1Memória

Banco 2Memória

Banco 3Memória

Page 51: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Memória Interleaved

Bancos de memória para escrita/leitura de múltiplas palavras Reduz penalidade Necessita pouco hardware adicional

Page 52: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Código Corretor de Erro:Código de Hamming- Capaz de corrigir 1 erro (Single Error Correction - SEC)- Expansível para Single Error Correction - Double Error Detection (SEC-DED)

111111 00

111111 00

11 00

00

111100 00

11 00

11ErroErro

Bits de verificaçãoBits de verificação(redundantes)(redundantes)

Bits de Dados

Page 53: CENTRO DE INFORMÁTICA - UFPE GRECO Memória. CENTRO DE INFORMÁTICA - UFPE GRECO Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal

CENTRO DEINFORMÁTICA - UFPE GRECO

Código de Hamming

Exemplo: CheckCheck Data bitbit bit1212 1100 M121111 1011 M111010 1010 M10 9 9 1001 M9 88 1000 C8C8 7 7 0111 M7 6 6 0110 M6 5 5 0101 M5 4 4 0100 C4C4 3 3 0011 M3 2 2 0010 C2C2 1 1 0001 C1C1

M bits de dadosK bits de verificação devem ser capazes de codificar erros K bits de verificação devem ser capazes de codificar erros em M+K posições, quando houver erro, mais uma posição em M+K posições, quando houver erro, mais uma posição que indica que não houve erro.que indica que não houve erro.=> 2k M + K + 1

C1C1 = M3 + M5 + M7 + M9 + M11C2C2 = M3 + M6 + M7 + M10 + M11C4C4 = M5 + M6 + M7 + M12C8C8 = M9 + M10 + M11 + M12

O O O O O O O O O O O O O O