• Aucun résultat trouvé

Architecture des ordinateurs

N/A
N/A
Protected

Academic year: 2022

Partager "Architecture des ordinateurs"

Copied!
6
0
0

Texte intégral

(1)

Architecture des ordinateurs

Jeremy Fix

5 septembre 2017

(2)

ii

Ce support de cours a ´et´e r´ealis´e, notamment, grˆace aux outils suivants :

— Latex/TeXLive 2013 (https://www.tug.org/texlive/)

— GNU Emacs (https://www.gnu.org/software/emacs/) et l’extension Flyspell (http://

www-sop.inria.fr/members/Manuel.Serrano/flyspell/flyspell.html)

— Ubuntu 14.04 (http://www.ubuntu.com/)

— inkscape (https://inkscape.org) , ipe 7.1.8 (http://ipe.otfried.org/), tikz (http:

//pgf.sourceforge.net/), l’extension circuitikz (http://www.ctan.org/tex-archive/

graphics/pgf/contrib/circuitikz), l’extension tikz-timing (https://www.ctan.org/pkg/

tikz-timing)

— logisim (version originale :http://www.cburch.com/logisim/index.html, fork utilis´e ici : https://github.com/lawrancej/logisim)

— une machine `a caf´e

Ce support de cours est accompagn´e de sujets de TP r´ealis´es sous logisim. Les sujet sont disponibles `a l’adressehttp://malis.metz.supelec.fr/~fix_jer.

(3)

Table des mati` eres

1 Codages et op´erations binaires 1

1.1 Repr´esentation des entiers naturels . . . 1

1.1.1 Repr´esentation en base p . . . 2

1.1.2 Repr´esentation binaire, p=2 . . . 2

1.1.3 Repr´esentation hexad´ecimale, p=16 . . . 3

1.1.4 Raccourcis de conversion binaire/hexad´ecimal . . . 3

1.1.5 Codage Binary Coded D´ecimal et Codage de Gray . . . 4

1.2 Op´erations arithm´etiques sur les repr´esentations non sign´ees . . . 4

1.3 Repr´esentations et op´erations avec un nombre fix´e de bits . . . 6

1.4 Repr´esentation des entiers relatifs . . . 6

1.4.1 Compl´ement r´eduit et compl´ement vrai . . . 8

1.5 Op´erations arithm´etiques sur les repr´esentations sign´ees . . . 9

1.5.1 Additions/Soustractions . . . 9

1.6 Repr´esentation des nombres r´eels : virgule fixe et virgule flottante . . . 10

1.6.1 Repr´esentation par virgule fixe (fixed-point) . . . 10

1.6.2 Repr´esentation par virgule flottante (floating-point) . . . 12

1.6.3 Exemple de la repr´esentation en virgule flottante binary-16 . . . 13

1.7 Repr´esentation des caract`eres . . . 13

1.8 Un exemple . . . 15

2 La couche physique et la couche logique 17 2.1 Un peu d’´electronique . . . 17

2.1.1 Niveaux logiques et valeurs de tension . . . 17

2.1.2 Transistors CMOS et inverseur . . . 19

2.1.3 Portes NAND et NOR `a deux entr´ees . . . 21

2.1.4 Autres portes `a une ou deux entr´ees . . . 23

2.1.5 Table de v´erit´e et synth`ese de circuit logique . . . 26

2.1.6 Temps de propagation et notion de chemin critique . . . 28

2.2 Circuits de logique combinatoire . . . 28

2.2.1 D´ecodeur . . . 29

2.2.2 Multiplexeur / d´emultiplexeur . . . 29

2.2.3 Al´ea statique . . . 31

2.2.4 Mutiplexeur : universalit´e et m´emoire en lecture seule (ROM) . . . 32

2.2.5 Unit´e arithm´etique et logique pour les entiers . . . 32

2.2.6 Unit´e arithm´etique en virgule flottante . . . 35

2.3 Circuits de logique s´equentielle . . . 36

2.3.1 Verrou/Bascule RS . . . 36

2.3.2 Verrou D . . . 39

2.3.3 Syst`emes logiques synchrones : horloge et fronts montants . . . 39

2.3.4 Bascule D synchrone sur front montant : maˆıtre esclave . . . 40

2.3.5 R´ealisation d’un verrou D avec un mutliplexeur . . . 41

2.3.6 Registre et m´emoire RAM (Random Access Memory) . . . 41

2.4 Une premi`ere architecture interne simple d’un microprocesseur . . . 43 2.4.1 Registres internes : accumulateurs, registre d’adresse et compteur ordinal . 43

iii

(4)

iv TABLE DES MATI `ERES

2.4.2 S´equencement du chemin de donn´ees . . . 44

2.4.3 Exemple . . . 44

3 La couche ISA 53 3.1 Programme et donn´ees en m´emoire . . . 54

3.1.1 Codage des instructions en m´emoire . . . 54

3.1.2 R´ecup´erer l’instruction depuis la m´emoire (fetch) . . . 55

3.2 G´en´erer les micro-instructions par une machine `a ´etats finis . . . 56

3.2.1 Une machine `a ´etats finis pour le fetch . . . 56

3.2.2 Une machine `a ´etats finis par instruction . . . 57

3.2.3 Une machine `a ´etats finis pour toutes les instructions . . . 59

3.3 S´equencement microprogramm´e du chemin de donn´ees . . . 59

3.3.1 Circuit logique du s´equenceur microprogramm´e et interface avec le chemin de donn´ees . . . 59

3.3.2 Les branchements . . . 63

3.4 R´ecapitulons . . . 67

3.4.1 Architecture . . . 67

3.4.2 Liste et format des instructions . . . 68

4 Proc´edures, pile et pointeur de pile 71 4.1 Motivation . . . 71

4.2 La pile : modification du chemin de donn´ees et nouvelles instructions . . . 72

4.3 La pile pour passer des arguments et r´ecup´erer des r´esultats . . . 75

4.4 Appel et retour de routines . . . 76

4.5 Exemple : nombre de mouvements pour r´esoudre les tours de Hano¨ı . . . 78

5 Traduction, Compilation, interpr´etation 83 5.1 Langage bas niveau : Assembleur . . . 83

5.1.1 Quelques ´el´ements de syntaxe de notre langage d’assemblage . . . 84

5.1.2 L’assembleur . . . 84

5.2 Langage de haut niveau . . . 86

5.2.1 Quelques ´el´ements de langages de haut niveau . . . 86

5.2.2 Interpr´et´e ou compil´e . . . 87

5.3 Compilateur . . . 87

5.3.1 Anatomie d’un compilateur . . . 87

5.3.2 La phase d’analyse (frontend) . . . 88

5.3.3 G´en´eration et optimisation d’une repr´esentation interm´ediaire . . . 89

5.3.4 La phase de synth`ese . . . 90

6 La m´emoire 93 6.1 Les diff´erentes formes de m´emoire . . . 93

6.1.1 M´emoire morte (ROM) . . . 93

6.1.2 M´emoire vive (RAM) . . . 94

6.1.3 M´emoire de masse : disque dur . . . 95

6.1.4 Synth`ese des m´emoires en lecture/´ecriture : vive et de masse . . . 96

6.2 Hierarchie de m´emoire . . . 96

6.2.1 Principe de localit´e spatiale et temporelle . . . 96

6.2.2 Structure hierarchique de la m´emoire : le meilleur des deux mondes . . . . 97

6.3 M´emoire cache . . . 98

6.3.1 Cache `a correspondance directe . . . 98

6.3.2 Cache associatif . . . 99

6.3.3 Cache associatif `a n entr´ees . . . 100

6.3.4 Coh´erence du cache et de la m´emoire centrale . . . 100

(5)

TABLE DES MATI `ERES v 7 Les p´eriph´eriques et leur gestion par interruption 103

7.1 Les p´eriph´eriques d’ent´ee/sortie . . . 103

7.1.1 Quelques exemples de p´eriph´eriques . . . 103

7.1.2 Connexions entre le processeur et les p´eriph´eriques . . . 104

7.2 Ev`enements synchrones et asynchrones : D´eroutements et interruptions´ . . . 107

7.2.1 Les d´eroutements . . . 107

7.2.2 Les interruptions . . . 108

7.3 Examples d’utilisation des interruptions . . . 111

7.3.1 Un programme principal et un bouton . . . 111

7.3.2 Timesharing et ordonnanceur pr´e-emptif . . . 113

A Carte de r´ef´erence 117

Bibliographie 121

(6)

Cliquez ici pour telecharger le PDF complet

Références

Documents relatifs

[r]

Puisque le temps d’ex´ ecution d’un algorithme sur une entr´ ee de taille constante est une constante, les r´ ecurrences sous-jacentes au calcul du temps d’ex´ ecution

Les donn´ ees envoy´ ees sont des donn´ ees r´ eelles, repr´ esentant les volumes au bid ou ` a l’ask dans un carnet d’ordre d’actions observ´ e durant une journ´ ee.. 1

Interrogeons nous maintenant sur la fa¸con dont sont construits ces tests multidimensionnels, autrement dit sur la fa¸con dont sont obtenues les matrices E pour les erreurs du

Construire sur un seul graphique les nuages de points de l’indice de Qu´ etelet en fonction de la taille, en fonction du poids, pour chaque sexe8. Repr´ esenter, sur un seul

Une exp´ erience par coloration a montr´ e qu’une rivi` ere souterraine alimente une r´ esurgence dans la vall´ ee. La rivi` ere souterraine a un d´ ebit tr` es sensible aux

Perdre ses photos de vacances : ¸ca n’a pas de

Programme des enseignements – Syst` emes d’information et conception d’entrepˆ ots de donn´ ees – Les principes et la d´ emarche du Data Mining (fouille de donn´ ees)