Buscar

297564_Cap_04[1]

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Click to edit Master title style
Click to edit Master subtitle style
*
*
William Stallings 
Arquitetura e Organização de Computadores
Capítulo 4
Memória Interna
*
*
*
Características
Localização
Capacidade (importante para o usuário)
Unidade de transferência
Método de acesso
Desempenho (importante para o usuário)
Tecnologia
Características físicas
Organização
*
*
*
Localização
Processador
Interna (principal)
Externa (secundária)
*
*
*
Capacidade
Tamanho da palavra
Unidade “natural” da organização da memória
Número de palavras
Ou bytes
*
*
*
Unidade de transferência
Interna
Normalmente governada pela largura do barramento de dados
Externa
Normalmente um bloco o qual é muito maior que a palavra
Unidade endereçável
A menor localização que pode unicamente endereçável
Internamente palavra
Blocos nos discos
*
*
*
Métodos de acesso (1)
Seqüencial
Começa no início e le em ordem
O tempo de acesso depende da localização do dado e e da posição prévia
p.e. fita
Direto
Cada bloco individual possui endereço único
O acesso é feito por meio de um acesso direto a uma vizinhança genérica e depois uma pesquisa seqüencial
O tempo de acesso depende da localização do dado e e da posição prévia
p.e. disco
*
*
*
Métodos de acesso (2)
Aleatório (randômico)
Endereços individuais identificam exatamente as localizações
O tempo de acesso é independente da localização ou do acesso anterior
p.e. RAM
Associativo
Uma palavra é buscada na memória com base em uma parte do seu conteúdo
O tempo de acesso é independente da localização ou do acesso anterior
p.e. cachê
*
*
*
Desempenho
Tempo de acesso
O tempo entre a apresentação do endereço e a obtenção do dado válido
Tempo de ciclo
Tempo que pode se requerido para a memória “recuperar” antes do próximo acesso
Tempo do ciclo é acesso + recuperação
Taxa de transferência
A taxa na qual o dado pode ser movido
*
*
*
Tecnologia
Semicondutores
RAM
Magnéticos
Disco e Fita
Ópticos
CD e DVD
Outros
Bolha 
Holograma
*
*
*
Características físicas
Decadência (Decay)
Volatilidade
Pode ser apagado
Consumo de energia
*
*
*
Organização
Configuração física dos bits nas palavras
Não é sempre obvia
p.e. interlaçada (interleaved)
*
*
*
A Linha de Fundo
Quanto armazena? 
Capacidade 
Quanto rápido? 
Tempo é dinheiro 
Quanto custa? 
*
*
*
A hierarquia da memória
Memória interna
Registradores
Memória cachê
Memória principal (RAM)
Armazenamento externo
Disco magnético
CD_ROM, CR_RW
DVD
Armazenamento de segurança
Fita magnética, DAT
WORM
*
*
*
A hierarquia da memória
À medida que descemos 
 o custo por bit cai
 a capacidade aumenta
 o tempo de acesso aumenta
 a freqüência de acesso cai
*
*
*
Lista da hierarquia
Registradores
Cachê L1
Cachê L2
Memória principal
Cachê de disco
Disco
Óptico
Fita
*
*
*
Então queremos rapidez?
É possível construir um computador que só usa RAM estático (veja depois)
Seria muito rápido
Não seria necessário cachê
Como usar cachê para cachê?
Seria muito caro (financeiramente)
*
*
*
Memória de semicondutores
RAM (random-access memory)
Existem outras memórias de semicondutores que são de acesso aleatório
Leitura/escrita
Volátil
Armazenamento temporário
Estática ou dinâmica
*
*
*
RAM Dinâmica
Bits armazenados como carga em capacitores
Os capacitores descarregam
Necessitam de regeneração (refresh) mesmo ligados
Construção mais simples
Menor por bit
Mais baratos
Necessitam de circuitos de regeneração (refresh)
Mais lento
Memória principal
*
*
*
RAM Estática
Bits são armazenados com chaves on/off
Não ha cargas para descarregar
Não necessitam de regeneração quando ligados
Construção mais complexa
Maiores por bits
Mais caros
Não necessitam de circuitos de regeneração (refresh)
Mais Rápidos
Cachê
*
*
*
Memória apenas de leitura ROM
Read Only Memory (ROM)
Memória permanente
Microprogramação
Biblioteca de sub-rotinas
Programa de sistema (BIOS)
Tabelas de funções
*
*
*
Tipos de ROM
Gravadas durante a fabricação
Muito caro para pequenas quantidades
Programável (só uma vez)
PROM
Precisa de equipamentos especiais para gravação
“Principalmente” leitura
(EPROM - Erasable Programmable)
Erased by UV
Apaga eletricamente (EEPROM - Electrically Erasable)
Demora muito mais para escrever do que para ler
Memória Flash
Apaga toda memória eletricamente
*
*
*
Organização em detalhes
Um chip de 16MBit pode ser organizado como 1M de palavras de 16 bits
Um sistema de um bit por chip tem 16 fatias de chip de 1 Mbit com o bit 1 de cada palavra no chip 1, e assim por diante
Um chip de 16Mbit pode ser organizado como uma matriz 2048 x 2048 x 4 bit
Reduz o número de pinos de endereço
Multiplexa os endereços de linhas e colunas
11 pinos para endereço (211=2048)
Adicionando mais um pino dobra a faixa de valores x4 a capacidade
*
*
*
Regeneração - Refreshing
Circuito de regeneração incluído no chip
Desabilita o chip
Conta por linhas
Leitura e reescrita
Gasta tempo
Reduz o desempenho
*
*
*
16 Mb DRAM Típico (4M x 4)
RAS row address select
CAS column address select
WE write enable
OE output enable
*
*
*
Empacotamento
A
A address
D data
Vcc power
Vss ground
Vpp write
CE chip enable
B
A address
D data
Vcc power
Vss ground
CAS column
RAS row
OE Output enable
WE write enable
*
*
*
Organização
em módulos
*
*
*
Organização em módulos (2)
*
*
*
Correção de erros
Falhas de hardware
Defeito permanente
Erro moderado
randômico, não destrutivo
Nenhum dano permanente para memória
Detectado usando o código de correção de erros de Hamming
*
*
*
Código de correção de erro
*
*
*
Localidade da referencia
Durante o curso da execução de um programas, as referencias a memória (endereços) tendem a ficarem próximas
p.e. loops
*
*
*
Temporalidade da referencia
Durante o curso da execução de um programas, as referencias a memória (endereços) tendem a ficarem próximas em relação ao tempo
p.e. loops
*
*
*
Cachê
Quantidade pequena de memória rápida
Situa-se entre memória principal normal e CPU
Pode estar localizada na CPU ou módulo
*
*
*
Operação da cachê - avaliação
CPU solicita um dado na memória
Confira se os dados estão na cachê
Se presente, obtenha o dado da cachê (rápido)
Senão, leia o bloco da memória para a cachê
Então entregue o dado da cachê
A cachê inclui rótulos para identificar qual bloco de memória está em cada linha da cachê 
*
*
*
Projeto de cachê
Tamanho
Função de mapeamento
Algoritmo de substituição
Política de escrita
Tamanho da linha
Número de memórias cachê
*
*
*
Tamanho importa
Custo
Mais cachê e mais caro
Velocidade
Mais cachê é mais rápida (até certo ponto)
Verificar dados na cachê demora tempo
*
*
*
Organização típica de cachê
*
*
*
Função de mapeamento
Cachê de 64kByte
Bloco de cachê de 4 bytes
p.e a cachê é de 16k (214) linhas de 4 bytes
16MBytes de memória principal
24 bit de endereço
(224=16M)
*
*
*
Mapeamento direto
Cada bloco da memória mapeia em apenas uma linha da cachê
p.e. Se um bloco esta na cachê, só estará em um lugar
O endereço é composto de duas partes
Os w bits menos significativos (LSB) formam um endereço único 
Os s bits mais significativos (MSB) especificam um bloco de memória
OS MSBS são divididos em campo da linha de cachê e um rotulo de s-r (mais significativos)
*
*
*
Mapeamento direto
estrutura dos endereços
Endereço de 24 bits
2 bits identificador da palavra (bloco de 4 byte)
Identificador do bloco (22 bits)
Rotulo 8 bit (=22-14)
Linha de 14 bits
Não existe dois blocos na mesma linha com o rotulo igual
Verifica o conteúdo da cachê encontrando a linha e verificando o rótulo
Tag s-r
Line or Slot r
Word w
8
14
2
*
*
*
Mapeamento direto 
tabela das linhas do cachê
linha			Inicio do bloco
0				0, m, 2m, 3m…2s-m
1				1,m+1, 2m+1…2s-m+1
m-1			m-1, 2m-1,3m-1…2s-1
Formula linha = bloco % (numero de linhas)
*
*
*
Organização do mapeamento direto da cachê
*
*
*
Exemplo de mapeamento direto
*
*
*
Mapeamento direto pros & cons
Simples
Barato
Endereço fixo para um determinado bloco
Se um programa acessar 2 blocos que mapeam repetidamente à mesma linha, as falhas de
cachê serão muito alta
*
*
*
Mapeamento associativo
Um bloco da memória pode ser carregado em qualquer linha da cachê
Endereço de memória é interpretado como rótulo e palavra
O rótulo identifica unicamente um bloco de memória
Todo rótulo das linhas são examinados na busca
A busca no cachê torna-se cara
*
*
*
Organização cachê associativa - totalmente
*
*
*
Exemplo de mapeamento associativo
*
*
*
Estrutura de endereço no mapeamento associativo
Rótulo de 22 bits armazenados com cada bloco de dados de 32 bits
Compare o campo TAG com o campo TAG da cache para verificar o acerto
Os 2 bits menos significativos do endereço identificam qual palavra de 16 bits é requerida do bloco de dados de 32 bits
p.e.
Endereço		Rótulo		Dado		linha
FFFFFC		FFFFFC		24682468	3FFF
Tag 22 bit
Word
2 bit
*
*
*
Mapeamento associativo por conjuntos
A cachê é divida em um número de conjuntos
Cada conjunto contém um número de linhas
Um dado bloco mapeia para qualquer linha e um dado conjunto
p.e. o Bloco B pode estar em qualquer linha do conjunto i
p.e. 2 linhas por conjunto
Mapeamento associativo por conjunto de 2 linhas
Um dado bloco pode estar em uma de 2 linhas em um único conjunto
*
*
*
Exemplo de mapeamento associativo por conjunto
Número do conjunto de 13 bits
O número do bloco na memória é módulo de 213 
000000, 00A000, 00B000, 00C000 … mapeia para o mesmo conjunto
*
*
*
Organização-cachê associativa por conjuntos (2 linhas)
*
*
*
Estrutura do endereço do mapeamento associativo por conjunto
Use o campo SET para determinar o conjunto da cachê
Compare o campo TAG para ver se há um acerto
p.e.
Endereço		Rotulo		dado		Conjunto
1FF 7FFC	1FF	12345678	1FFF
001 7FFC	001	11223344	1FFF
Tag 9 bit
Set 13 bit
Word
2 bit
*
*
*
Mapeamento associativo por dois conjuntos - exemplo
*
*
*
Algoritmos de substituição (1)
Mapeamento direto
Não ha escolha
Cada bloco mapeia a uma única linha
Substitua esta linha
*
*
*
Algoritmos de substituição (2)
Associativa & conjuntos
Algoritmo implementado em hardware (velocidade)
Menos recente usado (LRU)
p.e. no mapeamento associativo por conjunto (2)
Qual dos 2 blocos é o LRU?
Primeiro que entra primeiro que sai (FIFO)
Troca o bloco que está na cache a mais tempo
Menos freqüentemente usado (LFU)
Troca o bloco o qual tem menos acerto
Randômico
*
*
*
Política de escrita
Não se pode sobrescrever um bloco na cachê amenos que a memória é atualizada
CPU múltiplas podem ter cachê individuais
I/O pode endereçar a memória diretamente
*
*
*
Escrita direta (Write through)
Todas as escritas vão tanto para a memória como para a cachê
CPU múltiplas podem monitora o trafego na memória para manter a cachê local atualizada
Muito trafego
Reduz a velocidade de escrita
*
*
*
Escrita de volta(Write back)
Inicialmente atualiza só na cachê
Bit de atualização para cada linha da cachê é setado quando ocorre uma atualização
Se um bloco é para ser trocado, escreva na memória somente se o bit de atualização está setado
Outras cachês ficam dissincronizadas
I/O deve acessar a memória através da cachê
N. 15% das referencias a memória são escritas
*
*
*
Tamanho da linha
Aumentar o tamanho do bloco aumenta a taxa de acerto (até certo ponto)
Blocos maiores implica em um número menor de blocos na memória
Blocos maiores maior a distancia entre as palavras do mesmo bloco
*
*
*
Número de cachê
Um ou dois níveis
L1
L2
Unificada ou separada
Dados
Instruções

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais