Changes between Version 4 and Version 5 of Partiel2012
- Timestamp:
- Dec 18, 2017, 10:10:56 AM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Partiel2012
v4 v5 2 2 = Architecture des Processeurs et Optimisation = 3 3 4 == Novembre2012 – Documents autorisés – Durée 2h ==4 == Partiel – 2012 – Documents autorisés – Durée 2h == 5 5 6 6 … … 19 19 On souhaite étudier la performance d'exécution d’une fonction de calcul de distance sur cette réalisation. 20 20 21 On considère la fonction ` Dist`. Cette fonction prend en entrée un tableau d'entiers x et calcule la valeur des éléments d'un tableau y tel que y(i) = |x(i) - x(i+1)|21 On considère la fonction `dist`. Cette fonction prend en entrée un tableau d'entiers x et calcule la valeur des éléments d'un tableau y tel que y(i) = |x(i) - x(i+1)| 22 22 {{{ 23 23 #!c 24 void Dist(int * x, int * y, int size) {24 void dist(int * x, int * y, int size) { 25 25 int i; 26 26 for (i = 0; i != size - 1; i++) { … … 35 35 }}} 36 36 37 On a obtenu deux versions différentes pour le code de la boucle principale de ` Dist` en assembleur Mips non pipeline.37 On a obtenu deux versions différentes pour le code de la boucle principale de `dist` en assembleur Mips non pipeline. 38 38 39 39 On suppose qu'à l'entrée de la boucle le registre `R4` contient l'adresse du tableau `x`, `R5` l'adresse du tableau `y`, et `R6` l'adresse du dernier élément du tableau `x`.