jeu d’instructionsmonnier/1215/notes-lmc.pdfadditionner deux nombres. réalisez un programme qui...
TRANSCRIPT
![Page 1: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/1.jpg)
Chapter 6 Little Man Computer 6-1
Jeu d’instructions
Couche des langages d’application
Couche du langage d’assemblage
Couche du système d’exploitation
Couche architecture du jeu d’instructions (couche ISA)
Couche microarchitecture
Couche logique numérique
Niveau 5
Niveau 4
Niveau 3
Niveau 2
Niveau 1
Niveau 0
Traduction (compilateur)
Traduction (assembleur)
Interprétation partielle (systèmed’exploitation)
Interprétation (microprogramme)ou exécution directe
Matériel
![Page 2: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/2.jpg)
Chapter 6 Little Man Computer 6-2
Instructions machines Les instructions et les données sont
codées sur des mots mémoires (un ouplusieurs mots mémoires selon la naturede l’ordinateur)
Les instructions machines sont propres àchaque microprocesseur
Une instruction désigne un ordre donné auprocesseur et qui permet à celui-ci deréaliser un traitement élémentaire
![Page 3: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/3.jpg)
Chapter 6 Little Man Computer 6-3
Jeu d’instructions Design définit les fonctions pouvant être exécutées
par le processeur Différencie l’architecture de l’ordinateur
Nombre d’instructions Complexité des opérations Types de données supportés Format Utilisation de registres Adressage (taille, modes)
3
![Page 4: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/4.jpg)
Chapter 6 Little Man Computer 6-4
Classification des instructions Transfert de données (load, store)
Permettent de transférer une donnée depuis les registresdu processeur vers la mémoire et vice versa ainsi qu’entreregistres du processeur
Taille du mot mémoire ? 16? 32? 64 bits? Arithmétiques
Operateurs + - / * ^ Entiers et en virgule flottante
Logique Booléenne AND, XOR, NOT, …
Instructions manipulant un seul opérande Négation, décrémentation, incrémentation, remise à 0
4
![Page 5: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/5.jpg)
Chapter 6 Little Man Computer 6-5
Classification des instructions
Manipulation de bits Flags pour tester les conditions
Décalage/rotation Branchement ou de commande De la pile D’entrées/sorties Contrôle de la machine
5
![Page 6: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/6.jpg)
Chapter 6 Little Man Computer 6-6
Décalage et rotation
Copyright 2010 John Wiley & Sons, Inc.
6
![Page 7: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/7.jpg)
Chapter 6 Little Man Computer 6-7
Contrôle de programme
Les instructions desaut ou debranchement
Les instructionsd’appels de sous-programmes
Copyright 2010 John Wiley & Sons, Inc.
7
![Page 8: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/8.jpg)
Chapter 6 Little Man Computer 6-8
Instructions de la pile LIFO méthode pour organiser l’information Items sont retirés dans l’ordre inversée de l’ordre
d’arrivée
Empiler Dépiler8
![Page 9: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/9.jpg)
Chapter 6 Little Man Computer 6-9
Appels de sous-programmes
Copyright 2010 John Wiley & Sons, Inc.
9
![Page 10: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/10.jpg)
Chapter 6 Little Man Computer 6-10
Appels de sous-programmes
Copyright 2010 John Wiley & Sons, Inc.10
![Page 11: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/11.jpg)
Chapter 6 Little Man Computer 6-11
Pile
Copyright 2010 John Wiley & Sons, Inc.
11
![Page 12: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/12.jpg)
Chapter 6 Little Man Computer 6-12
Éléments de l’instruction L’instruction machine est une chaîne
binaire de p bits composée principalementde deux parties
Un code opération Indique au processeur le type de traitement à
réaliser Un code opération de m bits permet de définir 2m
opérations différentes pour la machine Le nombre d’opérations différentes autorisées pour
une machine définit le jeu d’instructions de lamachine
Code Opération Champ opérandes
![Page 13: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/13.jpg)
Chapter 6 Little Man Computer 6-13
Le champ opérandes Composé de p-m bits
Indique la nature des données surlesquelles l’opération désignée par le codeopération doit être effectuée
Le façon de désigner un opérande dans uneinstruction peut prendre différentes formes
Mode d’adressage des opérandes
Code Opération Champ opérandes
![Page 14: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/14.jpg)
Chapter 6 Little Man Computer 6-14
Types d’opérandes 1, 2 ou 3 opérandes (selon type
d’instruction) 3 natures différentes (mode
d’adressage) L’opérande – une valeur immédiate, par
ex. 3Code Opération Mode adressage immédiat Information complémentaire = opérande = valeur immédiate = 3
![Page 15: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/15.jpg)
Chapter 6 Little Man Computer 6-15
Types d’opérandes L’opérande est un registre du
processeur, par.ex. R1
Opérande = contenu de R1
L’opérande est un mot mémoire
Code Opération Mode adressage direct Information complémentaire = = adresse mémoire = 128
Code Opération Mode adressage registre Information complémentaire = = numéro de registre = 1
Opérande = contenu de la case Mémoire 128 = 7
![Page 16: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/16.jpg)
Chapter 6 Little Man Computer 6-16
Le format du champ opérande
Le mode d’adressage lié à l’opérande
Une information complémentaire quipermet conjointement avec le moded’adressage de trouver l’opérande
![Page 17: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/17.jpg)
Chapter 6 Little Man Computer 6-17
Éléments d’une instruction,résumé OPCODE (code opération): tâche Opérande(s) Source Opérande Résultat
Emplacement de donnée (registre, mémoire) Explicite: inclus dans l’instruction Implicite: définit par default
OPCODE OPÉRANDE Source
OPÉRANDE Résultat
Adresses
17
![Page 18: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/18.jpg)
Chapter 6 Little Man Computer 6-18
Format d’une instruction Un gabarit spécifique à la machine qui définit
Longueur de opcode Nombre des opérandes Longueur des opérandes
Copyright 2010 John Wiley & Sons, Inc. 18
![Page 19: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/19.jpg)
Chapter 6 Little Man Computer 6-19
Exemples de formats d’instructions
Copyright 2010 John Wiley & Sons, Inc.19
![Page 20: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/20.jpg)
Chapter 6 Little Man Computer 6-20
The Little Man Computer
http://www.herts.ac.uk/ltdu/projects/mm5/
![Page 21: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/21.jpg)
Chapter 6 Little Man Computer 6-21
LMC, composants Little Man – Le chef, il sait ce
qu’il faut faire et il a autoritésur tous les autres
Une armoire à tiroirsnumérotés de 0 à 99. Chaquetiroir peut contenir un nombrede 0 à 999
Le compteur de programme« Program Counter » : Ilindique le numéro du tiroir dela prochaine instruction àréaliser Le bouton « reset »
![Page 22: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/22.jpg)
Chapter 6 Little Man Computer 6-22
LMC L’unité de calcul. Elle est
capable de faire des additions etdes soustractions. Elle disposed’une mémoire interne qui gardetoujours le résultat de la dernièreopération.
Les corbeilles entrée/sortie . LeLMC est capable de recevoir etd’envoyer des nombre de 0 a 999
![Page 23: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/23.jpg)
Chapter 6 Little Man Computer 6-23
LMC
LittleMan
Armoire àtiroirs
Le compteur deprogramme
Entrées/Sorties
Unitédecalcul
![Page 24: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/24.jpg)
Chapter 6 Little Man Computer 6-24
Armoire à tiroirs 100 tiroirs numérotés de 0 à 99 pouvant
contenir des nombres de 0 à 999. Un nombre de 0 à 999 est en fait 3 chiffres
de 0 à 9 On peut donc voir la mémoire comme 100 tiroirs
contenant chacun trois compartiments. Danschaque compartiment, on peut mettre un chiffre de0 à 9.
En fonction du contexte, ces chiffres peuventavoir différentes significations
713
![Page 25: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/25.jpg)
Chapter 6 Little Man Computer 6-25
Armoire à tiroirs: Adresse vs.Contenu Le langage machine du LMC est écrit en
base 10 Adresses sont consécutives Contenu peut être
Données ou Instructions ContenuAdresse
№ du tiroir
![Page 26: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/26.jpg)
Chapter 6 Little Man Computer 6-26
Contenu: Instructions LMC Op code
Code opération, LMC – 1 digit Mnémonique arbitraire
Opérande Objet pour la manipulation
LMC – 2 digits après op code Adresse de données Données
Op codeContenu
OpérandeAdresse
![Page 27: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/27.jpg)
Chapter 6 Little Man Computer 6-276-27
Magie! Charger le programme dans la mémoire Mettre les données dans un panier
« in »
![Page 28: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/28.jpg)
Chapter 6 Little Man Computer 6-28
Langage d’assemblage Spécifique au CPU Langage d’assemblage – une variante
symbolique du langage machine Correspondance 1 à 1
Mnémoniques (courte séquence decaractères) représentent les instructions
Utilisé quand le programmeur besoin uncontrôle précis sur le matériel (pilotes)
![Page 29: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/29.jpg)
Chapter 6 Little Man Computer 6-2929
Jeu d’InstructionsArithmétiques 1xx ADD
2xx SUB
Transfert de données 3xx STORE
5xx LOAD
Entrée/Sortie 901 INPUT
902 Output
Contrôle de la machine(coffee break)
000 HALTCOB
![Page 30: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/30.jpg)
Chapter 6 Little Man Computer 6-30
Les Instructions arithmétiques Lire le contenu du tiroir Faire l’opération dans l’unité de calcul
SUBADD xx1
xx2
Opérande(adresse)
Op CodeContenu
![Page 31: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/31.jpg)
Chapter 6 Little Man Computer 6-31
LMC, Instructions arithmétiques
ADD
SUB
![Page 32: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/32.jpg)
Chapter 6 Little Man Computer 6-32
Entrée/Sortie Transfert de données depuis l’unité de
calcul vers les entrées/sorties et vice versa
OUT (output)
IN (input) 019
029
Opérande(adresse)
Op CodeContenu
![Page 33: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/33.jpg)
Chapter 6 Little Man Computer 6-33
LMC Entrée/Sortie
IN
OUT
![Page 34: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/34.jpg)
Chapter 6 Little Man Computer 6-34
Transfert de données Entre tiroirs et l’unité de calcul
LDA (load)
STO(store)
xx3
xx5
Opérande(adresse)
Op CodeContenu
![Page 35: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/35.jpg)
Chapter 6 Little Man Computer 6-35
LMC, Transfert de données
LDA
STO
![Page 36: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/36.jpg)
Chapter 6 Little Man Computer 6-36
Données Identiques aux instructions Ne doivent pas être placées dans la
séquence d’instructions Identifiées par mnémonique DAT Pseudo-instructions
Ordres destinés au traducteur assembleur
DAT 003
![Page 37: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/37.jpg)
Chapter 6 Little Man Computer 6-37
Langage d’assemblage Programmation en langage
d’assemblage nécessite une étape detraduction Les instruction en langage machine sont
compréhensibles et exécutables par lamachine
Phase de traduction Un outil appelé l’assembleur
![Page 38: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/38.jpg)
Chapter 6 Little Man Computer 6-38
Langage d’assemblage Format d’une instruction du langage
d’assemblage Une instruction du langage d’assemblage
est composée de champs, séparés par unou plusieurs espaces
Champ étiquette Champ code opération Champ opérandes
Plusieurs opérandes séparés par des virgules
Champ commentaires
![Page 39: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/39.jpg)
Chapter 6 Little Man Computer 6-39
Langage d’assemblage Format d’une instruction du langage
d’assemblage
Étiquette Code opération Opérandes Commentaires
![Page 40: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/40.jpg)
Chapter 6 Little Man Computer 6-40
Étiquette Une chaîne de caractères permettant
de nommer une instruction ou unevariable
Correspond à une adresse dans leprogramme Instruction
loop LDA var Variable
var DAT 000
Étiquette Code opération Opérandes Commentaires
![Page 41: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/41.jpg)
Chapter 6 Little Man Computer 6-41
Langage d’assemblage LMC Code opérations
Une chaîne de caractères mnémonique ducode opération
LDA STO IN OUT ADD
Étiquette Code opération Opérandes Commentaires
![Page 42: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/42.jpg)
Chapter 6 Little Man Computer 6-42
Langage d’assemblage LMC Les opérandes
Adresse de l’opérande (mode d’adressagedirect)
Étiquette
Étiquette Code opération Opérandes Commentaires
ADD one
…
one DAT 001
ADD 99
…
99 DAT 001
![Page 43: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/43.jpg)
Chapter 6 Little Man Computer 6-43
L’Arithmétique signée en base 10(LMC)
Nombres signés Convention complément à 10 Avec 3 compartiments dans chaque tiroir
et un langage en base 10 => 000 - 999 tous les nombres >=500 sont considérés
comme étant négatifs
500 - 999 0 + 499
![Page 44: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/44.jpg)
Chapter 6 Little Man Computer 6-44
L’Arithmétique signée en base 10(LMC)
Nombres signés Convention complément à 10
Nombres positif [0,499] Nombres négatif [-1, -500]
Complément à 9 de la valeur absolue Ajouter 1
500 - 999 0 + 499
![Page 45: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/45.jpg)
Chapter 6 Little Man Computer 6-45
L’Arithmétique signée en base 10(LMC)
Nombres signés Nombres négatif [-1, -500] Exemple: -347
Complément à 9 de la valeur absolue C–à-9 sur 3 chiffres de 347 = 652
Ajouter 1 653
500 - 999 0 + 499-347
![Page 46: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/46.jpg)
Chapter 6 Little Man Computer 6-46
Additionner deux nombres Réalisez un programme qui additionne
deux nombres ensemble avec le jeuxd’instructions vu précédemment Lire la première entrée (Input) Lire la deuxième entrée (Input) Additionner les deux (Add) Envoyer le résultat (Output)
![Page 47: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/47.jpg)
Chapter 6 Little Man Computer 6-47
Additionner deux nombres Problèmes : Input écrit la valeur dans l’unité de
calcul et il n’y a qu’une place. Add calcule la somme du contenu d’un
tiroir avec le contenu courant de l’unitéde calcul
![Page 48: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/48.jpg)
Chapter 6 Little Man Computer 6-48
Additionner deux nombres Il faut donc mémoriser temporairement
la première donnée lue Le programme devient:
1) Lire la première entrée (Input) 2) Écrire cette donnée en mémoire 3) Lire la deuxième entrée (Input) 4) Additionner le contenu de l’unité de
calcul avec le contenu du tiroir (Add) 5) Envoyer le résultat (Output)
![Page 49: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/49.jpg)
Chapter 6 Little Man Computer 6-49
Additionner deux Nombres
Quel tiroir utiliser poursauvegarder la donnée ? Données sont stockées
dans les tiroirs avec les adresses >90
Lire un #
Sauvegarder le #
Saisir un #
Additionner
Afficher lenombre
![Page 50: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/50.jpg)
Chapter 6 Little Man Computer 6-50
Programme d’Addition de 2Nombres: en mnémoniques
;stopHLT05;dataDAT 0099
;output resultOUT04;add 1st # to 2nd #ADD 9903;input 2nd NumberIN02;store dataSTO 9901;input 1st NumberIN00DescriptionMnémoniqueN° tiroir
![Page 51: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/51.jpg)
Chapter 6 Little Man Computer 6-51
Programme d’Addition de 2Nombres
;stop00005;data00099
;output result90204;add 1st # to 2nd #19903;input 2nd Number90102;store data39901;input 1st Number90100
DescriptionContenudu tiroir
N° tiroir
![Page 52: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/52.jpg)
Chapter 6 Little Man Computer 6-52
Contrôle Branchement (les instructions de
rupture de séquence d’exécution) Change l’adresse de l’instruction à
exécuter Arrêt duprocesseur (Halt)
xx7BRZ (Branch on 0)
xx8BRP (Branch on +)
COB (stop)
BR (Jump) xx6
(ignorée)0
Opérande(adresse)
Op Code
Contenu
![Page 53: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/53.jpg)
Chapter 6 Little Man Computer 6-53
Contrôle Branchement
Instruction de sauts inconditionnels Effectue toujours le débranchement de l’exécution à
l’adresse spécifiée BR XX (XX – adresse de branchement)
Instructions de sauts conditionnels Effectuent le débranchement de l’exécution si et
seulement si une condition correspondante est vérifiée BRZ XX (si le contenu de la calculatrice = 0, on fait le
saut à l’adresse XX) BRP XX (si le contenu de la calculatrice > ou = 0, on fait
le saut à l’adresse XX)
![Page 54: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/54.jpg)
Chapter 6 Little Man Computer 6-54
Jeu d’instructions LMC
OUT902
BRP8xx
BR6xxBranchementBRZ7xx
Contrôle de lamachine
Entrée/Sortie
Transfert de données
Arithmétiques
HLT000
IN901
LDA5xxSTO3xxSUB2xxADD1xx
![Page 55: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/55.jpg)
Chapter 6 Little Man Computer 6-55
Trouver une différence positive de 2nombres. Langage d’assemblage LMC
;used for dataDAT 00D1;used for dataDAT 00D2
;stopHLT;print result andOUTAF
SUB D2;if negative, reverse orderLDA D1;testBRP AF
SUB D1STO D2INSTO D1IN
![Page 56: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/56.jpg)
Chapter 6 Little Man Computer 6-56
Trouver une différence positive de2 nombres. Langage machine LMC
0001000011
00009902082110751006808052100431103901023100190100
Mémoire
![Page 57: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/57.jpg)
Chapter 6 Little Man Computer 6-57
Exécution d’un programme Pour exécuter un programme selon le
modèle LMC, on doit suivre les étapes Charger les instructions du programme dans
les tiroirs en partant du tiroir no 00 Placer la (les) donnée(s) qui sera utilisée(s)
par le programme dans le panier « IN » (dansl’ordre où le programme les utilisera)
Presser le bouton RESET pour initialiser lecompteur d’instructions à 00 et avertir le LMCqu'un programme doit être exécuté
![Page 58: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/58.jpg)
Chapter 6 Little Man Computer 6-58
Cycle d’instruction Différentes phases de réalisation des
instructions Fetch (recherche de l’instruction) Little
Man trouve l’instruction à exécuter Execute: Little Man exécute l’instruction.
![Page 59: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/59.jpg)
Chapter 6 Little Man Computer 6-59
Étape « Fetch »
1. Lire le compteur deprogramme pour savoirdans quel tiroir setrouvent les chiffrent quicodent
l’instruction à exécuter.
2. LM va au tiroir
![Page 60: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/60.jpg)
Chapter 6 Little Man Computer 6-60
Fetch, cont.
3. Lire les chiffres quise trouvent dans letiroir concerné.(FETCH)
![Page 61: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/61.jpg)
Chapter 6 Little Man Computer 6-61
Étape “Exécuter”
1. Little Man Regarde dequelle instruction s’agit lecode (DECODE) etcherche l’opérande
2. Il lit l’opérande.
![Page 62: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/62.jpg)
Chapter 6 Little Man Computer 6-62
Exécuter
3. Exécute l’opération etplace le résultat dansl’unité de calcul
4. Incrémenter (faire +1) lecompteur de programme.
![Page 63: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/63.jpg)
Chapter 6 Little Man Computer 6-636-63
Architecture Von Neumann (1945)
L’architecture des ordinateurs restevirtuellement inchangée depuis 1951,alors que la technologie descomposants évolue si vite
Concepts clés de l’architecture de VonNeumann Concept de programme stocké en mémoire
Mémoire stockant les données et leprogramme
![Page 64: Jeu d’instructionsmonnier/1215/notes-lmc.pdfAdditionner deux nombres. Réalisez un programme qui additionne deux nombres ensemble avec le jeux d’instructions vu précédemment](https://reader036.vdocuments.net/reader036/viewer/2022071420/611969ebc3ee4100be04ebb6/html5/thumbnails/64.jpg)
Chapter 6 Little Man Computer 6-646-64
Architecture Von Neumann (1945)
La mémoire est adressée linéairement Adresse numérique séquentielle unique
pour chaque espace mémoire Chaque espace mémoire possède une
adresse et un contenu tous deux étantdifférents
Les instructions s’exécutentlinéairement à moins d’une instructionspécifique de branchement