Está en la página 1de 41

La couche microarchitecture

Lunit centrale
14 Nov 2011
INSEA 2011-2012
1

Rappel: Machines multicouches

Rappel: Machines multicouches


Les ordinateurs modernes sont conus comme un ensemble de couches Chaque couche reprsente une abstraction diffrente, capable d'effectuer des oprations spcifiques L'ensemble des types de donnes, des oprations, et des fonctionnalits de chaque couche est appele son architecture L'tude de la conception de ces couches est appele architecture des ordinateurs
3

Rappel: Couche logique numrique


Les objets considrs ce niveau sont les portes logiques, chacune construite partir de quelques transistors Chaque porte prend en entre des signaux numriques (0 ou 1) et calcule en sortie une fonction logique simple (ET, OU, NON..) De petits assemblages de portes peuvent servir raliser des fonctions logiques telles que mmoire, additionneur, ainsi que la logique de contrle de l'ordinateur (squenceur..)

Couche microarchitecture
On dispose ce niveau de plusieurs registres mmoire et d'un circuit appel UAL (Unit Arithmtique et Logique ou ALU) capable de raliser des oprations arithmtiques lmentaires Les registres sont relis l'UAL par un chemin de donnes (Datapath) permettant d'effectuer des oprations entre registres Lunit contrle et de commande (CTU) gre le droulement des oprations dans le chemin de donnes

ALU/Datapath
Le chemin de donnes reprsente la structure interne de l'unit de traitement dun ordinateur Le chemin de donnes ncessite : un accs aux lments de stockage (registres d'utilisation gnrale et mmoire) une capacit de calcul (ALU) un matriel d'assistance (registres locaux et bus internes dedis)
6

ALU/Datapath

Notion de microarchitecture
Les choix dorganisation du chemin de donnes forment ce que lon appelle la microarchitecture du processeur, savoir : Le nombre de registres

Lexistence ou non dun pipeline


La duplication des units de calcul : processeur superscalaire Le contrle des oprations : microprogramm ou cbl

Architecture de Von Neumann


- En 1945, Von Neumann (1903-1957) dfinit les bases de larchitecture des ordinateurs modernes.
- Larchitecture de Von Neumann dcompose lordinateur en 4 parties distinctes: Lunit arithmtique et logique ou unit de traitement : son rle est deffectuer les oprations de calcul de base ; Lunit de contrle: charge du squenage des oprations ; La mmoire: contient la fois les donnes et le programme ; Les dispositifs dentre-sortie: permettent de communiquer avec le monde extrieur.

Architecture de Von Neumann

10

Lapport de Von Neumann


Le premier ordinateur programme enregistr (plusieurs excutions possibles). Le programme est traduit de manire numrique, crit en mmoire et execut squentiellement.

Pour cela, cration dun jeu dinstructions machine, et transformation des oprations en sries dinstructions
La machine devient plus flexible parce que programmable

11

Unit Centrale
Lunit centrale est constitue dun assemblage de circuits excutant les fonctions principales dun ordinateur dit de Von Neumann :

unit de contrle, synchronisation ;

de

commande

et

de

unit arithmtique et logique

mmoire et registres internes


bus internes Elle excute les programmes chargs en mmoire principale.
12

Unit Centrale

13

Unit Centrale
Lunit centrale est aussi appele processeur ou CPU (de langlais Central Processing Unit) ou encore MPU (MicroProcessing Unit) pour les microprocesseurs. Un microprocesseur nest rien dautre quun processeur dont tous les constituants sont runis sur la mme puce lectronique (pastille de silicium). Afin de rduire les cots de fabrication et daugmenter la vitesse de traitement. Les micro-ordinateurs sont tous quips de microprocesseurs.
14

Mmoire principale
La mmoire principale contient la fois les donnes et le programme excut par lunit centrale. Elle se divise entre : mmoire volatile ou RAM (Random Access Memory) qui contient programmes et donnes en cours de traitement, et mmoire permanente ou ROM (Read Only Memory) qui stocke programmes et donnes de base de la machine ;

15

Ce que doit savoir faire un ordinateur :


Problmes rsoudre acquisition des donnes mmorisation des donnes, du programme excuter, des calculs intermdiaires ... ralisation des calculs changes de donnes synchronisation des oprations coordination de toutes les activits (calculs en cours, bon fonctionnement, transferts avec les priphriques ...) Rsolus par priphriques : clavier, souris, CD, disque, disquette, scanner, camra ... mmoire principale et registres, ventuellement disque ALU = unit arithmtique et logique bus internes et externes, unit E/S horloge et unit de contrle (CTU) microprocesseurs et contrleurs ddis

16

CPU/Mmoire principale/Pripheriques
Le microprocesseur traite des donnes selon un programme d'instructions les instructions proviennent de la mmoire les donnes peuvent provenir des priphriques ou de la mmoire les rsultats peuvent tre envoys vers des priphriques ou vers la mmoire le traitement des instructions et donnes se fait par un couple (unit de contrle (CTU) et unit de calcul (ALU/datapath))
Le microprocesseur est reli aux mmoires et aux circuits d'entres/sorties par des bus.
17

ALU/CTU
L'ALU fait des oprations arithmtiques et logiques partir de donnes contenues dans des registres o elle range aussi les rsultats de ses calculs.
Ce mcanisme est command, soit par un micro-programme (CTU microprogramme) qui interprte les instructions du niveau suprieur (ISA), soit directement par des circuits matriels (CTU cble).

18

En rsum
processeur (CPU) la partie active de la machine effectue tout le travail (manipulation des donnes, prise de dcisions) compos d'un chemin de donnes et d'une partie contrle
chemin de donnes (ALU/datapath) partie du processeur qui contient tout le matriel (circuits) ncessaire au bon fonctionnement de toute opration effectue par la machine ("force physique")

contrle (CTU) partie du processeur (matrielle ou microprogramme) qui dirige le chemin de donnes, lui faisant faire les oprations ncessaires ("force intellectuelle") interprte une instruction du programme pour configurer lectriquement l'ALU pendant un ou plusieurs cycles d'horloges (dpend de la complexit de l'instruction)

19

Units de calcul
Units ralisant des calculs : 3 types Calculs logiques et arithmtiques sur les entiers : ALU Calculs sur les flottants : FPU Calculs multimdia ALU (ALU : Arithmetic and Logic Unit) La plus importante, utilise par tous les programmes Calculs simples sur les entiers Calculs logiques (comparaison, OR, NOT, ...) FPU (Floating Point Unit) Calculs sur des flottants Fonctions mathmatiques avances : sqrt, sin ...
20

Units de calcul
Unit multimdia Diffre selon le type et la marque : Intel MMX et SSE, AMD 3D Now ! ... Fait principalement des calculs vectoriels Excution en parallle d'une mme instruction sur plusieurs donnes Un processeur peut intgrer plus d'une unit de chaque type Exemple : AMD Athlon 64 3 ALU et 3 FPU : calculs en parallle possibles
21

ALU
Circuits ncessaires pour les oprations arithmtiques et logiques tudis dans les chapitres prcdents

En fonction de lopration slectionne :


fournit le rsultat met jour un registre dtat (PSW) pour contrler si rsultat = 0 rsultat positif / ngatif dbordement retenue

22

Registres
Le microprocesseur contient plusieurs registres utiliss pour stocker temporairement une donne, une instruction ou une adresse. Registre = mot mmoire interne au processeur La taille des registres dpend du type de processeur. Chaque registre stocke 16, 32, 64, 80 ou 128 bits, Selon que l'on manipule des entiers, des adresses, des flottants, des vecteurs .... Le nombre exact de registres varie selon le type de processeur entre une dizaine et des centaines. Les registres permettent dacclrer la vitesse de traitement
23

Registres
Laccumulateur
Registre (ou ensemble de registres) utilis pour stocker les rsultats des oprations arithmtiques et logiques. Il possde souvent une extension (Q), pour les multiplications, dcalages, divisions, etc. Ce registre est accessible au programmeur et trs sollicit. Certaines machines possdent plusieurs accumulateurs.

24

Exemple
Examinons ce qui se passe lorsque le processeur excute une instruction comme Ajouter 5 au contenu de la case memoire dadresse 180 : 1. Le processeur lit et dcode linstruction ;
2. le processeur demande la mmoire le contenu de lemplacement 180 ; 3. la valeur lue est range dans laccumulateur ; 4. lunit de traitement (ALU) ajoute 5 au contenu de laccumulateur ; 5. le contenu de laccumulateur est crit en mmoire 25 ladresse 180.

Registres
D'autres registres ont des fonctions particulires comme : Le registre instruction (RI) qui contient l'instruction excuter. Sa taille dpend du format des instructions machines. Le programmeur n'a pas accs au registre instruction. Le compteur ordinal (CO) qui contient ladresse de la prochaine instruction executer, et increment aprs lxecution de chaque instruction du nombre de mots correspondant la longueur de l'instruction traite . Le compteur ordinal, dont la taille dpend de l'espace adressable, n'est gnralement pas accessible au programmeur. Le registre d'tat (PSW : Processor Status Word) contenant des informations sur l'tat du systme (retenue, dpassement, signe, zero,etc.).
26

Registres
Les registres usage gnral permettent de limiter les accs la mmoire, ce qui acclre l'excution d'un programme. Ils sont accessibles au programmeur. Le registre d'Adresse (RA) : registre contenant l'adresse du mot accder en mmoire, soit la suite de linstruction en cours, soit la prochaine instruction. Le Registre Mmoire (RM) : registre contenant le mot lu ou crire en mmoire

27

Registres

28

Von Neumanns Bottleneck


La sparation entre le CPU et la mmoire a amen la notion de Von Neumanns Bottleneck (goulot dtranglement) quest la communication entre processeur et mmoire principale.

29

Mmoire cache interne


Tous les processeurs modernes possdent de la mmoire cache interne intgre fonctionnant la vitesse du CPU. Son principe repose sur un certain nombre de remarques :
1. Les accs mmoire freinent les microprocesseurs (Von Neumann Bottleneck) 2. Pendant l'excution d'un programme, de nombreux accs mmoire concernent un petit nombre d'adresses, au moins pendant un certain temps (variables, boucles, ...)

Ide : Si l'on arrive acclrer l'accs ces quelques adresses utilises de manire rptitive on va du mme coup acclrer l'excution du programme
30

Mmoire cache interne


Puisqu'il n'y a que quelques adresses concernes, on peut utiliser une mmoire de faible capacit mais faible temps d'accs pour les stocker. Mme si le cot de ce type de mmoire est lev, si on l'utilise en petite quantit, le cot de la machine va augmenter peu mais le rapport efficacit/prix va lui, augmenter fortement

Important : ces mmoires caches sont associs des algorithmes chargs de grer son contenu de manire efficace.
31

CTU
Chef dorchestre qui pilote et synchronise les units du processeur

Les principaux lments de l'unit de commande sont :


-Le compteur ordinal (CO); -Le registre instruction (RI) ; -Le dcodeur qui utilise le registre instruction pour identifier l'action (ou le micro-programme) entreprendre ainsi que les adresses des oprandes, de destination ou de saut. -Le squenceur qui gnre les signaux de commande aux diffrents composants; - Le registre dadresse (RA) et le registre mmoire (RM)
32

CTU

33

Bus internes
Les bus internes relient lunit de commande, lunit arithmtique et logique et les registres. Il s'agit de plusieurs pistes lectroniques. Plus le bus est large (nombre de pistes), plus rapidement se feront les changes. Le microprocesseur est reli trois types de bus: le bus d'adresse, le bus de donnes et le bus de commande.

34

Bus internes
Bus de donnes - Le bus de donnes peut prsenter une largeur de 8 128 bits, selon le type du microprocesseur. - Toutes les donnes entrantes et sortantes du microprocesseur sont vhicules par le bus de donnes. Bus d'adresses Le bus d'adresse est une voie unidirectionnelle qui sert envoyer un code d'adresse la mmoire. Bus de commandes - sert coordonner tous les changes d'informations dcrits prcdemment. - vite les conflits de bus lorsque deux lments cherchent communiquer en mme temps.
35

Exemple : un processeur minimal

36

Oprations du processeur

37

Oprations du processeur
Exemple Cas d'une opration utilisant un seul oprande en mmoire principale
(1) CO contient l'adresse de l'instruction excuter : on la place dans RA (2) Transfert de la donne stocke en mmoire l'adresse indique dans RA dans RM (3) La donne stocke dans RM est place dans RI Cette donne est le code de l'opration excuter + adresse de l'oprande
38

Oprations du processeur

(4) Le dcodeur lit cette donne et dtermine - L'adresse en mmoire de l'oprande - Le type d'opration qui doit tre excute (5) Le dcodeur place dans RA l'adresse o est stocke l'oprande en mmoire (6) Le dcodeur informe le squenceur du type d'opration excuter (7) CO est incrment pour pointer vers la prochaine instruction rechercher

39

Oprations du processeur

(8) L'oprande est lue en mmoire et place dans RM (9) Le contenu de RM est plac dans un accumulateur ou un registre qui stocke les donnes en paramtres des oprations (10) Le squenceur demande l'ALU d'excuter l'opration

40

Terminologie
SSE (Streaming Simd Extension) est une unit de calcul apparue sur les Pentium 3 Katmai d'Intel. Elle est compose de 70 instructions. Elle dispose de registres 128 bits et gre les nombres entiers et flottants, et pour ces derniers, seulement en prcision simple, soit sur 32 bits. La SSE2 est une volution du SSE et a t intgre dans le Pentium 4. Compose de 144 instructions, elle gre des registres 128 bits pour les entiers et les flottants simples et doubles prcision.

La technologie 3DNow est un ensemble d'instructions intgr au microprocesseur permettant l'optimisation des programmes multimdias et de leurs utilitaires : vido, audio, graphique, compression / dcompression. Cette technologie fait suite une premire tentative d'Intel, avec les instructions MMX intgres dans les Pentiums MMX.

41

También podría gustarte