Aula 4 de Arquitetura de Computadores

3.878 visualizações

Publicada em

Prof. Jorge, ICMC-USP

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.878
No SlideShare
0
A partir de incorporações
0
Número de incorporações
27
Ações
Compartilhamentos
0
Downloads
117
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 4 de Arquitetura de Computadores

  1. 1. Arquitetura de Computadores<br />Universidade de São Paulo<br />Dr. Jorge Luiz e Silva<br />
  2. 2. Tecnologias de Hardware<br />Hierarquia de Memória<br />
  3. 3. Tecnologia de Memória Hierárquica<br /><ul><li> Dispositivos de Memória: registradores, caches, memória principal, disco, e fitas magnéticas, são hierarquicamente organizados conforme figura a seguir. </li></li></ul><li>
  4. 4. Parâmetros em Memórias<br /><ul><li>Tempo de acesso (ti): tempo de acesso da CPU até alcançar o nível i de memória.
  5. 5. Tamanho de memória (si): número de bytes ou palavras do nível i.
  6. 6. Custo por byte (ci): Custo do i-ésimo nível de memória é estimado por cisi.
  7. 7. Bandwith (bi): Refere à taxa de transferência de dados entre dois nível de memória.
  8. 8. Unidade de transferência (xi): Refere-se ao nível de granulidade de transferência de dados entre dois nível de memória.</li></li></ul><li>Características entre os nível Hierárquicos<br /><ul><li> Dispositivos nos níveis mais baixos são mais velozes, menor em tamanho, mais caros por byte, com alto bandwith e usando menor unidade de transferência (granulidade fina) comparado com os níveis mais altos.</li></li></ul><li>Registradores e Caches<br /><ul><li>Registradores: Partes de um processador complexo, construído no próprio processador ou em placa junto com o processador.
  9. 9. Operações de transferência entre registradores são controladas pelo próprio processador, após decodificação de instrução, em um ciclo de clock.
  10. 10. Caches são controlados por uma MMU (Memory Management Unit) e é transparente ao programador.
  11. 11. Pode ser implementado em um ou múltiplos níveis.</li></li></ul><li>Memória Principal<br /><ul><li> Usualmente muito maior que Cache e geralmente implementada com chips RAM mais baratos.
  12. 12. Gerenciada também por uma MMU em cooperação com o Sistema Operacional.
  13. 13. Pode ser subdividida em níveis usando diferentes tecnologias. </li></li></ul><li>Discos e Fitas magnéticas<br /><ul><li> Discos e Fitas magnéticas são manuseados pelo SO com pouco intervenção.
  14. 14. Disco é considerado o mais alto nível de memória on-line. Armazena programas tais como SO, compiladores, diversos programas de usuários, e seus conjuntos de dados.
  15. 15. Fita magnética, são unidades de memória consideradas off-line, a ser usados como back-up. Armazenam copias de programas e resultados.
  16. 16. Tabela a seguir mostra valores representativos para os vários níveis de memória.</li></li></ul><li>
  17. 17. Conceitos de inclusão, coerência e localidade<br /><ul><li> Memória hierárquica satisfaz três importantes propriedades: Inclusão, Coerência, Localidade.
  18. 18. Cache é considerado o nível mais interno (M1) que se comunica diretamente com os registradores da CPU.
  19. 19. Os níveis mais externos Mn basicamente contém todas as informações a nível de palavras. Todo o espaço de endereço em Mn formam o espaço de endereço virtual de um computador.</li></li></ul><li>
  20. 20. Propriedade da Inclusão<br /><ul><li>M1 M2 M3  ...  Mn
  21. 21. Significa que todos os itens de informação estão originalmente armazenados no nível mais externo Mn.
  22. 22. Durante o processamento, subconjuntos de Mn são copiados para Mn-1, e assim sucessivamente.
  23. 23. Isso significa que se uma palavra é encontrada em Mi, cópias da mesma palavra devem ser encontradas nos níveis superiores Mi+1, Mi+2, ...Mn.
  24. 24. Entretanto a palavra armazenada em Mi+1, pode não ser encontrada em Mi, o que significa que ela está ausente em todos os níveis inferiores Mi-1, Mi-2, ...M1. Os níveis mais altos podem ser considerados backup de memória.</li></li></ul><li>Estrutura da informação em um Sistema de Memória Hierárquico<br /><ul><li> Taxa de transferência entre CPU e CACHE: palavras (4 ou 8 bytes cada dependendo da palavra de máquina).
  25. 25. Mi - dividido em cacheblocks. Cada bloco possui em geral 32 bytes (8 palavras) “a e b” na figura, que são unidades de transferência de dados entre Cache e Memória Principal.
  26. 26. M2 - dividido em páginas, 4Kbytes cada. Cada página com 128 blocos. Páginas são a unidade de transferência de informação entre Memória Principal e o Disco.
  27. 27. Conjunto de páginas são organizadas em Segmentos no Disco, que são usado com fitas magnéticas.</li></li></ul><li>Propriedade da Coerência<br /><ul><li> A propriedade da coerência requer que copias da mesma informação sejam consistentes entre os vários níveis de memória.
  28. 28. Se uma palavra é modificada no Cache, copias daquela palavra devem ser atualizadas imediatamente ou de tempos em tempos nos níveis mais altos.
  29. 29. Informações frequentemente utilizadas são encontradas nos níveis mais baixos minimizando o tempo de acesso.
  30. 30. Existem duas estratégias para se manter a coerência em memória hierárquica: write-throught (WT), atualização imediata dos níveis superiores; write-back (WB), atrasa a atualização em Mi+1 até que a informação sendo modificada em Mi, seja substituída ou removida de Mi.</li></li></ul><li>Propriedade da Localidade<br /><ul><li> Hierarquia de memória foi desenvolvido baseado no princípio de localidade.
  31. 31. CPU faz acesso a memória para instrução ou dados.
  32. 32. Esses acessos tendem a ocorrer por regiões na memória, em geral pequenas, próximas, e durante um certo tempo.
  33. 33. Hennessy e Patterson (1990) levantaram alguns dados como 90% das instruções ocorrem em loops aninhados.</li></li></ul><li>Tecnologia de Memória Virtual<br /><ul><li> Estudar dois modelos de memória virtual, mecanismo de conversão de endereços e políticas de reposição de páginas.
  34. 34. Memória física onde residem os programas e dados, possuem tamanho limitado. Memória Virtual portanto vem resolver essa limitação.
  35. 35. Espaço de endereço: cada palavra na memória física possui um único endereço físico. Todas as palavras na memória física formam o espaço de endereço físico.
  36. 36. Endereços Virtuais: são gerados pelo processador em tempo de compilação, que devem ser convertidos em endereços físicos quando da execução do programa, através do uso de tabelas e funções de mapeamento.</li></li></ul><li>Mapeamento de Endereços<br /><ul><li> Um sistema de memória virtual necessita de um mecanismo automático de mapeamento de endereço virtual para endereço físico, que leva em consideração inclusive se o endereço virtual a ser acessado está ou não presente na memória física.
  37. 37. É feita uma conversão quando confirmado se o endereço virtual está presente na memória física. Quando o endereço está ausente, significa que aquela palavra ainda não foi requisitada dos níveis superiores, e portanto precisa ser acessado, o que implica em mecanismos de reposição de páginas na memória principal.</li></li></ul><li>Mecanismo de conversão de endereços<br /><ul><li> Converter endereço virtual em endereço físico
  38. 38. Mapas de conversão são armazenados em CACHE, memórias associativas, ou na própria memória principal.
  39. 39. Esse mapeamento gera um ponteiro que indica se, e onde está a página procurada no espaço físico de endereço.
  40. 40. Política de Reposicionamento: LastRecentlyUsed, First In First Out.</li></li></ul><li>

×