Introduction
Ø Computer Science
De quoi traite l’Informatique
Ø Informatique = Information + Automatique
compute = calculer
traitement automatique de l’information
Modèle de Von Neumann
Ø John Von Neumann 1943-45Ø Lignes essentielles pour construire une
machine électronique. (Projet ENIAC)Ø Appliqués jusqu'à nos jours
Ø Quatre blocs fonctionnels:Ø Le processeur (ALU + Control Unit)Ø La mémoireØ Le busØ Les I/O
Du câblé au programmé..
Ø Premiers ordinateurs les pas d’exécution du programme étaient directement câblés dans le circuitØ Aujourd'hui on parlerait d’accélérateur matériel
Ø On invente le programme vu comme des données stockées dans la mémoire principaleØ l’architecture de Von Neumann
Ø La fonction de l’unité de contrôle est de Ø lire le programme de la mémoireØ décoder les instructionsØ commander leur exécution
Ø Un changement de programme se fait par une simple réécriture de la mémoire
Et si on en exécute plusieurs?
Ø Le processeur exécute (interprète) les instructions élémentaires à la suite
Ø Une séquence d'opérations peut décrire tous les problèmes
notion de Programme
Déroulement du programme
Ø Le déroulement du programme est contrôlé par le Compteur Ordinal qui pointe vers la prochaine instruction à exécuter.
Ø La séquentialité est intrinsèque au modèle VN
Ø Les instructions sont exécutées en séquence sauf en cas de saut. (Jump)
Les données
Ø La mémoire conserve les données et les instructions, on parle de mémoire banalisée.
Ø Les instructions sont amenées une à une vers le processeur
Ø Les échanges entre mémoire / processeur se font via le système de communication : souvent le bus
Von Neumann vs. Harvard
Ø Von Neumann
Ø Harvard
MÉMOIRE CPUIO
• • • • •IO IO
BUS SYSTÈME
MÉMOIREDONNÉES CPU IO• • • • •IO IO
BUS DONNÉES
BUS INSTRUCTIONS
MÉMOIREINSTR
Séquencement des instructions
Ø L'exécution d'une instruction passe par plusieurs étapes successives, chacune étant considérée comme une micro-opération.
Ø Certaines de ces actions correspondent à une activité mémoire, d'autres à une activité processeur.
Ø Pour effectuer une instruction, il faut toujours effectuer les actions suivantes:
Séquencement des instructions
1. Aller chercher l'instruction en mémoire;2. Calculer l'adresse de la prochaine
instruction, incrémenter le compteur ordinal
3. Décoder le code de l'opération4. Calculer les adresses des opérandes si
nécessaire5. Extraire les opérandes éventuelles de la
mémoire6. Exécuter l'instruction7. Calculer l'adresse du résultat8. Ranger le résultat en mémoire
Phases 1 2 3
Ø 1: Lit instruction suivanteØ Bus Adresse PCØ Bus Commande « Lire instruction »Ø RI Bus Donnée
Ø 2: Incrémente compteur ordinalØ PC PC + taille(instruction)
Ø 3 :Décode Instruction ex: Add A,(123)Ø A A + contenu @123.
Phases 4 5
Ø 4 et 5 : Lit données (facultatif)Ø Bus A 123Ø Bus C « lire donnée »Ø tmp Bus D
Ø Transfert données UALØ UAL.E1 AØ UAL.E2 tmpØ UAL.Inst « addition »
Phases 6 7 8
Ø 6: UAL calcule opérationØ Activation de l’additionneur intégralØ tmp’
Ø 7 et 8 : UC range résultatØ A tmp’
Ø RecommenceØ Lit & Exécute instruction suivante
Ø Pas de repos pour un processeur…
Activités Processeur
Activités Mémoire
(1) Fetch instr(2)
Incrément
(3) Decode instr
(4) (5) Fetch operand
(6) Execution
(7) Calcul adr res
(8) Store résultat
Cycle instruction
Phase de chargement
Phase d' exécution
Opérandes multiples
Résultats multiples
Instruction sur des chaînes
Instruction terminée
Calcul adr Op
Cycle du processeur
Ø L'exécution d'une instruction peut être découpée en plusieurs phases successives.
Ø Deux phases au moins sont définies:Ø la phase de chargement 'Fetch' et Ø phase d'exécution 'Execute''
Top Related