Note de cours
T.Dumartin
1 GENERALITES
1.1 1.2 1.3 1.4 1.5 INTRODUCTION QUENTEND-T-ON PAR ARCHITECTURE ? QUEST CE QUUN MICROPROCESSEUR ? RAPPELS OU TROUVE-T-ON DES SYSTEMES A MICROPROCESSEUR ?
5
5 5 5 6 6
2 ARCHITECTURE DE BASE
2.1 2.2 2.3 2.4 2.5 2.6 MODELE DE VON NEUMANN LUNITE CENTRALE LA MEMOIRE PRINCIPALE LES INTERFACES DENTREES/SORTIES LES BUS DECODAGE DADRESSES
7
7 7 7 8 8 8
3 LES MEMOIRES
3.1 ORGANISATION DUNE MEMOIRE 3.2 CARACTERISTIQUES DUNE MEMOIRE 3.3 DIFFERENTS TYPES DE MEMOIRE 3.3.1 LES MEMOIRES VIVES (RAM) 3.3.1.1 Les RAM statiques 3.3.1.2 Les RAM dynamiques 3.3.1.3 Conclusions 3.3.2 LES MEMOIRES MORTES (ROM) 3.3.2.1 LA ROM 3.3.2.2 La PROM 3.3.2.3 LEPROM ou UV-EPROM 3.3.2.4 LEEPROM 3.3.2.5 La FLASH EPROM 3.4 CRITERES DE CHOIX DUNE MEMOIRE 3.5 NOTION DE HIERARCHIE MEMOIRE
9
9 10 11 11 11 11 12 12 13 13 14 14 15 16 16
4 LE MICROPROCESSEUR
4.1 ARCHITECTURE DE BASE DUN MICROPROCESSEUR 4.1.1 LUNITE DE COMMANDE 4.1.2 LUNITE DE TRAITEMENT 4.1.3 SCHEMA FONCTIONNEL 4.2 CYCLE DEXECUTION DUNE INSTRUCTION 4.3 JEU DINSTRUCTIONS 4.3.1 DEFINITION 4.3.2 TYPE DINSTRUCTIONS 4.3.3 CODAGE 4.3.4 MODE DADRESSAGE 4.3.5 TEMPS DEXECUTION 4.4 LANGAGE DE PROGRAMMATION 4.5 PERFORMANCES DUN MICROPROCESSEUR 4.6 NOTION DARCHITECTURE RISC ET CISC 4.6.1 LARCHITECTURE CISC
18
18 18 19 19 20 22 22 22 22 22 22 23 23 24 24
4.6.1.1 Pourquoi 4.6.1.2 Comment 4.6.2 LARCHITECTURE RISC 4.6.2.1 Pourquoi 4.6.2.2 Comment 4.6.3 COMPARAISON 4.7 AMELIORATIONS DE LARCHITECTURE DE BASE 4.7.1 ARCHITECTURE PIPELINE 4.7.1.1 Principe 4.7.1.2 Gain de performance 4.7.1.3 Problmes 4.7.2 NOTION DE CACHE MEMOIRE 4.7.2.1 Problme pos 4.7.2.2 Principe 4.7.3 ARCHITECTURE SUPERSCALAIRE 4.7.4 ARCHITECTURE PIPELINE ET SUPERSCALAIRE 4.8 PROCESSEURS SPECIAUX 4.8.1 LE MICROCONTROLEUR 4.8.2 LE PROCESSEUR DE SIGNAL 4.9 EXEMPLES 4.9.1 AMD ATHLON : 4.9.2 INTEL PENTIUM III
24 24 24 24 24 25 25 25 25 26 27 27 27 28 29 29 30 30 30 30 30 31
33
33 33 33 34 34 34 34 35 36 36 36 38 38 39 40 41
6 UN EXEMPLE - LE PC
6.1 LUNITE CENTRALE 6.1.1 LA CARTE MERE 6.1.2 LE MICROPROCESSEUR 6.1.3 LA MEMOIRE 6.1.4 LA CARTE VIDEO 6.1.4.1 Le GPU 6.1.4.2 La mmoire vido 6.1.4.3 Le RAMDAC 6.1.4.4 Les entres/sorties vido 6.1.5 LES PERIPHERIQUES INTERNES DE STOCKAGE 6.1.5.1 Le disque dur 6.1.5.2 Les disques optiques
43
43 43 46 48 49 50 50 50 51 51 51 52
1 Gnralits
1.1 Introduction
Chapitre
L'informatique, contraction d'information et automatique, est la science du traitement de l'information. Apparue au milieu du 20me sicle, elle a connu une volution extrmement rapide. A sa motivation initiale qui tait de faciliter et d'acclrer le calcul, se sont ajoutes de nombreuses fonctionnalits, comme l'automatisation, le contrle et la commande de processus, la communication ou le partage de l'information. Le cours darchitecture des systmes microprocesseurs expose les principes de base du traitement programm de linformation. La mise en uvre de ces systmes sappuie sur deux modes de ralisation distincts, le matriel et le logiciel. Le matriel (hardware) correspond laspect concret du systme : unit centrale, mmoire, organes dentres-sorties, etc Le logiciel (software) correspond un ensemble dinstructions , appel programme, qui sont contenues dans les diffrentes mmoires du systme et qui dfinissent les actions effectues par le matriel.
1.4 Rappels
Les informations traites par un microprocesseur sont de diffrents types (nombres, instructions, images, vido, etc) mais elles sont toujours reprsentes sous un format binaire. Seul le codage changera suivant les diffrents types de donnes traiter. Elles sont reprsentes physiquement par 2 niveaux de tensions diffrents. En binaire, une information lmentaire est appel bit et ne peut prendre que deux valeurs diffrentes : 0 ou 1. Une information plus complexe sera code sur plusieurs bit. On appelle cet ensemble un mot. Un mot de 8 bits est appel un octet. Reprsentation dun nombre entier en binaire : Les nombres sont exprims par des chiffres pouvant prendre deux valeurs 0 ou 1. A chaque chiffre est affect un poids exprim en puissance de 2. Ex : ( 101 )2 <> 1x 2 + 0x21 + 1x20 = ( 5 )10 Reprsentation dun nombre entier en hexadcimal : Lorsquune donne est reprsente sur plus de 4 bits, on prfre souvent lexprimer en hexadcimal. Les nombres sont exprims par des chiffres et des lettres pouvant prendre 16 valeurs : 0123456789ABCDEF A chaque chiffre est affect un poids exprim en puissance de 16. Ex : ( 9A )16 <> 9x161 + Ax160 = 9x161 + 10x160 = ( 154 )10 Attention !! : 1 kilobit = 210 bit = 1024 bit 1 mgabit = 210 kbit = 1024 kbit 1 gigabit = 210 Mbit = 1024 Mbit
2 Architecture de base
2.1 Modle de von Neumann
Chapitre
Pour traiter une information, un microprocesseur seul ne suffit pas, il faut linsrer au sein dun systme minimum de traitement programm de linformation. John Von Neumann est l'origine d'un modle de machine universelle de traitement programm de linformation (1946). Cette architecture sert de base la plupart des systmes microprocesseur actuel. Elle est compos des lments suivants : une unit centrale une mmoire principale des interfaces dentres/sorties Les diffrents organes du systme sont relis par des voies de communication appeles bus.
Unit centrale
Mmoire Principale
Interface E/S
bus
Remarque : Les disques durs, disquettes, CDROM, etc sont des priphriques de stockage et sont considrs comme des mmoires secondaires.
Unit centrale
Mmoire Principale
Interface E/S
Bus de donnes
Remarque : lorsquun composant nest pas slectionn, ses sorties sont mises ltat haute impdance afin de ne pas perturber les donnes circulant sur le bus. ( elle prsente une impdance de sortie trs leve = circuit ouvert ).
3 Les mmoires
Chapitre
Une mmoire est un circuit semi-conducteur permettant denregistrer, de conserver et de restituer des informations (instructions et variables). Cest cette capacit de mmorisation qui explique la polyvalence des systmes numriques et leur adaptabilit de nombreuses situations. Les informations peuvent tre crites ou lues. Il y a criture lorsqu'on enregistre des informations en mmoire, lecture lorsqu'on rcupre des informations prcdemment enregistres.
Avec une adresse de n bits il est possible de rfrencer au plus 2n cases mmoire. Chaque case est remplie par un mot de donnes (sa longueur m est toujours une puissance de 2). Le nombre de fils dadresses dun botier mmoire dfinit donc le nombre de cases mmoire que comprend le botier. Le nombre de fils de donnes dfinit la taille des donnes que lon peut sauvegarder dans chaque case mmoire. En plus du bus dadresses et du bus de donnes, un botier mmoire comprend une entre de commande qui permet de dfinir le type daction que lon effectue avec la mmoire (lecture/criture) et une entre de slection qui permet de mettre les entres/sorties du botier en haute impdance. On peut donc schmatiser un circuit mmoire par la figure suivante o lon peut distinguer : Adresses (n bits)
R/W
Mmoire
Donnes (m bits)
CS
les entres dadresses les entres de donnes les sorties de donnes les entres de commandes : une entre de slection de lecture ou dcriture. ( R/W ) une entre de slection du circuit. ( CS )
Une opration de lecture ou dcriture de la mmoire suit toujours le mme cycle : 1. 2. 3. 4. slection de ladresse choix de lopration effectuer ( R/W ) slection de la mmoire ( CS = 0 ) lecture ou criture la donne
Remarque : Les entres et sorties de donnes sont trs souvent regroupes sur des bornes bidirectionnelles.
R/ W
CS
BUS D Taccs Tcycle
Donnes accessibles
Dx
Remarque : Les mmoires utilises pour raliser la mmoire principale dun systme microprocesseur sont des mmoires semi-conducteur. On a vu que dans ce type de mmoire, on accde directement n'importe quelle information dont on connat l'adresse et que le temps mis pour obtenir cette information ne dpend pas de l'adresse. On dira que l'accs une telle mmoire est alatoire ou direct. A l'inverse, pour accder une information sur bande magntique, il faut drouler la bande en reprant tous les enregistrements jusqu' ce que l'on trouve celui que l'on dsire. On dit alors que l'accs l'information est squentiel. Le temps d'accs est variable selon la position de l'information recherche. L'accs peut encore tre semi-squentiel : combinaison des accs direct et squentiel. Pour un disque magntique par exemple l'accs la piste est direct, puis l'accs au secteur est squentiel.
10
@7 @6 @5 @4 @3 @2 @1 @0 D7 D5 D3 D1 D6 D4 D2 D0
Avantages : Cette technique permet une plus grande densit d'intgration, car un point mmoire ncessite environ quatre fois moins de transistors que dans une mmoire statique. Sa consommation sen retrouve donc aussi trs rduite. Inconvnients : La prsence de courants de fuite dans le condensateur contribue sa dcharge. Ainsi, linformation est perdue si on ne la rgnre pas priodiquement (charge du condensateur). Les RAM dynamiques doivent donc tre rafrachies rgulirement pour entretenir la mmorisation : il s'agit de lire l'information et de la recharger. Ce rafrachissement indispensable a plusieurs consquences : - il complique la gestion des mmoires dynamiques car il faut tenir compte des actions de rafrachissement qui sont prioritaires. - la dure de ces actions augmente le temps d'accs aux informations.
11
Dautre part, la lecture de linformation est destructive. En effet, elle se fait par dcharge de la capacit du point mmoire lorsque celle-ci est charge. Donc toute lecture doit tre suivie dune rcriture.
3.3.1.3 Conclusions
En gnral les mmoires dynamiques, qui offrent une plus grande densit d'information et un cot par bit plus faible, sont utilises pour la mmoire centrale, alors que les mmoires statiques, plus rapides, sont utilises lorsque le facteur vitesse est critique, notamment pour des mmoires de petite taille comme les caches et les registres. Remarques : Voici un historique de quelques DRAM qui ont ou sont utilises dans les PC : La DRAM FPM (Fast Page Mode, 1987) : Elle permet d'accder plus rapidement des donnes en introduisant la notion de page mmoire. (33 50 Mhz) La DRAM EDO (Extended Data Out, 1995) : Les composants de cette mmoire permettent de conserver plus longtemps l'information, on peut donc ainsi espacer les cycles de rafrachissement. Elle apporte aussi la possibilit danticiper sur le prochain cycle mmoire. (33 50 Mhz) La DRAM BEDO (Bursted EDO) : On n'adresse plus chaque unit de mmoire individuellement lorsqu'il faut y lire ou y crire des donnes. On se contente de transmettre l'adresse de dpart du processus de lecture/criture et la longueur du bloc de donnes ( Burst ). Ce procd permet de gagner beaucoup de temps, notamment avec les grands paquets de donnes tels qu'on en manipule avec les applications modernes. (66 Mhz) La Synchronous DRAM (SDRAM, 1997) : La mmoire SDRAM a pour particularit de se synchroniser sur une horloge. Les mmoires FPM, EDO taient des mmoires asynchrones et elle induisaient des temps d'attentes lors de la synchronisation. Elle se compose en interne de deux bancs de mmoire et des donnes peuvent tre lues alternativement sur l'un puis sur l'autre de ces bancs grce un procd d'entrelacement spcial. Le protocole d'attente devient donc tout fait inutile. Cela lui permet de supporter des frquences plus leves quavant (100 Mhz). La DDR-I ou DDR-SDRAM (Double Data Rate Synchronous DRAM, 2000) : La DDR-SDRAM permet de recevoir ou d'envoyer des donnes lors du front montant et du front descendant de lhorloge. (133 200 MHz)
12
3.3.2.1 LA ROM
Elle est programme par le fabricant et son contenu ne peut plus tre ni modifi., ni effac par l'utilisateur. Structure : Cette mmoire est compose d'une matrice dont la programmation seffectue en reliant les lignes aux colonnes par des diodes. L'adresse permet de slectionner une ligne de la matrice et les donnes sont alors reues sur les colonnes (le nombre de colonnes fixant la taille des mots mmoire). Programmation : L'utilisateur doit fournir au constructeur un masque indiquant les emplacements des diode dans matrice. Avantages : Densit leve Non volatile Mmoire rapide Inconvnients : criture impossible Modification impossible (toute erreur est fatale). Dlai de fabrication (3 6 semaines) Obligation de grandes quantits en raison du cot lev qu'entrane la production du masque et le processus de fabrication.
1 0 donnes 0 0
+V
adresse
3.3.2.2 La PROM
Cest une ROM qui peut tre programme une seule fois par l'utilisateur (Programmable ROM). La programmation est ralise partir dun programmateur spcifique. Structure : Les liaisons diodes de la ROM sont remplaces par des fusibles pouvant tre dtruits ou des jonctions pouvant tre court-circuites. Programmation : Les PROM fusible sont livres avec toutes les lignes connectes aux colonnes (0 en chaque point mmoire). Le processus de programmation consiste donc programmer les emplacements des 1 en gnrant des impulsions de courants par lintermdiaire du programmateur ; les fusibles situs aux points mmoires slectionns se retrouvant donc dtruits. Le principe est identique dans les PROM jonctions sauf que les lignes et les colonnes sont dconnectes (1 en chaque point mmoire). Le processus de programmation consiste donc programmer les emplacements des 0 en gnrant des impulsions de courants par lintermdiaire du programmateur ; les jonctions situes aux points mmoires slectionns se retrouvant court-circuites par effet davalanche.
13
Avantages : idem ROM Claquage en quelques minutes Cot relativement faible Inconvnients : Modification impossible (toute erreur est fatale).
N P
La programmation consiste piger des charges dans la grille flottante. Pour cela, il faut tout dabord appliquer une trs forte tension entre Grille et Source. Si lon applique ensuite une tension entre D et S, la canal devient conducteur. Mais comme la tension Grille-Source est trs importante, les lectrons sont dvis du canal vers la grille flottante et capturs par celle-ci. Cette charge se maintient une dizaine d'annes en condition normale. Lexposition dune vingtaine de minutes un rayonnement ultraviolet permet dannuler la charge stocke dans la grille flottante. Cet effacement est reproductible plus dun millier de fois. Les botiers des EPROM se caractrise donc par la prsence dune petite fentre transparente en quartz qui assure le passage des UV. Afin dviter toute perte accidentelle de linformation, il faut obturer la fentre deffacement lors de lutilisation. Avantages : Reprogrammable et non Volatile Inconvnients : Impossible de slectionner une seule cellule effacer Impossible deffacer la mmoire in-situ. lcriture est beaucoup plus lente que sur une RAM. (environ 1000x)
3.3.2.4 LEEPROM
LEEPROM (Electically EPROM) est une mmoire programmable et effaable lectriquement. Elle rpond ainsi linconvnient principal de lEPROM et peut tre programme in situ.
14
Structure Dans une EEPROM, le point mmoire est ralis partir dun transistor SAMOS reprenant le mme principe que le FAMOS sauf que lpaisseur entre les deux grilles est beaucoup plus faible. Programmation Une forte tension lectrique applique entre grille et source conduit la programmation de la mmoire. Une forte tension inverse provoquera la libration des lectrons et donc leffacement de la mmoire. Avantages : Comportement d'une RAM non Volatile. Programmation et effacement mot par mot possible. Inconvnients : Trs lente pour une utilisation en RAM. Cot de ralisation.
Programmation
Architecture NAND
Si NOR et NAND exploitent toutes deux le mme principe de stockage de charges dans la grille flottante dun Secteur 1 = @0 n transistor, lorganisation de leur rseau @0 @n mmoire noffre pas la mme souplesse dutilisation. Les Flash NOR autorise un adressage alatoire qui permet de la programmer octet par octet alors que la Flash NAND autorise un accs squentiel aux donnes et permettra seulement une programmation par secteur comme sur un disque dur. Avantages Flash NOR : Comportement d'une RAM non Volatile. Programmation et effacement mot par mot possible. Temps daccs faible.
15
Flash NAND : Comportement d'une RAM non Volatile. Forte densit dintgration cot rduit. Rapidit de lcriture/lecture par paquet Consommation rduite. Inconvnients Flash NOR : Lenteur de lcriture/lecture par paquet. cot. Flash NAND : Ecriture/lecture par octet impossible. Interface E/S indirecte La Flash EPROM a connu un essor trs important ces dernires annes avec le boom de la tlphonie portable et des appareils multimdia (PDA, appareil photo numrique, lecteur MP3, etc...).
1 ns Registre 5 ns 10 ns
vitesse
capacit
5 ms
Mmoire de masse
16
Les registres sont les lments de mmoire les plus rapides. Ils sont situs au niveau du processeur et servent au stockage des oprandes et des rsultats intermdiaires. La mmoire cache est une mmoire rapide de faible capacit destine acclrer laccs la mmoire centrale en stockant les donnes les plus utilises. La mmoire principale est lorgane principal de rangement des informations. Elle contient les programmes (instructions et donnes) et est plus lente que les deux mmoires prcdentes. La mmoire dappui sert de mmoire intermdiaire entre la mmoire centrale et les mmoires de masse. Elle joue le mme rle que la mmoire cache. La mmoire de masse est une mmoire priphrique de grande capacit utilise pour le stockage permanent ou la sauvegarde des informations. Elle utilise pour cela des supports magntiques (disque dur, ZIP) ou optiques (CDROM, DVDROM).
17
4 Le microprocesseur
Chapitre
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 millimtre carr 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).
D Bus de donnes
Remarques : Il existe deux types de registres : les registres d'usage gnral permettent l'unit de traitement de manipuler des donnes vitesse leve. Ils sont connects au bus donnes interne au microprocesseur. les registres d'adresses (pointeurs) connects sur le bus adresses.
(1) Moore (un des co-fondateurs de la socit Intel) a mis l'hypothse que les capacits technologiques permettraient de multiplier par 2 tous les 18 mois le nombre de transistors intgrs sur les circuits.
le registre d'instruction et le dcodeur d'instruction : chacune des instructions excuter est range dans le registre instruction puis est dcode par le dcodeur dinstruction. Bloc logique de commande (ou 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 micromicroprocesseur.
Programme
UAL
Donnes
Registre dinstruction Registre Donnes H Bus de donnes Dcodeur dinstruction
microprocesseur
RI
Instr. 1
Instr. 3
Inst. 1
$FFFF
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 stocke dans un registre.
RI
Instr. 1
Dcodeur dinstruction 1
UAL
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.
PC
3
RI
Dcodeur dinstruction
UAL
1 Result. Opr. 1
Z=1 C=0 2
$FFFF
4.3.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 : Code instruction 1001 0011 Code oprande 0011 1110
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.
ret
MIPS=
FH CPI
avec FH en MHz
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).
4.6.1.2 Comment
Cest donc une architecture avec un grand nombre dinstructions o le microprocesseur 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)
4.6.2.2 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.
4.6.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.
Architecture RISC
instructions simples ne prenant quun seul cycle instructions au format fixe dcodeur simple (cbl) beaucoup de registres seules les instructions LOAD et STORE ont accs la mmoire peu de modes dadressage compilateur complexe
Architecture CISC
instructions complexes prenant plusieurs cycles instructions au format variable dcodeur complexe (microcode) peu de registres toutes les instructions sont susceptibles daccder la mmoire beaucoup de modes dadressage compilateur simple
4.7.1.1 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, lorsque 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.
Modle classique :
R1 D1
E1
R2 D2
E2
R3 D3
E3
S1 1 2 3 4 5 6 7
S2 8 9 10 11
S3 12 Nbre de Cycles
Modle pipelin :
R1 R2 D1 R3 D2
E1
R4 D3
E2
R5 D4
E3
R6 D5
E4
R7 D6
E5
R8 D7
E6
R9 D8
E7
D9
E8 E9
S1 1 2 3 4
S2 5
S3 6
S4 7
S5 8
S6 9
S7 10
S8 11
S9 12 Nbre de Cycles
G=
n ik 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.
4.7.1.3 Problmes
La mise en place dun pipeline pose plusieurs problmes. En fait, 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 linstruction 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 vider 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 %.
R1 R2 D1 R3 D2
E1
R4 D3
E2
R4 D3
R4 D3
R4 D3
R5 D4
E3
R6 D5
E4
Bulles (NOP)
D6
E5 E6
S1 1 2 3 4
S2 5 6 7 8
S3 9
S4 10
S5 11
S6 12 Nbre de Cycles
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.
4.7.2.2 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 permettant au microprocesseur dacqurir les donnes sa vitesse propre. On la ralise partir de cellule SRAM de taille rduite ( cause du cot). Sa 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 elle 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 traitement Unit de commande
1 Cache
mmoire
b)
up
Unit de traitement Unit de commande
1 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 noter que lon peut reprendre le mme principe pour les disques durs et CD/DVD.
Unit de traitement
Architecture superscalaire :
I1 I3 I5 I6 I8
I2
I4 N/2 cycles
I7
Remarque : C'est le type d'architecture mise en oeuvre dans les premiers Pentium d'Intel apparus en 1993.
9 10 11
Nbre de Cycles
4.9 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)
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) 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) 22 millions de transistors
31
Caractristiques : Plusieurs units de traitement mais au 5 instructions excutes en mme temps sur 5 ports : o o o o o 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 o 16 Ko pour les donnes o 16 Ko pour les instructions Contrleur de cache L2 supportant jusqu 512 Ko de la vitesse CPU 9.5 millions de transistors
32
Chapitre
La fonction dun systme microprocesseurs, quel quil soit, est le traitement de linformation. Il est donc vident quil doit acqurir linformation fournie par son environnement et restituer les rsultats de ses traitements. Chaque systme est donc quip dune ou plusieurs interfaces dentres/sorties permettant dassurer la communication entre le microprocesseur et le monde extrieur. Les techniques dentres/sorties sont trs importantes pour les performances du systme. Rien ne sert davoir un microprocesseur calculant trs rapidement sil doit souvent perdre son temps pour lire des donnes ou crire ses rsultats. Durant une opration dentre/sortie, linformation est change entre la mmoire principale et un priphrique reli au systme. Cet change ncessite une interface (ou contrleur) pour grer la connexion. Plusieurs techniques sont employes pour effectuer ces changes. Dcodeur dadresses
Unit centrale
Mmoire Principale
Interface E/S
Bus de donnes
5.1.2 Constitution
Pour cela, linterface est constitue par : Un registre de commande dans lequel le processeur dcrit le travail effectuer (sens de transfert, mode de transfert). Un ou plusieurs registres de donnes qui contiennent les mots changer entre le priphrique et la mmoire Un registre dtat qui indique si lunit dchange est prte, si lchange sest bien droul, etc On accde aux donnes de linterface par le biais dun espace dadresses dentres/sorties.
33
5.2.1.2 Interruption
Une interruption est un signal, gnralement asynchrone au programme en cours, pouvant tre mis par tout dispositif externe au microprocesseur. Le microprocesseur possde une ou plusieurs entres rserves cet effet. Sous rserve de certaines conditions, elle peut interrompre le travail courant du microprocesseur pour forcer lexcution dun programme traitant la cause de linterruption. Dans un change de donnes par interruption, le microprocesseur excute donc son programme principal jusqu ce quil reoive un signal sur sa ligne de requte dinterruption. Il se charge alors deffectuer le transfert de donnes entre linterface et la mmoire. Principe de fonctionnement dune interruption : Avant chaque excution dinstructions, le microprocesseur examine si il y a eu une requte sur sa ligne dinterruption. Si cest le cas, il interrompt toutes ces activits et sauvegarde ltat prsent (registres, PC, accumulateurs, registre dtat) dans un registre particulier appel pile. Les donnes y sont entasses comme on empile des livres (la premire donne sauvegarde sera donc la dernire tre restitue). Ensuite, il excute le programme dinterruption puis restitue ltat sauvegard avant de reprendre le programme principale. Remarques : Certaine source dinterruption possde leur propre autorisation de fonctionnement sous la forme dun bit positionner, on lappelle le masque dinterruption. On peut donc interdire ou autoriser certaines sources dinterruptions, on les appelle les interruptions masquables. Chaque source dinterruption possde un vecteur dinterruption o est sauvegard ladresse de dpart du programme excuter. Les interruptions sont classes par ordre de priorit. Dans le cas o plusieurs interruptions se prsentent en mme temps, le microprocesseur traite dabord celle avec la priorit la plus leve.
34
Niveau de priorit
Niveau 3
Niveau 2
Niveau 1
Programme Principale Niveau 0 Excution Requte niveau 2 Requte niveau 3 Requte niveau 1
t
Accs mmoire
CPU CPU DMA DMA DMA CPU CPU CPU CPU
t
Requte DMA Vol de cycle IT DMA
35
priphrique
La transmission de donnes en srie peut se concevoir de deux faons diffrentes : en mode synchrone, lmetteur et le rcepteur possde une horloge synchronise qui cadence la transmission. Le flot de donnes peut tre ininterrompu. en mode asynchrone, la transmission seffectue au rythme de la prsence des donnes. Les caractres envoys sont encadrs par un signal start et un signal stop. Principe de base dune liaison srie asynchrone : Afin que les lments communicants puissent se comprendre, il est ncessaire dtablir un protocole de transmission. Ce protocole devra tre le mme pour chaque lment.
36
Interface
priphrique
Paramtres rentrant en jeu : longueur des mots transmis : 7 bits ( code ASCII ) ou 8 bits vitesse de transmission : les vitesses varient de 110 bit/s 128000 bit/s et dtermine les frquences dhorloge de lmetteur et du rcepteur. parit : le mot transmis peut tre suivis ou non dun bit de parit qui sert dtecter les erreurs ventuelles de transmission. Il existe deux types de parit : paire ou impaire. Si on fixe une parit paire, le nombre total de bits 1 transmis (bit de parit inclus) doit tre paire. Cest linverse pour une parit impaire. bit de start : la ligne au repos est ltat 1 (permet de tester une coupure de la ligne). Le passage ltat bas de la ligne va indiquer quun transfert va commencer. Cela permet de synchroniser lhorloge de rception. bit de stop : aprs la transmission, la ligne est positionne un niveau 1 pendant un certains nombre de bit afin de spcifier la fin du transfert. En principe, on transmet un, un et demi ou 2 bits de stop. Droulement dune transmission : Les paramtres du protocole de transmission doivent toujours tre fixs avant la transmission. En labsence de transmission, la liaison est au repos au niveau haut pour dtecter une ventuelle coupure sur le support de transmission. Une transmission seffectue de la manire suivante : Lmetteur positionne la ligne ltat bas : cest le bit de start. Les bits sont transmis les un aprs les autres, en commenant par le bit de poids fort. Le bit de parit est ventuellement transmis. Lmetteur positionne la ligne ltat haut : cest le bit de stop. Exemple : transmission dun mot de 7 bits (0110100)2 Parit impaire 1 bit de Stop
Niveau ligne MSB
1 1 0 1 0
LSB
0
repos start
0
parit stop repos
donnes
Horloge = F=
1 Hz 1 bits/s
Vitesse de transmission = v=
37
Contrle de flux : Le contrle de flux permet denvoyer des informations seulement si le rcepteur est prt ( modem ayant pris la ligne, tampon dune imprimante vide, etc). Il peut tre ralis de manire logiciel ou matriel. Pour contrler le flux de donnes matriellement, il faudra utiliser des lignes de contrle supplmentaire permettant lmetteur et au rcepteur de sinformer mutuellement de leur tat respectif (prt ou non). Dans un contrle de type logiciel, l'metteur envoie des donnes et lorsque le rcepteur ne peut plus les recevoir (registre plein), il envoie une information lmetteur pour le prvenir, via la liaison srie. Lmetteur doit donc toujours tre lcoute du rcepteur avant denvoyer une donne sur la ligne.
38
Systme B Fonction Application Prsentation Session Transport Rseau Liaison Physique Couche 7 6 5 4 3 2 1
Chaque couche est identifie par son niveau N et ralise un sous-ensemble de fonctions ncessaire la communication avec un autre systme. Pour raliser ces fonctions de communication, la couche N s appuie uniquement sur la couche immdiatement infrieure par l intermdiaire dune interface. Le dialogue entre les deux systmes stablie forcment entre deux couches de niveau N identique mais lchange physique de donnes seffectue uniquement entre les couches de niveau 1. Les rgles et conventions utilises pour ce dialogue sont appeles protocole de couche N. On appelle les couches 1, 2, 3 et 4 les couches basses et les couches 5, 6 et 7 les couches hautes. Les couches basses sont concernes par la ralisation dune communication fiable de bout en bout alors que les couches hautes offrent des services orientes vers les utilisateurs. Couche 1 : Physique La couche physique se proccupe de rsoudre les problmes matriels. Elle normalise les moyens mcaniques (nature et caractristique du support : cble, voie hertzienne, fibre optique, etc), lectrique (transmission en bande de base, modulation, puissance, etc) et fonctionnels (transmission synchrone/asynchrone, simplex, half/full duplex, etc..) ncessaires lactivation, au maintient et la dsactivation des connexions physiques destines la transmission de bits entre deux entits de liaison de donnes. Couche 2 : Liaison La couche liaison de donnes dtecte et corrige si possible les erreurs dues au support physique et signal la couche rseau les erreurs irrcuprable. Elle supervise le fonctionnement de la transmission et dfinit la structure syntaxique des messages, la manire denchaner les changes selon un protocole normalise ou non. Cette couche reoit les donnes brutes de la couche physique, les organise en trames, gre les erreurs, retransmet les trames errones, gre les acquittements qui indiquent si les donnes ont bien t transmises puis transmet les donnes formates la couche rseau suprieure.
39
Couche 3 : Rseau La couche rseau est charge de lacheminement des informations vers le destinataire. Elle gre ladressage, le routage, le contrle de flux et la correction derreurs non rgles par la couche 2. A ce niveau l, il sagit de faire transiter une information complte (ex : un fichier) dune machine une autre travers un rseau de plusieurs ordinateurs. Elle permet donc de transmettre les trames reues de la couche 2 en trouvant un chemin vers le destinataire. La couche 4 : Transport Elle remplit le rle de charnire entre les couches basses du modle OSI et le monde des traitements supports par les couches 5,6 et 7. Elle assure un transport de bout en bout entre les deux systmes en assurant la segmentation des messages en paquets et en dlivrant les informations dans lordre sans perte ni duplication. Elle doit acheminer les donnes du systme source au systme destination quelle que soit la topologie du rseau de communication entre les deux systmes. Elle permet ainsi aux deux systmes de dialoguer directement comme si le rseau nexistait pas. Elle remplit ventuellement le rle de correction derreurs. Les critres de ralisation de la couche transport peuvent tre le dlai dtablissement de la connexion, sa probabilit dchec, le dbit souhait, le temps de travers, etc La couche 5 : Session Elle gre le dialogue entre 2 applications distantes (dialogue unidirectionnel/bidirectionnel, gestion du tour de parole, synchronisation, etc...). La couche 6 : Prsentation Cette couche s'occupe de la partie syntaxique et smantique de la transmission de l'information afin daffranchir la couche suprieure des contraintes syntaxiques. Elle effectue ainsi le codage des caractres pour permettre deux systmes htrognes de communiquer. Cest ce niveau que peuvent tre implantes des techniques de compression et de chiffrement de donnes. La couche 7 : Application Elle gre les programmes utilisateurs et dfinit des standards pour les diffrents logiciels commercialiss adoptent les mmes principes (fichier virtuel, messagerie, base de donnes, etc).
40
PAN
LAN
MAN
WAN
1m
10m
100m
1km
10km
100km
distance
terminaison raccordement
Hub /Switch
Topologie en toile Le nud central reoit et renvoie tous les messages. Fonctionnement simple. Moins vulnrable sur rupture de ligne. La panne du nud central paralyse tout le rseau. Mode point point (avec switch) ou diffusion (avec hub).
Topologie en boucle Chaque station a tour tour la possibilit de prendre la parole. Chaque station reoit le message de son voisin en amont et le rexpdie son voisin en aval. La station mettrice retire le message lorsqu'il lui revient. Si une station tombe en panne, il y a mise en place dun systme de contournement de la station. Si il y a rupture de ligne apparat, tout s'arrte (sauf si on a prvu une 2ime boucle). mode point point.
serveur
41
Topologie en arbre Peut tre considr comme une topologie en toile dans la quelle chaque station peut tre une station centrale dun sous ensemble de stations formant une structure en toile. Complexe Mode point point.
Topologie en rseau maill Tous les ordinateurs du rseau sont relis les uns aux autres par des cbles spars. On a une meilleure fiabilit. Si une station tombe en panne, le rseau continue de fonctionner. Si il y a rupture de ligne apparat, le rseau continue de fonctionner. Maillage rgulier Il est trs coteux. Il est possible de diminuer les cots en utilisant un maillage partielle (irrgulier). Mode point point.
Maillage irrgulier
Remarques : Il existe deux modes de fonctionnement pour un rseau, quelque soit son architecture : avec connexion : lmetteur demande un connexion au rcepteur avant denvoyer son message. La connexion seffectue si et seulement si ce dernier accepte, cest le principe du tlphone. sans connexion : lmetteur envoie le message sur le rseau en spcifiant ladresse du destinataire. La transmission seffectue sans savoir si le destinataire est prsent ou non, cest le principe du courrier.
42
6 Un exemple - le PC
Chapitre
Le terme PC (Personal Computer) a t introduit en 1981 lorsque la firme IBM (Internal Business Machines) a commercialis pour la premire fois un ordinateur personnel destin une utilisation familiale. Depuis, les domaines dapplication du PC ont normment volu. De la gestion de production la gestion de systmes dacquisition, en passant par la reconnaissance de forme ou le traitement de limage, ses domaines dutilisation sont extrmement riches et varis. Pour cela, le PC est dfini par une architecture minimale laissant la libert chacun de rajouter les priphriques dentre/sorties ncessaires lutilisation vise, quelle soit familiale ou professionnelle. Un PC est compos par une unit centrale associe des priphriques (clavier, moniteur, carte dacquisition, etc)
43
Backside bus
Cache L2
AGP
Pont Nord
RAM
2 canaux
Bus IDE 100/133 Mo/s Bus USB 60 Mo/s Firewire 100/400 Mo/s Bus PCI
Pont SCSI
7 15 priphriques maximum
Pont Sud
33/66/133 MHz
Vido Audio
Port srie Port parallle Interface floppy
Pont ISA
Carte rseau
Ici le chipset est compos par deux composants baptis Pont Nord et Pont Sud. Le pont Nord soccupe dinterfacer le microprocesseur avec les priphriques rapides (mmoire et carte graphique) ncessitant une bande passante leve alors que le pont sud soccupe dinterfacer le microprocesseur avec les priphriques plus lents (disque dur, CDROM, lecteur de disquette, rseau, etc). On voit apparatre diffrents bus chargs de transporter les informations entre le microprocesseur et la mmoire ou les priphriques : Bus processeur : on lappelle aussi bus systme ou FSB (Front Side Bus). Il relie le microprocesseur au pont nord puis la mmoire. Cest un bus 64 bits. Bus IDE : il permet de relier au maximum 2 priphriques de stockage interne par canal (disque dur ou lecteur DVDROM/CDROM). Son dbit est de 133 Mo/s. Lorsque 2 priphriques sont relis sur le mme canal, un doit tre le matre (prioritaire sur la prise du bus) et lautre lesclave. Bus PCI (Peripheral Component Interconnect) : Il a t cr en 1991 par Intel. Il permet de connecter des priphriques internes. Cest le premier bus avoir unifier linterconnexion des systmes dentre/sortie sur un PC et introduire le systme plug-and-play. Il autorise aussi le DMA. Cest un bus de 32 bits. On retrouve une rvision du bus PCI sur les cartes mres de serveur ayant une largeur de bus de 64 bits et une frquence de 133 MHz. Bus AGP (Accelered Graphic Port) :. Il a t cr en 1997 lors de lexplosion de lutilisation des cartes 3D qui ncessitent toujours plus de bandes passantes pour
44
obtenir des rendus trs ralistes. Cest une amlioration du bus PCI. Il autorise en plus le DIME (DIrect Memory Execution) qui permet au processeur graphique de travailler directement avec les donnes contenues dans la RAM sans passer par le microprocesseur linstar dun DMA. Cest un bus 32 bits et son dbit maximum est de 2 Go/s (en x8). Bus ISA (Industry Standard Architecture) : Cest lanctre du bus PCI. On ne le retrouve plus sur les nouvelles gnrations de cartes mres. Bus SCSI (Small Computer System Interface) : cest un bus dentre/sortie parallle permettant de relier un maximum de 7 ou 15 priphriques par contrleur suivant la rvision du protocole utilise. Cest une interface concurrente lIDE qui prsente lavantage de pouvoir connecter plus de priphriques pour des dbits suprieurs. En outre, ces priphriques peuvent partager le bus lors dun dialogue contrairement lIDE. Mais son cot reste trs lev elle est utilise pour les serveurs. Bus USB (Universal Serial Bus ) : cest un bus dentre/sortie plug-and-play srie. Dans sa deuxime rvision (USB 2.0), il atteint un dbit de 60 Mo/s. Un de ces avantages est de pouvoir connecter thoriquement 127 priphriques. Il supporte de plus le hot plug-and-play (connexion ou dconnexion de priphriques alors que le PC fonctionne). Bus firewire : cest un bus SCSI srie. Il permet de connecter jusqu 63 priphriques des dbits trs levs (100 400 Mo/s). Ces applications sont tournes vers la transmission de vidos numriques. Liaison pont nord/pont sud : ses caractristiques dpendent du chipset utilis. Chaque fabricant a en effet dvelopp une solution propritaire pour connecter les deux composants de leur chipset. Pour Intel, cest Intel Hub Architecture (IHA) dont les dbits atteignent 533 Mo/s. Pour Nvidia (en collaboration avec AMD), cest lHyperTransport qui atteint des dbits de 800 Mo/s.
Remarques : Tous les bus internes (PCI, IDE, AGP) vont tre amens disparatre trs rapidement et seront remplacs par des bus srie : Le Serial Ata, remplaant du bus IDE, prsente des dbits de 150 Mo/s qui passeront bientt 300 Mo/s dans la prochaine rvision du bus. Il permet de connecter des disques durs ou des lecteurs optiques. Le PCI Express, remplaant des bus PCI et AGP, permet datteindre des dbits de 250 Mo/s dans sa version de base qui peuvent monter jusqu 8Go/s dans sa version x16 destine des priphriques ncessitant des bandes passantes trs leves (application graphique). Les bus de connexions filaires tendent tre remplacs par des systmes de communications sans fils. A lheure actuelle, il existe : le Bluetooth qui offre actuellement un dbit de 1 Mb/s pour une porte dune dizaine de mtre et qui va servir connecter des priphriques ncessitant des bandes passantes faibles (clavier, souris, etc). le WIFI (WIreless FIdelity Network) qui permet de connecter des ordinateurs en rseau. La dernire rvision permet des dbits de 54 Mb/s.
45
Connecteurs Externes (port srie, parallle, firewire, USB, etc) Connecteur floppy
6.1.2 Le microprocesseur
Le microprocesseur est bien entendu llment essentiel du PC. Nous avons vu que les performances dun microprocesseur taient lies son architecture et sa frquence de fonctionnement. A lheure actuelle, le march des microprocesseurs pour PC est domin par deux principaux constructeurs : Intel et AMD. Ceux-ci ont adopt deux stratgies diffrentes pour raliser des microprocesseurs toujours plus performants. Intel, fort de son savoir faire, a choisi de fabriquer des microprocesseurs toujours plus rapide en terme de frquence de fonctionnement alors quAMD essaie plutt doptimiser ses architectures afin quelles soient capables dexcuter toujours plus dinstructions par cycle dhorloge. Ces deux optiques se retrouvent dans les rfrences des microprocesseurs de chaque marque. LorsquIntel dsigne chaque nouveau microprocesseur par sa frquence, AMD prfre utiliser un P-Rating se rfrant aux performances des microprocesseurs Intel. Chaque fondeur utilise des sockets et des chipsets diffrents pour leurs microprocesseurs. Ainsi, le choix dun microprocesseur impose forcment un choix sur un type de carte mre. Pour connatre les performances dun microprocesseur, il ne faut donc pas se fier la seule valeur de sa frquence de fonctionnement. Il faut prendre en compte toutes les caractristiques lies son architecture et ne pas oublier de lentourer dun chipset et dune mmoire performants. La dernire chose ne pas omettre lorsquon choisit un microprocesseur est son systme de refroidissement. En effet, plus la frquence augmente et plus la dissipation thermique sera importante. Un microprocesseur mal refroidit peut entraner des dysfonctionnements au sein du PC voir mme la destruction du microprocesseur lui mme. Il faut prvoir un systme dair cooling (ventilateur + radiateur ou heat pipe) ou de water cooling (circuit de refroidissement eau).
46
Rfrence Support Frquence Bus processeur Finesse gravure Cache L1 Cache L2 Frquence cache L2 Architecture
Athlon 64 4000 + Socket 939 2400 MHz 200 MHz 0.13 m 128 ko 1024 ko 2400 MHz AMD K8
Pentium 4 3.4GHz Extreme Edition Socket 478 3400 MHz 200 MHz quad pumped 0.13 m 8 ko 512 ko 3400 MHz Intel NetBurst
Pentium M 2GHz Socket 478 (portable) 2000 MHz 100 MHz quad pumped 0.09 m 32 ko 2048 ko 2000 MHz Intel Dothan
Heat Pipe
Ventirad
Kit Watercooling
Exemple : Performance en MIPS (traitement entier) et MFLOPS (traitement rel) de diffrents microprocesseurs.
Pentium IV - 3.6 GHz Athlon XP 3200+ Pentium M - 2 GHz Pentium - 66 MHz
47
6.1.3 La mmoire
La qualit et la quantit de mmoire dun PC vont permettre, au mme titre que le microprocesseur, daccrotre les performances de celui-ci. Si on dispose dun microprocesseur performant, encore faut-il que la mmoire puisse restituer ou sauvegarder des informations aussi rapidement quil le dsire. La frquence de fonctionnement de la mmoire est donc un paramtre essentiel. De mme, si on veut rduire le nombre daccs aux priphriques de stockage secondaire qui sont trs lents (disque dur, CDROM, etc), il faudra prvoir une quantit mmoire principale suffisante. Aujourdhui, toutes les mmoires que lon retrouve sur les PC sont des RAM dynamiques (DRAM). Elles sont toutes synchronises sur lhorloge du bus processeur (FSB). Un botier mmoire est constitu de 3 lments fondamentaux qui sont : La matrice de cellules mmoires Les buffers dentre/sortie Le bus de donnes Dans les premires SDRAM, tous les ensembles fonctionnaient 100 MHz. C'est dire que la cellule mmoire fournissait une information mmoire toutes les 10 ns au buffer dentr/sortie qui lui mme la renvoyait sur le bus une frquence de 100 MHz. Comme les DRAM fonctionnent sur 64 bits, on avait une bande passante de 800 Mo/s. Les diffrentes volutions de la SDRAM permirent datteindre une frquence de 166 MHz. Actuellement, les technologies de DRAM permettent deffectuer des accs la mmoire sur le front montant et descendant de lhorloge (DDR-I SDRAM) et ainsi de doubler la bande passante mmoire sans en modifier la frquence de fonctionnement. Pour cela, il faut bien entendu que la matrice mmoire puisse dlivrer 2 informations par cycle dhorloge. Les DDR les plus rapides permettent datteindre des frquences de 200 MHz pour laccs la matrice de cellules. Nanmoins, on commence approcher les limites de fonctionnement du cur de la mmoire. La prochaine technologie reviendra donc une frquence de 100 MHz pour la matrice de cellules mais doublera la frquence du buffer dentr/sortie pour compenser (DDR II SDRAM). Il faut donc que le cur de la mmoire puisse dlivrer 4 informations par cycle dhorloge. Tout ceci est rendu possible en divisant le nombre de matrices mmoire. Dans le cas de la SDRAM, la matrice de cellules mmoire est constitue dun seul bloc physique contre deux pour la DDR-I puis quatre pour la DDR-II.
SDR
DDR-I
DDR-II
De plus, de nombreux chipsets permettent de grer deux canaux daccs la mmoire et donc daccder simultanment deux modules de mmoire diffrents. Le PC sera donc plus performant si il utilise, par exemple, deux barrette de 256 Mo plutt quune seule de 512 Mo. (bus quad pumped dIntel)
48
Dsignation
PC 100 PC-1600 PC-2100 PC-2700 PC-3200 PC-3500 PC-3700 PC-4000 PC2-3200 PC2-4300 PC2-5300
Type
SDR DDR-I DDR-I DDR-I DDR-I DDR-I DDR-I DDR-I DDR-II DDR-II DDR-II
FSB
100 MHz 100 MHz 133 MHz 166 MHz 200 MHz 216 MHz 233 MHz 250 MHz 100 MHz 133 MHz 166 MHz
Vitesse
100 MHz 200 MHz 266 MHz 333 MHz 400 MHz 432 MHz 466 MHz 500 MHz 400 MHz 533 MHz 667 MHz
B.P.
0,8 Go/s 1,6 Go/s 2.13 Go/s 2.66 Go/s 3,2 Go/s 3.5 Go/s 3.7 Go/s 4.0 Go/s 3,2 Go/s 4,3 Go/s 5,3 Go/s
La bande passante est thoriquement double si les barrettes sont utilises en dual channel.
RAMDAC
CRT
La carte vido communique avec la mmoire centrale et le microprocesseur par lintermdiaire dun bus. Actuellement, cest le bus AGP qui est le plus utilis mais il va progressivement tre remplac par le PCI Express qui prsente des dbits beaucoup plus levs (8 Go/s contre 2 Go/s).
49
6.1.4.1 Le GPU
Le GPU est le processeur central de la carte graphique. Il se charge du traitement des donnes vido, permettant ainsi de soulager le microprocesseur. Son rle est de traiter les objets envoys par le microprocesseur puis den dduire les pixels afficher. En effet, dans le cas de laffichage du scne 3D, le microprocesseur communique au GPU les donnes afficher sous forme vectorielle. Les objets sont donc dfinis par une masse de points reprsentant leurs coordonnes dans lespace. Pour afficher un objet lcran, le GPU procde en plusieurs tapes : 1. placer les objets dans le repre et leur appliquer des transformations (translation, rotation, etc) 2. appliquer les effets de lumires sur chaque objet 3. dcomposer les objets en petits triangles puis en fragments 4. appliquer des textures et des effets sur les fragments 5. afficher les pixel rsultants de lassociation des fragments Pour cela, il est constitu dun immense pipeline principal. Celui-ci comprend au moins un vertex shader (tape 1 et 2), un setup engine (tape 3) et un pixel shader (tape 4 et 5). Remarques : toutes ces oprations doivent tre effectues pour tous les pixels de la scne afficher. Pour une image en 1600x1200, cela fait 1 920 000 pixels calculer, soit prs de 6 millions de fragments !!!! Dautant plus que pour bien faire, le GPU doit tre capable dafficher 50 images/s soit calculer 300 millions de fragments par seconde Ceci explique pourquoi les GPU des cartes 3D rcentes sont plus complexes que les derniers microprocesseurs. Pour utiliser au mieux les capacits des cartes graphiques ont dispose d'API (Application Program Interface) qui sont des langages de description et de manipulation des objets : Direct3D de Microsoft OpenGL
6.1.4.3 Le RAMDAC
Le Ramdac (Random Access Memory Digital Analog Converter) convertit les signaux dlivrs par la carte en signaux analogiques compatibles avec la norme VGA des moniteurs. Plus la frquence du RAMDAC d'une carte graphique sera leve, plus le rafrachissement et la rsolution de l'image pourront tre levs. Le confort visuel apparat partir dun rafrachissement de 72 Hz (frquence laquelle sont rafrachies les lignes afficher). En principe, la frquence du RAMDAC est donc de lordre de : Largeur cran x Hauteur cran x frquence rafrachissement x 1.32 On rajoute un coefficient de 1.32 cause du temps perdu par le canon lectron lors de ces dplacements. Exemple : Pour une rsolution de 1600x1200 une frquence de 85Hz, il faudra un RAMDAC de 1600x1200x85x1.32= 215 Mhz !!!
50
51
donn, il faudra donc dplacer l'ensemble des bras et attendre ensuite que ce secteur se positionne sous les ttes. Laccs un bloc est alatoire alors que laccs un secteur est squentiel. Une autre unit de lecture/criture est le cylindre. Un cylindre est constitu par toutes les pistes superposes verticalement qui se prsentent simultanment sous les ttes de lecture/criture. En effet, il est plus simple d'crire sur les mmes pistes des plateaux superposs que de dplacer nouveau l'ensemble des bras. Le formatage de haut niveau permet de crer un systme de fichiers grable par un systme d'exploitation (DOS, Windows, Linux, OS/2, etc ...). La dfragmentation : A mesure que l'on stocke et supprime des fichiers, la rpartition des fichiers sur les diffrents clusters est modifie. L'idal, pour accder rapidement un fichier, serait de pouvoir stocker un fichier sur des clusters contigus sur le mme cylindre. La dfragmentation permet de rorganiser le stockage des fichiers dans les clusters pour optimiser la lecture. Les caractristiques : capacit en Go vitesse de rotation en tours minutes temps d'accs exprim en millisecondes interface (IDE, SCSI, SATA) taux de transfert moyen exprim en Mo par seconde A noter que les disques durs actuels sont quips de cache mmoire afin de diminuer les temps daccs.
Plusieurs technologies diffrentes existent en fonction du type de CD : CD-ROM, CD-R, CD-RW. Le principe de lecture/criture utilise un rayon infrarouge d'une longueur d'onde de 780 nm. Lors de la lecture d'un CD, le faisceau laser traverse la couche de polycarbonate puis rencontre ou non un creux. Lors dun passage devant un creux, la lumire du laser est fortement rfracte, de telle sorte que la quantit de lumire renvoye par la couche rflchissante est minime. Alors que pour un passage devant un plat, la lumire est pratiquement entirement rflchie. Lorsque le signal rflchi change, la valeur binaire est 1. Lorsque la rflexion est constante, la valeur est 0. A noter que contrairement aux disques durs, un CD n'a qu'une seule piste organise en spirale.
52
Cette piste nest pas rgulire mais oscille autour de sa courbe moyenne. La frquence de ces oscillations est de 22,05 kHz. Cette oscillation permet la tte de lecture de suivre la courbe et de rguler la vitesse de rotation du CD. Pour lcriture, il faut utiliser un graveur avec des supports adquates (CD-R ou CD-RW). Les techniques sont assez similaires qu'il s'agisse d'un CD-R ou d'un CD-RW. Dans le cas d'un CR-R, on ajoute une couche de colorant organique pouvant tre brl par un laser 10 fois plus puissant que le laser requit pour lire un CD. Cette couche de colorant est photosensible. Lorsqu'elle est soumise une forte lumire, elle l'absorbe et sa temprature augmente plus de 250, ce qui fait qu'elle brle localement, et cre des plages brles et non brles. Les creux et bosses du CD classique sont donc ici remplacs par le passage d'une zone brle une zone non brle qui rflchisse plus ou moins de lumire. Pour les CD-RW, on utilise un alliage mtallique qui possde la particularit de pouvoir retrouver son tat dorigine en utilisant un laser 200 degrs (effacement). Les mthodes dcriture : Monosession : Cette mthode cre une seule session sur le disque et ne donne pas la possibilit de rajouter des donnes sur le CD. Multisession : Cette mthode permet de graver un CD en plusieurs fois, en crant une table des matires (TOC pour table of contents) de 14Mo pour chacune des sessions. Track At Once : Cette mthode permet de dsactiver le laser entre deux pistes, afin de crer une pause de 2 secondes entre chaque pistes d'un CD audio. Disc At Once : Contrairement la mthode prcdente, le Disc At Once crit sur le CD en une seule traite. Les musiques sont donc enchanes. Les techniques de gravures : Burn Proof ou Just Link : Le problme des graveurs tait l'envoi des donnes un rythme suffisant. Lorsque les donnes ntaient plus prsentes dans le buffer du graveur, il y avait une rupture de flux. Ceci entranait larrt de la gravure par manque de donnes et le CDR tait inutilisable. Pour corriger ce type d'erreurs, les fabricants utilisent maintenant des techniques qui suspendent la gravure lorsque les donnes ne sont pas prsentes, et la reprend ds que les donnes sont de nouveau prsentes dans le buffer. Cette technique est appele JUST LINK chez la majorit des fabricants, Burn-Proof chez Plextor. L'overburning : cette technique permet de dpasser lgrement la capacit du support vierge afin de stocker un peu de donnes supplmentaires. Pour ce faire, il faut que le logiciel de gravure, ainsi que le graveur, supportent cette technique. Caractristiques dun lecteur/graveur : la vitesse maximum de gravage des CD-R la vitesse maximum de gravage des CD-RW la vitesse maximum de lecture des CD interface (IDE, SCSI, SATA) Principe DVDROM : Le DVD-ROM (Digital Versatile Disc - Read Only Memory) est apparu en 1997 et est principalement ddi la vido. Cest en fait un CD-ROM dont la capacit est bien plus grande. En effet, la lecture/criture est effectue partir dun laser rouge (650 et 635 nm) et permet dobtenir des creux beaucoup plus petits et donc de stocker plus dinformatons. Les deux longueurs dondes utilises permettent de lire/crire sur des DVD "double couche". Ces disques sont constitus d'une couche transparente et d'une couche rflexive et permettent donc de stocker encore plus dinformations sur un seul CD.
53
Il existe 3 types de DVD rinscriptibles et incompatibles : DVD-RAM : le disque simple face permet de stocker 2.6 Go. Il nest pas compatible avec les lecteurs de salon. DVD-RW de Sony, Philips et HP permet de stocker 4.7Go par face. Il est entirement compatible avec les platines de salon. DVD+RW est le nouveau standard concurrent au DVD-RW. Il est entirement compatible avec les platines de salon. Plusieurs marques ont form une alliance et dveloppent des graveurs DVD prsentant des temps daccs plus faible et des vitesses de gravure plus importante.
Type de support CD DVD-RAM DVD-RW/+RW simple face simple couche DVD-RW/+RW double face simple couche DVD-RW/+RW simple face double couche DVD-RW/+RW double face double couche
Nombre de CD 1 4 6
9.4 Go
12
8.5 Go
11
17 Go
22
54
Bibliographie
Cours Web :
A brief history of Intel and AMD microprocessors (cours DEUG Universit Angers) Jean-Michel Richer Architecture Avance des ordinateurs (cours Supelec Rennes) Jacques Weiss Architecture des ordinateurs (cours IUT GTR Montbliard) Eric Garcia Architecture des ordinateurs (cours IUT SRC Marne la Valle) Dominique Prsent Architecture des ordinateurs (cours Universit Franche Compt) Didier Teifreto Architecture des ordinateurs (cours IUP STRI Toulouse) Architecture des ordinateurs (cours Universit de Sherbrooke) Frdric Mailhot Architecture des ordinateurs (cours Polytechnique) Olivier Temam Architecture des ordinateurs (cours IUT GTR Villetaneuse) Emmanuel Viennet Architecture des ordinateurs (cours DEUG MIAS) Frdric Vivien Architecture des Ordinateurs (cours Licence Informatique USTL) David Simplot Architecture des machines et systmes Informatiques Jolle Delacroix Architectures des processeurs (cours DEUST Nancy) Yannick Chevalier Architecture des systmes microprocesseurs Maryam Siadat et Camille Diou Architecture des systmes microprocesseurs (cours IUT Mesures Physiques) Sbastien Pillement Architecture Systmes et Rseaux (cours DEUG 2ime anne) Fabrice Bouquet Carte graphique (ENIC) Julien Lenoir Cours de rseau (cours EISTI) Bruno Pant Cours de rseaux (cours Matrise Informatique Universit Angers) Pascal Nicolas Du processeur au systme dexploitation (cours DEUST Nancy) Yannick Chevalier Introduction to computer architecture (cours DEUG Universit Angers) Jean-Michel Richer Les rseaux : introduction (DESS DCISS) Emmanuel .Cecchet Les systmes informatiques (cours CNAM) Christian Carrez
Sites web :
Fonctionnement des composants du PC http://www.vulgarisation-informatique.com/composants.php Cours dinitiation aux microprocesseurs et aux microcontrleurs http://www.polytech-lille.fr/~rlitwak/Cours_MuP/sc00a.htm Architecture des ordinateurs Universit Angers http://www.info.univ-angers.fr/pub/richer/ens/deug2/ud44/ Les docs de Heissler Frdric http://worldserver.oleane.com/heissler/ X-86 secret http://www.x86-secret.com/ Le cours hardware dYBET informatique http://www.ybet.be/hardware/hardware1.htm Informa Tech http://informatech.online.fr/articles/index.php
Articles presse :
Mmoire Flash article Electronique Juillet 98 Les processeurs numriques de signal article Electronique Janvier 2004 Fonctionnement dun processeur et dune carte graphique article Hardware magazine Novembre 2003
55
Livres :
Architecture et technologie des ordinateurs (Dunod) Paolo Zanella et Yves Ligier Technologie des ordinateurs et des rseaux (Dunod) Pierre-Alain Goupille Les microprocesseurs, comment a marche ? (Dunod) T. Hammerstrom et G. Wyant
56