Fiche de révision : Communication et assembleur bas niveau

Plan du Cours

  1. Objectifs et organisation pédagogique
  2. Architecture du microprocesseur
  3. Cycle d’exécution des instructions
  4. Notions fondamentales de l’assembleur
  5. Structure et données en mémoire
  6. Instructions et branchements
  7. Tests et correction des programmes
  8. Entrées-sorties du simulateur
  9. Pointeurs et tableaux
  10. Procédures, pile et paramètres
  11. Méthode de programmation assembleur

1. Objectifs et organisation pédagogique

Points essentiels

  • La ressource R2.04 porte sur la communication et le fonctionnement bas niveau, notamment l’assembleur, les microprocesseurs, les entrées-sorties, les pointeurs et les procédures.

2. Architecture du microprocesseur

Notions clés & Définitions

  • Microprocesseur : Ou unité centrale de traitement (CPU), comprend l’unité de contrôle, l’unité de traitement et des registres.
  • Unité de contrôle : Orchestre l’exécution des instructions grâce au séquenceur, qui décrit les opérations élémentaires et transmet les ordres aux organes du microprocesseur.
  • Unité arithmétique et logique : Réalise les calculs et place les résultats dans l’accumulateur.

Astuce mémo

CO → mémoire → RI → registres → UAL

3. Cycle d’exécution des instructions

Notions clés & Définitions

  • Compteur ordinal : Contient l’adresse de la prochaine instruction à exécuter.
  • Registre d’instruction : Contient l’instruction actuellement exécutée.

Points essentiels

  • 🔄 L’exécution de l’instruction ADD R2 R3 suit ces étapes:
    1. Transférer le CO vers A et le registre d’adresses mémoire
    2. Incrémenter le CO et replacer sa valeur dans le CO
    3. Lire ADD R2 R3 en mémoire et la charger dans le RI
    4. Transférer R2 dans A
    5. Transférer R3 dans B
    6. Calculer R2+R3 et placer le résultat dans R2

Astuce mémo

Chercher, décoder, charger, calculer

4. Notions fondamentales de l’assembleur

Points essentiels

  • Une instruction assembleur associe un code opération, généralement écrit avec un mnémonique comme LD, ADD ou JMP, et la désignation de ses opérandes.

📌 Un opérande peut être immédiat quand sa valeur est dans l’instruction, direct quand son adresse mémoire est donnée, indirect quand un registre ou une variable contient son adresse, ou indirect avec déplacement quand une valeur est ajoutée à cette adresse.

  • Dans le simulateur de Marc Dalmau, les registres accessibles sont R0 à R6 et SP, tandis que CO, RI, le registre d’état et RA, RB, RS ne sont pas accessibles par le programmeur.

Astuce mémo

Immédiat = valeur ; direct = adresse ; indirect = pointeur

5. Structure et données en mémoire

Points essentiels

  • Un programme comporte trois zones mémoire:

    • code
    • variables
    • pile
  • Les valeurs entières sont codées sur 32 bits en complément à 2, les valeurs hexadécimales utilisent au maximum 8 chiffres hexadécimaux et les valeurs binaires au maximum 32 chiffres binaires.

6. Instructions et branchements

Notions clés & Définitions

  • Instruction LD : L’instruction LD charge la source dans la destination selon la forme destination ← source, avec une destination constituée d’un registre ou d’une adresse mémoire pointée.
  • Instruction ST : L’instruction ST écrit la valeur d’un registre ou d’une adresse pointée dans une variable mémoire selon la forme variable ← source.

Points essentiels

📌 Les branchements JMP sont inconditionnels, tandis que les branchements Bxx dépendent d’une condition testée dans le registre d’état, comme l’égalité, l’infériorité, le débordement ou la comparaison d’entiers naturels ou relatifs.

7. Tests et correction des programmes

Notions clés & Définitions

  • Test logiciel : Fornari IRIT — Processus d’analyse d’un programme visant à détecter des anomalies afin de le valider et de vérifier sa conformité aux exigences.

Points essentiels

  • Le coût des tests représente au minimum 30 à 40 % du coût de développement.

  • Avec le simulateur, il faut définir le test, coder, compiler, exécuter rapidement sans pas à pas, vérifier le résultat, puis utiliser le pas à pas rapide ou lent pour localiser une erreur.

Astuce mémo

Prédire → exécuter → vérifier → corriger

8. Entrées-sorties du simulateur

Notions clés & Définitions

  • Unité d’échange : L’unité d’échange est constituée de contrôleurs de périphériques et comprend des registres de contrôle, d’état et de données.

Points essentiels

  • Dans le simulateur, l’unité d’échange comprend 8 registres de 8 bits correspondant aux ports 0 à 7.

  • Le port 0 gère l’état du clavier et les actions de la souris, les ports 1 à 5 commandent l’écran graphique, le port 6 contient la coordonnée x de la souris et le port 7 sa coordonnée y.

  • Pour tracer une figure, il faut paramétrer les ports 1 à 4 selon la commande graphique, puis envoyer sur le port 5 la couleur dans les bits de poids fort et la figure dans les bits de poids faible.

Astuce mémo

Paramétrer les ports 1 à 4, commander par le port 5

9. Pointeurs et tableaux

Points essentiels

📌 L’accès direct utilise le nom d’une variable comme équivalent de son adresse, tandis que l’accès indirect utilise un registre contenant cette adresse, par exemple [R1].

  • L’instruction LEA charge dans un registre l’adresse effective d’une variable et permet d’initialiser un pointeur.

Astuce mémo

Un registre pointe vers une case mémoire, puis le déplacement atteint l’élément suivant

10. Procédures, pile et paramètres

Notions clés & Définitions

  • Procédure : Morceau de code exécutable à la demande, auquel des paramètres peuvent être transmis et qui peut restituer une valeur.
  • Pile : La pile est une structure de données LIFO qui restitue en premier l’élément le plus récemment mémorisé et qui sert notamment à conserver les adresses de retour.

Points essentiels

  • L’instruction CALL empile l’adresse de retour, décrémente SP et branche vers la procédure, tandis que RET dépile cette adresse, l’affecte au CO et incrémente SP.

📌 Pour protéger les registres utilisés par le programme appelant, une procédure doit empiler ces registres au début de son exécution puis les dépiler avant son retour.

📌 Le passage d’un paramètre par valeur transmet sa valeur sans permettre à la procédure de modifier le paramètre original, tandis que le passage par référence transmet son adresse et permet sa modification.

Astuce mémo

CALL empile l’adresse ; RET la dépile

11. Méthode de programmation assembleur

Points essentiels

  • 🔄 La traduction d’un algorithme en assembleur suit ces étapes:
    1. Identifier les instructions nécessaires
    2. Identifier les contraintes syntaxiques et les types d’opérandes
    3. Ajouter les transferts de données vers ou depuis les registres

📌 Dans le simulateur, les variables ne peuvent pas toujours être utilisées directement comme opérandes de CMP, ADD ou d’autres instructions, ce qui impose de les charger dans des registres puis de recopier les résultats en mémoire.

Astuce mémo

Identifier, respecter les contraintes, transférer par registres

Tableaux de synthèse

Modes d’adressage

ModeDésignation de l’opérandeExemple
ImmédiatValeur dans l’instructionLD R0,4
DirectNom ou adresse de la variableLD R0,var
IndirectRegistre contenant l’adresseLD R0,[R1]
Indirect avec déplacementAdresse du registre augmentée d’un déplacementLD R0,[R1+2]

Passage des paramètres

ModeAvantageLimite
Par registreRapideNombre et taille des registres limités
Par pilePas de limite en nombre et en tailleGestion de la pile nécessaire
Par valeurLe paramètre original reste inchangéModification directe impossible
Par référenceLa procédure peut modifier le paramètreAdresse et indirection nécessaires

Teste tes connaissances

Teste tes connaissances sur Communication et assembleur bas niveau avec 31 questions à choix multiples et corrections détaillées.

1. Quel domaine fait principalement partie de la ressource R2.04 ?

2. Lequel de ces ensembles correspond aux thèmes abordés dans la ressource R2.04 ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Communication et assembleur bas niveau avec 60 flashcards interactives.

Quels sujets couvre la ressource R2.04 ?

La communication et le fonctionnement bas niveau.

Quels éléments bas niveau sont étudiés dans R2.04 ?

L’assembleur, les microprocesseurs, les entrées-sorties, les pointeurs et les procédures.

Que comprend le microprocesseur ?

L’unité de contrôle, l’unité de traitement et des registres.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches