Hierarquia de memoria

Disponível somente no TrabalhosFeitos
  • Páginas : 7 (1648 palavras )
  • Download(s) : 0
  • Publicado : 27 de maio de 2012
Ler documento completo
Amostra do texto
Hierarquia de Memória
Princípio da localidade um programa acessa uma porção relativamente pequena do espaço endereçável em um instante qualquer.

Localidade temporal Se um item é referenciado, ele tenderá a ser referenciado novamente.
Exemplo loops ( instruções e dados).

Localidade Espacial Se um item é referenciado, itens cujos endereços são próximos a este, tenderão a serreferenciados também.
Exemplo acesso a dados de um array.

Princípio da localidade Hierarquia de Memória

Hierarquia de Memória multi-níveis de memória com diferentes tamanhos e velocidades. As mais rápidas são as que tem maior custo de armazenamento por bit, e portanto as menores. Quanto menor a memória, mais perto do processador está localizada.

3 principais tecnologias usadas emhierarquia de memória:

Estrutura básica da hierarquia de memória

Relação entre os dados dos diversos níveis da hierarquia de memória

Bloco mínima unidade de informação que pode ou não estar presente em dois níveis de hierarquia de memória.
Hit se o dado acessado aparece em algum bloco no nível superior.
Miss se o dado acessado não aparece em algum bloco do nível superior.
Hit ratio (hitrate)razão de acessos encontrados pelo número total de acessos ao nível superior.
Miss ratio (miss rate)razão de acessos não encontrados pelo número total de acessos ao nível superior miss ratio = 1 – hit ratio.
Hit time tempo de acesso ao nível superior da hierarquia de memória, que inclui o tempo necessário para saber se no acesso ocorrerá um hit ou um miss.
Miss penalty tempopara recolocar um bloco no nível superior e enviá-lo ao processador, quando ocorrer um miss.
O maior componente do miss penalty é o tempo de acesso ao nível imediatamente inferior da hierarquia de memória.
Estrutura da hierarquia de memória

Memória Cache nível da hierarquia entre CPU e Memória
Principal ou qualquer espaço de armazenamento usado para tirar vantagem da localidade de acesso.Supondo uma cache simples onde um bloco corresponde a uma palavra e o processador acessa a uma palavra.
Supor um bloco Xn que inicialmante não esteja na cache:

Duas perguntas no acesso à cache:
Como saber se o dado está na cache ?
Se estiver, como encontrá-lo ?
Se cada palavra tiver um lugar n cache saberemos como encontrá-la.
A maneira mais simples de assinalar uma posição da cachê parauma palavra de memória é através de seu endereço na
memória direct mapped 

(Endereço do bloco) mod (Número de blocos na chache)

Como podemos ver cada localização da cache pode receber mais de ma localização da memória como saber se o dado na cache corresponde ao dado requerido ? adicionando um conjunto de tags à cache.
Tags contém a informação do endereço necessária a identificar sea palavra na cache corresponde à palavra
requerida necessita apenas da parte superior do endereço da palavra.

Precisamos saber também se a informação na cache é válida ou não (se ele está vazia, p. ex.)valid bit

Acessando a cache

Endereço é dividido em :
Cache index para selecionar o bloco.
Campo do tag para comparar com o tag da cachê

No MIPS os dois últimos bits referem-se aobyte dentro da palavra (4 bytes 2 bits para endereçar).

Número de bits necessários para uma cache é função do tamanho da cache e do tamanho do endereço (dados + tags)

Número de bits de uma cache
Endereço de 32 bits, cache com mapeamento direto de 2n words com blocos de uma palavra (4 bytes) tag de 32 – (n + 2).

2 bits usados para offset do byte e n para o índice. O número total de bitsda cache 2n X (32 + (32 – n –2) + = 2n X (63 – n).

Exemplo: Quantos bits são necessários para uma cachê com mapeamento direto com 64KB de dados e bloco de uma palavra, assumindo 32-bit de endereço?

Solução:

64KB 16K palavras 214 palavras 214 blocos

Cada bloco tem 32 bits de dados mais o tag (32 – 14 – 2 = 16) mais o bit de validade

Total de bits da cache 214 X ( 32 + 16+ 1) =...
tracking img