Talk:ARM Optimization/fr

Merci de ne rien effacer, et d'ajouter les nouveaux commentaires au dessus des précédents (le dernier apparaît en premier)

Commentaires : Vendredi 29 Juillet 2011

Je vais m'occuper de tout ça. Ca ne devrait pas etre long sauf pour ce qui est de la structure (il faut que j'organise mieux et surement que j'ajoute plus d'informations ) et de la partie traitant des pointeurs (Je n'ai pas tout a fait compris comment en faire et les utilisés ).

J'aimerais aussi mettre des explications précises et/ou liens (vers des démarches déja existantes) pour la creation d'une machine virtuel de type ARM sur divers OS( récents ). Cela afin d'éviter des recherches fastidieuses visant à la mise en place d'un environnement de dévelopement (temporaire ou non ) à d'autres.

pedro_m 23:02, 29 July 2011 (CEST)

Commentaires : Jeudi 28 Juillet 2011

--- Page du wiki : ARM optimisation ( fr )

---

1) Commentaires sur la présentation :

Structure à revoir : il faudra planifier davantage, et prévoir les points qui seront abordés, sinon la lecture va vite devenir très difficile.

Les exemples dans les balises  ou ... < /pre > sont trop décalés. Pourquoi ce décalage ?

---

2) Dans la partie "Les registres : "

=> il faut les décrire précisément, car ils ne sont pas tous utilisés, ni utilisable de la même manière (et c'est fondamental)

=> Présenter une IMAGE avec les registres et dans les cases, les NOMS (lettres) des bits importants

N, Z, C, V  ...

Par exemple, quelque chose comme : MSB                                                                         LSB

B0  B1   B2    B3   B4   B5   B6   B7   B8   B9  B10  B11  B12  B13  B14  B15 ".. Carry : C=0 indique que la dernière opération qui a mis à jour les codes conditions a généré une retenue sortante sur une opération arithmétique ou sur un décalage. .."
 * N | Z |  C |  V  |    |    |    |    |   |    |    |    |     |    |    |    |

Ce ne serait pas plutôt C = 1 ?

---

3) Dans la partie la mémoire:

Quelle est donc la taille maximale de la mémoire linéaire directement gérable ? (point essentiel pour l'utilisateur ... )

---

4) Dans la partie "Jeu d'instructions"

Multiplication :

".. si le bit S est positionné (mise à jour des codes condition) .."

Où est ce bit "S" ???

Écrire des exemples en C, qui font des additions simples et VÉRIFIER que cela fonctionne !!

---

5) Dans la partie " Décalage"

Je crois qu'il y a une erreur :

AND      r0,r1,r2,LSL #6 @ r0 ← r1 + r2 * 6

Ne serait-ce pas plutôt :

AND      r0,r1,r2,LSL #6 @ r0 ← r1 + r2 * 2^6 Car un décalage de 6 bits == multiplication par 2^6 !! (même chez Intel ;-)

Mais le plus simple, c'est de VÉRIFIER avec un programme ...

---

6) Opérandes immédiats :

=> Ce qui suit n'est pas clair du tout (donc reprendre l'explication, et écrire des exemples, testables) :

".. Les valeurs qui peuvent être données sont n'importe quelle valeur sur 32 bits dont tous les 1 sont dans 8 positions adjacentes alignées sur une frontière de deux bits, c'est-à-dire des valeurs de la forme : (0 à 255) x 22n, avec 0 ≤ n < 16 ([0-255] codé sur 8 bits, n codé sur 4 bits).  .." Donc à revoir

---

7) Pointeurs : cette partie n'est pas claire du tout, et des exemples IMPÉRATIFS et documentés sont nécessaires pour illustrer l'utilisation des pointeurs en assembleur ARM.

---

8) Programmes associés

C'est une partie essentielle qu'il va falloir aborder sans tarder :


 * comment passe-t-on du programme en C au même programme directement écrit en assembleur ?
 * faire des tests, et devenir un spécialiste de la transposition

Eric Bachard 09:20, 29 July 2011 (CEST)