Prévia do material em texto
Questionário 5 Nome: Fabio Neves de Aragao turma 822 Matricula: 2015100352 Questão 01 Considere uma MP que possui 4K blocos de 128 células de 1 byte cada e a memória cache do tipo associativa por conjunto possui 64 linhas divididas em conjuntos de 4 linhas. Qual deverá ser o formato do campo de endereçamento para acesso à MP e à memória cache? Resp: Tag Conjunto Byte 8 4 7 Total de blocos da MP = 4K = 212 Total de células por bloco = total de bytes por linha = 128 = 27 (Campo Byte = 7) Total de conjuntos: 64 linhas / 4 linhas = 16 conjuntos (como 24 = 16, então: campo Conjunto = 4) Cálculo do Tag: 4K blocos / 16 conjuntos = 256 blocos por conjunto = 28 (campo Tag = 8) Questão 02 O que essencialmente diferencia o método de mapeamento Direto do método Associativo? Resp: No mapeamento direto, cada linha da memória principal tem um lugar exclusivo na memória cache. Já No mapeamento associativo cada linha da MP pode ser carregada em qualquer lugar da cache Questão 03 Por que é necessário se estabelecer uma política para substituição de linhas para os métodos de mapeamento associativo e não para o método direto, em memórias cache? Resp: Por que no mapeamento associativo, os blocos são colocados em qualquer posição vaga, não existindo um local pré-definido. Assim, deve existir uma forma de escolher qual bloco sairá quando a cache estiver cheia Questão 04 Considere uma memória principal (MP) com capacidade máxima de X bytes, sendo endereçada por byte e uma cache com 512KB, organizada em linhas de 32 bytes. Sabese que o BE do sistema possui 28 bits de largura. Mostre o formato dos campos de endereço considerando os métodos de mapeamento de endereços da cache direto e associativo. Resp: A MP tem 256MB, ou 2 elevado 28 (largura do bloco de endereço). Cada bloco tem 32bytes de largura, pois cada linha tambem tem 32bytes e os dois possuem o mesmo tamanho. Se o bloco possui 32 bytes, então o campo BYTE do endereço tem 5 bits. Se a cache tem 512k e a largura da linha é de 32bytes, então temos 2^19 / 2^5 = 2^14 = 16k linhas, sendo assim o campo linha tem 14 bits, e os 9 bits restantes são o campo TAG, totalizando 28 bits de endereço Questão 05 Considere um computador que possui uma MP (endereçada byte a byte) e uma única Cache. O sistema emprega o método de mapeamento associativo, tendo o seguinte formato de endereços: a) Qual é a capacidade de armazenamento da MP? A largura do end. fisico é o tamanho da MP, então a MP tem 2^24 = 16MB b) Qual é o tamanho de cada linha de cache? Como cada bloco da MP tem 32bytes (largura do campo BYTE 5bits, logo bloco tem 2^5), então a linha tem largura de 32bytes Questão 06 Supondo um sistema de computação que possua memória principal, cujo endereçamento é realizado a nível de byte e que possua uma cache única e que, em dado momento o processador coloca o seguinte valor no barramento de endereços (BE): 1111 1001 1100 1001 0001 0001 Suponha ainda que o sistema usa método de mapeamento associativo por conjunto de 8 vias, que a MP é vista pelo controle da cache como um conjunto de blocos de 64 Bytes e que são previstos sempre uma quantidade de 128 blocos em cada conjunto da cache. Considerando que o formato de endereço para acesso pelo controle da cache é: TAG - CONJUNTO - BYTE quais são os bits que representam o campo “ Conjunto” do formato de endereço? Resp: Total de bits = 24, 7 conjuntos de 4 bits cada). São divididos em: x bits para campo TAG mais y bits para campo CONJUNTO mais z bits para campo BYTE Se são blocos/linhas de 64 Bytes (26 = 64), então z= 6 (campo Byte) Se são 128 blocos por conjunto (27 = 128), então x = 7 (campo TAG). Sobram 24 – 7 - 6 = 11 bits para y (campo conjunto. Então a resposta é: 11 bits Questão 07 Como se denomina a política de escrita na memória cache na qual a MP é atualizada apenas nos blocos que tiveram escrita, e apenas quando há a volta do bloco para a MP? Resp: Política Write Back Questão 08 Considere uma memória cache organizada com mapeamento associativo por conjunto, sendo cada conjunto de 4 linhas. A MP tem uma capacidade de armazenar 64MB, sendo organizada byte a byte e o sistema transfere de o que a capacidade da cache é de 64KB, mostre como deve ser o formato dos campos de endereço para a memória cache. Resp: Tag Conjunto Byte 12 bits 9 bits 5 bits Conjunto de 4 linhas MP = 64MB o u 2**26 endereços. Cada endereço tem largura de 26 bits Largura de cada bloco da MP e cada linha da cache = 32 bytes ou 2**5 (desse modo, o campo Byte do formato do endereço é igual a 5 Questão 09 Conceitualmente, qual a parte do processo de mapeamento associativo por conjunto pode ser considerado igual ao mapeamento direto? Resp: No caso do método associativo por conjunto, a CACHE é organizada em grupos de X linhas, onde esses grupos são acessados por método DIRETO, e as linhas dentro dos grupos são acessados pelo método associativo Questão 10 Por que não é conveniente escolher valores muito grandes para o tamanho (a largura) de linhas de uma memória cache? E por que esta largura é sempre bem maior que a largura de uma célula de memória principal? Resp:Isso Não é conveniente porque as memórias cache são pequenas,a largura delas é maior que a da mp porque elas pegam um conjunto de dados de um programa contido na mp,por tanto a largura dela é maior para abranger um conjunto de dados contido nas célular da mp Questão 11 Qual é a diferença entre cache unificada e cache dividida? Em sistemas multicache, que categoria(s) de memória(s) cache utiliza um e outro métodos? Resp: Na cache unificada há apenas uma cache para dados e instruções, ou seja, a mesma área de memória rápida é compartilhada ao mesmo tempo para dados e instruções. Em uma cache dividida, não ocorre esse problema, pois há uma cache somente para dados e outra somente para instruções, com barramentos diferentes. FALTA A SEGUNDA PARTE DA PERGUNTA Questão 12 . Suponha um sistema de memória constituído de memória principal e uma única cache, a qual utiliza mapeamento associativo por conjunto de 4. O formato de endereço para análise pelo sistema de controle da cache é: 8 bits 8 bits 4 bits a) Capacidade de armazenamento da MP, em bytes. A largura do end. fisico é de 20bits, então a MP tem 2^20 = 1MB de capacidade de armazenamento b) Quantidade de linhas da memória cache. Se cada conjunto tem 4 linhas, e se temos 256 conjuntos, então 4x256 = 1k linhas c) Quantidade de conjuntos da memória cache. O campo conjunto tem 8 bits, então a quantidade de conjuntos é 2^8 = 256 conjuntos d) Largura de cada bloco/linha. Se o campo BYTE tem 4 bits, então a largura do bloco/linha é de 2^4 = 16bytes e) Quantidade de blocos atribuídos a cada conjunto da cache. 4 blocos Questão 13 Suponha um sistema de computação que tenha uma memória principal (MP) com capacidade máxima de 2GB, sendo endereçado byte a byte. E também possui uma memória cache, organizada com mapeamento associativo, tendo linhas de 32 bytes. Considerando que a cache tem 256KB, quantos registradores de comparação devem existir nesse sistema para que ele funcione com a máxima rapidez possível na parte de mapeamento de endereços? Resp: Seriam necessarios 64M registradores, pois a largura do endereço é 31 bits (MP de 2GB = 2^31), e o campo BYTE tem 5 bits (32 bytes do tamanho do bloco), logo o restante do endereço tem 26bits. 2^26 = 64M. Questão 14 . Considere um sistema de computação que possui uma memória principal, organizada em células de 1 byte cada, tendo apenas uma memória cache externa, organizada para utilizar o método de mapeamento associativo,com as linhas tendo uma largura de 64 bytes. Em um dado instante, o processador inicia um acesso, colocando no BE (barramento de endereços) comum o endereço hexadecimal: 3C7F9C. Pergunta-se: a. qual deverá ser a largura do BE do sistema? b. qual é o valor total de endereços da memória principal? c. qual foi a linha acessada pelo processador (valor expresso em binário)? d. quantos registradores de comparação devem existir para que o acesso seja o mais rápido possível? Questão 15 Como é conhecida a política de escrita da cache pela qual a MP somente é atualizada quando há retorno do bloco para ela (MP)? Por que nem semper há retorno do bloco para a MP? Resp: Writ Back – Porque nem sempre o dado é atualizado, com isso não é necessário retornar como dado para MP Questão 16 O que significa o termo “mapeamento associativo por conjunto com 8 caminhos” ou set asociative 8 way? Resp: Para acessar cada conjunto, o sistema usa método direto e em cada conjunto usa-se método associativo. Questão 17 Explique brevemente o funcionamento de dois algoritmos de substituição de linhas em sistemas de computação que possuam memórias cache. Resp: FIFO – First-In, First-Out ● Esquema de fila # Primeiro a chegar é o primeiro a sair ● Escolha independe da frequência de uso do bloco pelo processador least recently used (LRU): Este algoritmo escolhe a linha que esta a mais tempo sem uso pela CPU e substitui pela nova linha.