Lista de exercícios – Capítulo 01: Abstrações e tecnologias computacionais
CSI211 – Fundamentos de Organização e Arquitetura de Computadores
Sistemas de Informação - Campus UFOP-João Monlevade
Prof. Racyus Delano Garcia Pacífico
1. Liste e descreva três tipos de computadores.
2. As sete grandes ideias da arquitetura de computadores são semelhantes às ideias de outros campos.
Combine as sete ideias da arquitetura de computadores, “Use a abstração para simplificar o design”,
“Faça o caso comum ser rápido”, “Desempenho via paralelismo”, “Desempenho via pipelining”,
“Desempenho via Predição”, “Hierarquia de Memórias” e “Confiabilidade via Redundância” para as
seguintes ideias de outros campos:
a. Linhas de montagem na fabricação de automóveis
b. Cabos de ponte suspensa
c. Aeronaves e sistemas de navegação marítima que incorporam informações sobre o vento
d. Elevadores em edifícios
e. Balcão de reservas para bibliotecas
f. Aumentar a área da porta em um transistor CMOS para diminuir o tempo de chaveamento
g. Construir carros autônomos cujos sistemas de controle dependem parcialmente dos sistemas de
sensores já instalados no veículo base, como sistemas de faixas de tráfego e sistemas
inteligentes de controle de velocidade
3. Descreva as etapas que transformam um programa escrito em uma linguagem de alto nível, como C,
em uma representação que é executada diretamente por um processador.
4. Considere a tabela abaixo que apresenta diversos indicadores de desempenho para computadores
Intel desde 2010. A coluna de tecnologia (tech) apresenta o tamanho do transistor do processo de
fabricação do processador. Assuma que o tamanho do die permaneça constante e o número de
transistores em cada processador escale com (1/t2), onde t é o tamanho do transistor. Para cada
indicador de desempenho calcule a taxa média de melhoria de 2010 a 2019 assim como o número de
anos necessário para dobrar cada uma das respectivas taxas.
5. Considere três processadores diferentes P1, P2 e P3 executando o mesmo conjunto de instruções. O
P1 possui uma taxa de clock de 3GHz e um CPI de 1,5. O P2 tem uma taxa de clock de 2,5 GHz e um
CPI de 1,0. O P3 possui uma taxa de clock de 4.0GHz e um CPI de 2.2.
a. Qual processador tem o maior desempenho expresso em instruções por segundo?
b. Se cada um dos processadores executar um programa em 10 segundos, encontre o número de
ciclos e o número de instruções.
c. Estamos tentando reduzir o tempo de execução em 30%, mas isso leva a um aumento de 20%
no CPI. Que taxa de clock devemos ter para obter essa redução de tempo?
6. Considere duas implementações diferentes da mesma arquitetura de conjunto de instruções. As
instruções podem ser divididas em quatro classes, de acordo com o CPI (classes A, B, C e D). P1 com
uma taxa de clock de 2,5 GHz e CPIs de 1, 2, 3 e 3. P2 com uma taxa de clock de 3GHz e CPIs de 2, 2,
2 e 2. Dado um programa com uma contagem dinâmica de instruções de 1,0E6 divididas em classes da
seguinte forma: 10% classe A, 20% classe B, 50% classe C e 20% classe D, o que é mais rápido: P1 ou
P2?
a. Qual é o CPI global para cada implementação?
b. Encontre os ciclos de clock necessários nos dois casos.
7. O processador Pentium 4 Prescott, lançado em 2004, tinha uma taxa de clock de 3.6GHz e tensão de
1.25V. Suponha que, em média, ele consumiu 10W de energia estática e 90W de energia dinâmica. O
Core i5 Ivy Bridge, lançado em 2012, tem uma taxa de clock de 3,4 GHz e tensão de 0,9V. Suponha
que, em média, ele consumiu 30W de energia estática e 40W de energia dinâmica.
a. Para cada processador, encontre as cargas capacitivas médias.
b. Encontre a porcentagem da potência total dissipada composta por potência estática e a razão
entre potência estática e potência dinâmica para cada tecnologia.
c. Se a potência total dissipada precisar ser reduzida em 10%, quanto a tensão deve ser reduzida
para manter a mesma corrente de fuga? Nota: a potência é definida como o produto da tensão e
corrente. (P = VI, P = potência em Watts, V = tensão em Volts e I = corrente em Amperes)
8. Suponha que uma wafer de 15 cm de diâmetro tenha um custo de 12, contenha 84 dies e 0,020
defeitos / cm2. Suponha que um wafer de 20 cm de diâmetro tenha um custo de 15, contenha 100 dies
e tenha 0,031 defeitos / cm2.
a. Encontre o rendimento para os dois wafers.
b. Encontre o custo por die para os dois wafers.
c. Se o número de dies por wafer for aumentado em 10% e os defeitos por unidade de área
aumentarem em 15%, encontre a área e o rendimento do die.
d. Suponha que um processo de fabricação melhore o rendimento de 0,92 para 0,95. Encontre os
defeitos por unidade de área para cada versão da tecnologia, com uma área de die de 200 mm2
9. Outra armadilha citada na Seção 1.10 do livro espera melhorar o desempenho geral de um
computador, aprimorando apenas um aspecto do computador. Considere um computador executando
um programa que requer 250 s, com 70 s gastos executando instruções de ponto flutuante, 85 s
executaram instruções load/store e 40 s passaram executando instruções de branch.
a. Em quanto é reduzido o tempo total se o tempo para operações de FP for reduzido em 20%?
b. Em quanto tempo as operações INT são reduzidas se o tempo total for reduzido em 20%?
c. O tempo total pode ser reduzido em 20%, reduzindo apenas o tempo para instruções de branch.
10. Suponha que um programa exija a execução de instruções 50 × 106 FP, instruções 110 × 106 INT,
instruções 80 × 106 L / S e instruções de branch 16 × 106. A CPI para cada tipo de instrução é 1, 1, 4 e
2, respectivamente. Suponha que o processador tenha uma taxa de clock de 2 GHz.
[Link] quanto devemos melhorar o CPI das instruções de FP se queremos que o programa seja
executado duas vezes mais rápido?
b. Em quanto devemos melhorar as instruções de CPI de L / S se queremos que o programa seja
executado duas vezes mais rápido?
c. Em quanto tempo o programa é executado se o CPI das instruções INT e FP for reduzido em 40%
e o CPI de L / S e branch for reduzido em 30%?
11. Quando um programa é adaptado para ser executado em vários processadores em um sistema
multiprocessador, o tempo de execução em cada processador é composto por tempo de computação e
tempo de overhead necessário para seções críticas bloqueadas e / ou para enviar dados de um
processador para outro. Suponha que um programa exija t = 100 s de tempo de execução em um
processador. Ao executar processadores p, cada processador requer t/ps, além de 4 s adicionais de
sobrecarga, independentemente do número de processadores. Calcule o tempo de execução por
processador para 2, 4, 8, 16, 32, 64 e 128 processadores. Para cada caso, liste a aceleração
correspondente em relação a um único processador e a proporção entre a aceleração real e a
aceleração ideal (aceleração se não houver overhead). (Overhead é o tempo gasto com tarefas
específicas de arquitetura, como por exemplo para transferir dados de um processador pro outro (caso
do exercício) ou para setores impossíveis de ser paralelizados. Outro overhead comum é o de
simulação de alguma arquitetura. Já tentou simular um videogame no seu computador e sentiu o lag?
Então: Overhead)