Aula_09
34 pág.

Aula_09


DisciplinaOrganização de Computadores4.910 materiais85.175 seguidores
Pré-visualização2 páginas
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 \uf0df 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 \uf0df MP pelo barramento de dados
6- Outro registrador \uf0df RDM
OPERAÇÃO DE LEITURA NA MP
1- REM \uf0df endereço em outro registrador
2- O endereço é colocado no barramento de endereço
3- RDM \uf0df 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) \uf0df RDM
OPERAÇÃO DE ESCRITA NA MP
Células \uf0e8 Organização da memória principal (padrão 8 bits)
Palavra \uf0e8 Conjunto de células com significado
Unidade de transferência \uf0e8 quantidade de bits transferidos de/para a memória
Capacidade de memória \uf0e8 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 \uf0e8	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 \uf0e8	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 \uf0e8 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 \uf0e8 64 bits = 8 bytes
	Quantidade de células = 4GB / 8B = 232 x 2-3 = 229 células
				
	REM \uf0e8 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 \uf0df\uf0e0 CACHE
FIFO \uf0e8 First In First Out
	A primeira linha acessada será a primeira a sair
LRU \uf0e8Least 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 \uf0e8 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