Première session 2015

publicité
Organisation des ordinateurs
Examen de première session 2015
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.
[6/20]
1. Un système de contrôle d’un processus industriel possède deux entrées i1 et
i2 connectées à des capteurs, une entrée supplémentaire r permettant de le
réinitialiser, et une sortie s. Ce système est implémenté par un circuit séquentiel
qui fonctionne de la façon suivante :
– Lorsque r = 1, le système est inactif et produit toujours s = 0.
– Lorsque r = 0, le système compare la valeur des entrées i1 et i2 . Tant que
celles-ci sont égales, la sortie s reste à 0. En revanche, si i1 et i2 diffèrent
pendant au moins deux périodes consécutives de l’horloge, alors la sortie s
devient égale à 1.
– Lorsque la sortie s passe à 1, elle garde cette valeur jusqu’à ce que le circuit
soit réinitialisé (en entrant r = 1).
Concevoir un circuit séquentiel conforme à ces spécifications. A titre d’exemple,
voici le comportement souhaité du circuit pour un scénario particulier (le temps
évoluant de gauche à droite) :
i1
i2
r
s
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
···
···
···
···
[2/20]
2. (a) Quels sont tous les nombres dont la représentation par complément à un
et par complément à deux sur n bits sont identiques, pour n > 0 donné ?
(Justifier votre réponse.)
[1/20]
(b) Calculer la somme (−71) + (−29) en représentant les nombres par complément à un sur 8 bits.
[1/20]
(c) Dans le procédé de représentation IEEE 754, quel est l’intérêt d’utiliser
des mantisses dénormalisées ?
[3/20]
3. (a) On souhaite assembler quatre composants de mémoire morte 1G × 8 de
façon à obtenir une mémoire composite 2G × 16.
Dessiner un schéma complet montrant comment réaliser cet assemblage.
Note : La forme des lignes de contrôle des composants peut être librement
choisie.
[2/20]
(b) Dans un processeur, quelle est l’utilité des lignes de contrôle ? Par quel
mécanisme une valeur leur est-elle attribuée ?
1
[5/20]
4. Ecrire un programme assembleur 80x86 capable d’extraire d’une chaı̂ne de
caractères le préfixe précédant la première occurrence du symbole “:”. La chaı̂ne
de caractère est représentée en ASCII à partir de l’adresse fournie dans le
registre AX, et est suivie d’un octet nul. On demande d’écrire le résultat à
partir de l’adresse fournie dans le registre BX, et de le faire suivre également
d’un octet nul.
Par exemple, si AX pointe initialement vers une séquence d’octets représentant la chaı̂ne “http://www.ulg.ac.be”, le programme doit écrire à partir de
l’adresse spécifiée par BX la chaı̂ne “http”, suivie d’un octet nul.
Notes :
– Dans le cas où la chaı̂ne fournie ne contient pas “:”, le résultat doit être
composé de l’entièreté de cette chaı̂ne.
– On peut supposer que BX pointe vers une zone de mémoire distincte de la
chaı̂ne pointée vers AX, et de taille suffisante pour contenir le résultat.
– Le code ASCII du symbole “:” est égal à 0x3a.
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α
SUB, AND, OR,
Op.2
Op.1
rα
rα
rα
rα
mα
pα
rα
mα
i8
p16
i8
XCHG
Op.1 Op.2
rα
rα
mα
rα
pα
rα
rα
mα
rα
pα
XOR, CMP
Op.2
pα
iα
iα
iα
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