iNFORMATICA
Instituto de Física e Matemática
Bacharelado em Ciência da Computação
Arquitetura e Organização de Computadores II (750004)
Prof. José Luís Güntzel guntzel@ufpel.edu.br – semestre 2006/2
Verificação Optativa (22/03/2007)
Nome: _________________Solução_________________________ matrícula:____________
Importante: para esta verificação, considerar os diagramas de blocos para os processadores MIPS monociclo, multiciclo e pipeline vistos em aula e reproduzidos nas figura 1, 2 e 3 da folha anexa. Estes processadores foram projetados para executar o conjunto de instruções mostrado na tabela 1 que também consta na folha anexa.
Questão 1 (valor total: 4,5 pontos)
Considere o trecho de programa abaixo, o qual foi escrito para ser executado no processador MIPS com pipeline cujo diagrama de blocos é mostrado na figura 3 da folha anexa.
160
sub
$8, $9, $10
R8 := R9 – R10
164
lw
$2, 1000 ($8)
R2 := Mem[R8+1000]
168
lw
$3, 1000 ($9)
R3 := Mem[R9+1000]
172
add
$4, $2, $3
R4 := R2 + R3
176
sub
$5, $2, $3
R5 := R2 – R3
180
add
$6, $4, $5
R6 := R4 and R5
184
sw
$6, 2000 ($12)
Mem[R12+2000] := R6
a) Identifique todas as dependências de dados deste trecho de programa. (0,5 ponto)
b) Desenhe o diagrama de ciclos para este trecho de programa, supondo que o pipeline deste processador não possua recursos para realizar o adiantamento (forwarding). (1 ponto)
c) Calcule o CPI deste trecho de programa para a situação descrita no item “b”. (0,5 ponto)
d) Redesenhe o diagrama de ciclos para este trecho de programa, supondo agora que o pipeline deste processador tenha recursos para realizar o adiantamento (forwarding). Neste diagrama de ciclos identifique com uma seta todas as dependências de dados que foram solucionadas pelos recursos de adiantamento. (Por solucionadas, entenda-se “não ocorreu parada na execução pipeline”) (1 ponto) e) Calcule o CPI deste