Organisation des ordinateurs
Examen de premi`ere session 2015
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. Un syst`eme de contrˆole d’un processus industriel poss`ede deux entr´ees i1et[6/20]
i2connect´ees `a des capteurs, une entr´ee suppl´ementaire rpermettant de le
r´einitialiser, et une sortie s. Ce syst`eme est impl´ement´e par un circuit s´equentiel
qui fonctionne de la fa¸con suivante :
Lorsque r= 1, le syst`eme est inactif et produit toujours s= 0.
Lorsque r= 0, le syst`eme compare la valeur des entr´ees i1et i2. Tant que
celles-ci sont ´egales, la sortie sreste `a 0. En revanche, si i1et i2diff`erent
pendant au moins deux p´eriodes cons´ecutives de l’horloge, alors la sortie s
devient ´egale `a 1.
Lorsque la sortie spasse `a 1, elle garde cette valeur jusqu’`a ce que le circuit
soit r´einitialis´e (en entrant r= 1).
Concevoir un circuit s´equentiel conforme `a ces sp´ecifications. A titre d’exemple,
voici le comportement souhait´e du circuit pour un sc´enario particulier (le temps
´evoluant de gauche `a droite) :
i10101011110011010011· · ·
i20010001101011010001· · ·
r1110000000000011000· · ·
s0000000001111100000· · ·
2. (a) Quels sont tous les nombres dont la repr´esentation par compl´ement `a un[2/20]
et par compl´ement `a deux sur nbits sont identiques, pour n > 0 donn´e ?
(Justifier votre r´eponse.)
(b) Calculer la somme (71) + (29) en repr´esentant les nombres par com-[1/20]
pl´ement `a un sur 8 bits.
(c) Dans le proc´ed´e de repr´esentation IEEE 754, quel est l’int´erˆet d’utiliser[1/20]
des mantisses d´enormalis´ees ?
3. (a) On souhaite assembler quatre composants de m´emoire morte 1G ×8 de[3/20]
fa¸con `a obtenir une m´emoire composite 2G ×16.
Dessiner un scema complet montrant comment r´ealiser cet assemblage.
Note : La forme des lignes de contrˆole des composants peut ˆetre librement
choisie.
(b) Dans un processeur, quelle est l’utilit´e des lignes de contrˆole ? Par quel[2/20]
m´ecanisme une valeur leur est-elle attribu´ee ?
1
4. Ecrire un programme assembleur 80x86 capable d’extraire d’une chaˆıne de[5/20]
caract`eres le pr´efixe pr´ec´edant la premi`ere occurrence du symbole“:”. La chaˆıne
de caract`ere est repr´esent´ee en ASCII `a partir de l’adresse fournie dans le
registre AX, et est suivie d’un octet nul. On demande d’´ecrire le r´esultat `a
partir de l’adresse fournie dans le registre BX, et de le faire suivre ´egalement
d’un octet nul.
Par exemple, si AX pointe initialement vers une s´equence d’octets repr´esen-
tant la chaˆıne “http://www.ulg.ac.be, le programme doit ´ecrire `a partir de
l’adresse sp´ecifi´ee par BX la chaˆıne http, suivie d’un octet nul.
Notes :
Dans le cas o`u la chaˆıne fournie ne contient pas “:”, le r´esultat doit ˆetre
compos´e de l’enti`eret´e de cette chaˆıne.
On peut supposer que BX pointe vers une zone de m´emoire distincte de la
chaˆıne point´ee vers AX, et de taille suffisante pour contenir le r´esultat.
Le code ASCII du symbole “:” est ´egal `a 0x3a.
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%