c
M Dunseath-Terao et K Dunseath 7
Chapitre 2
Les Outils Informatiques
2.1. L’architecture des ordinateurs
Tous les ordinateurs comportent
un ou plusieurs processeurs ;
de la m´emoire ;
un ou plusieurs supports de stockage (disques durs, CD, . . .) ;
des interfaces avec les utilisateurs (´ecrans, claviers, souris, imprimante, microphone, . . .)
2.1.1. Les processeurs
Appel´e aussi unit´e centrale (cpu = central processing unit), le processeur est compos´e d’une tr`es grande
quantit´e de circuits inegr´es et ex´ecute des programmes en r´ealisant des op´erations arithm´etiques ou
logiques sur des donn´ees. C’est la seule composante qui cr´ee de nouvelles informations en combinant ou
en modifiant des informations existantes. La vitesse d’un processeur peut ˆetre mesur´ee en
Cycle horloge = unit´e de temps la plus courte pour une op´eration. L’unit´e est le Hertz (Hz), les
processeurs modernes atteignent des vitesses de l’ordre du Gigahertz (GHz).
Nombre d’instructions par seconde (mips = millions instructions per second). Une instruction est une
ache ex´ecut´ee par le processeur.
Nombre d’op´erations flottantes par seconde (flops = floating point operations per second). Une op´eration
flottante est une op´eration effectu´ee sur des nombres r´eels. Une op´eration prend au moins un cycle mais
certains processeurs sont capables d’ex´ecuter plusieurs op´erations de types diff´erents simultan´ement.
On remarque que les op´erations flottantes prennent souvent plus de temps que les op´erations sur des
entiers. L’op´eration de division prend beaucoup plus de temps (13-17 cycles horloge) que les op´erations
d’addition et de multiplication (4 cycles).
Chapitre 2 Les Outils Informatiques 8
Un processeur comprend
une unit´e de contrˆole : comprenant d’une part un registre d’instruction contenant sous forme num´erique
l’action `a ex´ecuter, d’autre part un compteur avec l’adresse de l’instruction suivante `a ex´ecuter.
des registres de donn´ees : zone m´emoire suffisante pour stocker un nombre. On distingue les registres
r´eels et les registres entiers.
des unit´es arithm´etiques/logiques : ex´ecutant les instructions enti`eres, r´eelles ou logiques. Chaque unit´e
a en plus ses propres registres.
L’ex´ecution d’un programme entraˆıne les 4 ´etapes suivantes :
1. Charger dans le registre d’instruction le contenu de la m´emoire dont l’adresse est fournie par le
compteur ;
2. D´ecoder et ex´ecuter l’action sp´ecifi´ee dans le registre d’instruction ;
3. Incr´ementer le compteur de mani`ere `a ce qu’il pointe vers l’instruction suivante ;
4. Retourner `a l’´etape 1.
Un programme est donc une longue liste d’instructions num´eriques. Cette liste est stock´ee dans une
zone particuli`ere de la m´emoire. Au d´ebut de l’ex´ecution du programme, le compteur est initialis´e `a la
premi`ere adresse de cette zone (ou entry point). Le CPU ex´ecute ensuite les instructions du programme.
Certaines instructions peuvent modifier le compteur et donc l’adresse de l’instruction suivante `a ex´ecuter.
Le programme n’est donc pas n´ecessairement ex´ecut´e d’une mani`ere lin´eaire, il peut sauter des instructions
ou revenir en arri`ere et les r´ep´eter. Il peut mˆeme sortir de la zone m´emoire (appel de sous-routines) et y
revenir. A la fin d’une ex´ecution, le compteur est charg´e avec l’adresse d’un programme du syst`eme qui
lib`ere la zone m´emoire pour l’ex´ecution d’autres programmes.
On distingue diff´erents types de processeurs :
1. Processeurs scalaires :
Processeur CISC : “Complex Instruction Set Computer”, processeur “classique”, volontairement
compliqu´e mais qui acc`ede moins souvent `a la m´emoire. Exemples : AMD Athlon, Intel Pentium,
...
Processeur RISC : “Reduced Instruction Set Computer”, processeur ayant un jeu limit´e d’ins-
tructions de longueurs ´egales, mais ex´ecut´es tr`es rapidement. Les processeurs RISC sont plus
efficaces et sont capables d’effectuer plusieurs instructions par cycle d’horloge (processeurs super
scalaires). Exemples : IBM Power2 et Power PC, MIPS R12000 (Motorola), . . .
2. Processeurs vectoriels :
capables d’ex´ecuter une instruction sur un vecteur d’op´erands.
Exemples : Cray, Fujitsu, NEC, . . .
Chapitre 2 Les Outils Informatiques 9
Performances en Mflops de quelques processeurs et ordinateurs
R´esolution d’un syst`eme de n´equations lin´eaires (LINPACK Benchmark)
http ://www.netlib.org/benchmark/performances.ps par Jack J. Dongarra
Processeurs Theoretical Peak n= 1000 n= 100
NEC SX-6 8000 7575 1161
Futjitsu VPP 5000 9600 8784 1156
IBM eServer pSeries 690 Turbo 1.3 GHz 5200
IBM RS/6000 SP Power 3 375 MHz 1500 1208 424
Intel P4 2.53 GHz 5060 2355 1190
Intel Itanium 800 MHz 3200 2282 580
Sun Ultra SPARC III 750 MHz 1500 769 343
Ordinateur Theoretical Peak n= 1000
NEC SX-6/8 (8 processeurs) 64000 41520
Cray T932 (4 processeurs) 7200 5735
Cray T932 (32 processeurs) 57600 29360
2.1.2. La m´emoire
La m´emoire est compos´ee de circuits inegr´es. On en distingue plusieurs types :
RAM (random access memory), accessible en lecture et en ´ecriture
ROM (read only memory), accessible en lecture seulement
PROM (programmable read only memory)
La plus petite unit´e de stockage est le bit, qui peut prendre les valeurs 0 ou 1. Un byte ou octet est
compos´e de 8 bits. La m´emoire peut ˆetre compartiment´ee en blocs (typiquement 512 octets) ou pages
(4096 octets). Elle est organis´ee suivant l’hi´erarchie suivante :
1. cache de niveau 1 : m´emoire situ´ee dans le cpu, tr`es rapide (temps d’acc`es 10 nsec) mais d’un
coˆut tr`es ´elev´e. Typiquement, un cpu a une cache de 128 Ko `a 256 Ko.
2. cache de niveau 2 (optionnelle) : m´emoire situ´ee sur la carte m´emoire et qui forme un espace
tampon (buffer ) entre le cpu et la m´emoire primaire.
3. m´emoire primaire : moins rapide que la m´emoire cache (temps d’acc`es 60-70 nsec), mais moins
coˆuteuse et donc plus abondante (typiquement de 128 Mo `a 256 Mo pour un PC, un Go pour une
station de travail et jusqu’`a plusieurs centaines de Go pour les gros serveurs de calcul).
Chapitre 2 Les Outils Informatiques 10
L’information entre les diff´erents modules (cpu, m´emoire, . . .) est transf´er´ee par des bus. Le taux de
transfert est appel´e band width, il est mesur´e en bits/sec ou bps et peut varier de 10 Mbps `a 500 Mbps.
2.1.3. Les disques
Les disques durs sont des zones de stockage de donn´ees sur des supports magn´etiques, qui peuvent ˆetre
acc´ed´es en lecture ou en ´ecriture. La taille d’un disque varie entre 20 Go et plusieurs centaines de Go,
avec des temps d’acc`es entre 8 et 12 msec. Le taux de transfert sur disque est de l’ordre de 80 Mbps. Les
CD ont une capacit´e d’environ 800 Mo.
2.2. Les logiciels
1. Le syst`eme d’exploitation : Operating System (OS)
Exemples : Mac/OS (Macintosh), Windows, Unix (Linux), . . .
L’Unix est un OS globalement ind´ependent de l’architecture de la machine.
2. Les langages de programmation :
Fortran (Formula Translation), adapt´e pour le calcul scientifique intensif. A l’heure actuelle
Fortran90 est la version standard.
C, C++
Pascal (utilis´e en p´edagogie)
Lisp (intelligence artificielle)
– ADA
– Perl
– Java
. . .
3. Les interfaces graphiques :
Ils jouent un rˆole important pour le confort de l’utilisateur (Exemples : X-windows, KDE,
Gnome, Windows, . . .).
Ils permettent l’interpr´etation rapide de nombreux r´esultats (Exemples : xmgr, Data Explorer,
AVS, PV-Wave,. . .).
4. Les communications :
TCP/IP (Transmission Control Protocol/Internet Protocol) :
FTP (File Transfer Protocol) : transfert de fichiers
Telnet, rlogin : connection `a distance
Remote command : commande `a distance
Modem : PPP (Point to Point Protocol)
HTTP (hypertext transfer protocol) : pour les serveurs et browsers web
Chapitre 2 Les Outils Informatiques 11
5. Les outils de calcul symbolique
Exemples : Mathematica, Matlab, Maple, Macsima, . . .
manipulent des chaˆınes de caract`eres plutˆot que des entiers ou des r´eels
sont utiles pour l’´evaluation analytique de s´eries, int´egrales, d´eriv´ees, r´eduction de polynˆomes
et recherche de racines, manipulation de matrices . . .
fonctionnent aussi en mode num´erique
offrent une visualisation graphique des r´esultats
6. Les biblioth`eques scientifiques
souvent optimis´ees pour une machine
des versions parall`eles sont souvent disponibles
assurent une meilleure portabilit´e des codes
Exemples :
BLAS (Basic Linear Algebra Subroutines)
EISPACK (Eigensystem Subroutine Package), LINPACK (Linear Package),
LAPACK (Linear Algebra Package)
Biblioth`eques commerciales (NAG, ESSL, . . .)
STAT (biblioth`eque statistique)
Quelques informations sur l’ordinateur utilis´e en TP
PC `a 2 processeurs Intel Pentium II, 400MHz, 512 Ko cache, 192 Mo m´emoire
Disques : /home : 3Go, /etu : 9Go
Syst`eme d’exploitation : LINUX kernel 2.2.13, distribution Mandrake, interface graphique KDE.
1 / 6 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 !