Simulation de l'ordinateur
From OFSET Wiki
Contents |
[edit] Introduction
Ce projet permet d'explorer le fonctionnement de l'ordinateur, il fait revivre [CESIL](Education in Schools Instruction Language), un assembleur simplifié développé dans les années 70 par ICL pour l'initiation à l'informatique.
[edit] La simulation
On a les zones suivantes.
- Compilation, qui contient le programme source et les données.
- Mémoire, qui contient les codes des instructions, les données et les cases mémoire.
- Sorties, qui contient les résultats.
- Briques, qui contient les briques des instructions.
[edit] Zone de compilation
La zone de compilation contient le programme source construit en assemblant les briques issues de la zone Brique. A la fin des instructions on trouve les données rassemblées dans un récipient. Le bouton compile lance la compilation, c'est à dire la traduction du programme source en code, ce code est écrit dans la mémoire. La compilation place aussi les données et réserve la place pour les mémoires adressées.
Cette zone correspond au paquet de cartes perforées de l'époque.
Manquent les premières cartes qui identifiaient l'auteur et le programme.
Les boutons texteMultimedia.compile et texteMultimedia agissent sur le programme source désigné par le désighateu à droite des boutons, pour désigner un compilateur, cliquer sur le désignateur, le curseur devient une croix, cliquer sur un récipent programme source.
Dans le projet cesil-demo, on peut utiliser le bouton au-dessus du programme source pour compiler ce programme.
On peut sauver un programme source en le transférant dans un nouveau projet. Après avoir créé un nouveau projet, revenir avec précédent au projet initial. Déposer le programme source avec le halo noir dans la fenêtre projet, attendre le retour du programme à sa place, revenir au nouveau projet en cliquant sur la fenêtre projet, le programme source s'y trouve, et sauver ce projet.
Pour charger un programme source:
- charger le projet contenant le programme source.
- utiliser le menu halo rouge de ce programme source, article copier et imprimer/copier vers le presse papier.
- revenir au programme cesil-demo; 'Menu monde/nouveau morph/depuis le presse papier' et coller le programme source dans le texte
[edit] Zone mémoire
La zone mémoire affiche le contenu de la mémoire et de l'accumulateur, une mémoire spéciale qui intervient dans les opérations. Pour faciliter la compréhension, l'affichage est en décimal.
Le code des instructions est dans les deux derniers chiffres, il correpond aux numéro des instructions dans la zone Briques.
Par exemple:
1 lire 103 garder 1
Cette zone représente le contenu des mémoires à torre de l'époque, contenu qui pouvait être imprimé sur le périphérique de sortie.
Au début, on trouve les codes des instructions. Suivent des données (encadrées de rouge) et enfin valeurs des mémoires adressées (ici la mémoire 1). Le curseur indique l'instruction qui va être exécutée.
[edit] Zone Sortie
Cette zone affiche les résultats du programme.
A l'époque c'était une imprimante qui imprimait ligne par ligne.
Les boutons au-dessus permettent:
- D'initialiser le compteur d'instructions pour le placer à la première instruction à exécuter.
- De lancer l'exécution du programme.
- D'exécuter le programme pas à pas et de mettre en pause l'exécution, utile lorsque le programme boucle!
[edit] Le langage
L'esprit du langage a été préservé mais ,dans la forme, on a utilisé des briques pour composer le programme au lieu du texte perforé sur les cartes. pour les instructions de saut, on montre à la souris l'instruction vers laquelle in saute au lieu de la référence à une étiquette, la référence du saut est affichée sous forme de numéro d'instruction.
Autre différence, les instructions d'opérations qui pouvaient avoir comme argument une constante ou une mémoire sont dédoublées et les mémoires sont numérotéees au lieu d'avoir des noms.
Dernière différence, l'instruction texte permettait d'afficher une chaîne de caractères a été remplacée par l'instruction ascii une instruction de bas niveau qui imprime le caractère correspondant au nombre dans l'accumulateur.
Malgré ces quelques différences, il est facile de reproduire d'anciens programmes CESIL.
Sont intégrés au projet 4 exemples de programmes:
- L'addition de 2 nombres décrit ci-dessus.
- La somme d'une série de nombres terminée par 0.
- L'impression des caractères ascii. (en changeant la fonte du texte d'affichage, il peut observer les changements suivant la fonte utilisée.)
- Le calcul des nombres premiers en recherchant les diviseurs.
Le projet, à télécharger et étudier :




