Ad2 2021 2
Ad2 2021 2
Ad2 2021 2
S Expoente representado em complemento a 2 b-1 b-2 b-3 b-4 b-5 b-6 b-7 b-8 b-9 b-10
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i; unsigned int j;
i=0xFFFFFFFF; j=0xFFFFFFFF;
if (i < 0) printf("i < 0\n"); else printf("i > 0\n");
if (j < 0) printf("j < 0\n"); else printf("j > 0\n");
if (i==j)
printf("i e j sao iguais, i=%d, j=%u, e a soma i+j=%d\n",
i,j,i+j);
return 0;
}
b) (0,6 pontos) Qual a saída do programa acima? Você pode executar o programa
no Linux, por exemplo, fazendo
gcc teste.c -oteste
e em seguida ./teste
c) (0,6 pontos) Tendo em vista o que ocorreu acima, conclui-se que C é uma
fortemente tipada ou fracamente tipada? Além disso, C é uma linguagem com
compilação estática ou interpretada dinamicamente? Coloque C no diagrama
abaixo, tentando justificar as vantagens e desvantagens de C com relação a
Java.
Fortemente tipadas
Interpretadas Compiladas
Fracamente tipadas
d) (1,0) Ao trocar a linha : i=0xFFFFFFFF; j=0xFFFFFFFF;
do programa acima por i=0xFFFFFFFFF; j=0xFFFFFFFFF;
obtém-se o programa P1 com o seguinte aviso (warning):
X= A * ( (C – 1) + 1) + (A + 3) / 4
(0,2 pontos) Ao avaliar a expressão acima, seria possível criar e usar uma instrução
em assembly de left shift ou right shift (deslocamento para esquerda ou direita,
equivalente a << ou >> em C)? E como ela poderia ser útil na expressão? Ou
seja, qual a vantagem de se usar o shift, do ponto de vista de complexidade?
5. (1,0) Faça uma pesquisa para explicar o que são as GPUs (Graphics Processing
Units). Explique também, citando exemplos, como as GPUs podem ser utilizadas por
aplicações que não têm nenhum componente gráfico.
6. (2,0) A Apple usou, por vários anos, CPUs da Intel nos seus laptops Macbook.
Essas CPUs utilizam uma arquitetura da família x86 (ou x86-64). Recentemente, a
Apple começou a produzir o chip M1, que possui CPUs baseadas na arquitetura da
família ARM. Esse chip é utilizado em alguns produtos da Apple, como o Macbook.
Nesse contexto, realize uma pesquisa sobre o chip M1 para responder os seguintes
itens.
a) (0,25) A arquitetura da CPU dos chips M1 é CISC ou RISC?
b) (0,25) A arquitetura da CPU dos chips x86 (ou x86-64) da Intel é CISC
ou RISC?
c) (0,50) Explique como a arquitetura da CPU do chip M1 pode consumir
menos energia do que a arquitetura da CPU dos chips x86 (ou x86-64)
da Intel. Dica: Use a resposta dos itens a e b como base.
d) (0,50) Uma das características do chip M1 é utilizar o conceito de
sistema em um chip (SoC - system-on-chip). Explique o que é SoC,
evidenciando o porquê de esse conceito poder melhorar o
desempenho de um computador.
e) (0,50) Uma das características da CPU do M1 e de diversas outras
CPUs recentes é a utilização da técnica de execução fora de ordem
de instruções (OoOE - Out-of-Order Execution). Explique no que
consiste essa técnica, mencionando como ela pode tornar mais rápida
a execução de programas.
7. (0,5) Os novos computadores vêm adotando portas USB com conector do tipo C.
Nesse contexto, realize uma pesquisa para citar e explicar três vantagens do USB-C
em relação aos conectores USB tipo A ou B.