architecture des ordinateurs - welcome to nicolas'...
TRANSCRIPT
![Page 1: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/1.jpg)
Architecture des ordinateurs
A. Une motivation : performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
B. Mini historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
C. Des transistors aux unites programmables . . . . . . . . . . . . . . . . . . . . . . . 32
D. Memoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
E. Accro aux tests ? Une micro introduction au test logiciel . . . . . . . . . 49Pourquoi le test logiciel ?Les risques en informatiqueIl faut aller plus loin ! ♣
F. Conclusion : qu’avons nous vu ce semestre ? . . . . . . . . . . . . . . . . . . . . . 70
![Page 2: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/2.jpg)
Resume des episodes precedents . . .
Pour le moment nous avons vu les concepts suivants :
I Bases de la programmation imperative
I Genie logiciel : programmation modulaire, tests
I Complexite
Pourquoi aller plus loin ?
Passage a l’echelle :
Performances !
![Page 3: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/3.jpg)
Resume des episodes precedents . . .
Pour le moment nous avons vu les concepts suivants :
I Bases de la programmation imperative
I Genie logiciel : programmation modulaire, tests
I Complexite
Pourquoi aller plus loin ?
Passage a l’echelle :
Performances !
![Page 4: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/4.jpg)
Resume des episodes precedents . . .
Pour le moment nous avons vu les concepts suivants :
I Bases de la programmation imperative
I Genie logiciel : programmation modulaire, tests
I Complexite
Pourquoi aller plus loin ?
Passage a l’echelle :
Performances !
![Page 5: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/5.jpg)
Resume des episodes precedents . . .
Pour le moment nous avons vu les concepts suivants :
I Bases de la programmation imperative
I Genie logiciel : programmation modulaire, tests
I Complexite
Pourquoi aller plus loin ?
Passage a l’echelle :
Performances !
![Page 6: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/6.jpg)
A. Une motivation : performancesperformances.cpp
for ( int i = 0; i < n; i++ )for ( int j = 0; j < n; j++ )
t[i][j] = i+j;
Complexite ? O(n2)
Voyons cela en pratique :
> g++ -std=c++11 -O9 performances.cpp -o performances
> time performances 5000performances 5000 0,06s user 0,06s system 98% cpu 0,130 total
> time performances 10000performances 10000 0,35s user 0,26s system 99% cpu 0,610 total
> time performances 20000performances 20000 1,46s user 1,09s system 99% cpu 2,560 total
![Page 7: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/7.jpg)
A. Une motivation : performancesperformances.cpp
for ( int i = 0; i < n; i++ )for ( int j = 0; j < n; j++ )
t[i][j] = i+j;
Complexite ?
O(n2)
Voyons cela en pratique :
> g++ -std=c++11 -O9 performances.cpp -o performances
> time performances 5000performances 5000 0,06s user 0,06s system 98% cpu 0,130 total
> time performances 10000performances 10000 0,35s user 0,26s system 99% cpu 0,610 total
> time performances 20000performances 20000 1,46s user 1,09s system 99% cpu 2,560 total
![Page 8: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/8.jpg)
A. Une motivation : performancesperformances.cpp
for ( int i = 0; i < n; i++ )for ( int j = 0; j < n; j++ )
t[i][j] = i+j;
Complexite ? O(n2)
Voyons cela en pratique :
> g++ -std=c++11 -O9 performances.cpp -o performances
> time performances 5000performances 5000 0,06s user 0,06s system 98% cpu 0,130 total
> time performances 10000performances 10000 0,35s user 0,26s system 99% cpu 0,610 total
> time performances 20000performances 20000 1,46s user 1,09s system 99% cpu 2,560 total
![Page 9: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/9.jpg)
A. Une motivation : performancesperformances.cpp
for ( int i = 0; i < n; i++ )for ( int j = 0; j < n; j++ )
t[i][j] = i+j;
Complexite ? O(n2)
Voyons cela en pratique :
> g++ -std=c++11 -O9 performances.cpp -o performances
> time performances 5000performances 5000 0,06s user 0,06s system 98% cpu 0,130 total
> time performances 10000performances 10000 0,35s user 0,26s system 99% cpu 0,610 total
> time performances 20000performances 20000 1,46s user 1,09s system 99% cpu 2,560 total
![Page 10: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/10.jpg)
Analyse du banc d’essai
Jusqu’ici, tout va bien :
I La complexite pratique est de O(n2) :taille n ×2 =⇒ temps ×4
I Environ 109 operations par secondes
> time performances 10000performances 10000 0,35s user 0,26s system 99% cpu 0,610 total
Une bizarrerie ! ? !I Avec t[i][j] −→ t[j][i] : 10 fois plus lent !
> time performances 10000performances 10000 3,47s user 0,18s system 99% cpu 3,650 total
![Page 11: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/11.jpg)
Analyse du banc d’essai
Jusqu’ici, tout va bien :
I La complexite pratique est de O(n2) :taille n ×2 =⇒ temps ×4
I Environ 109 operations par secondes
> time performances 10000performances 10000 0,35s user 0,26s system 99% cpu 0,610 total
Une bizarrerie ! ? !I Avec t[i][j] −→ t[j][i] : 10 fois plus lent !
> time performances 10000performances 10000 3,47s user 0,18s system 99% cpu 3,650 total
![Page 12: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/12.jpg)
Analyse du banc d’essai
Jusqu’ici, tout va bien :
I La complexite pratique est de O(n2) :taille n ×2 =⇒ temps ×4
I Environ 109 operations par secondes
> time performances 10000performances 10000 0,35s user 0,26s system 99% cpu 0,610 total
Une bizarrerie ! ? !
I Avec t[i][j] −→ t[j][i] : 10 fois plus lent !
> time performances 10000performances 10000 3,47s user 0,18s system 99% cpu 3,650 total
![Page 13: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/13.jpg)
Bilan
I Notre modele d’execution ne rend pas compte de ce phenomene
I Pour le raffiner il faut mieux connaıtrel’architecture des ordinateurs
![Page 14: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/14.jpg)
La prehistoire des ordinateursI 1614, John Neper invente les logarithmes et la regle a calcul :
I 1623, Wilhelm Schickard construit une machine mecanique enappliquant les idees de Neper
I 1642, Pascal presente une machine qui additionne et soustrait lesnombres de 6 chiffres en base 10 : la PascalineExemplaire du Musee des Arts et Metiers :
I 1672, amelioration par Leibnitz :chariot mobile pour multiplications et divisions
![Page 15: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/15.jpg)
La prehistoire des ordinateursI 1614, John Neper invente les logarithmes et la regle a calcul :
I 1623, Wilhelm Schickard construit une machine mecanique enappliquant les idees de Neper
I 1642, Pascal presente une machine qui additionne et soustrait lesnombres de 6 chiffres en base 10 : la PascalineExemplaire du Musee des Arts et Metiers :
I 1672, amelioration par Leibnitz :chariot mobile pour multiplications et divisions
![Page 16: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/16.jpg)
La prehistoire des ordinateursI 1614, John Neper invente les logarithmes et la regle a calcul :
I 1623, Wilhelm Schickard construit une machine mecanique enappliquant les idees de Neper
I 1642, Pascal presente une machine qui additionne et soustrait lesnombres de 6 chiffres en base 10 : la PascalineExemplaire du Musee des Arts et Metiers :
I 1672, amelioration par Leibnitz :chariot mobile pour multiplications et divisions
![Page 17: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/17.jpg)
La prehistoire des ordinateursI 1614, John Neper invente les logarithmes et la regle a calcul :
I 1623, Wilhelm Schickard construit une machine mecanique enappliquant les idees de Neper
I 1642, Pascal presente une machine qui additionne et soustrait lesnombres de 6 chiffres en base 10 : la PascalineExemplaire du Musee des Arts et Metiers :
I 1672, amelioration par Leibnitz :chariot mobile pour multiplications et divisions
![Page 18: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/18.jpg)
Le XIXe siecle
I 1805, Joseph Jacquard (d’apres des idee de Falcon en 1728) :cartes perforees pour metiers a tisser : le premier programme
I 1822, Charles Babage essaye de faire une Machine AnalytiqueI machine pilotee par cartes perforees decrivant la sequence
d’instructions (programme exterieur)I notion de processeur, de memoire (magasin), d’unite centrale (moulin)I entree et sortie par cartes perforeesI programmes d’Ada Augusta LovelaceI ne fonctionnera jamais
I 1854, Machine a Differences (Babage et Scheutz).
![Page 19: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/19.jpg)
Le XIXe siecle
I 1805, Joseph Jacquard (d’apres des idee de Falcon en 1728) :cartes perforees pour metiers a tisser : le premier programme
I 1822, Charles Babage essaye de faire une Machine AnalytiqueI machine pilotee par cartes perforees decrivant la sequence
d’instructions (programme exterieur)I notion de processeur, de memoire (magasin), d’unite centrale (moulin)I entree et sortie par cartes perforeesI programmes d’Ada Augusta LovelaceI ne fonctionnera jamais
I 1854, Machine a Differences (Babage et Scheutz).
![Page 20: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/20.jpg)
Le XIXe siecle
I 1805, Joseph Jacquard (d’apres des idee de Falcon en 1728) :cartes perforees pour metiers a tisser : le premier programme
I 1822, Charles Babage essaye de faire une Machine AnalytiqueI machine pilotee par cartes perforees decrivant la sequence
d’instructions (programme exterieur)I notion de processeur, de memoire (magasin), d’unite centrale (moulin)I entree et sortie par cartes perforeesI programmes d’Ada Augusta LovelaceI ne fonctionnera jamais
I 1854, Machine a Differences (Babage et Scheutz).
![Page 21: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/21.jpg)
Le XIXe siecle (suite)
I 1854, Georges Bool, Une etude des lois de la penseeCalcul des propositions, logique elementaire
I Calculateur statistique d’Hermann Hollerith pour les recensements
I Fondation en 1890 de Tabulating Machine Company qui devienten 1908 International Business Machine
![Page 22: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/22.jpg)
Le XXe siecle : les idees fondatrices
I 1930, Vannevar Bush : analyseur differentiel analogique, utilise jusquedans les annees 1960
I 1936, Alan Turing et les Machines de TuringCe que l’on peut calculer et ce que l’on ne peut pas
I 1938, Claude Shannon invente la Theorie de l’information :Tout peut etre represente par des 0 et des 1Le debut de la numerisation
![Page 23: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/23.jpg)
Le XXe siecle : les idees fondatrices
I 1930, Vannevar Bush : analyseur differentiel analogique, utilise jusquedans les annees 1960
I 1936, Alan Turing et les Machines de TuringCe que l’on peut calculer et ce que l’on ne peut pas
I 1938, Claude Shannon invente la Theorie de l’information :Tout peut etre represente par des 0 et des 1Le debut de la numerisation
![Page 24: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/24.jpg)
Le XXe siecle : balbutiements
I 1938, Konrad Zuse, John Atanasoff, Georges Stibitz :Machine a calculer electromecanique(Zuse : tubes a vide, jugee irrealisable par le gouvernement allemand)
I 1939 La machine electromecanique Enigma (cryptographie)
I 1939-1944, Howard Aiken, machine electromecanique :I Multiplication de nombres de 23 chiffres en 6 secondesI Addition en 3 dixiemes de seconde
![Page 25: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/25.jpg)
Naissance de l’ordinateur : 1945
I 1945, John Eckert et John Mauchly construisent l’ENIAC(Electronic Numerical Integrator And Calculator) :18000 tubes, 30 tonnesMultiplication de nombres de 10 chiffres en 3ms
I 1945, Von Neumann propose l’EDVAC(Electronic Discrete Variable Automatic Computer) :Problemes de retards et de brevets
I 1949, Maurice Wilkes construit l’EDSAC(Electronic Delay Storage Automatic Calculator)
![Page 26: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/26.jpg)
Ordinateurs de 1re generation, 1945–1953
I Composants : relais, tubes a vides, resistances
I Logiciels : langage machine seulement
I 1951, Eckert et Mauchly, construisent l’UNIVAC
I 1953, IBM 701 (40 exemplaires) puis IBM 650 (1500 exemplaires)
I Probleme de fiabilite des tubes a vides...
![Page 27: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/27.jpg)
Industrie de l’informatique, 2e generation, 1953–1963
I 1948, John Bardeen, Walter Brattain et William Shockley decouvrentle transistor
I Composants :I transistors, memoire a tores de ferriteI imprimantes, bandes magnetiques
I Logiciels :I apparition des systemes d’exploitationI langages evolues FORmula TRANslator (1957)I COmmon Business Oriented Language (1959)
I Apparition de l’industrie, IBM, DEC, HP, etc.
![Page 28: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/28.jpg)
Industrie de l’informatique, 3e generation, 1963–1975
I Composants : circuits integres
I Machine :I faible consommation energetiqueI fiable, encombrement reduit
I Evolutions :I Multiprocesseur, temps partage, acces interactifI Apparition des reseauxI Premiers problemes de compatibilite entre machines
![Page 29: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/29.jpg)
Industrie de l’informatique, 4eme generation, 1975– ?
I Composants :I Very Large Scale Integration :
Centaines de milliers puis millions de transistors sur une puce !I Premier microprocesseur INTEL 4004 (1971)
I LogicielI Traitement distribue, machine virtuelleI Reseau, base de donneesI Accessibilite au grand public
I Evolution :I Parallelisme d’execution (pipe-line, vectorisation)I Ordinateurs personnelsI Augmentation en puissance
![Page 30: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/30.jpg)
Evolution : performance des processeurs
![Page 31: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/31.jpg)
Evolution : nombre de transistors par processeur
Loi de Moore : doublement tous les 18 mois
![Page 32: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/32.jpg)
Jusqu’a quand ?
On atteint les limites physiques
I Transistors a l’echelle de quelques centaines d’atomes
I Prix des usines qui double a chaque iteration
Evolution recente : parallelisme d’execution
I Multicoeur / multiprocesseur
I Pipe-line
I Fermes d’ordinateurs (par ex. dans le « nuage »)
Mais : Principes de Von Neumann toujours valables
![Page 33: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/33.jpg)
Jusqu’a quand ?
On atteint les limites physiques
I Transistors a l’echelle de quelques centaines d’atomes
I Prix des usines qui double a chaque iteration
Evolution recente : parallelisme d’execution
I Multicoeur / multiprocesseur
I Pipe-line
I Fermes d’ordinateurs (par ex. dans le « nuage »)
Mais : Principes de Von Neumann toujours valables
![Page 34: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/34.jpg)
C. Des transistors aux unites programmables
Idee clefUn bit va etre represente par une tension en un point d’un circuitelectroniquePar exemple :
I 1 : +5V
I 0 : +0V
![Page 35: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/35.jpg)
Le transistor : un interrupteur commande
Composant electronique :
Miniaturisation :Une puce electronique : des milliards de transistors
Principe de fonctionnement
![Page 36: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/36.jpg)
Des transistors aux portes logiques
Exemple : portes « et »
Exemple : portes « ou »
Exemple : portes « non »
![Page 37: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/37.jpg)
Des portes logiques aux unites de calcul
https://fr.wikipedia.org/wiki/Additionneur
Exemple : additionneur un bit
A B A ⊕ B Retenue
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
S
C
A
B
Exemple : additionneur n bits
S0
C0
A0
B0A1
B1
C0
C1
S1A2
B2
C1
C2
S2
![Page 38: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/38.jpg)
Des portes logiques aux unites de calcul
https://fr.wikipedia.org/wiki/Additionneur
Exemple : additionneur un bit
A B A ⊕ B Retenue
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
S
C
A
B
Exemple : additionneur n bits
S0
C0
A0
B0A1
B1
C0
C1
S1A2
B2
C1
C2
S2
![Page 39: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/39.jpg)
Des portes logiques aux unites de calcul
https://fr.wikipedia.org/wiki/Additionneur
Exemple : additionneur un bit
A B A ⊕ B Retenue
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
S
C
A
B
Exemple : additionneur n bits
S0
C0
A0
B0
A1
B1
C0
C1
S1A2
B2
C1
C2
S2
![Page 40: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/40.jpg)
Des portes logiques aux unites de calcul
https://fr.wikipedia.org/wiki/Additionneur
Exemple : additionneur un bit
A B A ⊕ B Retenue
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
S
C
A
B
Exemple : additionneur n bits
S0
C0
A0
B0A1
B1
C0
C1
S1
A2
B2
C1
C2
S2
![Page 41: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/41.jpg)
Des portes logiques aux unites de calcul
https://fr.wikipedia.org/wiki/Additionneur
Exemple : additionneur un bit
A B A ⊕ B Retenue
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
S
C
A
B
Exemple : additionneur n bits
S0
C0
A0
B0A1
B1
C0
C1
S1A2
B2
C1
C2
S2
![Page 42: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/42.jpg)
Unites programmables
Jeu d’instructions d’un processeur
Ensemble des instructions reconnues par l’unite de controlePar exemple (ici sous forme d’assembleur) :
I mov a, b : copier le contenu de la case a dans la case b
I imul a, b : multiplier le contenu de a par celui de b et mettre leresultat dans b
I ...
Architecture du processeur
I En principe, un programme binaire fonctionnera sur tout processeursupportant le meme jeu d’instruction
I Pour cela, on appelle souvent le jeu d’instruction l’architecture duprocesseur
I Exemples : x86, x86-64, ARM, sparc, ...
![Page 43: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/43.jpg)
Unites programmables
Jeu d’instructions d’un processeur
Ensemble des instructions reconnues par l’unite de controlePar exemple (ici sous forme d’assembleur) :
I mov a, b : copier le contenu de la case a dans la case b
I imul a, b : multiplier le contenu de a par celui de b et mettre leresultat dans b
I ...
Architecture du processeur
I En principe, un programme binaire fonctionnera sur tout processeursupportant le meme jeu d’instruction
I Pour cela, on appelle souvent le jeu d’instruction l’architecture duprocesseur
I Exemples : x86, x86-64, ARM, sparc, ...
![Page 44: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/44.jpg)
D. MemoireNiveau physique : memoriser un bit ?
Exemple : un condensateur
I Principe : charger electriquement
I Probleme : il y a des pertes=⇒ Rafraıchissement regulier necessaire !
I Application : memoire vive
Exemple :
I Principe : magnetiser un composant
I Probleme : plus lent
I Application : memoire permanente :disque durs, memoire flash : clefs USB, disques SDRAM
ProblemeChanger d’etat consomme de l’energie=⇒ principale cause de consommation d’un ordinateur
![Page 45: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/45.jpg)
D. MemoireNiveau physique : memoriser un bit ?
Exemple : un condensateur
I Principe : charger electriquement
I Probleme : il y a des pertes=⇒ Rafraıchissement regulier necessaire !
I Application : memoire vive
Exemple :
I Principe : magnetiser un composant
I Probleme : plus lent
I Application : memoire permanente :disque durs, memoire flash : clefs USB, disques SDRAM
ProblemeChanger d’etat consomme de l’energie=⇒ principale cause de consommation d’un ordinateur
![Page 46: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/46.jpg)
D. MemoireNiveau physique : memoriser un bit ?
Exemple : un condensateur
I Principe : charger electriquement
I Probleme : il y a des pertes=⇒ Rafraıchissement regulier necessaire !
I Application : memoire vive
Exemple :
I Principe : magnetiser un composant
I Probleme : plus lent
I Application : memoire permanente :disque durs, memoire flash : clefs USB, disques SDRAM
ProblemeChanger d’etat consomme de l’energie=⇒ principale cause de consommation d’un ordinateur
![Page 47: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/47.jpg)
D. MemoireNiveau physique : memoriser un bit ?
Exemple : un condensateur
I Principe : charger electriquement
I Probleme : il y a des pertes=⇒ Rafraıchissement regulier necessaire !
I Application : memoire vive
Exemple :
I Principe : magnetiser un composant
I Probleme : plus lent
I Application : memoire permanente :disque durs, memoire flash : clefs USB, disques SDRAM
ProblemeChanger d’etat consomme de l’energie=⇒ principale cause de consommation d’un ordinateur
![Page 48: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/48.jpg)
Les niveaux de memoire
Probleme
I La memoire tres rapide est tres chere
I La lumiere ne va pas vite ! ! !a 300000km/s et 1GHz : 30 cm par cycle d’horloge
I Ondes electromagnetiques dans des circuits :nettement plus lent
![Page 49: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/49.jpg)
Les niveaux de memoire
Solution : plusieurs niveaux de memoire
![Page 50: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/50.jpg)
Explication de la bizarrerie
performances.cpp
for ( int i = 0; i < n; i++ )for ( int j = 0; j < n; j++ )
t[i][j] = i+j;
Analogie : parcourir une encyclopedie en 10 tomes
Fautes de caches
![Page 51: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/51.jpg)
Architecture systeme ?
Trois niveaux possibles
1. Vue generaleI Agencement des divers composants (processeur, memoire, ...)I relations, communications entre eux
2. Niveau macroscopiqueI Structure interne des composantsI Jeu d’instructions
3. Niveau microscopiqueI composants electriques / electroniquesI presentes sous leur aspect logique
![Page 52: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/52.jpg)
E. Accro aux tests ? Une micro introduction au test logiciel
![Page 53: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/53.jpg)
La metaphore du grimpeur
I Qui peut tenter les voies les plus difficiles ?I Qui peut tenter des mouvements audacieux ?I Qui peut experimenter et innover ?I Qui se fait plaisir ?
![Page 54: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/54.jpg)
La metaphore du grimpeur
I Qui peut tenter les voies les plus difficiles ?
I Qui peut tenter des mouvements audacieux ?I Qui peut experimenter et innover ?I Qui se fait plaisir ?
![Page 55: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/55.jpg)
La metaphore du grimpeur
I Qui peut tenter les voies les plus difficiles ?I Qui peut tenter des mouvements audacieux ?
I Qui peut experimenter et innover ?I Qui se fait plaisir ?
![Page 56: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/56.jpg)
La metaphore du grimpeur
I Qui peut tenter les voies les plus difficiles ?I Qui peut tenter des mouvements audacieux ?I Qui peut experimenter et innover ?
I Qui se fait plaisir ?
![Page 57: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/57.jpg)
La metaphore du grimpeur
I Qui peut tenter les voies les plus difficiles ?I Qui peut tenter des mouvements audacieux ?I Qui peut experimenter et innover ?I Qui se fait plaisir ?
![Page 58: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/58.jpg)
E. 2. Les risques en informatique
http://fr.wikibooks.org/wiki/Introduction_au_test_
logiciel/Introduction
Niveau de sureteExemple : normes pour l’aviation :http://fr.wikipedia.org/wiki/DO-178
![Page 59: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/59.jpg)
E. 2. Les risques en informatique
http://fr.wikibooks.org/wiki/Introduction_au_test_
logiciel/Introduction
Niveau de sureteExemple : normes pour l’aviation :http://fr.wikipedia.org/wiki/DO-178
![Page 60: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/60.jpg)
Les risques en informatique, pour tous
I Je soutiens mon projet dans 5 minutes. Ma demo va-t’elle marcher ?
Stress
I Je suis tente de changer xxx. Vais-je tout casser ?Stress
Asphyxie de la creativite
Perte du plaisir
![Page 61: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/61.jpg)
Les risques en informatique, pour tous
I Je soutiens mon projet dans 5 minutes. Ma demo va-t’elle marcher ?Stress
I Je suis tente de changer xxx. Vais-je tout casser ?Stress
Asphyxie de la creativite
Perte du plaisir
![Page 62: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/62.jpg)
Les risques en informatique, pour tous
I Je soutiens mon projet dans 5 minutes. Ma demo va-t’elle marcher ?Stress
I Je suis tente de changer xxx. Vais-je tout casser ?
Stress
Asphyxie de la creativite
Perte du plaisir
![Page 63: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/63.jpg)
Les risques en informatique, pour tous
I Je soutiens mon projet dans 5 minutes. Ma demo va-t’elle marcher ?Stress
I Je suis tente de changer xxx. Vais-je tout casser ?Stress
Asphyxie de la creativite
Perte du plaisir
![Page 64: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/64.jpg)
Les risques en informatique, pour tous
I Je soutiens mon projet dans 5 minutes. Ma demo va-t’elle marcher ?Stress
I Je suis tente de changer xxx. Vais-je tout casser ?Stress
Asphyxie de la creativite
Perte du plaisir
![Page 65: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/65.jpg)
Les risques en informatique, pour tous
I Je soutiens mon projet dans 5 minutes. Ma demo va-t’elle marcher ?Stress
I Je suis tente de changer xxx. Vais-je tout casser ?Stress
Asphyxie de la creativite
Perte du plaisir
![Page 66: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/66.jpg)
Vos filets de securite
Les tests automatiques (ASSERT)
I Mesure de la robustesse de votre code
La gestion de version (git, mercurial, ...)
I Principe : sauvegarder les version intermediaires
I Tout devient reversible : retour a la derniere version qui marche ; ouf !
I Travail collaboratif
I Apprennez a l’utiliser !
Programmation incrementale
I Un petit changement a la fois
Bases des Methodes agiles
I Remettre le developpeur au coeur du processus
I http://fr.wikipedia.org/wiki/Extreme_programming
![Page 67: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/67.jpg)
Vos filets de securite
Les tests automatiques (ASSERT)
I Mesure de la robustesse de votre code
La gestion de version (git, mercurial, ...)
I Principe : sauvegarder les version intermediaires
I Tout devient reversible : retour a la derniere version qui marche ; ouf !
I Travail collaboratif
I Apprennez a l’utiliser !
Programmation incrementale
I Un petit changement a la fois
Bases des Methodes agiles
I Remettre le developpeur au coeur du processus
I http://fr.wikipedia.org/wiki/Extreme_programming
![Page 68: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/68.jpg)
Vos filets de securite
Les tests automatiques (ASSERT)
I Mesure de la robustesse de votre code
La gestion de version (git, mercurial, ...)
I Principe : sauvegarder les version intermediaires
I Tout devient reversible : retour a la derniere version qui marche ; ouf !
I Travail collaboratif
I Apprennez a l’utiliser !
Programmation incrementale
I Un petit changement a la fois
Bases des Methodes agiles
I Remettre le developpeur au coeur du processus
I http://fr.wikipedia.org/wiki/Extreme_programming
![Page 69: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/69.jpg)
Vos filets de securite
Les tests automatiques (ASSERT)
I Mesure de la robustesse de votre code
La gestion de version (git, mercurial, ...)
I Principe : sauvegarder les version intermediaires
I Tout devient reversible : retour a la derniere version qui marche ; ouf !
I Travail collaboratif
I Apprennez a l’utiliser !
Programmation incrementale
I Un petit changement a la fois
Bases des Methodes agiles
I Remettre le developpeur au coeur du processus
I http://fr.wikipedia.org/wiki/Extreme_programming
![Page 70: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/70.jpg)
Vos filets de securite
Les tests automatiques (ASSERT)
I Mesure de la robustesse de votre code
La gestion de version (git, mercurial, ...)
I Principe : sauvegarder les version intermediaires
I Tout devient reversible : retour a la derniere version qui marche ; ouf !
I Travail collaboratif
I Apprennez a l’utiliser !
Programmation incrementale
I Un petit changement a la fois
Bases des Methodes agiles
I Remettre le developpeur au coeur du processus
I http://fr.wikipedia.org/wiki/Extreme_programming
![Page 71: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/71.jpg)
Vos filets de securite
Les tests automatiques (ASSERT)
I Mesure de la robustesse de votre code
La gestion de version (git, mercurial, ...)
I Principe : sauvegarder les version intermediaires
I Tout devient reversible : retour a la derniere version qui marche ; ouf !
I Travail collaboratif
I Apprennez a l’utiliser !
Programmation incrementale
I Un petit changement a la fois
Bases des Methodes agiles
I Remettre le developpeur au coeur du processus
I http://fr.wikipedia.org/wiki/Extreme_programming
![Page 72: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/72.jpg)
E. 3. Il faut aller plus loin ! ♣
I Article « infecte par les tests »http:
//junit.sourceforge.net/doc/testinfected/testing.htm
I http:
//fr.wikibooks.org/wiki/Introduction_au_test_logiciel
I Tests unitaires en Java :http://junit.org/
I Tests unitaires en C++ :http://cppunit.sourceforge.net/doc/cvs/cppunit_
cookbook.html
![Page 73: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/73.jpg)
F. Conclusion : qu’avons nous vu ce semestre ?
Les bases de la programmation imperative
I Instructions de controle de flot (conditionnelles, iteratives)
I Types de donnees
I Fonctions, modules
I Entrees-sorties
Un peu de methodologie de developpement
I Documentation, tests
I Cycle de vie d’un programme
I Programmation incrementale
Une esquisse de quelques outils
I Algorithmique, structures de donnees, complexite, architecture, ...
Ce n’est que le debut de l’aventure !
![Page 74: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/74.jpg)
F. Conclusion : qu’avons nous vu ce semestre ?
Les bases de la programmation imperative
I Instructions de controle de flot (conditionnelles, iteratives)
I Types de donnees
I Fonctions, modules
I Entrees-sorties
Un peu de methodologie de developpement
I Documentation, tests
I Cycle de vie d’un programme
I Programmation incrementale
Une esquisse de quelques outils
I Algorithmique, structures de donnees, complexite, architecture, ...
Ce n’est que le debut de l’aventure !
![Page 75: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/75.jpg)
F. Conclusion : qu’avons nous vu ce semestre ?
Les bases de la programmation imperative
I Instructions de controle de flot (conditionnelles, iteratives)
I Types de donnees
I Fonctions, modules
I Entrees-sorties
Un peu de methodologie de developpement
I Documentation, tests
I Cycle de vie d’un programme
I Programmation incrementale
Une esquisse de quelques outils
I Algorithmique, structures de donnees, complexite, architecture, ...
Ce n’est que le debut de l’aventure !
![Page 76: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/76.jpg)
F. Conclusion : qu’avons nous vu ce semestre ?
Les bases de la programmation imperative
I Instructions de controle de flot (conditionnelles, iteratives)
I Types de donnees
I Fonctions, modules
I Entrees-sorties
Un peu de methodologie de developpement
I Documentation, tests
I Cycle de vie d’un programme
I Programmation incrementale
Une esquisse de quelques outils
I Algorithmique, structures de donnees, complexite, architecture, ...
Ce n’est que le debut de l’aventure !
![Page 77: Architecture des ordinateurs - Welcome to Nicolas' homenicolas.thiery.name/Enseignement/Info111/Cours/Cours-10... · 2019-11-20 · l’architecture des ordinateurs. La pr ehistoire](https://reader033.vdocument.in/reader033/viewer/2022042910/5f3fad1567dbb65bd73a86bf/html5/thumbnails/77.jpg)
F. Conclusion : qu’avons nous vu ce semestre ?
Les bases de la programmation imperative
I Instructions de controle de flot (conditionnelles, iteratives)
I Types de donnees
I Fonctions, modules
I Entrees-sorties
Un peu de methodologie de developpement
I Documentation, tests
I Cycle de vie d’un programme
I Programmation incrementale
Une esquisse de quelques outils
I Algorithmique, structures de donnees, complexite, architecture, ...
Ce n’est que le debut de l’aventure !