Escolar Documentos
Profissional Documentos
Cultura Documentos
Lista2 20211 ERE
Lista2 20211 ERE
Considere
para a execução deste exercício o algoritmo apresentado no slide 35 da aula 09. Use uma linha para
descrever cada um dos passos do algoritmo: subtração (passo 1 do algoritmo do slide 35), desloca
quociente à esquerda (passo 2a), restaura valor (passo 2b), desloca divisor à direita (passo 3). O valor
inicial do dividendo é 1111 e do divisor 0011.
1 01111101 10000000000000000000000
Passo 1:
- (negativo) 125 = -2 + 127 1
Passo 2: -1,12*2-2
Resultado: -0,375
3) Usando o padrão IEEE 754 em precisão simples, mostre a representação do valor 0,46875.
4) Faça as operações a seguir, convertendo os operandos para valores binários em complemento a dois
(16 bits):
a) 5 + 117
5 0000 0000 0000 0101
+
117 0000 0000 0111 0101
122 0000 0000 0111 1010
b) 15 – 5
15 0000 0000 0000 1111
+
-5 1111 1111 1111 1011
10 0000 0000 0000 1010
c) 12 – 19
12 0000 0000 0000 1100
+
-19 1111 1111 1110 1101
-7 1111 1111 1111 1001
d) -6+6
6 0000 0000 0000 0110
+
-6 1111 1111 1111 1010
0 0000 0000 0000 0000
5 e 6) Considere uma máquina MIPS de ciclo único. Nesta máquina, diferentes instruções utilizam
diferentes elementos do caminho de dados durante suas execuções. Neste cenário, considere a instrução
and $s0, $t1, $t2 e responda:
Por essa ser uma instrução do tipo R, com Opcode 000000, os sinais de controle assumem os
seguintes valores:
RegDst 1 O número do registrador de destino (onde vai ser escrito) vem dos bits 11-15.
ALUSrc 0 Operandos vem do banco de registradores.
MemtoReg 0 O resultado da operação na ALU vai para o banco de registradores.
RegWrite 1 O resultado deve ser escrito no banco de registradores.
MemRead 0 Não há leitura na memória.
MemWrite 0 Não há escrita na memória.
Branch 0 Não é uma instrução de desvio.
ALUOp1 1
Manda o valor 10 para o controle da ALU. Campo funct deve ser observado.
ALUOp2 0
Ao receber o valor 10 o controle da ALU entende que esta é uma instrução do tipo R, e que o campo
Funct deve ser observado. O controle da ALU assume o valor 0000 que indica que se trata da instrução
“and”.
a) Que elementos do caminho de dados produzem saídas que não são aproveitadas para a execução
desta instrução?
ALU: o Zero da ALU não é utilizado;
Extensão de Sinal (Sign-extend);
O Somador para instruções de desvio;
Deslocador a Esquerda;
b) E que elementos do caminho de dados não produzem, para esta instrução, qualquer saída?
Memória de Dados (Data memory);
7 a 10) Considere, novamente, uma máquina MIPS de ciclo único. Pretendemos analisar como as
latências de cada um dos elementos que compõem o caminho de dados afetam o tempo de ciclo de
clock, e como estes componentes são utilizados pelas instruções. Para os problemas destes exercícios,
assuma as seguintes latências para cada um dos elementos do caminho de dados:
Desconsidere as latências das demais unidades funcionais. Lembre-se, adicionalmente, que algumas
operações no caminho de dados são realizadas de modo simultâneo, isto é, se sobrepõe no tempo.
Portanto, considere apenas o caminho mais longo (isto é, de maior latência) em suas respostas.
7) Qual a frequência do clock da máquina se apenas instruções do Tipo-R forem executadas? Considere
em sua resolução que elementos não necessários para a execução da instrução possuem latência zero.
Contagem de Instruções = 1
CPI = 1
1
𝑇𝑒𝑚𝑝𝑜 𝑑𝑒 𝐶𝑃𝑈 =
𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 𝑑𝑒 𝐶𝑙𝑜𝑐𝑘
1
𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 𝑑𝑒 𝐶𝑙𝑜𝑐𝑘 =
𝑇𝑒𝑚𝑝𝑜 𝑑𝑒 𝐶𝑃𝑈
1
𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 𝑑𝑒 𝐶𝑙𝑜𝑐𝑘 =
4,7 × 10−10
Contagem de Instruções = 1
CPI = 1
1
𝑇𝑒𝑚𝑝𝑜 𝑑𝑒 𝐶𝑃𝑈 =
𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 𝑑𝑒 𝐶𝑙𝑜𝑐𝑘
1
𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 𝑑𝑒 𝐶𝑙𝑜𝑐𝑘 =
𝑇𝑒𝑚𝑝𝑜 𝑑𝑒 𝐶𝑃𝑈
1
𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 𝑑𝑒 𝐶𝑙𝑜𝑐𝑘 =
7,2 × 10−10
9) Qual a frequência do ciclo de clock se instruções do Tipo-R, lw, sw e beq forem executadas?
Considere em sua resolução que elementos não necessários para a execução da instrução possuem
latência zero.
Contagem de Instruções = 1; 1
𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑒 𝑑𝑒 𝐶𝑙𝑜𝑐𝑘 = 𝑇𝑒𝑚𝑝𝑜 𝑑𝑒 𝐶𝑃𝑈
CPI = 1;
SW
Componentes Latência(ps)
Memória de Instruções 200 Tempo de CPU 470ps = 4,7 x 10-10 segundos
Banco de Registradores 90
ALU 90
Velocidade de
Memória de Dados 90 ≅ 𝟐, 𝟏𝟐 × 𝟏𝟎𝟗 𝑮𝒉𝒛
Clock
Total Latência: 470
BEQ
Componente Latência(ps)
Memória de Instruções 200 Tempo de CPU 380ps = 3,8 x 10-10 segundos
Banco de Registradores 90
ALU 90
Velocidade de
≅ 𝟐, 𝟔𝟑 × 𝟏𝟎𝟗 𝑮𝒉𝒛
Clock
Total Latência: 380
Memória de Dados. Sendo a instrução lw a mais longa (e com a maior latência) e dessa forma a que
define o desempenho, a memória de dados é o componente com a maior latência e por isso seria o
componente onde a melhoria deve ser aplicada.
b) Qual o ganho de desempenho seria observado, para este benchmark, se a melhoria fosse
implementada?
0,3 × 𝑡𝑒𝑚𝑝𝑜
𝑇𝑒𝑚𝑝𝑜 𝑑𝑒 𝑒𝑥𝑒𝑐𝑢çã𝑜 𝑎𝑝𝑜𝑠 𝑚𝑒𝑙ℎ𝑜𝑟𝑖𝑎 = + 0,7 × 𝑡𝑒𝑚𝑝𝑜
0,1 × 𝑡𝑒𝑚𝑝𝑜
Resposta: O tempo de execução após a melhoria é 3,7 vezes maior que o tempo original.