Professional Documents
Culture Documents
OBJECTIFS : Connatre le rle de microprocesseur Connatre les diffrents composants dun microprocesseur et leurs rles. Comprendre le fonctionnement du microprocesseur et linteraction entre les diffrentes units. Matriser les tapes ncessaires lexcution des programmes par le microprocesseur.
1. Dfinition
Un microprocesseur est un circuit intgr complexe caractris par une trs grande intgration et dot des facults d'interprtation et d'excution des instructions d'un programme. Il est charg dorganiser les tches prcises par le programme et dassurer leur excution. Il doit aussi prendre en compte les informations extrieures au systme et assurer leur traitement. Cest le cerveau du systme. A lheure actuelle, un microprocesseur regroupe sur quelques millimtres carrs des fonctionnalits toujours plus complexes. Leur puissance continue de saccrotre et leur encombrement diminue rgulirement respectant toujours, pour le moment, la fameuse loi de Moore (1).
3. Lunit de commande
Elle permet de squencer le droulement des instructions. Elle effectue la recherche en mmoire de l'instruction. Comme chaque instruction est code sous forme binaire, elle en assure le dcodage pour enfin raliser son excution puis effectue la prparation de l'instruction suivante. Pour cela, elle est compose par : le compteur de programme : (en anglais Program Counter PC) appel aussi compteur ordinal (CO). Le CO est constitu par un registre dont le contenu reprsente ladresse de la prochaine instruction excuter. Il est donc initialis avec l'adresse de la premire instruction du programme. Puis il sera incrment automatiquement pour pointer vers la prochaine instruction excuter. le registre d'instruction : Contient linstruction en cours de traitement. le dcodeur d'instruction : Le squenceur : Il organise l'excution des instructions au rythme dune horloge. Il labore tous les signaux de synchronisation internes ou externes (bus de commande) du microprocesseur en fonction des divers signaux de commande provenant du dcodeur dinstruction ou du registre dtat par exemple. Il s'agit d'un automate ralis soit de faon cble (obsolte), soit de faon micro-programme, on parle alors de micro-microprocesseur.
4. Lunit de traitement
Cest le cur du microprocesseur. Elle regroupe les circuits qui assurent les traitements ncessaires l'excution des instructions. Lunit de traitement est Compos de trois principaux units dexcution, la premire est lunit arithmtique et logique (UAL) puis deux autres ont t ajouts qui sont lunit de calcul en virgule flottante et lunit multimdia pour des raisons doptimisation des performances des microprocesseurs.
Entre B
Entre A
UAL
Registre dtat
Sortie de lUAL
Schma de lunit arithmtique et logique (ses entres et ses sorties)
Ces units ont t cres vu la grande tendance vers la multimdia dans tous les types des programmes informatiques ( jeux, logiciels sur Internet, encyclopdies).
5.4.
Unit de dcodage :
Elle dcompose et analyse linstruction se trouvant dans le registre dinstructions, selon le code opration, elle envoie la nature des oprations effectuer lunit de commande et prcisment le squenceur qui va ensuite gnrer les microcommandes ncessaires aux diffrents composants participant lexcution de linstruction en cours.
RI
Code opration
zone adresses
Unit de dcodage
Squenceur
Exemple :
Pour un microprocesseur ayant un format dinstructions deux adresses, linstruction daddition de deux variables en mmoire A et B est reprsent dans le registre dinstructions comme suit : ADD Code opration adresse de A adresse de B
Zone adresses en mmoire des oprandes Signaux de commandes pour rechercher les adresses de A et B en mmoire et de raliser laddition par lUAL
Dcodage du c-op
Transfert du contenu dun registre dans laccumulateur et vice versa. Incrmentation ou dcrmentation dun registre.
Les registres d'adresses (pointeurs) Ce sont des registres connects sur le bus adresses, leur contenu est une adresse en mmoire centrale. Il existent plusieurs types On peut citer comme registres: Le compteur ordinal (pointeur de programme PC) Le pointeur de pile (Stack pointer SP) Les registres d'index (Index source SI et index destination DI)
Figure 2. Schma descriptif du fonctionnement du registre compteur ordinal Il contient l'adresse de l'instruction rechercher en mmoire. L'unit de commande incrmente le compteur ordinal (PC) du nombre d'octets sur lequel l'instruction, en cours d'excution, est code. Le compteur ordinal contiendra alors l'adresse de l'instruction suivante. Exemple : (PC)=10000H ; il pointe la mmoire qui contient l'instruction MOV C,B qui est code sur deux octets (89 D9H) ; l'unit de commande incrmentera de deux le contenu du PC : (PC) = 10002H (la mmoire sera suppose tre organise en octets). 2- Le registre dinstruction : contient linstruction qui doit tre traite par le microprocesseur, cette instruction est recherche en mmoire puis place dans ce registre pour tre dcode par le dcodeur et prpare pour lexcution. Une instruction est une opration lmentaire dun langage de programmation, cest dire le plus petit ordre que peut comprendre un ordinateur. Exemple : ADD A,B cette instruction correspond un ordre donn lordinateur en langage assembleur qui permet de faire laddition entre les donnes A et B. Toute instruction prsente en fait deux types dinformations : Ce quil faut faire comme action (addition, affichage, division ) 7
Zone adresses
Zone opration : Cette zone permet de dterminer la nature de lopration effectuer par le microprocesseur. Zone adresse : contient les adresses en mmoire des oprandes qui participent dans une opration, dans certains cas elle contient loprande mme. Il existe plusieurs modes dadressages pour accder aux donnes. 3- Le registre dadresse : Cest un registre qui contient ladresse du mot accder en mmoire centrale. A chaque accs mmoire, ladresse recherche est stocke dans ce registre. Il a la taille dune adresse qui est la mme que celle du bus dadresses ce qui permet de dterminer le nombre de mots mmoires adressables et lespace mmoire adressable. 4- Le registre mot mmoire ou registre de donnes : Contient le mot mmoire faisant objet dune opration de lecture ou dcriture dans la mmoire centrale. Ce registre a la taille dun mot mmoire qui est la mme que celle des registres de travail et laccumulateur qui est gale la taille du bus de donnes. Le schma ci dessous montre le fonctionnement des deux registres dadresses et de mot mmoire. Mot 1 Registre dadresse Dispositif de slection et daccs la mmoire Slection Mot 2 Mot 3 Mot 4 .... Adr 1 Adr 2 Adr 3 Adr 4
Transfert adresse
Ecriture
Lecture La lecture et lcriture dans la mmoire centrale se fait de la faon suivante : Lecture : ladresse du mot lire est transfre au registre dadresse, le dispositif daccs la mmoire se charge de chercher le mot et de le mettre dans le registre mot mmoire. 8
Ecriture : le registre dadresse est charg par ladresse mmoire ou on va crire, le mot crire est plac dans le registre mot mmoire. Lorsque lordre de lcriture est donn, le contenu des cases mmoires sera cras et remplac par la nouvelle valeur. Par contre, en cas de lecture, le contenu des cases mmoire nest pas dtruit. 5- Le registre accumulateur : Cest un registre de travail trs important de lUAL, dans la plus part des oprations arithmtiques et logiques, laccumulateur contient un des oprandes avant lexcution et le rsultat aprs. Il peut aussi servir de registre tampon dans les oprations dentre/sortie. Gnralement, laccumulateur a la mme taille quun mot mmoire. Naturellement, le programmeur a accs ce registre qui est toujours trs sollicit pendant le traitement des donnes. Certains processeurs ont plusieurs accumulateurs et dans ce cas, les codes oprations prcisent laccumulateur utilis. 6- Le registre dtat: (PSW program status word) Cest un registre qui contient les diffrents bits appels drapeaux (Flags) indiquant ltat dune condition particulire dans le CPU. Ces bits peuvent tre tests par un programme et donc dcider des suites dactions prendre. Pour excuter correctement son travail, le squenceur doit en outre connatre ltat dun certain nombre dautres composants et disposer dinformations concernant la ou les oprations qui ont dj t excutes (par exemple, doit on tenir compte dans laddition en cours dune ventuelle retenu pralable gnre par une addition prcdente). Le registre dtat fournit ces informations. Le nombre de bits de ce registre change dun microprocesseur un autre, par exemple pour le cas dun 8088 ce registre est de 16 bits :
U 15
U 14
U 13
U 12
O 11
D 10
I 9
T 8
S 7
Z 6
U 5
AC 4
U 3
P 2
U 1
C 0
U : undefined dsigne un bit non dfini. Les diffrents bits du registre dtat sont : Bit de retenu : cest le bit C ou carry qui est le bit n0. ce bit est 1 sil y a une retenu qui est Bit de parit : le bit P n2, ce bit est mis 1 si le nombre de 1 dans laccumulateur est pair. Bit de retenu intermdiaire : le bit AC (auxiliary carry), cest le bit n4, il est mis 1 si une Le bit zro : cest le bit n6, il est 1 si le rsultat dune opration arithmtique est nul. Le bit de signe : bit n7, il est 1 si le rsultat dune opration arithmtique est ngatif. 9 gnre lors dune opration arithmtique.
Le bit de dpassement de capacit : le bit n11, O pour overflow, il est 1 sil y a dpassement de
capacit dans les oprations arithmtiques. Par exemple sur 8 bits en complment 2, les nombres binaires sont cods sur 8 bits. On peut coder les nombres variants de 128 (100000000) +127(01111111). Si on fait 107+28 cela donne 135 qui ne peut pas tre reprsent, dou gnration de dbordement. Exemple 1: addition de nombres binaire sur 8 bits 11111100 + 10000010 carry : 1 = 01111110 FCH + 82H = 17EH (252)10 + (130)10 = (382)10
Exemple 2 : La bascule C (carry) sert aussi capter le bit expuls lors d'une opration de dcalage ou de rotation Dcalage gauche d'un bit de cet octet : 10010110 la carry recueille le 1 du bit de poids fort carry : 1 00101100 Exemple 3 : overflow 104 + 26 =130 0110 1000 + 0001 1010 = 1000 0010 (-126) - 18 - 118 -136 1110 1110 1000 1010 0111 1000 (120) avec C=1
L'indicateur dbordement est une fonction logique (OU exclusif) de la retenue (C) et du signe (S). 7- Le registre pointeur de pile : (Stack Pointer) Il contient l'adresse de la pile. Celle-ci est une partie de la mmoire, elle permet de stocker des
informations (le contenu des registres) relatives au traitement des interruptions et des sousprogrammes La pile est gre en LIFO : (Last IN First Out) dernier entr premier sorti. Le fonctionnement est
identique une pile d'assiette Le pointeur de pile SP pointe le haut de la pile (31000H dans le schma), il est dcrment avant
chaque empilement, et incrment aprs chaque dpilement. Il existe deux instructions pour empiler et dpiler : PUSH et POP.
10
Sur la figure 1, on va montrer le fonctionnement de la pile lors d'instructions comme PUSH et POP.
Figure 3. Schma de Sauvegarde sur la pile Question? Que se passera-t-il durant l'excution du programme commenant en 12E30H? Que vaudra SP et que contiendra la pile cette adresse, la fin du programme ?
Rponse. Le programme commence par sauvegarder le contenu de C dans la pile (PUSH C). Pour cela (SP) est dcrment de deux ((SP)=31000H-2=30FFEH), puis on effectue l'criture de (C) dans la mmoire l'adresse (SP) : (30FFEH) = 6142H. Pour PUSH A on obtient : (30FFCH)=1234H, et pour PUSH B : (30FFAH)=2D5AH. Pour l'instruction POP B, ((SP)) est charg dans le registre B ((SP)=30FFAH ; (B)=2D5AH) puis (SP) est incrment de deux ((SP)= 30FFAH+2=30FFCH). Enfin, pour POP A on obtient : (A)=1234H et (SP)=30FFCH + 2 = 30FFEH 11
8- Les registres d'index (index source SI et index destination DI) Les registres dindex peuvent tre utiliss comme des registres gnraux pour sauvegarder et pour compter. Mais en plus ils ont une fonction spciale qui est de grande utilit dans la manipulation des tableaux de donnes. Ils peuvent en effet tre utiliss pour manipuler des adresses et permettent de mmoriser une adresse, suivant une forme particulire dadressage, appele adressage indexe. Exemple : MOV A,[SI+10000H] place le contenu de la mmoire d'adresse 10000H+le contenu de SI, dans le registre A.
12
Phase 2 : Dcodage de linstruction et recherche de l'oprande Le registre d'instruction contient maintenant le premier mot de l'instruction qui peut tre code sur plusieurs mots. Ce premier mot contient le code opratoire qui dfinit la nature de l'opration effectuer (addition, rotation,...) et le nombre de mots de l'instruction. 1. L'unit de commande transforme l'instruction en une suite de commandes lmentaires ncessaires au traitement de l'instruction. 2. Si l'instruction ncessite une donne en provenance de la mmoire, l'unit de commande rcupre sa valeur sur le bus de donnes. 3. Loprande est stock dans un registre. 13
Phase 3 : Excution de l'instruction 1. Le micro-programme ralisant l'instruction est excut. 2. Les drapeaux sont positionns (registre d'tat). 3. L'unit de commande positionne le PC pour l'instruction suivante.
14
8. Jeu dinstructions
8.1. Dfinition
La premire tape de la conception dun microprocesseur est la dfinition de son jeu dinstructions. Le jeu dinstructions dcrit lensemble des oprations lmentaires que le microprocesseur pourra excuter. Il va donc en partie dterminer larchitecture du microprocesseur raliser et notamment celle du squenceur. A un mme jeu dinstructions peut correspondre un grand nombre dimplmentations diffrentes du microprocesseur.
8.3.
Codage
Les instructions et leurs oprandes (paramtres) sont stocks en mmoire principale. La taille totale dune instruction (nombre de bits ncessaires pour la reprsenter en mmoire) dpend du type dinstruction et aussi du type doprande. Chaque instruction est toujours code sur un nombre entier doctets afin de faciliter son dcodage par le processeur. Une instruction est compose de deux champs : . le code instruction, qui indique au processeur quelle instruction raliser . le champ oprande qui contient la donne, ou la rfrence une donne en mmoire (son adresse). Exemple :
Le nombre d'instructions du jeu d'instructions est directement li au format du code instruction. Ainsi un octet permet de distinguer au maximum 256 instructions diffrentes.
8.4.
Mode dadressage
Un mode d'adressage dfinit la manire dont le microprocesseur va accder loprande. Les diffrents modes d'adressage dpendent des microprocesseurs mais on retrouve en gnral : . . . l'adressage de registre o lon traite la donnes contenue dans un registre l'adressage immdiat o lon dfinit immdiatement la valeur de la donne l'adressage direct o lon traite une donnes en mmoire
Selon le mode dadressage de la donne, une instruction sera code par 1 ou plusieurs octets.
8.5.
Temps dexcution
Chaque instruction ncessite un certain nombre de cycles dhorloges pour seffectuer. Le nombre de cycles dpend de la complexit de linstruction et aussi du mode dadressage. Il est plus long daccder la mmoire principale qu un registre du processeur. La dure dun cycle dpend de la frquence dhorloge du squenceur.
15
niveauest difficile matriser puisque chaque instruction est code par une squence propre de bits. Afin de
faciliter la tche du compilation programmeur, on a cr diffrents langages plus ou moins volus.
Langage haut
Langage assembleur
(sta, lda, cmp, mov, bra, etc)
Le langage assembleur est le langage le plus proche du langage machine. Il est compos par des instructions en gnral assemblage assez rudimentaires que lon appelle des
Langage machine
mnmoniques. Ce sont essentiellement des oprations de transfert de donnes entre les registres et l'extrieur du microprocesseur (mmoire ou priphrique), ou des oprations arithmtiques ou logiques. Chaque instruction reprsente un code machine diffrent. Chaque microprocesseur peut possder un assembleur diffrent. La difficult de mise en uvre de ce type de langage, et leur forte dpendance avec la machine a ncessit la conception de langages de haut niveau, plus adapts l'homme, et aux applications qu'il cherchait dvelopper. Faisant abstraction de toute architecture de machine, ces langages permettent l'expression d'algorithmes sous une forme plus facile apprendre, et dominer (C, Pascal, Java, etc). Chaque instruction en langage de haut niveau correspondra une succession dinstructions en langage assembleur. Une fois dvelopp, le programme en langage de haut niveau nest donc pas comprhensible par le microprocesseur. Il faut le compiler pour le traduire en assembleur puis lassembler pour le convertir en code machine comprhensible par le microprocesseur. Ces oprations sont ralises partir de logiciels spcialiss appels compilateur et assembleur. Exemple de programme :
@00
C6 64 #100 B6 00 1B 5A 26 03 ret
ret
avec FH en MHz
MIPS= CPI
Pour augmenter les performances dun microprocesseur, on peut donc soit augmenter la frquence d'horloge (limitation matrielle), soit diminuer le CPI (choix d'un jeu d'instruction adapt).
16
Comment
Cest donc une architecture avec un grand nombre dinstructions o le microprocesse ur doit excuter des tches complexes par instruction unique. Pour une tche donne, une machine CISC excute ainsi un petit nombre dinstructions mais chacune ncessite un plus grand nombre de cycles dhorloge. Le code machine de ces instructions varie dune instruction lautre et ncessite donc un dcodeur complexe (micro -code)
Comment
Cest donc une architecture dans laquelle les instructions sont en nombre rduit (chargement, branchement, appel sous-programme). Les architectures RISC peuvent donc tre ralises partir de squenceur cbl. Leur ralisation libre de la surface permettant daugmenter le nombres de registres ou dunits de traitement par exemple. Chacune de ces instructions sexcutent ainsi en un cycle dhorloge. Bien souvent, ces instructions ne disposent que dun seul mode dadressage. Les accs la mmoire seffectue seulement partir de deux instructions (Load et Store). Par contre, les instructions complexes doivent tre ralises partir de squences bases sur les instructions lmentaires, ce qui ncessite un compilateur trs volu dans le cas de programmation en langage de haut niveau.
10.3. Comparaison
Le choix dpendra des applications vises. En effet, si on diminue le nombre d'instructions, on cre des instructions complexes (CISC) qui ncessitent plus de cycles pour tre dcodes et si on diminue le nombre de cycles par instruction, on cre des instructions simples (RISC) mais on augmente alors le nombre d'instructions ncessaires pour raliser le mme traitement.
17
Architecture RISC
Architecture CISC
instructions simples ne prenant quun seul instructions complexes prenant plusieurs cycle cycles instructions au format fixe instructions au format variable dcodeur simple (cbl) beaucoup de registres dcodeur complexe (microcode) peu de registres
seules les instructions LOAD et STORE ont toutes les instructions sont susceptibles accs la mmoire daccder la mmoire peu de modes dadressage compilateur complexe beaucoup de modes dadressage compilateur simple
Principe
Lexcution dune instruction est dcompose en une succession dtapes et chaque tape correspond lutilisation dune des fonctions du microprocesseur. Lorsquune instruction se trouve dans lune des tapes, les composants associs aux autres tapes ne sont pas utiliss. Le fonctionnement dun microprocesseur simple nest donc pas efficace. Larchitecture pipeline permet damliorer lefficacit du microprocesseur. En effet, lor sque la premire tape de lexcution dune instruction est acheve, linstruction entre dans la seconde tape de son excution et la premire phase de lexcution de linstruction suivante dbute. Il peut donc y avoir une instruction en cours dexcution dans chacune des tapes et chacun des composants du microprocesseur peut tre utilis chaque cycle dhorloge. Lefficacit est maximale. Le temps dexcution dune instruction nest pas rduit mais le dbit dexcution des instructions est considrablement augment. Une machine pipeline se caractrise par le nombre dtapes utilises pour lexcution dune instruction, on appelle aussi ce nombre dtapes le nombre dtages du pipeline. Exemple de lexcution en 4 phases dune instruction :
Modle classique :
R1 R2 R3
18
Cycles
Nbre de 1 2 3 4 5 6 78910 11 12
Modle pipelin :
R1 R2 R3 R4 R5 R6 R7 R8 R9
Nbre de
Cycles
1 2 3 4 5 6 78910 11 12
Gain de performance
Dans cette structure, la machine dbute lexcution dune instruction chaqu e cycle et le pipeline est pleinement occup partir du quatrime cycle. Le gain obtenu dpend donc du nombre dtages du pipeline. En effet, pour excuter n instructions, en supposant que chaque instruction sexcute en k cycles dhorloge, il faut : . n.k cycles dhorloge pour une excution squentielle. . k cycles dhorloge pour excuter la premire instruction puis n-1 cycles pour les n-1 instructions suivantes si on utilise un pipeline de k tages Le gain obtenu est donc de :
nk i G= k+n-1 Donc lorsque le nombre n dinstructions excuter est grand par rapport k, on peut admettre quon divise le temps dexcution par k. Remarques : Le temps de traitement dans chaque unit doit tre peu prs gal sinon les units rapides doivent attendre les units lentes.
Exemples : LAthlon dAMD comprend un pipeline de 11 tages. Les Pentium 2, 3 et 4 dIntel comprennent respectivement un pipeline de 12, 10 et 20 tages.
19
Problmes
La mise en place dun pipeline pose plusieurs problmes. En f ait, plus le pipeline est long, plus le nombre de cas o il nest pas possible datteindre la performance maximale est lev. Il existe 3 principaux cas o la performance dun processeur pipelin peut tre dgrad ; ces cas de dgradations de performances sont appels des alas : . ala structurel qui correspond au cas o deux instructions ont besoin dutiliser la mme ressource du processeur (conflit de dpendance), . ala de donnes qui intervient lorsquune instruction produit un rsultat et que li nstruction suivante utilise ce rsultat avant quil nait pu tre crit dans un registre, . ala de contrle qui se produit chaque fois quune instruction de branchement est excute. Lorsquune instruction de branchement est charge, il faut normalement attendre de connatre ladresse de destination du branchement pour pouvoir charger linstruction suivante. Les instructions qui suivent le saut et qui sont en train dtre traites dans les tages infrieurs le sont en gnral pour rien, il faudra alors v ider le pipeline. Pour attnuer leffet des branchements, on peut spcifier aprs le branchement des instructions qui seront toujours excutes. On fait aussi appel la prdiction de branchement qui a pour but de recenser lors de branchements le comportement le plus probable. Les mcanismes de prdiction de branchement permettent d'atteindre une fiabilit de prdiction de l'ordre de 90 95 %.
Bulles (NOP)
Lorsquun ala se produit, cela signifie quune instruction ne peut continuer progresse dans le pipeline. Pendant un ou plusieurs cycles, linstruction va rester bloque dans un tage du pipeline, mais les instructions situes plus en avant pourront continuer sexcuter jusqu ce que lala ait disparu. Plus le pipeline possde dtages, plus la pnalit est grande. Les compilateurs sefforcent dengendrer des squences dinstructions permettant de maximiser le remplissage du pipeline. Les tages vacants du pipeline sont appels des bulles de pipeline, en pratique une bulle correspond en fait une instruction NOP (No OPeration) mise la place de linstruction bloque.
Principe
Depuis le dbut des annes 80, une des solutions utilises pour masquer cette latence est de disposer une mmoire trs rapide entre le microprocesseur et la mmoire. Elle est appele cache mmoire. On compense ainsi la faible vitesse relative de la mmoire en perm ettant au microprocesseur dacqurir les donnes sa vitesse propre. On la ralise partir de cellule SRAM de taille rduite ( cause du cot). Sa
20
capacit mmoire est donc trs infrieure celle de la mmoire principale et sa fonction est de stocker les informations les plus rcentes ou les plus souvent utilises par le microprocesseur. Au dpart cette mmoire tait intgre en dehors du microprocesseur mais elle fait maintenant partie intgrante du microprocesseur et se dcline mme sur plusieurs niveaux. Le principe de cache est trs simple : le microprocesseur na pas conscience de sa prsence et lui envoie toutes ses requtes comme sil agissait de la mmoire principale : . Soit la donne ou linstruction requise est prsente dans le cache et ell e est alors envoye directement au microprocesseur. On parle de succs de cache. (a) . soit la donne ou linstruction nest pas dans le cache, et le contrleur de cache envoie alors une requte la mmoire principale. Une fois linformation rcupre, il la renvoie au microprocesseur tout en la stockant dans le cache. On parle de dfaut de cache. (b) a) up
Unit de Unit de traitement commande Cache
mmoire
Bien entendu, le cache mmoire napporte un gain de performance que dans le premier cas . Sa performance est donc entirement lie son taux de succs. Il est courant de rencontrer des taux de succs moyen de lordre de 80 90%. Remarques : Un cache utilisera une carte pour savoir quels sont les mots de la mmoire principale dont il possde une copie. Cette carte devra avoir une structure simple. Il existe dans le systme deux copies de la mme information : loriginale dans la mmoire principale et la copie dans le cache. Si le microprocesseur modifie la donne prsente dans le cache, il faudra prvoir une mise jour de la mmoire principale. Lorsque le cache doit stocker une donne, il est amen en effacer une autre. Il existe donc un contrleur permettant de savoir quand les donnes ont t utilises pour la dernire fois. La plus ancienne non utilise est alors remplace par la nouvelle. A n oter que lon peut reprendre le mme principe pour les disques durs et CD/DVD.
21
Architecture superscalaire :
I1
N/2 cycles
Remarque :
C'est le type d'architecture mise en oeuvre dans les premiers Pentium d'Intel apparus en 1993.
22
12.3. Exemples
Voici deux exemples darchitecture de deux processeurs qui tenaient le haut du pav lors de leur sortie en 1999 : lAthlon dAMD et le Pentium III dIntel. (f 500MHz)
AMD Athlon :
23
AGU : Adress Generation Unit BTB : Branch Target Buffer IEU : Integer Execution Unit BHB : Branch History Buffer
Caractristiques: . 9 unit de traitement se composant de : o 1 ALU (traitement entier) comprenant 6 units de traitement : . 3 units pour le traitement des donnes (IEU) . 3 units pour ladressage des donnes (AGU) o 1 FPU (traitement rel) comprenant 3 units : . 1 FPU store . 1 Fadd / MMX / 3Dnow ! . 1 Fmul /MMX / 3Dnow ! . Pipeline entier : 10 tages, pipeline flottant : 15 tages. . Prdiction dynamique et excution du traitement "dans le dsordre" (out-of-order) . 6 units de dcodage parallles (3 micro-programmes, 3 cbles) mais seules 3 peuvent fonctionner en mme temps. . Cache mmoire de niveau 1 (L1) : 128 Ko o 64 Ko pour les donnes o 64 Ko pour les instructions . Contrleur de cache L2 supportant de 512Ko 8Mo avec vitesse programmable (1/2 ou 1/3 de la vitesse CPU)
24
Caractristiques : . o o o o o . . . . . o o . . Plusieurs units de traitement mais au 5 instructions excutes en mme temps sur 5 ports : Port 0 : ALU, FPU, AGU MMX et SSE Port 1 : ALU, SSE, MMX Port 2 : AGU (load) Port 3 : AGU (store) Port 4 : Store Data Unit Pipeline entier : 12 17 tages, pipeline flottant : environ 25 tages Prdiction dynamique et excution du traitement "dans le dsordre" (out-of-order) 3 units de dcodage parallles : 1 micro-programme, 2 cbles. 5 pipelines de 10 tages Cache mmoire de niveau 1 (L1) : 32 Ko 16 Ko pour les donnes 16 Ko pour les instructions Contrleur de cache L2 supportant jusqu 512 Ko de la vitesse CPU 9.5 millions de transistors
25
Rfrences Cours malek zribi, ISET Sfax Cours Dumartin (.pdf) Livre : Architectures des ordinateurs M.C.BELAID
26