Quels modèles de machines, pour faire quoi

63
Systèmes de calcul (rappels) Vincent Risch, septembre 2008, r ´ evision septembre 2014 I.U.T., Aix-Marseille Universit ´ e Syst ` emes de calcul (rappels) – p. 1

Transcript of Quels modèles de machines, pour faire quoi

Page 1: Quels modèles de machines, pour faire quoi

Systèmes de calcul (rappels)

Vincent Risch, septembre 2008, revision septembre 2014

I.U.T., Aix-Marseille Universite

Systemes de calcul (rappels) – p. 1

Page 2: Quels modèles de machines, pour faire quoi

Rôle des ordinateurs

Quels modèles de machines, pour faire quoi ?

Systemes de calcul (rappels) – p. 2

Page 3: Quels modèles de machines, pour faire quoi

Rôle des ordinateurs

Quels modèles de machines, pour faire quoi ?

→ Evolution des technologies et du rôle desordinateurs

Systemes de calcul (rappels) – p. 2

Page 4: Quels modèles de machines, pour faire quoi

Rôle des ordinateurs

Quels modèles de machines, pour faire quoi ?

→ Evolution des technologies et du rôle desordinateurs

Machine : (du grec dorien µηχανα, invention ingénieuse)produit fini mécanique capable d’utiliser une sourced’énergie communément disponible pour effectuer parelle-même une ou plusieurs tâches spécifiques.

Systemes de calcul (rappels) – p. 2

Page 5: Quels modèles de machines, pour faire quoi

Modèles de machines

Ebauches historiques (ordinosaures) : carillonsprogrammables (XIIème siècle), métier à tisser,machine de Pascal. . .

Systemes de calcul (rappels) – p. 3

Page 6: Quels modèles de machines, pour faire quoi

Modèles de machines

Ebauches historiques (ordinosaures) : carillonsprogrammables (XIIème siècle), métier à tisser,machine de Pascal. . .

Approche formelle et pratique : machine de Babbage

Systemes de calcul (rappels) – p. 3

Page 7: Quels modèles de machines, pour faire quoi

Modèles de machines

Ebauches historiques (ordinosaures) : carillonsprogrammables (XIIème siècle), métier à tisser,machine de Pascal. . .

Approche formelle et pratique : machine de Babbage

Approche théorique : machine de Turing, modèle deVon Neumann

Systemes de calcul (rappels) – p. 3

Page 8: Quels modèles de machines, pour faire quoi

L’horloge calculante : 1623

W. Schickard (1592 - 1635)Systemes de calcul (rappels) – p. 4

Page 9: Quels modèles de machines, pour faire quoi

La pascaline : 1642

Systemes de calcul (rappels) – p. 5

Page 10: Quels modèles de machines, pour faire quoi

Charles Babbage (1791 - 1871)

Il imagine la machine à différence,puis la machine analytique...

Systemes de calcul (rappels) – p. 6

Page 11: Quels modèles de machines, pour faire quoi

La machine à différence

Systemes de calcul (rappels) – p. 7

Page 12: Quels modèles de machines, pour faire quoi

Eniac (Ordinosaure à tubes, 1946)

Systemes de calcul (rappels) – p. 8

Page 13: Quels modèles de machines, pour faire quoi

Transistor à effet de champs

John Bardeen, William Shocley, Walter Brattain (1947)

Systemes de calcul (rappels) – p. 9

Page 14: Quels modèles de machines, pour faire quoi

micro-ordinosaure : l’apple 1

Systemes de calcul (rappels) – p. 10

Page 15: Quels modèles de machines, pour faire quoi

Evolution du micro-ordinosaure :

l’apple II

Systemes de calcul (rappels) – p. 11

Page 16: Quels modèles de machines, pour faire quoi

Une machine imaginaire : le

pianocktail (Boris Vian)

Piano destiné à la confection de cocktails, décrit par Colindans (L’écume des jours).

“A chaque note, dit Colin, je fais correspondre un alcool, une liqueur ou un aromate. La

pédale forte correspond à l’œuf battu et la pédale faible à la glace. Pour l’eau de Seltz, il

faut un trille dans le registre aigu. Les quantités sont en raison directe de la durée : à la

quadruple croche équivaut le seizième d’unité, à la noire l’unité, à la ronde le quadruple

unité. Lorsque l’on joue un air lent, un système de registre est mis en action, de façon

que la dose ne soit pas augmentée – ce qui donnerait un cocktail trop abondant – mais

la teneur en alcool. Et, suivant la durée de l’air, on peut, si l’on veut, faire varier la valeur

de l’unité, la réduisant, par exemple au centième, pour pouvoir obtenir une boisson

tenant compte de toutes les harmonies au moyen d’un réglage latéral.”

Systemes de calcul (rappels) – p. 12

Page 17: Quels modèles de machines, pour faire quoi

Une machine imaginaire : le

pianocktail (Boris Vian)

Systemes de calcul (rappels) – p. 13

Page 18: Quels modèles de machines, pour faire quoi

Fabrication d’un Bronx sur

pianocktail

Recette : 4.5 cl de gin, 1.5 cl de vermouth rouge (martini,cinzano), 1.5 cl de vermouth dry (martini, noilly prat), 3 clde jus d’oranges. Frapper les ingrédients au shaker avecdes glaçons et versez dans le verre en retenant la glace.Ajouter un zeste d’orange.

Systemes de calcul (rappels) – p. 14

Page 19: Quels modèles de machines, pour faire quoi

Fabrication d’un Bronx sur

pianocktail

Recette : 4.5 cl de gin, 1.5 cl de vermouth rouge (martini,cinzano), 1.5 cl de vermouth dry (martini, noilly prat), 3 clde jus d’oranges. Frapper les ingrédients au shaker avecdes glaçons et versez dans le verre en retenant la glace.Ajouter un zeste d’orange.

Entrées : différents breuvagesProcessus : Frapper avec des glaçonsSortie : une combinaison de breuvages

Systemes de calcul (rappels) – p. 14

Page 20: Quels modèles de machines, pour faire quoi

Fabrication d’un Bronx sur

pianocktail

Recette : 4.5 cl de gin, 1.5 cl de vermouth rouge (martini,cinzano), 1.5 cl de vermouth dry (martini, noilly prat), 3 clde jus d’oranges. Frapper les ingrédients au shaker avecdes glaçons et versez dans le verre en retenant la glace.Ajouter un zeste d’orange.

Entrées : différents breuvagesProcessus : Frapper avec des glaçonsSortie : une combinaison de breuvages

La machine effectue un processus de transformation.Ce processus est décrit par un algorithme.

Systemes de calcul (rappels) – p. 14

Page 21: Quels modèles de machines, pour faire quoi

Fabrication d’un Bronx sur

pianocktail

Recette : 4.5 cl de gin, 1.5 cl de vermouth rouge (martini,cinzano), 1.5 cl de vermouth dry (martini, noilly prat), 3 clde jus d’oranges. Frapper les ingrédients au shaker avecdes glaçons et versez dans le verre en retenant la glace.Ajouter un zeste d’orange.

Entrées : différents breuvagesProcessus : Frapper avec des glaçonsSortie : une combinaison de breuvages

La machine effectue un processus de transformation.Ce processus est décrit par un algorithme.

→ Et pour les “vrais” ordinateurs... ?

Systemes de calcul (rappels) – p. 14

Page 22: Quels modèles de machines, pour faire quoi

Anatomie d’un PC

Systemes de calcul (rappels) – p. 15

Page 23: Quels modèles de machines, pour faire quoi

Ouvrir son PC. . .

Systemes de calcul (rappels) – p. 16

Page 24: Quels modèles de machines, pour faire quoi

On trouve. . .

Systemes de calcul (rappels) – p. 17

Page 25: Quels modèles de machines, pour faire quoi

Carte mère. . .

Systemes de calcul (rappels) – p. 18

Page 26: Quels modèles de machines, pour faire quoi

Anatomie d’une carte mère

Systemes de calcul (rappels) – p. 19

Page 27: Quels modèles de machines, pour faire quoi

Traitement de l’information

Ordinateur = machine conçue pour permettre le traitementde l’information.

Qu’est ce que l’information ?

Systemes de calcul (rappels) – p. 20

Page 28: Quels modèles de machines, pour faire quoi

Traitement de l’information

Ordinateur = machine conçue pour permettre le traitementde l’information.

Qu’est ce que l’information ?

De quel traitement sagit-il ?

Systemes de calcul (rappels) – p. 20

Page 29: Quels modèles de machines, pour faire quoi

Traitement de l’information

Ordinateur = machine conçue pour permettre le traitementde l’information.

Qu’est ce que l’information ?

De quel traitement sagit-il ?

Quelle machine construire pour réaliser cela ?

Systemes de calcul (rappels) – p. 20

Page 30: Quels modèles de machines, pour faire quoi

Information

recherche d’unesolution

D x y S

Traitement de l’information par l’être humain : applicationd’un ensemble de méthodes permettant une reduction dela quantité d’information à partir des données de départ.

Systemes de calcul (rappels) – p. 21

Page 31: Quels modèles de machines, pour faire quoi

Traitement

Simuler ces méthodes de traitement de l’information. . .

recherche d’unesolution

y = décodage(calcul(codage(x)))

D

D’

x

x’

y

y’

codage décodage

calcul

S

S’

Systemes de calcul (rappels) – p. 22

Page 32: Quels modèles de machines, pour faire quoi

Programme

Programme de traitement de l’information = donnéed’ensembles physiquement représentables D′ et S′ conçusrespectivement comme le codage et le décodage de D etS, d’un calcul opérant sur D′ et S′, tels que

solution(x) = décodage(calcul(codage(x)))

Systemes de calcul (rappels) – p. 23

Page 33: Quels modèles de machines, pour faire quoi

Exemple de système de calcul

La machine de Turing : un ruban (infini), une tête delecture-écriture, une fonction de transition.

Systemes de calcul (rappels) – p. 24

Page 34: Quels modèles de machines, pour faire quoi

Machine de Turing

Caractéristiques remarquables :

un crayon et un morceau de papier suffisent à sonfonctionnement ;

Systemes de calcul (rappels) – p. 25

Page 35: Quels modèles de machines, pour faire quoi

Machine de Turing

Caractéristiques remarquables :

un crayon et un morceau de papier suffisent à sonfonctionnement ;

elle caractérise ce qu’est un calcul : informellement, latransformation d’une séquence de symboles en uneautre séquence de symboles ;

Systemes de calcul (rappels) – p. 25

Page 36: Quels modèles de machines, pour faire quoi

Machine de Turing

Caractéristiques remarquables :

un crayon et un morceau de papier suffisent à sonfonctionnement ;

elle caractérise ce qu’est un calcul : informellement, latransformation d’une séquence de symboles en uneautre séquence de symboles ;

elle délimite les possibilités du calcul numérique.

Surtout : Elle a la puissance théorique de n’importe quelordinateur. . .

Systemes de calcul (rappels) – p. 25

Page 37: Quels modèles de machines, pour faire quoi

Machine de Turing : Définition

Une machine de Turing se compose précisément

d’une unité centrale qui peut prendre un certainsnombre détats internes en nombre fini ;

d’un ruban de longueur infinie sur lequel sont inscritesles données de départ à traiter (des symboles prisdans un ensemble fini déterminé) et sur lequel lamachine peu écrire de nouveaux symboles ;

d’une tête de lecture-écriture qui opère sur un symboledu ruban à la fois, et qui, en fonction de l’état courantde l’unité centrale, peu remplacer le symbole lu par unnouveau symbole et déplacer éventuellement le ruband’une case vers la gauche ou vers la droite.

Systemes de calcul (rappels) – p. 26

Page 38: Quels modèles de machines, pour faire quoi

Addition sur une machine de Turing

Coder (par exemple) les nombres successifs àadditionner sous forme de séquences de | successifset le caractère de séparation “blanc” b.

Systemes de calcul (rappels) – p. 27

Page 39: Quels modèles de machines, pour faire quoi

Addition sur une machine de Turing

Coder (par exemple) les nombres successifs àadditionner sous forme de séquences de | successifset le caractère de séparation “blanc” b.

Concaténer les deux séquences.

Systemes de calcul (rappels) – p. 27

Page 40: Quels modèles de machines, pour faire quoi

Addition sur une machine de Turing

Coder (par exemple) les nombres successifs àadditionner sous forme de séquences de | successifset le caractère de séparation “blanc” b.

Concaténer les deux séquences.

Exemple (2 + 3 . . .) :En concaténant || et |||, on obtient |||||

Systemes de calcul (rappels) – p. 27

Page 41: Quels modèles de machines, pour faire quoi

2 + 3 sur une machine de Turing

q0

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b 1 1 b 1 1 1 b b b

Systemes de calcul (rappels) – p. 28

Page 42: Quels modèles de machines, pour faire quoi

2 + 3 sur une machine de Turing

q0

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b 1 1 b 1 1 1 b b b

état courant

Systemes de calcul (rappels) – p. 28

Page 43: Quels modèles de machines, pour faire quoi

2 + 3 sur une machine de Turing

q0

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b 1 1 b 1 1 1 b b b

données à traiter

Systemes de calcul (rappels) – p. 28

Page 44: Quels modèles de machines, pour faire quoi

2 + 3 sur une machine de Turing

q0

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b 1 1 b 1 1 1 b b b

programme

Systemes de calcul (rappels) – p. 28

Page 45: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q0

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b 1 1 b 1 1 1 b b b

Systemes de calcul (rappels) – p. 29

Page 46: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q0

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b 1 1 b 1 1 1 b b b

Systemes de calcul (rappels) – p. 29

Page 47: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q1

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b b 1 b 1 1 1 b b b

Systemes de calcul (rappels) – p. 29

Page 48: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q1

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b 1 b 1 1 1 b b b b

Systemes de calcul (rappels) – p. 29

Page 49: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q1

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b 1 b 1 1 1 b b b b

Systemes de calcul (rappels) – p. 29

Page 50: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q1

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b b 1 b 1 1 1 b b b b

Systemes de calcul (rappels) – p. 29

Page 51: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q1

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b 1 b 1 1 1 b b b b b

Systemes de calcul (rappels) – p. 29

Page 52: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q1

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b 1 b 1 1 1 b b b b b

Systemes de calcul (rappels) – p. 29

Page 53: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q2

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b b 1 1 1 1 1 b b b b b

Systemes de calcul (rappels) – p. 29

Page 54: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q2

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b 1 1 1 1 1 b b b b b b

Systemes de calcul (rappels) – p. 29

Page 55: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

q2

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b 1 1 1 1 1 b b b b b b

Systemes de calcul (rappels) – p. 29

Page 56: Quels modèles de machines, pour faire quoi

2 + 3 : exécution du programme

qF

Etat courant

Symbole lub 1

q0 q0, b,D q1, b,D

q1 q2, 1, D q1, 1, D

q2 qF , b qF , 1

b 1 1 1 1 1 b b b b b b

Systemes de calcul (rappels) – p. 29

Page 57: Quels modèles de machines, pour faire quoi

Autre exemple de système de calcul

Le modèle de Von Neumanninstruction

instruction

donnée

donnée

donnée

Registre àinstruction

Unité deCommande

Unité deTraitement

Registre général

Mémoire

Unité Centrale

Systemes de calcul (rappels) – p. 30

Page 58: Quels modèles de machines, pour faire quoi

Modèle de Von Neumann

Remarque :

Instructions et données partagent le mêmeemplacement.

L’unité de commande détermine la succession desinstructions dans le temps.

L’unité de traitement exécute les instructionstransmises par l’unité de commande.

→ Il s’agit d’un modèle «proche» de la réalité physiqued’un calculateur électronique...

Systemes de calcul (rappels) – p. 31

Page 59: Quels modèles de machines, pour faire quoi

Evolutions des systèmes de calcul...

Question de la complexité des algorithmes (P=NP ?)

Systemes de calcul (rappels) – p. 32

Page 60: Quels modèles de machines, pour faire quoi

Evolutions des systèmes de calcul...

Question de la complexité des algorithmes (P=NP ?)

Modèles différents de la calculabilité ? Par exemple :

Systemes de calcul (rappels) – p. 32

Page 61: Quels modèles de machines, pour faire quoi

Evolutions des systèmes de calcul...

Question de la complexité des algorithmes (P=NP ?)

Modèles différents de la calculabilité ? Par exemple :

codage ADN de l’information

Systemes de calcul (rappels) – p. 32

Page 62: Quels modèles de machines, pour faire quoi

Evolutions des systèmes de calcul...

Question de la complexité des algorithmes (P=NP ?)

Modèles différents de la calculabilité ? Par exemple :

codage ADN de l’information

machine quantiques

Systemes de calcul (rappels) – p. 32

Page 63: Quels modèles de machines, pour faire quoi

Evolutions des systèmes de calcul...

Question de la complexité des algorithmes (P=NP ?)

Modèles différents de la calculabilité ? Par exemple :

codage ADN de l’information

machine quantiques

. . .

Systemes de calcul (rappels) – p. 32