Organisation des ordinateurs Examen de premi`ere session 2012

publicité
Organisation des ordinateurs
Examen de première session 2012
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.
[5/20]
1. Construire un circuit séquentiel capable de détecter des valeurs vraies isolées
dans un flux de données booléennes. Ce circuit possède une entrée i, par laquelle lui sont successivement fournies les données à traiter, et une sortie s.
Cette sortie s doit produire une valeur égale à 1 chaque fois que l’entrée reçoit
un bit égal à 1 qui est à la fois précédé et suivi d’un bit égal à 0. Dans tous
les autres cas, la sortie s doit produire une valeur nulle.
A titre d’exemple, voici le comportement souhaité du circuit pour un scénario
particulier (le temps évoluant de gauche à droite) :
i
s
[2/20]
[2/20]
[1/20]
[4/20]
[1/20]
[5/20]
0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 ···
? 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ···
2. (a) On considère la suite de bits formée par a bits égaux à 1 suivis par b
bits égaux à 0 suivis par c bits égaux à 1, avec a > 0, b > 0 et c > 0.
Calculer le nombre que cette suite de bits représente par la méthode du
complément à deux.
(b) Quel est le plus grand nombre qui peut être représenté de façon exacte par
le procédé IEEE 754 en simple précision ? (Détailler votre raisonnement.)
(c) Quelle est l’utilité de la représentation dénormalisée des mantisses dans
le procédé IEEE 754 ?
3. (a) On souhaite assembler un composant de mémoire vive et un composant
de mémoire morte, tous deux 1G × 8, de façon à obtenir une mémoire
composite 2G × 8. Les adresses les plus basses de cette mémoire doivent
correspondre aux cellules de la mémoire vive.
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.)
(b) Quelle est l’utilité des lignes d’état d’un processeur ?
4. Ecrire un programme assembleur 80x86 capable de compter dans un tableau
le nombre de valeurs qui appartiennent à un intervalle donné. Initialement, le
registre AX pointe vers un tableau d’octets et CX contient la taille de celui-ci.
Les registres BL et BH contiennent respectivement une borne inférieure a et
une borne supérieure b, toutes deux signées. A la fin de son exécution, le programme doit retourner dans DX le nombre d’octets du tableau dont la valeur
(signée) est comprise entre a et b (ces bornes étant incluses). On demande
également que ce programme laisse inchangées les valeurs des registres AX,
CX, BL et BH.
1
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
2
signées)
signées)
signées)
signées)
non signées)
non signées)
non signées)
non signées)
Téléchargement