34 pág.

Aula_09

Disciplina:Organização de Computadores3.991 materiais61.816 seguidores
Pré-visualização1 página
ORGANIZAÇÃO DE COMPUTADORES
SIMONE MARKENSON
Rio de Janeiro, maio de 2011
1
CONTEÚDO DA AULA

HIERARQUIA DE MEMÓRIA

COMPONENTES DA M.P.

OPERAÇÕES NA M.P.

UNIDADES

MEMÓRIA CACHE

HIERARQUIA DAS MEMÓRIAS
VELOCIDADE

CUSTO
CAPACIDADE DE
ARMAZENAMENTO
HIERARQUIA DAS MEMÓRIAS
COMPONENTES DA MEMÓRIA PRINCIPAL (MP)

1- REM  endereço em outro registrador

2- O endereço é colocado no barramento de endereço

3- Sinal de leitura no barramento de controle

4- Decodificação de endereço e localização da célula

5- RDM  MP pelo barramento de dados

6- Outro registrador  RDM
OPERAÇÃO DE LEITURA NA MP
1- REM  endereço em outro registrador

2- O endereço é colocado no barramento de endereço

3- RDM  Outro registrador

4- Sinal de escrita no barramento de controle

5- Decodificação de endereço e localização da célula

6- MP (REM)  RDM
OPERAÇÃO DE ESCRITA NA MP
Células  Organização da memória principal (padrão 8 bits)

Palavra  Conjunto de células com significado

Unidade de transferência  quantidade de bits transferidos de/para a memória

Capacidade de memória  quantidade de informações armazenadas
N = número de células * tamanho da célula
RESUMO DOS CONCEITOS
Considere um sistema cuja célula de memória é composta por 16 bits e o registrador de endereços possui 32 bits. Qual o tamanho máximo da memória principal neste sistema?

EXERCÍCIOS
Considere um sistema cuja célula de memória é composta por 16 bits e o registrador de endereços possui 32 bits. Qual o tamanho máximo da memória principal neste sistema?

	REM : 32 bits 	232 = 4G células
EXERCÍCIOS
Considere um sistema cuja célula de memória é composta por 16 bits e o registrador de endereços possui 32 bits. Qual o tamanho máximo da memória principal neste sistema?

	REM : 32 bits 	232 = 4G células

	Cada célula possui 16 bits = 2 bytes

	Total = 4G x 2B = 8GB

EXERCÍCIOS
Quantos bits o registrador de endereços deve ter para endereçar uma memória de 4GB onde cada célula possui 64 bits?

EXERCÍCIOS
Quantos bits o registrador de endereços deve ter para endereçar uma memória de 4GB onde cada célula possui 64 bits?

	Célula  64 bits = 8 bytes

EXERCÍCIOS
Quantos bits o registrador de endereços deve ter para endereçar uma memória de 4GB onde cada célula possui 64 bits?

	Célula  64 bits = 8 bytes

	Quantidade de células = 4GB / 8B = 232 x 2-3 = 229 células
				
	REM  29 bits

EXERCÍCIOS
O acesso a cache é transparente para a aplicação e para o sistema operacional, uma vez que todo o gerenciamento da memória cache é feito por hardware

O processador inicia a operação de leitura para o endereço desejado da Memória Principal

O sistema de controle da cache intercepta o endereço e conclui se o dado solicitado está ou não armazenado na cache. Um acerto é denominado cache hit e a falta é denominada cache miss

Se ocorrer um cache miss o controlador da memória principal é acionado para localizar o dado na memória, transferindo-o para a cache. Um novo acesso é feito a memória cache

MEMÓRIA CACHE
EXEMPLO DE OPERAÇÃO DE LEITURA
INSERIR ILUSTRAÇÃO AULA MEMÓRIA DE S.O.
PRINCÍPIO DA LOCALIDADE

TEMPORAL
Se um item é referenciado, tende a ser referenciado novamente.

Exemplo: loops (instruções e dados)
	
ESPACIAL
Se um item é referenciado, itens cujos endereços são próximos tendem a ser referenciados em seguida.

Exemplo: acesso a dados de um array
COMO FUNCIONA?
ORGANIZAÇÃO DA CACHE
Tamanho da Cache
 	caches pequenas têm desempenho ruim

 Organização Física
 	acesso associativo
 	acesso direto

 Tamanho do bloco
	a quantidade de dados trocados entre a cache e memória principal
	blocos maiores: maior taxa de acertos devido ao princípio da localidade
 	blocos ainda maiores: menor taxa de acertos já que a probabilidade de acesso a uma palavra não carregada por causa do bloco maior é maior

FUNÇÕES DO CONTROLADOR DA CACHE
Função de mapeamento
	 indica qual slot um bloco irá ocupar na cache
	 quanto mais flexível, maior o custo de hardware para localizar um bloco

 Algoritmo de substituição
 	indica o bloco a ser substituído
 	algoritmo preferencial: Least-Recently-Used (LRU)

Política de escrita na MP(quando atualizar a memória principal)
 	a cada escrita: mais acessos à memória (write-through)
 	na substituição: problemas de consistência (write-back
Direto: Cada bloco da MP tem uma linha de cache previamente definida. Como o tamanho da memória é muito maior que o tamanho da cache, é necessário se obter o tag do bloco e verificar se é o mesmo tag que está na linha indicada, indicando um hit. É um método simples, porém de pouca flexibilidade
Associativo: Não há local fixo na cache para um bloco da MP, no entanto será necessário comparar o tag com o tag de cada linha
Associativo por conjunto: Utiliza conceitos das técnicas anteriores, utilizando mapeamento direto para identificar um bloco e mapeamento associativo para localizar o dado dentro do bloco

MAPEAMENTO: MP  CACHE
FIFO  First In First Out
	A primeira linha acessada será a primeira a sair

LRU Least Recently Used

	A linha menos recentemente acessada será a primeira a sair

Aleatório

ALGUNS ALGORITMOS DE SUBSTITUIÇÃO
Exemplo - FIFO
inicio
1
7
2
5
8
4
1
3
L1
1
1
L 2
2
2
L3
3
3
L4
4
4
L5
5
5
L6
6
6
CH
Exemplo - FIFO
inicio
1
7
2
5
8
4
1
3
L1
1
1
7
L2
2
2
2
L3
3
3
3
L4
4
4
4
L5
5
5
5
L6
6
6
6
CH
CM
Exemplo - FIFO
inicio
1
7
2
5
8
4
1
3
L1
1
1
7
7
7
L2
2
2
2
2
2
L3
3
3
3
3
3
L4
4
4
4
4
4
L5
5
5
5
5
5
L6
6
6
6
6
6
CH
CM
CH
CH
Exemplo - FIFO
inicio
1
7
2
5
8
4
1
3
L1
1
1
7
7
7
7
L2
2
2
2
2
2
8
L3
3
3
3
3
3
3
L4
4
4
4
4
4
4
L5
5
5
5
5
5
5
L6
6
6
6
6
6
6
CH
CM
CH
CH
CM
Exemplo - FIFO
inicio
1
7
2
5
8
4
1
3
M1
1
1
7
7
7
7
7
7
M2
2
2
2
2
2
8
8
8
M3
3
3
3
3
3
3
3
1
M4
4
4
4
4
4
4
4
4
M5
5
5
5
5
5
5
5
5
M6
6
6
6
6
6
6
6
6
CH
CM
CH
CH
CM
CH
CM
Exemplo - FIFO
inicio
1
7
2
5
8
4
1
3
M1
1
1
7
7
7
7
7
7
7
M2
2
2
2
2
2
8
8
8
8
M3
3
3
3
3
3
3
3
1
1
M4
4
4
4
4
4
4
4
4
3
M5
5
5
5
5
5
5
5
5
5
M6
6
6
6
6
6
6
6
6
6
CH
CM
CH
CH
CM
CH
CM
CM
Exemplo - LRU
inicio
1
7
2
5
8
4
1
3
L1
1
L2
2
L3
3
L4
4
L5
5
L6
6
Exemplo - LRU
inicio
1
7
2
5
8
4
1
3
L1
1
1
1
1
L2
2
2
7
7
L3
3
3
3
2
L4
4
4
4
4
L5
5
5
5
5
L6
6
6
6
6
CH
CM
CM
Exemplo - LRU
inicio
1
7
2
5
8
4
1
3
L1
1
1
1
1
1
1
1
L2
2
2
7
7
7
7
7
L3
3
3
3
2
2
2
2
L4
4
4
4
4
4
8
8
L5
5
5
5
5
5
5
5
L6
6
6
6
6
6
6
4
CH
CM
CM
CH
CM
CM
Exemplo - LRU
inicio
1
7
2
5
8
4
1
3
L1
1
1
1
1
1
1
1
1
1
L2
2
2
7
7
7
7
7
7
3
L3
3
3
3
2
2
2
2
2
2
L4
4
4
4
4
4
8
8
8
8
L5
5
5
5
5
5
5
5
5
5
L6
6
6
6
6
6
6
4
4
4
CH
CM
CM
CH
CM
CM
CH
CM
Um processador possui um RDM com capacidade de armazenar 64 bits em um REM  com capacidade de armazenar 35 bits. A memória deste sistema é de 128 GB
Qual a capacidade máxima de endereçamento?
Qual o tamanho da célula de memória?
Qual o tamanho da palavra de memória?

1) 32G, 32 bits e 32 bits
2) 16M, 16 bits e 32 bits
3) 32G, 32 bits e 64 bits
4) 32G, 16 bits e 16 bits
REGISTRO DE FREQUÊNCIA
RDM com de 64 bits
REM com 35 bits
Tamanho da memória 128GB

Qual a capacidade máxima de endereçamento?
	REM : 35 bits  235 = 25 * 230 células = 32G endereços
Qual o tamanho da célula de memória?
	128GB / 32G endereços = 4B por endereço
	Cada célula possui, então, 32 bits = 4 bytes
Qual o tamanho da palavra de memória?
	64bits (RDM)

REGISTRO DE FREQUÊNCIA
Em que circunstância uma cache que funciona com mapeamento associativo por conjunto pode ser considerada igual a cache que funciona com mapeamento direto?

1) Depende do tamanho da cache
2) Na etapa de endereçamento do conjunto
3) Na etapa de localização dentro do bloco
4) Em nenhuma etapa
REGISTRO DE FREQUÊNCIA