ebook img

IF AC/AO 2015/2016 Architecture des ordinateurs Protopoly PDF

129 Pages·2016·0.9 MB·French
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview IF AC/AO 2015/2016 Architecture des ordinateurs Protopoly

Architecture des circuits Architecture des ordinateurs Protopoly Florent de Dinechin avecdesfiguresde R.Bergasse,N.Bonifas,N.Brunie,P.Boutillier, A.Derouet-Jourdan,J.Detrey,A.Friggeri,M.Feurgard,B.Grenet,F.Givors, T.Jolivet,C.Keller,E.Lassalle,P.E.Meunier, P.Robert,G.Salagnac,O.Schwander,T.Risset,P.Vannier versiondu10octobre2022 2 Table des matières 1 Introduction 9 1.1 Deslivressérieux,parcequecepoly,bon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2 Historiqueducalculmécanique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Objectifsducours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Laconceptiond’ASResthiérarchique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.5 Quelquesordresdegrandeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.5.1 L’universestnotreterraindejeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.5.2 Latechnologieen2018 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.5.3 Calculcontrestockageetdéplacementdedonnées . . . . . . . . . . . . . . . . . . . 16 1.5.4 YapasquelesPCdanslavie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 I L’informationetcommentonlatraite 19 2 Coderl’information 21 2.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.1 Informationetmedium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.2 Informationanalogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.3 Informationnumérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.1.4 Coderletemps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2 Coderdesnombresentiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.1 Numérationdepositionpourlesentiersnaturels . . . . . . . . . . . . . . . . . . . 22 2.2.2 Parenthèsepratique:superpositiondescodages . . . . . . . . . . . . . . . . . . . . 23 2.2.3 Codagedesentiersrelatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2.4 Etpourallerplusloin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 Coderdutexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4 Coderlesimagesetlessons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.5 Codesdétecteursd’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.6 Codescorrecteursd’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.7 Compressiond’information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.8 LesQR-codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3 Transformerl’information:circuitscombinatoires 27 3.1 Algèbrebooléenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.1 Définitionsetnotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.2 Expressionbooléenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.3 Dualité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.4 Quelquespropriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.5 Universalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.1.6 Fonctionsbooléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2 Circuitslogiquesetcircuitscombinatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.1 Signauxlogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.2 Circuitslogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.3 Portesdebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.4 Circuitscombinatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2.5 Constructionbottom-updecircuitscombinatoires . . . . . . . . . . . . . . . . . . . 30 3.2.6 Constructiontop-downdecircuitscombinatoires . . . . . . . . . . . . . . . . . . . 31 3.2.7 Métriquesd’uncircuitcombinatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3 Quelquesconstructionsalgorithmiquesdecircuitscombinatoires . . . . . . . . . . . . . . 32 3 4 TABLEDESMATIÈRES 3.3.1 Lesportesdebaseàdeuxentrées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.2 Lemultiplexeur,abstractiondusi-alors-sinon . . . . . . . . . . . . . . . . . . . . . 32 3.3.3 Lemultiplexeurd’ordrek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.4 Pourlecalculsurlesentiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4 D’unefonctionbooléenneàuncircuitcombinatoire . . . . . . . . . . . . . . . . . . . . . . 36 3.4.1 Parlesformescanoniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4.2 Parlesarbresdedécisionbinaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.5 Application:constructiondescircuitsarithmétiquesdebase . . . . . . . . . . . . . . . . . 37 3.5.1 Addition/soustractionbinaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.5.2 Multiplicationbinaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.5.3 Divisionbinaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.7 Annexetechnologiquecontingente:lescircuitsCMOS . . . . . . . . . . . . . . . . . . . . 38 3.7.1 Transistorsetprocessusdefabrication . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.7.2 Portesdebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.7.3 Vitesse,surfaceetconsommation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4 Memoriserl’information 41 4.1 Vueabstraitedesorganesdemémorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.1 Leregistreoumémoireponctuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.2 Mémoiresadressables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.3 Mémoiresàaccèsséquentiel:pilesetfiles . . . . . . . . . . . . . . . . . . . . . . . . 42 4.1.4 Mémoiresadressablesparlecontenu . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2 Constructiondesmémoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.1 Leverrou(latch)etleregistre(Flip-Flop) . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.2 Autrestechnologiesdepointmémoire . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.2.3 Mémoireadressable,premièresolution . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2.4 Mémoireadressable,secondesolution . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Piles,files,etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.2.6 Disques(*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3 Uneloifondamentaledeconservationdesemmerdements . . . . . . . . . . . . . . . . . . 48 5 Circuitsséquentielssynchrones 49 5.1 Quelquesexemplesdecircuitsséquentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.2 Restrictionauxcircuitsséquentielssynchrones . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.3 Correctionetperformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6 Automates 53 6.1 Unexemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.2 Définitionformelled’unautomatesynchrone . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.2.1 États,transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.2.2 Définitionenextensiondesfonctionsdetransitionetdesortie . . . . . . . . . . . . 55 6.2.3 Correctionetcomplétuded’unautomatesynchrone . . . . . . . . . . . . . . . . . . 55 6.3 Synthèsed’unautomatesynchrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.3.1 L’approximationtemporelleréaliséeparl’automatesynchrone . . . . . . . . . . . 57 6.3.2 Optimisationd’unautomatesynchrone . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.4 Comprendrelescircuitsséquentielscommedesautomates . . . . . . . . . . . . . . . . . . 57 6.4.1 LanormeJTAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.4.2 Equivalencedecircuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.5 Conclusion:l’ingéniériedesautomates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7 Transmettre 61 7.1 Medium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.2 Liaisonpointapoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.2.1 Sérieouparallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.2.2 Protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.3 Bustroisétats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.4 Réseauxengraphes(*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.4.1 Lestopologiesetleursmétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.4.2 Routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 TABLEDESMATIÈRES 5 7.4.3 Typesdecommunication:pointàpoint,diffusion,multicast . . . . . . . . . . . . . 67 7.5 Exemplesdetopologiesderéseau(*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5.1 LetéléphoneàPapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5.2 L’internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5.3 FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5.4 Lebushypertransport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5.5 Machinesparallèles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 II Machinesuniverselles 69 8 Jeuxd’instruction 71 8.1 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.2 Vocabulaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.3 Travauxpratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.3.1 Lejeud’instructiondevotrePC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.3.2 Lejeud’instructiondevotretéléphoneportable . . . . . . . . . . . . . . . . . . . . 73 8.4 Instructionsetarchitecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.5 Quedéfinitl’ISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.5.1 Typesdedonnéesnatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.5.2 Instructionsdecalcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.5.3 Instructionsd’accèsmémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 8.5.4 Instructionsdecontrôledeflot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.5.5 Lesinterruptionsetl’atomicité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 8.5.6 Autresinstructionssystème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.5.7 QuelquesISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.6 Codagedesinstructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 8.7 AdéquationISA-architecturephysique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 8.8 Unpeudepoésie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 9 Constructiond’unprocesseurRISC 83 9.1 Unjeud’instructionRISCpasterriblemaisàlamode . . . . . . . . . . . . . . . . . . . . . 83 9.2 Plandemasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 9.3 Constructiondel’automatedecommande . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 10 Exécutionparallèle 87 10.1 Pipelined’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 10.2 Exploitationduparallélismed’instruction:exécutionsuperscalaire . . . . . . . . . . . . . 90 10.2.1 Architecturesuperscalaire(*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 10.2.2 VLIWousuperscalaire(*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 10.3 Deuxjeuxd’instructionsVLIWrécents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 10.3.1 IA64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 10.3.2 KalrayK1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 10.4 Exploitationduparallélismedeprocessus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 10.4.1 Échangedemessagesversuspartagedemémoire . . . . . . . . . . . . . . . . . . . 94 10.4.2 Modèledeprogrammation:threadversusprocess. . . . . . . . . . . . . . . . . . . 94 10.4.3 Grandeuretmisèredelamémoirepartagée. . . . . . . . . . . . . . . . . . . . . . . 95 10.4.4 Architecture:Multifilature(multithreading) . . . . . . . . . . . . . . . . . . . . . . . 95 10.4.5 Architecture:processeursmulticoeurs . . . . . . . . . . . . . . . . . . . . . . . . . . 95 10.5 Mécanismesarchitecturauxpourl’exclusionmutuelle . . . . . . . . . . . . . . . . . . . . . 96 10.6 Conclusion:parallélismepartout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 10.6.1 Taxonomie1:laclassificationdeFlynn . . . . . . . . . . . . . . . . . . . . . . . . . 96 10.6.2 Taxonomie2:laclassificationdeRaina . . . . . . . . . . . . . . . . . . . . . . . . . 96 11 Interfacesd’entrée/sorties 99 6 TABLEDESMATIÈRES 12 Dulangageauprocesseur(*) 101 12.1 Introduction:langagesinterprétés,langagescompilés,processeursvirtuels . . . . . . . . 101 12.2 L’arrière-cuisineducompilateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 12.2.1 Variablesetexpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 12.2.2 Désucragedesopérationsdecontrôledeflot . . . . . . . . . . . . . . . . . . . . . . 102 12.2.3 Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 12.2.4 Chaînesdecaractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 12.2.5 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 12.3 Applicationbinaryinterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 12.3.1 Procéduresetcompilationséparée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 12.3.2 Récursivitéetpile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 12.3.3 Variableslocalesetpassagedevaleurssurlapile . . . . . . . . . . . . . . . . . . . 107 12.3.4 Visionglobaledelamémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12.3.5 Sauvegardedesregistres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12.3.6 Enrésumé:l’enregistrementd’activation . . . . . . . . . . . . . . . . . . . . . . . . 108 12.3.7 Enrésumé:codeàgénérerparlecompilateur . . . . . . . . . . . . . . . . . . . . . 109 12.4 Compilationdeslangagesobjets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 13 Hiérarchiemémoire 111 13.1 Mémoirecache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 13.1.1 Principesdelocalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 13.1.2 Scratchpadversuscache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 13.1.3 Cachehitetcachemiss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 13.1.4 Hiérarchiemémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 13.1.5 Constructiond’uncache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 13.1.6 Statistiquesetoptimisationdescaches(*) . . . . . . . . . . . . . . . . . . . . . . . . 114 13.1.7 Entrelecacheetlamémoirephysique(*) . . . . . . . . . . . . . . . . . . . . . . . . 114 13.1.8 Lescachesdansunmulticœuràmémoirepartagée(*) . . . . . . . . . . . . . . . . . 115 13.2 Mémoirevirtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 13.2.1 Vuegénérale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 13.2.2 Avantagesdelamémoirevirtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 13.2.3 Aspectsarchitecturaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 13.2.4 Dansledétail:tabledespages(*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 13.2.5 Cached’adressesvirtuellesoucached’adressesphysiques?(*) . . . . . . . . . . . 118 13.3 Unemémoirevirtuelle+cacheminimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 13.3.1 Instructionsspécifiquesàlagestionmémoire . . . . . . . . . . . . . . . . . . . . . . 118 14 Conclusion:verslesystèmed’exploitation(*) 119 14.1 Lerôledel’OS(dupointdevued’unprofd’archi) . . . . . . . . . . . . . . . . . . . . . . . 119 14.2 Multiutilisateuroumultitâche,entoutcasmultiprocessus . . . . . . . . . . . . . . . . . . 120 14.2.1 Partagedutemps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 14.2.2 Partagedesentrées/sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 14.2.3 Partagedesressourcesd’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 III Annexes 123 A Rudimentsdecomplexité 125 A.1 Lesfonctions2netlog n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 2 A.2 Raisonneràlalouche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 B VHDL,unlangagepourlasynthèsedecircuits 127 B.1 Flotdesynthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 B.2 Décrireuncircuitparunlangage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 B.2.1 Descriptiondecircuit̸=programmation . . . . . . . . . . . . . . . . . . . . . . . . 128 B.2.2 Maisaufait,quelleestlasémantiqued’uncircuitnumérique? . . . . . . . . . . . . 128 B.2.3 Descriptioncomportementaleoudescriptionstructurelle . . . . . . . . . . . . . . . 128 B.2.4 VHDLsynthéthisable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 B.3 LelangageVHDLparl’exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 B.3.1 Entités,architecturesetcomposants . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 B.3.2 Variables,paramètres,signauxetports . . . . . . . . . . . . . . . . . . . . . . . . . 129 TABLEDESMATIÈRES 7 B.3.3 Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 B.3.4 Typesdebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 B.3.5 Concurrentstatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 B.3.6 Processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 B.3.7 Générationdecircuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 C Anatomied’unUnix 137 C.1 Appelssystèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 C.2 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 C.3 Signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 C.4 Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 C.5 Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 D Systèmesdefichiers 141 D.1 L’abstractiondufichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 D.2 Implémentationd’unsystèmedefichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 D.2.1 Allocationcontigue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 D.2.2 OrganisationenFAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 D.2.3 I-nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 D.2.4 Tailledesblocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 D.2.5 Gestiondesblocslibres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 D.3 Cohérenceetfiabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 D.4 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 D.5 Cequejezappe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 E Leréseau 145 E.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 E.1.1 Besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 E.1.2 Architectureglobale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 E.1.3 Enrésumé:lesdéfuntescouchesOSI . . . . . . . . . . . . . . . . . . . . . . . . . . 146 E.2 Lescouchesdel’internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 E.2.1 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 E.2.2 Routage(commutationdepaquets) . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 E.2.3 UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 E.2.4 TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 (*)àpeinesurvoléencours,l’examenneporterapasdessus,maisjevousencourageàlelire. 8 TABLEDESMATIÈRES Chapitre 1 Introduction L’informatiquec’estlasciencedutraitementdel’information. Unordinateurestunemachineuniverselledetraitementdel’information.Universelleveutdire:quipeut réalisertoutetransformationd’informationréalisable1 Cecoursvavousapprendrecequ’estunordinateuretcommentonleconstruit. 1.1 Des livres sérieux, parce que ce poly, bon. LebouquinderéférencedesupportdececoursestComputerOrganization&Design,thehardware/- softwareinterface,dePattersonetHennessy(quionteuleprixTuringen2017).Auxdernièresnouvelles ilsensontàla5èmeédition,etderrièreilyadeséditionspourdifférentsprocesseurs.Celuiàlamode c’estlaversionRISC-V(sortien2018). Desmêmesauteursmaisdansledésordre,ComputerArchitecture:AQuantitativeApproach,6ème édition(pourunecertainevaleurde6)estplusavancé:ilparledel’optimisationdesparamètresd’un processeur.Ilyaeudestraductionsenfrancaisdevieilleséditions.Attention,celivreétaitbiendansses premièreséditions,puisilagrossi,estdevenuillisible,enfinils’estallégéduprécédentetestredevenu lisible–maispointu. Plusvieux,maistrèsbien,ilyaaussiStructuredComputerOrganization,parAndrewTanenbaum, quijecroiss’estarrêtéen2005àla5èmeédition.IlexisteenfrançaisaussisousletitreArchitecturede l’Ordinateur. IlyaaussiComputerArchitectureandOrganisationdeMurdoccaetHeuring,ainsiqueComputer OrganizationandArchitecturedeWilliamStallings(11èmeéditionen2019,notrerecord),tousdeux trèsbien,d’ailleursilsontlemêmetitre. Parenthèseculturelle Lemot“Organisation”danslestitresdebouquinsci-dessusdécritlecommentde laconstructiond’unordi.Lemot“Architecture”décritlequoi,saufchezHennessyetPattersonquiutilisent lemot“Design”.Page73onretrouveralemotArchitectureaveccesensprécisdansletermeInstructionSet Architecture. Cettenuanceestlourdementexpliquéedanslespremièrespagesdes3bouquinsci-dessusquiontcommetitre “ComputerXandY”.Malheureusement,votreprofatendanceàutiliserleterme“Architecture”àlafoispour ComputerArchitectureetComputerOrganization.Iln’estpasleseul. 1. Ilexistedescalculsnonréalisables,etdescalculsnonréalisablesentempsraisonnable.C’estpasquecen’estpasimportant, maisonnes’yintéressepasdanscecours. 9 10 CHAPITRE1. INTRODUCTION 1.2 Historique du calcul mécanique néolithique Invention du système de numération unaire, de l’addition et de la soustraction (des moutons).Carenlatin,calculusc’estunpetitcaillou. antiquité Systèmesdenumérationplusévolués: systèmesalphabétiques (Égypte,Grèce,Chine): chaquesymboleaunevaleurnumériquefixeetindépendantedesaposition.Despiècesde monnaie,quoi.Leschiffresromainssontunmélangedeunaireetd’alphabétique. systèmesàposition (Babylone,Inde,Mayas): c’estlapositionduchiffredanslenombrequidonnesapuissancedelabase. Lesbasesutiliséessontlabase10(Égypte,Inde,Chine),labase20(Mayas),labase60(Sumer, Babylone),... Cesinventionssontguidéesparlanécessitédefairedescalculs Essayezdoncdedécrirel’algodemultiplicationenchiffresromains... Parcontrelabase60c’est bienpratique,pourquoi? ≈-1000 Inventionducalculateurdepoche(l’abaqueouboulier)enChine. +1202 Legénialsystèmedenumérationindo-arabearriveenEuropeparl’Espagne. 1623 Sir Francis Bacon (Angleterre) décrit le codage des nombres dans le système binaire qu’il a inventédanssajeunesse. 1623 WilhelmSchickard(Tübingen)inventelaroueàchiffresquipermetdepropagerlesretenues. 1624 Ilconstruitlapremièrecalculette“occidentale” 1645 BlaisePascalenfabriqueunemieuxquipeutpropagerlesretenuessurlesgrandsnombres. 1672 GottfriedWilhelmLeibnizconstruitunemachineàcalculer4opérations 1679 Leibnizencoredéveloppel’arithmétiquebinaire(DeProgressioneDyadica)maissansl’idéeque celapourraitserviràquelquechose. 1728 Premièreutilisationconnuedescartesperforées(Falcon?) 1741 JacquesdeVaucansoninventelamémoiredeprogrammedanslecontextedesmétiersàtisser.Il utilisedesrouleauxdefer-blancperforés. 1792 ClaudeChappeestleprécurseurdelacouverture5GentapissantlaFranced’antennes-relais utiliséespourlestélécommunicationssansfil. 1808 JosephMarieJacquardutiliseducartonperforé,c’estmoinscherquelefer-blanc. Surtout,ilestLyonnais. 1822 CharlesBabbageselancedanssadifferenceengine,quisertàcalculerdespolynômes. 1833 Karl Friedrich Gauß et Wilhelm Weber, à Göttingen, sont les précurseurs de l’internet en s’envoyantàdistancesurunfilélectriquedutextecodéparungenredecodeMorse. 1833 Babbagelaissetombercarilaunemeilleuridée,l’analyticalengine,programmableparcartes perforées,inconstruisibleaveclesmoyensdel’époque. 1843 AdaLovelaceinvente(pourlamachinedeBabbage)lelangagedeprogrammation.Parailleurs elle suggère que de telles machines peuvent être utilisées aussi pour manipuler du texte ou composerdelamusique.Onpeutdoncaffirmerqu’elleestlaprécurseuseàlafoisdeWordetde lamusiquetechno. 1854 GeorgesBoole(Angleterre)metenplacelalogiquemathématiquedésormaisditebooléenne. 1854 ChristopherL.Sholes(USA):premièremachineàécrireutilisable. 1928 Ackermannmontrequ’ilyadesfonctionsentièresquinepeuventêtrecalculéesparunnombre finideboucles(alorsqu’onn’apasencoreinventélaboucle). 1900-1935 Développementsenélectronique:tubecathodique,tubeàvide3électrodes,enregistrement sursupportmagnétique. 1936 Thèsed’AlanM.Turingsurunemachineabstraiteuniverselle.Débutdelathéoriedelacalcula- bilité. 1936 KonradZuse(Allemagne)construitlepremiercalculateurbinaire(Z1:mécanique,Z2:àrelais) 1937 JohnV.Atanasoff(USA)al’idéed’utiliserlebinairepourdescalculateurs.

Description:
opto-quantiques à nanotubes de carbone). léenne. Vérifiez que vous comprenez la différence entre algèbre, calcul, expression et circuit booléens.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.