Implementação do MIPS I
- Considere que as 5 etapas do fluxo de dados (data-path) têm as
seguintes latências:
- IF: 250ps
- ID: 200ps
- EX: 250ps
- MEM: 300ps
- WB: 200ps
- Qual o tempo mínimo do ciclo do relógio numa implementação
da arquitetura utilizando ciclo único, multi-ciclo e
pipelining?
- Qual o tempo de execução de cada uma das seguintes
instruções nessas 3 implementações (assuma um CPI ideal)?
- add $s0, $s1, $s2
- lw $s0, 100($s1)
- sw $s0, 100($s1)
- beq $s0, $s1, _label
- j _label
- Considere que um dado programa tem a seguinte distribuição de
instruções:
- instruções do tipo R-format: 45%
- instruções do tipo load: 20%
- instruções do tipo store: 15%
- instruções de salto: 20%
Compare o tempo de execução do programa na implementação de
ciclo único, multi-ciclo e pipelining (assuma um CPI ideal e
ignore os custos associados à inicialização da pipeline e com
pipeline hazards).
- Considere a execução das seguintes instruções tendo por base o
CPU da implementação de ciclo único:
- add $s0, $s1, $s2
- lw $s0, 100($s1)
- sw $s0, 100($s1)
- beq $s0, $s1, _label
- Determine o valor dos 9 sinais de controlo durante a
execução dessas instruções.
- Determine o valor fornecido às entradas 'Read register 1',
'Read register 2' e 'Write register' da unidade de registos e o
valor fornecido à entrada 'Address' da memória de dados durante
a execução dessas instruções.
- (saber mais) Tendo por base o CPU da implementação de
ciclo único, altere-o de modo a implementar também as seguintes
instruções:
- jr (jump register)
- jal (jump and link)