next up previous
Next: Chapitre #7 Up: Réponses à quelques uns Previous: Chapitre #5

Chapitre #6

Liens entre les exercices et les sections du livre:  
  Section 6.2: Exercices 6.1; 6.6.  
  Sections 6.4-6.6: Exercices 6.8; 6.10.  
  Section 6.7: Exercices 6.20; 6.22.

6.1)

Utilisez plutôt la Fig. 6.19 à la page 391.

tabular168

tabular171

6.6)

Remarque: Pour simplifier encore plus le diagramme, une représentation semblable à celle de la Fig. 6.15 (p. 387) sera utilisée.

tabular174

6.8)

    mov  $5, $0  
Somme: 
    lw  $10, 1000($20)  
    addiu $20, $20, -4  
    nop                   # Delais pour acces memoire  
    nop  
    addu  $5, $5, $10  
    bne  $20, $20, Somme  
    nop                   # Delais pour branchement  
    nop  
    nop

Soit N le nombre d'itérations (nombre de valeurs additionnées).

Le nombre total d'instructions exécutées sera alors 9*N+1.

Le nombre de cycles requis sera donc (9*N+1)+4 = 9*N+5.

6.10)

On suppose l'absence de toute forme d'envois. La valeur lue pour un registre n'est donc pas celle écrite durant le même cycle. (L'effet de addiu n'est donc pas encore visible lors de l'exécution de sw, qui utilise donc l 'ancienne valeur de $20.)

Copie:    
    lw  $10, 1000($20)  
    addiu $20, $20, -4  
    nop  
    nop  
    sw  $10, 2000($20)  
    bne  $20, $0, Copie  
    nop  
    nop  
    nop

Soit N le nombre d'itérations (nombre de valeurs copiées).

Le nombre total d'instructions exécutées sera alors 9*N.

Le nombre de cycles requis sera donc 9*N+4.

6.20)

  36: beqd $1, $3, 32  
  40: sub  $10, $4, $8  # Case de delai toujours executee  
  44: and  $12, $2, $5  
  48: or  $13, $2, $6    
  52: add  $14, $4, $2  
  56: slt  $15, $6, $7  
    ...  
  72: lw $4, 50($7)

6.22)

Si le délai de branchement doit être ramené à un cycle, la décision de branchement doit donc se faire à l'étage DI. Le matériel doit alors être modifié de la façon suivante:



Guy Tremblay
Thu Jun 6 17:15:04 EDT 1996