ORDINATEUR------Information

publicité
Cours L1.2. Introduction générale.
L1.2 - FORTRAN
2008-2009
UNIVERSITE DE NICE-SOPHIA ANTIPOLIS
Cours de Nicole Bethoux
Laure Schenini
Introduction générale :
I- L’ordinateur
Qu’est ce que c’est ?
Un ordinateur : Machine automatique de traitement de l’information permettant de
conserver, d’élaborer et de restituer des données sans intervention humaine en effectuant, sous
le contrôle de programmes enregistrés, des opérations arithmétiques et logiques.
1ère approche :
un processeur qui effectue les traitements
une mémoire centrale où le processeur range les données et les résultats de ces traitements
des périphériques permettant l’échange d’informations avec l’extérieur.
Lien avec un bus, artère central permettant l’échange de données.
Pratiquement : tous les ordinateurs actuels ont cette structure, micro-ordinateurs personnels ou
gros ordinateurs des entreprises. Différences : performances des constituants.
L’ensemble des communications s’effectue en langage binaire.
La plupart des systèmes supportent le même type de périphériques. Leur nombre dépend de la
taille et des performances de l’unité centrale.
Périphériques particuliers pour les matériels à vocation scientifique ou industrielle.
A. L’unité centrale
dessin unité centrale
C’est le cerveau de l’ordinateur. Son rôle est d’exécuter les programmes stockés en mémoire
centrale en chargeant des instructions, en les décodant et en les exécutant l’une après l’autre.
Elle est composée d’une Unité de commande qui charge les instructions et les décode et
d’une unité arithmétique et logique qui exécute les opérations de la mémoire centrale.
L’unité de commande comprend une mémoire très rapide qui lui permet de stocker des
résultats temporaires ou des informations de commande. Cette mémoire est formée de
registres, chaque registre ayant une fonction particulière.
exemple :
compteur ordinal qui pointe sur la prochaine instruction à exécuter.
registre instruction qui contient l’instruction en cours d’exécution.
1
Cours L1.2. Introduction générale.
L’unité arithmétique et logique réalise les opérations mathématiques et logiques nécessaires
au fonctionnement de l’ordinateur.
B. Architecture des microprocesseurs :
2 types de microprocesseurs :
 CISC : Complex Instruction Set Computer, de conception plus ancienne, moins
performants car ils disposent d’un jeu d’instructions importants (500) ce qui ralentit la
recherche de l’instruction désirée.
ex : i80486, Pentium, MC68000, MC68040 …
 RISC : Reduced Instruction Set Computer : de conception plus récente et plus
performante, jeu d’instructions polyvalent (160 à 200), ce qui les rend plus rapides
ex : i960, RS6000, DecAlpha …
Synchronisation des opérations :
La synchronisation des différentes opérations est réalisée par une horloge qui définit le cycle
de base et qui est en général la fréquence d’horloge du processeur. Le temps d’exécution
d’une instruction dépend du type d’opération à effectuer et du type de processeur utilisé, ce
qui peut prendre un ou plusieurs cycles d’horloge.
Structure des instructions niveau machine
Une instruction machine doit fournir au processeur toutes les informations pour déclencher
une opération élémentaire. Elle doit contenir un code opération (type d’action demandée) et
une ou plusieurs adresses (adresse de l’opérande, adresse où envoyer le résultat, adresse où
chercher l’instruction suivante …)
6 groupes d’instructions que l’on retrouve sur toutes les machines :
les transferts de données (load, move, store ..)
les opérations arithmétiques (+,-,*,/)
les opérations logiques (et, ou)
les contrôles de séquences
les entrées/sorties
les manipulations diverses (décalage, incrémentation …)
C. Performance des microprocesseurs
Les performances des microprocesseurs se mesurent au nombre d’instructions qu’ils
peuvent traiter en une seconde. ex : 80 MiPs = 80 millions d’opérations à la seconde.
Cette valeur devrait être identique à la fréquence de base du microprocesseur, mais celui-ci
n’exécute pas toujours une opération par cycle. Donc le nombre de Mips est souvent inférieur
au nombre de MHz.
Avec des techniques de traitement parallèle et des architecture de type multi-bus, certains
microprocesseurs peuvent offrir des performances supérieures ou égales à leur fréquence
d’horloge.
2
Cours L1.2. Introduction générale.
Architecture parallèle
Le traitement des besoins informatiques a conduit à faire évoluer les ordinateurs vers des
puissances de plus en plus grandes. L’un des points essentiels de ces développements porte
sur l’architecture des machines, ie la manière dont sont agencés les différents composants :
processeurs, mémoires, connexions, canaux d’entrée et sortie …
Le mode de fonctionnement classique consiste à faire effectuer, séquentiellement, un
programme par la machine. A tout instant du programme, une seule instructions, portant sur
une seule variable ou un couple de variables, est exécutée. Si le traitement comporte plusieurs
opérations, celles-ci doivent être effectuées séquentiellement, une opération ne pouvant
commencer que lorsque la précédente est terminée.
Une telle machine nécessite un seul processeur, un compteur d’instructions et une mémoire
contenant, à la fois, les données et les instructions (et les entrées, sorties). Ce type
d’architecture est le SISD : Single Instruction, Single Data stream.
Pour accélérer ce traitement, une solution consiste à le répartir sur plusieurs processeurs. Il y a
différentes façons de procéder.
La plus simple, équivalent du travail à la chaîne dans les usines, consiste à répartir sur
différents processeurs, le traitement portant sur une donnée.
Structure MISD : Multiple Instruction Single Data Stream, plus connue sous le nom de
« pipe-line », par analogie avec les canalisations où le carburant liquide s’écoule et ressort à la
sortie. Ce type d’architecture permet de multiplier la capacité de traitement par le nombre de
processeurs mis bout à bout, une fois la chaîne amorcée
A l’inverse, il est souvent avantageux de faire effectuer simultanément la même instruction
sur des données différentes : on peut alors parler d’architecture parallèle. Dans ce cas de
figure, les données sont intrinsèquement structurées en ensembles ordonnées et homogènes
appelés « vecteurs », destinés à subir le même traitement. Toutes ces données arrivent
simultanément dans un ensemble de processeurs élémentaires, dit « processeur vectoriel », où
elles sont traitées en même temps selon une instruction unique. L’ensemble des processeurs
élémentaires est coordonné par un superviseur. Ce parallélisme est également appelé SIMD :
Single Instruction Multiple Data Stream.
Le quatrième grand type d’architecture, dit parallélisme concurrent ou asynchrone, encore
désigné par MIMD (Multiple Instruction Multiple Data stream) se rencontre dans les
problèmes décomposables en sous-problèmes. Plusieurs instructions différentes, portant
chacune sur une donnée ou un groupe de données, sont exécutées indépendamment l’une de
l’autre.
D. La mémoire centrale
Partie de l’ordinateur dans laquelle programmes et données sont rangés. Le processeur lit et
écrit dans la mémoire.
La mémoire est formée d’un certain nombre de cellules, chacune de ces cellules contenant un
certain nombre d’informations. Chaque cellule a un numéro (son adresse), qui permet à un
programme de la référencer. Toutes les cases ou cellules de la mémoire contiennent le même
3
Cours L1.2. Introduction générale.
nombre de bits. Elle ne peut contenir que deux types d’informations : les instructions et les
données.
La mémoire est organisée de façon à respecter une certaine hiérarchie dictée essentiellement
par la rapidité des composants.
Registre de CPU : stockage des opérandes et des résultats intermédiaires (5 ns)
Antémémoire ou mémoire cache : tampon entre la mémoire centrale et le CPU (15 ns)
Mémoire centrale : Utilisée pour le rangement des informations. Elle contient le programme à
exécuter (60 ns)
Mémoire d’appui : Mémoire tampon entre la mémoire centrale et les mémoires de masse (100
ns)
Mémoire de masse : Systèmes d’archivage : disques durs, bande magnétique … (10-30 ns).
Différents types d’accès :
Accès séquentiel : pour accéder à une information, il faut parcourir toutes celles qui la
précèdent (bande magnétique)
Accès direct : l’information possède une adresse propre qui lui permet de la localiser
directement (RAM)
Accès semi-séquentiel : combinaison entre l’accès direct et l’accès séquentiel (disque dur)
Accès par contenu : l’information est identifiée par une clé de recherche (mémoire cache).
Mémoires à semi-conducteurs :
Mémoires à accès direct qui peuvent être lues et écrites. Plusieurs types de nature et de
conception différentes :
 la RAM (Random Access Memory) à accès direct.
 la ROM : Read Only Memory, mémoire morte où l’on peut lire uniquement.
utilisées pour y implanter le BIOS (Basic Input Output System) de l’ordianteur.

la PROM : (Programmable ROM) mémoire morte programmable une seule fois par
l’utilisateur. Très peu utilisée en informatique.

l’EPROM : (erasable PROM).
Mémoire cachée :
Le principe de la mémoire cachée est de trouver une solution à la grande différence de
vitesse entre le processeur et la mémoire centrale, car il existe une grande disparité des
vitesses (rapport 10). Les ordinateurs ont différents types de cache, à peu près la même
définition.
La cache réalise quelques tâches spécifiques. Certaines caches dédiées à ne faire qu’une seule
tâche, mais la plupart réalisent les tâches suivantes :
cache en écriture, utilisée lorsqu’un périphérique rapide envoie de l’information à un
périphérique lent. La cache permet de transmettre les informations à la vitesse du périphérique
lent et de libérer les autres.
4
Cours L1.2. Introduction générale.
cache en lecture : lorsqu’un périphérique rapide obtient de l’information d’un périphérique
lent. Lire à l’avance ce dont on pourrait avoir besoin dans la suite. On peut avoir accès
rapidement à qqch déjà en mémoire. Lorsqu’elle est vide, elle peut se remplir d’elle-même
pendant qu’on fait autre chose.
E. Les unités d’entrée-sortie :
Permettent de transférer les données entre l’unité centrale et les périphériques qui composent
l’ordinateur. Les plus courantes :
le bus
le DMA (Direct Memory Access)

le bus
Simple câble de n lignes permettant de faire passer des données du processeur à la mémoire
et vice-versa. C’est une voie d’interconnexion et d’échanges permettant le transfert de
données entre les éléments internes d’un ordinateur, le processeur et la mémoire centrale. Le
bus permet de véhiculer tous les signaux entre l’unité centrale et les périphériques.
3 groupes de bus :
le bus de données qui sert à transporter l’information proprement dite.
le bus d’adresse qui permet d’identifier la case mémoire concernée par l’opération encours
le bus de commandes qui détermine le type d’opérations à effectuer.
Chaque périphérique doit être relié à un bus par un contrôleur spécialisé et il existe plusieurs
contrôleurs de bus.
ex : ISA, LOCAL, VESA
ex : bus PCI : PCMCIA
PCMCIA : bus développé principalement pour les portables. Performances limitées. Pas la
prise de contrôle du bus par les périphériques. Très petite taille des connecteurs et des cartes
d’extension (format cartes de crédit). Le seul autorisant la connexion et déconnexion des
cartes d’extension sans couper l’alimentation de l’ordinateur.

Accès direct à la mémoire : DMA
Le DMA permet à un périphérique d’accéder directement à la mémoire sans passer par le
CPU. Il est prioritaire sur celui-ci pour l’accès à la mémoire. Le fait d’utiliser un DMA pour
gérer un périphérique améliore nettement les performances de celui-ci. La carte son utilise ce
procédé.

canaux d’entrée/sortie
Ils sont plus performants que les DMA et permettent à plusieurs périphériques de travailler
simultanément. Ce sont de véritables processeurs spécialisés. Ils sont programmables,
enchaînent des opérations d’entrée/sortie et ont un accès prioritaire à la mémoire.

Système d’interruption
5
Cours L1.2. Introduction générale.
Pour mener à bien les échanges, les unités d’entrée-sortie doivent pouvoir signaler au CPU
qu’elles sont connectées et prêtes à transférer des données ou bien que l’échange de celles-ci
s’est bien déroulé.
F. Les interfaces d’entrée/sortie
L’émergence d’appareils numériques et de l’Internet a entraîné une accélération de la quantité
de données utilisées sur PC. Cette tendance a justifié l’utilisation de microprocesseurs de plus
en plus rapides, de disques durs de plus en plus gros, d’écrans de plus en plus larges et de
connexions internet de plus en plus haut débit.
Les interfaces ont subi la même tendance. Doublement de la puissance tous les 18 mois (loi
de Moore).
Quelques interfaces ici :
Interface USB : haut débit(jusqu’à 480 Mbits / s)
Utilisable pour connecter clavier, souris, manette de jeux, liaison PC à PC, appareil photo et
caméra vidéo haute résolution, lecteur MP3, lecteur de disquette standard ou zip, disque dur
externe, graveur de CD RW
Interface SCSI : Small Computer System Interface. Haut débit
Connecter des disques durs de haute performance et les CD R, CD-RW, DVD, scanners,
imprimantes. Connexion d’un grand nombre de périphériques (7), rapide, excellentes
performances de débit, indépendantes de la charge du système.
Les systèmes d’exploitation :
Ce n’est qu’un programme spécialisé qui assure le bon
fonctionnement de l’ordinateur et gère les divers périphériques : ex
MS-DOS , UNIX, LINUX
WINDOWS ou MACINTOSH systèmes qui gèrent à la fois l’ordinateur et des
applications ou logiciels (Word, excel,adobe,power-point…etc)
ex :Windows 1998, 2000 …
Programmes : Excel, Word …
Dépendent du système d’exploitation. Niveau très sophistiqué d’exécution de l’ordinateur.
Les systèmes d’exploitation :
 monotâche/monoutilisateur
ex : DOS
 monoutilisateur/multitâche :
ex : Windows 95, Windows 98, OS2
 multiutilisateur/multitâche
ex : Windows 2000, Unix, Linux
Linux est la version gratuite de Unix.
6
Cours L1.2. Introduction générale.
Plusieurs applications différentes peuvent être effectuées simultanément,.
Plusieurs personnes peuvent travailler en même temps.
Comment fonctionne l’ordinateur ?
Un microprocesseur n’est qu’une suite de circuits « on –off » ou 0, 1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
On a dessiné une série de 8 bits ( ou bytes en anglais) qui forme un octet
Chaque opération va être définie par un octet
Par exemple : 10001010
Pour effectuer les opérations le microprocesseur travaille donc en langage binaire ou base 2
Ex :
Langage base 10
Langage base 2
1
1
2= 0*2 0 + 1*21
10
3 = 2+1 = 1*2 0 +1*2 1
11
2
0
1
4 = 1*2 + 0*2 +0*2
100
Maintenant faisons un calcul arithmétique :
en base 2 on additionne 1001
équivalent base 10 1*2 0 +0*2 1 + 0*22+1*23 = 9
+ 1011
1*2 0 +1*2 1 + 0*22+1*23 = 11
---------------------0
1
2
3
10100
0*2 +0*2 + 1*2 +0*2 +1*24 = 20
Comment traduire les instructions en langage binaire ?
Le nombre de huit bits n’est pas choisi au hasard. Avec huit bits on obtient 256 combinaisons
différentes de 0000000 à 11111111. Chaque combinaison correspond à un caractère du
clavier.
C’est ce qu’on appelle le code ASCII (American Standard Code for Information Interchange)
Le caractère A
?
Le nombre 0
2
4
donne
en ascii
01000001
00111111
00000000
00000010
00000100
etc………..
Le compilateur permet de passer du programme en langage intelligible en ASCII puis en
binaire………
7
Cours L1.2. Introduction générale.
En résumé :
Données --------ORDINATEUR------Information
Entrée
Traitement
Sortie
Que fait l’utilisateur ?
1- Il stocke les données sur un périphérique ou sur la mémoire de l’ordinateur
2- Il établit un organigramme :
Le problème à résoudre Les données
Les paramètres et hypothèses
3- Il traduit chaque étape du processus en commandes dans
un langage de programmation évolué ex : C++, BASIC, JAVA,
FORTRAN, HTML….etc…. Il a alors un programme source en ASCII.
4 - Il utilise un compilateur qui va transcrire son programme en langage
binaire
5- Il utilise l’exécutable
6- Il imprime les résultats
8
Téléchargement