Examen systèmes à microprocesseurs - informatique indus - té

Informatique Industrielle : Examen Systèmes à Microprocesseurs 2016

Télécharger PDF

Examen Systèmes à Microprocesseurs – Instrumentation Pétrolière (Master 1)

Exercice 1 : Interruptions du microprocesseur 6800

[06 points]

1. **Interruptions logicielles et matérielles du 6800** :

Les interruptions du microprocesseur 6800 se divisent en deux catégories :

  • Interruptions logicielles :
  • Interruptions matérielles :

2. **Rôle d’une interruption** :

Une interruption permet au microprocesseur de suspendre temporairement l’exécution d’un programme principal pour répondre à une demande urgente ou imprévue. Par exemple, un périphérique comme un clavier envoie une interruption lorsque l’utilisateur appuie sur une touche, ce qui déclenche une routine spécifique pour traiter cette entrée.

3. **Actions du microprocesseur lors d’une requête d’interruption** :

Lorsqu’une interruption est demandée, le microprocesseur :

  • Termine l’instruction en cours.
  • Vérifie si l’interruption est masquée (bit I = 1).
  • Si non masquée :
    • Empile le contenu des registres (PC, CCR, A, B, X).
    • Mets le bit d’interruption (I) à 1 pour bloquer les nouvelles interruptions.
    • Charge l’adresse de la routine d’interruption dans le PC.
    • Exécute la routine d’interruption.
    • Restaure les registres (PC, CCR, A, B, X) depuis la pile.
    • Retourne au programme principal.
  • Si masquée : Ignore l’interruption.

4. **Différence entre une interruption normale (IRQ) et une interruption NMI** :

IRQ NMI
Ligne d’interruption normale Ligne d’interruption prioritaire
Peut être masquée par le bit I = 1 Non masquable
Routine d’interruption à l’adresse [FFF8][FFF9] Routine d’interruption à l’adresse [FFFC][FFFD]

Exercice 2 : Comptage des « 1 » dans un mot binaire

[07 points]

1. **Organigramme pour compter les « 1 » dans le mot binaire « 11111010 »** :

L’organigramme doit inclure les étapes suivantes :

  • Initialiser un compteur (registre B) à 0.
  • Tester le bit le plus significatif (MSB) du mot binaire.
  • Si le bit est 1, incrémenter le compteur.
  • Décaler le mot vers la droite pour examiner le bit suivant.
  • Répéter jusqu’à ce que tous les bits soient testés.

2. **Programme assembleur avec le registre B pour le comptage** :

Utiliser les instructions BCC pour le test et BRA pour le branchement.

3. **Modification du programme avec le registre X pour le comptage** :

Remplacer le registre B par le registre X et utiliser BNE pour le branchement.

4. **Améliorations apportées par ces changements** :

  • Utilisation du registre X, plus adapté pour des opérations de comptage complexes.
  • L’instruction BNE (Branch if Not Equal) peut simplifier la logique de test en comparant directement avec zéro.
  • Possibilité d’étendre le programme pour d’autres opérations sans modifier la structure de base.

Exercice 3 : Échange de deux blocs de données en mémoire

[07 points]

1. **Schéma du résultat attendu après l’échange** :

Avant échange :

Adresse Valeur
0000 09
0001 0A
0002 0B
0003 0C
0004 00
0005 01
0006 02
0007 03
0008 04
0009 05
000A 06
000B 07

Après échange :

Adresse Valeur
0000 04
0001 05
0002 06
0003 07
0004 09
0005 0A
0006 0B
0007 0C
0008 00
0009 01
000A 02
000B 03

2. **Solution proposée sous forme d’étapes** :

  • Copier le premier bloc de données dans une zone temporaire.
  • Déplacer le deuxième bloc vers l’emplacement du premier.
  • Déplacer le premier bloc (initialement copié) vers l’emplacement du deuxième.
  • Vérifier la cohérence des données après l’échange.

3. **Programme assembleur pour échanger les blocs** :

Utiliser des instructions de chargement, de stockage et de boucle pour transférer les données.

4. **Deuxième programme utilisant la pile** :

  • Empiler les adresses et les valeurs du premier bloc.
  • Déplacer le deuxième bloc vers l’emplacement du premier.
  • Restaurer les valeurs du premier bloc depuis la pile vers l’emplacement du deuxième.
  • Vérifier la cohérence des données après l’échange.

FAQ sur les Interruptions et les Microprocesseurs

Qu’est-ce qu’une interruption matérielle ?

Une interruption matérielle est un signal envoyé par un périphérique ou un composant matériel pour demander l’attention du microprocesseur. Elle est souvent utilisée pour gérer des événements externes comme une entrée clavier ou une réception de données.

Comment différencier une interruption IRQ d’une NMI ?

L’IRQ est une interruption normale qui peut être masquée par le microprocesseur, tandis que la NMI (Non-Maskable Interrupt) est une interruption prioritaire qui ne peut pas être ignorée, même si le bit de masquage est activé.

Pourquoi utiliser la pile pour échanger des blocs de données ?

La pile permet de sauvegarder temporairement les données sans utiliser de mémoire supplémentaire. Elle simplifie l’échange en évitant de manipuler des zones de stockage externes et garantit une restauration correcte des valeurs initiales.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne