TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Prova Organização de Computadores

Por:   •  19/11/2022  •  Exam  •  797 Palavras (4 Páginas)  •  88 Visualizações

Página 1 de 4

Universidade Federal de Minas Gerais – UFMG

Instituto de Ciências Exatas – ICEx

Departamento de Ciência da Computação – DCC

Prova 2 - 2022/01

Disciplina: Organização de Computadores I – DCC 006

Professor: Daniel Fernandes Macedo

Nome: _____________________________________________________

Questão 1 (6 pontos)

A empresa Hard Co. possui um conjunto de unidades funcionais implementadas, e está desenvolvendo uma nova linha de processadores seguindo o conjunto de instruções do RISC-V. O processador irá suportar instruções lógico-aritméticas com e sem imediato, load-stores e também desvios. A empresa vai implementar processadores seguindo a mesma separação de tarefas por ciclo do nosso livro texto.

  1. Classifique as máquinas do melhor para o pior desempenho (e a máquina X tem mais vazão que Y, então Y recebe 1 na sua coluna e X recebe 2. Não se esqueça que para algumas métricas um valor menor pode ser pior!) – 3 pontos

Métrica

Uniciclo

Multiciclo sem pipeline

Multiciclo com pipeline

Tempo de ciclo

1

3 (2 desconsiderando o controle mais complexo)

2

CPI (# ciclos por instrução)

3

2

1

IPC (instr. completadas por ciclo)

3

1 (2 desconsiderando stalls)

2 (3)

  1. Uma última opção que a Hard Co. quer considerar é o desenvolvimento de um processador superescalar, podendo disparar um load/store e uma instrução logico-aritmética por ciclo. Indique, para cada métrica abaixo, qual deve melhorar, piorar ou se manter inalterada, explicando a sua opinião. – 3 pontos

Considerando a comparação com o multiciclo com pipeline

Tempo de ciclo – igual. Mantém o mesmo caminho de dados.

CPI – Igual. Mantém o mesmo caminho de dados.

IPC – Maior. Entrega duas instruções por ciclo

Questão 2 (10 pontos)

O código abaixo está escrito em RISC-V. Ele irá executar em um processador que possui pipeline similar ao que foi desenvolvido no nosso livro-texto (ou seja, possui unidade de adiantamento). Responda:

01

addi x10, x0, 1

02

addi x11, x0, 2

03

ld x4, 10(x7)  

04

ld x5, 14(x7)

05

add x3, x4, x5

06

or x0, x10, x11

07

ld x6, 18(x7)

08

repete:

beq x5, x6, sai

09

subi x5, x5, 1

10

beq x0, x0, repete

11

sai:

sub x1, x4, x5

  1. Em quais linhas de código temos hazards (perigos) de dados? 5 e 8
  2. Em quais linhas do código temos hazards (perigos) de controle? 8 e 10
  3. Em quais linhas o pipeline irá gerar um stall devido aos hazards? 5, 8, 10
  4. Re-escreva o código acima da forma mais eficiente, adicionando a menor quantidade possível de nops, de forma a reduzir os hazards.[a]

01

addi x10, x0, 1

02

addi x11, x0, 2

03

ld x4, 10(x7)  

04

ld x5, 14(x7)

05

ld x6, 18(x7)

06

add x3, x4, x5

07

or x0, x10, x11

08

repete:

beq x5, x6, sai

09

subi x5, x5, 1

10

beq x0, x0, repete

11

sai:

sub x1, x4, x5

Aqui considerei também quem colocou dois nops depois de cada instrução de desvio. Poderão ser gerados dois stalls a cada desvio devido ao hazard de controle.

  1. É possível resolver todos os hazards (controle e dados) apresentados? Em caso negativo, proponha formas em hardware para minimizar a quantidade de stalls nas situações que não puderam ser evitadas.

Não, ainda temos os hazards de controle. Eles podem ser amenizados com mecanismos de predição de desvio ou dicas na instrução se o desvio deve ser tomado ou não.


Questão 3 (5 pontos)

Dado o caminho de dados abaixo de uma máquina uniciclo, indique os valores dos bits de controle (0, 1 ou X – don’t care) para as instruções abaixo do conjunto de instruções do RISC-V.

[pic 1]

Instrução

RegWrite

AluSrc

PCSrc

MemRead

Memwrite

MemToReg

lw

1

1

0

1

0

0

sw

0

1

0

0

1

X

sub

1

0

0

X

0

1

beq

0

0

?

X

0

X

jal

1

1

1

x

0

x

  • Marquei com ? o PCSrc do BEQ porque faltou um AND no caminho de dados, complicando a análise. Qualquer resposta aqui foi considerada certa.
  • Quem indicou que considerou a ordem inversa dos bits no MUX, ou que percebi que houve uma inversão de todos os bits de controle, também teve os pontos considerados.

Questão 4 (4 pontos)

O processador multiciclo com pipeline possui registradores temporários entre os seus estágios, por exemplo os registradores EX/MEM entre os estágios EX e MEM. Explique:

...

Baixar como (para membros premium)  txt (5.8 Kb)   pdf (152 Kb)   docx (96.2 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com