FC ConcursosFC Concursos

Questão FC373207

Em relação aos fundamentos das linguagens de programação, é correto afirmar:

Linguagens de Programação

FCC · 2022

Em relação aos fundamentos das linguagens de programação, é correto afirmar:

  1. Um dos desafios da tradução de programas escritos em linguagens de alto nível para programas em linguagem assembler é minimizar a quantidade de variáveis mapeadas em registradores e, com isso, melhorar o desempenho do programa. Os compiladores são capazes de fazer esta tarefa muito bem, porém o resultado final depende muito da quantidade de registradores que estão disponíveis na arquitetura alvo.
  2. Cada vez é mais incomum encontrar programas úteis que usam poucas variáveis. Quando ocorre uma atribuição a alguma variável de um programa de alto nível, esta atribuição é mapeada para o endereço da variável correspondente. Porém, como o acesso à memória é mais rápido do que o acesso a registradores, é mais eficiente mapear as variáveis em endereços de memória ROM.
  3. Uma solução frequente para melhorar o desempenho dos processadores é anexar uma memória super rápida, próximo da CPU − a memória cache, cuja divisão em níveis torna a busca de informações do processador mais otimizada. Mas, como são muito mais caras, as memórias cache são normalmente pequenas.
  4. Em um comando de repetição como “while (i<10)”, o laço deve ser interrompido quando a condição do laço for falsa. Em assembler, a instrução de desvio apropriada é algo como "desvie se i>10", ou seja, desvie se a expressão (i<=10) for falsa.
  5. As linguagens de programação têm pelo menos dois tipos de comandos condicionais: if-then e if-then-else. Se a expressão testada for verdadeira, a sequência de comandos contida nos comandos assembler relativos ao “then” deve ser executada e, se for falsa, a sequência de comandos do “else” deve ser executada. Em situações particulares, os comandos do “then” e do “else” são executados consecutivamente.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A afirmação descreve corretamente a estratégia de acelerar o processamento com a adição de uma memória cache muito rápida colocada próxima ao CPU. Essa cache é tipicamente organizada em níveis (L1, L2, L3), onde cada nível equilibra velocidade, tamanho e latência.

O esquema em níveis torna a busca de dados mais eficiente: o nível mais próximo é o mais rápido e menor, servindo hits imediatos; os níveis subsequentes são maiores e um pouco mais lentos, reduzindo a penalidade quando há miss no nível anterior.

O motivo de as caches serem pequenas e caras é técnico: caches usam memória do tipo SRAM, que é muito mais rápida que DRAM, porém ocupa mais área e custa muito mais por byte. Assim, o projeto prioriza capacidade limitada para garantir alta velocidade.

Por fim, a eficácia da cache baseia‑se na localidade temporal e espacial dos programas, o que explica por que mesmo caches pequenas proporcionam grande ganho de desempenho.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo