1 / 53

Memória

Memória. CPU. Memória Principal. Memória Secundária. Registradores. Barramento de E/S. Barramento de memória. Sistema Básico de Memória. Fluxo de Dados. Localização CPU Placa mãe (primária) Externa (secundária) Capacidade Tamanho e Núm. de palavras Unidade de Transf.

jesse
Télécharger la présentation

Memória

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Memória

  2. CPU Memória Principal Memória Secundária Registradores Barramento de E/S Barramento de memória Sistema Básico de Memória Fluxo de Dados

  3. 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 Características de Memória

  4. 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) Nomenclatura Básica

  5. Tipos Básicos de Memória Semicondutora

  6. RAM Dinâmica vs. Estática • 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 • SRAM (Static Random Acess Memory) • Pequeno tempo de acesso • Não existe necessidade de refreshing • Alto custo por bit (baixa integração)

  7. 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 Encapsulamento Montagem na MB

  8. DIMM

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

  10. ____ ___ __ __ RAS CAS W OE MUX Row Dec oder A0 A1 ... ... A10 D1 D2 D3 D4 Column Decoder • 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) DRAMOrganização Internae Método de Acesso

  11. 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. Modo de Acesso • Ex: FPM RAM • Ativa uma fila (RAS) • Acessos sequenciais a colunas (vários pulsos de CAS)

  12. FPM DRAM - Fast Page Mode DRAM EDO DRAM - Extended Data-Output DRAM FPM DRAM • DRAM mais simples • Tempo de acesso 70ns and 60ns. • Acesso page mode = 5/3/3/3 a 66MHz 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

  13. 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

  14. 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 BEDO - Burst EDO DRAM

  15. 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 SDRAM - Synchronous DRAM

  16. Transfere dados na subida e descida do clock (compensa o uso de barramentos lentos) Uso de Serial Presence Detect para Plug-and-Play DDR SDRAM – Double Data Rate SDRAM

  17. 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 Direct Rambus DRAM ou RDRAM

  18. Direct Rambus DRAM ou RDRAM

  19. Direct Rambus DRAM ou RDRAM

  20. Desenvolvido pelo SLDRAM Consortium (20 empresas) Uso de tecnologia mais comum: bus de 64-bit a200 MHz Transferência de dados na subida e descida do clock 3,2 GByte/s Synchronous Link DRAM - SLDRAM

  21. 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 Memórias para Controlador de Vídeo

  22. Memória Cache

  23. 350 DecAlpha 300 250 200 DecAlpha 150 IBMPower2 DecAlpha 100 HP900 MIPS R3000 MIPS R2000 50 IBMPower1 SUN 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 Comparação da Performance da Mem. Principal e CPU CPU Memória

  24. Quadro Fichário Pasta 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

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

  26. 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.

  27. Hierarquia de Memória chip CPU Registradores Reg. Velocidade Cache cache (L1) Principal cache (L2) Custo e tamanho Cache de Disco memória principal Disco Magnético memória secundária Fita CD-ROM

  28. Níveis de memória

  29. Características da Memória Cache • Estratégia de Escrita • Write through • Write back • Núm. de Caches • Single X Two-level • Unified X Split • 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)

  30. 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.

  31. 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. Async SRAM

  32. 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. SB SRAM - Syncronous Burst SRAM

  33. 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. PB SRAM - Pipeline Burst SRAM (cache)

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

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

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

  37. Mapeamento direto

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

  39. Mapeamento Associativo

  40. Mapeamento Associativo por Conjunto • 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 Memória principal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 31 Memória cache Conjuntos (sets) dados tag Exemplo: two-way set associative tag = 12 / 4 = 3 (0112)) set = 12 mod 4 = 0 { 011 { Endereço da palavra Tag set Offset { 011 00 { Offset

  41. Mapeamento Associativo por Conjunto

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

  43. 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

  44. 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)

  45. 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.

  46. Memória Cache: escrita • Para se evitar espera durante escrita: • Write buffers

  47. 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

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

  49. CPU CPU Multiplexador Cache Cache Memória Memória Memórias mais largas

  50. CPU Cache Cache Banco 0 Memória Banco 1 Memória Banco 2 Memória Banco 3 Memória Memória “Interleaved” CPU Memória

More Related