Le Concept du programme enregistré Introduction Principes de la conception Machine programmable Le déroulement d ’une instruction dans l ’ordinateur 1 Objectifs Il est important de comprendre comment un ordinateur peut exécuter des applications de domaines totalement différents sans modifier son architecture interne. Nous verrons le cycle de base de l ’exécution des instructions. 2 Le Concept du programme enregistré • Les ordinateurs actuels sont construits sur deux grands principes : • Les instructions sont désignées par des nombres. • Les programmes peuvent être stockés en mémoire pour être lus ou modifiés, exactement comme des nombres. • Il s’agit du concept du programme enregistré ; son invention fit sortir le génie de l’informatique de sa lampe à huile. La mémoire peut contenir le code C pour un programme d'édition, le code compilé correspondant, le texte que le programme compilé utilise, et même le compilateur qui a généré le code machine. 3 Codage de l’information INFORMATIONS INSTRUCTION DONNÉES FORMATS EN CODE MACHINE NUMERIQUES NON-NUMERIQUE BCD ASCII EBCDIC NB ENTIERS POSITIFS NB FRACTIONNAIRES NB ENTIERS NEGATIFS VIRGULE FIXE VIRGULE FLOTTANTE 4 Le concept de programme enregistré • Les programmes enregistrés permettent à un ordinateur qui effectue des opérations comptables de devenir en un clin d’œil, un ordinateur qui permet à un écrivain d'écrire un livre. Mémoire Processeur Programme de comptabilité Programme d'édition compilateur C Fichiers de salaires Texte de livre Code C pour le programme d'édition Photos de Candi 5 Machine programmable Mémoire Codes des instructions interpréteurs d’instructions Signaux de contrôle données Machine Universelle Sortie 6 Machine programmable Paris Paris Contrôle Montpellier Marseille Montpellier Marseille 7 Exécution des instructions • Les instructions formant un programme sont stockées en mémoire dans des octets consécutifs. Ces instructions sont simples comparés aux déclarations de haut niveau. L’instruction en cours de traitement est repérée par un compteur de programme. • Les instructions sont exécutées en boucle : Répéter toujours aller chercher l’instruction décoder l’instruction exécuter l’instruction si l’instruction n'était pas un branchement incrémenter le CP à l‘instruction suivante Fin 8 Les interruptions • Une interruption est un signal qui modifie temporairement le cycle chercher-décoder-exécuter. Certains événements, tels que la pression d’un bouton déclenche des interruptions. • Dans ce cas – La valeur courante du PC est stockée dans un emplacement mémoire – Le PC est positionné à une adresse ou sont stockées les instructions servant à traiter l’interruption – Lorsque ces instructions sont terminées, la valeur du PC sauvegardée est remise dans le registrer PC et l'exécution reprend normalement. 9 Le déroulement d'une instruction oui suspension Certains événements externes doivent pouvoir interrompre le déroulement d'un programme Acquittement Attente de fin de suspension oui Interruption Relâchement d'acquittement L'unité centrale s'octroie le contrôle des bus, elle interdit les accès aux bus Lecture décodage instruction Interruption logicielle Exécution instruction oui Traitement interruption 10 Le déroulement au niveau du matériel Mémoire Le CO contient l'adresse de l'instruction à exécuter Compteur ordinal Instruction Registre instruction Décodeur Evénements Conditions Séquenceur Horloge interne Reçoit le code de l'instruction que l'unité de commande est allé chercher en mémoire Permet de reconnaître l'instruction Le séquenceur fournit les commandes appelés micro-commandes nécessaires au déroulement de l'instruction 11