centro de informÁtica - ufpe greco memória. centro de informÁtica - ufpe greco sistema básico de...
TRANSCRIPT
CENTRO DEINFORMÁTICA - UFPE GRECO
Memória
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
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
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)
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
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)
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
CENTRO DEINFORMÁTICA - UFPE GRECO
DIMM
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
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)
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)
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
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
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
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
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
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
CENTRO DEINFORMÁTICA - UFPE GRECO
Direct Rambus DRAM ou RDRAM
CENTRO DEINFORMÁTICA - UFPE GRECO
Direct Rambus DRAM ou RDRAM
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
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
CENTRO DEINFORMÁTICA - UFPE GRECO
Memória Cache
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
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
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
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.
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
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
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
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.
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.
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.
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.
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
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
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
CENTRO DEINFORMÁTICA - UFPE GRECO
Mapeamento direto
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
CENTRO DEINFORMÁTICA - UFPE GRECO
Mapeamento Associativo
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)
CENTRO DEINFORMÁTICA - UFPE GRECO
Mapeamento Associativo por Conjunto
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
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
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)
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.
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
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
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
CENTRO DEINFORMÁTICA - UFPE GRECO
Memórias mais largas
CPU
Cache
Memória
CPU
Multiplexador
Memória
Cache
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
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
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
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