1 Ministère de l’Enseignement Supérieur
Institut Supérieur
Des Etudes Technologiques De Mahdia
Examen : Architecture et Maintenance des SI
Département informatique Niveau et Filière : 1er Niveau Informatique
Documents et calculatrice: Non autorisés Nombre de pages : 3
Date : juin 2007 Durée : 2H
EXERCICE1 : (7 points)
On considère le programme p suivant en assembleur : Mov ACC, A
ADD B MUL C DIV D Sub E
Mov [10000h],ACC
Où ACC est le registre accumulateur et A, B, C, D et E des variables se trouvant aux adresses mémoire 0009H, 0007H, 000AH, 0004H et 0015H. Les nombres sont codés sur 1 octet et les codes opérations sont représentés sur 1octets comme suit (format hexadécimal):
Mov adresse, nombre A5H Mov acc, adresse F3H Sub adresse C3H Add adresse B3H Mul adresse E3H Mov adresse, acc A3H
Sachant que l’adresse de logement du programme est 0200AH, le bus de données est de 16 bits et que le microprocesseur supporte des instructions à une ou à deux adresses : 1/ Donner la taille du programme en octet (1point)
2/ Représenter le programme en mémoire au format hexadécimal sachant que la taille de la case mémoire est de 1 octet (2 points)
3/ Quelle est la taille de cette mémoire en octet. (0.5 point)
ﻲﻟﺎــﻌﻟا ﻢﻴـــﻠﻌﺘﻟا ةرازو ﺪﻬﻌﻤﻟا ﻲﻟﺎــــــــــــــــــــــــﻌﻟا
ﺔﻴﺟﻮﻟﻮﻨﻜﺘﻟا تﺎﺳارﺪﻠﻟ ﺔـﻳﺪـﻬﻤﻟﺎﺑ
2
4) Quelle est la plus petite et la plus grande adresse en mémoire centrale
5/ a/ Donner brièvement le rôle de chacun des registres du CPU : accumulateur, compteur ordinal, registre d’instruction, registre mot mémoire et registre pointeur de pile.(2.5 points) b/ Quelle est en bits la taille de chacun des registres ? (2.5 points)
6/ Donner après l’exécution de chaque instruction de ce programme les contenus des registres du microprocesseur : CO, RT, RI, RTUAL, ACC et registre d’état (RE) (3points) Sachant que les bits du registre d’état sont répartis comme suit :
U U U U O U U U S Z U AC U P U C
U : bit indéfini
Retenue (Carry : C) : Stockage de la retenue arithmétique
Parité (P) :Ce bit est mis à 1 lorsque le nombre de 1 de l’accumulateur est pair
Retenue intermédiaire : (Auxiliary Carry : AC) Sur les opérations arithmétiques, ce drapeau signal une retenue entre groupes de 4 bits d’une quantité de 8 bits
Zéro (Z) : Ce bit est mis à 1 lorsque le résultat de l’opération est nul.
Signe (S) : Ce bit est mis à 1 lorsque le résultat de l’opération est négatif
Débordement (overflow : O) : Cet indicateur est mis à 1, lorsqu’il y a un dépassement de capacité pour les opérations arithmétiques en complément 2
Et sachant que la première instruction est implantée à l’adresse 2000
7) Représenter par un schéma l’état de la mémoire après exécution du programme P (2points)
EXERCICE2 : (7 points)
On considère un ordinateur dont la CPU est composée des éléments suivants :
Horloge, Compteur ordinal, Registre Instruction, Décodeur, registre de travail :(R0..R7) Registre d ‘Etat, Séquenceur
On considère un format d’instruction à 3 adresses : code opération adresse1, adresse2 (adresse opérandes) adresse3 (adresse résultat)
On définit les instructions assembleur comme suit : ADD A,B,C CÅ(A)+(B)
SUB A,B,C CÅ(A)-(B) MUL A,B,C CÅ(A)*(B) DIV A,B,C CÅ(A)/(B) MOV A,0,C CÅ(A)
Initialisation des registres de travail
3
R0 = 13 R1=R5=0 R2=R4=2 R3=1 R6=R7=5
On considère le programme P suivant C=A*A + C + B
A= B + C –D/4 D=A/2 + B*B – C
Les adresses des opérandes A,B,C et D sont : A = 0050H
B = 0052H C = 005BH D = 0058H
Remarque : la taille d’un mot mémoire est de 2 octets
a) Donner la taille du CO, Registre de travail, Registre instruction avec code opération sur 8bits ?
b) Ecrire P1 correspondant de P avec les instructions à 3 adresses c) Donner l’état de la Mémoire Centrale après exécution de P1 On modifie le format de l’instruction pour le rendre à 2 adresses Ecrire P2 correspondant de P avec les instructions à 2 adresses Préciser ce qui doit être modifié dans la CPU. Pourquoi
Le format de l’instruction devient à 1 adresse quels changement doit on opérer dans la définition des instructions assembleurs ?
Ecrire le nouveau programme P3 correspondant de P avec ces nouvelles instructions.
Que devient la taille du CO, RI, RT EXERCICE3: (6 points)
Soit une mémoire répartie entre huit blocs (RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, RAM7 et RM8) identiques de 512 KO chacun, dont les adresses sont reparties entre 00000h et 3FFFFh dans chaque bloc (voir schéma ci dessous).
L’adressage s’effectue en deux parties :
Un certain nombre de lignes d’adresse sont appliquées à un circuit de décodage qui va sélectionner un des boîtiers (la sortie d’état zéro qui sera active) de mémoire à partir de
0000H
… 0050H 0051H 0052H 0053H 0054H 0055H 0056H 0057H 0058H 0059H 005AH 005BH 005CH
… FFFFH
14 53 24 0 0 12 12 0 16
0 0 20 10
Mémoire Centrale
4
ces lignes d’adresse. Dans l’exemple présenté ici, les adresses A18 et A19, et selon la table suivante :
Entrée :
A20 A19 A18
Sortie :
0 1 2 3 4 5 6 7
0 0 0
0 1 0
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1
1 1 0 1 1 1 1 1
1 1 1 0 1 1 1 1
1 1 1 1 0 1 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 0
Un certain nombre de lignes d’adresse sont appliquées directement à tous les blocs de mémoire et servent à sélectionner la case dans le bloc de mémoire sélectionné. Dans l’exemple présenté ici, les adresses sont A0 à A17.
A- En cas d’écriture de la donnée ADh à l’adresse &AF41Eh A.1- Décrire en détails ce processus d’écriture
A.2- Indiquer le Bloc où s’effectuera l’écriture, justifier votre réponse.
A.3- Indiquer la valeur de l’état des signaux de contrôles MEMR (MEMory Read) et MEMW (MEMory Write) qui sont activés à l’état zéro.
B- Trouver les valeurs qui transitent sur le bus d’adresses et le bus de données en cas de lecture de la 20ième case de la mémoire RAM6 qui contient la valeur 2AB5h.
C- Peut-on dire que cette mémoire est extensible ? Sinon, proposer une nouvelle architecture pour pouvoir adresser une mémoire de 8 MO. (Un schéma est vivement souhaité).