Organisation des ordinateurs Examen de seconde session 2015

publicité
Organisation des ordinateurs
Examen de seconde 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. On demande de concevoir un circuit séquentiel à une entrée i et une sortie s,
possédant le comportement suivant. Si i reste égal à zéro, le circuit produit la
valeur de sortie 0. Lorsque i vaut 1, le circuit produit pendant les trois périodes
suivantes de l’horloge la séquence de valeurs de sortie “1 ; 0 ; 1”. L’entrée i est
ignorée pendant la génération de cette séquence. Après la séquence, la sortie
s prend la valeur 0 et le circuit attend à nouveau que i redevienne égal à 1.
A titre d’exemple, voici le comportement souhaité du circuit pour un scénario
particulier (le temps évoluant de gauche à droite) :
i
s
0
?
0
?
0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 ···
? 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 ···
[2/20]
2. (a) Comment le nombre −2n−1 + 1 se représente-t-il sur n bits en valeur
signée, complément à un et complément à deux ?
[1/20]
(b) Calculer la représentation du nombre −2−64 selon le procédé IEEE 754
en simple précision. Cette représentation est-elle exacte ou approximée ?
[1/20]
(c) Quels sont les avantages de la représentation par complément à deux par
rapport aux autres procédés de représentation de nombres entiers signés ?
[4/20]
3. (a) On souhaite construire un composant de mémoire possédant 32 lignes
d’adressage et 8 lignes d’entrée/sortie, tel que le premier quart de son
espace d’adressage contient des cellules de mémoire vive, les trois autres
quarts étant vides. (En d’autres termes, une opération de lecture ou d’écriture n’a aucun effet si elle porte sur une adresse située dans les trois
derniers quarts de l’espace d’adressage.)
Dessiner un schéma complet montrant comment construire ce composant,
à partir d’un composant de mémoire vive de votre choix. Note : La forme
des lignes de contrôle des composants peut être librement choisie.
[1/20]
(b) Qu’est-ce qu’une transaction d’un bus ? Dans quel but les transactions
doivent-elles êtres signalées ?
[5/20]
4. Ecrire un programme assembleur 80x86 capable de calculer la somme des carrés
des nombres entiers de 1 à n, pour n ≥ 1, les nombres étant représentés sur
16 bits. La valeur de n est initialement fournie dans AX, et le programme doit
retourner son résultat dans ce même registre. Les dépassements arithmétiques
doivent être détectés et signalés par un résultat égal à 0.
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