Première session 2009

publicité
Informatique — Ordinateurs et systèmes d’exploitation
Examen écrit du jeudi 4 juin 2009
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.
Les étudiants inscrits en 1re année de bachelier en sciences de l’ingénieur, orientation
ingénieur civil ne doivent pas répondre à la question 5.
1. On demande de construire un circuit séquentiel capable de contrôler la sonnerie et
la lampe de demande d’arrêt d’un autobus. Le circuit possède deux entrées :
– i vaut 1 lorsqu’au moins un des boutons poussoirs de demande d’arrêt situés dans
l’autobus est enfoncé, et 0 sinon.
– p vaut 1 lorsque les portes de l’autobus sont ouvertes, et 0 sinon.
Le circuit possède deux sorties : une sonnerie s et une lampe `. Leur comportement
est le suivant : lorsqu’une demande d’arrêt est reçue (par l’entrée i) lorsque les
portes sont fermées, la lampe ` passe à 1, et le reste jusqu’à ce que les portes de
l’autobus soient ouvertes par le conducteur. En outre, la sonnerie retentit pendant
une période d’horloge. Si des demandes d’arrêt ultérieures arrivent avant que les
portes de l’autobus ne soient ouvertes, la sonnerie ne doit plus retentir. Lorsque les
portes de l’autobus s’ouvrent, la lampe doit s’éteindre jusqu’à la prochaine demande
d’arrêt, moment auquel le processus recommence.
2. (a) Quel est le plus grand nombre naturel représentable de façon exacte dans le
standard IEEE 754 double précision ? Justifiez votre réponse. Quelle est sa
représentation ?
(b) Parmi les procédés de représentations “par valeur signée”, “par complément à
un”, “par complément à deux” et “IEEE 754”, lequel est utilisé en pratique dans
les processeurs modernes pour représenter et manipuler des nombres entiers
signés ? Pour quelles raisons ?
(c) Donnez la plus petite représentation du nombre −109 dans chacun des formats
suivants :
i. complément à un ;
ii. complément à deux ;
iii. IEEE 754 simple précision.
3. (a) Donnez la forme générale d’une mémoire vive de type m × n, en détaillant le
nombre et le rôle de chacune de ses entrées et sorties.
(b) De quelle manière peut-on combiner des composants de mémoire vive afin d’obtenir un composant possédant un plus grand nombre de cellules, la taille des
cellules restant identique ? Détaillez.
1
4. On demande d’écrire un programme assembleur 80x86 déterminant la valeur maximale des observations issues d’un ensemble d’expériences.
Ces données sont organisées en mémoire de la manière suivante. Le nombre d’expériences est contenu dans le registre CX ; le nombre d’observations par expérience est
contenu dans le registre DX. Ces deux valeurs peuvent être supposées non nulles.
Chaque expérience consiste en un tableau d’observations, chacune de ces obervations
étant représentée par une valeur entière non signée codée sur 8 bits. Les adresses (sur
16 bits) des CX tableaux d’expériences sont contenues dans un tableau pointé par le
registre BX.
A la fin de l’exécution du programme, le registre AL doit contenir la valeur maximale
des observations, toutes expériences confondues.
En guise d’illustration, le schéma ci-dessous représente une situation où il y a 3
expériences, chacune contenant 2 observations. Le registre AL doit contenir la valeur
8 à la fin de l’exécution du programme.
6
CX = 3
4
DX = 2
2
8
DX = 2
4
1
DX = 2
BX
5. Les étudiants inscrits en 1re année de bachelier en sciences de l’ingénieur, orientation ingénieur civil ne doivent pas répondre à cette question.
(a) Dans quels états un processus peut-il se trouver ? Décrivez brièvement chacun
d’entre-eux. Quelles sont les transitions possibles entre ces états ?
(b) Quelles sont les raisons pour lesquelles la gestion de la mémoire est habituellement confiée aux systèmes d’exploitation ?
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