Prévia do material em texto
ORGANIZAÇÃO DE COMPUTADORES SIMONE MARKENSON Rio de Janeiro, maio de 2011 1 CONTEÚDO DA AULA HIERARQUIA DE MEMÓRIA COMPONENTES DA M.P. OPERAÇÕES NA M.P. UNIDADES MEMÓRIA CACHE HIERARQUIA DAS MEMÓRIAS VELOCIDADE CUSTO CAPACIDADE DE ARMAZENAMENTO HIERARQUIA DAS MEMÓRIAS COMPONENTES DA MEMÓRIA PRINCIPAL (MP) 1- REM endereço em outro registrador 2- O endereço é colocado no barramento de endereço 3- Sinal de leitura no barramento de controle 4- Decodificação de endereço e localização da célula 5- RDM MP pelo barramento de dados 6- Outro registrador RDM OPERAÇÃO DE LEITURA NA MP 1- REM endereço em outro registrador 2- O endereço é colocado no barramento de endereço 3- RDM Outro registrador 4- Sinal de escrita no barramento de controle 5- Decodificação de endereço e localização da célula 6- MP (REM) RDM OPERAÇÃO DE ESCRITA NA MP Células Organização da memória principal (padrão 8 bits) Palavra Conjunto de células com significado Unidade de transferência quantidade de bits transferidos de/para a memória Capacidade de memória quantidade de informações armazenadas N = número de células * tamanho da célula RESUMO DOS CONCEITOS Considere um sistema cuja célula de memória é composta por 16 bits e o registrador de endereços possui 32 bits. Qual o tamanho máximo da memória principal neste sistema? EXERCÍCIOS Considere um sistema cuja célula de memória é composta por 16 bits e o registrador de endereços possui 32 bits. Qual o tamanho máximo da memória principal neste sistema? REM : 32 bits 232 = 4G células EXERCÍCIOS Considere um sistema cuja célula de memória é composta por 16 bits e o registrador de endereços possui 32 bits. Qual o tamanho máximo da memória principal neste sistema? REM : 32 bits 232 = 4G células Cada célula possui 16 bits = 2 bytes Total = 4G x 2B = 8GB EXERCÍCIOS Quantos bits o registrador de endereços deve ter para endereçar uma memória de 4GB onde cada célula possui 64 bits? EXERCÍCIOS Quantos bits o registrador de endereços deve ter para endereçar uma memória de 4GB onde cada célula possui 64 bits? Célula 64 bits = 8 bytes EXERCÍCIOS Quantos bits o registrador de endereços deve ter para endereçar uma memória de 4GB onde cada célula possui 64 bits? Célula 64 bits = 8 bytes Quantidade de células = 4GB / 8B = 232 x 2-3 = 229 células REM 29 bits EXERCÍCIOS O acesso a cache é transparente para a aplicação e para o sistema operacional, uma vez que todo o gerenciamento da memória cache é feito por hardware O processador inicia a operação de leitura para o endereço desejado da Memória Principal O sistema de controle da cache intercepta o endereço e conclui se o dado solicitado está ou não armazenado na cache. Um acerto é denominado cache hit e a falta é denominada cache miss Se ocorrer um cache miss o controlador da memória principal é acionado para localizar o dado na memória, transferindo-o para a cache. Um novo acesso é feito a memória cache MEMÓRIA CACHE PRINCÍPIO DA LOCALIDADE TEMPORAL Se um item é referenciado, tende a ser referenciado novamente. Exemplo: loops (instruções e dados) ESPACIAL Se um item é referenciado, itens cujos endereços são próximos tendem a ser referenciados em seguida. Exemplo: acesso a dados de um array COMO FUNCIONA? ORGANIZAÇÃO DA CACHE Tamanho da Cache caches pequenas têm desempenho ruim Organização Física acesso associativo acesso direto Tamanho do bloco a quantidade de dados trocados entre a cache e memória principal blocos maiores: maior taxa de acertos devido ao princípio da localidade blocos ainda maiores: menor taxa de acertos já que a probabilidade de acesso a uma palavra não carregada por causa do bloco maior é maior FUNÇÕES DO CONTROLADOR DA CACHE Função de mapeamento indica qual slot um bloco irá ocupar na cache quanto mais flexível, maior o custo de hardware para localizar um bloco Algoritmo de substituição indica o bloco a ser substituído algoritmo preferencial: Least-Recently-Used (LRU) Política de escrita na MP(quando atualizar a memória principal) a cada escrita: mais acessos à memória (write-through) na substituição: problemas de consistência (write-back Direto: Cada bloco da MP tem uma linha de cache previamente definida. Como o tamanho da memória é muito maior que o tamanho da cache, é necessário se obter o tag do bloco e verificar se é o mesmo tag que está na linha indicada, indicando um hit. É um método simples, porém de pouca flexibilidade Associativo: Não há local fixo na cache para um bloco da MP, no entanto será necessário comparar o tag com o tag de cada linha Associativo por conjunto: Utiliza conceitos das técnicas anteriores, utilizando mapeamento direto para identificar um bloco e mapeamento associativo para localizar o dado dentro do bloco MAPEAMENTO: MP CACHE FIFO First In First Out A primeira linha acessada será a primeira a sair LRU Least Recently Used A linha menos recentemente acessada será a primeira a sair Aleatório ALGUNS ALGORITMOS DE SUBSTITUIÇÃO Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 L1 1 1 L 2 2 2 L3 3 3 L4 4 4 L5 5 5 L6 6 6 CH Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 L1 1 1 7 L2 2 2 2 L3 3 3 3 L4 4 4 4 L5 5 5 5 L6 6 6 6 CH CM Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 L1 1 1 7 7 7 L2 2 2 2 2 2 L3 3 3 3 3 3 L4 4 4 4 4 4 L5 5 5 5 5 5 L6 6 6 6 6 6 CH CM CH CH Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 L1 1 1 7 7 7 7 L2 2 2 2 2 2 8 L3 3 3 3 3 3 3 L4 4 4 4 4 4 4 L5 5 5 5 5 5 5 L6 6 6 6 6 6 6 CH CM CH CH CM Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 M1 1 1 7 7 7 7 7 7 M2 2 2 2 2 2 8 8 8 M3 3 3 3 3 3 3 3 1 M4 4 4 4 4 4 4 4 4 M5 5 5 5 5 5 5 5 5 M6 6 6 6 6 6 6 6 6 CH CM CH CH CM CH CM Exemplo - FIFO inicio 1 7 2 5 8 4 1 3 M1 1 1 7 7 7 7 7 7 7 M2 2 2 2 2 2 8 8 8 8 M3 3 3 3 3 3 3 3 1 1 M4 4 4 4 4 4 4 4 4 3 M5 5 5 5 5 5 5 5 5 5 M6 6 6 6 6 6 6 6 6 6 CH CM CH CH CM CH CM CM Exemplo - LRU inicio 1 7 2 5 8 4 1 3 L1 1 L2 2 L3 3 L4 4 L5 5 L6 6 Exemplo - LRU inicio 1 7 2 5 8 4 1 3 L1 1 1 1 1 L2 2 2 7 7 L3 3 3 3 2 L4 4 4 4 4 L5 5 5 5 5 L6 6 6 6 6 CH CM CM Exemplo - LRU inicio 1 7 2 5 8 4 1 3 L1 1 1 1 1 1 1 1 L2 2 2 7 7 7 7 7 L3 3 3 3 2 2 2 2 L4 4 4 4 4 4 8 8 L5 5 5 5 5 5 5 5 L6 6 6 6 6 6 6 4 CH CM CM CH CM CM Exemplo - LRU inicio 1 7 2 5 8 4 1 3 L1 1 1 1 1 1 1 1 1 1 L2 2 2 7 7 7 7 7 7 3 L3 3 3 3 2 2 2 2 2 2 L4 4 4 4 4 4 8 8 8 8 L5 5 5 5 5 5 5 5 5 5 L6 6 6 6 6 6 6 4 4 4 CH CM CM CH CM CM CH CM Um processador possui um RDM com capacidade de armazenar 64 bits em um REM com capacidade de armazenar 35 bits. A memória deste sistema é de 128 GB Qual a capacidade máxima de endereçamento? Qual o tamanho da célula de memória? Qual o tamanho da palavra de memória? 1) 32G, 32 bits e 32 bits 2) 16M, 16 bits e 32 bits 3) 32G, 32 bits e 64 bits 4) 32G, 16 bits e 16 bits REGISTRO DE FREQUÊNCIA RDM com de 64 bits REM com 35 bits Tamanho da memória 128GB Qual a capacidade máxima de endereçamento? REM : 35 bits 235 = 25 * 230 células = 32G endereços Qual o tamanho da célula de memória? 128GB / 32G endereços = 4B por endereço Cada célula possui, então, 32 bits = 4 bytes Qual o tamanho da palavra de memória? 64bits (RDM) REGISTRO DE FREQUÊNCIA Em que circunstância uma cache que funciona com mapeamento associativo por conjunto pode ser considerada igual a cache que funciona com mapeamento direto? 1) Depende do tamanhoda cache 2) Na etapa de endereçamento do conjunto 3) Na etapa de localização dentro do bloco 4) Em nenhuma etapa REGISTRO DE FREQUÊNCIA