Memria DI UFPE GRECO Memria Vs Armazenamento Fichrio

  • Slides: 52
Download presentation
Memória DI UFPE GRECO

Memória DI UFPE GRECO

Memória Vs. Armazenamento Fichário Pasta n n Fluxo de Dados n n DI UFPE

Memória Vs. Armazenamento Fichário Pasta n n Fluxo de Dados n n DI UFPE GRECO O fichário representa o disco rígido, com alta capacidade de armazenamento. A pasta sobre a mesa representa a memória, de acesso rápido e fácil Mesa e usuário são a CPU OBS: Memória é volátil e disco não.

Como funciona um computador? Como trabalhamos ? n Como trabalhamos ? • Informações que

Como funciona um computador? Como trabalhamos ? n Como trabalhamos ? • Informações que não tem uso no • Na mesa mantemos os papéis que estamos usando momento ficam no fichário. naquele momento • A pasta sobre a mesa contém • Completada uma tarefa, cópias das informações que pomos os papéis alterados precisaremos naquele dia. de volta no fichário. Fichário • Após o expediente, a faxineira joga no lixo tudo Pastas que está na mesa. DI UFPE GRECO

Como funciona um computador? Comparando com um computador Fichário Disco Memória 2 3 1

Como funciona um computador? Comparando com um computador Fichário Disco Memória 2 3 1 timing & size timing & Information Unidade de Controle (CPU) Mesa Pastas n n DI UFPE GRECO O fichário representa o disco rígido, com alta capacidade de armazenamento. A pasta sobre a mesa representa a memória, de acesso rápido e fácil Mesa e usuário são a CPU OBS: Memória é volátil e disco não (faxineira)

Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal Barramento de memória

Sistema Básico de Memória Fluxo de Dados CPU Registradores Memória Principal Barramento de memória DI UFPE GRECO Memória Secundária Barramento de E/S

Características de Memória n Localização n • CPU • Placa mãe (primária) • Externa

Características de Memória n Localização n • CPU • Placa mãe (primária) • Externa (secundária) n Capacidade • Tempo de acesso • Ciclo • Taxa de transferência n • Tamanho e Núm. de palavras n Unidade de Transf. Método de Acesso • • DI UFPE GRECO Sequencial (ex. fita) Acesso direto (ex. disco) Acesso randômico Acesso associativo Implementação • Semicondutor • Superfície magnética • Superfície ótica • Palavra ou bloco n Performance n Manutenção de dados • Volátil ou não • Apagável ou não

Memória Principal “ 640 K ought to be enough for anybody. ” Bill Gates,

Memória Principal “ 640 K ought to be enough for anybody. ” Bill Gates, 1981 DI UFPE GRECO

Nomenclatura Básica n n n DI UFPE GRECO RAM = Random Acces Memory SRAM

Nomenclatura Básica n n n DI UFPE GRECO RAM = Random Acces Memory SRAM = Static RAM DRAM = Dynamic RAM VRAM - Video RAM WRAM - Windows RAM n n n 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)

Tipos Básicos de Memória Semicondutora DI UFPE GRECO

Tipos Básicos de Memória Semicondutora DI UFPE GRECO

RAM Dinâmica vs. Estática n DRAM (Dynamic Random Acess Memory) • Grande capacidade de

RAM Dinâmica vs. Estática n DRAM (Dynamic Random Acess Memory) • Grande capacidade de integração (baixo custo por bit) • Perda de informação após algum tempo: Necessidade de refreshing n SRAM (Static Random Acess Memory) • Pequeno tempo de acesso • Não existe necessidade de refreshing • Alto custo por bit (baixa integração) DI UFPE GRECO

Encapsulamento n SIMM n • Single In-line Memory Module • 30 pinos, 8 bits/módulo

Encapsulamento n SIMM n • Single In-line Memory Module • 30 pinos, 8 bits/módulo • 72 pinos, 32 bits/módulo Compact SIMM 30 pinos DIMM 168 pinos DI UFPE GRECO DIMM • Dual In line Memory Module • 168 pinos, 64 bits/módulo Montagem na MB

DIMM DI UFPE GRECO

DIMM DI UFPE GRECO

Acesso a memória principal (DRAM) CPU DI UFPE GRECO Memória ______ n bits Endereço

Acesso a memória principal (DRAM) CPU DI UFPE GRECO Memória ______ n bits Endereço n/2 bits ______ Endereços multiplexado: ______ Linhas e colunas ______ Dados ______ Controlador Dados ______ Controle (RD, WR. . . ) de Memória ______ RAS ______ CAS ______ W ______ OE(RD) ______

DRAM Organização Interna e Método de Acesso ____ __ __ RAS CAS W OE

DRAM Organização Interna e Método de Acesso ____ __ __ RAS CAS W OE • 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 A 0 a A 10 são usadas para enviar end. de linha e coluna. Por isso esta memória tem 4 Mega posições de endereçamento (4 Mega = 222) MUX A 0 A 1. . . A 10 DI UFPE GRECO Row Dec oder Column Decoder D 1 D 2 D 3 D 4

n Modo de Acesso Ex: FPM RAM • Ativa uma fila (RAS) • Acessos

n Modo de Acesso Ex: FPM RAM • Ativa uma fila (RAS) • Acessos sequenciais a colunas (vários pulsos de CAS) DI UFPE GRECO n 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 em page mode, o que significa 5 pulsos de clock para obter o primeiro dado, e 3 para o segundo, terceiro e quarto.

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

FPM DRAM - Fast Page Mode DRAM EDO DRAM - Extended Data-Output DRAM FPM DRAM n DRAM mais simples n Tempo de acesso 70 ns and 60 ns. n Acesso page mode = 5/3/3/3 n Máx 28, 5 MHz, ciclo de 35 ns. DI UFPE GRECO EDO DRAM n Tempo de acesso 70 ns, 60 ns and 50 ns Para barramento de 66 MHz use 60 ns ou melhor. n Acesso page mode = 5/2/2/2 n Máx 66 MHz, ciclo de 15 ns

EDO DRAM Método de Acesso n n DI UFPE GRECO No page mode, um

EDO DRAM Método de Acesso n n DI UFPE GRECO 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

BEDO - Burst EDO DRAM n n DI UFPE GRECO Page (burst) mode =

BEDO - Burst EDO DRAM n n DI UFPE GRECO Page (burst) mode = 5/1/1/1 Tempo de acesso randômico é igual ao FPM ou EDO RAM n n Possui registrador e gerador interno de ender. sequenciais Máx. 66 MHz em burst mode

SDRAM - Synchronous DRAM n n n DI UFPE n GRECO Page (burst) mode

SDRAM - Synchronous DRAM n n n DI UFPE n GRECO Page (burst) mode = 5/1/1/1. Tempo de acesso randômico é igual à FPM ou EDO RAM. Trabalha na velocidade do bus, por isso o nome. Acesso burst com gerador de end. interno. 66, 77, 83, 100, e 125 Mhz Interleaved

Memórias para Controlador de Vídeo n n n DI UFPE GRECO VRAM - Vídeo

Memórias para Controlador de Vídeo n n n DI UFPE GRECO VRAM - Vídeo RAM WRAM - 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 n n 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. 5 MB, usados em cont. de vídeo com resolução de 1, 024 x 768 por 24 bit

Memória Cache DI UFPE GRECO

Memória Cache DI UFPE GRECO

Comparação da Performance da Mem. Principal e CPU 350 Dec. Alpha 300 CPU 250

Comparação da Performance da Mem. Principal e CPU 350 Dec. Alpha 300 CPU 250 200 Dec. Alpha 150 IBMPower 2 95 19 94 19 93 19 92 19 91 19 90 19 89 19 88 19 19 19 86 GRECO 87 MIPS IBMPower 1 SUN R 2000 R 3000 50 DI UFPE Memória Dec. Alpha HP 900 100

Memória Principal Vs. Cache n O fichário representa o disco rígido. A pasta sobre

Memória Principal Vs. Cache n 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. n Mesa e usuário são a CPU n n Quadro Fichário Pasta DI UFPE GRECO

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

Motivação para hierarquia n Principio da localidade + Relação custo/desempenho das tecnologias n Alto desempenho da CPU Registradores C a c h e Memória Principal Barramento de memória DI UFPE GRECO Memória Secundária Barramento de E/S

Princípio da Localidade Temporal • Num futuro próximo, o programa irá referenciar os programas

Princípio da Localidade Temporal • Num futuro próximo, o programa irá referenciar os programas e dados referenciados recentemente n 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. n DI UFPE GRECO

Hierarquia de Memória chip CPU Registradores Velocidade Cache cache (L 1) Principal Custo e

Hierarquia de Memória chip CPU Registradores Velocidade Cache cache (L 1) Principal Custo e tamanho cache (L 2) Cache de Disco memória principal memória secundária DI UFPE GRECO Disco Magnético Fita CD-ROM

Níveis de memória DI UFPE GRECO

Níveis de memória DI UFPE GRECO

Características da Memória Cache n Organização • Tamanho do Bloco n Tipos de mapeamento

Características da Memória Cache n Organização • Tamanho do Bloco n Tipos de mapeamento • Direto • Associativo por conjunto n DI UFPE GRECO Estratégias de substituição • Random • First-in-first-out (FIFO) • Least-recently used (LRU) • Least-frequently used (LFU) n Estratégia de Escrita • Write through • Write back n Núm. de Caches • Single X Two-level • Unified X Split

Avanços em implementação de caches n Sincronizada ao clock do sistema • Os sinais

Avanços em implementação de caches n Sincronizada ao clock do sistema • Os sinais são sincronizados ao clock. • Simplifica o projeto da memória n Burst • Incorpora controle interno que permite acesso rápido a posições subsequentes (ex. reg. e gerador de endereços) n Pipelining • Usa registradores na entrada e/ou saída o que permite fornecer dados e acessar novos endereços em paralelo. DI UFPE GRECO

Async SRAM n n DI UFPE GRECO A mais antiga É mais rápida que

Async SRAM n n DI UFPE GRECO 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.

SB SRAM - Syncronous Burst SRAM n n n DI UFPE GRECO 8. 5

SB SRAM - Syncronous Burst SRAM n n n DI UFPE GRECO 8. 5 ns to 12 ns 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.

PB SRAM - Pipeline Burst SRAM (cache) n n n DI UFPE GRECO Usa

PB SRAM - Pipeline Burst SRAM (cache) n n n DI UFPE GRECO 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 < 66 MHz. Melhor se > 66 MHz. 4. 5 ns to 8 ns.

Velocidade de Acesso a Memórias Cache A melhor memória para cada velocidade de barramento

Velocidade de Acesso a Memórias Cache A melhor memória para cada velocidade de barramento DI UFPE GRECO

Memória Cache: Tipos de Mapeamento Memória principal 0 1 2 3 4 5 6

Memória Cache: Tipos de Mapeamento Memória principal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15. . . 30 31 DI UFPE GRECO Blocos ou Linhas Memória cache 0 1 2 3 4 5 6 7 Offset: identifica palavras em uma linha

Mapeamento Direto Memória principal 0 1 2 3 4 5 6 7 8 9

Mapeamento Direto Memória principal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16. . . 31 DI UFPE GRECO 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 / NLCû (Informa qual linha da mem. principal está armazenada na linha de cache correspondente) • Offset cache = Offset Mem. Principal Memória cache dados tag linha 0 (000) 1 (001) 2 (010) 3 (011) 01 4 (100) Exemplo: End. linha = 12 mod 8 = 4 tag = ë 12 / 8 û = 1 Endereço da palavra Tag Linha Offset 5 (101) 6 (110) 7 (111) Offset 0000. . . 01 100 Offset

Mapeamento direto DI UFPE GRECO

Mapeamento direto DI UFPE GRECO

Mapeamento Associativo Memória principal 0 1 2 3 4 5 6 7 8 9

Mapeamento Associativo Memória principal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16. . . 31 DI UFPE GRECO 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 Memória cache dados tag Exemplo: tag = 12 (011002) 01100 Endereço da palavra Offset Tag Offset 000000. . . 01100 Offset

Mapeamento Associativo DI UFPE GRECO

Mapeamento Associativo DI UFPE GRECO

Mapeamento Associativo por Conjunto Uma linha na memória principal pode ocupar qualquer posição dentro

Mapeamento Associativo por Conjunto Uma linha na memória principal pode ocupar qualquer posição dentro de um conjunto definido de linhas da cache DI UFPE GRECO 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16. . . 31 • 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 Memória cache dados tag 011 Conjuntos (sets) { { Memória principal Exemplo: two-way set associative tag = 12 / 4 = 3 (0112)) set = 12 mod 4 = 0 Endereço da palavra Tag set 011 00 Offset

Mapeamento Associativo por Conjunto DI UFPE GRECO

Mapeamento Associativo por Conjunto DI UFPE GRECO

Comparação de Métodos de Mapeamento n Mapeamento • • • direto Simples e Barata

Comparação de Métodos de Mapeamento n Mapeamento • • • direto Simples e Barata Lenta Mais faltas n Associativa • Rápida • Menos falta • Cara (comparação do endereço em paralelo) 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 cache NCC = núm. conjuntos da cache DI UFPE GRECO

Políticas de Substituição de Páginas n Randômica: • Simples e fácil de implementar FIFO

Políticas de Substituição de Páginas n Randômica: • Simples e fácil de implementar FIFO (First-In-First-Out) n LFU (Least-Frequently Used) n LRU (least-recently used) n • Menor taxa de faltas DI UFPE GRECO

Leitura/Escrita da Cache n Leitura: • Mais frequentes, rápidas e fáceis de implementar n

Leitura/Escrita da Cache n Leitura: • Mais frequentes, rápidas e fáceis de implementar n 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) DI UFPE GRECO

Políticas de Escrita e Consistência n Write through • Cache e memória são atualizadas

Políticas de Escrita e Consistência n Write through • Cache e memória são atualizadas simultaneamente n Write back • Memória principal é atualizada quando bloco é substituído • Usa dirty bit para marcar linhas alteradas na cache. DI UFPE GRECO

Memória Cache: escrita n DI UFPE GRECO Para se evitar espera durante escrita: êWrite

Memória Cache: escrita n DI UFPE GRECO Para se evitar espera durante escrita: êWrite buffers

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

Exemplo: Alpha AXP 21064 n Cache separadas de dados e de instruções • Vantagens: – Melhor capacidade de otimizações – Evita hazard estrutural n Características: • Tamanho: 8192 bytes • Blocos de 32 bits • Mapeamento direto • Write through • Four buffer write-buffer DI UFPE GRECO

Alpha AXP 21064 - Cache Dados Tag Indice Endereço Off. Tag (21) Val. (1)

Alpha AXP 21064 - Cache Dados Tag Indice Endereço Off. Tag (21) Val. (1) Dados (256) CPU Dados Entrada Saída 256 blocos =? DI UFPE GRECO Mux Buffer de Escrita

Memórias mais largas CPU Multiplexador Cache Memória DI UFPE GRECO

Memórias mais largas CPU Multiplexador Cache Memória DI UFPE GRECO

Memória “Interleaved” CPU Cache Memória DI UFPE GRECO Cache Banco 0 Memória Banco 1

Memória “Interleaved” CPU Cache Memória DI UFPE GRECO Cache Banco 0 Memória Banco 1 Memória Banco 2 Memória Banco 3 Memória

Memória Interleaved Bancos de memória para escrita/leitura de múltiplas palavras n Reduz penalidade n

Memória Interleaved Bancos de memória para escrita/leitura de múltiplas palavras n Reduz penalidade n Necessita pouco hardware adicional n DI UFPE GRECO

Código Corretor de Erro: Código de Hamming - Capaz de corrigir 1 erro (Single

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) Bits de Dados 1 1 1 0 1 Bits de verificação (redundantes) 1 1 0 Erro DI UFPE GRECO 1 0 1 0 1 0

Código de Hamming DI UFPE GRECO Exemplo: Check bit 12 1100 11 10 1010

Código de Hamming DI UFPE GRECO Exemplo: Check bit 12 1100 11 10 1010 9 1001 8 1000 C 8 7 0111 6 0110 5 0101 4 0100 C 4 3 0011 2 0010 C 2 1 0001 C 1 M bits de dados K bits de verificação devem ser capazes de codificar erros em M+K posições, quando houver erro, mais uma posição que indica que não houve erro. Data bit M 12 k M 11 => 2 ³ M + K + 1 M 10 M 9 M 7 M 6 M 5 M 3 C 1 = M 3 O+ M 5 + M 7 + +OM 11 O O M 9 C 2 = M 3 + M 7 + O+ M 6 O OM 10 +OM 11 C 4 = M 5 O+ M 6 O + M 7 + OM C 8 = M 9 O+ M 10 O + M 11 + OM