en langage mahine
Version PC et outils MS-DOS
Patrik Cégielski
Otobre 2018
UniversitéParisEst-CréteilIUT
RouteforestièreHurtault
F-77300Fontainebleau
egielskiu-pe.fr
Denosjours,toutlemondeoupresqueadéjàutiliséunordinateur 1
,etentouslesasertai-
nementeuxqui désirentliree livre.Mais,demêmequ'ononduituneautomobile sanssavoir
ommentellefontionne(toutaumoinsdanslesmoindresdétails),onsesertd'unordinateursans
savoirommentilaétéonçu.Onpeutdondistinguerdeuxattitudesàl'égarddesordinateurs:
oneptionet utilisation.
Lesdeuxattitudes sontimportantes:onnepeutpasutiliserquelquehosequi n'existepas,
d'où l'intérêt de la oneption; à quoi bon onevoir quelque hose qui n'est pas utilisé, d'où
l'intérêt d'unmarhéd'utilisateurs. Onimaginebienquelaoneptiondoitêtre omplexe,que
esoitelled'unordinateuroud'uneautomobile.Maisontrairementàl'automobile,dontl'uti-
lisationestrelativementsimple(saufexeptionommelesformules1,qui sontdesautomobiles
àpart), l'utilisationdesordinateursonnaîttouteunegradation:simple(utiliserlesressoures
d'Internet,bureautique,jeux vidéo),unpeumoins simple(programmationdepetits utilitaires)
jusqu'àextrêmementomplexe (oneptiondeslogiielsdeprévisiondutemps enmétéorologie,
parexemple).
L'utilisateur a,quantauxordinateurs,seulementbesoindesavoire quepeutfaireunordi-
nateur etonsidérerelui-iommeune boîte noire.Ce qu'ilpeut fairepeutresteràunniveau
informelousemodéliserommemahine deTuring(dontnousparleronsi-après)outoutautre
modèleéquivalent.Onpeut,et ondoit,partirsurettedernièrebasepourune utilisationintel-
ligente.
Si,don,denosjours,onabordelesordinateursenlesutilisantonpeut,dansuneseondeéta-
pe,s'intéresseràleuroneption,soitparsimpleuriosité,soitparequ'uneonnaissanemême
partielle permet quelquefois d'améliorer l'implémentation 2
de ertainsalgorithmes oula para-
métrisation (administrationsystème), soit pare qu'on veuteetivementonevoirune partie
1 . Il s'agitplusspéiquementd'unmiro-ordinateur, maisei estun ranementdelassiation quin'a
rienàvoiravenotresujet.
2 . Maisjamaislaoneption,insistonssurepoint!
d'unnouveausystèmeinformatique.
Les ordinateurs sont l'aboutissement d'une longue quête d'outils d'aide aux aluls 3
. Bien
entendulesplusutiliséset detrèsloin (puisquelesautressontsoitd'unetehnologiedépassée,
soitaustadeexpérimental)sontlesordinateurséletroniques 4
.Nousnenousintéresseronsqu'à
eux-idanslasuite.
Lesordinateurs életroniquesonteux-mêmesonnuuneévolutionauoursde leurhistoire:
ordinateursutilisantdeslampeséletroniques(elles-iayantétérééesàl'originepourlesbesoins
de la TSF), ordinateurs à transistors, ordinateurs à iruits intégrés. Seuls es derniers sont
utilisésdenosjours,saufastrèsspéial.
On distinguedèsl'aborddeux aspetsdupointde vuedelaoneption: l'aspetmatériel
et l'aspet logiiel.Le premieronernelesiruitséletroniques,lesiruitséletriqueset les
partiesméaniques(hardwareenanglais,equisigniequinaillerie), leseondonernetoute
quiest programmation(softwareenanglais,jeu demotonsistantàremplaerhardparsoft).
Ladistintiondeesdeuxaspetsprovientdeequ'ilsorrespondentàdeuxmétiersdiérents
àl'origine,et mêmeen grandepartie denosjours :l'aspetmatériel est liéàlaphysique,plus
partiulièrementàl'életronique,alorsquel'aspetlogiielestpluttliéauxmathématiques.
0.1 Bibliographie
[Wil-85℄ Williams,MihaelR.,AHistoryofComputingTehnology,IEEEComputer
SoietyPress,1985,seond edition,1997,xi +426p.
3. Cetaspetestmalheureusementtrèsmaltraitédanslalittérature.Onpourralire[Wil-85℄pouruneintro-
dution.
4. Maisen'estpaslaseulepossibilité:lepremierordinateur,eluideBabbage(onçuen1834maisnonréa-
lisé),étaitentièrementméanique;puisvinrentlesalulateurséletro-méanique(avedesrelaistéléphoniques)
Préfae v
0.1 Bibliographie . . . vi
I Modèle théorique 1 1 Modélisationthéorique des ordinateurs 3 1.1 Données,opérationet résultat. . . 4
1.2 Notionderegistre . . . 5
1.3 Instrutions . . . 7
1.3.1 Notiond'instrution . . . 7
1.3.2 Registresdetravail. . . 8
1.3.3 Instrutionsprimitives . . . 9
1.3.4 Struturesdeontrle . . . 10
1.3.5 Unitéarithmétique . . . 12
1.3.6 Programme . . . 12
1.3.7 Programmeenregistré . . . 13
1.4 Fontionsalulables . . . 14
1.5 Historique . . . 15
1.5.1 Mahinesd'aideauxaluls . . . 15
1.5.2 Fontionsalulables . . . 19
1.6 Bibliographie . . . 24
1.7 Exeries . . . 27
II Les prinipes de la réalisation physique 29 2 Codage de l'information 31 2.1 Leontexte . . . 32
2.2 Codagedesentiersnaturels . . . 35
2.3 Codagedestextes . . . 36
2.4 Appendie:onversions . . . 37
2.5 Historique . . . 38
2.5.1 Utilisationdel'életriité . . . 38
2.5.2 Utilisationdelanumérationbinaire . . . 38
2.5.3 Leodagedestextes . . . 39
2.6 Bibliographie . . . 47
3 Les iruits ombinatoires 49
3.1 Lesiruitsombinatoires . . . 50
3.1.1 Fontionslogiques . . . 50
3.1.2 Tabledevéritéd'unefontionlogique . . . 50
3.1.3 Lesfontionslogiquesnaturelles . . . 50
3.1.4 Ciruitséletroniques . . . 51
3.1.5 Dénitiondesiruitsombinatoires . . . 52
3.2 Analysedesiruitsombinatoires . . . 52
3.3 Synthèsedesiruitsombinatoires . . . 53
3.3.1 Réalisationdesiruitsombinatoiresdebase . . . 53
3.3.2 Réalisationdesautresiruitsombinatoires . . . 55
3.3.3 Notationdesiruitslogiqueélémentaires . . . 55
3.4 L'additionneur . . . 56
3.4.1 Demi-additionneur . . . 56
3.4.2 Étaged'additionneur. . . 57
3.4.3 Additionneurbinaireomplet . . . 58
3.5 Historique . . . 60
3.5.1 Shannonetlesiruitsdeommutation. . . 60
3.5.2 Lepremieradditionneur(életro-méanique) . . . 61
3.5.3 Appliationsystématique . . . 63
3.6 Bibliographie . . . 64
4 Réalisation des iruitsombinatoires 65 4.1 Lesiruitséletroméaniques. . . 66
4.1.1 Prinipederéalisationdesiruits . . . 66
4.1.2 Lesrelais . . . 66
4.1.3 Réalisationdesporteslogiques . . . 67
4.2 Lesiruitsàlampesradio. . . 68
4.2.1 Diodeet triode . . . 68
4.2.2 Réalisationdesporteslogiquesàl'aidedeslampeséletroniques. . . 72
4.3 Lesiruitsàélémentssemi-onduteursdisrets . . . 74
4.3.1 Lesiruitsàtransistors . . . 74
4.3.2 Lesiruitsàtransistorsetdiodessemi-ondutries . . . 77
4.4 Utilisationdesiruitsintégrés . . . 79
4.4.1 Notiondeiruitintégré . . . 79
4.4.2 Utilisationdesiruitsintégréspourlesiruitsombinatoires. . . 83
4.5 Historique . . . 84
4.5.1 Lesiruitsméaniques . . . 84
4.5.2 Lesiruitséletroméaniques. . . 84
4.5.3 Lesiruitsàlampeséletroniques . . . 87
4.5.4 Lesiruitsàtransistors . . . 90
4.5.5 Lesiruitsintégrés . . . 91
4.5.6 Leture1:l'ENIAC . . . 93
4.6 Bibliographie . . . 101
5 Réalisation des registresetdes mémoires 103 5.1 Réalisationdesregistres . . . 104
5.1.1 BistableR.S. . . 104
5.1.2 Registresàbistables . . . 105
5.3 Historique . . . 108
5.3.1 Premièresréalisationsdesregistres . . . 108
5.3.2 Lesregistresàbasule . . . 113
5.4 Bibliographie . . . 116
6 Lesbus 119 6.1 Réalisationdestransferts . . . 120
6.1.1 Transfertdiretentre registres . . . 120
6.1.2 Leproblèmetopologiquedelaliaisonentre registres . . . 121
6.1.3 Lesbus . . . 122
6.1.4 Réalisationdestransfertsviaunbus . . . 124
6.1.5 Pupitredeommande . . . 124
6.2 Réalisationdesinstrutionsprimitives . . . 125
6.2.1 L'unitéarithmétique . . . 125
6.2.2 Réalisationdesopérations . . . 126
6.3 Historique . . . 127
6.3.1 Calulateursàpupitre deommande . . . 127
6.3.2 Transodagedéimalbinaire . . . 127
6.4 Bibliographie . . . 128
6.5 Exeries . . . 128
7 Enregistrementdes programmesséquentiels 129 7.1 Codageet déodagedesinstrutionsprimitives . . . 130
7.1.1 Codagedesinstrutionsprimitives . . . 130
7.1.2 Notionderegistred'instrution . . . 131
7.1.3 Déodagedesinstrutionsprimitives . . . 131
7.2 Programmessimples . . . 132
7.2.1 Nouveauxomposantséletroniques . . . 132
7.2.2 Exéutionduprogramme . . . 135
7.2.3 Déroulementd'unprogramme. . . 136
7.3 Historique . . . 137
7.3.1 Aspetmatériel . . . 137
7.3.2 Aspetlogiiel . . . 151
7.4 Bibliographie . . . 156
8 Programmesà rupture de séquene 159 8.1 Codageet déodagedesrupturesdes'équene. . . 160
8.1.1 Codagedelarupturedeséquene . . . 160
8.1.2 Déodagedesrupturesdeséquene . . . 161
8.1.3 Déroulementd'unprogramme. . . 161
8.2 Historique . . . 162
8.2.1 Notiondeprogrammeenregistréaverupturedeséquene(1945) . . . 162
8.2.2 Construtiondupremierordinateur(Angleterre,1948). . . 163
8.2.3 Ledéploiementdesordinateurs . . . 166
8.3 Bibliographie . . . 171
9 Arhiteturedes ordinateurs 173 9.1 Vued'ensemble . . . 174
9.1.1 Lemiroproesseur . . . 174
9.2 Synhronisationethorloge. . . 174
9.3 Lesbus . . . 176
9.3.1 Notion . . . 176
9.3.2 Cartemère . . . 178
9.4 Interfaçagedelamémoire . . . 178
9.4.1 Hiérarhiedesmémoires . . . 178
9.4.2 Élémentsdemémoireentrale. . . 179
9.5 Démarraged'unmiro-ordinateur . . . 180
9.6 Historique . . . 181
9.6.1 Synhronisation. . . 181
9.6.2 Apparitiondesmiroproesseurs . . . 181
9.6.3 Apparitiondesmiro-ordinateurs . . . 186
9.7 Bibliographie . . . 197
III La programmation des miroproesseurs 199 10La programmationdes miroproesseurs 201 10.1 Miroproesseur,mémoireet périphériques. . . 202
10.1.1 Unemodélisationdesordinateurs . . . 202
10.1.2 Lesregistres. . . 202
10.1.3 Mémoiredemasse . . . 202
10.1.4 Premièrelassiationdesinstrutionsd'unmiroproesseur . . . 203
10.2 Unexempledemiroproesseur:Intel8088 . . . 204
10.2.1 Aspet extérieur . . . 205
10.2.2 Lesbrohes . . . 205
10.2.3 Lesregistresinternes . . . 206
10.2.4 Lesunités dumiroproesseur. . . 207
10.3 Façonsdeprogrammerunmiroproesseur. . . 208
10.3.1 Programmationphysiquedumiroproesseur . . . 208
10.3.2 Kitspéial . . . 208
10.3.3 Programmationsurunsystèmeinformatique . . . 208
10.4 Historique . . . 209
10.5 Bibliographie . . . 210
10.6 Appendie:MS-DOSsurunelé USB . . . 210
10.6.1 Premièreétape:réupérerMS-DOS . . . 210
10.6.2 Seondeétape:réerunelé USBbootable . . . 210
10.6.3 Troisièmeétape:versionfrançaiseomplète . . . 213
11Aès à la mémoirevive du 8088 215 11.1 Modèlesdemémoire . . . 216
11.1.1 Lamémoireplatedui8085 . . . 216
11.1.2 Segmentationdelamémoiredu8086/8088 . . . 216
11.2 Éritureet letureenmémoireavedebug . . . 218
11.2.1 Lelogiieldebug . . . 218
11.2.2 Contenuenhexadéimal . . . 218
11.2.3 Analysed'unezonedemémoireavedebug . . . 218
11.2.4 Changerune zonedemémoireavedebug . . . 219
12.1 Premièresinstrutionsdu8088 . . . 222
12.1.1 Premièresinstrutionsdetransfertdu8088 . . . 222
12.1.2 Instrutionderetour . . . 225
12.2 Programmerenlangagemahineavedebug. . . 227
12.2.1 Leprogramme . . . 227
12.2.2 Unaparté:examenduontenudesregistres . . . 228
12.2.3 Codageenlangagemahine avedebug . . . 230
12.2.4 Visualisationd'unprogramme. . . 232
12.3 Assembleravedebug . . . 233
12.4 Historique . . . 233
12.4.1 Leslangagessymboliques . . . 233
12.4.2 CP/MetMS-DOS . . . 234
12.4.3 Debug . . . 235
12.5 Bibliographie . . . 235
IV Le langage mahine du miroproesseur 8088 237 13Les instrutionsde transferts 239 13.1 PrinipedustokagedesmotshezIntel . . . 239
13.2 Autresinstrutionsdetransfert . . . 240
13.2.1 Classiationdesinstrutionsdetransfert . . . 240
13.2.2 Stokageduontenu del'aumulateurdansunélémentdemémoirevive 240 13.2.3 Chargementd'unélémentdemémoirevivedansl'aumulateur . . . 241
13.2.4 Transfertentreregistresouregistreetasemémoire . . . 242
13.2.5 Choixdusegment . . . 243
13.3 Historique . . . 244
13.4 Bibliographie . . . 244
14Aès auxpériphériques 245 14.1 Prinipedel'aèsauxpériphériques . . . 246
14.2 Casdu8088 . . . 247
14.2.1 Aspetmatériel . . . 247
14.2.2 Entréedansl'aumulateur . . . 247
14.2.3 Sortieduontenudel'aumulateur . . . 247
14.3 Unexemple:voyantslumineuxdulavierMF II . . . 248
14.4 Historique . . . 249
15 Calulssur lesentiers naturels 251 15.1 Inrémentationetdérémentation. . . 251
15.1.1 Lesopérationsarithmétiques . . . 251
15.1.2 Représentationdesentiersnaturels . . . 252
15.1.3 Inrémentation . . . 252
15.1.4 Dérémentation. . . 254
15.2 Addition . . . 256
15.2.1 Addition surunotetousurunmot . . . 256
15.2.2 Addition surplusieursmots . . . 259
15.3 Soustration. . . 262
15.3.1 Soustrationsurunotetouunmot . . . 262
15.3.3 Soustrationsurplusieursmots . . . 265
15.4 Multipliation. . . 267
15.5 Divisioneulidienne . . . 269
15.6 Historique . . . 272
15.6.1 Lestouspremiersprogrammes(enlangagemahine) . . . 272
15.6.2 Miseenplae . . . 285
15.7 Bibliographie . . . 285
16Strutures de ontrle 287 16.1 Sautinonditionnel . . . 288
16.1.1 Sautinonditionnelintrasegmentaire,diretet relatif. . . 288
16.1.2 Autressauts inonditionnels. . . 290
16.2 Sautsonditionnels . . . 290
16.2.1 Lesdiérentsas . . . 290
16.2.2 Exemple:l'exponentiation . . . 292
16.2.3 Laomparaison. . . 294
16.3 Historique . . . 295
16.4 Bibliographie . . . 295
17Les entiers relatifs 297 17.1 Entiersrelatifs . . . 298
17.1.1 Représentationdesentiersrelatifs . . . 298
17.1.2 Casdumiroproesseur8086/8088 . . . 300
17.2 Ledéimalodébinaire . . . 305
17.2.1 Notion . . . 305
17.2.2 Addition enDCB. . . 306
17.2.3 SoustrationenDCB. . . 307
17.2.4 Casdelamultipliationet deladivision . . . 307
17.3 Historique . . . 307
17.3.1 BlaisePasaletleomplémentàneuf . . . 307
18Programmation modulaire 309 18.1 Notionsgénérales . . . 310
18.2 Casdumiroproesseur8086/8088 . . . 311
18.2.1 Appeldusous-programme . . . 311
18.2.2 Retourd'unsous-programme . . . 311
18.2.3 Unexemple . . . 312
18.3 Historique . . . 313
19La pile 315 19.1 Lapile . . . 315
19.1.1 Étudegénéraledelapile. . . 315
19.1.2 Casdumiroproesseur8086/8088 . . . 316
19.1.3 Unexemple . . . 319
19.2 Lepassagedesparamètresàunsous-programme . . . 320
19.2.1 Utilisationdesregistresdedonnées . . . 320
19.2.2 Utilisationdelamémoire . . . 321
19.2.3 Utilisationdelapile . . . 321
20.1 Instrutionslogiques . . . 326
20.1.1 Miseenplae . . . 326
20.1.2 Appliationaumasquage . . . 328
20.2 Lesdéalageslogiques . . . 329
20.3 Lesrotations . . . 331
20.3.1 Lesrotationssurunotetouunmot. . . 331
20.3.2 Lesrotationssurunotetouunmotet l'indiateurCF . . . 333
20.4 Changerl'indiateurderetenue . . . 335
20.5 Historique . . . 335
21 Lesinterruptions 337 21.1 Typesd'interruptions . . . 337
21.1.1 Troistypesd'interruption . . . 337
21.1.2 Lesinterruptionsinternes . . . 338
21.2 Lesinterruptionslogiielles . . . 338
21.2.1 Miseenplae . . . 338
21.2.2 Unexempled'appeld'interruptionlogiielle . . . 340
21.2.3 Unexemplederoutined'interruptionlogiielle . . . 341
21.3 Masquagedesinterruptionsexternesmasquables . . . 343
22 Leshaînes de aratères 345 22.1 Dénitiondeshaînesdearatères. . . 346
22.1.1 Représentationdesaratères . . . 346
22.1.2 Représentationdeshaînesdearatères . . . 346
22.1.3 Jeudearatèresutilisé . . . 347
22.2 Adressageindiretparregistreet tableaux . . . 347
22.2.1 Notion . . . 347
22.2.2 Unexemple . . . 348
22.3 Primitivesdemanipulation desmots . . . 350
22.3.1 Copie . . . 350
22.3.2 Remplissage. . . 355
22.3.3 Chargement . . . 358
22.3.4 Comparaison . . . 363
22.3.5 Reherhe . . . 366
22.3.6 Choixdeladiretion . . . 369
22.4 Historique . . . 369
23 Dernièresinstrutions 371 23.1 Adressageindexé . . . 372
23.2 Instrutionsd'éhange . . . 373
23.3 Pasd'opération . . . 373
23.4 Arrêtduprogramme . . . 374
23.5 Tablesdetradution . . . 374
23.6 A. . . 375
23.7 Historique . . . 375
24 Assemblage etdésassemblage 377 24.1 Assemblage . . . 378
24.1.1 Champsd'uneinstrution . . . 378
24.1.3 Instrutionsaveunseulopérande . . . 379
24.1.4 Instrutionsavedeuxopérandes . . . 384
24.2 Désassemblage . . . 388
24.2.1 Instrutionssanspréxe . . . 388
V Évolution 391 25Évolution des miroproesseurs 393 25.1 Letoutpremiermiroproesseur: le4004 . . . 394
25.2 Le8008 . . . 395
25.3 Le8080 . . . 396
25.4 Le8085 . . . 397
VI Programmation en langage d'asemblage 399 26Initiation aux langages d'assemblage 401 26.1 Notionet miseenplaedel'assembleur . . . 402
26.1.1 Notiongénérale . . . 402
26.1.2 LesassembleurspourPCetMS-DOS . . . 402
26.1.3 InstallationdeMASM . . . 403
26.1.4 Unpremierexempledeprogrammeenlangaged'assemblage. . . 403
26.2 Strutured'unprogrammesoureenlangaged'assemblage. . . 405
26.2.1 Instrutionset diretivesd'assemblage . . . 405
26.2.2 Segmentsd'unprogramme. . . 406
26.2.3 Présentationd'unprogrammed'assemblage . . . 408
26.2.4 Programmeet DOS . . . 409
26.2.5 Exemplesdeprogrammes . . . 410
26.2.6 Strutured'unprogramme . . . 410
26.2.7 Dénitionsimpliéedessegments. . . 411
26.2.8 Dénitiondessegments . . . 412
26.3 Leshiersutilitairesdel'assembleur. . . 414
26.3.1 Listing. . . 414
26.4 Formed'unprogrammeenlangaged'assemblage . . . 417
26.4.1 Identiateurs . . . 417
26.4.2 Syntaxed'uneinstrutiondelangaged'assemblage . . . 419
26.4.3 Lesnombresentiers enlangaged'assemblage . . . 420
26.4.4 Initialisationd'unregistreaveunaratère . . . 420
26.4.5 Aèsàlamémoirevivegrâeauxvariables . . . 420
26.4.6 Lesonstantesenlangaged'assemblage . . . 423
26.4.7 Lesstruturesdeontrle . . . 423
26.5 Lessous-programmesenlangaged'assemblage. . . 428
26.5.1 Sous-programmeintra-segmentaire . . . 428
26.5.2 Sous-programmeinter-segmentaire . . . 430
26.5.3 Utilisationdelapilepouronserverlesregistres . . . 431
26.6 Leshaînesdearatères. . . 432
26.6.1 Délarationdeshaînesdearatères. . . 432
26.6.2 Ahaged'unehaînedearatère . . . 432
26.7 Entrées-sortiesdesentiers . . . 437
26.7.1 Ahaged'unentier . . . 437
26.7.2 Saisied'unentier . . . 439
26.8 Laprogrammationmodulaire . . . 441
26.8.1 Leproblèmedel'interfae . . . 441
26.8.2 Unexemple . . . 442
26.8.3 Lesbibliothèques . . . 446
26.9 Langaged'assemblageet langageévolué . . . 448
26.9.1 LierunprogrammeCetunprogrammeenlangaged'assemblage . . . 448
26.10Bibliographie . . . 450
Index 455
1.1 Données,opérationet résultat. . . 4
1.2 Mahineàregistres . . . 5
1.3 Mahineàregistresaveregistresdetravail . . . 8
1.4 Mahineaveunité arithmétique . . . 12
1.5 VasedeDarius([Wil-85℄,p. 56) . . . 15
1.6 AbaquedeSalamis([Wil-85℄,p. 57) . . . 16
2.1 Prinipedelatransmissiond'unbit . . . 32
2.2 Prinipedelatransmissiondel'information . . . 33
2.3 Numérationbinaire . . . 35
2.4 Tableau deFrederiRemington . . . 39
2.5 TélégrapheChappe[Fig-68℄ . . . 40
2.6 Codeutilisé pourletélégrapheChappe. . . 41
2.7 CodeMorse . . . 42
2.8 Claviertélégraphiqueà5touhesd'ÉmileBaudot,Journaltélégraphique,vol. 8,n
o
12,déembre1884 . . . 432.9 DisposiondesmainssurlelavierBaudot . . . 44
2.10 CodeBaudot . . . 46
3.1 Représentationd'uniruitéletronique . . . 51
3.2 Priniped'unrelais . . . 53
3.3 Représentationshématiqued'unrelais . . . 53
3.4 Prinipederéalisationd'uninverseur. . . 54
3.5 Prinipederéalisationd'uneporteOU . . . 54
3.6 Prinipederéalisationd'uneporteET . . . 55
3.7 Notationdesporteslogiques. . . 55
3.8 Réalisationd'undemi-additionneur . . . 56
3.9 Notationd'undemi-additionneur . . . 57
3.10 Réalisationd'unétaged'additionneur . . . 57
3.11 Notationd'unétaged'additionneur . . . 58
3.12 Notationd'unadditionneur . . . 58
3.13 Additionneurbinaireparallèle . . . 59
3.14 Additionneurbinaireparallèle16bits. . . 60
3.15 Shémadudemi-additionneurdeStibitz([Lig-87℄, p.227) . . . 61
3.16 Répliquedudemi-additionneurdeStibitz([Aug-84℄,p.101) . . . 62
4.1 Priniped'unrelais . . . 66
4.2 Représentationshématiqued'unrelais . . . 66
4.3 Inverseuràrelais . . . 67
4.4 PorteOUàrelais . . . 67
4.5 PorteETàrelais . . . 68
4.6 L'émissionthermoéletronique. . . 68
4.7 Prinipedeladiode . . . 69
4.8 Trèsfaiblepassagedeourant. . . 69
4.9 Passagedeourant . . . 70
4.10 Unediode([Bow-53℄,p.40) . . . 70
4.11 Prinipedelatriode . . . 71
4.12 Symboledelatriode . . . 71
4.13 Traind'impulsionsnégatives([Bow-53℄,p.42) . . . 72
4.14 Réalisationd'uneporteETavedeuxdiodes([Bow-53℄,p. 43) . . . 72
4.15 Réalisationd'uneporteOUavedeuxdiodes([Bow-53℄,p.44) . . . 73
4.16 Réalisationd'uninverseuraveunedeuxtriodes([Bow-53℄,p. 46) . . . 73
4.17 Courbesaratéristiquesd'un transistor . . . 74
4.18 Utilisationd'untransistorommeinverseur . . . 75
4.19 UtilisationdedeuxtransistorsommeporteNAND. . . 76
4.20 UtilisationdedeuxtransistorsommeporteNOR . . . 76
4.21 Présentationdestransistorsàl'utilisateur . . . 77
4.22 Symboleetaratéristiquesd'unediodesemi-ondutrie . . . 77
4.23 RéalisationdesportesETet OUavedesdiodessemi-ondutries . . . 78
4.24 Aspetd'unepueéletronique . . . 79
4.25 BoîtierdeiruitintégréavedesbrohesDIL . . . 79
4.26 ShémafontionnelduiruitintégréSN7400([TI-73℄,p. 62) . . . 80
4.27 Duréedepropagationàtraversuneporte . . . 81
4.28 Lepremieréletro-aimant,inventé parSturgeonin1824. Dessinde l'artilede 1824dansBritish RoyalSoiety ofArts, Manufatures, andCommere. Ilya18 toursdel deuivre(nonisolé). . . 84
4.29 Lepremierrelaiséletrique([Lig-87℄, p.184) . . . 85
4.30 Relaiséletromagnétique. . . 85
4.31 Fig.1de[Ata-40℄ . . . 89
4.32 Tabledans[Ata-40℄. . . 90
4.33 Lepremierprototypedeiruitintégré([Aug-84℄,p. 237) . . . 91
4.34 Shémagénéraldel'ENIAC([Lig-87℄,p. 321) . . . 98
5.1 PrinipedubistableR.S. . . 104
5.2 NotationdubistableR.S. . . 104
5.3 Priniped'unregistreàbistables . . . 105
5.4 Miseàzérod'unregistre . . . 105
5.5 Shémad'unélémentdemémoireROM . . . 106
5.6 Entréed'unnombrebitparbit ([Aug-84℄, p.126) . . . 108
5.7 RépliquedelamahineZ3deZuse([Wil-85℄, p.217) . . . 109
5.8 Lemiro-ordinateurAltair([Aug-84℄,p. 274) . . . 109
5.9 UneunitédelignesàretardduBINAC([Aug-84℄, p.158) . . . 110
5.10 LealulateurIASàlaSmithsonianInstitutionàWashington([Aug-84℄,p.155) 111 5.11 Mémoireàtoresdeferrite([Aug-84℄,p. 194). . . 112
5.12 Lepremierbasuleur([Lig-87℄,p. 268) . . . 113
5.13 Lepremierbistablesuriruitintégré([Aug-83℄, p.11). . . 114
5.14 LapremièreRAM:le4100deFairhild ([Aug-83℄, p.25) . . . 115
6.1 Transfertentreregistrespardeuximpulsions . . . 120
6.2 Premiersystèmedetransfertentre registresàentréeforée . . . 120
6.3 Deuxièmesystèmedetransfertentreregistresàentréeforée . . . 121
6.4 Liaisonsregistresd'entréebusdesdonnées. . . 122
6.5 Liaisonsregistresdesortiebusdesdonnées . . . 123
6.6 Liaisonsbusregistresdetravail . . . 123
6.7 L'unitéarithmétique . . . 125
6.8 Transodagedéimalbinaire([Lig-87℄,p. 228). . . 127
7.1 Codageet déodage . . . 131
7.2 BistableJ.K. . . 132
7.3 Notationd'unbistableJ.K. . . 133
7.4 ÉlémentdemémoireJ.K. . . 133
7.5 Notationd'unélémentdemémoireJ.K. . . 134
7.6 BasuleJ.K.. . . 134
7.7 Traind'impulsions . . . 134
7.8 Registred'inrémentation . . . 135
7.9 Compteurdeprogramme . . . 135
7.10 Programmationparâblage([Bur-80℄, p.328) . . . 137
7.11 Programmationparâblage([Bur-80℄, p.317) . . . 138
7.12 ([WR-50℄,p. 419) . . . 148
7.13 ([WR-50℄,p. 421) . . . 149
7.14 Leodedel'EDSAC(1949) . . . 154
7.15 Formatd'instrutiondel'EDSAC([Cam-01℄,p.14). . . 155
9.1 Arhitetureprimaired'unordinateur . . . 174
9.2 Ciruitnonasynhrone. . . 175
9.3 Délaidepropagation . . . 175
9.4 Ciruitsynhrone. . . 175
9.5 Délaisynhrone . . . 176
9.6 Arhitetureàtroisbus . . . 177
9.7 Aspet extérieurdumiroproesseur4004([Mal-95℄, p.11) . . . 181
9.8 Lapremièrealulatrieavemiroproessur([Mal-95℄,p.4) . . . 182
9.9 Vueinternedumiroproesseur4004([Aug-84℄,p.266) . . . 183
9.10 Publiitépourlemiroproesseur4004([Aug-84℄, p.264) . . . 184
9.11 Vueinternedumiroproesseur8008([Aug-84℄,p.266) . . . 185
9.12 Vueinternedumiroproesseur8080([Aug-84℄,p.266) . . . 185
9.13 PDP-1([Aug-84℄,p. 256) . . . 186
9.14 PDP-8([Aug-84℄,p. 256) . . . 187
9.15 LepremierMiralphotographiéàtédesaartemère([Lil-03℄,p. 93) . . . 188
9.16 LaouverturedeRadio-Eletronisdejuillet1974([Aug-84℄,p.269) . . . 189
9.17 LaouverturedePopular Eletronis dejanvier1975([Aug-84℄,p. 273) . . . 190
9.18 IMSAI8080([Lil-03℄,p. 114) . . . 191
9.19 AppleI ([Aug-84℄,p.278) . . . 192
9.20 AppleII([Lil-03℄,p. 116) . . . 193
9.21 KIM-I(Bolo'sComputerMuseum,http://www.bolo.h) . . . 194
9.22 LePet deCommodore([Lil-03℄,p.124) . . . 195
9.23 IBMPC(1981) . . . 196
10.2 C÷urdu8088. . . 204
10.3 Brohesdu8088 . . . 205
10.4 Struturefontionnelledu8088 . . . 207
10.5 FenêtredeHP USB Disk Storage Format Tool . . . 211
10.6 Fenêtred'avertissementdeHP USB Disk Storage Format Tool . . . 212
11.1 Segmentationdelamémoire. . . 217
12.1 Désignationdesregistresgénérauxdu8088 . . . 223
12.2 Désignationdesregistresdesegmentdu8088 . . . 224
13.1 Modesd'adressagedu8088lorsquemod = 00 . . . 242
15.1 Lepremierprogramme(18juillet1948) . . . 272
15.2 Premièreroutine(Worsley1950) . . . 273
15.3 Deuxièmeroutine(Worsley1950) . . . 274
15.4 Troisième routine(Worsley1950) . . . 275
15.5 Premierorganigramme(Worsley1950) . . . 276
15.6 Seondorganigramme(Worsley1950) . . . 277
15.7 Troisième organigramme(Worsley1950) . . . 278
15.8 Tabledesarrés(Worsley1950). . . 279
15.9 Tabledesnombrespremiers(Worsley1950) . . . 280
Modèle théorique
Modélisation théorique des
ordinateurs
Laprogrammationdesordinateursexigeuneonnaissaned'unmodèledeeux-i.Unmodèle
théoriquepeutetdoitêtresusant.Lesmodèlesthéoriquessontd'ailleursapparushistoriquement
avantlaréalisation.
1.1 Données, opération et résultat
On dénit en mathématiques lanotiongénérale de fontion,résumée parlanotation bour-
bakiste:
f : E ⊆ A → B
où
A
etB
sont des ensembles. L'ensemble de dénitionE
est l'ensemble des élémentsx
deA
pourlesquels
f (x)
estdéni.Unordinateurestune
hh
boîtenoireii
quipermetd'obtenirlavaleurf (x)
lorsquef
etx
sontdonnés:onentreunesuitedenombres 1
,appeléelesdonnées,onluiindiqueuneopérationou
fontionàeetuer(dansunsenstrèslarge,bien au-delàdes quatreopérationsarithmétiques
quesontl'addition, lamultipliation,lasoustrationetladivision)et ilen sortuneautresuite
denombres 2
,appeléelerésultat,onformémentaushémadelagure1.1:
résultat opération
données
Figure1.1 Données,opérationetrésultat
Pourlesopérationsourantes(addition,soustration,multipliation,division...)lesdonnées
sont au nombre de deux : on parle de fontion binaire. Elles sont quelquefois au nombre
de un (arré, ube, raine arrée...) : on parle de fontion unaire. Elles peuvent même être
d'un nombreplusgrand(opérations surles matriespar exemple).Ilen est de mêmepourles
résultats qui seprésentent souventsousla forme d'un nombreunique (as del'addition, de la
multipliation, de l'extrationde raine arrée...)mais peut omporterplusieurs nombres(as
desopérationssurlesmatriesmaisaussiplussimplementdivisioneulidienneoùl'ondonnele
quotientetlereste).
1. oudearatèresoudeequ'onveut.
1.2 Notion de registre
Appelons registre tout méanisme apable de stoker une donnée et de la
restitueraumomentvoulu.
e1 e2 e3 en
s1 s2 opération
s3 sp
Figure1.2Mahine àregistres
Unordinateur peutalorsêtredéritd'unefaçonunpeuplusnedelafaçonsuivante:
onaune pilederegistres d'entrée,numérotés
e 1 , e 2 , e 3 , . . . , e n , . . .
, potentiellementin- nie,haqueregistrepouvantontenirunentiernaturel;on a une pile de registres de sortie, numérotés
s 1 , s 2 , s 3 , . . . , s n , . . .
, potentiellement innieégalement,haqueregistrepouvantontenirégalementunentiernaturel.Sionveutfaireeetuerl'opération
op
dontonsaitqu'elleabesoinden
entréesetdep
sorties,onplae les
n
entréesdans les registrese 1
àe n
(danset ordre si l'ordreest important)et onindiqueàlamahinequ'elledoiteetuerl'opération
op
:elle-ivaherherlesn
entréesdansles
n
premiers registresd'entrée, les triture par un proédé que l'on n'a pas à onnaître pourl'instantetplaelesrésultatsdansles
p
premiersregistresdesortie.Onpeutalorsallerréupérerlesrésultatsdanslesregistresdesortiequandonveut.
Letraitementdel'opérationn'aévidemmentauuneraisond'êtreimmédiat.Ilfautdonpré-
voirunsignalde n pourindiquerquelamahine aterminéd'eetuerl'opérationanqu'on
n'aillepasherherdesrésultatserronés.
Remarque.- L'ordinateur est dérit d'unefaçon unpeu plusne mais beauoup s'exlameront
hh
mais pas de façon réaliste
ii
. En eet on ne voit pas ommentonevoirune pile innie de
registres.En faitnous avonsparléd'unepile potentiellement innie: onpeut partird'unepile
théoriedelarelativitégénéraleapouronséquenequ'iln'existequ'unnombrenidepartiules
élémentairesdansl'univers;ilestdonimpossibled'étendreunetellepileau-delàd'uneertaine
taille.
Il n'en demeure pasmoins qu'ilest plus simple deraisonner sur une pile (potentiellement)
innie.Nousétudieronsplustardl'inidenedeette hypothèse.
Demêmeonnevoitpasommentonevoirunregistreapabledereevoirunentiernaturel
aussigrandquel'onveut.Lemêmeommentaires'appliqueàette deuxièmerestrition.
1.3 Instrutions
1.3.1 Notion d'instrution
Problème.-Commentindiquerl'opérationàeetuer?
Voilàlaquestionquel'onseposenaturellementàepointdel'exposé.Pourlesopérationsélé-
mentaires(addition,multipliation, extrationdesrainesarrées, logarithme,sinus...) onpeut
penseràmunirlamahined'unesériedetouhessur lesquellessontindiquéslesnomsdesopé-
rations.Ilsut d'appuyersurlatouhedésirée pourdélenherl'opération('este quisefait
pourlesalulettes).Cesystèmen'estpasenvisageabledansleasd'unordinateurarlenombre
desfontionsalulablesest trèsgrand,voiremêmeinni.
Unespoir:générationnie dunombreinnid'opérations.-Onadelahane.Bienquelenom-
bred'opérationssoitinni,touteopérationalulables'obtientàpartird'unnombrenid'opéra-
tionsprimitives(ouélémentaires)grâeàunnombrenideonstruteursd'opérationsomposées.
Instrution.-Onpréfèreparlerd'instrutioneninformatique pluttqued'opération, bienque
e soit la même hose, ar on donne des instrutions à la mahine omme on le ferait à une
personnepoureetuerunertaintravail.
1.3.2 Registres de travail
On a quelquefois besoin d'entreposer des résultats intermédiaires : lorsqu'on eetue une
soustration, par exemple, on a besoin de plae pour marquer les retenues sur une feuille de
papier. On onsidèreradon qu'on dispose, outre des deux piles de registres de donnée et de
registresderésultat,d'unepilederegistresdetravail,notés
r 1 , r 2 , r 3 , . . . , r n , . . .
,haunétantapabledeontenirunentiernaturel,ommelemontrelagure1.3.
e1 e2 e3 en
s1 s2 opération
s3 sp
r1 r2 r3 rk
Figure1.3Mahineàregistresaveregistresdetravail
1.3.3 Instrutions primitives
Classiationdesinstrutionsprimitives.-Onpeutvoirimmédiatementunertainnombred'ins-
trutionsprimitivesutiles,quel'onpeutrépartirentroistypes:
Les instrutions de transfert permettent de opier le ontenu d'un registredans un
autre:
duregistred'entrée
n
versleregistredetravailk
,notéer k := e n
;duregistredetravail
n
versleregistredetravailk
,notéer k := r n
;duregistredetravail
k
versleregistredesortien
,notées n := r k
.Iln'yapasengénéraldetransfert duregistred'entrée
n
versleregistredesortiek
.Remarquonsqueletransfert d'unregistredetravailversunregistred'entréeoud'un
registredesortieversunregistredetravailn'apasvraimentdesens.
Lesinstrutionsarithmétiquespermettentdesalulsélémentaires:
Laremiseà zéro duregistredetravail
k
,notéer k := 0
.L'inrémentationduregistrede travail
k
,'est-à-direlefait deluiajouter1,notéer k := r k + 1
.Ladérémentationduregistredetravail
k
,'est-à-direlefaitdeluiretranher-1s'il estnonnul(ilresteàzéros'ilestnulsionveutquelerésultatsoitunentiernaturel),notée
r k := r k − 1
.Laseuleinstrutionde ontrleprimitiveest:
l'instrution d'arrêt de la mahine, notéeSTOP, qui fait, par exemple,lignoter une
lampe pour indiquer que l'on peut aller herher les résultats dans les registres de
sortie.
Exerie.-Voyez-vousd'autresinstrutions primitives possibles?
1.3.4 Strutures de ontrle
Onappelleprogrammeleoneptpréisd'instrution omplexeonstruiteàpartirdesins-
trutionsprimitivesàl'aidedesonstruteursd'instrutions.
Onappelleonstruteurd'instrutionsoustruturedeontrleequipermetd'obtenir
d'autresinstrutionsàpartirdesinstrutionsprimitives.Voyonsquelquesstruturesdeontrle
naturelles.
1.3.4.1 Séquenement
Notion.-Lapremièrestruturedeontrlequinousvientàl'espritestertainementleséquen-
ement:ils'agitd'exéuterunesuited'instrutionsl'uneaprèsl'autre.
Exemple.-L'instrutionomposéesuivantepermetdeplaer3danslepremierregistredesortie:
r 1 := 0 r 1 := r 1 + 1 r 1 := r 1 + 1 r 1 := r 1 + 1 s 1 := r 1
STOP
1.3.4.2 Rupture de séquene
Étiquetagedesinstrutions.-Onva,pourallerplusloin,equedontn'avionspasbesoinjusqu'ii,
repérerlesinstrutionspardesétiquettes,delaforme
q n
suividedeuxpoints,oùn
estunentiernaturel.
Leprogrammepréédentpeutêtrerééritdelafaçonsuivanteenutilisantdesétiquettes:
q 0 : r 1 := 0 q 1 : r 1 := r 1 + 1 q 2 : r 1 := r 1 + 1 q 3 : r 1 := r 1 + 1 q 4 : s 1 := r 1
q 5
: STOPCeiest optionnel:onpeutmettredesétiquettes,nepasenmettre, enmettreertainesetpas
d'autres.
Branhement.-L'instrution de branhement:
SI
r k
= 0 ALLER_Aq k
permetune rupture de séquene: sileontenu duregistrede travail
r k
est nul alorsonva,nonpasàl'instrutionsuivantedansl'ordredanslequellesinstrutionssontérites,maisàelle
d'étiquette
q k
.Bien quelesétiquettes soientfaultatives,il faut néessairement,dansle as d'unerupture
deséquene,quel'instrutionàlaquelleonveutrenvoyersoit étiquetée.
Exemple.-(Addition)
Leprogrammesuivantpermetd'additionnerlesontenusdesdeuxpremiersregistresd'entrée
etd'en plaerlerésultatdanslepremierregistredesortie:
r 1
:=e 1
r 2
:=e 2
r 3 := 0
q 1
: SIr 2
= 0 ALLER_Aq 2
r 2 := r 2 − 1 r 1 := r 1 + 1
SI
r 3
= 0 ALLER_Aq 1
q 2
:s 1
:=r 1
STOP
1.3.5 Unité arithmétique
Pournepastenirompteduhoixspéiquedesinstrutionsprimitives,présentonsunnou-
veaumodèle.
Onappelleunitéarithmétique(arithmeti unitenanglais)l'organedelamahineapable
d'effetuerlesinstrutionsarithmétiquesprimitivesquel'onahoisies,pasnéessairementelles
i-dessus.
On onsidère en général, pour simplier, que l'unité arithmétique ne travaille qu'ave les
registresdetravail.Nousobtenonsalorsleshémadelagure1.4 :
travail sortie
entrée
arithmétique unité
Figure1.4Mahine aveunité arithmétique
1.3.6 Programme
Programme.-On appelle programmetoute suited'instrutions,que e soientdesinstrutions
primitives oudesstruturesde ontrle.
L'idée est qu'unprogrammepermetd'eetuerune opération.Onadonune façonniede
générerungrandnombred'opérations.
Exerie.-Montrerquel'ensembledesprogrammeseteluidesopérationsalulablessontinnis.
⊢
Pourtoutentiernaturela
l'appliationonstantef a
dénieparf a (n) = a
peutêtrealuléepar unprogramme analogueau premier programme, alulant3, que nousavons onsidéréi-
dessus.
⊣
1.3.7 Programme enregistré
Une idée fondamentale de von Neumann aété de plaer les instrutions, et don le pro-
gramme,dansdesregistres.
Registresd'instrution.- Nous avons préédemment numéroté les instrutions an de pouvoir
eetuer desrupturesde séquene.Introduisons maintenantdenouveauxregistres,appelésre-
gistresd'instrution,notés
i 1
,i 2
,i 3
,...,i n
,...Mettonsdesétiquettesàtouteslesinstrutions.Plaçons l'instrution d'étiquette
q 1
(sans sonétiquette) dans leregistrei 1
, elle d'étiquetteq 2
dans
i 2
etainsidesuite.Pointeurd'instrution.- Introduisons unnouveauregistre,appelé pointeur d'instrution qui
ontientune adressed'instrution, 'est-à-direunentier naturelnonnul.
Le programmeur n'a aès au registre d'instrution que de façon indirete. Au début de
l'exéution du programme, le registre d'instrution a lavaleur1. Après l'exéution de haque
instrution, lavaleurdu registred'instrution est inrémentée sauf s'il s'agit d'unerupture de
séquene:dansedernieras,leregistred'instrutionprend lavaleurindiquée.
Miseen÷uvred'unprogramme.-Onvoitalorsommentfaireexéuterunprogramme:onplae
les instrutions et les données dans les registres adéquats et on fait démarrer le programme.
L'instrution
i 1
est alors eetuée; on passe ensuite à l'instrution suivante, elle de numéro suivantengénéralsaufsil'instrutionestuneinstrutionderupturedeséquene;leprogrammes'arrêtelorsqu'onrenontrel'instrutionSTOP.
Remarque.- Que sepasse-t-il si on ne tombejamais sur l'instrution STOP? Le programme ne
s'arrêtepas:onditqu'ilboule.Vousêtesertainementdéjàtombés(involontairement)surun
telassivousavezprogrammé.Voii parexempleunprogrammequiboule:
q 1
:r 1
:= 0q 2
: SIr 1
= 0 ALLER_Aq 1
q 3
: STOP1.4 Fontions alulables
Introdution.-Nousvenonsdevoirleprinipederéalisationdesordinateurs.Unetelle mahine
peut-ellealulertoute quiest alulable?N'avons-nouspasoublieruneinstrutionprimitive
ou une struture de ontrle? Pire, sommes-nous sûrs qu'il existe un jeu en nombre ni bien
hoisid'entre elles?
Il a existé au ours de l'histoire de nombreuses mahines d'aide aux aluls : abaques et
bouliers,mahine arithmétique de Pasal, ... L'idée intuitive de e qu'est une opération (nous
dironsfontiondorénavant)alulableestuneopérationdontlerésultatpeutêtreobtenugrâeà
unemahine(d'aideauxaluls),qu'importelanaturedeelle-i.Rienneditd'ailleursapriori
qu'ilexistedesfontionsnonalulables(nousverronsependantplustardqu'ilenexiste).
Un programmeutilise
n
entréesetp
sorties.Onpeutonsidérerquelesentréeset lessortiessontdesentiersnaturels.Àtoutprogrammeestdonassoiéunefontion,visiblementalulable
ennotresensintutif.
On dit qu'une fontion surles entiers naturels et à valeursdans les entiers
naturelsest réursive si, etseulement si, il existe (au moins)unprogramme
(ausensi-dessus)permettant de laaluler.
Remarques.-1
o
)Larestritionapparenteonernantlesentiersnaturelsn'estpasfondamentale.
Lesmots,parexemple,peuventêtrereprésentéspardesentiersnaturelsenutilisantunodage
adéquat.
- 2
o
) Unefontion réursivepeutêtre aluléeparplusieurs programmes.Ily en a
mêmetoujoursuneinnité:ilsut,sionaunprogrammedanslequelleregistre
r n
n'estjamaisutilisé,d'introduire, parexempleaudébut,autantdefoisquel'onveutl'instrution:
r n := r 1
-3
o
)Lesfontionsréursivessontvisiblementalulables,maisest-equetoutesles
fontionsalulablessontréursives?Ilestdéliatd'yrépondrepuisqu'onestenprésene,d'une
part, d'une notion mathématique préise (elle de fontion réursive) et, d'autre part, d'une
notionintuitive(elledefontionalulable).Cependantonatoutlieudepenserquel'assertion
suivanteest vraie.
Thèse de Churh(1936)
Lesfontions alulables sontlesfontions réursives.
JustiationdelathèsedeChurh.-LathèsedeChurhest justiéeparlesfaitssuivants:
Danslesannées1930plusieursauteursontessayéde mathématiserlanotiondefontion
alulable.
Ilssontarrivésàdesrésultatsdiérents,ertes,maisonesttoujoursarrivéàmontrerque
l'ensembledesfontionsorrespondantàunmodèledonnéestidentiqueàl'ensembledes
fontionsorrespondantàaumoinsunautreetdonàtouslesautres.
L'undesmodèles,eluidesmahines de Turing, aréussiàonvainreentièrement.
Ons'aperçoitjouraprèsjourquetoutefontionintuitivementalulableestbienalulable
surordinateur.
1.5 Historique
Nousavonsdéjàvu,lorsdel'introdutionàlaprogrammation,deuxmomentslésdel'histoire
delanotiond'ordinateur:
leontexte,'est-à-direlesbesoinsenalulsdeplusenplusomplexes,depuislaPréhis-
toire;
laréationdesbureauxdealulspoureetuerlesaluls omplexes.
Nousallonsvoirmaintenantdeuxautresmomentslés:
laréalisationdemahinesd'aideauxaluls;
la dénition de e qui peut être résolu algorithmiquement au milieu des années 1930,
ristalliséeparlathèse deChurh-Turing.
Figure1.5VasedeDarius([Wil-85℄, p.56)
1.5.1 Mahines d'aide aux aluls
Nous avonsdéjà signalé le livre [Wil-85℄ pourune initiation àl'historique desoutils d'aide
auxaluls,yomprislesordinateursquin'ensontqu'uneétape,laplusévoluée.Onpourras'y
référer.
1.5.1.1 Abaques
Des outils d'aide aux aluls apparurent dans l'Antiquité sous le nom d'abaque, e qui a
désignédestehniquesdiérentesetdontl'histoireest engrande partieperdue(voir[Sh-01℄).
Démosthène (384 av. J.C., 322 av. J.C.) érit ([227℄ et [229℄) que nous avons besoin
d'utiliserdesaillouxpoureetuerlesalulsquisonttropdiilesàfaireàlamain.
Hérodote ([Her℄, II 36) érit à propos des Égyptiens :
hh
Ils érivent leurs aratères et
ii
LevasegreditdeDarius,trouvéen1851etmaintenantonservéaumuséedeNaples,montre
untrésoriertenantune tablette àlamain alors qu'ilsemble manipulerdes ompteurssur une
tableavel'autre (gure1.5,voiraussiunephotodans[Smi-25℄,vol.II,p.161).
Unetable d'abaqueaététrouvéedansl'îledeSalamisprèsduPirée (gure1.6).
Figure1.6AbaquedeSalamis([Wil-85℄,p.57)
On sait que lamanipulation desailloux sur de la poussière, ou l'utilisation d'un doigt ou
d'unstyletsurdelapoussièreneoudusabledéposésurunetable,estutiliséedepuislestemps
lesplusaniens.Lemotsémiteabaq (poussière)sembleêtreàl'originedumotabaque.LesGres
utilisaientlemotabaxpourdésigner unesurfaeplanesurlaquelle ilseetuaientleursaluls.
Le terme abaque a désignéplusieurshoses auours deson histoire,y ompris lesbouliersau
XIX
e
et XX
e
sièles.
1.5.1.2 Calulatriesméaniques
Onappellealulatrietoutemahine permettantd'eetuerrapidementl'uneoula totalité
desquatreopérations surlesentiersnaturels:addition, soustration, multipliation etdivision.
Un bon résumé de l'histoire des alulatries se trouve dans le livre A history of Compu-
tingTehnology[Wil-85℄deMihaelWilliams,avedesréférenesbibliographiques.Nousnous
ontenteronsiid'endonnerlesgrandesétapes.
Ladéterminationdesimpts donnelieuàlanaissanede lapremièremahine àaluler
méanique,elledeBlaisePasal(16231662)en1642,dontlepèreétaitfermiergénéral,
'est-à-direhargéde la détermination et du reouvrement des impts. Celle-i onnaît
untrèsgrandintérêtdeuriositémaispaslesuèsommerialesompté.
Onadéouvert tardivementque Pasal aétédevané parWilhem Shikard(1592
1635),quiaertainementonstruitunealulatriepermettantlesadditionsen1623,mais
quiestperdue.
Gottfried Wilhem Leibniz (16461716) onstruit une mahine apable d'eetuer des
multipliationsen1670.
La première alulatrie à onnaître un suès ommerial, inspirée de la mahine de
Leibniz,est l'arithmomètre de Thomasde Colmar, mise sur le marhé en1820 et qui
futvendue jusqu'à la premièreguerre mondiale. D'autres mahines, toutesméaniques,
furentommerialiséesjusqu'audébutdesannées1970.Ellessontalorsremplaéesparles
aluletteséletroniques,sous-produitdesordinateurs.
1.5.1.3 Mahinesdédiées
Onappellemahinedédiéetoutoutil d'aideauxalulsonçupourunbesoin biendéni.
Ils'agitd'aborddealulateursanalogiques(etnonnumériques),telsqueeuxquiserventàla
prévisiondesmarées(enpartiuliereluidelordKelvin,quiaonstruiten1878undespremiers
alulateursanalogiques,unpréditeurdemaréesméaniqueappliquantlesprinipesdel'analyse
harmonique),quisontdéritsdanslapremièrepartiede[Gol-72℄.Ils'agitensuitedealulateurs
méaniques tels que la mahine Z1 de KonradZuse (19101995)onstruite en 1938 puis des
mahines életro-méaniques(utilisant des relais) tels quele Model Ide Georges Stibitz aux
établissementsBellpoureetuerdesalulssurlesnombresomplexes.Unepremièredesription
deesmahines setrouvedans [Wil-85℄.
1.5.1.4 Calulateursgénéralistes
On appelle alulateur généraliste tout outil d'aide aux aluls apable d'eetuer des
aluls plusompliqués quelesquatre opérations sans êtreune mahine universelle(ausensoù
nousleverrons àlasous-setion suivante).
Ils'agitdesmahinesZ2,Z3etZ4deKonradZuseonstruitesavantlandelaseondeguerre
mondiale, des Model II àModel VIde Georges Stibitz auxétablissementsBell, des mahines
deHarvardde HowardAiken(Mark IàMark IV)etdes premiersalulateursIBM.Viennent
ennlesalulateurséletroniquestellesquelamahine ABCdeJohnAtanasoff(19031995)
etCliordBerry(19181963)etsurtoutl'ENIACdel'universitédePennsylvanie.Unepremière
desriptiondees mahinessetrouvedans[Wil-85℄.
1.5.1.5 Mahinesuniverselles ou ordinateurs
Onappellemahineuniverselle,ouordinateur,toutoutild'aideauxalulsapabled'ef-
fetuertoutalul quil'est parune mahine,qu'importela naturede elle-i.
Lepremierordinateur(onçumaisnononstruit)estlamahineanalytiquedeCharlesBab-
bage (17911871), entièrement méanique. L'idée du premier ordinateur jamais réalisé, due
essentiellementàJohnvonNeumannestl'EDVAConçuen1945.Maisàausedesdissensions
auseindel'équipe,ilneseraterminéqu'en1950,aprèslamiseenserviedel'EDSACdeCam-
bridgeenAngleterre(1949),onçu parMaurieWilkes.Onpourratrouveruneintrodutionà
lanaissanedesordinateurs,avedesréférenesbibliographiques,dans[Wil-85℄.
Vintensuitelaommerialisationdesordinateurs,avelatoutepuissaned'IBMdurantune
période,puisl'apparitiondesmiro-ordinateurs.
1.5.2 Fontions alulables
1.5.2.1 Premiersdoutes sur leslimitesdes alulspar programme
Les aluls apparaissentdepuislanaissane desCités pourdes raisons de omptabilité(les
quatreopérationsarithmétiques)puispourdesraisons astronomiques(liées àladétermination
dessaisons pourl'agriulture).Apparaissentensuite deplusenplusdeprogrammesde aluls,
nonpas,historiquement,lesprogrammesd'ordinateurmaislesprogrammesdanslesbureauxde
aluls.Deux problèmes,ependant,vontiniteràs'interrogersurleslimitesdeeux-i.
Attitudegénérale.-Pendantlongtempslesmathématiiensontrésoludesproblèmespartiuliers
par des méthodes générales, des méthodes souvent plus générales que e pourquoi elles ont
été reherhées. On s'interroge, par exemple, sur la ontenane d'un tonneau de telle forme.
La méthodela plusgénérale de l'Antiquité, apelée méthode d'exhaustion, onsisteà devinerla
formule(exate) donnantle volumed'un solided'uneformedéterminée puisàladémontreren
approximantlesolidepardespolyèdresdeplusenplusprohes.AuXVII
e
sièle,laméthodedu
alulintégraldeNewtonetLeibnizpermet dealulerdesvolumessansavoird'idéeapriori
surlerésultat.Onneommene às'interrogersurlanotiongénéraledevolumequ'autroisième
tiersduXIX
e
sièle.
LeXIX
e
sièleestunsièleàlafoisderigueuretdelassiation.Onnes'intéresseplusàtel
ou telproblème partiulier,onveutformulerle asgénéral et obtenirdes théorèmesgénéraux
surelui-i.
Premierproblème:théoriedesinvariants.- Considérons une ourbe dans le plan, une surfae
dansl'espaeoul'analogue(unehypersurfae)dansunespaededimensionarbitraire.Certains
deesobjetssontdesvariétés,dontlesoordonnées,dansunrepèredonné,vérientuneéquation
polynomiale.Lorsqu'onhangederepère,l'équationdelavariétéhangemaisonpeutmettreen
évidene sur l'équation despropriétés invariantes parrapportà unhangementde repère. Ces
invariantstraduisentlespropriétésgéométriquesintrinsèquesdelavariété.
Unevariété algébriquedansunespaededimension
n
estdénie, dansunrepèredonné,parP (x 1 , ..., x n ) = 0
, oùP
est unpolynmehomogènededegrém
.Un invariant est unpolynmeI
en les oeients des polynmes homogènes àn
variables de degrém
tel que pour toutetransformationlinéaire,dedéterminant1,onait
I(a) = I(a ′ )
,sia
est lalistedesoeientsdeP
eta ′
elledel'équationP ′
après latransformation.Le problème de la théorie des invariants onsiste à déterminer les invariants de la variété
algébrique.
En 1868 [Gor-68℄, Paul Gordan (18371912) trouveune méthode pour déterminer les in-
variantsd'une ourbealgébrique plane. Pendantvingt ans,personne neréussit àaméliorerles
résultatsde Gordan. En 1890,David Hilbert[Hil-90℄ donneune réponse endimensionquel-
onque, en montrant que, dans un espae de dimension donnée, il existe une famille nie qui
engendrel'ensembledesinvariantspardesopérationssimples(Théorèmede la basede Hilbert).
Cependant la démonstration ne donne pas de proédure pour aluler la famille génératrie.
Cettevoieabstraiterenontreuneviveopposition.Gordandélare:
hh
Ce n'est pasdesmathé-
matiques,'estdelathéologie
ii
(f.[ML-08℄).Hilbertreprendleproblèmeet,en1893[Hil-93℄,
réussitàdonnerunedémonstrationonstrutivequipermetdealulerlafamillegénératriedes
invariants 3
.
C'est ertainementlapremièrefoisquel'oninsistesurl'eetivité oualulabilitéd'un pro-
blème.
Deuxièmeproblème:équationsdiérentielles etaxiomeduhoix.- Le développement des ma-
thématiques lassiques est fortement lié àelui de laphysique. Ce dont a besoin la physique,
'estlarésolutiond'équationsdiérentielles.Pourlesassimples,onaputrouverdessolutions
hh
exates
ii
àertainesd'entre elles,'est-à-direexprimable àl'aidedesfontions onnues. Au
XIX
e
sièle, onommene àomprendre que l'on n'a pas toujoursde
hh
solution analytique
ii
exate.Lessolutionsapprohéessontsusantespourlaphysiqueàonditiondedisposerdethé-
orèmes surertaines propriétésgénérales.Augustin Cauhy (17891857)[Cau-1844℄, ave des
hypothèsespréiséespar RudolphLipshitz (18321903),montre l'existeneet l'uniité de la
solutiond'uneéquationdiérentielleavedesonditionsinitialesdonnées[Yus-81℄,equireète
bienl'expérienephysique.
Guiseppe Peano (18581932) améliore le résultat de Cauhy et Lipshitz en montrant
l'existenedansleseulasdelaontinuité,maissansuniitéommelemontrel'exemplelassique
y ′ = √ 3 x
.On s'aperçoit rapidement que Peano utilise impliitement une hypothèse pour démontrer
son résultat, hypothèse qui va être onnue sous le nom d'axiome du hoix. Un énoné simple
deelui-idit queleproduit artésien(inni) d'ensemblesnonvidesest unensemble nonvide.
Émile Borel s'interrogesur lanotion d'eetivité à propos de lajustiation de l'axiomedu
hoixdanssesLeçonssurlesfontions de1898[Bor-98℄.
1.5.2.2 Retouren arrière: émergenedes problèmesde possibilité
Audix-neuvièmesièlenaîtunenouvellefaçonderépondreauxproblèmes,letypederéponse
étantinattendupourunmathématiiendel'époque.Jusqu'alors,lorsqu'onposaitunproblème,
on s'attendait à e qu'il soit résolu,tt ou tard, sous la forme sous laquelle il aété posé. Le
nouveautypederéponse est:iln'existepasderéponseauproblèmesouslaformesouslaquelle
ilest posé.
Cettenouvelleattitudeapparaîtàproposdeproblèmesanienssurlarésolutiondeséquations
algébriquesetsurleproblèmedesonstrutionsgéométriques.
Le premier exemple en est donné par Ruffini en 1799 [Ruf-04℄. Les équations algébriques
sont apparuestrès ttpourdes raisonsdiverses (maisnon vraimentexpliitées). Larésolution
des équations du seond degré date de la Mésopotamie anienne. La résolution des équations
dutroisième et duquatrième degrédate duXVI
e
sièle (Tartaglia, Ferrari...).On herhe
alorsativementàrésoudrel'équationduinquièmedegré,plusexatementparradiaux,'est-
à-direquelessolutionssontexpriméesàpartirdesoeientsenutilisantlesquatreopérations
arithmétiqueset lepassageàlaraine
n
-ième.Ruffinimontreque'estimpossible,outoutau moins l'arme puisquesonartile est onsidéréomme inompréhensible. Qu'importe puisquelesdémonstrationsd'Abel (en1824)puis lethéorèmegénéraldeGaloisde 1832(quivaplus
loinpuisqu'indiquedansquelasuneéquationalgébriqueestrésolubleparradiaux)onrment
erésultat.
Le seond problèmeonerne lesonstrutionsgéométriquesàl'aide dela règleet du om-
pas. L'Antiquité laisse trois problèmes non résolus à e propos : la dupliation du ube (en
terme moderne il faut onstruire la raine ubique de 2), la trisetion d'un angle quelonque
(la onstrutiondelabissetrieestonnuedepuislongtemps) etlaquadratureduerle (étant
donné le rayon d'un erle, autrement dit un segment de droite, onstruire le té, un autre
segment,d'unarréayantmêmeairequeleerle).Wantzelmontreen1837[Wan-37℄qu'ilest
impossiblederésoudrelesdeuxpremiersproblèmes:leslongueursdessegmentsonstrutiblesà
l'aidedelarègleetduompasparrapportàunsegmentdelongueurunsontappeléslesnombres
extensionsquadratiquesitéréesduorpsdesrationnels;ilmontreensuitequeni
√ 3
3
,nisin(10 o )
nesontdesnombresonstrutibles.Lindemann[Lin-82℄onlutenmontrantl'impossibilitédela
quadratureduerleen1882,pluspréisémentendémontrantquelenombre
π
esttransendant, 'est-à-direqu'iln'estsolutiond'auuneéquation polynomialeàoeientsrationnels.Beauoup d'autres solutionsde e type apparaissent. David Hilbert y fait référene dans
sonélèbreexposéSurlesproblèmes futursdesMathématiquesde1900:
Il se peut aussi que l'on s'eore d'obtenir une solution en se basant sur des hy-
pothèses insusantes ou mal omprises et que, par suite, on ne puisse atteindre le
but. Ils'agitalors de démontrerl'impossibilité derésoudreleproblème ense servant
d'hypothèses telles qu'elles ont été données ou interprétées. Les Aniens nous ont
donné les premiers exemples de pareilles démonstrations d'impossibilité;ils ont dé-
montré ainsi quedans untriangle retangle isoèle l'hypoténuse et leté de l'angle
droit sont dans un rapport irrationnel. Dans les Mathématiques ontemporaines, la
question de l'impossibilité de ertaines solutions joue un rle prépondérant;'est à
epointde vuede la démonstration de l'impossibilité qued'aniens etdiiles pro-
blèmes, telsqueeuxdela démonstrationde l'axiomedesparallèles,de laquadrature
du erle et de la résolutionpar radiaux de l'équation duinquième degré, ont reçu
une solution parfaitement satisfaisante et rigoureuse bien qu'en un sens tout dié-
rent de elui qu'on herhait primitivement. Le fait remarquable dont nous venons
de parler etertainsraisonnementsphilosophiques ontfaitnaître ennous la onvi-
tionquepartageraertainementtoutmathématiien,maisquejusqu'iipersonnen'a
étayéed'auunepreuve, laonvition, dis-je, quetoutproblèmemathématique déter-
miné doit être forément suseptible d'une solution rigoureuse, que e soit par une
réponsedireteàlaquestion posée, oubienparladémonstration del'impossibilitéde
la résolution, 'est-à-direde l'insuèsde toutetentativede résolution.
[Hil-00℄,p.1112.
Ilest d'ailleursurieuxque,alorsqu'ilaitbienonsienedesolutionsinattendues,Hilbert
neremetteabsolumentpasendoutelespossibilitésdualul.L'unedespreuveslesplusagrantes
de ettedernière onstatationest l'analysefaite par Yuri Matiiassevih en1999 de la façon
dontDavidHilbertposesondixième problème(surlesmathématiquesfutures)en1900:
Le dixième problème oupe moins d'espae qu'auun autre problème dans l'artile
de Hilbert. Durant son exposé il n'en dit pas un mot, ainsi que sur quelques autres
problèmes.Son exposédura deuxheures et demi mais ei ne fut pas susantpour
présenter les vingt-trois problèmes; ainsi quelques problèmes, dont le dixième, ne
furent pas présentés oralement mais seulement inlus dans la version imprimée de
l'exposé.
AinsiHilbertnedonna-t-ilpasdemotivationpourledixièmeproblème.Nouspouvons
seulement deviner pourquoi il ne parla que des solutions en
hh
entiers rationnelsii
. Nous avons vu que ela est équivalent à reherher unalgorithme pour résoudre leséquations diophantiennes en entiersnaturels. Mais, en fait, Diophante lui-mêmene
résolvait les équations ni en entiers naturels, ni en entiers relatifs, il herhait des
solutions rationnelles.Don pourquoiHilbertne demanda-t-ilpasune proédurepour
déterminer l'existene de solutions rationnelles?La réponse est plus ou moins évi-
dente. Hilbertétait optimiste etroyaiten l'existened'unalgorithme pour résoudre
leséquationsdiophantiennesenentiers.Untelalgorithmenouspermettraitégalement
de résoudreleséquations enrationnels.
Biensûronne peutpasendéduire aprioriàproposd'unproblèmepartiulier qu'Hilbert
neseposajamaislaquestiondelaalulabilité.Mais enfaitauundesproblèmesneportesur
laalulabilitéetonneretrouvepasdetraedeetteinterrogationdansses÷uvres.
1.5.2.3 Le besoinde aratériser lesfontions alulables
Nousavonsvui-dessussurvenirquelquesdoutessurlaalulabilitédeertainesopérations,
en partiulierparÉmile Borel,mais sansqu'ilyait de dénition dee qui est alulable.La
néessité de dénir rigoureusement laalulabilité d'une fontion se fait ressentirà proposde
deux problèmes:elui deladéidabilitéde l'arithmétiqueélémentaire et l'énonéduthéorème
d'inomplétudedeGödel.
Leproblèmedeladéidabilitédel'arithmétiqueélémentaire.-Toutlemondesesouvientdespro-
blèmesdeGéométriequ'ilarenontrésauollège.Ilfaut,suivantlaapaitédehaun,plusou
moinsdetempspourlesrésoudre.Certainssontmêmesidiilesqu'ilfautattendrelasolution
duprofesseur.D'autres,enoreplusdiiles,faisaientl'objetd'énonésdansdesrevuestelleque
feuelaRevuede MathématiquesÉlementairesenFrane.
AlfredTarskimontreàlandesannées1920(publiétardivement[Tar-48,Tar-51℄)qu'enfait
iln'y anul besoinderéativitépourrésoudrees problèmes.Onpeutautomatiserlagéométrie
élémentaire, 'est-à-dire que l'on peut onstruire une mahine à laquelle on donne l'énoné et
elle-i en donne la réponse. Il s'agit d'un résultat théorique, une telle mahine n'étant pas
onstruiteàl'époque.Cen'estquedanslesannées1970qu'elleommeneraàapparaîtreomme
programmed'ordinateur.
Puisque lagéométrie élémentaire est automatisable, il doit bien en être égalementainsi de
l'arithmétiqueélémentaire,sedit-onàl'époque.Desreherhessontalorseetuéesdansesens,
mais on s'aperçoit rapidement que le as est plus oriae. On ommene même à sedire qu'il
ne doitpas en êtreainsi. Mais ommentle démontrer?Et d'abordommentdémontrer qu'un
problèmen'estpasautomatisable.Ilfaudraitdéjàpréiserequ'estunproblèmeautomatisable.
Lethéorèmed'inomplétudedeGödel.-En 1931,KurtGödelrépondàHilbert(plusexate-
mentà sonproposque
hh
la onvition, dis-je, quetout problème mathématique déterminédoit être forément suseptible d'une solution rigoureuse, que e soit par une réponse direte à laquestion posée, ou bien par la démonstration de l'impossibilité de la résolution, 'est-à-dire de
l'insuès de toute tentative de résolution
ii
) par son élèbre théorèmed'inomplétude : quelle
quesoitlathéoriemathématiqueonsidérée,ilexisteunénonédulangagedeelle-iqui nepeut
niêtredémontré, niréfuté dansettethéorie.
Gödel[God-31℄abesoind'unminimumd'hypothèsessurequ'estune théoriemathémati-
quepourdémontrersonthéorème.Unethéoriemathématiqueestunethéorielogiquedupremier
ordre, ave unertain ensemble d'axiomes. Dans e ontexte, l'ensemble des axiomes ne peut
pas être ni mais on doitsavoirsi unénoné du langage de la théorie est un axiome ou non.
Autrementditondoitpouvoirdéidersi'estunaxiome.
Pourdémontrersonthéorème,Gödeldonnelui-mêmeune dénitiondee qu'estunefon-
tionalulable, inspirée, dit-il,d'unesuggestionnon publiée de JaquesHerbrand.Il nesera
ependantlui-mêmeonvainuqu'ilabienainsiappréhendélanotiondefontionalulablequ'à
l'apparitiondumodèledeTuringen1936(etdel'équivaleneavesonmodèle),ommeilledit
dansunpostriptum àlarééditiondesonartiledans[Dav-65℄:
Enonséquened'avanées ultérieures,en partiulieraufaitque, dusauxtravauxde
A.M.Turing,unedénitionpréiseetadéquatesansdisussionduoneptgénéralde
systèmeformelpeutmaintenantêtredonnée,l'existenedepropositionsarithmétiques
même peuvent maintenant être démontrés rigoureusement pour tout système formel
ontenantune ertainequantitéde théorie desnombres nitaire.
Les travaux de Turing donnent une analysedu onept de
hh
proédure méaniqueii
(alias
hh
algorithmeii
ouhh
proédure alulatoireii
ouhh
proédure ombinatoire - nieii
).Onamontréquee oneptestéquivalent àelui de
hh
mahine deTuring
ii
.
[Dav-65℄,p. 71
1.5.2.4 Caratérisationdes fontionsalulables
Venons-en don à la dénition de Turing. Sous la diretion de Neumann,Alan Turing
passedel'étudedelathéoriedesgroupesàl'hypothèsedeRiemannet,pourela,aualuldes
zérosdelafontiondzéta.Lesmoyensthéoriquessonthorsde portée; ils'agitdond'eetuer
desalulssurlesdéimaux(aveleserreursinhérentes)pourobtenirdesrésultatssurlesréels.
Ilabandonneeproblèmepouruneréexionglobalesurlesréelsquipeuventêtrealulables
et plusgénéralementsur
hh
e qui est alulableii
. Ilrépond àlaquestionen 1936 [Tur-36℄ en dénissantsonélèbremodèledemahines abstraites.Saréponseest immédiatementaeptée.LamêmeannéeAlonzoChurh[Chu-36℄lamequetoutenotiondealulabilitéestrédutible
auxmahinesdeTuring(equiestonnusouslenomdethèse de Churh):
Lefaitque deuxdénitions trèsdiérenteset (dansl'opinionde l'auteur) également
naturellesde la alulabilitéeetive soientéquivalentesajouteàlaforedesraisons
données i-dessous pour roire qu'elles onstituent une aratérisation générale de
ettenotionohérente ave laompréhension intuitivede elle-i.
[Chu-36℄,note3
Plusieursautresmodèlesdealulabilitésontproposés,dontonmontrefailementqu'ilssont
touséquivalentsàeluidesmahinesdeTuring.
1.5.2.5 Autres modèleset mahinesRAM
Plusieurs modèles théoriques de aratérisation des fontions alulables ont été proposés,
presquetouslamêmeannée1936.
Modèledesfontionsréursives.- Comme nous l'avonsdéjà dit, le premier modèle est proposé
parHerbrand.
KurtGödelestlepremiermathématiienàavoirbesoind'unearatérisationdel'ensemble
desfontionsalulables.Ilutiliseune variantedeelledeHerbranddans[God-31℄maissans
êtreenêtresatisfait.
λ
-alul.-AlonzoChurh[Chu-33℄et StephenColeKleene [Kle-35℄proposentunseondmo-dèleen1933,quiseraappeléplustard
λ
-alul (prononezlambdaalul).L'équivaleneavele modèledeHerbrandGödelest due prinipalementàKleene [Kle-36℄maisaussipartiellementàChurhetRosser[CR-36℄.
MahinesdeTuring.-Ce qu'onappelledenosjoursmahines de Turing aétéproposéparAlan
Turing[Tur-36℄et,indépendammentetdefaçonplusapprofondie,parEmilPost[Pos-36℄.L'é-
quivalene ave la