Baixe o app para aproveitar ainda mais
Prévia do material em texto
(1) LISTA DE EXERCÍCIOS – CPU PIPELINE E SUBSISTEMA DE MEMÓRIA 1. O que caracteriza uma CPU monociclo? E uma multiciclo? E uma pipelined? 2. (Patterson, 6.4, p.455) Identifique todas as dependências de dados existentes no código a seguir. Quais dependências são conflitos (hazards) que podem ser resolvidos com adiantamento? Quais dependências que são conflitos e irão provocar a parada (bolhas) na execução? add $3, $4, $2 add $5, $3, $1 lw $6, 200($3) add $7, $3, $6 3. Um esquema para minimizar os efeitos dos “conflitos de controle” (causados por mudanças no fluxo de controle durante a execução das instruções) é baseado na predição da ocorrência de desvios. Um esquema sofisticado de predição trabalha com a hipótese de que desvios para endereços anteriores sempre se realizam e que desvios para endereços posteriores nunca se realizam. Explique como isso é feito e por que o esquema tem predição tem uma taxa de acerto tão elevada (benchmarks mostraram taxas de acerto da ordem de 90%). 4. Implemente os adiantamentos que forem necessários para que o código a seguir não gere bolhas no pipeline. Considere que nos códigos MIPS indicados na tabela, X é um endereço de memória e Rx é o registrador que armazena o valor de X. Use a tabela para descrever os estágios de execução de cada uma das instruções a fim de detectar os conflitos. Insira as conexões necessárias para que seja feito o adiantamento de dados no esquema de execução do pipeline logo abaixo da tabela. y ← x + z; h ← y + x; lw Rx,x lw Rz,z add Ry,Rx,Rz sw y,Ry add Rh,Ry,Rx sw h,Rh CICLO 0 1 2 3 4 5 6 7 8 9 10 5. A técnica de memória virtual permite que a quantidade de memória necessária para a execução de um conjunto de processos exceda a quantidade total de memória física disponível. Explique como isso é feito. 6. Explique por que a política write-through é inviável para garantir a consistência entre dados de memória e dados no disco. 7. A tabela de páginas usa um bit de sujeira (dirty bit) por entrada da tabela que é setado quando dados são escritos na página. Qual a finalidade do bit de sujeira e como ele minimiza a perda de desempenho no processo de paginação? 8. Considere a arquitetura de uma CPU pipelined da figura a seguir. a. Determine a frequência de clock máxima para o seu funcionamento, justificando sua resposta. Considere que os componentes sem indicação de tempo (ex, os muxes e deslocadores) inserem atrasos de propagação desprezíveis para o funcionamento da arquitetura. (Obs: 1 ps = 10-12 s) b. Qual a função dos registradores ER, M e EX indicados no 2º, 3º e 4º estágios? (Dica: Tente explicar o que aconteceria se eles não existissem?) Arquitetura de Computadores (2) 9. Considere a representação de uma memória cache conforme esquema abaixo: a. Explique o funcionamento da cache, mencionando obrigatoriamente, a função dos componentes Tag, Index, Block offset, byte offset indicados no esquema. b. Mostre como chega-se à conclusão de que o tamanho dessa cache é de 16Kbits. c. Explique são detectados hits e misses na cache. 10. Considere o esquema de translação de endereço virtual em físico a seguir. Descreve o funcionamento da estrutura, a partir do momento em que o PC recebe um endereço virtual correspondente a uma instrução de um programa qualquer. a. Qual o tamanho da página? Arquitetura de Computadores (3) b. Qual o tamanho da tabela de páginas? c. Qual o tamanho do espaço de endereçamento virtual? E do real?
Compartilhar