Première session 2011 - Montefiore Institute ULg

publicité
INFO0061 — Organisation des ordinateurs
Examen écrit du jeudi 9 juin 2011
Livres fermés. Durée : 3 heures 1/2.
Veuillez répondre à chaque question sur une feuille séparée sur laquelle figurent
nom, prénom et section. Soyez bref et concis, mais précis.
1. On demande de construire un circuit séquentiel jouant le rôle d’un système
d’aide au stationnement.
Le circuit possède deux entrées b0 et b1 connectées à un capteur répondant aux
spécifications suivantes :
– lorsque l’obstacle le plus proche du capteur se trouve à une distance de
moins de 0,5 mètre, on a b0 = 0 et, dans ce cas, la valeur de b1 peut être
quelconque ;
– lorsque l’obstacle le plus proche du capteur se trouve à une distance de 0,5
à 1 mètre, on a b0 = 1 et b1 = 0 ;
– lorsque l’obstacle le plus proche du capteur se trouve à plus d’un mètre, on
a b0 = 1 et b1 = 1.
Le circuit à construire possède une sortie binaire s servant à commander un
indicateur sonore devant produire un signal périodique dont la forme varie
suivant la distance à l’obstacle le plus proche (l’indicateur sonne lorsque s =
1) :
– si le premier obstacle se trouve à une distance de moins de 0,5 mètre, le
signal doit être
1 1 1 1 1 1 1 1 1 1 1 1 ···;
|{z}
période
– si le premier obstacle se trouve à une distance de 0,5 à 1 mètre, le signal
doit être
1 0 1 0 1 0 1 0 1 0 1 0 ···;
|{z}
période
– si le premier obstacle se trouve à plus d’un mètre, le signal doit être
1| 0{z0 0} 1 0 0 0 1 0 0 0 · · · .
période
2. (a) Soustrayez 1 au nombre représenté par la suite de bits 10011011 dans les
représentations suivantes :
i. entière non signée,
ii. par valeur signée,
1
iii. par complément à un,
iv. par complément à deux,
et donnez le résultat dans la même représentation.
(b) Définissons x ∈ ]0, +∞[ comme étant le plus grand nombre réel représentable
de manière exacte dans le standard IEEE 754 simple précision.
i. Quelle est la représentation de x dans ce standard ? Justifiez.
ii. Quelle est la valeur de x ? Justifiez.
3. (a) Décrivez précisément la forme générique d’une mémoire ROM de n cellules
de m bits chacune :
i. Quel est le nombre total de bits mémorisés ?
ii. Quelles sont ses entrées et sorties ?
iii. De quelle manière peut-on la contrôler ?
(b) Les registres de contrôle PC et RI sont présents dans les processeurs de
la plupart des architectures.
i. Quels sont leurs rôles ?
ii. Décrivez la manière suivant laquelle ils sont modifiés lors de l’exécution d’un programme.
4. Écrivez un programme assembleur 80x86 capable de déterminer, à partir d’une
séquence de nombres entiers signés codés sur 16 bits, s’il y a plus de nombres
positifs ou nuls que de nombres strictement négatifs.
La séquence de nombres est initialement pointée par le registre BX et le nombre d’entiers composant cette séquence, supposé non nul, est contenu dans le
registre CX.
Le but du programme consiste à placer dans le registre DX une valeur
– positive s’il y a plus de nombres positifs ou nuls que de nombres négatifs,
– nulle s’il y autant de nombres positifs ou nuls que de nombres négatifs,
– négative s’il y a plus de nombres négatifs que de nombres positifs ou nuls.
2
Annexe 1 : Modes d’adressage des instructions 80x86
Op.1
rα
mα
rα
pα
MOV
Op.2 Op.1
rα
rα
rα
rα
mα
pα
rα
mα
ADD,
Op.1
rα
mα
rα
pα
r16
m16
Op.2
pα
iα
iα
iα
XCHG
Op.1 Op.2
rα
rα
mα
rα
pα
rα
rα
mα
rα
pα
SUB, AND, OR, XOR, CMP
Op.2
Op.1 Op.2
rα
rα
pα
rα
rα
iα
mα
pα
iα
rα
mα
iα
i8
p16
i8
i8
PUSH
Op.1
r16
m16
i16
POP
Op.1
r16
m16
INC, DEC, MUL, NOT
Op.1
rα
mα
pα
JMP, LOOP, CALL
Op.1
i16
r16
m16
p16
r = registre, i = immédiat, m = direct, p = indirect ou indirect indexé, α = 8 ou
16.
Annexe 2 : Instructions de saut conditionnel
Instr.
JE
JNE
JG
JGE
JL
JLE
JA
JAE
JB
JBE
Condition de saut
Op1 = Op2
Op1 6= Op2
Op1 > Op2 (valeurs
Op1 ≥ Op2 (valeurs
Op1 < Op2 (valeurs
Op1 ≤ Op2 (valeurs
Op1 > Op2 (valeurs
Op1 ≥ Op2 (valeurs
Op1 < Op2 (valeurs
Op1 ≤ Op2 (valeurs
3
signées)
signées)
signées)
signées)
non signées)
non signées)
non signées)
non signées)
Téléchargement