1/63
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
O que significa "desempenho" no contexto geral de sistemas?
É a eficiência e capacidade de um sistema realizar uma tarefa específica de forma eficaz e dentro de um tempo determinado.
Quais fatores são utilizados para medir desempenho?
Velocidade
Precisão
Qualidade
Consumo de recursos
O que é efetividade em relação ao desempenho?
É "fazer a coisa certa" — atingir o objetivo proposto.
O que é eficiência em relação ao desempenho?
É "fazer as coisas da melhor forma possível", otimizando o uso de recursos.
Qual a relação entre desempenho, eficiência e efetividade?
O desempenho depende da efetividade (correção) e da eficiência (otimização) ao realizar uma tarefa.
O que significa "desempenho" na computação?
É a capacidade de um sistema, componente ou software de executar tarefas de forma eficiente, rápida e confiável.
Quais recursos são usados para alcançar alto desempenho?
Processamento
Memória
Armazenamento
Rede
Usados de forma otimizada.
Como o desempenho é avaliado na computação?
Por métricas técnicas, como:
Velocidade de processamento
Eficiência
Capacidade de resposta
Consumo de energia
Utilização de recursos
Por que o desempenho é importante em sistemas computacionais?
Garante que os sistemas realizem suas funções de forma eficaz e responsiva, utilizando recursos mínimos.
Qual a diferença entre desempenho geral e desempenho em computação?
No contexto computacional, o foco está em tempo de resposta, uso eficiente de hardware e confiabilidade, medidos objetivamente por métricas quantitativas.
Quais são os três principais níveis em que o desempenho pode ser analisado?
Desempenho do processador
Desempenho do sistema
Desempenho de software
Como é medido o desempenho do processador?
Pela capacidade da CPU de executar instruções rapidamente, considerando ciclos por instrução (CPI), frequência de clock, etc.
O que influencia o desempenho do sistema?
A interação entre CPU, RAM, armazenamento, GPU e periféricos, afetando o tempo de resposta e throughput do sistema como um todo.
O que caracteriza o desempenho de software?
A eficiência dos algoritmos, qualidade do código, e uso otimizado dos recursos de hardware (memória, CPU, etc.).
Por que é importante avaliar desempenho em diferentes níveis?
Um sistema eficiente depende do equilíbrio entre hardware e software, e gargalos podem ocorrer em qualquer nível.
O que é o Clock de um processador?
É a frequência (em GHz) que define quantos ciclos de clock ocorrem por segundo. Frequências mais altas indicam maior potencial de desempenho, mas com maior consumo de energia.
O que significa CPI (Ciclos por Instrução)?
Indica quantos ciclos de clock são necessários para executar uma única instrução. Quanto menor o CPI, melhor.
O que significa IPC (Instruções por Ciclo)?
Indica quantas instruções a CPU consegue executar em um único ciclo de clock. Quanto maior o IPC, maior o desempenho.
O que é Tempo de Execução (Latência)?
É o tempo total necessário para concluir uma tarefa, do início ao fim. Quanto menor a latência, melhor o desempenho percebido.
O que é Throughput (Vazão)?
É a quantidade de operações completas executadas por unidade de tempo. Um sistema com alto throughput realiza mais trabalho em menos tempo.
O que é Benchmarking?
São testes padronizados que medem o desempenho de diferentes sistemas ou processadores em situações reais ou simuladas, como compressão de arquivos, renderização ou jogos.
Como a arquitetura interna do processador afeta o desempenho?
RISC: Instruções mais simples e otimizadas, maior eficiência por ciclo
CISC: Instruções mais complexas e versáteis, maior densidade de código
Qual é o impacto do número de núcleos no desempenho?
Um maior número de núcleos permite mais tarefas simultâneas (paralelismo), o que melhora o desempenho em multitarefa e aplicações paralelas.
Como a memória cache influencia o desempenho da CPU?
A cache reduz o tempo de acesso a dados frequentemente utilizados, evitando atrasos causados pela RAM.
L1: mais rápida e menor
L2: intermediária
L3: maior e compartilhada entre núcleos
Quais técnicas aumentam a eficiência na execução de instruções?
Pipeline: sobreposição de etapas do ciclo de instrução
Execução especulativa: prever e executar instruções antes da confirmação
Paralelismo: executar várias instruções simultaneamente
O desempenho do processador depende principalmente de quê?
Da sua arquitetura interna e de fatores como frequência de clock, cache, paralelismo e técnicas de execução.
Como o aumento da frequência de relógio (clock) impacta o desempenho?
Aumenta o número de ciclos por segundo, permitindo que mais instruções sejam executadas em menos tempo — embora com maior consumo energético e geração de calor.
Por que aumentar o tamanho da memória cache melhora o desempenho?
Mais dados frequentemente utilizados podem ser armazenados próximos da CPU, reduzindo o tempo de acesso à RAM.
O que é pipelining e como melhora o desempenho?
Técnica que divide a execução de instruções em etapas sobrepostas, permitindo que várias instruções sejam processadas simultaneamente em diferentes estágios.
O que é superescalaridade?
É a capacidade da CPU de executar múltiplas instruções por ciclo de clock, utilizando várias unidades funcionais em paralelo.
O que é pipelining em arquitetura de processadores?
É uma técnica que permite à CPU buscar múltiplas instruções antecipadamente, colocando-as em uma fila para execução em estágios sobrepostos.
Como o pipelining melhora o desempenho da CPU?
Ao executar instruções em paralelo por estágios, permite que a próxima instrução entre no pipeline antes que a anterior termine, aumentando o throughput.
O que são “estágios” no contexto de pipelining?
São fases sequenciais da execução de uma instrução
O que acontece se houver um conflito ou dependência entre instruções no pipeline?
Ocorre um hazard (risco de execução), que pode ser tratado com técnicas como stalling, forwarding, ou reordenação.
Qual a principal vantagem do pipelining?
Aumentar a taxa de execução de instruções (instruções por ciclo), mesmo que o tempo de execução de cada instrução individual não mude.
Como as instruções são organizadas no pipeline?
Em uma fila interna de memória dentro da CPU, onde aguardam a sua vez de passar pelos estágios do pipeline.
O que são hazards no contexto de pipelining?
São conflitos que impedem a execução contínua e correta das instruções no pipeline, podendo causar atrasos ou resultados incorretos.
O que são data hazards?
São dependências de dados entre instruções consecutivas, onde uma instrução precisa de um dado que ainda não foi produzido pela anterior. Pode exigir stalls (ciclos de espera).
O que são control hazards?
Ocorrem em instruções de desvio (branches), onde o processador pode buscar instruções erradas antes de saber o resultado da condição. Exemplo: if
ou jump
.
O que são structural hazards?
São conflitos causados por disputa por recursos de hardware, como duas instruções tentando usar a mesma unidade funcional (ex: ALU ou acesso à memória) ao mesmo tempo.
Quais técnicas podem ser usadas para mitigar hazards?
Forwarding (data hazards)
Branch prediction (control hazards)
Duplicação de unidades funcionais (structural hazards)
Stalling (espera controlada)
O que é superescalaridade em um processador?
É a duplicação (ou mais) dos componentes principais da CPU (como ALUs e FPUs), permitindo a execução de múltiplas instruções em paralelo por ciclo de clock.
Onde surgiu o conceito de superescalaridade?
Foi introduzido no Intel Pentium, que tinha duas ALUs para execução paralela de operações inteiras.
Quais unidades funcionais são usadas na superescalaridade?
ALUs (Arithmetic Logic Units)
FPUs (Floating Point Units)
Unidades de acesso à memória
Qual é o principal benefício da superescalaridade?
Aumenta a eficiência e desempenho, permitindo que várias instruções compatíveis sejam executadas simultaneamente em diferentes unidades funcionais.
O que determina a eficiência da superescalaridade?
A capacidade do processador de identificar instruções independentes (sem dependências de dados ou controle) que possam ser executadas em paralelo.
A superescalaridade funciona com qualquer conjunto de instruções?
Não. Ela depende da análise de dependências para garantir que instruções paralelas não entrem em conflito.
O que é renomeação de registos (Register Renaming)?
Técnica que evita dependências falsas entre instruções, permitindo mais paralelismo ao atribuir nomes diferentes a registradores temporários.
O que é reordenação de instruções (Out-of-Order Execution)?
Permite que instruções sejam executadas fora da ordem original, desde que as dependências reais de dados sejam respeitadas
O que é execução especulativa?
Técnica em que a CPU prevê quais instruções provavelmente serão executadas e as executa antes da confirmação, para não desperdiçar ciclos.
Como as dependências de dados afetam a superescalaridade?
Elas geram data hazards, impedindo que instruções dependentes sejam executadas em paralelo e forçando stalls (espera).
O que são structural hazards nesse contexto?
Ocorrem quando duas ou mais instruções competem pelos mesmos recursos internos do processador (como ALU ou barramentos).
Quais são os limites físicos e energéticos da superescalaridade?
A duplicação de unidades funcionais exige mais transístores, o que leva a maior consumo energético, mais calor e limitações físicas de escala.