initiation Assembleur

3172 mots 13 pages
Initiation à la programmation en langage d’assemblage

Plan du cours:
Objectifs du cours
Le powerPC G5
Exemples simples
Tableaux
Exercices
Passage de paramètres par adresse
Conventions de passage de paramètres
Utilisation de la pile

Objectifs du cours

-Montrer les différents éléments : jeu d’instruction registres, pointeurs, adressages,etc.
-Réalisation des opérations de haut niveau (boucles, décisions, sous-programmes) au moyen des instructions élémentaires de la machine.
-Conventions de passage des paramètres
-Aperçu des techniques d’optimisation (déroulage de boucle, etc.). Méthodologie de l’optimisation (recherche des parties couteuses, mesures et comparaisons).

Approche basée sur l’étude du code fabriqué par les compilateurs.

Le PowerPC G5

-Processeur RISC, 58M transistors, 66mm², fréq, horloge 1,8ghz avec unbe architecture supersclalaire (plusieurs calcule en parallel, décodage et exécution de la meme instruction en meme temps)
-32 registres banalisés de 64bits (+32 registres flottants de 64bits et registres spéciaux). Utilisé en 32 bits pour nos applications.
-Registre de condition de 32 bits ( bit de point fort est a droite! pour faire des test, des comparaisons (<,>,=....)), découpé en 8 sous-registres de 4bits.
La plupart des instructions arithmétiques et logiques se référent à 3 registres.

(Bit de point fort a gauche sauf pour le registre de condition)

exemple: add, r8,r4,r3

Un saut introduit une rupture dans la fille d’attente du pipline, car le processeur décode en meme temps d’éxécuter à la seul condition que les instructions se suivent.

Etude d’exemples simples

On ne regarde que des fonctions feuille, qui n’appellent pas d’autres fonctions.
Un calcul simple : le source C (foo.c)

int foo(int a, int b){ return a-b+42;
}

Traduction en langage d’assemblage

On demande la traduction pour un PowerPC604 32bits de ce programme foo.c en langage d’assemblage, grace à l’option -S de gcc, avec les optimisations maximum

gcc -mcpu=604

en relation

  • Synthese info gestion s1
    741 mots | 3 pages
  • Initiation adm
    1088 mots | 5 pages
  • TD5 TD5
    1524 mots | 7 pages
  • Voc window
    1100 mots | 5 pages
  • Mountassir
    2075 mots | 9 pages
  • Etrange initiation
    1963 mots | 8 pages
  • Initiation psd
    3389 mots | 14 pages
  • Lancement de groupama
    1314 mots | 6 pages
  • Histoire de l'art: l'hist de jeuxvidéo
    670 mots | 3 pages
  • Initiation
    410 mots | 2 pages
  • Document teste ^^
    2889 mots | 12 pages
  • Initiation
    489 mots | 2 pages
  • Assemblage
    277 mots | 2 pages
  • Initiation
    833 mots | 4 pages
  • Hamza
    5730 mots | 23 pages