Buscar

AULA_5_MEMÓRIA_CACHE[1]

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

FACULDADE ESTÁCIO 
 
SISTEMAS DE INFORMAÇÃO 
AULA 5 – MEMÓRIA CACHE
Organização de Computadores 
PROF :DJACIR MACIEL
maciel.estacio@gmail.com
A memória Cache foi criada na busca pela otimização da relação entre o processador e a memória principal;
O melhor resultado obtido foi o ganho de velocidade de execução de instrução pelo processador;
	Memória Cache
Para que seja possível entender perfeitamente o sentido da criação e do desenvolvimento das memórias cache é necessário entender dois conceitos:
Diferença de Velocidade Processador/MP;
Conceito de Localidade. 
	Memória Cache
Diferença de Velocidade Processador/MP
Se todos os circuitos do processador e da MP fossem fabricados com elementos de mesma tecnologia, este problema deixaria de existi e não havia necessidade de memória cache.
	Memória Cache
Conceito de Localidade
	Memória Cache
Conceito de Localidade
O conceito de localidade é definido como a relação entre a forma como o programa foi desenvolvido e o processo e como eles são executados pela CPU;
	Memória Cache
Conceito de Localidade
Este princípio pode ser decomposto em duas modalidade:
Localidade espacial 
e Temporal 
	Memória Cache
Localidade espacial 
	Memória Cache
Localidade Temporal 
	Memória Cache
Localidade Temporal 
	Memória Cache
Organização e Funcionamento da Memória Cache
 A memória cache, deve possuir : 
Elevada velocidade de transferência; 
Tamanho capaz de armazenar partes de um programa, para obter o máximo rendimento do princípio da localidade espacial e
Devem ser suficientemente pequenas para não elevar em excesso o custo do sistema de computação.
	Memória Cache
Funcionamento da Memória Cache 
	Memória Cache
Eficiência da Cache 
E = (Acertos (hit) / Total de Acertos) * 100
	Memória Cache
Organização Genérica de Memórias Cache
Disposição física da MP
	Memória Cache
Disposição genérica de uma Memória Cache 
	Memória Cache
Disposição genérica de uma Memória Cache 
	Memória Cache
No entanto , a quantidade de blocos B é sempre muito maior que a quantidade de linhas L; 
Isso requer que se tenha que métodos para mapear os blocos da MP nas poucas linhas da cache;
Existem três métodos desenvolvidos :Direto, Associativo e Associativo por Conjunto; 
	Memória Cache
TIPOS DE USO DE MEMÓRIA CACHE
Existem dois tipos básicos de empregos de cache nos sistemas : 
Relação UCP/MP (cache de RAM ou RAM Cache); 
Relação MP/Discos (cache de disco ou "Disk Cache).
	Memória Cache
ELEMENTOS DE PROJETO DE UMA MEMÓRIA CACHE 
Para se efetivar o projeto e a implementação de uma memória cache deve-se decidir entre várias alternativas tecnológicas, atualmente disponíveis, as quais podem ser agrupadas por função:
	Memória Cache
Função de mapeamento de dados MP/cache;
Algoritmos de substituição de dados na cache;
Política de escrita pela cache;
Níveis de cache;
Definição do tamanho das memórias cache; 
Escolha de largura de linha de cache;
	Memória Cache
Mapeamento de Dados MP/Cache
A cada instante, a memória cache possui um conjunto de blocos de MP armazenados em suas linhas com os dados que o processador deve precisar (para haver acertos e não faltas).
Porém, como L << B ,(há muito mais blocos que linhas, não é possível uma linha da cache estar dedicada a armazenar um específico bloco da MP;
	Memória Cache
Em outras palavras, há necessidade de se determinar um meio eficaz de determinar qual a linha em que um bloco específico será armazenado, quando solicitado pelo sistema.
Como vimos antes, existem três métodos que iremos estudá-los agora;
	Memória Cache
Mapeamento Direto
Por esta técnica, cada bloco da MP tem uma linha da cache previamente definida onde será armazenado
Como há mais blocos do que linhas da cache, isso significa que muitos blocos irão ser destinados a uma mesma linha; 
Naturalmente, um bloco de cada vez; 
É, portanto, preciso definir a regra a ser seguida para a escolha da linha específica de cada bloco.
	Memória Cache
Mapeamento Direto
Memória Cache
Mapeamento Direto
Memória Cache
Nesta organização, cada bloco da Memória Principal só pode ser carregado numa determinada linha da Cache, não sendo possível carregá-lo em uma outra linha; 
O Bloco “0” é carregado na linha “0”, o bloco “1” na linha “1” e assim sucessivamente;
Memória Cache
Neste caso, quando um determinado bloco é mapeado para a última linha da cache, o bloco seguinte volta a ser mapeado na primeira linha dando a criação dos ciclos de mapeamento;
Diferentes endereços de blocos de memória podem estar mapeados na mesma linha;
Como saber de que região da memória pertence o conteúdo de uma determinada linha da cache? 
 É aí que entra o campo TAG.
Memória Cache
Ele guarda os bits mais significativos do endereço que representam o número do ciclo;
Permitindo que a cache identifique com exatidão de que lugar da Memória Principal pertence o conteúdo carregado naquela linha.
Memória Cache
Memória Cache Puramente Associativa
Neste tipo de cache, o bloco da Memória Principal pode ser carregado em qualquer uma das linhas existentes; 
Esta versatilidade resolve o problema de endereços conflitantes mencionado na Memória Cache de Mapeamento Direto.
Memória Cache
Sendo assim, a variedade de blocos da Memória Principal que podem vir a ser carregados em uma determinada linha é bem maior que a da cache de Mapeamento Direto;
Enquanto no Mapeamento Direto o TAG armazenava o número do ciclo, neste caso, o TAG irá armazenar o endereço do bloco, já que pode ser carregado em uma determinada linha qualquer bloco da Memória Principal.
Memória Cache
Memória Cache Puramente Associativa
Memória Cache
Quando a CPU solicita o conteúdo de uma determinada célula da Memória Principal, a Memória Cache verifica se algum TAG já contém o endereço;
Como o bloco pode estar carregado em qualquer linha, a Memória Cache (que é do tipo associativa) compara o endereço do bloco, com os TAGs de todas as linhas simultaneamente.
Memória Cache
Caso ocorra alguma coincidência, então teremos um hit, e neste caso a cache fornece o conteúdo correspondente numa velocidade muito superior ao da Memória Principal; 
Contudo, se nenhum TAG contiver o endereço do bloco, então teremos um miss, forçando a Memória Cache a carregar este bloco em uma de suas linhas.
Memória Cache
Diferente do Mapeamento Direto esta cache possui uma vasta opção de linhas para carregar o bloco; 
Sendo então necessário estabelecer um método de escolha da linha;
Foram criadas as políticas de substituição.
Memória Cache
Políticas de Substituição 
As políticas de substituição têm por objetivo escolher qual das linhas terá o seu conteúdo descartado para que um outro bloco seja carregado; 
A esta linha damos o é dado o Nome de Linha Vítima. 
Memória Cache
No momento em que se vai fazer a inserção de um dado,é necessário retirar um conteúdo já existente é necessário utilizar um método de escolha;
Aleatório;
FIFO;
LFU (Menos Freqüentemente Usada);
LRU (Menos Recentemente Usada).
Memória Cache
Memória Cache Associativa por Conjunto 
Neste tipo de cache, as suas linhas são agrupadas formando diversos conjuntos de linhas dentro da cache; 
O bloco da Memória Principal será mapeado para um desses conjuntos de forma semelhante ao Mapeamento Direto.
Memória Cache
Memória Cache Associativa por Conjunto 
Memória Cache
Considerando que este mapeamento é feito para um conjunto de linhas, então, poderão ser carregados a mesma quantidade de blocos que linhas existentes no conjunto, diminuindo a possibilidade de misses; 
Dentro de um determinado conjunto, o bloco pode ser carregado em qualquer uma das linhas; 
Memória Cache
Níveis de Cache de Memória 
Atualmente, os fabricantes e montadores de sistemas estabeleceram dois e até três diferentes níveis de memória cache, todos constituídos de memórias SRAM, porém cada uma com
características e localização diferentes;
Memória Cache
Estes níveis,/camadas são classificados, dependendo do projeto do sistema de computação:
Nível1(Level 1) ou L1, sempre localizada no interior do processador;
Nível 2 (Level 2) ou L2, sendo localizado em geral, na placa-mãe do computador, ou seja, exteno ao processador. 
Memória Cache
Porém, têm sido lançados processadores em que a cache L2 está localizada no interior da pastilha do processador, separada deste;
Nível 3 (Level 3) ou L3 - existente em alguns processadores, quando estes possuem L1 e L2 internamente em seu invólucro; 
Memória Cache
As memórias podem ser fabricadas com duas características : Cache de instrução I e D, de cache de dados).
Memória Cache
Tamanho da Memória Cache
A definição da faixa de tamanho adequada para uma cache depende de uma série de fatores específicos de um certo sistema, tais como:
Tamanho da memória principal,
Relação acertos,/fa1tas,
Tempo de acesso da MP,
Custo médio por bit, da MP, e da memória cache L7 ou L2,
Tempo de acesso da cache L7 ou L2,
Natureza do programa em execução (princípio da localidade).
Memória Cache
 OBRIGADO 
Memória Cache

Teste o Premium para desbloquear

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

Outros materiais