A memória cache atua como um intermediário entre a CPU e a
memória principal, sendo organizada em níveis.
Sobre este tipo de memória, analise as afirmativas a seguir.
I. A memória cache de menor nível (L1) é a que possui o maior
tempo de acesso.
II. Os dados armazenados na memória cache de nível L1 são mais
frequentemente acessados que aqueles no nível L3.
III. O tempo de acesso à memória cache não influencia o
desempenho do processador.
Existem diversas abordagens para técnicas, modelos e processos de
um ciclo de vida de desenvolvimento de software.
Relacione as afirmativas I, II, III e IV às denominações mais
adequadas correspondentes a essas técnicas, modelos e processos.
I. Usa uma abordagem que capacita o desenvolvedor e o cliente a
entender e reagir aos riscos em cada etapa evolutiva.
II. Requisitos dos usuários são priorizados e os requisitos de mais
alta prioridade são incluídos nas iterações iniciais.
III. Apropriado quando os requisitos são bem compreendidos e as
mudanças serão bastante limitadas durante o design.
IV. Usado quando o desenvolvedor não tem certeza da eficiência de
um algoritmo, ou da forma da interação homem/máquina
Softwares para sistemas embarcados podem ser desenvolvidos por
meio de programação em linguagens assembly.
Com relação a linguagens assembly, analise as afirmativas a seguir.
I. São linguagens de programação de nível relativamente baixo,
que utilizam mnemônicos equivalentes a representações de
código binário (ou opcode) das instruções de uma determinada
arquitetura de processador.
II. Em geral, possuem instruções de acesso direto à memória RAM,
permitindo leitura e escrita de dados em posições determinadas
por endereçamento direto.
III. São linguagens adequadas para se trabalhar com estruturas de
dados complexas, tais como as classes, próprias de programação
orientada a objetos.
Com relação aos diversos modelos de ciclo de vida de um software,
considere a seguinte situação hipotética:
Uma equipe inicia um projeto com uma abordagem linear e
sequencial. No entanto, ao longo do projeto substitui esta
abordagem por um modelo com ênfase em protótipos no início de
cada estágio para validação de conceitos e na análise de riscos.
Assinale a opção que apresenta o modelo que esta equipe empregou
inicialmente e o modelo pelo qual este foi substituído.
Na programação de sub-rotinas em linguagem assembly, é comum o
armazenamento temporário de dados e/ou de endereços, para que
sejam restaurados logo após o retorno à função principal. As pilhas
(stacks) são estruturas de dados do tipo LIFO (Last In, First Out)
adequadas para armazenar dados e/ou endereços quando alguma
sub-rotina é chamada. Os conjuntos de instruções das arquiteturas
mais comumente utilizadas possuem instruções específicas de
acesso à pilha.
Na arquitetura 8051, as instruções usadas para retirar dados da pilha
e para armazenar dados na pilha, colocando-os em registradores de
uso geral, são, respectivamente,
Os processadores em geral, no que tange à sua arquitetura, podem
ser classificados em dois grandes grupos: RISC e CISC.
Os processadores com arquitetura
Um conceito fundamental para o melhor aproveitamento de
recursos por um sistema operacional é o de multithreading.
Para o emprego eficaz de multithreading em um sistema
operacional, é fundamental a existência de mecanismos de
sincronização eficientes.
Nesse contexto, analise as afirmativas a seguir.
I. Por definição, semáforos possuem um contador, cujos valores
podem ser 0,1 ou 2.
II. Mutexes são projetados para garantir que apenas uma thread
possa acessar um recurso compartilhado por vez.
III. Mutexes podem ser considerados uma generalização de
semáforos, por conta da maior flexibilidade do contador de um
mutex.
A métricas usada para classificar o desempenho de um processador
é a chamada MIPS (Millions of Instructions per Second).
Nesse contexto, o valor do score dado pela métrica MIPS
Com relação as situações em que a camada de abstração de
hardware (HAL) de um sistema operacional é necessária, analise as
afirmativas a seguir.
I. Quando um programador desenvolve um aplicativo sem ter que
se preocupar com as características de hardware da máquina na
qual ele vai ser executado.
II. Quando um aplicativo precisa ser altamente otimizado para um
hardware específico, sem se preocupar com a portabilidade para
outros dispositivos.
III. Quando é necessário acessar recursos de hardware específicos
de um dispositivo, como sensores e periféricos, de maneira
independente do hardware subjacente.
O consumo consciente de energia é importante para minimizar o
impacto ambiental de tecnologias computacionais.
Assinale a opção que indica a métrica usualmente empregada para
avaliar a eficiência energética de sistemas computacionais de alto
desempenho.
Um sistema gera um vetor fixo de dados para efetuar o controle de
um processo usando o código em C abaixo, em um compilador que
trabalha com inteiros de 32 bits:
int matriz[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
int *v,final;
v = &matriz[1];
final = v[3];
Após a execução desse trecho de código, o valor de final é:
As métricas de desempenho levam em consideração diferentes
aspectos do desempenho computacional.
Sobre as métricas FLOPS e MIPS, analise as afirmativas a seguir.
I. FLOPS é a métrica mais adequada para ambientes cujos objetivos
sejam gráficos detalhados e simulações físicas.
II. MIPS é relevante em contextos em que é necessária uma medida
mais genérica e direta da execução de instruções pelo
processador.
III. FLOPS pode ser imprecisa quando comparando processadores
com arquiteturas distintas, ao contrário da MIPS, que fornece
um indicador mais direto da capacidade de cálculo.