Vous êtes sur la page 1sur 183
Architecture des ordinateurs (INF155) F. Pellegrini Université de Bordeaux Ce document est copiable et distribuable
Architecture des ordinateurs (INF155) F. Pellegrini Université de Bordeaux Ce document est copiable et distribuable

Architecture des ordinateurs

(INF155)

F. Pellegrini

Université de Bordeaux

Ce document est copiable et distribuable librement et gratuitement à la condition expresse que son contenu ne soit modifié en aucune façon, et en particulier que le nom de son auteur et de son institution d'origine continuent à y figurer, de même que le présent texte.

© 2014,2016 F. Pellegrini

et de son institution d'origine continuent à y figurer, de même que le présent texte. ©
Ordinateur Ordinateur et et logiciel logiciel Les Les technologies technologies numériques numériques sont sont

OrdinateurOrdinateur etet logiciellogiciel

Ordinateur Ordinateur et et logiciel logiciel Les Les technologies technologies numériques numériques sont sont

LesLes technologies technologies numériques numériques sont sont maintenant maintenant omniprésentes omniprésentes Les technologiestechnologies numériquesnumériques sontsont maintenantmaintenant omniprésentesomniprésentes

EllesElles sont sont le le moteur moteur et et l'objet l'objet de de ce ce Elles sontsont lele moteurmoteur etet l'objetl'objet dede cece qu'onqu'on appelleappelle lala «« révolutionrévolution numériquenumérique »»

EllesElles sont sont basées basées sur sur l'interaction l'interaction entre entre : : Elles sontsont baséesbasées sursur l'interactionl'interaction entreentre ::

DesDes programmes, programmes, aussi aussi appelés appelés logiciels, logiciels, décrivant décrivant des des processus Des programmes,programmes, aussiaussi appelésappelés logiciels,logiciels, décrivantdécrivant desdes processusprocessus dede traitementtraitement dede l'informationl'information :: biensbiens immatérielsimmatériels

DesDes ordinateurs, ordinateurs, capables capables d'exécuter d'exécuter ces ces programmes programmes : : biens Des ordinateurs,ordinateurs, capablescapables d'exécuterd'exécuter cesces programmesprogrammes :: biensbiens matérielsmatériels

Représentation Représentation de de l'information l'information L'information L'information est est

ReprésentationReprésentation dede l'informationl'information

Représentation de de l'information l'information L'information L'information est est représentée

L'informationL'information est est représentée représentée au au sein sein des des composants composants de de L'information estest représentéereprésentée auau seinsein desdes composantscomposants dede l'ordinateurl'ordinateur soussous formeforme dede différentsdifférents étatsétats dede lala matièrematière ::

«« Trou Trou » » ou ou « « pas pas trou trou » » « TrouTrou »» ouou «« paspas troutrou »» sursur lala surfacesurface d'und'un cédéromcédérom ouou DVDDVD

OrientationOrientation nord nord ou ou sud sud d'un d'un matériau matériau magnétique magnétique Orientation nordnord ouou sudsud d'und'un matériaumatériau magnétiquemagnétique

LumièreLumière ou ou absence absence de de lumière lumière émise émise par par un un Lumière ouou absenceabsence dede lumièrelumière émiseémise parpar unun laserlaser

CourantCourant électrique électrique ou ou non non Courant électriqueélectrique ouou nonnon

CeCe sont sont souvent souvent des des représentations représentations à à deux deux états, états, Ce sontsont souventsouvent desdes représentationsreprésentations àà deuxdeux états,états, c'est-à-direc'est-à-dire «« binairesbinaires »»

Constituants Constituants élémentaires élémentaires (1) (1) Presque Presque tous tous les les ordinateurs

ConstituantsConstituants élémentairesélémentaires (1)(1)

Constituants élémentaires élémentaires (1) (1) Presque Presque tous tous les les ordinateurs ordinateurs

PresquePresque tous tous les les ordinateurs ordinateurs sont sont construits construits à à base base Presque toustous lesles ordinateursordinateurs sontsont construitsconstruits àà basebase dede circuitscircuits électroniquesélectroniques

LesLes circuits circuits électroniques électroniques sont sont réalisés réalisés au au moyen moyen de de Les circuitscircuits électroniquesélectroniques sontsont réalisésréalisés auau moyenmoyen dede transistorstransistors

au au moyen moyen de de transistors transistors Composant Composant élémentaire, élémentaire, dont

ComposantComposant élémentaire,élémentaire, dontdont lele courantcourant dede sortiesortie dépenddépend dede deuxdeux valeursvaleurs d'entréed'entrée

UnUn transistor transistor a a donc donc trois trois « « pattes pattes » » Un transistortransistor aa doncdonc troistrois «« pattespattes »»

a a donc donc trois trois « « pattes pattes » » Appelées Appelées : :

AppeléesAppelées :: base,base, émetteurémetteur etet collecteurcollecteur

AnalogueAnalogue à à un un « « robinet robinet à à électricité électricité » » Analogue àà unun «« robinetrobinet àà électricitéélectricité »» :: plusplus ilil arrivearrive dede courantcourant sursur lala base,base, plusplus lele courantcourant circulecircule dede l'l' émetteurémetteur versvers lele collecteurcollecteur

circule de de l' l' émetteur émetteur vers vers le le collecteur collecteur © 2014,2016 F.
Constituants Constituants élémentaires élémentaires (2) (2) Dans Dans les les ordinateurs, ordinateurs, on on

ConstituantsConstituants élémentairesélémentaires (2)(2)

Constituants élémentaires élémentaires (2) (2) Dans Dans les les ordinateurs, ordinateurs, on on

DansDans les les ordinateurs, ordinateurs, on on utilise utilise les les transistors transistors en en Dans lesles ordinateurs,ordinateurs, onon utiliseutilise lesles transistorstransistors enen modemode saturé,saturé, c'est-à-direc'est-à-dire «« touttout ouou rienrien »»

FonctionnementFonctionnement analogue analogue à à celui celui d'un d'un interrupteur interrupteur Fonctionnement analogueanalogue àà celuicelui d'und'un interrupteurinterrupteur

RobinetRobinet fermé fermé ou ou ouvert ouvert en en grand grand Robinet ferméfermé ouou ouvertouvert enen grandgrand

SoitSoit le le courant courant passe, passe, soit soit il il ne ne passe passe Soit lele courantcourant passe,passe, soitsoit ilil nene passepasse paspas dudu touttout

ReprésentationReprésentation des des valeurs valeurs binaires binaires « « 0 0 » » et et Représentation desdes valeursvaleurs binairesbinaires «« 00 »» etet «« 11 »»

EnEn combinant combinant plusieurs plusieurs transistors, transistors, on on peut peut effectuer effectuer des des En combinantcombinant plusieursplusieurs transistors,transistors, onon peutpeut effectuereffectuer desdes calculscalculs complexescomplexes

SurSur la la base base de de montages montages en en série série ou ou Sur lala basebase dede montagesmontages enen sériesérie ouou enen parallèleparallèle

RegroupementRegroupement au au sein sein de de « « circuits circuits intégrés intégrés » » Regroupement auau seinsein dede «« circuitscircuits intégrésintégrés »»

© 2014,2016 F. Pellegrini

5

Performance Performance (1) (1) Les Les calculs calculs des des ordinateurs ordinateurs sont sont cadencés

PerformancePerformance (1)(1)

Performance Performance (1) (1) Les Les calculs calculs des des ordinateurs ordinateurs sont sont cadencés
Performance Performance (1) (1) Les Les calculs calculs des des ordinateurs ordinateurs sont sont cadencés

LesLes calculscalculs desdes ordinateursordinateurs sontsont cadencéscadencés parpar uneune horlogehorloge

PlusPlus la la fréquence fréquence de de l'horloge l'horloge est est élevée, élevée, et et Plus lala fréquencefréquence dede l'horlogel'horloge estest élevée,élevée, etet plusplus l'ordinateurl'ordinateur pourrapourra effectuereffectuer d'opérationsd'opérations parpar

secondeseconde (s'il(s'il n'estn'est paspas ralentiralenti parpar autreautre chose

)chose

)

OnOn mesure mesure la la fréquence fréquence d'une d'une horloge horloge en en Hertz Hertz On mesuremesure lala fréquencefréquence d'uned'une horlogehorloge enen HertzHertz (Hz)(Hz)

d'une horloge horloge en en Hertz Hertz (Hz) (Hz) Nombre Nombre de de battements battements par

NombreNombre dede battementsbattements parpar secondeseconde

kHzkHz (kilo-Hertz) (kilo-Hertz) = = 10 10 3 3 Hz Hz kHz (kilo-Hertz)(kilo-Hertz) == 1010 33 HzHz

MHzMHz (méga-Hertz) (méga-Hertz) = = 10 10 6 6 Hz Hz MHz (méga-Hertz)(méga-Hertz) == 1010 66 HzHz

GHzGHz (giga-Hertz) (giga-Hertz) = = 10 10 9 9 Hz Hz GHz (giga-Hertz)(giga-Hertz) == 1010 99 HzHz

THzTHz (téra-Hertz) (téra-Hertz) = = 10 10 1 2 1 2 Hz Hz THz (téra-Hertz)(téra-Hertz) == 1010 1212 HzHz

11

11

11

11

Performance Performance (2) (2) En En fait, fait, ce ce qui qui importe importe aux

PerformancePerformance (2)(2)

Performance Performance (2) (2) En En fait, fait, ce ce qui qui importe importe aux aux

EnEn fait, fait, ce ce qui qui importe importe aux aux usagers, usagers, c'est c'est En fait,fait, cece quiqui importeimporte auxaux usagers,usagers, c'estc'est lele nombrenombre d'opérationsd'opérations (plus(plus généralement,généralement, «« d'instructionsd'instructions »)») qu'unqu'un ordinateurordinateur estest capablecapable d'effectuerd'effectuer parpar secondeseconde

OnOn la la mesure mesure en en MIPS, MIPS, pour pour « « millions millions On lala mesuremesure enen MIPS,MIPS, pourpour «« millionsmillions d'instructionsd'instructions parpar secondeseconde »»

OnOn pense pense souvent souvent que que la la puissance puissance d'un d'un ordinateur ordinateur On pensepense souventsouvent queque lala puissancepuissance d'und'un ordinateurordinateur dépenddépend dede sasa fréquencefréquence dede fonctionnementfonctionnement

C'estC'est loin loin d'être d'être toujours toujours vrai vrai ! ! C'est loinloin d'êtred'être toujourstoujours vraivrai !!

http://en.wikipedia.org/wiki/Instructions_per_second

Évolutions Évolutions architecturales architecturales (1) (1) 1946 1946 : : Ordinateur Ordinateur ENIAC ENIAC

ÉvolutionsÉvolutions architecturalesarchitecturales (1)(1)

Évolutions architecturales architecturales (1) (1) 1946 1946 : : Ordinateur Ordinateur ENIAC ENIAC
1946 1946 : : Ordinateur Ordinateur ENIAC ENIAC

19461946

:: OrdinateurOrdinateur ENIACENIAC

ArchitectureArchitecture à à base base de de lampes lampes et et tubes tubes à à Architecture àà basebase dede lampeslampes etet tubestubes àà videvide :: 3030 tonnes,tonnes, 170170 m2m2 auau sol,sol, 50005000 additionsadditions parpar secondeseconde

0,0050,005 MIPS, MIPS, dirons-nous dirons-nous 0,005 MIPS,MIPS, dirons-nous dirons-nous

1947 1947 : : Invention Invention du du transistor transistor

19471947

:: InventionInvention dudu transistortransistor

1958 1958 : : Invention Invention du du circuit circuit intégré intégré sur sur silicium

19581958

:: InventionInvention dudu circuitcircuit intégréintégré sursur siliciumsilicium

MultiplesMultiples transistors transistors agencés agencés sur sur le le même même substrat substrat Multiples transistorstransistors agencésagencés sursur lele mêmemême substratsubstrat

Évolutions Évolutions architecturales architecturales (2) (2) 1971 1971 : : Processeur Processeur Intel Intel 4004

ÉvolutionsÉvolutions architecturalesarchitecturales (2)(2)

Évolutions architecturales architecturales (2) (2) 1971 1971 : : Processeur Processeur Intel Intel 4004

19711971 : : Processeur Processeur Intel Intel 4004 4004 1971 :: ProcesseurProcesseur IntelIntel 40044004

23002300 transistors transistors dans dans un un unique unique circuit circuit intégré intégré 2300 transistorstransistors dansdans unun uniqueunique circuitcircuit intégréintégré

FréquenceFréquence de de 740 740 kHz, kHz, 0,092 0,092 MIPS MIPS Fréquence dede 740740 kHz,kHz, 0,0920,092 MIPSMIPS

… 40 40 ans ans d'une d'une histoire histoire très très riche riche 4040 ansans d'uned'une histoirehistoire trèstrès riche riche

20112011 : : Processeur Processeur Intel Intel Core Core i7 i7 2600K 2600K 2011 :: ProcesseurProcesseur IntelIntel CoreCore i7i7 2600K2600K

PlusPlus de de 1,4 1,4 milliards milliards de de transistors transistors Plus dede 1,41,4 milliardsmilliards dede transistorstransistors

FréquenceFréquence de de 3,4 3,4 GHz GHz Fréquence dede 3,43,4 GHzGHz

44 c c œ œ urs, urs, 8 8 threads threads 4 ccœœurs,urs, 88 threadsthreads

1 2 8 3 0 0 1 2 8 3 0 0 M I P 128300128300 MIPSMIPS

http://en.wikipedia.org/wiki/Sandy_Bridge

Évolutions Évolutions architecturales architecturales (3) (3) Entre Entre le le 4004 4004 et et le

ÉvolutionsÉvolutions architecturalesarchitecturales (3)(3)

Évolutions architecturales architecturales (3) (3) Entre Entre le le 4004 4004 et et le le Core

EntreEntre le le 4004 4004 et et le le Core Core i7 i7 2600K 2600K Entre lele 40044004 etet lele CoreCore i7i7 2600K2600K ::

LaLa fréquence fréquence a a été été multipliée multipliée par par 4600 4600 La fréquencefréquence aa étéété multipliéemultipliée parpar 46004600

LaLa puissance puissance en en MIPS MIPS a a été été multipliée multipliée par par La puissancepuissance enen MIPSMIPS aa étéété multipliéemultipliée parpar 1,41,4 millimillionon

LaLa puissance puissance d'un d'un ordinateur ordinateur ne ne dépend dépend clairement clairement pas pas La puissancepuissance d'und'un ordinateurordinateur nene dépenddépend clairementclairement paspas queque dede sasa fréquencefréquence !!

IntérêtIntérêt d'étudier d'étudier l'architecture l'architecture des des ordinateurs ordinateurs pour pour Intérêt d'étudierd'étudier l'architecturel'architecture desdes ordinateursordinateurs pourpour comprendrecomprendre ::

Où les les gains gains se se sont sont opérés opérés lesles gainsgains sese sontsont opérésopérés

CeCe qu'on qu'on peut peut attendre attendre dans dans le le futur futur proche proche Ce qu'onqu'on peutpeut attendreattendre dansdans lele futurfutur procheproche

Barrière Barrière de de la la chaleur chaleur (1) (1) Plus Plus on on a

BarrièreBarrière dede lala chaleurchaleur (1)(1)

Barrière Barrière de de la la chaleur chaleur (1) (1) Plus Plus on on a a

PlusPlus on on a a de de transistors transistors par par unité unité de de Plus onon aa dede transistorstransistors parpar unitéunité dede surface,surface, plusplus onon aa d'énergied'énergie àà évacuerévacuer

LaLa dissipation dissipation thermique thermique évolue évolue de de façon façon proportionnelle proportionnelle à à La dissipationdissipation thermiquethermique évolueévolue dede façonfaçon proportionnelleproportionnelle àà VV 22 *F*F

LaLa tension tension de de fonctionnement fonctionnement des des circuits circuits a a été été La tensiontension dede fonctionnementfonctionnement desdes circuitscircuits aa étéété abaisséeabaissée

DeDe 5V 5V pour pour les les premières premières générations générations à à 0,9V 0,9V De 5V5V pourpour lesles premièrespremières générationsgénérations àà 0,9V0,9V maintenantmaintenant

IlIl n'est n'est plus plus vraiment vraiment possible possible de de la la diminuer diminuer Il n'estn'est plusplus vraimentvraiment possiblepossible dede lala diminuerdiminuer avecavec lesles technologiestechnologies actuellesactuelles

LeLe bruit bruit thermique thermique causerait causerait trop trop d'erreurs d'erreurs Le bruitbruit thermiquethermique causeraitcauserait troptrop d'erreursd'erreurs

Barrière Barrière de de la la chaleur chaleur (2) (2) La La fréquence fréquence ne

BarrièreBarrière dede lala chaleurchaleur (2)(2)

Barrière Barrière de de la la chaleur chaleur (2) (2) La La fréquence fréquence ne ne

LaLa fréquence fréquence ne ne peut peut raisonnablement raisonnablement augmenter augmenter au au delà delà La fréquencefréquence nene peutpeut raisonnablementraisonnablement augmenteraugmenter auau delàdelà desdes 55 GHzGHz

«« Barrière Barrière de de la la chaleur chaleur » » « BarrièreBarrière dede lala chaleurchaleur »»

LaLa tendance tendance est est plutôt plutôt à à la la réduction réduction La tendancetendance estest plutôtplutôt àà lala réductionréduction

«« Green Green computing computing » » « GreenGreen computingcomputing »»

OnOn s'intéresse s'intéresse maintenant maintenant à à maximiser maximiser le le nombre nombre d'opérations On s'intéresses'intéresse maintenantmaintenant àà maximisermaximiser lele nombrenombre d'opérationsd'opérations parpar WattWatt

MaisMais on on veut veut toujours toujours plus plus de de puissance puissance de de Mais onon veutveut toujourstoujours plusplus dede puissancepuissance dede calculcalcul !!

Barrière Barrière de de la la complexité complexité (1) (1) À À surface surface constante,

BarrièreBarrière dede lala complexitécomplexité (1)(1)

Barrière de de la la complexité complexité (1) (1) À À surface surface constante, constante, le

ÀÀ surface surface constante, constante, le le nombre nombre de de transistors transistors double double À surfacesurface constante,constante, lele nombrenombre dede transistorstransistors doubledouble toustous lesles 22 ansans

«« Loi Loi de de Moore Moore », », du du nom nom de de « LoiLoi dede MooreMoore »,», dudu nomnom dede GordonGordon Moore,Moore, co-co- fondateurfondateur d'Intel,d'Intel, énoncéeénoncée enen 19651965

DiminutionDiminution continuelle continuelle de de la la taille taille de de gravage gravage des des Diminution continuellecontinuelle dede lala tailletaille dede gravagegravage desdes transistorstransistors etet circuitscircuits sursur lesles pucespuces dede siliciumsilicium

sur sur les les puces puces de de silicium silicium On On grave grave actuellement actuellement

OnOn gravegrave actuellementactuellement avecavec unun paspas dede 1414 nmnm

LimitesLimites atomiques atomiques bientôt bientôt atteintes atteintes Limites atomiquesatomiques bientôtbientôt atteintes atteintes

DoncDonc plus plus possible possible d'intégrer d'intégrer plus plus Donc plusplus possiblepossible d'intégrerd'intégrer plusplus

MaisMais on on veut veut toujours toujours plus plus de de puissance puissance de de Mais onon veutveut toujourstoujours plusplus dede puissancepuissance dede calculcalcul !!

Barrière Barrière de de la la complexité complexité (2) (2) Que Que faire faire de

BarrièreBarrière dede lala complexitécomplexité (2)(2)

Barrière de de la la complexité complexité (2) (2) Que Que faire faire de de tous

QueQue faire faire de de tous tous ces ces transistors transistors ? ? Que fairefaire dede toustous cesces transistorstransistors ??

OnOn ne ne voit voit plus plus trop trop comment comment utiliser utiliser ces ces On nene voitvoit plusplus troptrop commentcomment utiliserutiliser cesces transistotransistorsrs pourpour amélioreraméliorer individuellementindividuellement lesles processeursprocesseurs

DesDes processeurs processeurs trop trop complexes complexes consomment consomment trop trop d'énergie d'énergie Des processeursprocesseurs troptrop complexescomplexes consommentconsomment troptrop d'énergied'énergie sanssans alleraller beaucoupbeaucoup plusplus vitevite

SeuleSeule solution solution actuellement actuellement : : faire faire plus plus de de processeurs processeurs Seule solutionsolution actuellementactuellement :: fairefaire plusplus dede processeursprocesseurs sursur lala mêmemême pucepuce !!

ProcesseursProcesseurs bi-c bi-c œ œ urs, urs, quadri-coeurs, quadri-coeurs, octo-c octo-c œ œ urs, urs, Processeurs bi-cbi-cœœurs,urs, quadri-coeurs,quadri-coeurs, octo-cocto-cœœurs,urs, déjàdéjà jusqu'àjusqu'à 128128 ccœœursurs !!

MaisMais comment comment les les programmer programmer efficacement efficacement ?! ?! Mais commentcomment lesles programmerprogrammer efficacementefficacement ?!?!

Barrière Barrière de de la la complexité complexité (3) (3) L'architecture L'architecture des des

BarrièreBarrière dede lala complexitécomplexité (3)(3)

Barrière de de la la complexité complexité (3) (3) L'architecture L'architecture des des ordinateurs

L'architectureL'architecture des des ordinateurs ordinateurs a a été été l'un l'un des des secteurs secteurs L'architecture desdes ordinateursordinateurs aa étéété l'unl'un desdes secteurssecteurs dede l'informatiquel'informatique quiqui aa faitfait lele plusplus dede progrèsprogrès

LesLes ordinateurs ordinateurs d'aujourd'hui d'aujourd'hui sont sont très très complexes complexes Les ordinateursordinateurs d'aujourd'huid'aujourd'hui sontsont trèstrès complexescomplexes

PlusPlus d'un d'un milliard milliard de de transistors transistors dans dans un un processeu processeu Plus d'und'un milliardmilliard dede transistorstransistors dansdans unun processeuprocesseurr

NécessitéNécessité d'étudier d'étudier leur leur fonctionnement fonctionnement à à différents différents niveaux Nécessité d'étudierd'étudier leurleur fonctionnementfonctionnement àà différentsdifférents niveauxniveaux d'abstractiond'abstraction

DuDu composant composant au au module, module, du du module module au au système système Du composantcomposant auau module,module, dudu modulemodule auau systèmesystème

MultiplesMultiples niveaux niveaux de de hiérarchie hiérarchie Multiples niveauxniveaux dede hiérarchiehiérarchie

© 2014,2016 F. Pellegrini

15

Structure Structure d'un d'un ordinateur ordinateur (1) (1) Un Un ordinateur ordinateur est est une

StructureStructure d'und'un ordinateurordinateur (1)(1)

Structure d'un d'un ordinateur ordinateur (1) (1) Un Un ordinateur ordinateur est est une une machine

UnUn ordinateur ordinateur est est une une machine machine programmable programmable de de traitement traitement Un ordinateurordinateur estest uneune machinemachine programmableprogrammable dede traitementtraitement dede l'informationl'information

PourPour accomplir accomplir sa sa fonction, fonction, il il doit doit pouvoir pouvoir : : Pour accompliraccomplir sasa fonction,fonction, ilil doitdoit pouvoirpouvoir ::

AcquérirAcquérir de de l'information l'information de de l'extérieur l'extérieur Acquérir dede l'informationl'information dede l'extérieurl'extérieur

StockerStocker en en son son sein sein ces ces informations informations Stocker enen sonson seinsein cesces informationsinformations

CombinerCombiner entre entre elles elles les les informations informations à à sa sa disposition disposition Combiner entreentre elleselles lesles informationsinformations àà sasa dispositiondisposition

RestituerRestituer ces ces informations informations à à l'extérieur l'extérieur Restituer cesces informationsinformations àà l'extérieurl'extérieur

Structure Structure d'un d'un ordinateur ordinateur (2) (2) L'ordinateur L'ordinateur doit doit donc

StructureStructure d'und'un ordinateurordinateur (2)(2)

Structure d'un d'un ordinateur ordinateur (2) (2) L'ordinateur L'ordinateur doit doit donc donc
Structure d'un d'un ordinateur ordinateur (2) (2) L'ordinateur L'ordinateur doit doit donc donc

L'ordinateurL'ordinateur doitdoit doncdonc posséderposséder ::

UneUne ou ou plusieurs plusieurs unités unités de de stockage, stockage, pour pour mémoriser mémoriser Une ouou plusieursplusieurs unitésunités dede stockage,stockage, pourpour mémorisermémoriser lele programmeprogramme enen courscours d'exécutiond'exécution ainsiainsi queque lesles donnéesdonnées qu'ilqu'il manipulemanipule

UneUne unité unité de de traitement traitement permettant permettant l'exécution l'exécution des des instructions Une unitéunité dede traitementtraitement permettantpermettant l'exécutionl'exécution desdes instructionsinstructions dudu programmeprogramme etet desdes calculscalculs sursur lesles donnéesdonnées qu'ellesqu'elles spécifientspécifient

DifférentsDifférents dispositifs dispositifs « « périphériques périphériques » » servant servant à à interagir interagir Différents dispositifsdispositifs «« périphériquespériphériques »» servantservant àà interagirinteragir avecavec l'extérieurl'extérieur :: clavier,clavier, écran,écran, sourissouris,, cartecarte graphique,graphique, cartecarte réseau,réseau, etc.etc.

Structure Structure d'un d'un ordinateur ordinateur (3) (3) Les Les constituants constituants de de

StructureStructure d'und'un ordinateurordinateur (3)(3)

Structure d'un d'un ordinateur ordinateur (3) (3) Les Les constituants constituants de de l'ordinateur

LesLes constituantsconstituants dede l'ordinateurl'ordinateur sontsont reliésreliés parpar unun ouou plusieursplusieurs bus,bus, ensemblesensembles dede filsfils parallèlesparallèles servantservant àà lala transmissiontransmission desdes adresses,adresses, desdes données,données, etet desdes signauxsignaux dede

contrôlecontrôle

et et des des signaux signaux de de contrôle contrôle MémoireMémoire graphiquegraphique UnitéUnité dede
MémoireMémoire graphiquegraphique UnitéUnité dede traitementtraitement (processeur)(processeur)
MémoireMémoire
graphiquegraphique
UnitéUnité dede
traitementtraitement
(processeur)(processeur)
ContrôleurContrôleur
MémoireMémoire
ContrôleurContrôleur
dede busbus
centralecentrale
graphiquegraphique
AGPAGP
BusBus AGPAGP
BusBus locallocal
ContrôleurContrôleur
dede disquedisque
durdur IDE/ATAIDE/ATA
ContrôleurContrôleur
dede busbus
PCIPCI
CarteCarte
CarteCarte
d'extensiond'extension
d'extensiond'extension

BusBus PCIPCI

© 2014,2016 F. Pellegrini

18

Unité Unité de de traitement traitement (1) (1) L'unité L'unité de de traitement traitement (ou

UnitéUnité dede traitementtraitement (1)(1)

Unité Unité de de traitement traitement (1) (1) L'unité L'unité de de traitement traitement (ou (ou

L'unitéL'unité de de traitement traitement (ou (ou CPU, CPU, pour pour « « Central Central L'unité dede traitementtraitement (ou(ou CPU,CPU, pourpour «« CentralCentral ProcessingProcessing UnitUnit »),»), aussiaussi appeléeappelée «« processeurprocesseur »,», estest lele ccœœurur dede l'ordinateurl'ordinateur

ElleElle exécute exécute les les programmes programmes chargés chargés en en mémoire mémoire centrale centrale Elle exécuteexécute lesles programmesprogrammes chargéschargés enen mémoiremémoire centralecentrale enen extrayantextrayant l'unel'une aprèsaprès l'autrel'autre leursleurs instructions,instructions, enen lesles analysant,analysant, etet enen lesles exécutantexécutant

Unité Unité de de traitement traitement (2) (2) L'unité L'unité de de traitement traitement est

UnitéUnité dede traitementtraitement (2)(2)

Unité Unité de de traitement traitement (2) (2) L'unité L'unité de de traitement traitement est est
Unité Unité de de traitement traitement (2) (2) L'unité L'unité de de traitement traitement est est

L'unitéL'unité dede traitementtraitement estest composécomposé dede plusieursplusieurs sous-ensemblessous-ensembles distinctsdistincts

L'unitéL'unité de de contrôle, contrôle, qui qui est est responsable responsable de de la la L'unité dede contrôle,contrôle, quiqui estest responsableresponsable dede lala rechercherecherche desdes instructionsinstructions àà partirpartir dede lala mémoiremémoire centralecentrale etet dudu décodagedécodage dede leurleur typetype

L'unitéL'unité arithmétique arithmétique et et logique logique (UAL), (UAL), qui qui effectue effectue les les L'unité arithmétiquearithmétique etet logiquelogique (UAL),(UAL), quiqui effectueeffectue lesles opérationsopérations spécifiéesspécifiées parpar lesles instructionsinstructions

UnUn ensemble ensemble de de registres, registres, zones zones mémoires mémoires rapides rapides servant servant Un ensembleensemble dede registres,registres, zoneszones mémoiresmémoires rapidesrapides servantservant auau stockagestockage temporairetemporaire desdes donnéesdonnées enen courscours dede traitementtraitement parpar l'unitél'unité centralecentrale

Registres Registres Chaque Chaque registre registre peut peut stocker stocker une une valeur valeur entière

RegistresRegistres

Registres Registres Chaque Chaque registre registre peut peut stocker stocker une une valeur valeur entière

ChaqueChaque registre registre peut peut stocker stocker une une valeur valeur entière entière distincte, distincte, Chaque registreregistre peutpeut stockerstocker uneune valeurvaleur entièreentière distincte,distincte, bornéebornée parpar lala tailletaille desdes registresregistres (nombre(nombre dede bits)bits)

CertainsCertains registres registres sont sont spécialisés, spécialisés, comme comme : : Certains registresregistres sontsont spécialisés,spécialisés, commecomme ::

lele compteur compteur ordinal ordinal (« (« program program counter counter ») ») qui qui le compteurcompteur ordinalordinal programprogram countercounter »)») quiqui stockestocke l'adressel'adresse dede lala prochaineprochaine instructioninstruction àà exécuterexécuter

lele registre registre d'instruction d'instruction (« (« instruction instruction register register » » ), ), le registreregistre d'instructiond'instruction instructioninstruction registerregister »»),), quiqui stockestocke l'instructionl'instruction enen courscours d'exécutiond'exécution

l'accumulateur,l'accumulateur, registre registre résultat résultat de de l'UAL, l'UAL, etc. etc. l'accumulateur, registreregistre résultatrésultat dede l'UAL,l'UAL, etc.etc.

Chemin Chemin de de données données (1) (1) Le Le chemin chemin de de données

CheminChemin dede donnéesdonnées (1)(1)

Chemin Chemin de de données données (1) (1) Le Le chemin chemin de de données données

LeLe chemin chemin de de données données représente représente la la structure structure interne interne Le cheminchemin dede donnéesdonnées représentereprésente lala structurestructure interneinterne dede l'unitél'unité dede traitementtraitement

ComprendComprend les les registres, registres, l'UAL, l'UAL, et et un un ensemble ensemble de de Comprend lesles registres,registres, l'UAL,l'UAL, etet unun ensembleensemble dede busbus internesinternes dédiésdédiés

L'UALL'UAL peut peut posséder posséder ses ses propres propres registres registres destinés destinés à à L'UAL peutpeut posséderposséder sesses proprespropres registresregistres destinésdestinés àà mémorisermémoriser lesles donnéesdonnées d'entréesd'entrées afinafin dede stabiliserstabiliser leursleurs signauxsignaux pendantpendant queque l'UALl'UAL calculecalcule

LeLe chemin chemin des des données données conditionne conditionne fortement fortement la la puissance puissance Le cheminchemin desdes donnéesdonnées conditionneconditionne fortementfortement lala puissancepuissance desdes machinesmachines

Pipe-line,Pipe-line, superscalarité, superscalarité, … … Pipe-line, superscalarité,superscalarité,

Chemin Chemin de de données données (2) (2) Chemin Chemin de de données données d'une

CheminChemin dede donnéesdonnées (2)(2)

Chemin Chemin de de données données (2) (2) Chemin Chemin de de données données d'une d'une
Chemin Chemin de de données données (2) (2) Chemin Chemin de de données données d'une d'une

CheminChemin dede donnéesdonnées d'uned'une machinemachine dede typetype «« VonVon NeumannNeumann »»

de de type type « « Von Von Neumann Neumann » » AA ++ BB AA
AA ++ BB AA BB
AA ++ BB
AA
BB
« « Von Von Neumann Neumann » » AA ++ BB AA BB A A B
« « Von Von Neumann Neumann » » AA ++ BB AA BB A A B

AA

A A
A A
A A
B B
B B

BB

B B
UALUAL
UALUAL
Von Neumann Neumann » » AA ++ BB AA BB A A B B UALUAL A
A A + + B B
A A + + B B

AA ++ BB

A A + + B B
A A + + B B
A A + + B B

RegistresRegistres générauxgénéraux

RegistresRegistres d'entréed'entrée dede l'UALl'UAL

RegistreRegistre dede sortiesortie dede l'UALl'UAL

Exécution Exécution d'une d'une instruction instruction (1) (1) L'exécution L'exécution d'une

ExécutionExécution d'uned'une instructioninstruction (1)(1)

d'une d'une instruction instruction (1) (1) L'exécution L'exécution d'une d'une
d'une d'une instruction instruction (1) (1) L'exécution L'exécution d'une d'une

L'exécutionL'exécution d'uned'une instructioninstruction parpar l'unitél'unité centralecentrale s'effectues'effectue selonselon lesles étapesétapes suivantessuivantes ::

11

ChargerCharger lala prochaineprochaine instructioninstruction àà exécuterexécuter depuisdepuis lala mémoiremémoire versvers lele registreregistre d'instructiond'instruction

22

DécoderDécoder (analyser)(analyser) l'instructionl'instruction venantvenant d'êtred'être luelue

33

FaireFaire pointerpointer lele compteurcompteur ordinalordinal versvers l'instructiol'instructionn suivantesuivante (y(y compriscompris dansdans lele cascas dede branchements)branchements)

44

LocaliserLocaliser enen mémoiremémoire lesles donnéesdonnées nécessairesnécessaires

55

ChargerCharger sisi nécessairenécessaire lesles donnéesdonnées dansdans l'UALl'UAL

66

ExécuterExécuter l'instruction,l'instruction, puispuis recommencerrecommencer

Architecture Architecture des des ordinateurs ordinateurs Les Les ordinateurs ordinateurs modernes modernes sont sont

ArchitectureArchitecture desdes ordinateursordinateurs

Architecture Architecture des des ordinateurs ordinateurs Les Les ordinateurs ordinateurs modernes modernes sont sont

LesLes ordinateurs ordinateurs modernes modernes sont sont conçus conçus comme comme un un ensemble ensemble Les ordinateursordinateurs modernesmodernes sontsont conçusconçus commecomme unun ensembleensemble dede couchescouches

ChaqueChaque couche couche représente représente une une abstraction abstraction différente, différente, capable capable Chaque couchecouche représentereprésente uneune abstractionabstraction différente,différente, capablecapable d'effectuerd'effectuer desdes opérationsopérations etet dede manipulermanipuler desdes objetsobjets spécifiquesspécifiques

L'ensembleL'ensemble des des types types de de données, données, des des opérations, opérations, et et L'ensemble desdes typestypes dede données,données, desdes opérations,opérations, etet desdes fonctionnalitésfonctionnalités dede chaquechaque couchecouche estest appeléeappelée sonson architecturearchitecture

L'étudeL'étude de de la la conception conception de de ces ces parties parties est est L'étude dede lala conceptionconception dede cesces partiesparties estest appeléeappelée «« architecturearchitecture desdes ordinateursordinateurs »»

© 2014,2016 F. Pellegrini

25

Machines Machines multi-couches multi-couches actuelles actuelles 5 5 Langages Langages d'application

MachinesMachines multi-couchesmulti-couches actuellesactuelles

Machines multi-couches multi-couches actuelles actuelles 5 5 Langages Langages d'application

55

LangagesLangages d'applicationd'application

 
 

TraductionTraduction (compilateur)(compilateur)

44

LangageLangage d'assemblaged'assemblage

 
 

TraductionTraduction (assembleur)(assembleur)

33

SystèmeSystème d'exploitationd'exploitation

 
 

InterprétationInterprétation partiellepartielle (SE)(SE)

22

JeuJeu d'instructionsd'instructions

 
 

InterprétationInterprétation ouou exécutionexécution

11

MicroarchitectureMicroarchitecture

 
 

MatérielMatériel

00

LogiqueLogique numériquenumérique

 
Couche Couche logique logique numérique numérique Les Les objets objets considérés considérés à à ce

CoucheCouche logiquelogique numériquenumérique

Couche Couche logique logique numérique numérique Les Les objets objets considérés considérés à à ce ce

LesLes objets objets considérés considérés à à ce ce niveau niveau sont sont les les Les objetsobjets considérésconsidérés àà cece niveauniveau sontsont lesles portesportes logiques,logiques, chacunechacune construiteconstruite àà partirpartir dede quelquesquelques transistorstransistors

ChaqueChaque porte porte prend prend en en entrée entrée des des signaux signaux numériques numériques Chaque porteporte prendprend enen entréeentrée desdes signauxsignaux numériquesnumériques (0(0 ouou 1)1) etet calculecalcule enen sortiesortie uneune fonctionfonction logiquelogique simplesimple (ET,(ET, OU,OU, NON)NON)

DeDe petits petits assemblages assemblages de de portes portes peuvent peuvent servir servir à à De petitspetits assemblagesassemblages dede portesportes peuventpeuvent servirservir àà réaliserréaliser desdes fonctionsfonctions logiqueslogiques tellestelles queque mémoire,mémoire, additionneur,additionneur, ainsiainsi queque lala logiquelogique dede contrôlecontrôle dede l'ordinateurl'ordinateur

Couche Couche microarchitecture microarchitecture On On dispose dispose à à ce ce niveau niveau de

CoucheCouche microarchitecturemicroarchitecture

Couche Couche microarchitecture microarchitecture On On dispose dispose à à ce ce niveau niveau de de

OnOn dispose dispose à à ce ce niveau niveau de de plusieurs plusieurs registres registres On disposedispose àà cece niveauniveau dede plusieursplusieurs registresregistres mémoiremémoire etet d'und'un circuitcircuit appeléappelé UALUAL (Unité(Unité ArithmétiqueArithmétique etet Logique,Logique, ALU)ALU) capablecapable dede réaliserréaliser desdes opérationsopérations arithmétiquesarithmétiques élémentairesélémentaires

LesLes registres registres sont sont reliés reliés à à l'UAL l'UAL par par un un Les registresregistres sontsont reliésreliés àà l'UALl'UAL parpar unun cheminchemin dede donnéesdonnées permettantpermettant d'effectuerd'effectuer desdes opérationsopérations arithmétiquesarithmétiques entreentre registresregistres

LeLe contrôle contrôle du du chemin chemin de de données données est est soit soit Le contrôlecontrôle dudu cheminchemin dede donnéesdonnées estest soitsoit microprogrammé,microprogrammé, soitsoit matérielmatériel

Couche Couche jeu jeu d'instruction d'instruction La La couche couche de de l'architecture

CoucheCouche jeujeu d'instructiond'instruction

Couche Couche jeu jeu d'instruction d'instruction La La couche couche de de l'architecture

LaLa couche couche de de l'architecture l'architecture du du jeu jeu d'instructions d'instructions La couchecouche dede l'architecturel'architecture dudu jeujeu d'instructionsd'instructions (Instruction(Instruction SetSet Architecture,Architecture, ISA)ISA) estest définiedéfinie parpar lele jeujeu desdes instructionsinstructions disponiblesdisponibles sursur lala machinemachine

CesCes instructions instructions peuvent peuvent être être exécutées exécutées par par microprogramme microprogramme ou Ces instructionsinstructions peuventpeuvent êtreêtre exécutéesexécutées parpar microprogrammemicroprogramme ouou bienbien directementdirectement

Couche Couche système système d'exploitation d'exploitation Cette Cette couche couche permet permet de de

CoucheCouche systèmesystème d'exploitationd'exploitation

système système d'exploitation d'exploitation Cette Cette couche couche permet permet de de

CetteCette couche couche permet permet de de bénéficier bénéficier des des services services offerts offerts Cette couchecouche permetpermet dede bénéficierbénéficier desdes servicesservices offertsofferts parpar lele systèmesystème d'exploitationd'exploitation

le système système d'exploitation d'exploitation Organisation Organisation mémoire, mémoire, exécution

OrganisationOrganisation mémoire,mémoire, exécutionexécution concurrenteconcurrente

LaLa plupart plupart des des instructions instructions disponibles disponibles à à ce ce niveau niveau La plupartplupart desdes instructionsinstructions disponiblesdisponibles àà cece niveauniveau sontsont directementdirectement traitéestraitées parpar lesles couchescouches inférieuresinférieures

LesLes instructions instructions spécifiques spécifiques au au système système font font l'objet l'objet Les instructionsinstructions spécifiquesspécifiques auau systèmesystème fontfont l'objetl'objet d'uned'une interprétationinterprétation partiellepartielle (appels(appels système)système)

Couche Couche langage langage d'assemblage d'assemblage Offre Offre une une forme forme symbolique symbolique

CoucheCouche langagelangage d'assemblaged'assemblage

Couche langage langage d'assemblage d'assemblage Offre Offre une une forme forme symbolique symbolique

OffreOffre une une forme forme symbolique symbolique aux aux langages langages des des couches couches Offre uneune formeforme symboliquesymbolique auxaux langageslangages desdes couchescouches inférieuresinférieures

PermetPermet à à des des humains humains d'interagir d'interagir avec avec les les couches couches Permet àà desdes humainshumains d'interagird'interagir avecavec lesles couchescouches inférieuresinférieures

Couche Couche langages langages d'application d'application Met Met à à la la disposition disposition des

CoucheCouche langageslangages d'applicationd'application

langages langages d'application d'application Met Met à à la la disposition disposition des des

MetMet à à la la disposition disposition des des programmeurs programmeurs d'applications d'applications un un Met àà lala dispositiondisposition desdes programmeursprogrammeurs d'applicationsd'applications unun ensembleensemble dede langageslangages adaptésadaptés àà leursleurs besoinsbesoins

LangagesLangages dits dits « « de de haut haut niveau niveau » » Langages ditsdits «« dede hauthaut niveauniveau »»

Comment Comment aborder aborder tout tout cela cela ? ? Approches Approches courante courante :

CommentComment aborderaborder touttout celacela ??

Comment Comment aborder aborder tout tout cela cela ? ? Approches Approches courante courante : :

ApprochesApproches courante courante : : de de bas bas en en haut haut pour pour Approches courantecourante :: dede basbas enen hauthaut pourpour lesles besoins,besoins, puispuis dede hauthaut enen basbas pourpour lesles solutionssolutions

TravauxTravaux pratiques pratiques difficiles difficiles au au début début Travaux pratiquespratiques difficilesdifficiles auau début début

ParPar deux deux fronts fronts à à la la fois fois : : Par deuxdeux frontsfronts àà lala foisfois ::

ÀÀ partir partir de de la la couche couche ISA ISA À partirpartir dede lala couchecouche ISAISA

ProgrammationProgrammation en en langage langage machine machine : : y86 y86 Programmation enen langagelangage machinemachine :: y86y86

ÀÀ partir partir des des transistors transistors et et portes portes logiques logiques À partirpartir desdes transistorstransistors etet portesportes logiqueslogiques

ConstructionConstruction de de circuits circuits « « sur sur papier papier » » Construction dede circuitscircuits «« sursur papierpapier »»

Circuits Circuits logiques logiques Un Un circuit circuit logique logique est est un un circuit

CircuitsCircuits logiqueslogiques

Circuits Circuits logiques logiques Un Un circuit circuit logique logique est est un un circuit circuit

UnUn circuit circuit logique logique est est un un circuit circuit qui qui ne ne Un circuitcircuit logiquelogique estest unun circuitcircuit quiqui nene manipulemanipule queque deuxdeux valeursvaleurs logiqueslogiques :: 00 etet 11

ÀÀ l'intérieur l'intérieur des des circuits, circuits, on on représente représente typiquement typiquement un À l'intérieurl'intérieur desdes circuits,circuits, onon représentereprésente typiquementtypiquement unun étatétat 00 parpar unun signalsignal dede bassebasse tensiontension (proche(proche dede 0V)0V) etet unun étatétat 11 parpar unun signalsignal dede hautehaute tensiontension (5V,(5V, 3,3V,3,3V, 2,5V,2,5V, 1,8V1,8V ouou 0,9V0,9V selonselon lesles technologies)technologies)

DeDe minuscules minuscules dispositifs dispositifs électroniques, électroniques, appelées appelées « « portes portes De minusculesminuscules dispositifsdispositifs électroniques,électroniques, appeléesappelées «« portesportes »,», peuventpeuvent calculercalculer différentesdifférentes fonctionsfonctions àà partirpartir dede cesces signauxsignaux

Transistors Transistors (1) (1) L'électronique L'électronique numérique numérique repose repose sur sur

TransistorsTransistors (1)(1)

Transistors Transistors (1) (1) L'électronique L'électronique numérique numérique repose repose sur sur

L'électroniqueL'électronique numérique numérique repose repose sur sur le le fait fait qu'un qu'un transistor transistor L'électronique numériquenumérique reposerepose sursur lele faitfait qu'unqu'un transistortransistor peutpeut servirservir dede commutateurcommutateur logiquelogique extrêmementextrêmement rapiderapide

DeuxDeux technologies technologies majeures majeures : : Deux technologiestechnologies majeuresmajeures ::

BipolaireBipolaire : : temps temps de de commutation commutation très très rapide rapide mais mais Bipolaire :: tempstemps dede commutationcommutation trèstrès rapiderapide maismais consommationconsommation élevéeélevée

Registres,Registres, SRAM, SRAM, circuits circuits spécialisés spécialisés Registres, SRAM,SRAM, circuitscircuits spécialisésspécialisés

CMOSCMOS : : temps temps de de commutation commutation moins moins rapide rapide mais mais CMOS :: tempstemps dede commutationcommutation moinsmoins rapiderapide maismais consommationconsommation beaucoupbeaucoup moinsmoins élevéeélevée

9090 % % des des circuits circuits sont sont réalisés réalisés en en CMOS CMOS 90 %% desdes circuitscircuits sontsont réalisésréalisés enen CMOSCMOS

Transistors Transistors (2) (2) Avec Avec un un transistor transistor bipolaire bipolaire ou ou deux

TransistorsTransistors (2)(2)

Transistors Transistors (2) (2) Avec Avec un un transistor transistor bipolaire bipolaire ou ou deux deux
Transistors Transistors (2) (2) Avec Avec un un transistor transistor bipolaire bipolaire ou ou deux deux

AvecAvec unun transistortransistor bipolairebipolaire ouou deuxdeux transistorstransistors CMOS,CMOS, onon peutpeut créercréer unun premierpremier circuitcircuit combinatoirecombinatoire ::

+V+V

cccc

CollecteurCollecteur VV SS VV AA BaseBase ÉmetteurÉmetteur
CollecteurCollecteur
VV SS
VV AA
BaseBase
ÉmetteurÉmetteur
GrilleGrille +V+V cccc VV AA VV SS GrilleGrille
GrilleGrille
+V+V
cccc
VV AA
VV SS
GrilleGrille

SourceSource

DrainDrain

DrainDrain

SourceSource

© 2014,2016 F. Pellegrini

BipolaireBipolaire

CMOSCMOS

36

Transistors Transistors (3) (3) Quand Quand V V A A est est bas, bas, V

TransistorsTransistors (3)(3)

Transistors Transistors (3) (3) Quand Quand V V A A est est bas, bas, V V
Transistors Transistors (3) (3) Quand Quand V V A A est est bas, bas, V V

QuandQuand VV AA