Vous êtes sur la page 1sur 6

Chapitre 1 : Historique et évolution des ordinateurs

L'être humain a longtemps cherché à améliorer sa façon de calculer et ce, pour deux
raisons : il est trop lent, et il se trompe souvent
Dans ce qui suit, seront relatées les grandes dates liées à l’invention des calculateurs.
I. Ordinateur et changements technologiques

• Première génération: Tubes électroniques (lampes à vide)


• Deuxième génération: transistors
• Troisième génération: circuits intégrés
• Quatrième génération: microprocesseurs.
• Cinquième génération: intelligence artificielle.

➢ Première génération(1949-1957)
• Ordinateur à cartes perforées et à bandes magnétiques
• Programmation physique en langage machine
• Appareils immenses, lourds, énergie élevée
• Utilisation de tubes à vide et à mémoires à tambour magnétique
• Prix élevé / capacité et performance.

➢ Deuxième génération(1958 – 1964)


• Utilisation de transistors et des mémoires à ferrite.
• Utilisation de mémoires de masse pour le stockage périphérique.
• Temps d’accès moyen (de l’ordre de la microseconde).
• Fonctionnement séquentiel des systèmes de programmation (langages évolués).

➢ Troisième génération(1965-1971)
• Miniaturisation des composants (circuits intégrés)
• Apparition des systèmes d’exploitation
• Concepts de temps partagés
• Machines polyvalentes et de capacité variée
• Appareils modulaires et extensibles
• Multitraitement (plusieurs programmes à la fois)

➢ Quatrième génération(1971-1982)
• Miniaturisation extrêmes des composants
• Apparition des microprocesseurs
• Diversification des champs d’application
• Apparition de la micro-informatique
• L’aspect logiciel prend le pas sur l’aspect matériel
➢ Cinquième génération
• Miniaturisation des composants poussée à l’extrême
• Vitesse proche de celle de la lumière.
• Nouvelle architecture physique
• Possibilité de choix d’ordre des vecteurs séquentiels à traiter
• Vitesse de traitement augmentée (Logiciel Inférence: de 100 à 1000 instructions)
• Processeurs en parallèle
• Nouvelles structures et représentations des données.
• Ajout du traitement de l’aspect sémantique à celui de l’aspect syntaxique de
l’information
• Ordinateurs à photons

➢ Alternatives à cette classification


1- architectures et conception (PC compatibles vs. Apple)
2- super-ordinateurs: SIMD vs. MIMD
3- RISC vs. CISC
4- taille: super, gros, mini, station ou micro-ordinateurs

✓ Une petite virée vers le parallélisme :Une machine parallèle est essentiellement
une machine qui possède un ensemble de processeurs qui coopèrent et
communiquent ensemble.

II. Classification de Flynn

• Caractérise les machines suivant leurs flots de données et d’instructions

• On distingue classiquement quatre types principaux de parallélisme: SISD, SIMD,


MISD et MIMD. De nos jours cette classification peut paraître un peu artificielle car le
moindre micro-processeur courant inclut lui-même plusieurs formes de micro-
parallélisme. Elle permet néanmoins d'expliquer les bases de l'architectures des
ordinateurs séquentiels et parallèles
1. Machine SISD
Une machine SISD (Single Instruction Single Data) est ce que l'on appelle d'habitude
une machine de Von Neumann. Une seule instruction est exécutée et une seule donnée
(Simple, non-structurée) est traitée à tout instant .

Machines séquentielles “classiques“ Chaque opération s’effectue sur une donnée à la


fois.

Par exemple, le code suivant,


int A [100] ;
for (i=1;100>i ; i++)
A[i]=A[i]+A[i+1
S’exécute sur une machine séquentielle en faisant les additions
A[1]+A[2],
A[2]+A[3], etc.,
A[99]+A[100]
à la suite les unes des autres

2. Machines MISD
Plusieurs processeurs, chacun avec sa propre unité de contrôle, se partagent une
mémoire commune.

Il y a N flots d'instructions (algorithmes / programmes) et un flot de données. Chaque


processeur effectue une opération différente, au même moment sur la même donnée.
Il n'existe aucune machine construite sur ce modèle. C'est un modèle théorique sans
intérêt
3. Machines SIMD
• Unités de calcul totalement synchronisées
• Exécution conditionnelle avec flag de masquage
• Machines adaptées aux traitements très réguliers (opérations matricielles, imagerie).
• Pas adapté du tout aux opérations irrégulières.

N processeurs identiques opèrent sous contrôle d'un flot d'instructions unique généré
par une unité centrale unique (pour faciliter la compréhension, on peut supposer que
tous les processeurs exécutent le même programme).
Il y a N flots de données, un par processeur, et des données différentes peuvent ainsi
être utilisées dans chaque processeur. Fonctionnellement, on peut avoir les deux
schémas précédents (mémoire partagée ou distribuée) :

• En fait il n'existe pas de machine SIMD à mémoire commune. Il s'agit toujours de


processeurs très élémentaires en très grand nombre (typiquement plusieurs centaines).

• Les processeurs opèrent de façon synchrone et une horloge globale est utilisée pour
effectuer les opérations en mode «locks tep», c’est-à-dire à chaque tic de l'horloge
globale, tous les processeurs exécutent la même instruction, chacun sur une donnée
différente.

• Les machines SIMD sont particulièrement utiles pour traiter les problèmes à
structure régulière où la même instruction s'applique à des sous-ensembles de données.
EXEMPLE
Addition de deux matrices A + B = C.
Soient deux matrices A et B d'ordre 2, et 4 processeurs.
A11 + B11 = C11 ... A12 + B12 = C12
A21 + B21 = C21 ... A22 + B22 = C22
La même instruction est envoyée aux 4 processeurs (ajouter les 2 nombres) et tous les
processeurs exécutent cette instruction simultanément.

• Un pas de temps suffit contre quatre sur une machine séquentielle.


Une instruction peut être simple (eg addition de 2 nombres) ou complexe (eg fusion de
2 listes). De la même façon les données peuvent être simples (un nombre) ou
complexes (plusieurs nombres).
Il peut parfois être nécessaire de limiter l'exécution de l'instruction a un sous ensemble
des processeurs i.e. seulement certaines données ont besoin d'être traitées par cette
instruction.

• Cette information peut être codée par un flag sur chaque processeur qui indique si :
1. le processeur est actif (exécute l'instruction)
2. le processeur est inactif (attend la prochaine instruction

4. Machines MIMD
C'est la classe la plus générale et la plus puissante de toute cette classification.
Il y a N processeurs, N flots d'instructions et N flots de données. Et on peut aussi avoir
fonctionnellement les deux schémas suivants (mémoire partagée ou distribuée.

• Machines multi-processeurs
• Chaque processeur exécute son propre code de manière asynchrone et indépendante
• Chaque processeur exécute un flot d'instructions généré par sa propre unité de
contrôle

• Chaque processeur opère de façon asynchrone en effectuant des opérations


différentes sur des données différentes au même instant.

• La communication de données ou de résultats entre les processeurs peut se faire à


travers une mémoire commune ou un réseau d’interconnexion.

Vous aimerez peut-être aussi