Você está na página 1de 4

Memria Cache e a sua importncia no desempenho do processador

Jorge Barbosa

Memria Cache
Observao:
Tempo de execuo = ciclos de relgio executando cdigo + ciclos de relgio espera da memria. Durante muitos anos a taxa de crescimento em velocidade dos processadores foi significativamente superior taxa de crescimento da velocidade da memria.

Assim, o acesso memria constitui um estrangulamento/obstculo ao desempenho do processador. Definio de Cache:


A memria cache um nvel da hierarquia de memria, de pequena dimenso, de acesso rpido, em relao restante memria, com a funo de melhorar o tempo de acesso mdio memria.

Hierarquia de Memria
A memria CACHE serve de interface entre o processador e a memria primria mais lenta. Explora a localizao temporal e espacial dos dados.

Memria Remota

Ethernet
Maior dimenso

Registos L1-cache L2-cache Memria Primria Memria Secundria: discos, etc


Secundria
Maior velocidade

PROCESSADOR Registo Cache Primria

Evoluo dos processadores e memrias

Memria Cache
Cache Hit: O CPU solicita dados que esto disponveis na CACHE. Hit Rate corresponde percentagem de cache hits sobre o total de acessos. Cache Miss: O CPU solicita dados que no esto na CACHE. O tempo de falha corresponde ao tempo necessrio para obter os dados pretendidos, sendo dependente da arquitectura da mquina. Cache L1 e L2: normalmente existe a cache L1 que est situada no mesmo integrado do CPU e a L2 instalada em integrado separado. As falhas ao nvel da L1 so mais rpidas de resolver do que as de nvel 2.

Memria Cache - conceitos


A memria CACHE foi desenvolvida com base em dois conceitos chave:
Localizao Espacial
Quando um elemento pedido os seus vizinhos tambm o sero. Uma linha de Cache lida de uma s vez. eficiente trabalhar com os elementos consecutivos de uma linha de cache.

Localizao Temporal
Quando um elemento acedido, provvel que o venha a ser novamente em breve. O cdigo deve ser organizado de modo a que os dados na cache sejam usados com mais frequncia.

Realidade uniprocessador
Os processadores modernos usam uma variedade de tcnicas para aumentar o desempenho:
Cache Paralelismo
Processadores superescalares possuem mltiplas unidades funcionais que operam em paralelo.

Pipelining
Os processadores possuem unidades que operam em paralelo como uma linha de montagem.

Qual o objectivo desta anlise:


Em teoria os compiladores suportam todas estas tecnologias e podem optimizar o nosso cdigo;

na prtica no conseguem.

Você também pode gostar