Spaceuit


Informatique Appliquée

Fillière Intelligence Artificielle

Automne 2024

Ali El Hourch
[email protected]


Guide
Nouveau
Assistant AI
Visual Studio Code Google Classroom Whatsapp Whatsapp Discord Discord
Module 1: Probabilités Et Statistiques Module 2: Architecture Des Ordinateurs Module 3: Structure De Données En C Module 4: Système d'exploitation 1 Module 5: Programmation Web 1 Module 6: Langues Etrangéres Module 7: Compétences Culturelles & Artistiques

Semestres

Automne 2024

Tronc Communs

Informatique Appliquée

Questions de cours


Question 1


  • Quelles sont les différentes composantes d'un ordinateur, expliquer leurs fonctionnalités ?
  • Correction
    • Selon le modèle de Von Neumann, un ordinateur est composée de :
      • Une mémoire principale : Permet de stocker les informations (programmes et données)
      • Un microprocesseur : Chargé d'interpréter et d'exécuter les instructions d'un programme.
      • Interfaces d'entrées et sorties E/S : Permet au microprocesseur de communiquer avec les périphériques externes.
      • Bus d'adresses et données : Ensemble de fils conducteurs ou broches qui transporte des signaux binaires.

Question 2


  • A qoui sert la segmentation de la mémoire ?
  • Correction
    • La segmentation de la mémoire est une méthode pour diviser la mémoires en segments par example : CS (Code segment), DS (Data segment), SS (Stack Segment), etc... .

Question 3


  • Qu'est ce qu'un registre ?
  • Correction
    • Un registre est un mémoire de petite taille, très rapide, utilisée pour conserver temporairement les données, instructions ou adresses.

Question 4


  • Citer et classer les différents registres d'un micro-processeur 80x86 ?
  • Correction
    • Registres généraux: AX, CX, BX, DX
    • Registres Segments: CS, DS, SS, ES (Extra Segment)
    • Registres de l'offset: IP, BP, SP
    • Registres des indicateurs: OF, CF, ZF, NF, ...
    • Remarque :L'ordre est importante !!!

Question 5


  • Qu'est-ce qu'une pile ?
  • Correction
    • La pile est une zone mémoire et une pointeur qui pointe sur la sommet de la pile.

Question 6


  • Quels sont les registres utilisés pour manipuler une pile ?
  • Correction
    • Registre SS (Stack Segment/Segment Pile) : Registre qui conserve l'adresse de la pile.
    • Registre SP (Stack Pointeur/Pointeur Pile) : Registre qui pointe sur le sommet de la pile.

Question 7


  • Quels sont les instructions utilisées pour manipuler une pile ?
  • Correction
    • Il existe deux instructions pour manipuler une pile :
      • PUSH registre : Empiler le contenu du registre sur la pile.
      • POP registre : Retire la valeur en haut de la pile et la place dans le registre spécifié.

Question 8


  • Donner les instructions qui permettent d'afficher une chaîne de caractères
  • Correction
      MOV DX, offset chaine
      MOV AH, 09H
      INT 21H
      

Question 9


  • Donner les instructions qui permettent de lire une chaîne de caractères
  • Correction
      MOV DX, offset chaine
      MOV AH, 0AH
      INT 21H
      

Question 10


  • Donner les instructions assembleur qui permettent d'afficher un caractère
  • Correction
      MOV DL, AL
      MOV AH, 02h
      INT 21H
      

Question 11


  • Donner les instructions assembleur qui permettent de lire un caractère
  • Correction
      MOV AH, 01h
      INT 21H
      

Question 12


  • Quelle est l'adresse complète d'une donnée
  • Correction
    • L'adresse complète d'une donnée est la combinaison de DS (Data Segment) et l'adresse de donnée manipulée.
      DS:Adresse

Question 13


  • Quelle est l'adresse complète d'une instruction
  • Correction
    • L'adresse complète d'une instruction est la combinaison de CS (Code Segment) et l'adresse IP de l'instruction à exécuter.
      CS:IP

Question 14


  • Expliquer par l'exemple les adressage suivants :
  • - immédiat:
  • - implicite:
  • - relatif:
  • - direct:
  • - indirect:
  • Correction
    • - immédiat : Le code opérand est une donnée (Une valeur) : MOV AH, 5
    • - implicite : L'instruction contient seulement le code d'opération : INC AX
    • - relatif : Le code opérand contient l'adresse qui séra ajouté au IP adresse: JMP 0110h
    • - direct : Le code d'opérand est l'adresse de donnée : MOV AX, [0110h]
    • - indirect : Le registre BX contient l'adresse de donnée : MOV AX, [BX]

Question 15


  • Donner les définitions des notions suivantes :
  • - Segment:
  • - Registre:
  • - Bus:
  • Correction
    • - Segment : Une zone mémoire adressable.
    • - Registre : Un mémoire de pétite taille, très rapide, utiliser pour conserver temporairement une donnée, instruction ou adresse.
    • - Bus : Ensemble de fils conducteurs ou broches qui transporte des signaux binaires.

Question 16


  • Donner deux instructions de branchement conditionnel :
  • Correction
    • JE (JZ): Saut si zero
    • JNE (JNZ): Saut si non-zero

Question 17


  • Donner deux instructions de branchement inconditionnel :
  • Correction
    • JMP adresse: Saut à l'adresse
    • CALL nom_proc: Appeler la procedure

Question 18


  • Quelles sont les composantes d'un micro-processeur :
  • Correction
    • Unité de commande et contrôle
    • Unité arithmetique et logique (Unité de traitement) U.A.L
    • Registres
    • Décodeur
    • Bus d'adresses et de données
    • Horloge

Question 19


  • Quel est le rôle des interfaces d'entrées/sortie :
  • Correction
    • Permet au microprocesseur de communiquer avec les périphériques externes.

Question 20


  • Donner et expliquer deux modes de passage de paramètres à une procédure :
  • Correction
    • Passage par registre : Les valeurs de paramètres sont contenues dans les registres de microprocesseur.
    • Passage par pile : Les valeurs de paramètres sont empilées et la procédure lit la pile.

Question 21


  • Donner les instructions pour déclarer un segment de données :
  • Correction
    • Pour déclarer un segment de données il faut initialiser le segment par le directive data SEGMENT et le terminer avec le directive data ENDS
    • data SEGMENT
          ; Déclarations
      data ENDS
      

Question 22


  • Donner les instructions pour déclarer un segment d'instructions :
  • Correction
    • Pour déclarer un segment d'instructions il faut initialiser le segment par le directive code SEGMENT,la directive ASSUME pour indiquer à l'assembleur quel est le segment de données et instructions, et le terminer avec le directive code ENDS
    • code SEGMENT
          ASSUME DS: nom_data, CS: code
          ; instructions
      code ENDS
      

Question 23


  • Donner les instructions pour initialiser le registre DS :
  • Correction
      MOV AX, nom_data
      MOV DS, AX
      

Question 24


  • Quel est le rôle du registre IP :
  • Correction
    • Le registre IP conserve l'adresse de l'instruction suivante à exécuter.

Question 25


  • A qoui sert le registre AX :
  • Correction
    • Registre accumulateur, utiliser pour les opérations arithmétiques et d'E/S .

Question 26


  • A qoui sert le registre BX :
  • Correction
    • Registre de base, utilisé pour adresser les données en mémoire(e.g: MOV AH, [BX]).

Question 27


  • A qoui sert le registre CX :
  • Correction
    • Registre compteur, utilisé pour boucles et les décalages.

Question 28


  • A qoui sert le registre DX :
  • Correction
    • Registre de données, utilisé pour les opérations E/S et la multiplication/division.

Question 29


  • Comment calculer l'adresse physique/effective d'un octet :
  • Correction
    • L'adresse physique/effective d'un octet est calculer par la formule suivante :
    • Adresse physique = Segment x 16 + offset
      

Question 30


  • Expliquez le changement de l'état de registre IP lors d'un appel de procédure :
  • Correction
    • Aprés l'appel, la procédure empile la valeur de IP qui pointe sur l'instruction qui suit le CALL.
    • Placer dans IP l'adresse de la première instruction de la procédure.
    • L'instruction RET dépile la valeur initiale de IP.