Logo Passei Direto
Buscar

Ferramentas de estudo

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Hyago Procopio Brito 
 
1) Faça um estudo do MIPS destacando os seguintes aspectos: 
a) Tamanho do dado a ser processado 
Como os dados e os endereços na arquitetura MIPS são de 32 bits, pode-se dizer que o 
processador é de 32 bits. 
b) Espaço de endereçamento de memoria 
Como o endereço de memória em MIPS é em byte, pode-se dizer que uma palavra do 
processador armazenada em memória ocupa 4 posições de memória, normalmente em 4 
endereços consecutivos. 
c) Número de registradores 
A arquitetura MIPS dispõe de 32 registradores de uso geral, de 32 bits cada, que vão de $0 a 
$31, onde o $0 funciona como uma constante em instruções que necessitem. 
d) Formato e tamanho das instruções 
De forma regular, todas as instruções do MIPS ocupam 1 palavra em memória, ou seja, 32 bits, 
que é equivalente a 4 endereços consecutivos na memória. Cada instrução possui o código da 
operação, e os operandos, se for o caso. O acesso as instruções são alinhados em uma 
fronteira de palavra inteira, logo, os endereços válidos das instruções possuem os dois últimos 
bits iguais a 0. 
 
2) Faça um estudo comparativo entre uma implementação monociclo e uma implementação 
multiciclo, considerando desempenho e custo de implementação em função da área de silício. 
A implementação monociclo apresenta alguns problemas, como: 
- Cada ciclo de clock tem o mesmo tamanho para todas as instruções 
- Esse ciclo é definido pela instrução de maior duração 
- Cada unidade funcional só pode ser usada uma vez por ciclo 
Dessa forma, temos um desempenho ruim, pois só cada instrução será executada em um ciclo, 
o que gera um custo maior para o HW, pois algumas unidades funcionais devem ser duplicadas, 
como por exemplo a memória. 
Já a implementação Multiciclo é feita da seguinte forma: 
- A execução de cada instrução é quebrada em passos 
- Cada passo gasta um ciclo de clock 
- Dessa forma, temos um desempenho consideravelmente melhor, pois cada unidade funcional 
pode ser usada mais de uma vez por instrução, desde que em ciclos diferentes, gerando um 
custo menor para o HW, pois não será necessário a duplicação de unidades funcionais. 
 
3) Tanto na arquitetura projetada em sala de aula como na descrita no livro todas as instruções 
aritméticas envolvem três registradores e possuem o mesmo formato. Na sua opinião de 
projetista, quais as vantagens e desvantagens desta decisão de projeto? 
- Vantagem: 
O hardware se torna simples de operar com 2 entradas e 1 saída. 
- Desvantagem: 
O código se torna complexo para operar com mais de 2 entradas. 
 
4) Porque o processador MIPS se caracteriza como uma arquitetura LOAD/STORE? Quais as 
vantagens e desvantagens desta arquitetura? 
As operações lógicas e aritméticas são executadas exclusivamente entre registradores da 
arquitetura ou entre constantes imediatas e registradores. E as operações de acesso a memória 
executam apenas uma leitura (Load) ou um armazenamento (Store). 
- Vantagem: 
As operações com registradores se tornam rápidas. 
- Desvantagem: 
A operação se torna lenta por haver apenas 32 registradores, causada por muita leitura e muita 
escrita. 
 
5) Considere três processadores P1, P2, e P3 executando o mesmo conjunto de instruções com 
as frequências de clocks descritas na tabela abaixo. 
Processador Clock CPI 
P1 2 GHz 1,5 
P2 1,5 GHz 1,0 
P3 3 GHz 2,5 
 
a) Qual processador tem o melhor desempenho? 
P1 -> (N * 1,5)/2*10^9 = 0.75*10^-9*N 
P2 -> (N * 1)/1,5*10^9 = N/1,5*10^-9 
P3 -> (N * 2,5)/3*10^9 = 0.83*10^-9*N 
Para um N = 100 
Tempo de CPU P1 = 75*10^-9s 
Tempo de CPU P2 = 66.6*10^-9s 
Tempo de CPU P3 = 83*10^-9s 
Logo, P2 tem o melhor desempenho 
b) Se os processadores executam um programa em 10 segundos, encontre o número de ciclos 
e de instruções para cada um. 
P1 -> 10 = N * 1,5/ 2*10^9 -> N = 20*10^9 /1,5 -> N = 13*10^9 instruções 
P2 -> 10 = N * 1 /1,5*10^9 -> N = 15*10^9 instruções 
P3 -> 10 = N * 2,5/ 3*10^9 -> N = 30*10^9 /2,5 -> N = 12*10^9 instruções 
 
P1 -> 10 * 2GHz = 20*10^9 ciclos 
P2 -> 10 * 1,5GHz = 15*10^9 ciclos 
P3 -> 10 * 3GHz = 30*10^9 ciclos 
 
c) Estamos tentando reduzir o tempo em 30%, mas isto levaria a um aumento de 20% no CPI. 
Qual a taxa de clock para conseguir esta redução? 
Tomando os valores da letra A como exemplo, 
P1 -> 52.5*10^-9 s | CPI = 1,8 
P2 -> 46.8*10^-9 s | CPI = 1,3 
P3 -> 58.1*10^-9 s | CPI = 3 
P1 -> 52.5*10^-9 = 100 * 1,8 / F -> F = 180/52.5*10^-9 -> F = 3,42 GHz 
P2 -> 46.8*10^-9 = 100 * 1,3 / F -> F = 130/46,8*10^-9 -> F = 2,77 GHz 
P3 -> 58.1*10^-9 = 100 * 3 / F -> F = 300/58,1*10^-9 -> F = 5,16 GHz 
 
6) Considere duas implementações diferentes do mesmo conjunto de instruções, que pode ser 
classificado em 4 classes de instruções: A, B, C, e D. A frequência de clock e CPI para cada uma 
das implementações é dada na tabela abaixo. 
Implementação Clock Classe A Classe B Classe C Classe D 
P1 1,5 GHz 1 2 3 4 
P2 2 GHz 2 2 2 2 
 
Dada uma aplicação com 106 instruções sendo 10% de instruções da classe A, 20% de 
instruções da classe B, 50% de instruções da classe C e 20% de instruções da classe D. 
a) Qual implementação tem o melhor desempenho? 
Ciclos P1 => (10,6 * 1 + 21,2 * 2 + 53 * 3 + 21,2 * 4) = 10,6 + 42,4 + 159 + 84,8 = 296,8 ciclos 
Tempo de execução P1 = 296,8 / 1,5 * 10^9 = 197,8* 10^-9s 
MIPS P1 => (106) / 197,8*10^-9 = 0,53 * 10^9 
Ciclos P2 => (10,6*2 + 21,2 * 2 + 53 * 2 + 21,2 * 2) = 21,2 + 42,4 + 106 + 42,4 = 212 
Tempo de execução P2 = 212 / 2*10^9 = 106*10^-9 
MIPS P2 => 106/106*10^-9 = 1*10^9 
Logo, Implementação P2 tem melhor desempenho por executar o código mais rápido. 
 
b) Qual o CPI global para cada implementação? 
P1 = 296,8/106 = 2.8 CPI 
P2 = 212/106 = 2CPI 
 
c) Calcule o número de ciclos de clock para cada implementação. 
P1 = 296,8 ciclos 
P2 = 212 ciclos 
 
7) Suponha que foi inserida a instrução move rs, rt, que copia o conteúdo do registrador rs 
para o registrador rt. Considerando a implementação apresentada no livro texto, como se 
poderia implementar esta instrução preservando todos os outros registradores de forma a 
ser ter o menor CPI. Quais as modificações na unidade de processamento e na unidade de 
controle e qual seria o CPI desta instrução? 
Para inserir a função [MOVE rs, rt], que copia o conteúdo de rs para rt, podemos reutilizar a 
função ADD que já está no sistema. Aplicando as seguintes alterações: 
- Assumir que a instrução [25-21] contenha o rs e a [20-16] contenha o rt; 
- Criar um Mux (0,1) na entrada do Read Register 2 da caixa dos registradores, que, caso seja 0 
o valor que entrará será o rt e se for 1 será o valor constante zero. Onde o valor desse Mux 
seria definido pelo OPcode através de um sinal da unidade de controle; 
- Com isso, a ULA realizaria a função soma do rs com o valor constante zero; 
- A unidade de controle estaria ativa de modo a salvar o resultado dessa soma no Write Data, 
usando como Write Register o próprio rt, ambos selecionados através dos Mux que já estão no 
sistema.

Mais conteúdos dessa disciplina