Architecture du modèle de Von Neumann
10 kartContenu détaillé du modèle de Von Neumann, incluant son architecture, ses composants, le fonctionnement des instructions, les modes d'adressage, la gestion de la mémoire et les types de branchements.
10 kart
Tekrar et
Aralıklı tekrar, her kartı uzun süreli hafızalamak için en uygun anda gösterir ve gitgide artan aralıklarla revizyonlar.
Modèle de Von Neumann et Architecture des Ordinateurs
Ce cours explore le modèle de Von Neumann, l'architecture fondamentale des ordinateurs, et ses composants principaux, ainsi que leur interaction.I. Introduction à l'Architecture Informatique
Le domaine de l'informatique se divise en : - 6 niveaux d'abstraction, répartis entre le logiciel et le matériel. - La frontière entre matériel et logiciel est arbitraire : toute opération logicielle peut être matérialisée et vice-versa.A. Niveaux d'Abstraction
Une hiérarchie des niveaux de fonctionnement d'un ordinateur :| Type | Niveau | Description | Processus |
| Logicielle | 5 | Langages de haut niveau (Python, Java, C++, C) | Compilation |
| 4 | Langage d'assemblage (asm86, nasm, ARM) | Appels systèmes | |
| 3 | Système d'exploitation | Assemblage | |
| Matérielle | 2 | Langage machine | Cycle instruction |
| 1 | Micro-programme | Exécution | |
| 0 | Circuits |
II. Le Modèle de Von Neumann
Une machine de Von Neumann est composée de :- Unité Centrale (UC) :
- Unité Arithmétique et Logique (UAL) : effectue les calculs.
- Unité de contrôle : orchestre les opérations.
- Mémoire Centrale : Stocke programmes et données (nombres binaires).
- Périphériques : Interaction avec le monde extérieur (homme/machines, stockage de données).
- Bus : Canal de communication entre ces entités.
A. La Mémoire Centrale
- Structure : cellules, chacune contenant un mot de bits. - Accès : Par une adresse (nombre entier de ). - Accès direct et en temps constant quelle que soit l'adresse.B. Communication avec la Mémoire (Bus)
Le bus est divisé en : - Bus d'adresse : Pour spécifier l'emplacement mémoire. - Bus de données : Pour transférer les informations. Les types d'accès sont : - Lecture : Le mot à l'adresse spécifiée est transféré sur le bus de données. - Écriture : Le mot du bus de données est écrit à l'adresse spécifiée. - Un bus de contrôle gère les interruptions et les commandes.C. Périphériques et Interruptions
- Les périphériques apparaissent à l'UC comme des plages d'adresses mémoire. - Utilisation du DMA (Direct Memory Access) pour des transferts de blocs massifs (ex: disque dur). - Les interruptions signalent la fin d'une tâche d'un périphérique (ex: fin de lecture DMA) et font partie du bus de contrôle. - Elles correspondent aux appels systèmes des systèmes d'exploitation.III. Le Processeur et l'Exécution des Instructions
Le processeur est le cerveau de l'ordinateur, il exécute les programmes séquentiellement. Il contient : - Des registres () pour le stockage temporaire rapide. - Une (ou plusieurs) unité de calcul (UAL). - Des bus internes au processeur. - Une unité de contrôle.A. Structure des Instructions
- Une instruction est une suite de bits souvent représentée par des chaînes de caractères (assembleur). - Structure : un Code Opération (CodeOp) suivi d'un ou plusieurs Opérandes.| CodeOp | Opérandes |
| 1 mot | 0 ou plusieurs mots |
B. Types d'Instructions selon le nombre d'Opérandes
- 3 opérandes : CodeOp Résultat Opérande1 Opérande2 (ex: signifie ). - 2 opérandes : CodeOp Op/Rés Opérande (ex: signifie ). - 1 opérande : CodeOp Opérande (ex: signifie , où Acc est l'accumulateur). - 0 opérande : CodeOp (ex: sur la pile, utilise la notation post-fixée ou polonaise). - Une pile est souvent utilisée pour ranger les opérandes dans les architectures à 0 opérande.C. Modes d'Adressage des Opérandes
Différentes manières d'accéder aux données : - Valeur immédiate : MOV R1, 3E (la valeur 3E est l'opérande). - Adressage direct registre : MOV R1, R2 (valeur de R2 est l'opérande). - Adressage direct mémoire : MOV R1, (1515) (valeur à l'adresse 1515 est l'opérande). - Adressage indirect registre : MOV R1, (R2) (valeur à l'adresse contenue dans R2 est l'opérande). - Adressage indirect indexé : MOV R1, (R3, R2) (R3 contient l'adresse de base, R2 est l'index). - Post-incrémenté : MOV R1, (R4)+ (lit la valeur puis incrémente R4). - Pré-décrémenté : MOV R1, -(R4) (décrémente R4 puis lit la valeur). - Avec déplacement : MOV R1, 10(R1) (décalage de 10 par rapport à l'adresse de R1). - Indirect indexé avec déplacement : MOV R1, 10(R2, R3).D. Séquentialité et Flots de Contrôle
- Le Compteur Ordinal (PC) contrôle le déroulement du programme, pointant vers la prochaine instruction. - La séquentialité est intrinsèque au modèle de Von Neumann. - Les instructions sont exécutées en séquence, sauf en cas de saut (Jump).IV. Cycle d'Exécution d'une Instruction
L'exécution d'une instruction est un processus séquentiel décomposé en micro-opérations : 1. Aller chercher l'instruction en mémoire : - Le contenu du PC est mis sur le Bus d'Adresse. - Le bus de contrôle indique "Lire instruction". - L'instruction est lue du Bus de Données vers un registre d'instruction (RI). 2. Incrémenter le Compteur Ordinal (PC) : . 3. Décoder le Code de l'Opération : L'unité de contrôle interprète le CodeOp. 4. Calculer les adresses des opérandes (si nécessaire). 5. Extraire les opérandes éventuelles de la mémoire (si nécessaire). 6. Exécuter l'instruction via l'UAL. 7. Calculer l'adresse du résultat. 8. Ranger le résultat en mémoire. Ce cycle se répète sans cesse pour chaque instruction.V. Les Branchements
Les branchements altèrent la séquence normale d'exécution.A. Types de Branchements
- Branchements simples (inconditionnels) : JMP adresse ou JP adresse. Met l'adresse directement dans le PC. - Branchements conditionnels : Dépendent de l'état de l'UAL après une opération. - L'UAL positionne un registre de flags (F), chaque bit représentant une condition. - Exemples de flags : Z (résultat nul), N (résultat négatif), V (dépassement de capacité). - Exemple : JZ 1789 (saute à 1789 si le flag Z est positionné). - Branchements sous-routines : CALL adresse ou JSR adresse. - Utilisent une pile (LIFO) pour gérer les adresses de retour. - Lors d'un CALL : Sauvegarde l'adresse de retour (PC) sur la pile, puis met l'adresse de la sous-routine dans PC. - Lors d'un RET : Récupère l'adresse de retour de la pile et la met dans PC. - Un pointeur de pile (SP) gère les opérations push (SP décrémente) et pop (SP incrémente). - La sous-routine doit "nettoyer" la pile (autant de push que de pop).B. Gestion des Registres dans les Sous-Routines
- Pour préserver l'état des registres, la sous-routine les sauvegarde sur la pile avant utilisation et les restaure avant son retour. - Les arguments d'une sous-routine peuvent être passés : - Par registres (nombre limité). - Par la pile (push les arguments avant l'appel). - Dans la sous-routine, les arguments sont accessibles par rapport au SP.Le processeur est une machine qui lit et exécute des instructions en mémoire centrale. Il n'y a pas de repos pour un processeur!
Bir quiz başla
Bilgini etkileşimli sorularla test et