You are on page 1of 3

IUT Villetaneuse Architecture des ordinateurs Jeudi 12 fvrier 2003-2004

GTR 1re anne Contrle Court n2 p1/3


Nom:
Prnom: Contrle Court n2
Groupe:
Calculatrice et documents interdits - Dure 1h30 - Rpondre sur la feuille

1. QUESTIONS DE COURS SUR LA STRUCTURE DES ORDINATEURS


1.1. Quest ce quune variable ? Rpondre en donnant ses trois caractristiques.
Pour stocker et accder une donne.
Une adresse (associe au symbole/nom)
Une taille (associe au type)
Une interprtation (quand on veut lafficher par exemple)

1.2. Dans une architecture Von Neumann, o sont les donnes, o sont les programmes ?
Les donnes sont associes des variables, en mmoire.
Les programmes sont composs dinstructions, en mmoire.
Dans une architecture Von Neumann, il sagit de la mme mmoire.

1.3. Quest-ce quune instruction ? Rpondre en expliquant comment elle scrit dans la machine.
Un code de commande en binaire, sur un certain nombre de bits (octets).
Code Opration (type dopration),
Eventuellement suivit dun ou plusieurs Code Oprande (paramtres).

1.4. Comment le CPU sait-il o est la prochaine instruction excuter ? Que fait-il pour lexaminer ?
Il note son adresse dans le registre pointeur dinstruction (mis jour par compteur ordinal)
Pour lexaminer, il la charge partir de la mmoire via le bus de donnes vers un registre.
Une fois dans ce registre, il peut la dcoder.

1.5. Quest-ce quun mode dadressage ? Quel registre particulier est utilis pour ladressage direct ?
Mthode utilise pour interprter loprande (absente, valeur, adresse)
En adressage direct, loprande est une adresse.
Charge par le bus dadresse vers un Registre Tampon pour les Adresses ;
Puis envoye sur le bus dadresse pour dsigner une donne en mmoire.

1.6. Quest-ce que ladressage indirect ? A quoi sert-il usuellement ?


Loprande nest pas donne (implicite),
mais elle est dans un registre (spcifi par code opration).
Cette valeur est une adresse (comme en direct et non comme implicite ou immdiat)
Utilis lors dutilisation (parcours) de tableaux (ou de chanes).

1.7. Quest-ce que la pile ? Quelles oprations fait-on avec ? Quel registre permet sa gestion ?
Espace de stockage en mmoire comme un tableau gestion daccs automatique.
On peut empiler dessus ou dpiler des valeurs (LIFO).
Cette gestion est ralise grce au pointeur de haut de pile SP.
IUT Villetaneuse Architecture des ordinateurs Jeudi 12 fvrier 2003-2004
GTR 1re anne Contrle Court n2 p2/3

2. EXERCICES SUR LA STRUCTURE DES ORDINATEURS


2.1. Reprsentez les lments principaux dun processeur (Von Neumann) a 1 accumulateur reli une
mmoire (64ko en mots de 8bits). Son jeu dinstruction permet ladressage direct, indirect index et
lempilement. Prcisez la taille des bus et des registres.
Bus de donnes 8 bits, bus dadresse 16 bits
ALU, ACC, RTUAL, (Flags)
Dcodeur, RI, IP
RTA, Base indirect, SP

2.2. Dtaillez les tapes de lexcution de linstruction: "AND AX,[BP+6]"


(masque laccumulateur 16 bits avec la valeur 6 octets au dessous de BP dans la pile).
Etat : @instruction stocke dans IP, IP sur le bus d'@, bus data sur RI.
- Valide le chargement du code instruction dans RI,
Valide augmentation IP pour pointer loprande.
aiguille IP sur bus dadresse
aiguille BP sur une UAL
et aiguille loprande (index) via le bus donnes vers lRT de cette UAL
- Valide le chargement de loprande.
lUAL est rgle en addition pour faire BP+index,
aiguille la sortie de lUAL sur bus dadresse
et aiguille valeur pointe via bus de donnes sur RTUAL
- Valide le chargement de la valeur dans RTUAL.
lUAL est rgle en AND,
ACC sur UAL
- Valide le calcul,
Valide augmentation IP pour pointer linstruction suivante si a na pas encore t fait
aiguille IP sur bus dadresse
aiguille IP sur bus dadresse

2.3. Linstruction AND AX,06 a pour code 234606. Elle est implante ladresse 0100.
AX vaut B000. BP vaut FF00 et la valeur pointe vaut FFFF.
Donnez ladresse de la valeur pointe ainsi que le contenu des registres aprs excution de linstruction.
RI=2346 IP=0103
AX=AFFF RTAX=FFFF
BP=FF00 (RTA+/-=FF06)
Mmoire inchange
IUT Villetaneuse Architecture des ordinateurs Jeudi 12 fvrier 2003-2004
GTR 1re anne Contrle Court n2 p3/3

3.COMPILATION
3.1. Quelles sont les principales tapes de la compilation ? Quels sont leurs rles ?
Compilation : sert transformer du texte en code machine
Edition de liens : rassemble les morceaux

3.2. Que fait linstruction machine dappel une fonction ? Prcisez comment se passe le retour.
Empile ladresse de retour, charge ip avec loprande
Au retour on dpile ladresse de retour dans ip

3.3. Quelles sont les rgles de compilation du langage C pour les variables locales, les paramtres et les
valeurs retournes ?
Variables interne sur pile dans lordre (1er dclar => 1er sur la pile)
Paramtres sur pile partir de la droite (@ret dernire sur la pile)
Passage par registre UN registre (laccumulateur) donc UNE seule valeur de retour

3.4. Donnez dans lordre ce que lon empile lors dun appel une fonction et prcisez pour chaque
objet empil pourquoi on utilise la pile.
Dabord les paramtres ;
on peut en mettre autant que lon veut
et ce nest une copie des valeurs (on ne donne pas accs aux originaux).
Ensuite l@retour ;
pour permettre retours lors dappels imbriqus de fonctions.
Ensuite une copie de BP ;
une sauvegarde temporaire pour redfinir "la base" de la pile de la fonction.
Ensuite les variables locales ;
on peut en mettre autant que lon veut
et elles sont locales.

You might also like