La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Un programme Algorithme permettant au processeur de s'alimenter:

Présentations similaires


Présentation au sujet: "Un programme Algorithme permettant au processeur de s'alimenter:"— Transcription de la présentation:

1 Un programme Algorithme permettant au processeur de s'alimenter:
Répéter Chercher l'instruction qui est située à l'adresse I Décoder cette instruction Exécuter cette instruction I := I + 1; Jusqu'à la fin du programme Ces trois phases portent des noms particuliers: FETCH toujours réalisées DECODE de la même manière EXECUTE dépendante de l'instruction

2 Les éléments du processeur
PC Mémoire MAR MBR D0 UAL IR CODE OPERANDES Unité de contrôle + 1 Z || N || C || V Phase FETCH Phase EXECUTE (La phase execute utilise aussi certains chemins communs à fetch)

3 Les éléments du processeur
Des registres : une cellule de stockage d'information PC (Program Counter) : indique l'adresse de la prochaine instruction à traiter IR (Instruction Register) : stocke l'instruction à traiter MAR (Memory Adress Register) : stocke l'adresse du prochain accès en mémoire MBR (Memory Buffer Register) : stocke la dernière valeur lue ou la dernière valeur à écrire D0 (Data Zéro, appelé aussi accumulateur) : stocke une donnée Une UAL (Unité Arithmétique et Logique) effectue les calculs de base : +, ET, OU, NON Une unité de contrôle organise la circulation des infos à l'intérieur du microprocesseur. Phase FETCH : PC -> MAR *MAR -> MBR MBR -> val + 0 UAL -> IR PC + 1 -> PC

4 La mémoire Soit une mémoire d'une capacité C donnée en octets ou ko.
Plusieurs manières de l'organiser; piqûre de rappel : avec N : taille du bus d'adresse M : taille du bus de données (en bits) 8 : coefficient entre bits et octets

5 Bande magnétique (DAT,DLT)
Pyramide de la mémoire économique qqs octets rapide registres 512 ko CACHE volatile 512 Mo RAM 80 Go Disques durs Persistante 10 Go CD / DVD Bande magnétique (DAT,DLT) 300 Go 100 To Systèmes complets d'archivage (robots)

6 (on ne traite que la mémoire physique, pas la virtuelle)
Principe du cache Objectif : améliorer les performances de la machine. Notations : tglob = temps d'accès à une donnée tm = temps d'accès à la mémoire tc = temps d'accès au cache Cm = capacité de la mémoire Cc = capacité du cache sans utiliser de cache, on a : tglob = tm (on ne traite que la mémoire physique, pas la virtuelle)

7 Principe du cache Comme de la mémoire 'simulant' la RAM
le processeur adresse une certaine quantité de mémoire Cm, mais ce n'est pas forcément la mémoire qui possède cette information. Le cache peut en avoir une copie, auquel cas il répond à la place de la mémoire. Beaucoup plus intéressant ! RAM CPU CACHE

8 tglob = h.tc+(1-h)(tc+tm)
CPU transmet une adresse pour accéder à une donnée en RAM Cette adresse va d'abord être présentée au cache : s'il possède la donnée correspondante : il la transmet au CPU SUCCES ou CACHE HIT sinon : la donnée est en mémoire, il faut la faire transiter depuis la RAM ECHEC ou CACHE MISS Avec l’utilisation d’un cache, le temps d’accès à la mémoire est de : tglob = h.tc+(1-h)(tc+tm)

9 Implémentation des caches
les caches associatifs : chaque emplacement du cache contient une association adresse/donnée les caches à correspondance directe : chaque emplacement du cache ne correspond qu'à un nombre restreint d'adresses Localité spatiale : lorsqu'un programme accède à une certaine adresse, il est probable qu'il accède à des adresses proches de celle-ci : transfert de plusieurs données dans le cache lors d'un MISS Localité temporelle : lorsqu'un programme accède à une certaine adresse, il est probable qu'il y accède de nouveau peu de temps après : éliminer les données les plus anciennes d'abord (LRU)

10 Échange de données Micro-processeur Mémoire Bus d’adresses
Bus de données commandes CPU RAM BUS

11 Échanges CPU/Mémoire bus d ’adresse, bus de données et signaux de commande pour piloter l’esclave Maître : CPU Esclave : Mémoire Lecture : CPU fournit adresse ou lire : via le bus d ’adresse commande READ via signaux de commande RAM fournit valeur stockée via le bus de données Ecriture : CPU fournit adresse ou lire : via le bus d ’adresse commande WRITE via signaux de commande valeur à écrire via le bus de données

12 Types de BUS BUS synchrone : BUS asynchrone : Dans les deux cas:
possède sa propre fréquence, synchronisation des dispositifs par rapport au BUS utilisation des fronts du signal d'horloge du bus comme points de repère toute transaction occupe un nombre entier de cycles de bus Signal WAIT, déclenché quand bus adresse ok + RD + MREQ ok BUS asynchrone : pas d'horloge les points de repère sont fournis pas des signaux annexes de synchronisation. Chaque élément pilote un tel signal de synchronisation signal MSYN : synchronisation maître signal SSYN : synchronisation esclave Dans les deux cas: MREQ  on travaille avec la mémoire RD  en lecture WR  en écriture

13 Chronogrammes de BUS Bus asynchrone Les signaux ADRESSES MREQ RD MSYN
DONNEES SSYN

14 Bus synchrone, fréquence 40 MHz
Chronogrammes de BUS Bus synchrone, fréquence 40 MHz C1 C2 C3 ADRESSES MREQ RD WAIT DONNEES

15 Mode bloc (bus synchrone)
Transfert de plusieurs données à la suite : une seule adresse fournie (sinon : plusieurs transactions) => valeurs localisées à des adresses successives Ajout d'un signal supplémentaire BLOCK pour demande de lectures successives. La mémoire indique les cycles de wait-state, puis transmet les données demandées à raison d'une par cycle. Comparaison de performances : Mode normal: N transactions, chacune de C cycles. C : 1 cycle de préparation W cycle(s) d'attente (wait state) 1 cycle de lecture  N.C = N (W + 2) mode 'bloc' : 1 transactions, consommant C' cycles. C' : 1 cycle de préparation W cycle(s) d'attente (wait state) N cycles de lecture (car mode bloc)  1 . C ’ = 1 + W + N

16 Limites des familles de BUS
Bus synchrone : présence de cycles transactions en nombre entiers de cycles coût peu élevé : synchro faite par le bus. Efficace pour une gamme de fréquence Bus asynchrone : transactions réglées au plus vite signaux supplémentaires coût élevé : synchro faite par les périphériques ! Efficace quelle que soit le débit du périphérique

17 Débit : Dmax = F. N (en bits/s-1).
Performances de bus Soit un bus synchrone de fréquence F (en MHz), et d'une largeur de N bits (N fils de données). Fréquence F : nombre de changements d'état par seconde, chaque ligne de bus est indépendante : Débit : Dmax = F. N (en bits/s-1). Autre exemple avec un dispositif vidéo : Quelle doit être la bande passante d'un bus vidéo pour réaliser un affichage de 60 images/s avec une résolution de 1024  768 en 32 bits ? combien d'octets occupe une image 1024  768 en 32 bits ? 1024  768  4 = 3 Mo ! (60 images de 3 Mo) /s = 180 Mo/s

18 Gestion de bus, conflits
Réalisation basée sur 3 signaux : BR : Bus Request : demande de bus de la part des maîtres potentiels BA/BG : Bus Acknowledge/Bus Grant : attribution de bus BB : Bus Busy : bus occupé Arbitrage de l'accès au bus nécessaire car : Plusieurs éléments communicants un seul canal  un seul dialogue à un instant donné

19 Le Daisy Chaining Les éléments désirant prendre le contrôle du bus émettent un signal BR : la ligne "bus request" arrivant à l'arbitre de bus réalise un OU câblé. L'arbitre de bus ne voit donc qu'une requête globale : BR Bus Grant Périph 1 Périph 2 ... Périph n Arbitre centralisé Bus Request Bus Busy

20 Requête - Autorisation
Chaque module connecté au bus dispose de ses propres lignes BG et BR reliées au contrôleur de bus avantages : absence de délai de réponse, de sensibilité aux pannes d'un module, et le caractère non statique de la priorité inconvénient : multiplication des lignes de contrôle Périph 1 Périph 2 Périph 3 Arbitre centralisé Bus Busy


Télécharger ppt "Un programme Algorithme permettant au processeur de s'alimenter:"

Présentations similaires


Annonces Google