0% ont trouvé ce document utile (0 vote)
42 vues22 pages

Archi Ordi

Le document traite de l'architecture des ordinateurs, en abordant des concepts tels que l'unité de contrôle, les bus, et les types de mémoire. Il contient des exercices pratiques sur le codage de l'information, l'arithmétique binaire, et des programmes assembleurs. Des définitions et des questions de cours sont également incluses pour renforcer la compréhension des concepts fondamentaux.

Transféré par

momogueyjr24
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
42 vues22 pages

Archi Ordi

Le document traite de l'architecture des ordinateurs, en abordant des concepts tels que l'unité de contrôle, les bus, et les types de mémoire. Il contient des exercices pratiques sur le codage de l'information, l'arithmétique binaire, et des programmes assembleurs. Des définitions et des questions de cours sont également incluses pour renforcer la compréhension des concepts fondamentaux.

Transféré par

momogueyjr24
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Architecture des ordinateurs

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 .

4- registre > mémire cache ) mémoire centrale) mamire de


masst

composante polatile
T- Capacité de Stockage ?, états binais 0 ou 1 hex : 0 9 A T
.
, ,
. -

adura d'une 4 mémice : il de la 4


Exercice 5 : définitions
1) C)E .

3)H4)aX(d6)c
1) :
0)99)g .

Exercice 6 : stockage de l’information en mémoire


1)
2009 h 30
200 A h A7
200 Bh 98 1- la valeur stockée
2002h47 In 20 oBh
Endian
Big
en

2009h47

oh en mode litte Enc est

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

la taille en octets = 16XV


: 80 .
E
B . L .

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.

Exercice 1 : rappels sur le codage de l’information §


1) Convertir en décimal les nombres suivants exprimés en binaire naturel :
7643718 76543
1934226
6431
128 = (a) 100000002 (b) 010110102 (c) 111110002 (d) 00010100000101102
90 240
2) Convertir en binaire naturel les nombres décimaux suivants :
10111 101110108 1010010 2011
(a) 23d (b) 372d (c) 2875d

3) Convertir en hexadécimal les nombres suivants exprimés en binaire naturel :


B L 6 A
(a) 10112 (b) 11002 (c) 011010102 (d) 10101011100100112 AB 90

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

(a) binaire naturel (b) hexadécimal (c) ASCII


0111011076 u
Note : le code ASCII du caractère ‘a’ vaut 97d

Exercice 2 : rappels sur l’arithmétique binaire §

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 .

Exercice 4 : questions de cours § Registe (Sochagtupän)


Intrôle
L'unité de


VAL(opératioe)
Quels sont les éléments constituants l’unité centrale de traitement d’un ordinateur ?
Donnez le schéma général d’une architecture de Von Neumann. En quoi cette architecture diffère-t-elle de celle de
Bus :

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 :

a) Horloge b) Unité Centrale de Traitement c) Circuit intégré d) RAM e) Registre


f) Transistor g) Système d’exploitation h) Carte Mère. i) Bus j) Microprocesseur

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 ?

2) Soit le contenu suivant, d’un extrait de la mémoire centrale d’un ordinateur :



&
.
Addr___:__0__1__2__3__4__5__6__7__8__9__A__B__C__D__E__F
0x9EE0 : 96 7B 5C 43 87 66 FB 57 44 05 D3 53 02 E8 38 45
0x9EF0 : 0A 97 0C 7D AC 9A 76 4C B7 88 8D F6 D3 24 59 6A
0x9F00 : 9F B6 AD 27 1D A8 7F 61 AD 52 B5 B0 3A ED F5 44
0x9F10 : 85 01 C2 31 9B 39 7D 53 C1 0A 49 94 2F A3 FE CF
-
-

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

Structure Systemato Neuma :

ide retet

139847 on se tanie par .


n

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

Ender Lil Kuhn


* 1110
Big

I
F1111
3 AED : 15087 EDSA : 60730

5544 : 62788445%: 1764

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) Les mémoires : RAM : Mémoire modificate


ROM : Mémoir son
modifiable

1) 2° : 216 .

bons des valeurs codeables : 00000000 à 11111111

-11// : oh atth .

11/1/1 : 0 à 25 .

2) a) 2" 16320 25642


= : 65596
ortets octets
4) 220 = 1 millions =
Gybiboctets
= 1 rébiocte
32
e) 2 =
4 gibiatets
3) ooooh à FFPFFh .

oh

S
000
/

2ete
V

FFFFFh

Les
2) paragraphes
:

oh

S
000

1) or ok 2000 oth : 000 of h

le premier :
· 000 Eh
0000Fh
S in
000 10h à 0001Fh :

l 2ème

2) 79990h a 72c5h
0001Fh

3) FFFFoL à FFFFFh .

164 2 65536) blocs de 16 octets


4) = :

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

2B3EY-segut +16 + offect

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 :

Assume CS : Code DS : Data


,

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 :

loop boucl = Dec ex

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 :

a) l’adresse de début du segment ?


( b) la longueur d’un segment ?

I 2°) Représenter sur un schéma un segment de mémoire de longueur 20 octets débutant au paragraphe 0001h.

3°) Quelles sont les différentes adresses mémoire composant ce segment ?

4) Les registres de segment

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 :

adresse = (segment)*16d + (offset)

Le 8086 dispose de 4 registres de segment, avec 4 registres d’adresses correspondants :

CS « code segment » (zone de code) Þ IP « instruction pointer »


DS « data segment » (zone de données) Þ SI « source index »
ES « extra segment » (zone de données auxiliaire) Þ DI « destination index »
SS « stack segment » (zone de pile) Þ SP « stack pointer »

1°) Calculer l’adresse physique correspondant à l’adresse logique : F456h :0059h

2°) Donner les différentes adresses logiques pouvant être utilisées pour représenter l’adresse physique 2B3E4h.

3°) Voici lors de l’exécution d’ un programme le contenu des registres DS et CS :

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.

5) Exercice de synthèse (optionnel)

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 ?

b) Calculez les adresses physiques correspondant aux adresses logiques suivantes :

i) DS:BX ii) DS:1F36h iii) CS:IP

c) Donnez cinq adresses logiques différentes permettant d'accéder à l'adresse physique 48E2Ah.

d) Complétez les informations manquantes :

- 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 ?

f) Que trouve-t-on comme valeur à l'adresse CS:001C ? À l'adresse CS:IP ?


Cette adresse logique est notée : segment : offset

L’adresse physique (20 bits) envoyée sur le bus d’adresses est calculée par :

adresse = (segment)*16d + (offset)

Le 8086 dispose de 4 registres de segment, avec 4 registres d’adresses correspondants :

CS « code segment » (zone de code) Þ IP « instruction pointer »


DS « data segment » (zone de données) Þ SI « source index »
ES « extra segment » (zone de données auxiliaire) Þ DI « destination index »
SS « stack segment » (zone de pile) Þ SP « stack pointer »

1°) Calculer l’adresse physique correspondant à l’adresse logique : F456h :0059h

2°) Donner les différentes adresses logiques pouvant être utilisées pour représenter l’adresse physique 2B3E4h.

3°) Voici lors de l’exécution d’ un programme le contenu des registres DS et CS :

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.

5) Exercice de synthèse (optionnel)

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 ?

b) Calculez les adresses physiques correspondant aux adresses logiques suivantes :

i) DS:BX ii) DS:1F36h iii) CS:IP

c) Donnez cinq adresses logiques différentes permettant d'accéder à l'adresse physique 48E2Ah.

d) Complétez les informations manquantes :

- 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 ?

f) Que trouve-t-on comme valeur à l'adresse CS:001C ? À l'adresse CS:IP ?


y y

/ 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

Vous aimerez peut-être aussi