Pr. Chérif TOLBA

28
Architecture des Ordinateurs Pr. Chérif TOLBA Département d’informatique – Bureau 15 [email protected] 2 ème Année Licence d’Informatique – Semestre 3 (5 crédits) Les supports de cours, TD et TP seront aussi disponibles sur la plateforme ALIF: http://alif.univ-annaba.org Clé du cours : 1

Transcript of Pr. Chérif TOLBA

Page 1: Pr. Chérif TOLBA

Architecture des Ordinateurs

Pr. Chérif TOLBA Département d’informatique – Bureau 15

[email protected]

2ème Année Licence d’Informatique – Semestre 3 (5 crédits)

Les supports de cours, TD et TP seront aussi disponibles

sur la plateforme ALIF: http://alif.univ-annaba.org

Clé du cours :

1

Page 2: Pr. Chérif TOLBA

Terminologies

Processeur (CPU, Central Processing Unit) CISC Complex Instruction Set Computer RISC Reduced Instruction Set Computer MIPS, Millions d’instructions par seconde MIPS, Architecture des processeurs de type RISC Fréquence d’horloge Khz, Mhz, Ghz 1 Kilo octets = 2^10 = 1024 octets 1 Mega octets= 2^20 = 1048576 octets 1 Giga octets = 2^30 = 1073741824 octets 1 Tera octets 2^40 = 1099511627776 octets bit binary digit 1 octet (Byte) = 8 bits ; 1bit prend la valeur 1 ou 0

2

Page 3: Pr. Chérif TOLBA

I. Les principaux composants d’un ordinateur : machine de Von Neumann

Définition de l’ordinateur : L’ordinateur est une machine électronique, qui traite l’information dans une unité centrale (UC, ou CPU pour Central Processing Unit), selon un programme qui est enregistrée en mémoire. Les données fournies en entrée par un organe d’entrée (par exemple de type clavier) sont traitées par l’unité centrale en fonction du programme pour délivrer les résultats en sortie, via un organe de sortie (par exemple un écran). Vers 1945 Von Neumann a fait le pas décisif à la mise en place d’un mécanisme de traitement numérique de l’information en introduisant deux concepts nouveaux : l’enregistrement du programme à exécuter et la rupture de séquence.

3

Page 4: Pr. Chérif TOLBA

I.Les principaux composants d’un ordinateur : machine de Von Neumann

4

Système Bus

Bus interne

Page 5: Pr. Chérif TOLBA

I.Les principaux composants d’un ordinateur : machine de Von Neumann

5

Page 6: Pr. Chérif TOLBA

I.Les principaux composants d’un ordinateur : machine de Von Neumann

•La mémoire centrale : La mémoire centrale est partagée en deux parties : Les instructions du programme (informations traitantes) que la machine devra exécuter pour réaliser les opérations.

Les données appelées opérandes ou informations traitées pour lesquelles la machine effectuera les traitements dictés par les instructions.

6

Page 7: Pr. Chérif TOLBA

Données Programme CPU

E/S

II.Architecture de Harvard

Le CPU interagit avec deux types de mémoires matériellement séparées (Mémoire Programme et Mémoire données).

7

Page 8: Pr. Chérif TOLBA

III.L’accès à la mémoire

La mémoire est formée d’un ensemble de mots de longueur fixe, chaque mot contenant une information codée en binaire. Chaque mot de la mémoire est accessible par l’intermédiaire de l’adresse mémoire. Le temps d’accès à un mot est le même quelle que soit la place du mot en mémoire : ce type d’accès est appelé aléatoire, et les mémoires sont appelées RAM (Random Access Memory). Les instructions sont exécutées en séquence. Le processeur (CPU) conserve l’adresse de la prochaine instruction à exécuter dans un registre, appelée PC (Program Counter) ; pour chaque instruction, le CPU effectue les actions suivantes :

lire l’instruction à partir du contenu registre PC et incrémenter PC ;

exécuter l’instruction par l’unité de traitement, l’ordre d’exécution est donné par l’unité de contrôle.

8

Page 9: Pr. Chérif TOLBA

III. L’accès à la mémoire

L’accès à la mémoire principale se fait soit par le processeur soit par les Entrées/Sorties.

1. A partir du processeur : se fait via le système BUS.

2. A partir des périphériques E/S : se fait via le contrôleur DMA

(Direct Memory Access) qui permet à un périphérique E/S de transférer des données de, ou vers la mémoire d’un ordinateur sans passer par le processeur.

9

Page 10: Pr. Chérif TOLBA

IV. Organisation matérielle typique d’un ordinateur monoprocesseur

Ordinateur monoprocesseur (i.e. avec un seul CPU)

10

Page 11: Pr. Chérif TOLBA

V. Architecture actuelle

11

Page 12: Pr. Chérif TOLBA

VI. Mémoires caches

La mémoire cache contient une copie des données originelles lorsqu'elles sont coûteuses (en termes de temps d'accès) à récupérer ou à calculer par rapport au temps d'accès au cache. Une fois les données stockées dans le cache, on y accède directement par le cache plutôt qu'en les récupérant ou en les recalculant, ce qui diminue le temps d'accès moyen.

Dans les microprocesseurs, on différencie plusieurs niveaux de caches, souvent au nombre de trois :

Le cache de premier niveau (L1), plus rapide et plus petit (cache de données pouvant être séparé du cache d'instructions) ;

Le cache de second niveau (L2), moins rapide et plus gros ; Le cache de troisième niveau (L3), encore moins rapide et

encore plus gros ; Ces derniers caches peuvent être situés à l’intérieur ou hors du

microprocesseur.

12

Page 13: Pr. Chérif TOLBA

VII. Caractéristiques d’un processeur

13

Page 14: Pr. Chérif TOLBA

14

VII. Caractéristiques d’un processeur

Page 15: Pr. Chérif TOLBA

15

VII. Caractéristiques d’un processeur

Page 16: Pr. Chérif TOLBA

En résumé l’unité centrale se décompose en une partie opérative appelée chemin de données et une partie contrôle. Le chemin de données (datapath) est organisé autour d’une unité arithmétique et logique (UAL) et d’opérateurs arithmétiques flottants qui effectuent les opérations sur les données.

16

VII. Caractéristiques d’un processeur

Page 17: Pr. Chérif TOLBA

1. Les composants du chemin de données

17

VII. Caractéristiques d’un processeur

Page 18: Pr. Chérif TOLBA

1.1. Les registres

Certains registres sont visibles : leur nom (ou leur numéro) est présent dans l’instruction, et le programmeur en langage machine peut décider quel registre peut être lus/écrits ; par exemple, l’instruction ADD R1, R2, R3 nomme les trois registres R1, R2 et R3. D’autres registres ne sont pas visibles, et servent à des besoins de contrôle ou d’état (utilisés par le noyau).

18

Page 19: Pr. Chérif TOLBA

1.1.1 Les registres généraux

19

Page 20: Pr. Chérif TOLBA

1.1.2 Les registres de contrôle et d’état

20

Page 21: Pr. Chérif TOLBA

Le chemin de données détermine les deux caractéristiques fondamentales d’une unité centrale, le temps de cycle et la largeur du chemin de données. •La période d’horloge ou temps de cycle Tc est essentiellement le temps d’une opération de l’UAL ; l’inverse du temps de cycle est la fréquence ; si l’unité de temps de cycle est la seconde, l’unité de fréquence est le Hertz. Par exemple, un processeur cadencé à 500MHz a une période d’horloge :

•La largeur du chemin de données est la taille de l’information traitée par la partie opérative. Les premiers microprocesseurs étaient des 8 bits, les processeurs généralistes actuels sont 32 ou 64 bits, le processeur de la Playstation 2 est de 128 bits.

𝑇𝑐 =1

500×106= 2 × 10

−9𝑠 = 2𝑛𝑠

21

2. Fonctions du chemin de données

VII. Caractéristiques d’un processeur

Page 22: Pr. Chérif TOLBA

VIII.Étapes d’exécution d’une instruction

Une opération s’exécute en plusieurs étapes indépendante par des éléments différents du processeur.

IF: Instruction Fetch, charge l’instruction à exécuter dans le pipeline ID: Instruction Decode/Register Fetch, décode l’instruction et adresse les registres EX: Execution/Effective Address, exécute l’instruction (par le ou les unités arithmétiques et logiques) MA: Memory Access/Cache Access, dénote un transfert depuis un registre vers la mémoire dans le cas d’une instruction du type STORE (accès en écriture) et de la mémoire vers un registre dans le cas d’une instruction du type LOAD (accès en lecture) WB: Write-Back, stocke le résultat dans un registre

22

Page 23: Pr. Chérif TOLBA

•Indicateur de performance de l’unité centrale de traitement

VIIII. Performance d’un processeur

Deux paramètres peuvent être utilisés pour mesurer la performance d’un processeur:

le temps de réponse ou temps d’exécution d’une certaine tâche: temps écoulé entre le début et la fin d’exécution de la tâche : throughput: quantité total de travail réalisé dans un certain temps.

L’amélioration du temps de réponse implique toujours une amélioration du throughput. Toutefois, le contraire n’est pas toujours vrai: une augmentation du nombre de processeurs d’un ordinateur augmente le throughput, sans améliorer nécessairement le temps de réponse. Nous allons considérer le temps d’exécution comme paramètre principal pour le calcul de la performance d’un processeur.

23

Page 24: Pr. Chérif TOLBA

𝑝𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 = 1𝑡𝑒𝑚𝑝𝑠 𝑑′𝑒𝑥é𝑐𝑢𝑡𝑖𝑜𝑛

Le rapport de performance entre deux machines A et B est : 𝑝𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 𝐴𝑝𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒 𝐵 = 𝑛 =𝑡𝑒𝑚𝑝𝑠 𝑒𝑥é𝑐𝑢𝑡𝑖𝑜𝑛 𝐵𝑡𝑒𝑚𝑝𝑠 𝑒𝑥é𝑐𝑢𝑡𝑖𝑜𝑛 𝐴

et l’on dit que A est n fois plus rapide que B si n est positif. Sinon B est 1/n fois plus rapide que A

24

VIIII. Performance d’un processeur

Page 25: Pr. Chérif TOLBA

Pour le calcul de performance, on tient compte seulement du temps d’exécution (CPU time), inférieur à l’elapsed time (qui signifie le temps total pour compléter une tâche qui égal au temps d’accès au disque, à la mémoire, au E/S et au système d’exploitation).

Le temps d’exécution dépend de trois facteurs: •le nombre d’instructions machine exécutées, •le nombre moyen de cycles d’horloge par instruction machine et •la période d’horloge. 𝑡𝑒𝑚𝑝𝑠 𝑑′𝑒𝑥é𝑐𝑢𝑡𝑖𝑜𝑛 =

1𝑝𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒= 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑′ 𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 × 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑐𝑦𝑐𝑙𝑒𝑠 𝑝𝑎𝑟 𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛

× 𝑝é𝑟𝑖𝑜𝑑𝑒 𝑑𝑒 𝑙′ℎ𝑜𝑟𝑙𝑜𝑔𝑒 𝑡𝑒𝑚𝑝𝑠 = 𝐼𝐶 × 𝐶𝑃𝐼𝑓

25

VIIII. Performance d’un processeur

Page 26: Pr. Chérif TOLBA

IC : nombre d’instructions ; CPI : nombre de cycles par instruction ; f : la fréquence d’horloge. À chaque cycle d'horloge, des calculs peuvent être effectués en utilisant les sorties des composants. L'horloge permet d'assurer que les données sont valides au cycle d'horloge suivant, c'est-à-dire que les calculs sont terminés et les résultats stabilisés. La durée du cycle doit donc être choisie en fonction de la durée maximale possible de chacun des calculs.

Pour une architecture donnée (un certain répertoire d’instructions), il est possible d’améliorer la performance par trois moyens différents : augmenter la fréquence d’horloge. améliorer l’organisation interne pour diminuer le CPI. améliorer le compilateur pour diminuer le IC ou pour augmenter le taux d’utilisation des instructions avec un CPI moindre.

26

VIIII. Performance d’un processeur

Page 27: Pr. Chérif TOLBA

Amélioration des performances par exécution simultanée d’une instruction

Page 28: Pr. Chérif TOLBA

Amélioration des performances par exécution simultanée d’une instruction

Chaque étape dure tp unités de temps. Donc le temps d’exécution de N instructions est calculé comme suit : Sans pipeline : Avec un pipeline de K étapes ( étages):

K

i

pexecution tNT1

)max()1()max(i

p

i

pexecutiontKtNT