Informatique Industrielle : TP 1: Simulation d’un ordinateur Von Neumann simplifié
Télécharger PDFObtenir le pack complet des cours, TDs, TPs et projets sur Informatique Industrielle : Microprocesseur & Microcontrôleur!
Vous souhaitez maîtriser les microprocesseurs et Microcontrôleurs ? Ne cherchez plus, nous avons le pack parfait pour vous.
Accédez à une collection complète des supports de cours, des travaux dirigés (TD) corrigés, des travaux pratiques (TP) et des projets.
Obtenir le pack maintenantUniversit ́e de Bouira- D ́epartement d’InformatiqueAnn ́ee 2018-2019
Module: Architecture des Ordinateurs (AO)2`eme ann ́ee
TP 1: Simulation d’un ordinateur Von Neumann simplifi ́e
1 Objectifs du TP :
•Observer le fonctionnement du processeur au niveau de l’ex ́ecution des instructions d’un pro-gramme. •Maitriser les instructions de transfert de donn ́ees.
•Examiner du d ́eroulement du micro-code du s ́equenceur qui traduit les instructions en diff ́erentsordres. 2 Le simulateur JOHNNY
JOHNNY, un simulateur de processeur (voir figure 1) , a ́et ́e d ́evelopp ́e sp ́ecifiquement `a des fins
p ́edagogiques. Pour cette raison, la mod ́elisation fonctionnement du processeur a ́et ́e simplifi ́ee par
rapport `a de r ́eels ordinateurs. Ce simulateur est compos ́e des ́el ́ements suivants:
Figure 1: Le simulateur JOHNNY
Le processeur
:comprend trois parties : l’unit ́e logique et arithm ́etique (Arithmetic Logic Unit),
la m ́emoire (Memory) et le s ́equenceur (Control Unit). Ces blocs sont interconnect ́es par des bus.
La suite de cette section d ́etaille chaque unit ́e.
La m ́emoire (RAM)
:La m ́emoire `a acc`es direct (RAM : Random Access Memory) comprend
1000 emplacements, chacun ́etant capable de stocker un nombre entre 0 et 19 999. Ainsi, un nombre
`a trois chiffres d ́ecimaux suffit `a d ́efinir une adresse unique pour chaque emplacement. Pour une
facilit ́e de lecture des instructions, le nombre de milliers est s ́epar ́e des 3 derniers chiffres (colonnes
Hi et Lo) car il repr ́esente le code op ́eration. L’utilisation du bouton relatif `a la micro-instruction
ram−>dbpermet de copier le contenu de l’emplacement adress ́e de la m ́emoire sur le bus de donn ́ees;
db−>ramfait le contraire. Le contenu de la m ́emoire est ́editable par un simple clic de la souris
sur un emplacement de la m ́emoire, qui ouvre alors une fenˆetre d’ ́edition. Dans la fenˆetre principale,
deux portions de la m ́emoire, qui peuvent se chevaucher, sont affich ́ees. Ainsi, il est possible de voir
en mˆeme temps les instructions et les donn ́ees concern ́ees.
Par:Dr. A. ABBASArchitecture des Ordinateurs (AO)page 1
L’unit ́e arithm ́etique et logique:L’unit ́e arithm ́etique et logique (ALU : Arithmetic Logic Unit)
est constitu ́ee principalement d’un accumulateur. Ce dernier peut ˆetre remis `a z ́ero (acc:=0), incr ́ement ́e
(acc++) ou d ́ecr ́ement ́e (acc–).db−>acccopie la valeur pr ́esente sur le bus de donn ́ees dans
l’accumulateur ;acc−>dbfait le contraire.
Le s ́equenceur:La partie la plus complexe du processeur est le s ́equenceur (CU : Control Unit).
Il comprend le registre d’instruction (IR : Instruction Register), le compteur ordinal (CP : Program
Counter) et le microcode.
- Avecdb−>ins, la valeur pr ́esente sur le bus de donn ́ees est copi ́ee dans le registre d’instruction.
- La partie de l’instruction qui repr ́esente l’adresse peut ˆetre copi ́ee directement sur le bus d’adresses
(ins−>ab) ou copi ́ee dans le compteur ordinal (ins−>pc)
- La valeur du compteur ordinal peut ˆetre copi ́ee sur le bus d’adresses avecpc−>ab.
- La micro-instructionpc++incr ́emente le compteur ordinal ;=0:pc++fait la mˆeme chose, mais
seulement lorsque la valeur de l’accumulateur est nulle.
-ins−>mccopie la valeur du code op ́eration du registre d’instruction dans l’emplacement des
centaines et des dizaines du compteur du micro-code et met `a z ́ero la valeur des unit ́es de ce compteur.
- La micro instructionmc:=0met `a z ́ero la valeur du compteur du micro-code ;
Jeu d’instructions
:Le micro-code fourni contient les micro-programmes pour les 10 instructions
suivantes :
*TAKELa valeur de l’emplacement point ́e par l’adresse absolue est copi ́ee dans l’accumulateur.
*SAVELa valeur de l’accumulateur est copi ́ee `a l’emplacement point ́e par l’adresse absolue.
*ADDLa valeur de l’emplacement point ́e par l’adresse absolue est ajout ́ee `a la valeur de l’accumulateur.
*SUBLa valeur de l’emplacement point ́e par l’adresse absolue est soustraite `a la valeur de l’accumulateur.
*INCLa valeur de l’emplacement point ́e par l’adresse absolue est incr ́ement ́ee.
*DECLa valeur de l’emplacement point ́e par l’adresse absolue est d ́ecr ́ement ́ee.
*NULLLa valeur de l’emplacement point ́e par l’adresse absolue est mise `a z ́ero.
*TSTSi et seulement si la valeur de l’emplacement point ́e par l’adresse absolue est nulle, l’instruction
suivante est ignor ́ee.
*JMPLe programme se poursuit `a l’adresse fournie.
*HLTLe simulateur affiche un message qui signale que l’ex ́ecution du programme est termin ́ee.
Exercice 1
: Addition
Soit le programme ci-dessous qui additionne 2 nombres rang ́es aux adresses<10>et<11>, et
m ́emorise le r ́esultat `a l’adresse<12>
a. Commenter chaque instruction.
b. ́
Ecrire et ex ́ecuter ce programme dans le simulateur JOHNNY
001: TAKE 010
002: ADD 011
003: SAVE 012
004: HLT 000
Exercice 2
: Multiplication(A rendre la s ́eance prochaine) ́
Ecrire puis saisir le programme qui multiplie 2 nombres rang ́es aux adresses<10>et<11>, et
m ́emorise le r ́esultat `a l’adresse<12>.
Par:Dr. A. ABBASArchitecture des Ordinateurs (AO)page 2
