• Aucun résultat trouvé

gaai d i  ee  e

N/A
N/A
Protected

Academic year: 2022

Partager "gaai d i  ee  e "

Copied!
47
0
0

Texte intégral

(1)

en langage mahine

Version PC et outils MS-DOS

Patrik Cégielski

Otobre 2018

(2)
(3)

UniversitéParisEst-CréteilIUT

RouteforestièreHurtault

F-77300Fontainebleau

egielskiu-pe.fr

(4)
(5)

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!

(6)

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)

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)
(17)

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 . . . 43

2.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

(18)

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

(19)

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

(20)

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

(21)

Modèle théorique

(22)
(23)

Modélisation théorique des

ordinateurs

Laprogrammationdesordinateursexigeuneonnaissaned'unmodèledeeux-i.Unmodèle

théoriquepeutetdoitêtresusant.Lesmodèlesthéoriquessontd'ailleursapparushistoriquement

avantlaréalisation.

(24)

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

A

et

B

sont des ensembles. L'ensemble de dénition

E

est l'ensemble des éléments

x

de

A

pourlesquels

f (x)

estdéni.

Unordinateurestune

hh

boîtenoire

ii

quipermetd'obtenirlavaleur

f (x)

lorsque

f

et

x

sont

donné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.

(25)

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'elleabesoinde

n

entréesetde

p

sorties,

onplae les

n

entréesdans les registres

e 1

à

e n

(danset ordre si l'ordreest important)et on

indiqueàlamahinequ'elledoiteetuerl'opération

op

:elle-ivaherherles

n

entréesdans

les

n

premiers registresd'entrée, les triture par un proédé que l'on n'a pas à onnaître pour

l'instantetplaelesrésultatsdansles

p

premiersregistresdesortie.Onpeutalorsallerréupérer

lesré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

(26)

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.

(27)

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.

(28)

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étant

apabledeontenirunentiernaturel,ommelemontrelagure1.3.

e1 e2 e3 en

s1 s2 opération

s3 sp

r1 r2 r3 rk

Figure1.3Mahineàregistresaveregistresdetravail

(29)

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

versleregistredetravail

k

,notée

r k := e n

;

duregistredetravail

n

versleregistredetravail

k

,notée

r k := r n

;

duregistredetravail

k

versleregistredesortie

n

,notée

s n := r k

.

Iln'yapasengénéraldetransfert duregistred'entrée

n

versleregistredesortie

k

.

Remarquonsqueletransfert d'unregistredetravailversunregistred'entréeoud'un

registredesortieversunregistredetravailn'apasvraimentdesens.

Lesinstrutionsarithmétiquespermettentdesalulsélémentaires:

Laremiseà zéro duregistredetravail

k

,notée

r k := 0

.

L'inrémentationduregistrede travail

k

,'est-à-direlefait deluiajouter1,notée

r 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?

(30)

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

(31)

1.3.4.2 Rupture de séquene

Étiquetagedesinstrutions.-Onva,pourallerplusloin,equedontn'avionspasbesoinjusqu'ii,

repérerlesinstrutionspardesétiquettes,delaforme

q n

suividedeuxpoints,

n

estunentier

naturel.

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

: STOP

Ceiest optionnel:onpeutmettredesétiquettes,nepasenmettre, enmettreertainesetpas

d'autres.

Branhement.-L'instrution de branhement:

SI

r k

= 0 ALLER_A

q 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

: SI

r 2

= 0 ALLER_A

q 2

r 2 := r 2 − 1 r 1 := r 1 + 1

SI

r 3

= 0 ALLER_A

q 1

q 2

:

s 1

:=

r 1

STOP

(32)

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.

Pourtoutentiernaturel

a

l'appliationonstante

f a

déniepar

f a (n) = a

peutêtrealulée

par unprogramme analogueau premier programme, alulant3, que nousavons onsidéréi-

dessus.

(33)

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 leregistre

i 1

, elle d'étiquette

q 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;leprogramme

s'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

:= 0

q 2

: SI

r 1

= 0 ALLER_A

q 1

q 3

: STOP

(34)

1.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éeset

p

sorties.Onpeutonsidérerquelesentréeset lessorties

sontdesentiersnaturels.À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'estjamais

utilisé,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.

(35)

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

(36)

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.

(37)

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℄.

(38)

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.

(39)

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é,par

P (x 1 , ..., x n ) = 0

,

P

est unpolynmehomogènededegré

m

.Un invariant est unpolynme

I

en les oeients des polynmes homogènes à

n

variables de degré

m

tel que pour toute

transformationlinéaire,dedéterminant1,onait

I(a) = I(a )

,si

a

est lalistedesoeientsde

P

et

a

elledel'équation

P

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.

(40)

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 puisque

lesdé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

(41)

extensionsquadratiquesitéréesduorpsdesrationnels;ilmontreensuitequeni

√ 3

3

,ni

sin(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 rationnels

ii

. 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.

(42)

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 à la

question 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

(43)

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éanique

ii

(alias

hh

algorithme

ii

ou

hh

proédure alulatoire

ii

ou

hh

proédure ombinatoire - nie

ii

).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 alulable

ii

. 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

λ

-dénissabilité est esquisséedans l'appendie del'artile mêmede Turing puisprouvéedans[Tur-37℄.

Références

Documents relatifs

ensemble de nombres, elui des réels, pour lesquels es quatre opérations sont dénies mais à. propos duquel on ne parle pas

Le ompilateur doit traduire un programme soure, érit dans un langage de programmation.. donné, en un

Langage mahine.- L'instrution en langage symbolique n'est là que pour nous aider à s'en

de mémoire vive et, d'autre part, le transfert d'une valeur d'un registre vers un élément.. de mémoire vive, ou

(pour Integer DIVision), où le dividende de 16 bits (resp. 32 bits) est plaé dans l'aumulateur. AX (resp. AX et DX, e dernier ontenant le mot de poids fort) et le diviseur de 8

Langage mahine.- Uun sous-programme peut se trouver dans le même segment que le programme. qui l'appelle : la valeur du registre IP est alors hangée mais il est inutile de

de la routine de servie de l'interruption se trouve à l'adresse 4 × n pour le type n : les deux otets de IP se trouvent à l'adresse 4 × n et les deux otets de CS à l'adresse 4 × n +

Sur sa lanée, Intel hh innove ii pour une question de prix de revient : elle rée le 8088, permettant des entrées-sorties sur 8 bits mais des aluls sur 16 bits (le hh ÷ur ii du