Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Memória 6 1
2
Sistema Básico de Memória
Fluxo de Dados CPU Registradores Memória Principal Secundária Barramento de memória de E/S
3
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
4
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) By 1998, Intel expects that the system bus will move to 100MHz and require SDRAM operating at 100MHz and higher. Current SDRAM designs can meet the 100MHz speed range, and SDRAM manufacturers claim that they can meet the industry's needs up to about 200MHz to 250MHz. To reach beyond that range will require a complete redesign of the SDRAM chip, which will very likely increase its footprint and cost. Neither of these alternatives is appealing to the industry as a whole. Two designs address Intel's memory speed and bandwidth needs: SyncLink and Rambus. SyncLink is a consortium of nine DRAM manufacturers, including Hyundai, IBM, Micron, NEC, and TI, which have proposed a draft standard to the IEEE for a uniform memory architecture that will evolve over several iterations. The SyncLink standard will be royalty-free and open to all. The proposal calls for a command-driven, packet-oriented bus operating at 400MHz, with a 16-bit-wide data path. SyncLink is slow in coming and has not progressed much past the conceptual stage. Rambus, on the other hand, has a working architecture, called Rambus DRAM (RDRAM), that comes close to meeting Intel's needs right now. Current RDRAM designs hit the 500MHz to 600MHz range to the memory controller. Additionally, Intel has entered an agreement with Rambus to develop even faster main DRAM. By using multiple channels or widening Rambus' current 8-bit channel size, Intel hopes to increase throughput to 1.6GB/sec. With that, Rambus will meet Intel's design needs for faster processors and a higher speed bus, as well as for AGP.
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
Encapsulamento SIMM DIMM 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
8
DIMM
9
Acesso a memória principal (DRAM)
______ 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
DRAM Organização Interna e 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) ____ ___ __ __ RAS CAS W OE Row Dec oder Column Decoder D1 D2 D3 D4 A0 A1 ... A10 MUX
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
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 50ns Para barramento de 66 MHz use 60 ns ou melhor. Acesso page mode = 5/2/2/2 a 66MHz
13
EDO DRAM Mé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
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 To help overcome these wait states, DRAM designers employ a bursting technique that allows sequential reading of an entire page of DRAM. Once the page address has been accessed, the DRAM itself provides the address of the next memory location. This address prediction eliminates the delay associated with detecting and latching an address externally provided to the DRAM. Implementing this burst feature requires the definition of burst length and burst type to the DRAM. The burst length is the actual length of the burst plus the starting address. This lets the internal address counter properly generate the next memory location. The burst type determines whether the address counter will provide sequential ascending page addresses or interleaved page addresses within the burst length.
15
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
16
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
17
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
18
Direct Rambus DRAM ou RDRAM
19
Direct Rambus DRAM ou RDRAM
20
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
21
Memórias para Controlador de Vídeo
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 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
22
Memória Cache
23
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 350 DecAlpha IBMPower2 HP900 IBMPower1 MIPS R3000 R2000 SUN CPU Memória
24
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 Quadro Fichário
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 Velocidade Custo e tamanho memória secundá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
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
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
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.
32
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.
33
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.
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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 30 31 Memória cache 1 2 3 4 5 6 7 Offset: identifica palavras em uma linha
36
Mapeamento Direto 0000...01 100 Offset Memória principal Memória cache
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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 31 Memória cache dados tag linha 0 (000) 1 (001) 2 (010) 3 (011) 4 (100) 5 (101) 6 (110) 7 (111) Exemplo: End. linha = 12 mod 8 = 4 tag = ë12 / 8 û = 1 Endereço da palavra Tag Linha Offset 01 Offset 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 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 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 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 { Offset
41
Mapeamento Associativo por Conjunto
42
Comparação de Métodos de Mapeamento
Mapeamento direto Simples e Barata Mais faltas Associativa Rápida Menos 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 = Þ 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
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
Alpha AXP 21064- Cache Dados CPU Mux Tag Indice Off. Val. (1) (21)
(256) =? CPU Entrada Saída Endereço Buffer de Escrita 256 blocos Mux
49
Memórias mais largas CPU Cache Memória Multiplexador
50
Memória “Interleaved”
CPU CPU Cache Cache Banco 0 Memória Banco 1 Memória Banco 2 Memória Banco 3 Memória Memória
51
Memória Interleaved Bancos de memória para escrita/leitura de múltiplas palavras Reduz penalidade Necessita pouco hardware adicional
52
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) 1 Bits de Dados 1 1 1 1 Bits de verificação (redundantes) 1 1 1 1 Erro
53
Código de Hamming C1 = M3 + M5 + M7 + M9 + M11
Exemplo: Check Data bit bit M12 M11 M10 M9 C8 M7 M6 M5 C4 M3 C2 C1 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. => 2k ³ M + K + 1 C1 = M3 + M M7 + M M11 C2 = M M6 + M M10 + M11 C4 = M5 + M6 + M M12 C8 = M9 + M10 + M11 + M12 O O O O O O O O O O O O O O
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.