Baixe o app para aproveitar ainda mais
Prévia do material em texto
(1) Qual é a finalidade da memória cache? R: . Ela tem como finalidade de atuar como uma memória temporária para que o chipset recupere rapidamente os dados, sem a necessidade de uma busca direta na memória principal, favorecendo um melhor desempenho para o sistema. Ou seja, a parte mais usada dos programas devem estar presentes na memória cache, enquanto o que não é usado no momento fica salvo na memória mais lenta, que tem maior capacidade de armazenamento. (2) Como é o mapeamento dos blocos da MP para a cache? R: Levando em consideração a diferença de tamanho entre a memória principal e a cache, é preciso mapear onde estarão os blocos da memória principal dentro da memória cache, pois não é possível fazer 1 para 1. Com isso, organiza-se a memória em um conjunto B de blocos. Cada bloco da MP é Composto de X células (X bytes, já que nos sistemas atuais e modernos uma célula armazena 8 bits ou 1 byte de dados). A quantidade B de blocos da MP é B = N / X ou B = 2E / X e a memória cache é organizada como um conjunto de L grupos de bytes, sendo cada um deles chamados de linha. Cada uma das L linhas da cache possui X bytes, sendo a mesma quantidade de bytes de um bloco da MP (3) Como é feita a atualização da cache? Qual é a vantagem e a desvantagem de cada abordagem? R: Cada bloco da memória principal é mapeado em apenas uma linha de cache. O mapeamento direto é simples e tem custo de implementação baixo. Sua principal desvantagem é que cada bloco é mapeado em uma posição fixa na memória cache. Dessa forma, se um programa fizer repetidas referências a palavras de dois blocos diferentes, mapeados em uma mesma linha, esses blocos serão trocados continuamente na memória cache e a taxa de acertos à memória cache será baixa. A técnica de Mapeamento Associativo, melhora as desvantagens do mapeamento direto, possibilitando que cada bloco da memória principal seja inserido em qualquer linha de memória cachê. O mapeamento associativo oferece maior flexibilidade para a escolha do bloco a ser substituído quando um novo bloco é inserido na memória cache. A principal desvantagem do mapeamento associativo é a complexidade do conjunto de circuitos para a comparação dos rótulos de todas as linhas da memória cache. Já no Mapeamento Associativo por Conjuntos, é combinado diversas vantagens do mapeamento direto e do mapeamento associativo e diminui de forma considerável as suas desvantagens. (4) Qual é a finalidade dos algoritmos de substituição? Descreva cada um deles. R: Os algoritmos de substituição tem como finalidade escolher qual dos blocos armazenados na memória cache deve ser substituído para dar lugar a um novo. Os algoritmos de substituição mais utilizados são: Least Recently Used (LRU): Nesse algoritmo, o bloco que será substituído será o que está há mais tempo sem ser utilizado. First in, First out (FIFO): Neste método é uma fila para escolher qual o bloco que será substituído, com isso, temos que o primeiro bloco que entrou na cache, também será o primeiro a sair dela. Ou seja, o bloco que está há mais tempo na memória será o próximo a ser substituído. Least Frequently Used (LFU): Este algoritmo implementa um sistema que faz a contagem de acessos aos blocos e indica que o bloco que será substituído é o com menor frequência de acessos. Escolha aleatória: Este método substituirá o bloco de forma aleatória. (5) Diferencie cache hit de cache miss. R: Quando existe um endereço na memória RAM, o controle de cache intercepta o endereço e o controle da cache conclui se o byte (dado) solicitado está ou não armazenado na cache. Quando ele está, este é denominado como hit. Já quando não está é denominado como miss. (6) Código Hamming (a) Para a palavra a seguir, calcule a palavra final a ser encaminhada utilizando: 01010111 R: Considerando o item (a), caso o D4 do código fosse alterado em um armazenamento, mostre a veracidade do código Hamming para descobrir o erro.
Compartilhar