Вы находитесь на странице: 1из 19

ESAT / DGF / DMSI

GENERALITES SUR LES


SYSTEMES D'EXPLOITATION
CHAPITRE 4

Edition 2000
ESAT / DGF / DMSI

SOMMAIRE : FONCTIONNEMENT D’UN ORDINATEUR

1. LE CYCLE DE BASE D’UNE INSTRUCTION ARITHMÉTIQUE.................................................3

1.1 UN EXEMPLE DE DÉROULEMENT............................................................................................................3


1.1.1 PREMIÈRE PHASE...........................................................................................................................4
1.1.2 DEUXIÈME PHASE...........................................................................................................................5
1.1.3 TROISIÈME PHASE..........................................................................................................................6
1.1.4 QUATRIÈME PHASE.........................................................................................................................7
1.1.5 CINQUIÈME PHASE..........................................................................................................................8
1.1.6 SIXIÈME PHASE..............................................................................................................................9
1.2 LE JEU D’INSTRUCTIONS...................................................................................................................10
1.3 DESCRIPTION DU CYCLE DE BASE DES INSTRUCTIONS MACHINE....................................................................10

2. COMPLÉMENT SUR LE FONCTIONNEMENT.........................................................................12

2.1 LES MÉMOIRES...............................................................................................................................12


2.1.1 LA RAM (RANDOM ACCES MEMORY)...................................................................................................12
2.1.2 LA ROM (READ ONLY MEMORY)........................................................................................................12
2.1.3 D’AUTRES MÉMOIRES....................................................................................................................12
2.1.4 REGISTRES ET ACCUMULATEURS, PILE...............................................................................................13
2.1.5 NOTION DE TEMPS D’ACCÈS............................................................................................................13
2.1.6 NOTION D’ADRESSE ET D’ESPACE ADRESSABLE. (EXEMPLE SUR UNE MÉMOIRE À MOTS DE 8 BITS)......................14
2.2 LES ENTRÉES-SORTIES.....................................................................................................................15
2.3 LES MODES D’ADRESSAGE................................................................................................................16
2.4 STRUCTURE DE L’UAL....................................................................................................................17

page 2
ESAT / DGF / DMSI

LE FONCTIONNEMENT D’UN ORDINATEUR


Dans un chapitre précédent, l’architecture d’un ordinateur a été présentée sur un mode descriptif. Il s’agit
maintenant d’étudier comment fonctionne cet ensemble d’organes. Dans les chapitres suivants, les notions
étudiées ici permettront d’expliquer le rôle et les fonctions des logiciels de base.

Toute information est représentée en machine sous formes de suites de 0 et de 1, toutefois, par souci de
clarté et de concision, les valeurs manipulées, caractères ou chiffres, seront ici représentées en clair, cela
ne changeant rien aux principes de fonctionnement.

1. LE CYCLE DE BASE D’UNE INSTRUCTION


ARITHMÉTIQUE

1.1 UN EXEMPLE DE DÉROULEMENT


Supposons mis en machine les éléments suivants :

- dans le compteur ordinal, la valeur numérique 100,


- en mémoire centrale, à l’adresse 5, la valeur numérique 23,
- en mémoire centrale, à l’adresse 100, l’instruction ADD 5,
- dans l’accumulateur, la valeur numérique 71.

Le schéma suivant donne la photographie instantanée de ce qu’il y a au départ dans la machine, on


constate qu’il existe de plus une base de temps, une sorte d’horloge, qui est capable de déclencher des
signaux les uns après les autres de façon systématique.

Structure et Fonctionnement des Ordinateurs

C.O. R.I.
U.A.L. ACC
RAM RDM

MEMOIRE CENTRALE

Circuit 0
Mot
de
Interne
Calcul 1
7 1 2
A
1 1 D
+ 0 3
D
0 4
0 0 5 23
6 5
DECODEUR
de FONCTIONS 100 ADD 5

TIMER
BUS
ESAT/DMSI/Cours Architecture

page 3
ESAT / DGF / DMSI

1.1.1 PREMIÈRE PHASE

Si l’on veut que l’ordinateur puisse exécuter une instruction quelconque, il faut aller la chercher en mémoire
centrale. Or le contenu du compteur ordinal permet de savoir où est cette instruction.

L’horloge doit donc déclencher des signaux qui :

- ferment la porte entre le bus et le compteur ordinal.


- ferment la porte entre le bus et le registre d’adresse mémoire (registre du sélecteur
d’adresse).
- lancent une lecture du compteur ordinal, c’est à dire la valeur numérique 100.
- lancent une écriture dans le registre d’adresse mémoire, autrement dit procèdent à la recopie
de la valeur 100 dans ce registre.
- et lancent enfin une lecture en mémoire centrale pour transférer le contenu du mot sélectionné
dans le registre de données mémoire ; le contenu du mot d’adresse 100 soit ADD 5 s’inscrit
alors dans le registre de données mémoire.

Structure et Fonctionnement des Ordinateurs

C.O. R.I.
PHASE 1
U.A.L. ACC
RAM RDM

MEMOIRE CENTRALE

Circuit 0
Mot
de
Interne
Calcul 1
7 1 2
A
1 1 D
+ 0 3
D
0 4
0 0 5 23
6 5
DECODEUR
de FONCTIONS 100 ADD 5

TIMER
BUS
ESAT/DMSI/Cours Architecture

page 4
ESAT / DGF / DMSI

1.1.2 DEUXIÈME PHASE

Il faut à cet instant pouvoir manipuler le contenu de ce qui vient d’être lu comme une instruction en
l’envoyant précisément dans le registre d’instruction.

L’horloge doit donc déclencher les signaux suivants :

- ouvrir la porte entre le registre d’adresse mémoire et le bus.


- ouvrir la porte entre le compteur ordinal et le bus.
- fermer la porte entre le registre de données mémoire et le bus.
- fermer la porte entre le registre d’instruction et le bus.
- lancer la lecture du registre de données mémoire.
- lancer l’écriture dans le registre d’instruction.

A la fin de cette opération le registre d’instruction contient ADD 5 comme le montre le schéma qui suit :

Structure et Fonctionnement des Ordinateurs

C.O. R.I.
PHASE 2
U.A.L. ACC
RAM RDM

MEMOIRE CENTRALE

Mot
Circuit
de
A 0
Interne
Calcul D 1
7 1 D 2
A
1 1 D
+ 0 3
D
0 4
0 0 5 23
6 5
DECODEUR
de FONCTIONS
5 100 ADD 5

TIMER
BUS
ESAT/DMSI/Cours Architecture

page 5
ESAT / DGF / DMSI

1.1.3 TROISIÈME PHASE

Dans la mesure où le registre d’instruction a été conçu pour permettre la séparation de la partie code
opération de la partie adresse, il est possible d’envoyer, dans cette phase, le contenu du champ code
opération du registre d’instruction dans le registre du décodeur de fonction pour sélectionner le circuit
d’addition.

L’horloge doit envoyer les signaux suivants :

- ouvrir la porte entre le registre de données mémoire et le bus.


- ouvrir la porte entre le registre d’instruction et le bus.
- fermer la porte entre le champ code opération du registre d’instruction et le bus.
- fermer la porte entre le registre du décodeur de fonction et le bus.
- lancer la lecture du contenu du champ code opération du registre d’instruction.
- lancer l’écriture dans le registre du décodeur de fonction ce qui provoque la sélection du circuit
de calcul, c’est à dire l’addition.

Voir le schéma qui suit :

Structure et Fonctionnement des Ordinateurs

C.O. R.I.
PHASE 3
U.A.L. ACC
RAM RDM

MEMOIRE CENTRALE

Mot
Circuit
de
A 0
Interne
Calcul D 1
7 1 D 2
A
1 1 D
+ 0 3
D
0 4
0 0 5 23
6 5
DECODEUR
de FONCTIONS
5 100 ADD 5

ADD

TIMER
BUS
ESAT/DMSI/Cours Architecture

page 6
ESAT / DGF / DMSI

1.1.4 QUATRIÈME PHASE

Avant de pouvoir exécuter l’opération, il faut que la machine puisse accéder à l’opérande, c’est à dire puisse
avoir accès au mot dont l’adresse figure dans l’instruction.
Cela revient à transférer le contenu du champ adresse du registre d’instruction dans le registre d’adresse
mémoire.

L’horloge doit envoyer les signaux suivants :

- ouvrir la porte entre le registre du décodeur de fonction et le bus.


- ouvrir la porte entre le champ code opération du registre d’instruction et le bus.
- fermer la porte entre le registre d’adresse mémoire et le bus.
- fermer la porte entre le champ adresse du registre d’instruction et le bus.
- lancer la lecture du contenu du champ adresse du registre d’instruction.
- lancer l’écriture dans le registre d’adresse mémoire de telle sorte que le mot auquel
correspond cette adresse soit sélectionné.

Voir schéma suivant :

Structure et Fonctionnement des Ordinateurs

C.O. R.I.
PHASE 4
U.A.L. ACC
RAM RDM

MEMOIRE CENTRALE

Mot
Circuit
de
A 0
Interne
Calcul D 1
7 1 D 2
A
1 D
+ 0 5
3
D
4
0 5 23
6 5
DECODEUR
de FONCTIONS
5 100 ADD 5

ADD

TIMER
BUS
ESAT/DMSI/Cours Architecture

page 7
ESAT / DGF / DMSI

1.1.5 CINQUIÈME PHASE

Comme le circuit de calcul et l’opérande sont maintenant disponibles, l’exécution de l’instruction est
réalisable.

L’horloge envoie les signaux suivants :

- ouvrir la porte entre le registre d’adresse mémoire et le bus.


- ouvrir la porte entre le champ adresse du registre d’instruction et le bus.
- fermer la porte entre l’unité arithmétique et logique et le bus.
- fermer la porte entre le registre de données mémoire et le bus.
- lancer la lecture du mot choisi en mémoire dans la phase précédente.
- lancer l’écriture dans le mot interne de l’UAL propre au circuit de calcul sélectionné
préalablement ; ce qui provoque l’exécution du calcul entre le contenu du mot interne et le
contenu de l’accumulateur, puis l’écriture du résultat dans l’accumulateur.

Voir schéma suivant :

Structure et Fonctionnement des Ordinateurs

C.O. R.I.
PHASE 5
U.A.L. ACC
RAM RDM

MEMOIRE CENTRALE

Mot
Circuit
de
A 0
Interne
Calcul D 1
9 1 D 2
4
23 + 0 5
3
2
4
0 5 23 3
6
DECODEUR
de FONCTIONS
5 100 ADD 5

ADD

TIMER
BUS
ESAT/DMSI/Cours Architecture

page 8
ESAT / DGF / DMSI

1.1.6 SIXIÈME PHASE

L’instruction ayant été exécutée, il faut passer à la suivante. Nous imaginerons qu’il existe un circuit
particulier d’addition propre au compteur ordinal qui n’a pas été présenté auparavant. Ce circuit est
particulier dans le sens où il utilise un opérande toujours égal à la valeur 1 : il additionne ce 1 au contenu du
compteur ordinal et range le résultat dans le compteur ordinal. Autrement dit, quand ce circuit est mis en
marche, le contenu du compteur ordinal est augmenté de 1.

Dans la sixième phase, l’horloge génère les signaux suivants :

- ouvrir la porte entre l’unité arithmétique et logique et le bus.


- ouvrir la porte entre le registre de données mémoire et le bus.
- déclencher le circuit d’addition propre au compteur ordinal.

Voir schéma suivant :

Structure et Fonctionnement des Ordinateurs

C.O. R.I.
PHASE 6
U.A.L. ACC
RAM RDM

MEMOIRE CENTRALE

Mot
Circuit
de
A 0
Interne
Calcul D 1
9 1 D 2
4
23 + 0 5
3
2
4
1 5 23 3
6
DECODEUR
de FONCTIONS
5 100 ADD 5

ADD

TIMER
BUS
ESAT/DMSI/Cours Architecture

page 9
ESAT / DGF / DMSI

1.2 LE JEU D’INSTRUCTIONS


L’addition aurait été exécutée telle qu’elle vient d’être décrite, quelles que soient les valeurs numériques
choisies. L’exécution d’une instruction est donc indépendante des données.

Il faut aussi prendre en compte le fait que l’ordinateur est capable d’exécuter un million d’instructions de ce
type en une seconde. Le déroulement d’une instruction machine se réduit à une suite de commandes
élémentaires déclenchées par l’horloge : ouverture et fermeture de portes , lecture et écriture d’un registre
ou d’un mot de la mémoire centrale et déclenchement d’un circuit de calcul.

Si l’on veut automatiser un processus quelconque, il faut pouvoir disposer d’instructions d’entrée / sortie,
d’instructions permettant d’effectuer des calculs arithmétiques, des transferts d’informations et des calculs
logiques.

Dans notre machine modèle, les instructions d’entrée/sortie ne sont pas encore prises en compte car, pour
l’instant, nous nous consacrons à l’unité centrale sans tenir compte des liaisons avec les périphériques.

Voici le jeu d’instruction de notre machine fictive :

INSTRUCTIONS ARITHMETIQUES :

ADD X, MUL X, SOU X : ADDitionner, MULtiplier ou SOUstraire le contenu du mot d’adresse X


au contenu de l’accumulateur. A la fin le résultat est écrit dans l’accumulateur.

INSTRUCTIONS DE TRANSFERTS :

TAC X : Transférer le contenu du mot d’adresse X dans l’ACcumulateur

TME X : Transférer le contenu de l’accumulateur dans le mot MEmoire d’adresse X

INSTRUCTIONS DE CALCULS LOGIQUES :

BRA X : BRAnchement sur l’instruction d’adresse X, autrement dit l’instruction suivante à


exécuter est celle d’adresse X

TES X : TESt sur le contenu de l’accumulateur : si le contenu est strictement positif l’instruction
suivante à exécuter est celle d’adresse X, sinon c’est celle d’adresse immédiatement
supérieure à celle qu’on exécute.

1.3 DESCRIPTION DU CYCLE DE BASE DES INSTRUCTIONS MACHINE


Quel que soit le type d’instruction, la première partie du cycle de base doit être consacrée à mettre
l’instruction dans le registre d’instruction de telle sorte que son code opération puisse être pris en compte.

Les trois premières phases sont donc les mêmes.

Première phase :
Elle consiste à transférer le contenu du compteur ordinal dans le registre d’adresse mémoire,
ce qui provoque la sélection du mot correspondant en mémoire centrale, la lecture de son
contenu et l’écriture du contenu dans le registre de données mémoire.

page 10
ESAT / DGF / DMSI

Deuxième phase :
Elle permet de transférer le contenu du registre de données mémoire dans le registre
d’instruction.

Troisième phase :
Elle réalise le transfert du contenu du champ code opération du registre d’instruction dans le
registre du décodeur de fonction, ce qui provoque la sélection du circuit correspondant à la
valeur de ce code opération.

En résumé, cette première partie consiste à rechercher l’instruction à exécuter en mémoire centrale et à la
décoder.

A partir de là, les cycles de base diffèrent. Les instructions de calcul arithmétique et celles de transfert
nécessitent trois phases pour être exécutées, alors que les deux instructions logiques n’en nécessitent
qu’une.
Commençons par les trois dernières phases des instructions de calcul arithmétique et celles de transfert.

Quatrième phase :
Elle réalise le transfert du contenu du champ adresse du registre d’instruction dans le registre
d’adresse mémoire et la sélection du mot correspondant.

Cinquième phase :
Elle effectue l’exécution de l’instruction telle qu’elle est décrite dans le jeu d’instruction présenté
ci-dessus.

Sixième phase :
Elle réalise l’augmentation de 1 du contenu du compteur ordinal.

Pour l’instruction de débranchement inconditionnel auquel correspond le BRA, il n’y a qu’une phase à
exécuter. En effet l’instruction suivante à exécuter est celle dont l’adresse figure dans le BRA et cette
adresse est inscrite à cet instant dans le champ adresse du registre d’instruction.

D’où la Quatrième phase (BRA) :


Elle consiste à transférer le contenu du champ adresse du registre d’instruction dans le
compteur ordinal.

De même pour l’instruction de débranchement conditionnel auquel correspond le TES, il n’y a qu’une phase
à exécuter :
Si la condition est satisfaite, il faut exécuter une phase correspondant à celle qui vient d’être évoquée pour
le BRA puisqu’il doit y avoir débranchement sur l’instruction dont l’adresse figure dans l’instruction de test. Si
la condition n’est pas satisfaite, on passe à l’instruction suivante.

D’où la Quatrième phase (TES) :


Si le contenu de l’accumulateur est strictement positif, on transfère le contenu du champ
adresse du registre d’instruction dans le compteur ordinal ; sinon on augmente de 1 le contenu
du compteur ordinal.

page 11
ESAT / DGF / DMSI

2. COMPLÉMENT SUR LE FONCTIONNEMENT

2.1 LES MÉMOIRES


Il existe globalement deux types de mémoires : les mémoires mortes ROM, et les mémoires vives, les RAM.

2.1.1 LA RAM (RANDOM ACCES MEMORY)

C’est pour ainsi dire la véritable mémoire centrale. Elle fonctionne comme celle de l’homme. Elle mémorise
seulement ce dont le microprocesseur a besoin immédiatement. Elle est volatile et d’accès très rapide.

Quelques caractéristiques : permet la lecture et l’écriture, adressable octet par octet, volatile, capacité
limitée mais extensible, temps d’accès env. 60 ns.

La mémoire centrale est de type DRAM (Dynamic RAM). Elle utilise un condensateur de stockage par bit.
Cependant, les condensateurs ayant des fuites, il faut rafraîchir la RAM périodiquement. Pendant ces
phases de rafraîchissement, très longues à l’échelle des fréquences de travail des processeurs, la RAM est
indisponible ce qui entraîne un accroissement des temps d’accès (c.f. plus loin mémoires cache).

2.1.2 LA ROM (READ ONLY MEMORY)

C’est une fausse RAM. Le constructeur y inscrit définitivement un programme qui est toujours exécuté dès
le lancement de la machine, et ce indépendamment de la volonté de l’utilisateur. Cette mémoire est en
quelque sorte gravée. Elle contient également des petits programmes nécessaires à la réalisation
d’échanges entre le cœur de la machine et les périphériques. Le contenu de la ROM est connu sous le nom
de BIOS (Basic Input Output System).
La ROM est accessible par le microprocesseur de la même manière que la RAM ; la différence vient du fait
qu’elle ne perd pas son contenu lorsque l’on éteint la machine.

Quelques caractéristiques : lecture seule, adressable octet par octet, non volatile, capacité très limitée.

2.1.3 D’AUTRES MÉMOIRES

PROM (programmable read only memory) : mémoire dont le contenu est programmable une seule fois par
l’utilisateur. L’utilisation de ces mémoires est réservée à des applications nécessitant une faible production
pour laquelle l’utilisation de ROM aurait été trop coûteuse.

EPROM (erasable programmable read only memory) : comme les précédentes, mémoires programmables
par l’utilisateur. Toutefois, il est possible d’effacer ces mémoires en exposant le boîtier à un rayonnement
ultraviolet, ce qui a pour effet de supprimer les charges. Ces mémoires sont plus particulièrement utilisées
pendant les phases de mise au point en raison de la facilité de correction des erreurs.

EEPROM (electricaly erasable programmable read only memory) : mémoires identiques aux EPROM. La
différence réside dans la technique d’effacement : ce dernier est effectué en appliquant des tensions plus
élevées que celles utilisées pour la lecture ou l’écriture.

Mémoires cache : les mémoires cache sont de type SRAM (Static RAM) ; elles ne requièrent pas de
rafraîchissement : l’information est stockée en la faisant circuler en circuit fermé, elle « s’auto rafraîchit » et
est donc toujours disponible en accès. Ce sont les mémoires les plus chères. L’emploi de ces mémoires est
combiné avec des stratégies de stockage de données par anticipation (algorithmes).

page 12
ESAT / DGF / DMSI

cache interne ou de premier niveau : mémoire de petite taille (8 à 64 Ko) très rapide (15 ns)
placée dans le processeur afin d’éviter à ce dernier des temps d’attente trop longs pour les
accès mémoire.

cache externe ou de deuxième niveau : compte tenu de la faible taille du cache interne, on
rajoute au processeur une mémoire cache externe de plus grande capacité (128 Ko à 1 Mo ou
plus), moins rapide (30 ns) que le cache interne mais plus rapide que la mémoire
conventionnelle.

taille des mémoires cache : en fait, les 64 premiers Ko de cache sont responsables à eux seuls
de la majeure partie de l’augmentation de performances d’un système. Certes les performances
sont meilleures avec 128, 256 ou 512 Ko mais dans une moindre mesure. Selon
l’environnement et les données traitées, il est possible de déterminer le volume optimum de
mémoire cache à implanter sur le système.

Mémoire vidéo : C’est dans cette mémoire que sont écrites les données qui doivent s’afficher à l’écran.

Mémoire CMOS : C’est une mémoire de petite taille, contenue dans un composant spécifique, alimenté par
une pile ou batterie. Elle contient des informations qu’il est impératif de conserver d’une cession de travail à
l’autre (heure système, paramètres de configuration des matériels, etc.). Son contenu est modifié par un
programme de la ROM, le Setup.
Les CMOS récentes sont des Flash EPROM : sorte d’EPROM dont le contenu peut être modifié par
l’utilisateur grâce à un logiciel et se conserve grâce à une petite pile ou batterie (selon les machines).

2.1.4 REGISTRES ET ACCUMULATEURS, PILE

La plupart des machines réelles disposent de plusieurs accumulateurs et/ou registres permettant à un
instant donné la manipulation quasi simultanée de plusieurs données par l’UAL.
Ces registres permettent en particulier de travailler avec des tableaux ou des structures de données
complexes, en fonction du mode d’adressage qui sera abordé plus loin.

On dispose, de plus, d’une pile de mots permettant de réaliser des stockages intermédiaires entre deux ou
plusieurs traitements ou parties de traitement.

Dans notre cas, la notion de pile est une notion de structure de données dans laquelle le dernier élément
entré est le premier qui sort. Cette structure de données s’appelle une structure LIFO (Last In First Out).
Par opposition, on définit une structure de file d’attente où le premier entré est le premier sorti (structure
FIFO : First In First Out).

2.1.5 NOTION DE TEMPS D’ACCÈS

Les opérations de lecture / écriture en mémoire ne sont pas instantanées. Ces opérations prennent en
moyenne quelques dizaines de nano-secondes (10-9 secondes).
Le temps d’accès correspond au temps nécessaire pour réaliser une opération de lecture ou d’écriture en
mémoire.
La mémoire morte est plus lente que la mémoire vive.

page 13
ESAT / DGF / DMSI

2.1.6 NOTION D’ADRESSE ET D’ESPACE ADRESSABLE. (EXEMPLE SUR


UNE MÉMOIRE À MOTS DE 8 BITS)

La machine gère la mémoire en la divisant en unités constituées par 8 transistors, ce qui permet d’y stocker
une donnée codée par un octet (un transistor donne l’état d’un Bit 0 ou 1). Chaque unité ou cellule est
référencée par une adresse. Cette adresse est codée elle-même par une succession d’éléments binaires (1
ou plusieurs Bits). C’est la connaissance de l’adresse qui permet d’accéder à la donnée.

La machine ne connaît une information que par son adresse,


son emplacement en mémoire.
Pour pouvoir traiter une donnée contenue dans une zone mémoire, le processeur doit donc stocker
l’adresse de celle-ci dans un de ses registres (ensemble de bits de taille fixée par le constructeur, servant à
stocker une information précise).
On en conclut facilement que plus le registre est grand plus on peut référencer d’adresses différentes. On
appelle espace adressable la taille de la mémoire qui peut être référencée par la machine.

Par exemple :

Les P.C. qui utilisent des registres de 16 bits, peuvent gérer un espace adressable de 2 16 adresses
différentes, soit une mémoire de 64 Ko si l’on considère que la taille de la cellule est de 1 octet, 128 Ko si
l’on considère que la taille de la cellule est de 2 octets, ...
Les ordinateurs qui utilisent des registres de 32 bits peuvent gérer un espace adressable de 232 octets soit
4Go.
Le Pentium code ses adresses sur un registre de 64 bits.

Il est intéressant de noter que l’espace adressable peut avoir une taille supérieure à celle de la mémoire
physique. Il faut alors utiliser des adresses virtuelles. (voir le chapitre « Gestion de la mémoire »).

REMARQUE : Seules les informations stockées dans des zones mémoires référencées par des adresses de
l’espace adressable (en RAM ou en ROM) sont manipulées par le processeur. Le processeur ne peut donc
pas agir directement sur les informations stockées sur les mémoires auxiliaires.

page 14
ESAT / DGF / DMSI

2.2 LES ENTRÉES-SORTIES

Les opérations d’entrée-sortie permettent d’établir des communications, c’est à dire des transferts
d’informations, entre l’unité centrale et les périphériques.

Le schéma suivant, déjà présenté, doit être explicité :

Structure et Fonctionnement des Ordinateurs

STRUCTURE SOMMAIRE D'UN ORDINATEUR


O
P P P R
é é é G
r r r A
i i i N
p
h
p
h
p
h
U E
S

é
r
é
r
é
r A D
E
MEMOIRE
i
q
i
q
i
q L C
O
CENTRALE
u u u
M
e e e
M
A
1 2 3 N
D
E

Périphériques BUS Unité Centrale


ESAT/DMSI/Cours Architecture

Les ordinateurs ont potentiellement à leur disposition un grand nombre de périphériques. Leur organisation
doit être telle que l’addition d’un périphérique non prévu initialement soit commode. A cet effet, la
communication entre le périphérique et l’organe central s’établit à travers un câble organisé en bus sur
lequel on peut raccorder très simplement plusieurs périphériques.

Un bus permet de transférer l’information en parallèle. A l’intérieur de l’unité centrale, il est constitué de fils
capables de transporter les bits correspondant aux codes opérations, aux adresses et aux données. Pour
les entrées-sorties, il contient : des fils d’adressage permettant de désigner le périphérique sur lequel on
veut travailler et des fils de commande qui permettent de transmettre les signaux qui coordonnent la
procédure d’échange.

L’organisation des entrées-sorties nécessite que l’on ait défini les modalités à l’extrémité amont du bus, du
côté de l’ordinateur (canal) ainsi que les modalités à l’extrémité aval du bus, du côté périphérique (unité de
liaison). Il existe une grande variété de solutions qui ne seront qu’évoquées un peu plus loin dans ce cours.
La seule constante est que l’initiative appartient toujours au processeur central (l’unité centrale) qui
exécute le programme et dispose seul des éléments de décision quant à l’opportunité du transfert.

Il existe différentes sortes d’architectures de machines utilisant un ou plusieurs bus. Notre machine fictive a
une structure monobus : c’est une structure utilisée dans certains ordinateurs très connus ; elle ne privilégie
aucun des organes de l’unité centrale.

page 15
ESAT / DGF / DMSI

Mais il existe des machines utilisant deux bus qui peuvent par exemple être dédiés exclusivement au
transfert des données ou au transfert des adresses : une telle structure est faite en général pour favoriser
les échanges avec la mémoire centrale, puisque les accès au registre de données mémoire et au registre
d’adresse mémoire sont différenciés.

Il existe également des ordinateurs dont l’architecture est organisée autour de trois bus, de telle sorte qu’il
soit possible d’acheminer simultanément deux opérandes dans l’UAL et que le résultat puisse être
immédiatement transféré après la phase de calcul.

2.3 LES MODES D’ADRESSAGE


Pour accroître les possibilités d’une machine, on utilise divers modes d’adressage que l’on fait figurer à
l’aide d’un code dans l’instruction elle-même. Une instruction machine a alors la structure suivante :

Code Opération Mode d'adressage Valeur d'adresse


(COP) (MA) (VA)

Le mode d’adressage fait partie du champ envoyé au séquenceur (voir plus loin) pour que celui-ci puisse
générer les signaux qui permettent d’exécuter l’instruction avec son mode d’adressage. Le champ adresse
devient le champ valeur d’adresse puisque les modes d’adressage permettent de travailler sur d’autres
éléments que l’adresse elle-même.

Le code du mode d’adressage permet de travailler de façon très variée. En général, on peut trouver :
(dans ce qui suit, les parenthèses dans la partie droite de l’affectation signifient : contenu du registre ou du
mot)

L’adressage direct (MA=0)

La valeur d’adresse effective sur laquelle l’instruction travaille est la valeur d’adresse figurant
dans l’instruction.

Par exemple l’instruction ADD,0,100, effectue l’instruction d’addition normale sur le mot
d’adresse 100

accumulateur = (accumulateur) + (100)

L’adressage immédiat (MA=1)

La valeur d’adresse devient l’opérande pour l’opération à effectuer.

Ainsi, l’instruction ADD,1,100 signifie que l’on additionne au contenu de l’accumulateur la valeur
numérique 100

accumulateur = (accumulateur) + 100

L’adressage relatif au compteur ordinal (MA=2)

La valeur d’adresse effective est égale à la somme de la valeur d’adresse et du contenu du


compteur ordinal.

Pour ADD,2,100 on aura :


accumulateur = (accumulateur) + ( 100+ (CO) )

page 16
ESAT / DGF / DMSI

Si (CO) = 234, la valeur d’adresse effective est 334.

L’adressage indexé (MA=3)

La valeur d’adresse effective est égale à la somme de la valeur d’adresse et du contenu d’un
registre appelé registre d’index (IND), s’il existe dans la machine

Pour ADD,3,100 on aura :


accumulateur = (accumulateur) + ( 100 + (IND) )

Si (IND) = 345, la valeur d’adresse effective est 445.

L’adressage indirect (MA = 4)

La valeur d’adresse effective est la valeur du contenu de la valeur d’adresse.

Par exemple, l’instruction ADD,4,100 effectue l’addition du contenu du contenu de l’adresse 100
avec le contenu de l’accumulateur.

On aura :
accumulateur = (accumulateur) + ((100))

Si (100) = 876, la valeur d’adresse effective est 876, cela revient à : accumulateur =
(accumulateur) + (876)

L’adressage indirect préindexé (MA = 5)

C’est une combinaison des modes indexé et indirect.

L’instruction ADD, 5, 100 se traduit par :


accumulateur = (accumulateur) + ( (100 + (IND) ) )

L’adressage indirect postindexé (MA = 6)

L’instruction ADD, 6 ,100 se traduit par :


accumulateur = (accumulateur) + ( (100) + (IND) )

Il existe d’autres modes d’adressage mais ceux qui viennent d’être présenté sont les plus caractéristiques.

2.4 STRUCTURE DE L’UAL


En fait la structure et le fonctionnement de l’UAL sont légèrement différents de ce qui a été décrit.

Le ou les accumulateurs sont des registres externes à l’UAL, et ce qui a été appelé accumulateur jusqu’ici
n’est qu’un registre permettant des stockages provisoires durant le déroulement de l’instruction.

Chacun des circuits de calcul ne dispose pas d’un mot propre à l’intérieur de l’UAL, il est simplement en
connexion sur le ou les bus de la machine.

Durant le déroulement du cycle de base d’une instruction machine, au moment où le champ code opération
est pris dans le registre d’instruction, la valeur du code opération n’est pas envoyée dans le décodeur de

page 17
ESAT / DGF / DMSI

fonction qui n’existe pas, mais dans un organe particulier, relié au distributeur de phase commandé par
l’horloge, qui porte le nom de séquenceur.

Etant donné ce qui vient d’être dit, le schéma de notre ordinateur peut évoluer comme ceci :

Structure et Fonctionnement des Ordinateurs

RI Ordinateur fictif
PILE
R
CODE
+ A
E
G OPER
C
I
* C
S
U MODE
T
- M
R d' @
R R
U C
L
E
O A D
A
D' M M
T
I
UAL E
N
U @
D
R
E
X

BUS

HORLOGE SEQUENCEUR
ESAT/DMSI/Cours Architecture

Le schéma illustre ces notions : séquenceur, unité arithmétique et logique, pile, bus, registres et
accumulateurs y figurent. Par souci de cohérence la structure monobus a été conservée.

Le séquenceur est l’organe qui génère la suite des signaux assurant les commandes élémentaires qui
permettent à une instruction de s’exécuter.
Ces commandes consistent à ouvrir ou fermer dans un sens ou dans l’autre, les portes d’accès entre le bus
et les registres ; elles déclenchent aussi les opérations de lecture et d’écriture en mémoire ; enfin, elles
activent les circuits de calcul de l’unité arithmétique et logique.

Pour que le cycle de base décrit ci-dessus puisse être exécuté, il est nécessaire de décomposer autrement
les phases vues précédemment.

En effet, soit Y l’un des registres de la machine, si les seules commandes que l’ordinateur est capable
d’effectuer sont les suivantes :

entrer sur le bus à partir du registre Y


sortir du bus pour entrer dans le registre Y
déclencher une opération dans l’UAL
déclencher une lecture en mémoire centrale
déclencher une écriture en mémoire centrale

page 18
ESAT / DGF / DMSI

La phase 1 devient, par exemple, la suite de commandes :

entrer sur le bus adresse à partir du CO


sortir du bus adresse pour entrer dans le Registre d’Adresse Mémoire.

Le séquenceur est, soit un organe câblé, soit un organe microprogrammé. Schématiquement, un


séquenceur est microprogrammé quand la suite des commandes, à réaliser pour qu’une instruction machine
s’exécute, est formalisée et manipulée comme un programme à l’aide micro instructions.

Nous venons de voir que les ordinateurs sont des machines universelles pour le traitement rationnel de
l’information.
Les relations entre l’unité centrale et les ressources périphériques ont été présentées d’un point de vue
matériel pour situer les différents organes qui permettent de les réaliser.

Le fonctionnement et l’architecture d’une machine tels qu’ils ont été présentés jusqu’ici ne permettent pas
encore de comprendre comment elle peut être utilisée efficacement, dans la mesure où l’écriture des
programmes ne pourrait être que très longue et très fastidieuse.

Nous verrons, par la suite, les outils qui permettent d’écrire des programmes en se dégageant de
l’architecture et du fonctionnement interne de l’ordinateur.

page 19

Вам также может понравиться