Archi Ordi
Archi Ordi
TD 1 : Archi Onde
Exercices 4, 5 et 6:
Exercice 4 : questions de cours
Unité de Contrôle, unité authmétique logique registres
1
. -
et
,
Unité de
gestion de la mémoire
,
Bus ,
cache , horloge
2-
stock
Elle
diffère
dans
de celle
in ménoire
de Harpard
années et instructions .
con celle de Vou Nauma
, une le
contrainement a celle de haupad on il
des mémoires contenant lo donnés et lesya
reparatin
.
physique
programmes
3- Bus : Ensemble de supports de
l'information (file par expl) .
typesBus
de
-
bus
de
:
données
-Bus de Commande
- Bus d'adesse .
composante polatile
T- Capacité de Stockage ?, états binais 0 ou 1 hex : 0 9 A T
.
, ,
. -
3)H4)aX(d6)c
1) :
0)99)g .
2009h47
Little Endian
en
Big ardian en
20D 1 C A 200D FE
200 #E 200E CA
2) a0x9EE0 : 96 début
ox9- F2F : 00 - Fin
b)
I
3A
970C
31
ED 9 FoD [2
&
On
↑ 59507 85
44 9505 44
87 9510 FT
019511 ED
22 9712 ·
3 A
31 9533
SaintendGuid
3AED
Fron
8501
2 231 ED37
C)
E
16
CFFE
L E
.
Fr44h
L E
.
↑ AA32594
B E .
16
32
BE
----
Architecture des ordinateurs L1 [Link]
TD n°1
Consigne : vous devrez réaliser les exercices marqués du symbole § chez vous avant la séance de TD. Les bonnes
réponses de ces exercices seront données durant la séance, sans explication détaillée. Seuls les exercices marqués
du symbole ¶ seront corrigés de manière détaillée.
4) Écrire les nombres hexadécimaux suivants sous forme binaire et préciser sur combien d’octets ils sont représentés :
111701101101600111400
(a) F6h (b) 1A3Ch (c) 9BD5h (d) 4E67C1FFh I trop long
5) Écrire le nombre décimal 118d en code :
1001107111010101
On considère une machine numérique travaillant sur des mots binaires de 8 bits et comportant une UAL (Unité Arithmétique
et Logique) de 8 bits.
1) Donnez la représentation binaire des nombres décimaux signés suivants selon cette machine :
1110011 00101100
(a) –13d (b) +44d (c) -82d 10101110
2) Donnez le résultat en binaire, et son interprétation signée, de l’addition des nombres décimaux signés suivants et donnez
la valeur des bits de retenue (bit C = Cn⊕C0, avec respectivement Cn et C0 la retenue sortante du dernier étage de l’UAL
et la retenue entrante du premier étage) et de débordement (bit V = Cn⊕Cn-1, avec Cn et Cn-1 la retenue sortante des deux
on converti derniers étages de l’UAL) du registre d’état de l’UAL :
abinaire
(a) +7d +(-5d) (b) +3d +(-8d) (c) –4d +(-5d)
Dnc + 2d
et per
Exercice 3 : premier programme assembleur 8086 avec TASM ¶
on tunge
1) Écrivez un programme assembleur 8086 en respectant la syntaxe supportée par Turbo Assembler (TASM) permettant
et y d’additionner les deux valeurs constantes (exprimées ici en hexadécimal) 27h et 21h et de stocker le résultat dans le
registre accumulateur AL du microprocesseur. Le programme se terminera par un appel à l’instruction int 21h qui
permettra de mettre fin “proprement” au programme.
Quelle instruction utilise-t-on pour l’addition ? Quel est le résultat de l’addition ? Quelles sont les valeurs des bits C
(retenue) et V (débordement) du registre d’état de l’UAL ?
On remplace maintenant dans le programme précédent la valeur constante 27h par e9h. Quel résultat obtient-on ? Quelles
sont les valeurs des bits C et V ? Que s’est-il passé ?
2) Écrivez maintenant un programme permettant de faire la soustraction, dans le registre AL, de la valeur 27h par la valeur
constante 21h. Quelle instruction utilise-t-on pour la soustraction ? Quel est le résultat de cette soustraction ? Quelles
sont les valeurs des bits C (retenue) et V (débordement) du registre d’état de l’UAL ?
On remplace maintenant dans le programme précédent la valeur constante 27h par e9h. Quel résultat obtient-on ? Quelles
sont les valeurs des bits C et V ? Expliquez pourquoi on obtient ces valeurs.
le bus interne .
DreAnnés 7•
Harvard ? l'archide Vm Stocke dans une in ménice le domis et
intraction/ Hassant
Dans l’architecture d’un ordinateur, qu’est-ce qu’un bus, et à quoi cela sert-il ? Quels sont les différents types de
bus dans l’architecture d’un ordinateur ? E de
support de l'infr (fils par sail) . reparten
De emmach • Soit les catégories de mémoire suivantes : Ordonnez les types de mémoire suivants en fonction de leur rapidité
d’accès par l’unité centrale de traitement, du plus rapide au moins rapide : mémoire centrale, registres, mémoire de de minin
D'advers masse, mémoire cache. Parmi ces mémoires, lesquelles sont volatiles ? 3 e n
content b
sits
• 2
Quelle est la capacité de stockage d’une cellule mémoire ? Combien d’états différents peut prendre une cellule
mémoire ? Quels sont ces différents états en binaire, en hexadécimal ? Qu’est-ce que l’adresse d’une cellule anés d
mémoire ? Dan 1 par 3 alle st-
identifiant de la 4
Exercice 5 : définitions § les pigme
Associez chaque mot de la liste suivante avec une des définitions proposées ci-après :
1. Petite mémoire contenue dans le microprocesseur destiné à stocker de manière très temporaire un certain nombre
d’informations comme les résultats intermédiaires d’un calcul ou l’adresse de la prochaine instruction à exé[Link]
2. Sorte de commutateur électronique servant à contrôler le passage du courant électrique.
3. Principale carte de circuits imprimés dans un ordinateur. Carte Mede
Finsisti
4. Cristal de quartz vibrant à une fréquence déterminée, produisant des signaux périodiques qui servent à synchroniser les
tâches d’un microprocesseur. Hnloge
5. Type de mémoire volatile, lisible et réinscriptible, dont chaque cellule est directement accessible. + M
6. Ensemble de circuits gravés sur une plaque de silicium. cuit
intages
7. Ensemble des lignes transportant les signaux qui permettent au microprocesseur de communiquer avec ses mémoires et
ses périphériques. BUS
Micropie
8. Unité principale de traitement d’un ordinateur, généralement contenue dans un circuit intégré unique.
9. Programme nécessaire à la gestion des ressources matérielles et logiciels d’un ordinateur.
Système
Exercice 6 : stockage de l’information en mémoire ¶
d'agation
1) La valeur hexadécimale 0x30A79847 est stockée dans la mémoire centrale d’un ordinateur à l’adresse 2009h,
et la valeur 0xCAFE à l’adresse 200Dh. Quelle est la valeur stockée dans la mémoire à l’adresse 200Bh si le
mode de stockage est le système big-endian ? Si le mode de stockage est le système little-endian ?
0x9F20 : 5A AC F6 77 55 75 D8 02 C8 8D B2 02 7B A8 47 00 >
a. A quelle adresse débute cet extrait de la mémoire ? A quelle adresse se termine-t-il ? Quelle est la taille
en octets de cet extrait de mémoire ?
b. Représentez l’extrait de de cette mémoire allant des adresses 0x9F0C à 0x9F13 sous la forme d’un
tableau à une dimension. En supposant que les données contenues dans cet extrait constituent un tableau
de nombres entiers non signés codés sur 16 bits, donnez le contenu en décimal de ce tableau selon que
les données sont rangées selon la convention big-endian ou little-endian.
c. Si on considère que l’extrait de mémoire ci-dessus peut être adressé en utilisant le mode big-endian ou
little-endian et peut être adressée en mode 8, 16 ou 32 bits, donnez les informations manquantes :
● adresse 0x9F14 en mode big-endian, au format _____ bits par mot => 0x9B
● adresse 0x9F17 en mode little-endian, au format _____ bits par mot => 0xC153
● adresse 0x9F1F en mode little-endian, au format 16 bits par mot => _____
● adresse 0x9F2E en mode _____, au format 16 bits par mot => 0x0047
● adresse 0x9F0E en mode big-endian, au format 16 bits par mot => _____
● adresse 0x9F0C en mode _____ , au format 32 bits par mot => 0x44F5ED3A
● adresse 0x9F0E en mode little-endian, au format 32 bits par mot => _____
● adresse 0x9EF6 en mode _____, au format _____ bits par mot => 0x764C
● adresse 0x9EED en mode _____, au format _____ bits par mot => 0x0A4538E8
TD01
ide retet
hixaderimal)
Valum
en
codé em Sibits
tels
mémoires ku
case
comp
consécutives
de
Apres 2 Méthodes
/Hochageb
GundaBigEdi.
.
47 puis 47
-
470000h
90 00001h
17 00002h
30 00003h
1) Biopt in
de
I
30 47 2009h
A7 90 2001h
98 A7 h
200B
47 38
2dpc h
-
I
Biopter vil ,
Aude
CA
200D
F CA 200
2)a)9EE 00
9720F
b)
Bigendian
↑
W 01
in
8
91001
A 1010
1011
3 1100
1101
2000
I
F1111
3 AED : 15087 EDSA : 60730
8509 :
34049 0105 : 389
231 : 49713 3122 : 12738
c -
Obits
- 16 bike
- CEFEh
>
- little-Endian
-
+444
-
uff .
Endian
-
FFED3ABON
-
5924D356
-Bigendin 16 bi 7642
bit
-
Big-Endia 32 .
de la
TD2 :
Orga
et
gestion
8086
mémoire par le .
1) 2° : 216 .
-11// : oh atth .
11/1/1 : 0 à 25 .
oh
S
000
/
2ete
V
FFFFFh
Les
2) paragraphes
:
oh
S
000
le premier :
· 000 Eh
0000Fh
S in
000 10h à 0001Fh :
l 2ème
2) 79990h a 72c5h
0001Fh
3) FFFFoL à FFFFFh .
la
3) La segmentatio de mémoire :
1) =
Paragraphe X
Paragraphe
B
.
- -
2) 00010h 00015 ...
,
000 20
,
000 21h
Dessine Schena -
00022ha 00023h
3) 00010h à 00023h
adess :
segement +16x +
offx)
J &
16 bily 16 bil de pride
Jaisle
de prids
fink
2" =
4095) qui cert se meu ades
plyzige-
Achose = 16 1 4
Segut +
offest
Furth/mloo
olo orro
segat
orgu
10000000001011001
Tit
-m
F416h 0019h
: .
54/60h
T
2B3E4P
SSSSoh
un
t
Exenice 2 :
immédiat
1 est correct
,
mode
d'adressage
.
2 incoud
3
. et cret
,
mode
d'adessage immédiat
St connect
4.
,
mode
d'adisage émédiat
T . et cract ,
mode
d'aderage par reginte
S ad indirect
.
It correct , d'adig
indirect
7
. st comet ,
mode
d'adessage
D . et cult , mode
d'adanag indirect.
Exercice 1 :
Data
segment
a &d ors n
VEG1db 6
,
2 9, 1 3
, ,
B du SBOTh
Texte DB "Bonyou"
VEc2 DBí dup (2)
DATA ENDS
nooh
I
123456
FS 00 319264
E 9 10 11121314
Gu
Bonjour
5 16
2 22 2 2
100Fh 103Ph
O 1 23456
0104h O 8 F3 31926
7 8
o G B
16
B-33 1
2 Y
en
3
u 22222
E
Mor Ax , 25 : [BX) . 49370
BX :
23
0054h)
: 4917h
e
Mor (X
,
boucle :
crp(X ,
o
TNE boud .
Architecture des ordinateurs L1 [Link]
TD n°2
Organisation et gestion de la mémoire par le 8086
1) Les mémoires
Les mémoires, qu’elles soient modifiables (RAM) ou non modifiables (ROM), sont divisées en cellules contenant
une information codée sur 8 bits (1 octet). Le microprocesseur sélectionne une cellule donnée grâce au bus
d’adresses, à partir de l’adresse-mémoire de la cellule, appelée aussi simplement adresse. Il accède au contenu de
la cellule grâce à un bus de données.
er
1°) Combien d’états différents peut prendre une cellule mémoire ? Quels sont ces différents états en binaire, en
hexadécimal ?
162
uginante
2°) Quelle est la taille mémoire adressable par un microprocesseur avec un bus d’adresses de
6 136 imabist-
a) 4 bits ? b) 8 bits ? c) 16 bits ? d) 20 bits ? e) 32 bits ?
en 8 216 2 2
3°) Le 8086 possède un bus d’adresses de 20 bits et un bus de données de 16 bits. Quelles sont les différentes
adresses possibles en hexadécimal ?
-
000 oh a #FFFPh
2) Les paragraphes
Les adresses mémoire dont le dernier chiffre hexadécimal est 0h divisent la mémoire en paragraphes. Un
paragraphe est donc un ensemble de 16 adresses consécutives dont la première est un multiple de 16. On le repère
par les 4 chiffres hexadécimaux de poids fort.
1 prier
1°) Quel paragraphe est constitué par les adresses de 00000h à 0000Fh ? Quel paragraphe est constitué par les
adresses de 00010h à 0001Fh ?dennie
>
2°) Quelles adresses constituent le paragraphe n° 72C9h ? -C gah a 729Ph
3°) Sur quelle plage d’adresses s’étend le dernier paragraphe ?
FFFToh à FFFFFh
4°) Combien de paragraphes le 8086 comporte-t-il ?
GTT36
paragraphe
3) La segmentation de la mémoire
Les registres du 8086 sont des registres 16 bits. Pour gérer les adresses mémoire de son bus d’adresses de 20 bits,
les ingénieurs de chez Intel ont mis au point un procédé d’adressage particulier : le mode d’adressage réel, utilisant
des segments de mémoire.
Un segment est une zone mémoire dont le début coïncide avec un début de paragraphe et dont la taille est comprise
entre 16 et 65536 octets (64 Ko). L'adresse de départ d'un segment est donc un multiple de 16.
Le 8086 dispose de 4 segments appelés: segment de code, segment de données, segment de pile et segment
auxiliaire.
1°) Quelle doit être la taille des registres dans lesquels on souhaiterait stocker :
I 2°) Représenter sur un schéma un segment de mémoire de longueur 20 octets débutant au paragraphe 0001h.
Le registre servant à stocker le début du segment est appelé registre de segment. Pour calculer une adresse physique
(20 bits), le 8086 combine deux informations (16 bits): la valeur d’un registre de segment, ainsi que la valeur
comprise dans un registre d’adresse ou registre pointeur, qui indique le déplacement (ou offset) à l’intérieur du
segment.
Cette adresse logique est notée : segment : offset
L’adresse physique (20 bits) envoyée sur le bus d’adresses est calculée par :
2°) Donner les différentes adresses logiques pouvant être utilisées pour représenter l’adresse physique 2B3E4h.
DS: 163B
CS: 164B
A quelles adresses physiques commencent les segments de code et de données ? En déduire la taille maximale du
segment de données en octets dans le cas présent.
Voici ci-dessous une capture d’écran de l’exécution en pas en pas grâce à Turbo Debugger, le dévermineur de
Turbo Assembleur, d’un programme assembleur 8086. A partir des données visibles sur cette capture, répondez
aux questions ci-après.
a) Quelle est la taille maximale du segment de données dans ce cas précis ? Combien de paragraphes
recouvre-t-il ? Quels sont ces paragraphes ? A quelle adresse physique débute-t-il ?
c) Donnez cinq adresses logiques différentes permettant d'accéder à l'adresse physique 48E2Ah.
- adresse DS:000C, format 8 bits => ______ (en hexadécimal), _______ (en ASCII)
- adresse DS:002F, format 16 bits => _____ (en hexadécimal), ________ (en décimal, entier signé)
- adresse 48EF3, format 32 bits => ___________ (en hexadécimal)
- adresse ______ (adresse physique), format ____ bits => '$' (en ASCII)
e) Que trouve-t-on comme valeur à l'adresse 48F8D ? A quoi correspond cette valeur ?
L’adresse physique (20 bits) envoyée sur le bus d’adresses est calculée par :
2°) Donner les différentes adresses logiques pouvant être utilisées pour représenter l’adresse physique 2B3E4h.
DS: 163B
CS: 164B
A quelles adresses physiques commencent les segments de code et de données ? En déduire la taille maximale du
segment de données en octets dans le cas présent.
Voici ci-dessous une capture d’écran de l’exécution en pas en pas grâce à Turbo Debugger, le dévermineur de
Turbo Assembleur, d’un programme assembleur 8086. A partir des données visibles sur cette capture, répondez
aux questions ci-après.
a) Quelle est la taille maximale du segment de données dans ce cas précis ? Combien de paragraphes
recouvre-t-il ? Quels sont ces paragraphes ? A quelle adresse physique débute-t-il ?
c) Donnez cinq adresses logiques différentes permettant d'accéder à l'adresse physique 48E2Ah.
- adresse DS:000C, format 8 bits => ______ (en hexadécimal), _______ (en ASCII)
- adresse DS:002F, format 16 bits => _____ (en hexadécimal), ________ (en décimal, entier signé)
- adresse 48EF3, format 32 bits => ___________ (en hexadécimal)
- adresse ______ (adresse physique), format ____ bits => '$' (en ASCII)
e) Que trouve-t-on comme valeur à l'adresse 48F8D ? A quoi correspond cette valeur ?
/ x
00co
- 1
X
: 23
Y
=
,
11
:
S
X
-
252/4 : 630
X
X
X X
&
X
X
y y
X
y y
t --
D37
voe
-T
X
X 2 C
X X
11111111 10111111
0101110101000111
011 !
(x : 0104100000
134 X
y y