NOTES de COURS : Pré-requis
Chapitre 1 : Organisation générale d'un calculateur
nurique
Un système informatique moderne est composé de quatre parties
compmentaires dont les trois premres sont indispensables pour que le calculateur
rende le moindre service. Ce sont :
1) Le matériel dont le cœur comprend le processeur et la moire centrale,
2) Le logiciel composé de programmes destinés à être exécutés par le matériel,
3) Le Système d'Exploitation, ensemble de programmes permettant d'exploiter le
calculateur,
4) Les progiciels, ensemble de logiciels permettant de mettre en machine une
application sans avoir à écrire de programmes.
1.1 Le matériel
Le matériel d'un ordinateur est composé d'une Unité Centrale (UC) contenant
le processeur chargé d'exécuter les instructions présentes en moire centrale, de
plusieurs dispositifs d'entrée-sortie capables d'établir des échanges avec le monde
extérieur (clavier-écran, imprimantes ...) et de moires auxiliaires (disques et
bandes) permettant de ranger de façon permanente les programmes et les données
que le calculateur devra traiter. La figure 1.1 montre ces composants principaux.
Imprimante
Terminaux Disque
Bande
Processeur
Mémoire
Centrale
Contrôleurs
Contrôleurs
UNITE CENTRALE
MEMOIRE
SECONDAIRE
ENTREES-SORTIES
Figure 1.1 Structure d'un calculateur numérique
Principes de fonctionnement d'un calculateur numérique : Chapitre 1 1
Un programme exécutable est une suite d'instructions que le processeur doit
interpréter les unes après les autres ; ce programme, stocké sur le disque, est
transfé en mémoire centrale pour être exécuté. Le processeur contient un
Compteur Programme (CP) qui repère le numéro de l'instruction en cours
d'exécution ; au lancement du programme ce compteur à la valeur 0 puis sa valeur
augmente d'une unité à chaque instruction exécutée.
Parmi ces instructions, certaines font appel à d'autres suites d'opérations dont
le rôle est de gérer les échanges entre un dispositif physique extérieur (disque,
terminal ...) et le processeur central, à travers un processeur spéciali appe
contrôleur (CTRL).
Ex: Soit le programme suivant :
0- Lire au clavier la valeur donnée à une variable x
1- Lire au clavier la valeur donnée à une variable y
2- Exécuter l'opération z = x + y
3- Ecrire sur l'écran la valeur de z
L'instruction 0 activera une suite d'opérations exécutées par le contrôleur du
clavier qui viendra lire les chiffres tapés par l'utilisateur pour composer un nombre
qui sera transmis au processeur central puis affecté à la variable x, ce qui terminera
l'exécution de la premre instruction. Le compteur programme sera ensuite
incrémenté d'une unité pour aller chercher l'instruction suivante.
L'instruction 1 s'exécutera de façon identique à l'instruction 0, le nombre lu
étant affecté à la variable y.
Le processeur possède alors les valeurs de x et de y.
L'instruction 2 réalise la somme de ces 2 valeurs rangées dans l'unité centrale,
soit dans le processeur lui-même (on parle alors de registre), soit en mémoire
centrale, dans une zone de stockage nommée z.
L'instruction désige par la valeur 3 du compteur programme consistera à
lire la zone nommée z puis à transmettre au contrôleur la valeur contenue dans cette
zone ; celui-ci compose la suite de chiffres correspondant à ce nombre pour l'écrire
sur l'écran.
L'uni centrale est le cœur de la machine informatique : elle est formée de
circuits logiques généralement reliés entre eux par des "bus" sur lesquels circule
l'information échangée entre les cartes. (carte re) (Figure 1.2)
Principes de fonctionnement d'un calculateur numérique : Chapitre 1 2
B
U
S D O N N E E S
B
U
S A D R E S S E
B
U
S C O
T R O
L
E
C
T
R L
C
R
A
N
-
C
L
A
V
I E
R
M
E
M
O
I R
E
P
R I N C
I
P A
L
E
C
T
R L
D
I
S Q
U
C
T
R L
I
M P
R
I
M -
A
N
T E
U N
I
T E C E N
T
R A L
E
C
O
N T
R
O
L
E U R
S
d
e P
E R
I
P
H
E
R
I
Q
U E
S
P
R
O
C
E
S
S
E
U
R
M
E
M
O
I
R
E S
A
H
E S
Figure 1.2 Composants fonctionnels d'une unité centrale
1.1.1 Le processeur
Les processeurs sont aujourd'hui des circuits intégrés pouvant contenir
plusieurs millions de transistors. La performance du processeur s'exprime alors en
millions d'instructions par seconde (MIPS).
Le calcul de performance s'établit à partir de la formule suivante :
T = N * C * Tc
T = Temps d'exécution total d'une suite d'instructions
N = Nombre d'instructions exécutées
C = Nombre de cycles d'horloge nécessaires en moyenne pour exécuter une
instruction
Tc = Temps de cycle de l'horloge de base de la machine.
Principes de fonctionnement d'un calculateur numérique : Chapitre 1 3
Par exemple un processeur dont la fréquence d'horloge est de 3 Ghz capable
d'exécuter 2,2 instructions par cycle en moyenne aura exécuté 6,6 milliards
d'instructions en 1 seconde d'unité centrale. (N = T / N*Tc)
(La nanoseconde (ns) soit 10-9 s représente le temps séparant deux impulsions
d'une horloge à 1 Ghz).
Par le passé, les constructeurs affichaient la performance des processeurs en
Millions d'Instructions par Secondes (instructions entières ou flottantes). Vu la
complexi des processeurs actuels et notamment leur capacité d'exécution
simultanée de plusieurs instructions, ces mesures ne sont plus significatives.
L'étude de performance s'établit actuellement par comparaison à partir de
programmes de tests (appelés benchmarks) significatifs des types d'applications que
le processeur exécute. Pour le calcul, les références sont des benchmarks sur des
entiers (SPECint) et sur des flottants (SPECfloat : il s'agit d'opérations arithmétiques
sur des nombres représentés en flottant (voir chapitre 2 paragraphe 2.1).
Le tableau fournissant le SPECint du processeur Itanium (Architecture IA64 de HP et
Intel mise sur le marché en Mai 2001) se lit ainsi :
Le SPECint2000 est de 314 et le SPECint_base2000 est aussi de 314. Ceci signifie
que les performances crêtes obtenues sont identiques aux performances nominales.
Ceci s'explique par la jeunesse du processeur en juin 2001 qui ne disposait pas encore
des outils logiciels pour optimiser le code produit à partir du programme test.
La première colonne donne le nom du programme test. La seconde (Reference Time)
est le temps de référence actuellement obtenu sur une architecture classique. La
troisième (Base runtime) est le temps obtenu en utilisant une version de base du
calculateur sans chercher à améliorer les outils de base, la troisième (Base Ratio) est
le rapport (*100) entre le temps de référence et le temps de base ; ces valeurs sont
aussi produites en essayant d'optimiser l'exécution du test (colonnes Runtime et
Ratio).
La fin de la fiche décrit le matériel, le sysme d'exploitation et les options de
compilation utilies pour produire le code qui a engendré ce résultat.
En regardant précisément la fiche du processeur Alpha21264 on remarque que les
deux valeurs sont différentes : Le SPECint2000 est de 533 et le SPECint_base2000
est de 511.
Ceci signifie qu'il est possible d'aliorer le rendement de la machine en utilisant des
options de compilation (et peut-être des options du système d'exploitation).
Remarquez par exemple que le programme 253permblk est deux fois plus rapide
dans la version optimie que la version nominale). C'est l'expérience acquise sur ce
type de processeur et ce type de système qui permet d'engendrer un code plus
efficace.
Les processeurs qui équipent les unités centrales des calculateurs actuels
tendent à se standardiser alors que quelques années auparavant chaque constructeur
développait une ou plusieurs unités centrales spécifiques. Le processeur Intel
Pentium définit une gamme de processeurs, actuellement commercialisés dans les
Principes de fonctionnement d'un calculateur numérique : Chapitre 1 4
calculateurs PC (Pentium, PentiumIII, Pentium Pro, Pentium IV), évolutions
successives des architectures 80x86. Le dual core est le dernier de la gamme sorti des
usines d'Intel qui exploite le parallélisme de flots pour améliorer encore les
performances ; une nouvelle architecture en rupture avec l'architecture des Pentium
équipe certains calculateurs notamment chez Hewlett Packard et Intel. (Itanium,
architecture IA64).
Les autres principaux constructeurs de processeurs sont :
Advanced Micro Devices (Athlon, Opteron compatible Intel), Hewlett-Packard
(HP9000), Silicon Graphics Inc (R14000), IBM (RS6000), Sun (Blade)
(comparaisons.)
1.1.2 La mémoire centrale
Définitions
1) Dans un calculateur nurique, l'information est représentée par des
variables qui ne prennent qu'un nombre limide valeurs discrètes ; en prenant 10
valeurs représentées par les symboles 0 à 9 on définit le système décimal ; les
calculateurs nuriques utilisent le système binaire qui contient seulement deux
valeurs discrètes notées 0 et 1 appelées BIT (BInary digiT).
2) Un groupement de 8 positions binaires est appelé un octet.
3) On note 1K. (1 Kilo) = 210 soit 1.024 et 1M.(1 Méga) = 220 soit 1.048.576
La moire centrale du calculateur est formée à partir de circuits intégrés contenant
1, 4, 16 ou 64 Méga positionsmoire par boîtier.
Une position mémoire est identifiée par une adresse et permet de mémoriser un bit,
un octet ou deux octets. L'information morie dans une position binaire de la
moire représente donc soit la valeur 0 soit la valeur 1 en base 2 (Figure 1.3 a).
Une adresse moire est donc un nombre représenté par un ensemble de
positions binaires : par exemple, pour sélectionner un mot parmi un Méga mot de
moire il faut donc 20 positions binaires ; dans les calculateurs actuels les adresses
sont codées en utilisant de 32 à 64 bits.
Considérons un boîtier mémoire possédant par exemple 4.194.304 adresses
(4Méga) morisant un bit à chaque adresse. En montant en parallèle 32 de ces
boîtiers on forme ainsi des mots de 32 bits permettant de stocker chaque information
sur 32 positions binaires (Figure 1.3 b). Si une information est un nombre entier non
signé on peut ainsi représenter tous les entiers de l'intervalle [0 .. 232 - 1]. On
obtient alors une mémoire centrale de 4 Méga mots de 32bits ; un accès à une telle
moire fourni donc un mot sur 32 positions binaires.
Principes de fonctionnement d'un calculateur numérique : Chapitre 1 5
1 / 41 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !