Exercícios MT1

Limpar todos os resolvidos?

Desempenho

Atualizações sucessivas do componente certoEscolha múltipla

Teste 1 (MPCP), 2018/19

Uma aplicação demora 100 ms a executar: 72 ms de processamento no CPU e 28 ms de acesso a disco. O avanço da tecnologia permite duplicar o desempenho de um componente por ano. Se em cada ano se atualizar apenas o componente que, nesse ano, conduz a um melhor tempo total, qual é o tempo de execução ao fim de 4 atualizações?

A tua resposta

Solução

Ao fim de 4 atualizações, a aplicação demora 10,75 ms.

Acompanha-se o tempo total ano a ano, atualizando um componente de cada vez: ano 0: 72 + 28 = 100 ms; ano 1: 36 + 28 = 64 ms; ano 2: 36 + 7 = 43 ms; ano 3: 9 + 7 = 16 ms; ano 4: 9 + 1,75 = 10,75 ms.

  • 23 ms. Não corresponde à sequência de atualizações do enunciado.
  • 8 ms. Subestima o tempo que resta após 4 anos.
  • 10,75 ms. É o tempo da tabela de atualizações ano a ano.
  • 11,5 ms. Próximo, mas não é o valor da tabela oficial.
Voltar à explicação
Componente que limita as operações de E/SAutoavaliação

Teste 1 (MPCP), 2020/21

Um computador tem um CPU a 2,4 GHz que gasta 1,5 milhões de ciclos por cada operação de E/S e um barramento de memória com capacidade para 256 MB/s. As leituras do disco fazem-se em blocos de 128 kB. Indique a taxa máxima de operações de E/S permitida pelo CPU e pelo barramento e qual dos dois limita o desempenho do sistema.

Solução

CPU: 1600 operações/s. Barramento: 2000 operações/s. O CPU limita o desempenho.

O CPU leva 1,5×106/2,4×109=0,6251{,}5\times10^6 / 2{,}4\times10^9 = 0{,}625 ms por operação, ou seja 1600 operações/s. O barramento transfere 256 MB/s, ou seja 256×106/(128×103)=2000256\times10^6 / (128\times10^3) = 2000 blocos/s. Como 1600 < 2000, o CPU é o gargalo do sistema.

Confere a tua resposta:

  • O CPU permite 1600 operações/s (0,625 ms por operação).
  • O barramento permite cerca de 2000 operações/s (256 MB/s ÷ 128 kB).
  • A resposta indica que o CPU é o componente limitante.
Voltar à explicação

Caches

Vantagem de write-back face a write-throughEscolha múltipla

Teste 1 (MPCP), 2020/21

Em comparação com write-through, o uso de write-back permite:

A tua resposta

Solução

Write-back reduz o número de acessos à memória principal.

Com write-back, as escritas ficam na cache (marcando o bloco como modificado) e só são transferidas para a memória principal quando o bloco vai ser substituído. Assim, várias escritas consecutivas no mesmo bloco resultam numa única escrita na memória principal.

  • implementar um sistema de memória mais rápido. A política de escrita não torna a memória mais rápida.
  • simplificar as operações de leitura. As leituras são tratadas da mesma forma.
  • reduzir o número total de bits de memória. O número de bits não depende da política de escrita.
  • reduzir o número de acessos à memória principal. As escritas acumulam-se na cache e só descem à memória na substituição.
Voltar à explicação
O que blocos de cache maiores aproveitamEscolha múltipla

Teste 1 (MPCP), 2020/21

O uso de blocos de cache maiores permite aproveitar melhor:

A tua resposta

Solução

Blocos maiores aproveitam melhor a proximidade espacial.

Um bloco maior traz para a cache, além do byte acedido, os bytes que lhe são adjacentes em memória. Como os programas tendem a aceder a endereços próximos uns dos outros, esses bytes têm grande probabilidade de vir a ser necessários, e já estão na cache. Isso é a localidade espacial.

  • a frequência de relógio. O tamanho do bloco não altera o relógio do CPU.
  • a penalidade de falta. Blocos maiores podem até aumentar a penalidade de falta.
  • a proximidade espacial. Blocos maiores trazem para a cache os bytes vizinhos do acedido.
  • a proximidade temporal. A localidade temporal depende da reutilização no tempo.
Voltar à explicação
Cache de mapeamento direto: endereço, faltas e taxa de acertosAutoavaliação

Teste 1 (MPCP), 2020/21

Uma memória cache de mapeamento direto com política write-through tem 128 blocos de 32 bytes e etiquetas com 12 bits.

(a) Quantos bits são usados para representar endereços de memória?

(b) A cache é usada como cache de dados e começa vazia (todos os blocos com V=0). Antes da execução do fragmento abaixo, tem-se X0 = 0x00000A80 e X2 = 0x00000014. Quantos blocos são transferidos da memória principal devido às leituras de dados?

L1:  ldr   W1, [ X0 ]
     add   W1, W1, 1
     str   W1, [ X0 ]
     add   X0, X0, 4
     add   W2, W2, -1
     cbnz  W2, L1

(c) A mesma memória é usada como cache de instruções de um CPU com CPI ideal 1,5 e penalidade de falta de 100 ciclos. Qual deve ser a taxa de acertos para que o CPI efetivo não seja superior a 12,5?

Solução

(a) 24 bits. (b) 3 blocos. (c) Taxa de acertos h≥0,89h \geq 0{,}89.

(a) 128 blocos → 7 bits de índice; 32 bytes por bloco → 5 bits de offset; com 12 bits de etiqueta, o endereço tem 12+7+5=2412+7+5=24 bits. (b) O ciclo acede a 0xA80, 0xA84, …, 0xACC (20 endereços de 4 em 4 bytes), que pertencem aos blocos 0xA80, 0xAA0 e 0xAC0: 3 blocos distintos, logo 3 faltas e 3 blocos transferidos. (c) CPIefetivo=1,5+(1−h)×100≤12,5\mathrm{CPI}_{efetivo} = 1{,}5 + (1-h)\times100 \leq 12{,}5, logo (1−h)≤0,11(1-h)\leq0{,}11 e h≥0,89h\geq0{,}89.

Confere a tua resposta:

  • A resposta indica 24 bits de endereço (12 de etiqueta + 7 de índice + 5 de offset).
  • A resposta indica que são transferidos 3 blocos nas leituras.
  • A resposta indica uma taxa de acertos de pelo menos 0,89 (89%).
Voltar à explicação

Armazenamento

Transferência de 200 MB em disco magnético e em SSDEscolha múltipla

Teste 1 (MPCP), 2018/19

Um computador possui um disco magnético de 10000 RPM, 832 setores de 4 kB por cilindro, tempo de busca mínimo 2 ms e médio de 8 ms, e taxa de transferência 100 MB/s, e um SSD com taxa de transferência 50 MB/s. Pretende-se transferir um ficheiro de 200 MB de cada disco, no cenário mais favorável (sem atrasos de controlador). Qual das afirmações é verdadeira?

A tua resposta

Solução

O ficheiro de 200 MB transfere-se mais depressa no disco magnético (≈ 2,131 s contra 4 s no SSD).

No disco magnético, 200 MB são 50000 setores de 4 kB, que ocupam 61 cilindros. No melhor caso, o tempo é 8 ms de busca média + 3 ms de rotação média (a 10000 RPM) + 60 × 2 ms de buscas mínimas entre cilindros + 200 MB / 100 MB/s = 2 s, num total de ≈ 2131 ms. No SSD, o tempo é 200 MB / 50 MB/s = 4 s. Logo o disco magnético é mais rápido neste cenário.

  • O tempo no SSD é 2 vezes menor.. O SSD é mais lento neste cenário: 4 s contra 2,131 s.
  • O tempo no SSD é 4 vezes menor.. Vale o contrário: o disco magnético é mais rápido.
  • O tempo é menor no disco magnético.. 2,131 s no magnético contra 4 s no SSD.
  • O tempo é igual em ambos os discos.. As taxas de transferência são diferentes.
Voltar à explicação
Configuração RAID para 32 TB de capacidade útilAutoavaliação

Teste 1 (MPCP), 2018/19

Pretende-se construir um sistema RAID com 32 TB de capacidade útil. Estão disponíveis discos Dsk1 (2 TB, 5,9 W, 140 €) e Dsk2 (1 TB, 3,2 W, 65 €), e as organizações Org1 (RAID-1), Org2 (RAID-5 com 4 grupos de proteção) e Org3 (RAID-6 com 2 grupos de proteção). Indique, para cada alínea, a melhor configuração:

(a) a que requer mais discos; (b) a que tem o custo de aquisição mais baixo; (c) a que tem menor consumo; (d) aquela em que, com um disco avariado, a situação normal pode ser restabelecida mais depressa.

Solução

(a) RAID-1 e Dsk2. (b) RAID-5 (4 grupos) e Dsk2. (c) RAID-6 (2 grupos) e Dsk2. (d) RAID-1 e Dsk2.

Número de discos: RAID-1 precisa de 32 (Dsk1) ou 64 (Dsk2); RAID-5 com 4 grupos precisa de 4×(8/d+1) = 20 (Dsk1) ou 36 (Dsk2); RAID-6 com 2 grupos precisa de 2×(16/d+2) = 20 (Dsk1) ou 36 (Dsk2). Custos: 4480/4160 € (RAID-1), 2800/2340 € (RAID-5), 2800/2340 € (RAID-6). Consumos: 188,8/204,8 W (RAID-1), 118/115,2 W (RAID-5 e RAID-6). Na avaria, RAID-1 copia o disco espelho, enquanto RAID-5/6 recalculam a paridade lendo todo o grupo; com discos menores (Dsk2) a recuperação é mais rápida.

Confere a tua resposta:

  • (a) A resposta indica RAID-1 com Dsk2 (64 discos).
  • (b) A resposta indica RAID-5 com 4 grupos e Dsk2 (2340 €).
  • (c) A resposta indica RAID-6 com 2 grupos e Dsk2 (115,2 W).
  • (d) A resposta indica RAID-1 com Dsk2.
Tempo de leitura de um ficheiro em disco magnéticoEscolha múltipla

Teste 1 (MPCP), 2020/21

Um disco magnético roda a 10000 RPM, tem latência média de busca de 40 ms, latência de controlador de 15 ms e transfere dados a 50 MB/s. Qual é o tempo de leitura de um ficheiro de 25 MB guardado em setores adjacentes?

A tua resposta

Solução

O tempo de leitura é 558 ms.

A 10000 RPM, uma rotação completa demora 6 ms e a latência média de rotação é metade: 3 ms. O tempo total é 40 ms (busca) + 3 ms (rotação média) + 15 ms (controlador) + 25 MB / 50 MB/s = 500 ms (transferência), ou seja 558 ms.

  • 58,5 ms. Esquece o tempo de transferência dos dados.
  • 61,5 ms. Usa a rotação média de forma incorreta.
  • 558 ms. 40 + 3 + 15 + 500 = 558 ms.
  • 601 ms. Usa a rotação completa em vez da média.
Voltar à explicação
Disponibilidade de um disco com MTTR = MTTF/4Valor

Teste 1 (MPCP), 2020/21

Um disco tem tempo médio entre avarias (MTTF) e tempo médio de reparação (MTTR) com MTTR=14MTTFMTTR = \frac{1}{4}MTTF. Qual é a disponibilidade do disco?

Solução

Disponibilidade =MTTFMTTF+MTTR=MTTFMTTF+MTTF/4=11,25=0,8= \frac{MTTF}{MTTF+MTTR} = \frac{MTTF}{MTTF + MTTF/4} = \frac{1}{1{,}25} = 0{,}8.

A disponibilidade é a fração do tempo em que o sistema está operacional: MTTFMTTF+MTTR\frac{MTTF}{MTTF+MTTR}. Substituindo MTTR=MTTF/4MTTR = MTTF/4, obtém-se MTTF1,25 MTTF=0,8\frac{MTTF}{1{,}25\,MTTF} = 0{,}8 (80%).

Entrada e saída

Quando convém usar interrupções em vez de varrimentoEscolha múltipla

Teste 1 (MPCP), 2018/19

Qual das seguintes afirmações sobre a gestão de periféricos é verdadeira?

A tua resposta

Solução

Quanto mais esporádicos forem os acessos a um periférico, mais conveniente é geri-los por interrupção.

O varrimento (polling) interroga o periférico a uma taxa constante e gasta ciclos de CPU mesmo quando não há nada para fazer. Com interrupções, o CPU só é desviado quando o periférico sinaliza que precisa de atenção, o que compensa quando os acessos são esporádicos.

  • Quanto mais frequentes forem os acessos, mais convém interrupção.. Acessos frequentes adaptam-se melhor a varrimento.
  • Quanto mais esporádicos forem os acessos, mais convém interrupção.. O varrimento gasta ciclos à espera; a interrupção só quando é preciso.
  • O varrimento é sempre mais rápido que a interrupção.. Depende do trabalho exigido pelo periférico.
  • O varrimento é sempre mais lento que a interrupção.. Depende do trabalho exigido pelo periférico.
Voltar à explicação
Papel do CPU numa transferência por DMAEscolha múltipla

Teste 1 (MPCP), 2018/19

No contexto de uma transferência por acesso direto à memória (DMA), qual das afirmações é verdadeira?

A tua resposta

Solução

Numa transferência por DMA, o CPU apenas inicia a transferência.

O CPU configura o controlador de DMA e inicia a transferência. A partir daí, é o controlador de DMA que comanda a transferência de dados entre o periférico e a memória, enviando uma interrupção ao CPU apenas no fim do processo.

  • O CPU tem de executar a transferência.. Quem comanda a transferência é o controlador de DMA.
  • O CPU não tem qualquer intervenção na transferência.. O CPU tem de configurar e iniciar a transferência.
  • O CPU tem apenas de iniciar a transferência.. Depois de iniciada, o controlador de DMA trata de tudo.
  • O CPU tem de iniciar e terminar a transferência.. O fim é sinalizado por interrupção do controlador.
Voltar à explicação
Sistema com CPU, barramento e disco: blocos, latências e sensoresAutoavaliação

Teste 1 (MPCP), 2018/19

Um sistema é composto por um CPU a 3 GHz que gasta 2 milhões de ciclos por operação de E/S, um barramento de memória com capacidade para 750 MB/s e um disco com tempo de acesso de 4 ms e taxa de transferência de 80 MB/s.

(a) Assumindo que a taxa média de transferência do disco é 25 MB/s, calcule o tamanho do bloco de dados transferido em cada acesso e o tempo médio de busca mais rotação do disco.

(b) Determine o desempenho de cada componente em blocos/s e indique qual deles limita o desempenho do sistema.

(c) A comunicação com sensores ambientais faz-se por varrimento (polling), gastando o CPU 1000 ciclos por acesso, com 3 acessos/s por sensor. Quantos sensores podem ser usados se a taxa de ocupação do CPU com os sensores for 0,0025%?

Solução

(a) 100 kB por acesso; busca + rotação = 2,75 ms. (b) O disco limita o sistema (250 blocos/s). (c) 25 sensores.

(a) Bloco = 25 MB/s × 4 ms = 100 kB; busca + rotação = 4 ms − 100 kB / 80 MB/s = 4 − 1,25 = 2,75 ms. (b) CPU: 2×10⁶ ciclos a 3×10⁹ ciclos/s = 2/3 ms por bloco → 1500 blocos/s; barramento: 750 MB/s ÷ 100 kB = 7500 blocos/s; disco: 1 / 4 ms = 250 blocos/s. O disco é o gargalo. (c) Cada sensor consome 1000 × 3 = 3000 ciclos/s; 0,0025% de 3×10⁹ = 75000 ciclos/s; N = 75000/3000 = 25 sensores.

Confere a tua resposta:

  • O bloco transferido em cada acesso tem 100 kB e o tempo de busca mais rotação é 2,75 ms.
  • O disco limita o sistema, com 250 blocos/s (CPU: 1500 blocos/s; barramento: 7500 blocos/s).
  • Podem ser usados 25 sensores.
Voltar à explicação
Polling ou interrupções: ciclos de CPU gastos por cada estratégiaAutoavaliação

Teste 1 (MPCP), 2020/21

Um disco rígido transfere 4 palavras (8 bytes cada) a uma taxa de 16 MB/s e está ocupado a transferir dados durante 80% do tempo. O CPU opera a 2,5 GHz. Cada operação de polling consome 800 ciclos e a sobrecarga de cada transferência por interrupção é 1000 ciclos. Apresentando os ciclos de CPU consumidos por segundo em cada opção, indique qual é a estratégia de gestão do periférico mais vantajosa.

Solução

Polling: 3,2×10⁸ ciclos/s. Interrupções: 4×10⁸ ciclos/s. O polling é mais vantajoso.

O disco transfere 16 MB/s × 0,8 = 12,8 MB/s, ou seja 12,8×10⁶ / 32 = 400000 blocos de 32 bytes por segundo. Com polling, é preciso sondar pelo menos uma vez por transferência: 400000 × 800 = 3,2×10⁸ ciclos/s. Com interrupções: 400000 × 1000 = 4×10⁸ ciclos/s. Como 3,2×10⁸ < 4×10⁸, o polling consome menos ciclos de CPU.

Confere a tua resposta:

  • A resposta calcula 400000 transferências/s (16 MB/s × 80% ÷ 32 bytes).
  • O polling consome 3,2×10⁸ ciclos/s e as interrupções 4×10⁸ ciclos/s.
  • A resposta conclui que o polling é mais vantajoso neste caso.
Voltar à explicação

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.