INFO0061 — Organisation des ordinateurs Examen écrit du jeudi 18

INFO0061 — Organisation des ordinateurs
Examen ´ecrit du jeudi 18 aoˆut 2011
Livres ferm´es. Dur´ee : 3 heures 1/2.
Veuillez r´epondre `a chaque question sur une feuille s´epar´ee sur laquelle figurent
nom, pr´enom et section. Soyez bref et concis, mais pr´ecis.
1. Construisez un circuit s´equentiel capable de d´eterminer si des nombres fournis
en entr´ee sont ou non ´egaux `a 0. Ce circuit poss`ede deux entr´ees iet fet une
sortie s. Les nombres `a traiter sont repr´esent´es par la m´ethode du compl´ement
`a 2, et leurs encodages sont successivement fournis `a l’entr´ee i, un bit ´etant
transmis `a chaque p´eriode d’horloge en commen¸cant par le bit de signe. L’en-
tr´ee fvaut 1 lorsque le bit pr´esent `a l’entr´ee iest le dernier de l’encodage d’un
nombre, et 0 sinon. Lorsque fvaut 1, la sortie sdoit valoir
1 si le nombre dont la lecture se termine est ´egal `a 0, et
0 sinon.
Lorsque fvaut 0, la sortie sdoit ´egalement valoir 0.
A titre d’illustration, voici le comportement souhait´e du circuit pour des valeurs
particuli`eres des entr´ees iet f(le temps ´evoluant de gauche `a droite) :
i1110100001000010000· · ·
f0001100010010000101· · ·
s0000000010000000001· · ·
Note : Les nombres successivement fournis au circuit dans cet exemple sont
2, 1, 0, 4, 4 et 0.
2. (a) D´ecrivez les int´erˆets th´eoriques et pratiques de la repr´esentation par com-
pl´ement `a 2 des nombres entiers sign´es par rapport `a
i. la repr´esentation par valeur sign´ee ;
ii. la repr´esentation par compl´ement `a 1.
(b) La s´equence
10000000101010000000000000000000
repr´esente un nombre r´eel xdans la norme IEEE 754 simple pr´ecision.
i. Quelle est la valeur de x? Justifiez.
ii. Donnez la repr´esentation de x
2dans cette mˆeme norme. Justifiez.
3. (a) Quel est le principe de fonctionnement d’une porte `a trois ´etats ? Quelle
est l’utilit´e de ce type de portes ? Citez-en une application typique.
1
(b) Dans un processeur, quelle est l’utilit´e de l’unit´e arithm´etique et logique ?
D´ecrivez ses entr´ees et sorties, ainsi que le rˆole de chacune d’entre elles.
4. Ecrivez un programme assembleur 80x86 capable de d´edoubler une chaˆıne de
caract`eres. La chaˆıne de caract`eres `a d´edoubler est cod´ee en ASCII, et plac´ee
dans des octets cons´ecutifs du segment de donn´ees. L’adresse du premier octet
de cette chaˆıne est initialement contenue dans le registre BX, et la taille de la
chaˆıne est donn´ee dans CX.
Le but du programme demand´e est de recopier, `a la suite d’elle-mˆeme dans le
segment de donn´ees, la chaˆıne poinee par BX.
Exemple (avec CX contenant initialement 4) :
a b c a (Avant)
BX
a b c a a b c a (Apr`es)
2
Annexe 1 : Modes d’adressage des instructions 80x86
MOV
Op.1 Op.2 Op.1 Op.2
rαrαrαpα
mαrαrαiα
rαmαpαiα
pαrαmαiα
XCHG
Op.1 Op.2
rαrα
mαrα
pαrα
rαmα
rαpα
PUSH
Op.1
r16
m16
i16
POP
Op.1
r16
m16
ADD, SUB, AND, OR, XOR, CMP
Op.1 Op.2 Op.1 Op.2
rαrαrαpα
mαrαrαiα
rαmαpαiα
pαrαmαiα
r16 i8 p16 i8
m16 i8
INC, DEC, MUL, NOT
Op.1
rα
mα
pα
JMP, LOOP, CALL
Op.1
i16
r16
m16
p16
r= registre, i= imm´ediat, m= direct, p= indirect ou indirect index´e, α= 8 ou
16.
Annexe 2 : Instructions de saut conditionnel
Instr. Condition de saut
JE Op1 =Op2
JNE Op1 6=Op2
JG Op1 >Op2 (valeurs sign´ees)
JGE Op1 Op2 (valeurs sign´ees)
JL Op1 <Op2 (valeurs sign´ees)
JLE Op1 Op2 (valeurs sign´ees)
JA Op1 >Op2 (valeurs non sign´ees)
JAE Op1 Op2 (valeurs non sign´ees)
JB Op1 <Op2 (valeurs non sign´ees)
JBE Op1 Op2 (valeurs non sign´ees)
3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !