Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Tópicos Avançados em Arquitetura de Computadores Professor: André Sobral e-mail: asobral@unicarioca.edu.br Ciência da Computação Sumário � Introdução; � Componentes; � Memória Principal; � Memória Cache; � Processadores Sistema de Computação Subsistema de Memória �Memória Cache: Sistema de Computação � É um tipo de memória que trabalha em conjunto com o processador. � Os processadores atuais trazem uma certa quantidade de memória cache embutida no encapsulamento. � O objetivo é potencializar o desempenho do chip de processamento, evitando que fique ocioso por longos períodos. Subsistema de Memória �Memória Cache: Sistema de Computação Hierarquia das Memórias Hierarquia das Memórias Subsistema de Memória �Memória Cache: Sistema de Computação MEMÓRIA PRINCIPAL DISCO 64 KB 1 ns 1 MB 3-10 ns 4-10 GB 20-60 ns 4-16 TB 4-14 ms REGISTRADORESREGISTRADORES TAMANHO = 1000 Bytes (32 ou 64B p/reg) VELOCIDADE = 100ps CACHE L1 CACHE L2 Comparação entre as Memórias Comparação entre as Memórias Subsistema de Memória �Memória Cache: Sistema de Computação Kit Processador Intel I5 4440 Placa Mãe H81 Cache: - L1: 4x 32KB - L2: 6 MB Memória Cache � Cache em Níveis: Sistema de Computação Transferência de Bytes Transferência de blocos MEMÓRIA PRINCIPALCPUCPU CACHE Rápida LentaMais rápida Muito mais rápida MEMÓRIA PRINCIPALCACHE L3 Nível 3 CACHE L2 Nível 2 CACHE L1 Nível 1 CPUCPU Memória Cache � Conceito de Localidade; � Organização e funcionamento; � Elementos de projetos: Sistema de Computação � Mapeamento de endereços; � Política de substituição de linhas; � Políticas de escrita pela Cache; � Níveis; � Tamanhos de Cahes; � Largura de Linhas. Memória Cache �Conceito de Localidade: Sistema de Computação Há um princípio de programação que define o modo como as instruções são executadas (em sequência, durante um certo tempo) Os programas são organizados de modo que as linhas de código costumam ser executas em sequência. Apenas em alguns momentos a sequência é interrompida e o processo desvia da sequência, sendo esta sequência retomada em seguida. Este princípio de programação é denominado: PRINCÍPIO DA LOCALIDADE, sendo a base da estratégia de emprego de hierarquia de memórias. Mais especificamente, da criação e uso das memórias CACHE. Memória Cache � Conceito de Localidade: Sistema de Computação Princípio da LocalidadePrincípio da Localidade Localidade Espacial Sempre que o processador realiza um acesso a um endereço de memória, é muito provável que o próximo acesso seja ao endereço contíguo seguinte. Localidade Temporal Sempre que o processador realiza um acesso a um endereço de memória, é muito provável que em curto tempo ele acesse novamente o mesmo endereço. Memória Cache � Tempo de Acesso: Sistema de Computação Comparação de velocidades do Processador e MP(utilizando memória cache intermediária) Há uma grande diferença de tempo entre a transferência da MP para o processador e este usar os dados. No exemplo, o proc. Gasta 2 nseg para somar e espera 100 nseg para receber novos dados. Caso seja usada uma memória intermediária de alta velocidade entre a MP e o processador (que armazena uma cópia dos dados sendo imediatamente usados). Este espera 2 nseg pelos dados, em vez de 100 nseg. Esta memória intermediária é a CACHE. Memória Cache � Organização e Funcionamento: Sistema de Computação EXEMPLO DO FUNCIONAMENTO DO PROCESSO DE ACESSO À MEMÓRIA, QUANDO HÁ MAIS DE UMA MEMÓRIA, E CONSIDERANDO-SE O PRINCÍPIO DA LOCALIDADE. � O sistema é constituido de Processador – Cache – MP � Sempre que o processador quer buscar um dado, ele coloca seu endereço (da MP) no BE (Barramento de Endereços). � O controle da Memória Cache intercepta o endereço e verifica se há uma cópia do dado na cache. � Se houver a cópia, chama-se de ACERTO (A) ou HIT (H). � Se não houver cópia do dado na cache, chama-se de FALTA (F) ou MISS (M). Memória Cache � Organização e Funcionamento: Sistema de Computação FUNCIONAMENTO DO PROCESSO DE ACESSO À MEMÓRIA, QUANDO HÁ MAIS DE UMA MEMÓRIA, E CONSIDERANDO-SE O PRINCÍPIO DA LOCALIDADE. � Nesse caso, o sistema busca um bloco de dados contíguos na MP (que contém o dado desejado mais os dados que deverão ser buscados nos próximos acessos, devido ao princípio da localidade) e traz para a memória cache . E leva o dado desejado para o processador. � A Falta (Miss) acarreta uma perda de tempo, mas espera-se que seja pouco frequente. � A Eficiência do sistema (E) é medida pela relação entre Acertos (A) e Total de Acessos (T). E = A / T Memória Cache � Organização e Funcionamento: Considere um sistema de computação que possua dois tipos de memória: um rápido, de baixa capacidade (64 KB), com latência de 5 ns, interligado ao processador e outro, mais lento, de maior capacidade (512 MB), com latência de 50 ns, interligada à memória rápida. Calcule o tempo médio de acesso do processador, considerando um período de 200 acessos e que o sistema tenha eficiência de 95 %. Sistema de Computação E = A / T Memória Cache � Organização e funcionamento: Sistema de Computação � A cache possui uma cópia de um bloco de dados da MP. � O processador endereça um Byte (célula) da MP, mas o dado virá para ele da memória do seu lado (a cache mais rápida). � ACERTO- quando a cópia do dado desejado está na memória cache L1 � FALTA – quando o dado não está na cache L1 e tem que ser transferido de uma cache mais lenta (ou da MP) até a L1. Memória Cache � Organização e funcionamento: Sistema de Computação � A MP é fisicamente organizada em uma sequencia contínua de N células, cada uma com 1 byte de largura. � Então a MP é constituída de N bytes de dados com endereços de ) à N-1 � Para integrar com o sistema Processador/cahe/MP, a MP é organizada em blocos de X bytes (X células em cada bloco) com endereços Bi (i de 0 à B-1). Quant de Blocos = Quant Células Largura de 1 Bloco Memória Cache � Organização e funcionamento: Sistema de Computação Memória Cache � Organização e funcionamento: Sistema de Computação � A MC é organizada em um conjunto de L linhas, sendo cada linha composta por X bytes � A linhas apresentam endereços de 0 à L-1 � Cada linha apresenta um campo indicador do endereço do bloco, chamado de Tag ou Rótulo. � A quantidade de Blocos (B) é sempre maior que a quantidade de linhas (L). � Por isso existem métodos de mapeamento dos blocos da MP para as poucas linhas da MC. Memória Cache � Organização e funcionamento: Sistema de Computação Memória Cache � Organização e funcionamento: Sistema de Computação � Considere um sistema de computação que possui uma MP organizada em células de 1 byte e apenas uma MC externa, sendo cada linha de 32 bytes. Em um dado instante o processador inicia um acesso colocando no BE o endereço 5D7A9F216, pergunta-se: a) Qual deverá ser a largura de BE do sistema? b) Qual o tamanho da MP que é composta por 2048 blocos? Exercício de Fixação � Questão 01: (Colégio Pedro II – CC – 2016) Observe as afirmativas sobre memória cache: I. O número de blocos da memória principal é igual ao número de linhas da memória cache. II. Denomina-se hit quando um dado solicitado não está armazenado na memória cache e, neste caso, o bloco da memória principal que contém o byte desejado é transferido para a memória cache. III. A eficiência da memória cache de um sistema de computação em que ocorrem 94 miss a cada 100 acessos é de 6%. Assinale a alternativa em que está(ão) presente(s) apenas a(s) afirmativa(s) verdadeira(s). a) I e II b) II e III c) I e III d) I e) III Sistema de Computação Próxima Aula � Memória Cache (Cont.) Sistema de Computação
Compartilhar