NEW
Font size
WorksheetsArquitetura e Organização de Computadores
Total questions: 61
Worksheet time: 35mins
Qual das alternativas melhor descreve a diferença entre organização e arquitetura de computadores?
A organização se refere ao conjunto de instruções, enquanto a arquitetura trata da implementação física.
A arquitetura trata dos atributos visíveis ao programador, enquanto a organização lida com detalhes de implementação.
A organização define o conjunto de instruções visíveis, e a arquitetura define os circuitos de controle.
Ambas são sinônimos e representam o mesmo conceito.
A organização trata da lógica de software, e a arquitetura do hardware.
A lei de Moore, fundamental para a evolução da arquitetura de computadores, afirma que:
O custo dos processadores duplica a cada dois anos.
O número de transistores em um chip dobra a cada 18 a 24 meses.
A velocidade do clock dobra a cada seis meses.
O consumo de energia dos chips reduz pela metade a cada dois anos.
O desempenho dos sistemas dobra anualmente.
A arquitetura de von Neumann é caracterizada principalmente por:
Ter memória separada para dados e instruções.
Usar processamento paralelo massivo.
Compartilhar o mesmo barramento para dados e instruções.
Ser exclusiva para sistemas de propósito específico.
Utilizar apenas memórias não voláteis.
O conceito de “níveis de máquina” em Stallings está relacionado a:
Níveis de abstração entre hardware e software.
Tipos de barramento em um sistema.
Hierarquia de memória.
Arquiteturas de pipeline.
Processadores multiprocessados.
Em uma visão hierárquica, qual é a principal vantagem dos níveis de máquina?
Permitem depuração mais simples.
Reduzem a complexidade do projeto ao isolar camadas funcionais.
Aumentam a velocidade de clock.
Diminuem o consumo de energia.
Substituem a necessidade de compiladores.
O termo “microarquitetura” refere-se a:
Linguagem de montagem usada pelo compilador.
Estrutura interna do processador que implementa o conjunto de instruções.
Organização da memória principal.
Interligação entre processadores em sistemas multiprocessados.
Arquitetura de software embarcado.
O desempenho de um computador depende de três fatores principais, segundo Stallings. São eles:
Memória, armazenamento e interfaces.
Processador, memória e E/S.
Clock, barramento e sistema operacional.
Pipeline, cache e paralelismo.
ALU, registradores e controle.
A principal limitação do modelo de von Neumann é:
A baixa confiabilidade do barramento de controle.
O gargalo de comunicação entre CPU e memória.
O uso de instruções complexas.
A ausência de mecanismos de cache.
O alto custo de implementação.
Um sistema baseado em arquitetura Harvard difere da von Neumann por:
Permitir a execução simultânea de leitura de instruções e dados.
Utilizar apenas um barramento para todos os acessos.
Ter um único conjunto de registradores.
Não possuir unidade de controle.
Não permitir acesso simultâneo à memória.
A principal contribuição histórica dos mainframes foi:
O uso de processadores RISC.
A introdução da computação em nuvem.
A base para multiprogramação e virtualização.
O desenvolvimento de GPUs.
A eliminação da hierarquia de memória.
O desempenho de um computador é geralmente medido em:
Hertz (Hz).
FLOPS ou MIPS.
Bytes por segundo.
Volts.
Níveis de cache.
Qual técnica é usada para medir o desempenho em aplicações reais?
Benchmarks.
Compiladores.
Pipelining.
Microprogramação.
Virtualização.
O aumento da frequência de clock tem impacto limitado devido a:
Limites térmicos e dissipação de energia.
Falta de compatibilidade com o sistema operacional.
Dependência do compilador.
Limites de memória.
Gargalos de E/S apenas.
O conceito de speedup é definido como:
A diferença de clock entre dois processadores.
A razão entre o tempo de execução sem e com otimização.
A relação entre consumo e desempenho.
O tempo médio de acesso à memória.
A largura de banda do barramento.
A Lei de Amdahl estabelece que:
O desempenho total depende da fração paralelizável e do número de processadores.
Todo programa pode ser acelerado linearmente com o número de núcleos.
O clock é o principal fator de desempenho.
A eficiência é constante em sistemas multiprocessados.
O acesso à memória não afeta a execução paralela.
O CPI (Cycles Per Instruction) representa:
O número de ciclos necessários para completar uma instrução média.
O clock máximo atingível pelo processador.
A largura do barramento de dados.
O tempo total de execução de um programa.
O tempo médio de acesso ao cache.
O desempenho de sistemas com múltiplos níveis de cache é influenciado diretamente por:
A latência média de acesso e a taxa de acertos.
O tamanho da memória virtual.
O número de registradores da CPU.
O barramento de E/S.
O número de threads.
Benchmarks sintéticos diferem dos reais porque:
São baseados em programas reais.
São específicos para medir desempenho em cargas isoladas.
Não podem ser usados para comparação entre arquiteturas.
Exigem execução em hardware idêntico.
Têm maior variabilidade nos resultados.
Uma forma de melhorar desempenho sem alterar hardware é:
Usar compiladores otimizadores.
Aumentar o número de núcleos.
Ampliar a largura do barramento.
Usar clock mais rápido.
Trocar o sistema operacional.
Um computador com 3 GHz e CPI médio de 2 executa 1 bilhão de instruções em:
0,5 s
0,66 s
1,5 s
2 s
3 s
O conjunto de instruções de um processador define:
O número de transistores disponíveis no chip.
As operações que o processador é capaz de executar.
O número de registradores físicos disponíveis.
A topologia de interconexão do sistema.
O sistema operacional suportado.
Instruções de desvio condicional pertencem à classe de:
Transferência de dados.
Controle.
Lógicas.
Aritméticas.
Entrada/Saída.
Uma instrução do tipo LOAD normalmente faz:
Move dados do registrador para a memória.
Copia dados da memória para um registrador.
Soma dois operandos e armazena o resultado.
Transfere dados entre dispositivos de E/S.
Modifica o contador de programa.
O modo de endereçamento imediato significa que:
O operando está na memória.
O operando é fornecido explicitamente na instrução.
O operando está em um registrador.
O endereço do operando é calculado em tempo de execução.
A instrução acessa diretamente o barramento.
Um conjunto de instruções CISC é caracterizado por:
Instruções simples e de tamanho fixo.
Instruções complexas que executam múltiplas operações.
Menor número de modos de endereçamento.
Foco em desempenho por pipelining.
Forte uso de compiladores otimizadores.
O tipo de instrução responsável por alterar o fluxo de execução do programa é:
Lógica.
Controle.
Aritmética.
Deslocamento.
Comparação.
A instrução ADD R1, R2, R3 representa:
R3 = R1 + R2.
R1 = R2 + R3.
R2 = R1 + R3.
R1 = R3 + 1.
R3 = R2 + 1.
O modo de endereçamento indexado é útil porque:
Permite acesso sequencial a vetores ou tabelas.
Usa sempre o mesmo registrador base.
Reduz o tamanho do código.
É exclusivo de arquiteturas RISC.
Exige hardware adicional.
O principal objetivo da microprogramação é:
Controlar a execução das instruções a nível de hardware.
Reduzir o consumo de energia do processador.
Substituir o compilador.
Gerar código em linguagem de máquina.
Controlar o acesso à memória cache.
O opcode de uma instrução identifica:
A operação a ser executada.
O registrador de destino.
O endereço de memória base.
O modo de endereçamento.
A posição da pilha.
A função principal da unidade de controle é:
Executar operações aritméticas.
Interpretar e coordenar a execução das instruções.
Armazenar resultados intermediários.
Controlar o acesso ao cache.
Decodificar endereços de memória física.
O pipeline de instruções tem como objetivo:
Aumentar a taxa de transferência de instruções.
Reduzir o tamanho do conjunto de instruções.
Aumentar o tamanho dos registradores.
Simplificar a unidade lógica.
Eliminar conflitos de dados.
Um conflito estrutural no pipeline ocorre quando:
Duas instruções competem pelo mesmo recurso de hardware.
O resultado de uma instrução é necessário por outra.
O desvio altera o fluxo do pipeline.
Há falha de cache.
O clock é instável.
A execução fora de ordem (out-of-order execution) permite:
Executar instruções em qualquer sequência, respeitando dependências.
Aumentar o clock máximo do processador.
Eliminar todos os conflitos de controle.
Simplificar a unidade de controle.
Reduzir o uso de memória cache.
Pergunta: O registrador de instrução (IR) tem a função de:
Armazenar o endereço da próxima instrução.
Armazenar a instrução que está sendo executada.
Controlar o acesso à memória cache.
Sincronizar o clock.
Gerar sinais de interrupção.
O conceito de superescalaridade envolve:
Execução de múltiplas instruções por ciclo de clock.
Multiplicação de frequência do clock.
Uso de um único pipeline longo.
Execução sequencial de instruções.
Controle centralizado.
O registrador PC (Program Counter) contém:
O endereço da instrução atual.
O endereço da próxima instrução a ser buscada.
O resultado da ALU.
O número de ciclos por instrução.
O endereço do último desvio.
Processadores RISC normalmente possuem:
Instruções simples e de execução rápida.
Instruções complexas com múltiplos ciclos.
Poucos registradores de propósito geral.
Dependência de microcódigo.
Pouca previsibilidade de desempenho.
O principal benefício da execução especulativa é:
Aumentar o paralelismo e reduzir o tempo de espera de desvios.
Reduzir o consumo de energia.
Simplificar o controle de pipeline.
Aumentar a precisão de cálculos.
Evitar falhas de cache.
A hierarquia de memória é organizada com base em:
Velocidade, custo e capacidade.
Tipo de encapsulamento.
Consumo elétrico.
Tipo de barramento.
Tecnologia de fabricação.
A memória cache tem como função principal:
Reduzir o tempo médio de acesso à memória principal.
Substituir a memória RAM.
Ampliar o armazenamento secundário.
Sincronizar o clock da CPU.
Corrigir erros de paridade.
Memórias DRAM diferem das SRAM porque:
São mais lentas e precisam ser recarregadas periodicamente.
São mais rápidas e mais caras.
Não precisam de refresh.
São usadas apenas em registradores.
Armazenam dados de forma estática.
A política de substituição LRU (Least Recently Used) baseia-se em:
Substituir o bloco que não foi usado há mais tempo.
Substituir o bloco mais recente.
Escolher um bloco aleatoriamente.
Remover o bloco com menor prioridade.
Priorizar blocos com mais acessos.
A memória virtual permite:
Usar o disco como extensão da memória principal.
Aumentar a velocidade de cache.
Executar instruções fora de ordem.
Substituir o pipeline.
Armazenar dados apenas em registradores.
O barramento de memória é responsável por:
Transferir endereços e dados entre CPU e memória.
Controlar as interrupções.
Executar operações aritméticas.
Aumentar a taxa de clock.
Controlar dispositivos de E/S.
O cache write-back difere do write-through porque:
Atualiza a memória principal apenas quando o bloco é substituído.
Escreve simultaneamente na memória e no cache.
Usa política de substituição FIFO.
Exige mais barramentos.
Não permite coerência de dados.
O principal objetivo dos sistemas de E/S é:
Permitir a comunicação entre CPU e dispositivos externos.
Aumentar o desempenho da memória cache.
Controlar instruções aritméticas.
Substituir barramentos internos.
Reduzir a complexidade do processador.
A técnica de interrupção melhora o desempenho de E/S porque:
Libera a CPU para outras tarefas enquanto o dispositivo opera.
Diminui o consumo de energia.
Elimina o uso de barramentos.
Substitui o uso de cache.
Evita uso de drivers.
Um protocolo de comunicação define:
Regras para troca de dados entre dispositivos.
O tamanho físico dos conectores.
A tensão elétrica dos sinais.
O número de transistores no barramento.
A frequência de clock do sistema.
O USB utiliza comunicação do tipo:
Serial.
Paralela.
Mista.
Síncrona.
Assíncrona.
Um barramento síncrono é caracterizado por:
Ter todos os dispositivos sincronizados por um mesmo clock.
Operar de forma independente do clock.
Utilizar pacotes de dados aleatórios.
Controlar apenas E/S de baixa velocidade.
Requerer buffers intermediários.
A vantagem do uso de caches de E/S é:
Reduzir latência de acesso a dispositivos lentos.
Diminuir o consumo de energia.
Eliminar interrupções.
Simplificar protocolos.
Aumentar o tamanho dos dados.
O conceito de throughput em E/S refere-se a:
Quantidade de dados transferidos por unidade de tempo.
Tempo médio de acesso à memória.
Número de interrupções por ciclo.
Tamanho máximo do buffer.
Frequência do barramento.
O principal objetivo dos níveis de RAID é:'
Aumentar o desempenho e/ou a confiabilidade do armazenamento.
Reduzir o consumo de energia do sistema.
Substituir completamente a memória principal.
Gerar cópias temporárias de cache.
Melhorar a comunicação entre processador e memória.
No RAID 0, os dados são:
Divididos entre discos sem redundância.
Espelhados em todos os discos.
Armazenados com paridade distribuída.
Codificados com correção de erros.
Gravados em um único disco de backup.
O RAID 1 é caracterizado por:
Distribuição simples de blocos.
Uso de paridade distribuída.
Correção de erros via Hamming.
Compressão em tempo real.
Espelhamento completo dos dados.
A principal vantagem do RAID 5 é:
Combinar desempenho, tolerância a falhas e economia de espaço.
Oferecer redundância total em todos os discos.
Utilizar apenas um disco ativo.
Eliminar a necessidade de controladora.
Usar espelhamento completo.
O RAID 6 se diferencia do RAID 5 por:
Incluir dupla paridade.
Não usar paridade.
Ter desempenho inferior ao RAID 0.
Utilizar espelhamento em três discos.
Ser restrito a sistemas com até dois discos.
O código de Hamming é utilizado para:
Detectar e corrigir erros em transmissões digitais.
Compactar dados para armazenamento.
Aumentar a largura de banda de redes.
Multiplexar sinais analógicos.
Gerar assinaturas criptográficas.
O código de Hamming é capaz de:
Corrigir um erro e detectar dois.
Corrigir dois erros e detectar três.
Apenas detectar erros simples.
Corrigir três erros consecutivos.
Substituir CRCs em qualquer aplicação.
Em um código de Hamming, se a quantidade total de bits transmitidos possui número par de 1s, isso indica:
Ausência de erro se a paridade for par.
Sempre há erro.
Código inválido.
Falha de sincronismo.
Necessidade de retransmissão.
