dule Architectures Logicielles et Matérielles au fil des années il serait sans doute plus montrer les différents matériels et logiciels présents dans l'ordinateur
Previous PDF | Next PDF |
[PDF] Architectures Logicielles et Matérielles - [Verimag]
dule Architectures Logicielles et Matérielles au fil des années il serait sans doute plus montrer les différents matériels et logiciels présents dans l'ordinateur
[PDF] Contrôle continu UE INF241 : Introduction aux - [Verimag]
Introduction aux Architectures Logicielles et Matérielles 11 Mars 2013 Durée 1 h 30 Documents, calculettes, téléphones portables non autorisés Le barême
[PDF] Une Approche Basée Architecture pour la Spécification Formelle
formelle de spécifier les architectures logicielles des systèmes AADL ( Architecture unifiée de l'architecture matérielle et des composants logiciels Verimag Research Report n° TR-2008-11, August 12, 2008 [Ölv07] P C Ölveczky
[PDF] Rapport BGLE final v3 - Direction Générale des Entreprises
28 fév 2013 · Architectures réparties, middleware et réseaux embarqués Atelier pour le CO- développement matériel/logiciel des systèmes embarqués 5 à l'initiative du laboratoire CNRS VERIMAG et de son directeur Joseph Sifakis
[PDF] Architectures innovantes de systèmes de commandes de vol - OATAO
27 mai 2010 · III 2 1 1 Architecture matérielle et logicielle disponible via : http://www- verimag imag fr/~caspi/PAPIERS/msr03 pdf [Caspi et al 2001] P
[PDF] Cours - Architecture N-tier - Cedric/CNAM
[PDF] Cours - Architecture N-tier - Cedric/CNAM
[PDF] Vers une architecture n-tiers
[PDF] Cours - Architecture N-tier - Cedric/CNAM
[PDF] Les réseaux Peer-to-Peer
[PDF] L 'architecture postale - La Poste
[PDF] Partie 1 : Architecture et communications Client/Serveur - Univ Lyon 1
[PDF] Architecture Traditionnelle Méditerranéenne Méthode RehabiMed
[PDF] La fabrication de l 'architecture en Tunisie indépendante : une
[PDF] l 'architecture traditionnelle en tunisie : l 'habitat rural - RehabiMed
[PDF] Etude d 'une architecture IP intégrant un lien satellite - OATAO
[PDF] Les règles de classement et d 'archivage des documents d 'entreprise
[PDF] LES RECHERCHES CONCERNANT L 'ALGERIE - Archives nationales
[PDF] métiers de l 'audiovisuel et du cinéma information et communication
Architectures
Logicielles
etMat´erielles
P. Amblard, J.-C. Fernandez,
F. Lagnier, F. Maraninchi,
P. Sicard, Ph. Waille
2 IV IVTable des mati`eres
Introduction1
1 Qu"est-ce qu"un ordinateur? 5
1. Notion d"information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2. L"ordinateur : une machine qui ex´ecute . . . . . . . . . . . . . . . . . . . . . .9
3. O`u sont le mat´eriel et le logiciel? . . . . . . . . . . . . . . . . . . . . . . . . .14
4. Fonctionnalit´es des ordinateurs . . . . . . . . . . . . . . . . . . . . . . . . . .17
5. Plan du livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
I Outils de base de l"algorithmique logicielle
et mat´erielle 232 Alg`ebre de Boole et fonctions bool´eennes 25
1. Alg`ebre de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
2. Fonctions bool´eennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
3. Repr´esentation des fonctions bool´eennes . . . . . . . . . . . . . . . . . . . . .31
4. Manipulation de repr´esentations de fonctions bool´eennes . . . . . . . . . . . .38
5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
3 Repr´esentation des grandeurs 49
1. Notion de codage d"informations . . . . . . . . . . . . . . . . . . . . . . . . .49
2. Les naturels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
3. Les relatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
4. Lien entre l"arithm´etique et les bool´eens . . . . . . . . . . . . . . . . . . . . .64
5. Les caract`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
6. Les nombres r´eels, la virgule flottante . . . . . . . . . . . . . . . . . . . . . .66
7. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
4 Repr´esentation des traitements et des donn´ees : langage d"actions 75
1. Un langage d"actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
2. Repr´esentation des donn´ees en m´emoire . . . . . . . . . . . . . . . . . . . . .82
3. Traduction des affectations g´en´erales en acc`es au tableauMEM. . . . . . . .90
4. Utilisation des pointeurs et gestion dynamique de la m´emoire . . . . . . . . .91
5. Piles, files et traitements associ´es . . . . . . . . . . . . . . . . . . . . . . . . .95
6. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
5 Repr´esentation des traitements et des donn´ees :
machines s´equentielles 1011. Machines s´equentielles simples . . . . . . . . . . . . . . . . . . . . . . . . . . .101
2. Machines s´equentielles avec actions . . . . . . . . . . . . . . . . . . . . . . . .109
VITable des mati`eres6 Temps, donn´ees temporelles et synchronisation 1211. Interface entre un dispositif informatique et un environnement physique . . .122
2. Signaux logiques et repr´esentation par des chronogrammes . . . . . . . . . . .126
3. Probl`emes de synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . .127
4. Un exemple : la machine `a caf´e . . . . . . . . . . . . . . . . . . . . . . . . . .133
II Techniques de l"algorithmique mat´erielle 1357 De l"´electron aux dispositifs logiques 137
1. Ph´enom`enes `a l"´echelle atomique . . . . . . . . . . . . . . . . . . . . . . . . .137
2. Ph´enom`enes `a l"´echelle ´electrique . . . . . . . . . . . . . . . . . . . . . . . . .140
3. Ph´enom`enes `a l"´echelle logique . . . . . . . . . . . . . . . . . . . . . . . . . .143
4. Circuits logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
5. Fabrication des dispositifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
6. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
8 Circuits combinatoires 165
1. Notion de circuit combinatoire . . . . . . . . . . . . . . . . . . . . . . . . . .166
2. Assemblage de blocs de base... . . . . . . . . . . . . . . . . . . . . . . . . . .173
3. Algorithmique cˆabl´ee : conception logique . . . . . . . . . . . . . . . . . . . .178
4. Etude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188
9 El´ements de m´emorisation 191
1. Points de m´emorisation de bits : bascules et registres . . . . . . . . . . . . . .192
2. La m´emoire : organisation matricielle des points de m´emorisation . . . . . . .203
3. R´ealisation des m´emoires statiques . . . . . . . . . . . . . . . . . . . . . . . .207
4. Optimisations et techniques particuli`eres . . . . . . . . . . . . . . . . . . . . .210
10 Circuits s´equentiels 215
1. Notion de circuit s´equentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
2. Synth`ese des automates d´ecrits par leur graphe . . . . . . . . . . . . . . . . .222
3. Synth`ese des circuits s´equentiels par flots de donn´ees . . . . . . . . . . . . .233
4. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .240
11 Conception de circuits s´equentiels par s´eparation du
contrˆole et des op´erations 2431. Principe g´en´eral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244
2. Notion de partie op´erative type . . . . . . . . . . . . . . . . . . . . . . . . . .245
3. Partie contrˆole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
4. Etudes de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
III Techniques de l"algorithmique logicielle 267
12 Le langage machine et le langage d"assemblage 269
1. Le langage machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270
2. Le langage d"assemblage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296
3. Traduction du langage d"assemblage en langage machine . . . . . . . . . . . .302
4. Un exemple de programme . . . . . . . . . . . . . . . . . . . . . . . . . . . .302
5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .308
Table des mati`eresVII13 Traduction des langages `a structure de blocs en langage d"assemblage 3131. Cas des programmes `a un seul bloc . . . . . . . . . . . . . . . . . . . . . . . .314
2. Cas des programmes `a plusieurs blocs . . . . . . . . . . . . . . . . . . . . . .319
3. Traduction en langage d"assemblage : solutions globales . . . . . . . . . . . .334
4. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343
IV A la charni`ere du logiciel et du mat´eriel... 34914 Le processeur : l"interpr`ete cˆabl´e du langage machine 351
1. Les principes de r´ealisation . . . . . . . . . . . . . . . . . . . . . . . . . . . .352
2. Exemple : une machine `a 5 instructions . . . . . . . . . . . . . . . . . . . . .355
3. Une r´ealisation du processeur . . . . . . . . . . . . . . . . . . . . . . . . . . .356
4. Critique et am´elioration de la solution . . . . . . . . . . . . . . . . . . . . . .360
5. Extensions du processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . .364
6. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367
V Architecture d"un syst`eme mat´eriel
et logiciel simple 375Un syst`eme mat´eriel et logiciel simple 377
15 Relations entre un processeur et de la m´emoire 381
1. Le bus m´emoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .381
2. Utilisation de plusieurs circuits de m´emoire . . . . . . . . . . . . . . . . . . .385
3. Acc`es `a des donn´ees de tailles diff´erentes . . . . . . . . . . . . . . . . . . . . .389
4. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .395
16 Circuits d"entr´ees/sorties 397
1. Notion d"entr´ees/sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397
2. Synchronisation entre le processeur et un p´eriph´erique . . . . . . . . . . . . .399
3. Connexion d"organes p´eriph´eriques . . . . . . . . . . . . . . . . . . . . . . . .400
4. Programmation d"une sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . .402
5. Programmation d"une entr´ee . . . . . . . . . . . . . . . . . . . . . . . . . . .408
6. Optimisation des entr´ees/sorties group´ees . . . . . . . . . . . . . . . . . . . .409
7. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415
17 Pilotes de p´eriph´eriques 417
1. Structure d"un pilote de p´eriph´erique . . . . . . . . . . . . . . . . . . . . . . .418
2. Pilote pour un clavier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .419
3. Pilote pour un disque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .423
4. Pour aller plus loin... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .432
18 Vie des programmes 435
1. Interpr´etation et compilation . . . . . . . . . . . . . . . . . . . . . . . . . . .436
2. Compilation s´epar´ee et code translatable . . . . . . . . . . . . . . . . . . . . .442
3. Format des fichiers objets translatables et ´edition de liens . . . . . . . . . . .454
19 Syst`eme de gestion de fichiers 463
1. Situation du syst`eme de gestion de fichiers . . . . . . . . . . . . . . . . . . . .465
2. Structure des donn´ees et influence sur l"implantation . . . . . . . . . . . . . .466
3. Implantation dispers´ee sur un disque . . . . . . . . . . . . . . . . . . . . . . .470
4. Noms externes et autres informations attach´ees aux fichiers . . . . . . . . . .476
VIIITable des mati`eres5. Etude de quelques fonctions du syst`eme de gestion de fichiers . . . . . . . . .477
20 D´emarrage du syst`eme, langage de commandes et interpr`ete 483
1. D´emarrage du syst`eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .484
2. M´ecanisme de base : le chargeur/lanceur . . . . . . . . . . . . . . . . . . . . .485
3. Programmation de l"interpr`ete de commandes . . . . . . . . . . . . . . . . . .495
4. Fonctions ´evolu´ees des interpr`etes de commandes . . . . . . . . . . . . . . . .501
VI Architecture des syst`emes mat´eriels
et logiciels complexes 50321 Motivations pour une plus grande complexit´e 505
1. Qu"appelle-t-on syst`eme complexe? . . . . . . . . . . . . . . . . . . . . . . . .505
2. Scrutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .507
3. M´ecanisme d"interruption : d´efinition et types d"utilisations . . . . . . . . . .508
4. Plan de la suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .510
22 Le m´ecanisme d"interruption 511
1. Architecture d"un processeur pour la multiprogrammation . . . . . . . . . . .511
2. Introduction d"un m´ecanisme de scrutation ´el´ementaire . . . . . . . . . . . . .515
3. Un exemple d´etaill´e d"utilisation : mise `a jour de la pendule . . . . . . . . . .521
4. Notion de concurrence et d"atomicit´e des op´erations . . . . . . . . . . . . . .528
5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .530
23 Partage de temps et processus 531
1. Principe et d´efinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .531
2. Structures de donn´ees associ´ees aux processus . . . . . . . . . . . . . . . . . .536
3. Organisation du traitant de commutation . . . . . . . . . . . . . . . . . . . .539
4. Cr´eation et destruction de processus . . . . . . . . . . . . . . . . . . . . . . .546
5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .550
24 G´en´eralisation du m´ecanisme d"interruption et applications 551
1. Classification des diff´erentes sources d"interruption . . . . . . . . . . . . . . .552
2. Protection entre processus, notion de superviseur . . . . . . . . . . . . . . . .559
3. Entr´ees/sorties g´er´ees par interruption . . . . . . . . . . . . . . . . . . . . . .565
4. Pour aller plus loin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .570
Index571
Bibliographie 577
Introduction
Ce qu"on trouvera dans ce livre
Ce livre suit d"assez pr`es l"enseignement dispens´e en Licence d"informatique `a l"Universit´e Joseph Fourier de Grenoble. L"enseignement a le mˆeme titre : Architectures Logicielles et Mat´erielles. Il est dispens´e en environ 150 heures de cours, Travaux Dirig´es et Travaux Pratiques. L"objectif est d"expliquer `a de futurs sp´ecialistes d"informatique le fonction- nement de l"ordinateur. Pour cela nous faisons un certain nombre de choix, nous prenons parti. Pourcomprendrele fonctionnement, il faut se placer du point de vue du concepteurd"ordinateur. Le lecteur trouvera donc dans ce livre une d´emarche de conception de machines. Il ne s"agit pourtant pas de lui faire croire au r´ealisme de cette conception. En effet la v´eritable conception d"une machine, c"est-`a-dire de son mat´eriel - du microprocesseur `a la m´emoire, en passant par la carte gra- phique - et de son logiciel - du syst`eme d"exploitation aux compilateurs - repr´esente des centaines de milliers d"heures de travail de sp´ecialistes. Nous ne d´ecrivons qu"une partie du travail, en choisissant les points qui nous semblent les plus significatifs dans cette conception. D"autre part nous insistons sur les liaisons entre diff´erents aspects de la conception. En particulier, l"une des id´ees fortes de ce livre est l"´etroite compl´ementarit´e des aspects logiciels et mat´eriels des ordinateurs. L"id´ee centrale, et le chapitre central de ce livre, montrent donc comment du mat´eriel ex´ecute du logiciel. Le contenu de ce livre ne devrait pas se p´erimer, sauf si des principes vraiment nouveaux apparaissent en informatique et se g´en´eralisent.Ce qu"on ne trouvera pas dans ce livre
En revanche ce livre ne d´ecrit pas les aspects les plus avanc´es utilis´es dans les machines actuelles. Ces aspects font l"objet d"enseignements sp´ecifiques de syst`emes d"exploitation, de compilation ou d"architectures des machines, dans lesquels, en g´en´eral, on ne se pr´eoccupe que d"un aspect. Ce livre constitue un pr´erequis pour de tels enseignements car il montre les relations entre les 3 domaines.2IntroductionParmi les th`emes tr`es int´eressants que nous avons d´elib´erement ´ecart´es (et
r´eserv´es pour le tome 2!) figurent :-L"´etude fine des fonctionnalit´es d"un syst`eme d"exploitation particulier.
Beaucoup de nos r´ef´erences sont inspir´ees d"unix1.-L"´etude de la hi´erarchie m´emoire (cache et m´emoire virtuelle), que nous
passons totalement sous silence.-L"´etude d´etaill´ee d"un langage d"assemblage d"un processeur donn´e. Beau-
coup de nos r´ef´erences sont inspir´ees dusparc2ou du Motorola 680003.-L"´etude des techniques de conception de circuits micro-´electroniques. Par
exemple nous ne parlons ni de consommation, ni de circuits asynchrones.-L"´etude des techniques d"optimisation des performances des proces-
seurs. Nous ne d´eveloppons pas les techniques de pipeline, ni celles der´eordonnancement dynamique du flot d"ex´ecution des instructions.-Les entr´ees/sorties tr`es particuli`eres que constituent les acc`es d"un ordina-
teur `a un r´eseau, ce qui demanderait un d´eveloppement sp´ecifique.Comment lire ce livre?
M´ethode de travail
On peut lire ce livre comme un roman, de la premi`ere `a la derni`ere page. On peut ´egalement le lire avec une salle de Travaux Pratiques `a port´ee de la main, pour essayer toutes les techniques ´evoqu´ees, les comparer, les analyser en d´etail, etc. On peut essayer de r´esoudre tous les exercices et envoyer les solutions aux auteurs, qui se feront un plaisir de les corriger : Paul.Amblard@imag.fr Jean-Claude.Fernandez@imag.fr Fabienne.Lagnier@imag.fr Florence.Maraninchi@imag.frPascal.Sicard@imag.fr Philippe.Waille@imag.fr
On peut enfin essayer de trouver des erreurs, de fond et de forme, et on y parviendra certainement.Th`emes
On peut privil´egier une approche centr´ee sur les langages de programma- tion, leur traduction et la fa¸con dont ils sont ex´ecut´es. Sur la figure 0.1 cela correspond aux fl`eches en traits gras.1 marque d´epos´ee, et dans la suite de l"ouvrage nous ne pr´eciserons plus que les noms de syst`emes et de machines sont, ´evidemment, d´epos´es.2marque d´epos´ee
3marque d´epos´ee
Introduction320 : Interpr`ete
de commandes18 : Vie des programmesdonn´ees4 5 : Repr´esentation
des traitements et15 : Liaisons m´emoire
processeur7 : Electronique8 : Circuits
combinatoires9 : El´ements de m´emorisation2 : Alg`ebre de Boole6 : Aspects temporels
14 : LE PROCESSEUR1 : L"ORDINATEUR
10 11 : Circuits
s´equentielsdes grandeurs3 : Repr´esentation
19 : Gestion de fichiers
16 17 : Mat´eriel et
logiciel d"entr´ees / sorties21 `a 24 :Syst`eme complexe
ProcessusInterruptionsmachine et
d"assemblage12 13 : Langages Fig.0.1 - Relations de d´ependance des principales id´ees utilis´ees dans les 24 chapitres. La zone gris´ee correspond plutˆot au monde du logiciel, la zone blanche au mat´eriel.4IntroductionOn peut privil´egier une approche de conception des circuits digitaux et
d"architecture de machine. Sur la figure 0.1 cela correspond aux fl`eches en traits larges et hachur´es. On peut privil´egier une approche centr´ee sur l"architecture de haut niveau et les syst`emes d"exploitation. Sur la figure 0.1 cela correspond aux fl`eches en traits pointill´es. Il n"en reste pas moins que les auteurs ont cherch´e `a mettre l"accent sur la globalit´e et la compl´ementarit´e des 3 approches. Index Les mots en italique apparaissent souvent en index. Dans l"index, les num´eros de page en gras indiquent les occurrences de d´efinition des mots. Les autres num´eros indiquent des occurrences d"utilisation des mots, parfois ant´erieures `a leur d´efinition, parfois post´erieures.Remerciements
Les id´ees, principes, techniques, outils, m´ethodes, pr´esent´es dans ce livre ne sont pas les r´esultat de nos d´ecouvertes. Nous avons re¸cu des enseigne- ments, puis nous avons lu, essay´e, enseign´e. Sans ceux qui nous ont pr´ec´ed´es ce livre n"existerait pas. Sans celles et ceux qui ont enseign´e avec nous le mo- duleArchitectures Logicielles et Mat´eriellesau fil des ann´ees il serait sans doute plus pauvre. En particulier Catherine, Danielle, Jo¨elle, Jean-Louis et Jean-Paul reconnaˆıtront certaines de leurs bonnes influences. Les mauvaises viennent d"ailleurs!Chapitre 1
Qu"est-ce qu"un ordinateur?
Unordinateurest une machine, presque toujours ´electronique, qui ex´ecute des programmes. Ces programmes traitent des donn´ees. Une machine ´electronique est un objet. Par opposition, les programmes et les donn´ees sont des informations. Cette opposition est celle qui existe entremat´erieletlogi- ciel. L"ensemble du livre est consacr´e `a montrer de fa¸con d´etaill´ee comment ces deux univers se rencontrent pour former l"architecturede l"ordinateur. Dans ce premier chapitre, nous faisons un tr`es rapide survol permettant de situer lesnotions avant de les d´ecrire de fa¸con d´etaill´ee.Le paragraphe 1. d´ecrit ce qu"est une information et sa repr´esentation.
Cela nous permet de parler de programmes. Puis nous d´ecrivons une machine `a ex´ecuter les programmes et nous insistons sur la notion d"ex´ecution dans le paragraphe 2. Cela nous permet au paragraphe 3. de montrer les diff´erents mat´eriels et logiciels pr´esents dans l"ordinateur. Nous ´evoquons enfin les usages de l"ordinateur au paragraphe 4.