Aula 4 de Arquitetura de Computadores

20
Arquitetura de Computadores Universidade de São Paulo Dr. Jorge Luiz e Silva

description

Prof. Jorge, ICMC-USP

Transcript of Aula 4 de Arquitetura de Computadores

Page 1: Aula 4 de Arquitetura de Computadores

Arquitetura de Computadores

Universidade de São PauloDr. Jorge Luiz e Silva

Page 2: Aula 4 de Arquitetura de Computadores

Hierarquia de Memória

Tecnologias de Hardware

Page 3: Aula 4 de Arquitetura de Computadores

Tecnologia de Memória

Hierárquica• Dispositivos de Memória: registradores, caches, memória principal, disco, e fitas magnéticas, são hierarquicamente organizados conforme figura a seguir.

Page 4: Aula 4 de Arquitetura de Computadores
Page 5: Aula 4 de Arquitetura de Computadores

Parâmetros em Memórias

• Tempo de acesso (ti): tempo de acesso da CPU até alcançar o nível i de memória.• Tamanho de memória (si): número de bytes ou palavras do nível i.• Custo por byte (ci): Custo do i-ésimo nível de memória é estimado por cisi.• Bandwith (bi): Refere à taxa de transferência de dados entre dois nível de memória.• Unidade de transferência (xi): Refere-se ao nível de granulidade de transferência de dados entre dois nível de memória.

Page 6: Aula 4 de Arquitetura de Computadores

Características entre os nível Hierárquicos

• 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.

Page 7: Aula 4 de Arquitetura de Computadores

Registradores e Caches

• Registradores: Partes de um processador complexo, construído no próprio processador ou em placa junto com o processador.• 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.• Caches são controlados por uma MMU (Memory Management Unit) e é transparente ao programador.• Pode ser implementado em um ou múltiplos níveis.

Page 8: Aula 4 de Arquitetura de Computadores

Memória Principal• Usualmente muito maior que Cache e geralmente implementada com chips RAM mais baratos.

• Gerenciada também por uma MMU em cooperação com o Sistema Operacional.

• Pode ser subdividida em níveis usando diferentes tecnologias.

Page 9: Aula 4 de Arquitetura de Computadores

Discos e Fitas magnéticas

• Discos e Fitas magnéticas são manuseados pelo SO com pouco intervenção.• 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.• Fita magnética, são unidades de memória consideradas off-line, a ser usados como back-up. Armazenam copias de programas e resultados.• Tabela a seguir mostra valores representativos para os vários níveis de memória.

Page 10: Aula 4 de Arquitetura de Computadores
Page 11: Aula 4 de Arquitetura de Computadores

Conceitos de inclusão,

coerência e localidade

• Memória hierárquica satisfaz três importantes propriedades: Inclusão, Coerência, Localidade.• Cache é considerado o nível mais interno (M1) que se comunica diretamente com os registradores da CPU.• 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.

Page 12: Aula 4 de Arquitetura de Computadores
Page 13: Aula 4 de Arquitetura de Computadores

Propriedade da Inclusão

• M1 M2 M3 ... Mn

• Significa que todos os itens de informação estão originalmente armazenados no nível mais externo Mn.• Durante o processamento, subconjuntos de Mn são copiados para Mn-1, e assim sucessivamente.• 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.• 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.

Page 14: Aula 4 de Arquitetura de Computadores

Estrutura da informação em um Sistema de

Memória Hierárquico

• Taxa de transferência entre CPU e CACHE: palavras (4 ou 8 bytes cada dependendo da palavra de máquina).• Mi - dividido em cache blocks. 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.• 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.• Conjunto de páginas são organizadas em Segmentos no Disco, que são usado com fitas magnéticas.

Page 15: Aula 4 de Arquitetura de Computadores

Propriedade da Coerência

• A propriedade da coerência requer que copias da mesma informação sejam consistentes entre os vários níveis de memória.• Se uma palavra é modificada no Cache, copias daquela palavra devem ser atualizadas imediatamente ou de tempos em tempos nos níveis mais altos.• Informações frequentemente utilizadas são encontradas nos níveis mais baixos minimizando o tempo de acesso.• 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.

Page 16: Aula 4 de Arquitetura de Computadores

Propriedade da Localidade

• Hierarquia de memória foi desenvolvido baseado no princípio de localidade.• CPU faz acesso a memória para instrução ou dados.• Esses acessos tendem a ocorrer por regiões na memória, em geral pequenas, próximas, e durante um certo tempo. • Hennessy e Patterson (1990) levantaram alguns dados como 90% das instruções ocorrem em loops aninhados.

Page 17: Aula 4 de Arquitetura de Computadores

Tecnologia de Memória Virtual

• Estudar dois modelos de memória virtual, mecanismo de conversão de endereços e políticas de reposição de páginas. • Memória física onde residem os programas e dados, possuem tamanho limitado. Memória Virtual portanto vem resolver essa limitação.• 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.• 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.

Page 18: Aula 4 de Arquitetura de Computadores

Mapeamento de Endereços

• 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.• É 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.

Page 19: Aula 4 de Arquitetura de Computadores

Mecanismo de conversão de

endereços• Converter endereço virtual em endereço físico•Mapas de conversão são armazenados em CACHE, memórias associativas, ou na própria memória principal.• Esse mapeamento gera um ponteiro que indica se, e onde está a página procurada no espaço físico de endereço.• Política de Reposicionamento: Last Recently Used, First In First Out.

Page 20: Aula 4 de Arquitetura de Computadores