Mem - PowerPoint PPT Presentation

About This Presentation
Title:

Mem

Description:

Organizacao de Computadores: Memoria - CIn - Centro de ... ... Mem ria – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 54
Provided by: GRECOD7
Category:
Tags: mem | slides

less

Transcript and Presenter's Notes

Title: Mem


1
Memória
2
Sistema Básico de Memória
Fluxo de Dados
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)

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
  • 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

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

11
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)

12
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

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

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

22
Memória Cache
23
Comparação da Performance da Mem. Principal e CPU
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

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
  • 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 gt 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 lt 66MHz.Melhor se
    gt 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 CacheTipos 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
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
  • Tamanho8192 bytes
  • Blocos de 32 bits
  • Mapeamento direto
  • Write through
  • Four buffer write-buffer

48
Alpha AXP 21064- Cache Dados
49
Memórias mais largas
50
Memória Interleaved
CPU
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 ErroCó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
0
1
0
1
Bits de verificação (redundantes)
0
1
1
0
1
0
0
1
Erro
53
Código de Hamming
Exemplo Check Data bit
bit 12 1100 M12 11 1011 M11 10
1010 M10 9 1001 M9 8 1000 C8
7 0111 M7 6 0110 M6 5 0101
M5 4 0100 C4 3 0011 M3 2
0010 C2 1 0001 C1
M bits de dados K bits de verificação devem ser
capazes de codificar erros em MK posições,
quando houver erro, mais uma posição que
indica que não houve erro. gt 2k ³ M K 1
Write a Comment
User Comments (0)
About PowerShow.com