Memria DI UFPE GRECO Memria Vs Armazenamento Fichrio




















































- Slides: 52
Memória DI UFPE GRECO
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 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 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 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 (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, 1981 DI UFPE GRECO
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
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 • 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
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 • 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 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 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 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 = 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 = 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 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
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 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 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 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 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
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 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 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 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 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 DI UFPE GRECO
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 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 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 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
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 (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 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 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 buffers
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) 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ó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 Necessita pouco hardware adicional n DI 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) 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 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