Vous êtes sur la page 1sur 2

Filière : SMI (semestre4)

Module : Architecture Ordinateur


Durée épreuve : 2h 00 mn
Responsable : Karim AFDEL
Exercice 1 : Le microprocesseur (10 Points)

Figure 1
Un microprocesseur 8086 est un circuit intégré composé par quatre principaux composants comme le montre la
figure 1
 Unité logique et Arithmétique ULA
 Batterie de registre
 Séquenceurs
 Bus d'interface
1- Quel est le rôle de chacune de ces composants ?
2- Quel est le rôle du bus du micro processeur ?
3- Quel est la largeur du bus de donne et du bus d'adresse?
4- Quel est la taille maximale de mémoire pouvant être adressé avec de tel bus d'adresse.
5- Comment Intel a pu étendre cette adressage à 1020 = 1MO en déduire la taille de segment et le nombre de
segment.
6- L'adressage d'une cellule mémoire se fait de deux manières : Adressage Physique et Adressage Logique.
a- Quel est la différence de ces deux types d'adressage.
b- Comment passez de l'une à l'autre type d'adressage.
7- Soit l'adresse logique de démarrage des PC suivante FFFF:0000
a- Que spécifie l'adresse FFFFh et l'adresse 0000h.
b- Sur combien d'octet est codé les deux adresses (segment et offset).
c- Calculez l’adresse physique des adresses logiques suivantes : F158:EA70 et FFFF:0000
Que peut-on conclure ?
8- La figue ci-dessous montre le contenu du registre AX
0 0 0 1 1 1 0 1 0 0 0 0 0 1 1 1
 Calculez le contenu de ce registre en Hexadécimal ?
 Quel la valeur du contenu du registre AL et AH ?
 Quelle est la relation reliant AL, AH et AX?
 A quoi sert le registre CS et IP?

Exercice 2: Assembleur MIPS (10 Points)


Soit le programme assembleur suivant:
1 test: div $t0, $t1
2 mfhi $t2
3 beq $t2, $0, end
4 move $t0, $t1
5 move $t1, $t2
6 j test
7 end: move $a0, $t1
8 li $v0, 1
9 syscall
10 li $v0, 10
11 syscall

Question 1 : On suppose que $t0 > $t1. Que fait ce programme ?


Question 2 : Compléter le début du programme : demander deux nombres à l’utilisateur, et les ranger dans l’ordre
décroissant dans $t0 et $t1.
Question 3 : Ecrire un programme assembleur effectuant l’opération (5*y + x) / (y – 3*x)
en utilisant Les registres suivants :
## $8 x ## $10 x/y: registre de la division
## $9 y ## $11 x%y: reste de la division

Liste partielle d’opérations MIPS

Vous aimerez peut-être aussi