Architecture du modèle de Von Neumann

10 kart

Contenu 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.
Soru
Comment le processeur accède-t-il aux périphériques ?
Yanıt
Le processeur accède aux périphériques via des plages d'adresses mémoire pour leurs registres de contrôle et d'état.
Soru
Quelles sont les deux catégories principales des six niveaux d'architecture exposés ?
Yanıt
Architecture logicielle (3 niveaux supérieurs) et architecture matérielle (3 niveaux inférieurs).
Soru
Quelle est la particularité du stockage des programmes et données dans le modèle de Von Neumann ?
Yanıt
Les programmes et les données sont stockés dans la même mémoire banalisée.
Soru
Quel est le principe de l'accès direct à la mémoire centrale ?
Yanıt
Permet d'accéder à n'importe quelle cellule mémoire en temps constant via son adresse.
Soru
Quel est l'objectif principal d'une instruction CALL ou JSR ?
Yanıt
Transférer le contrôle à une sous-routine et sauvegarder l'adresse de retour pour y revenir.
Soru
Quel est le but d'utiliser une pile (LIFO) lors de l'appel de sous-routines ?
Yanıt
Conserver les adresses de retour et les registres locaux des appels de sous-routines.
Soru
Décrivez la fonction du bus d'adresse et du bus de données.
Yanıt
Le bus d'adresse spécifie l'emplacement mémoire, tandis que le bus de données transfère les informations.
Soru
Quel est le rôle du Compteur Ordinal dans le déroulement d'un programme ?
Yanıt
Le Compteur Ordinal pointe vers la prochaine instruction à exécuter, contrôlant ainsi le déroulement du programme.
Soru
Qu'est-ce qu'un registre de flags et à quoi sert-il ?
Yanıt
Un registre de flags stocke des informations sur le résultat des opérations arithmétiques/logiques pour conditionner les sauts.
Soru
Expliquez la différence entre un branchement absolu et un branchement relatif.
Yanıt
Un branchement absolu utilise une adresse mémoire directe, tandis qu'un branchement relatif utilise un déplacement par rapport à l'adresse actuelle.

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 :
TypeNiveauDescriptionProcessus
Logicielle5Langages de haut niveau (Python, Java, C++, C)Compilation
4Langage d'assemblage (asm86, nasm, ARM)Appels systèmes
3Système d'exploitationAssemblage
Matérielle2Langage machineCycle instruction
1Micro-programmeExécution
0Circuits

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.
Programmes et données sont stockés indifféremment en mémoire.

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.
CodeOpOpérandes
1 mot0 ou plusieurs mots
- Exemples : - MOV R1, 4 (89 04 en hexadécimal, 1000 1001 0000 0100 en binaire). - ADD R2, 3 (B2 03 en hexadécimal, 1011 0010 0000 0011 en binaire).

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