You are on page 1of 56

Architecture des ordinateurs

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

5 LES ECHANGES DE DONNEES


5.1 LINTERFACE DENTREE/SORTIE 5.1.1 ROLE 5.1.2 CONSTITUTION 5.2 TECHNIQUES DECHANGE DE DONNEES 5.2.1 ECHANGE PROGRAMME 5.2.1.1 Scrutation 5.2.1.2 Interruption 5.2.2 ECHANGE DIRECT AVEC LA MEMOIRE 5.3 TYPES DE LIAISONS 5.3.1 LIAISON PARALLELE 5.3.2 LIAISON SERIE 5.4 NOTION DE RESEAU 5.4.1 INTRODUCTION 5.4.2 LE MODELE OSI 5.4.3 CLASSIFICATION DES RESEAUX 5.4.4 TOPOLOGIE DES RESEAUX

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.2 Quentend-t-on par architecture ?


L'architecture d'un systme microprocesseur reprsente lorganisation de ses diffrentes units et de leurs interconnexions. Le choix d'une architecture est toujours le rsultat d'un compromis : entre performances et cots entre efficacit et facilit de construction entre performances d'ensemble et facilit de programmation etc

1.3 Quest ce quun microprocesseur ?


Un microprocesseur est un circuit intgr complexe. Il rsulte de lintgration sur une puce de fonctions logiques combinatoires (logiques et/ou arithmtique) et squentielles (registres, compteur, etc). Il est capable d'interprter et d'excuter les instructions d'un programme. Son domaine dutilisation est donc presque illimit. Le concept de microprocesseur a t cr par la Socit Intel. Cette Socit, cre en 1968, tait spcialise dans la conception et la fabrication de puces mmoire. la demande de deux de ses clients fabricants de calculatrices et de terminaux Intel tudia une unit de calcul implmente sur une seule puce. Ceci donna naissance, en 1971, au premier microprocesseur, le 4004, qui tait une unit de calcul 4 bits fonctionnant 108 kHz. Il rsultait de lintgration denviron 2300 transistors. Remarques : La ralisation de circuits intgrs de plus en plus complexe a t rendue possible par lapparition du transistor en 1947. Il a fallu attendre 1958 pour voir apparatre le 1ier circuit intgr ralis par Texas Instrument.

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

1.5 O trouve-t-on des systmes microprocesseur ?


Les applications des systmes microprocesseurs sont multiples et varies : - Ordinateur, PDA - console de jeux - calculatrice - tlvision - tlphone portable - distributeur automatique dargent - robotique - lecteur carte puce, code barre - automobile - instrumentation - etc

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

2.2 Lunit centrale


Elle est compose par le microprocesseur qui est charg dinterprter et dexcuter les instructions dun programme, de lire ou de sauvegarder les rsultats dans la mmoire et de communiquer avec les units dchange. Toutes les activits du microprocesseur sont cadences par une horloge. On caractrise le microprocesseur par : sa frquence dhorloge : en MHz ou GHz le nombre dinstructions par secondes quil est capable dexcuter : en MIPS la taille des donnes quil est capable de traiter : en bits

2.3 La mmoire principale


Elle contient les instructions du ou des programmes en cours dexcution et les donnes associes ce programme. Physiquement, elle se dcompose souvent en : une mmoire morte ( ROM = Read Only Memory ) charge de stocker le programme. Cest une mmoire lecture seule. une mmoire vive ( RAM = Random Access Memory ) charge de stocker les donnes intermdiaires ou les rsultats de calculs. On peut lire ou crire des donnes dedans, ces donnes sont perdues la mise hors tension.

Remarque : Les disques durs, disquettes, CDROM, etc sont des priphriques de stockage et sont considrs comme des mmoires secondaires.

2.4 Les interfaces dentres/sorties


Elles permettent dassurer la communication entre le microprocesseur et les priphriques. ( capteur, clavier, moniteur ou afficheur, imprimante, modem, etc).

2.5 Les bus


Un bus est un ensemble de fils qui assure la transmission du mme type dinformation. On retrouve trois types de bus vhiculant des informations en parallle dans un systme de traitement programm de linformation : - un bus de donnes : bidirectionnel qui assure le transfert des informations entre le microprocesseur et son environnement, et inversement. Son nombre de lignes est gal la capacit de traitement du microprocesseur. - un bus d'adresses: unidirectionnel qui permet la slection des informations traiter dans un espace mmoire (ou espace adressable) qui peut avoir 2n emplacements, avec n = nombre de conducteurs du bus d'adresses. - un bus de commande: constitu par quelques conducteurs qui assurent la synchronisation des flux d'informations sur les bus des donnes et des adresses.

2.6 Dcodage dadresses


La multiplication des priphriques autour du microprocesseur oblige la prsence dun dcodeur dadresse charg daiguiller les donnes prsentes sur le bus de donnes. En effet, le microprocesseur peut communiquer avec les diffrentes mmoires et les diffrents botier dinterface. Ceux-ci sont tous relis sur le mme bus de donnes et afin dviter des conflits, un seul composant doit tre slectionn la fois. Lorsquon ralise un systme microprogramm, on attribue donc chaque priphrique une zone dadresse et une fonction dcodage dadresse est donc ncessaire afin de fournir les signaux de slection de chacun des composants. Dcodeur dadresses

Bus dadresses Bus de commande

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.

3.1 Organisation dune mmoire


Une mmoire peut tre reprsente comme une armoire de rangement constitue de diffrents tiroirs. Chaque tiroir reprsente alors une case mmoire qui peut contenir un seul lment : des donnes. Le nombre de cases mmoires pouvant tre trs lev, il est alors ncessaire de pouvoir les identifier par un numro. Ce numro est appel adresse. Chaque donne devient alors accessible grce son adresse Adresse 7 = 111 6 = 110 5 = 101 4 = 100 3 = 011 2 = 010 1 = 001 0 = 000 0001 1010 Case mmoire

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.

3.2 Caractristiques dune mmoire


La capacit : cest le nombre total de bits que contient la mmoire. Elle sexprime aussi souvent en octet. Le format des donnes : cest le nombre de bits que lon peut mmoriser par case mmoire. On dit aussi que cest la largeur du mot mmorisable. Le temps daccs : cest le temps qui s'coule entre l'instant o a t lance une opration de lecture/criture en mmoire et l'instant o la premire information est disponible sur le bus de donnes. Le temps de cycle : il reprsente l'intervalle minimum qui doit sparer deux demandes successives de lecture ou d'criture. Le dbit : cest le nombre maximum d'informations lues ou crites par seconde. Volatilit : elle caractrise la permanence des informations dans la mmoire. L'information stocke est volatile si elle risque d'tre altre par un dfaut d'alimentation lectrique et non volatile dans le cas contraire. Exemple : Chronogramme dun cycle de lecture
BUS @ @x

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

3.3 Diffrents types de mmoire


3.3.1 Les mmoires vives (RAM)
Une mmoire vive sert au stockage temporaire de donnes. Elle doit avoir un temps de cycle trs court pour ne pas ralentir le microprocesseur. Les mmoires vives sont en gnral volatiles : elles perdent leurs informations en cas de coupure d'alimentation. Certaines d'entre elles, ayant une faible consommation, peuvent tre rendues non volatiles par l'adjonction d'une batterie. Il existe deux grandes familles de mmoires RAM (Random Acces Memory : mmoire accs alatoire) : Les RAM statiques Les RAM dynamiques

3.3.1.1 Les RAM statiques


Le bit mmoire d'une RAM statique (SRAM) est compos d'une bascule. Chaque bascule contient entre 4 et 6 transistors.
@7 @6 @5 @4 @3 @2 @1 @0 D7 D5 D3 D1 D6 D4 D2 D0

3.3.1.2 Les RAM dynamiques


Dans les RAM dynamiques (DRAM), l'information est mmorise sous la forme d'une charge lectrique stocke dans un condensateur (capacit grille substrat d'un transistor MOS).

@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)

3.3.2 Les mmoires mortes (ROM)


Pour certaines applications, il est ncessaire de pouvoir conserver des informations de faon permanente mme lorsque l'alimentation lectrique est interrompue. On utilise alors des mmoires mortes ou mmoires lecture seule (ROM : Read Only Memory). Ces mmoires sont non volatiles. Ces mmoires, contrairement aux RAM, ne peuvent tre que lue. Linscription en mmoire des donnes restent possible mais est appele programmation. Suivant le type de ROM, la mthode de programmation changera. Il existe donc plusieurs types de ROM : ROM PROM EPROM EEPROM FLASH EPROM.

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).

3.3.2.3 LEPROM ou UV-EPROM


Pour faciliter la mise au point d'un programme ou tout simplement permettre une erreur de programmation, il est intressant de pouvoir reprogrammer une PROM. La technique de claquage utilise dans celles-ci ne le permet videmment pas. L'EPROM (Erasable Programmable ROM) est une PROM qui peut tre efface. Structure Dans une EPROM, le point mmoire est ralis partir dun transistor FAMOS (Floating gate Avalanche injection Metal Oxyde Silicium). Ce transistor MOS a t introduit par Intel en 1971 et a la particularit de possder une grille flottante. Programmation S G D

N P

Grille flottante canal

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.

3.3.2.5 La FLASH EPROM


La mmoire Flash s'apparente la technologie de lEEPROM. Elle est programmable et effaable lectriquement comme les EEPROM. Structure Il existe deux technologie diffrentes qui se diffrencient par lorganisation de leurs rseaux mmoire : larchitecture NOR et NAND. Larchitecture NOR propose un assemblage des cellules lmentaires de mmorisation en parallle avec les lignes de slection comme dans une EEPROM classique. Larchitecture NAND propose un assemblage en srie de ces mmes cellules avec les lignes de slection. Dun point de vue pratique, la diffrence majeure entre NOR et NAND tient leurs interfaces. Alors quune NOR dispose de bus dadresses et de donnes ddis, la NAND est D7 D5 D3 D1 dote dune interface dE/S indirecte. . Par contre, la structure NAND D6 D4 D2 D0 autorise une implantation plus dense grce une taille de cellule approximativement 40 % plus petite que la structure NOR.
Architecture NOR
@7 @6 @5 @4 @3 @2 @1 @0

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...).

3.4 Critres de choix dune mmoire


Les principaux critres retenir sont : capacit vitesse consommation cot

3.5 Notion de hirarchie mmoire


Une mmoire idale serait une mmoire de grande capacit, capable de stocker un maximum dinformations et possdant un temps daccs trs faible afin de pouvoir travailler rapidement sur ces informations. Mais il se trouve que les mmoires de grande capacit sont souvent trs lente et que les mmoire rapides sont trs chres. Et pourtant, la vitesse daccs la mmoire conditionne dans une large mesure les performances dun systme. En effet, cest l que se trouve le goulot dtranglement entre un microprocesseur capable de traiter des informations trs rapidement et une mmoire beaucoup plus lente (ex : processeur actuel 3Ghz et mmoire 400MHz). Or, on na jamais besoin de toutes les informations au mme moment. Afin dobtenir le meilleur compromis cot-performance, on dfinie donc une hirarchie mmoire. On utilise des mmoires de faible capacit mais trs rapide pour stocker les informations dont le microprocesseur se sert le plus et on utilise des mmoires de capacit importante mais beaucoup plus lente pour stocker les informations dont le microprocesseur se sert le moins. Ainsi, plus on sloigne du microprocesseur et plus la capacit et le temps daccs des mmoire vont augmenter. +

1 ns Registre 5 ns 10 ns

< 400 o 8 ko 4 Mo suivant les niveaux Jusqu 1 Go 2 8 Mo 200 Go

vitesse

Mmoire cache Mmoire principale Mmoire dappui

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).

4.1 Architecture de base dun microprocesseur


Un microprocesseur est construit autour de deux lments principaux : Une unit de commande Une unit de traitement associs des registres charges de stocker les diffrentes informations traiter. Ces trois lments sont relis entre eux par des bus interne permettant les changes dinformations.
Bus dadresses @

Programme Unit de traitement Unit de commande Donnes

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.

4.1.1 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 constitu par un registre dont le contenu est initialis avec l'adresse de la premire instruction du programme. Il contient toujours ladresse de linstruction excuter.

(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.

4.1.2 Lunit de traitement


Cest le cur du microprocesseur. Elle regroupe les circuits qui assurent les traitements ncessaires l'excution des instructions : LUnit Arithmtique et Logique (UAL) est un circuit complexe qui assure les fonctions logiques (ET, OU, Comparaison, Dcalage , etc) ou arithmtique (Addition, soustraction). Le registre d'tat est gnralement compos de 8 bits considrer individuellement. Chacun de ces bits est un indicateur dont l'tat dpend du rsultat de la dernire opration effectue par lUAL. On les appelle indicateur dtat ou flag ou drapeaux. Dans un programme le rsultat du test de leur tat conditionne souvent le droulement de la suite du programme. On peut citer par exemple les indicateurs de : o retenue (carry : C) o retenue intermdiaire (Auxiliary-Carry : AC) o signe (Sign : S) o dbordement (overflow : OV ou V) o zro (Z) o parit (Parity : P) Les accumulateurs sont des registres de travail qui servent stocker une oprande au dbut d'une opration arithmtique et le rsultat la fin de l'opration.

4.1.3 Schma fonctionnel


Bus dadresses

Registre d@ Acc. Registre dtats PC Bus de commande Bloc logique de commande

Programme

UAL

Donnes
Registre dinstruction Registre Donnes H Bus de donnes Dcodeur dinstruction

4.2 Cycle dexcution dune instruction


Le microprocesseur ne comprend quun certain nombre dinstructions qui sont codes en binaire. Le traitement dune instruction peut tre dcompos en trois phases. Phase 1: Recherche de l'instruction traiter 1. Le PC contient l'adresse de l'instruction suivante du programme. Cette valeur est place sur le bus d'adresses par l'unit de commande qui met un ordre de lecture. 2. Au bout d'un certain temps (temps d'accs la mmoire), le contenu de la case mmoire slectionne est disponible sur le bus des donnes. 3. L'instruction est stocke dans le registre instruction du processeur.
1
PC

microprocesseur

$2000 @ $2000 $2000 $2001 3 Dcodeur dinstruction 2 $2002 $2003 $2004

mmoire Instr. 1 Opr. 1 Instr. 2

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.

2 microprocesseur Bloc logique de commande


PC

$2000 @ $2001 $2000 $2001 $2002 $2003 $2004

mmoire Instr. 1 Opr. 1 Instr. 2 Instr. 3

RI

Instr. 1

Dcodeur dinstruction 1

UAL

3 Opr. 2 Opr. 1 Opr. 1 $FFFF

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.

microprocesseur Bloc logique de commande

PC

$2002 $2000 Instr. 1 $2001 $2002 $2003 $2004

mmoire Instr. 1 Opr. 1 Instr. 2 Instr. 3

3
RI

Dcodeur dinstruction

UAL
1 Result. Opr. 1

Z=1 C=0 2

$FFFF

4.3 Jeu dinstructions


4.3.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.

4.3.2 Type dinstructions


Les instructions que lon retrouve dans chaque microprocesseur peuvent tre classes en 4 groupes : Transfert de donnes pour charger ou sauver en mmoire, effectuer des transferts de registre registre, etc Oprations arithmtiques : addition, soustraction, division, multiplication Oprations logiques : ET, OU, NON, NAND, comparaison, test, etc Contrle de squence : branchement, test, etc

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.

4.3.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.

4.3.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.

4.4 Langage de programmation


Le langage machine est le langage compris par le microprocesseur. Ce langage Langage haut niveau est difficile matriser puisque chaque (for, ifthen, write, etc) instruction est code par une squence propre de bits. Afin de faciliter la tche du compilation programmeur, on a cr diffrents langages Langage assembleur plus ou moins volus. (sta, lda, cmp, mov, bra, etc) Le langage assembleur est le langage le plus proche du langage machine. Il est assemblage compos par des instructions en gnral assez rudimentaires que lon appelle des Langage machine mnmoniques. Ce sont essentiellement des (0001 1101, 1111 0110, etc) 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 : Code machine ( 68HC11 ) @00 @01 @03 @04 @05 C6 64 B6 00 1B 5A 26 03 Assembleur ( 68HC11 ) LDAB #100 LDAA #0 ABA DECB BNE ret Langage C A=0 ; for ( i=1 ; i<101 ; i++) A=A+i ;

ret

4.5 Performances dun microprocesseur


On peut caractriser la puissance dun microprocesseur par le nombre dinstructions quil est capable de traiter par seconde. Pour cela, on dfinit : le CPI (Cycle Par Instruction) qui reprsente le nombre moyen de cycles dhorloge ncessaire pour lexcution dune instruction pour un microprocesseur donn. le MIPS (Millions d'Instructions Par Seconde) qui reprsente la puissance de traitement du microprocesseur.

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 Notion darchitecture RISC et CISC


Actuellement larchitecture des microprocesseurs se composent de deux grandes familles : L architecture CISC (Complex Instruction Set Computer) Larchitecture RISC (Reduced Instruction Set Computer)

4.6.1 Larchitecture CISC 4.6.1.1 Pourquoi


Par le pass la conception de machines CISC tait la seule envisageable. En effet, vue que la mmoire travaillait trs lentement par rapport au processeur, on pensait quil tait plus intressant de soumettre au microprocesseur des instructions complexes. Ainsi, plutt que de coder une opration complexe par plusieurs instructions plus petites (qui demanderaient autant daccs mmoire trs lent), il semblait prfrable dajouter au jeu dinstructions du microprocesseur une instruction complexe qui se chargerait de raliser cette opration. De plus, le dveloppement des langages de haut niveau posa de nombreux problmes quant la conception de compilateurs. On a donc eu tendance incorporer au niveau processeur des instructions plus proches de la structure de ces langages.

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 Larchitecture RISC 4.6.2.1 Pourquoi


Des tudes statistiques menes au cours des annes 70 ont clairement montr que les programmes gnrs par les compilateurs se contentaient le plus souvent d'affectations, d'additions et de multiplications par des constantes. Ainsi, 80% des traitements des langages de haut niveau faisaient appel seulement 20% des instructions du microprocesseur. Do lide de rduire le jeu dinstructions celles le plus couramment utilises et den amliorer la vitesse de traitement.

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 Amliorations de larchitecture de base


L'ensemble des amliorations des microprocesseurs visent diminuer le temps d'excution du programme. La premire ide qui vient lesprit est daugmenter tout simplement la frquence de lhorloge du microprocesseur. Mais lacclration des frquences provoque un surcrot de consommation ce qui entrane une lvation de temprature. On est alors amen quiper les processeurs de systmes de refroidissement ou diminuer la tension dalimentation. Une autre possibilit daugmenter la puissance de traitement dun microprocesseur est de diminuer le nombre moyen de cycles dhorloge ncessaire lexcution dune instruction. Dans le cas dune programmation en langage de haut niveau, cette amlioration peut se faire en optimisant le compilateur. Il faut quil soit capable de slectionner les squences dinstructions minimisant le nombre moyen de cycles par instructions. Une autre solution est dutiliser une architecture de microprocesseur qui rduise le nombre de cycles par instruction.

4.7.1 Architecture pipeline

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.

Exemple de lexcution en 4 phases dune instruction :


Recherche Dcodage Excution Sauv. rsultat

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

4.7.1.2 Gain de performance


Dans cette structure, la machine dbute lexcution dune instruction chaque 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 :

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 Notion de cache mmoire 4.7.2.1 Problme pos


Lcart de performance entre le microprocesseur et la mmoire ne cesse de saccrotre. En effet, les composants mmoire bnficient des mmes progrs technologique que les microprocesseurs mais le dcodage des adresses et la lecture/criture dune donnes sont des tapes difficiles acclrer. Ainsi, le temps de cycle processeur dcrot plus vite que le temps daccs mmoire entranant un goulot dtranglement. La mmoire n'est plus en mesure de dlivrer des informations aussi rapidement que le processeur est capable de les traiter. Il existe donc une latence daccs entre ces deux organes.

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.

4.7.3 Architecture superscalaire


Une autre faon de gagner en performance est dexcuter plusieurs instructions en mme temps. L'approche superscalaire consiste doter le microprocesseur de plusieurs units de traitement travaillant en parallle. Les instructions sont alors rparties entre les diffrentes units d'excution. Il faut donc pouvoir soutenir un flot important dinstructions et pour cela disposer dun cache performant. Architecture scalaire :
I1 I2 I3 I4 N cycles I5 I6 I7 I8

Unit de traitement

Architecture superscalaire :
I1 I3 I5 I6 I8

Unit de traitement 1 Unit de traitement 2

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.

4.7.4 Architecture pipeline et superscalaire


Le principe est de dexcuter les instructions de faon pipeline dans chacune des units de traitement travaillant en parallle. UT1 UT2
Recherche Recherche Dcodage Dcodage Excution Excution Sauv. rsultat Sauv. rsultat

9 10 11

Nbre de Cycles

4.8 Processeurs spciaux


4.8.1 Le microcontrleur
Ce sont des systmes minimum sur une seule puce. Ils contiennent un CPU, de la RAM, de la ROM et des ports dEntre/Sorties (parallles, sries, I2C, etc..). Ils comportent aussi des fonctions spcifiques comme des compteurs programmables pour effectuer des mesures de dures, des CAN voir des CNA pour sinsrer au sein de chanes dacquisition, des interfaces pour rseaux de terrain, etc ... Il est adapt pour rpondre au mieux aux besoin des applications embarques (appareil lectromnagers, chane dacquisition, lecteur carte puce, etc...). Il est par contre gnralement moins puissant en terme de rapidit, de taille de donnes traitables ou de taille de mmoire adressable quun microprocesseur.

4.8.2 Le processeur de signal


Le processeur de signal est beaucoup plus spcialis. Alors qu'un microprocesseur n'est pas conu pour une application spcifique, le processeur DSP (Digital Signal Processor) est optimis pour effectuer du traitement numrique du signal (calcul de FFT, convolution, filtrage numrique, etc...). Les domaines dapplication des D.S.P taient lorigine les tlcommunications et le secteur militaire. Aujourdhui, les applications se sont diversifies vers le multimdia (lecteur CD, MP3, etc..) llectronique grand public (tlvision numrique, tlphone portable, etc), lautomatique, linstrumentation, llectronique automobile, etc

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)

4.9.1 AMD Athlon :

AGU : Adress Generation Unit IEU : Integer Execution Unit

BTB : Branch Target Buffer 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) 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

4.9.2 Intel Pentium III

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

5 Les changes de donnes

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

Bus dadresses Bus de commande

Unit centrale

Mmoire Principale

Interface E/S

Bus de donnes

5.1 Linterface dentre/sortie


5.1.1 Rle
Chaque priphrique sera reli au systme par lintermdiaire dune interface (ou contrleur) dont le rle est de : Connecter le priphrique au bus de donnes Grer les changes entre le microprocesseur et le priphrique

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 Techniques dchange de donnes


Avant denvoyer ou de recevoir des informations, le microprocesseur doit connatre ltat du priphrique. En effet, le microprocesseur doit savoir si un priphrique est prt recevoir ou transmettre une information pour que la transmission se fasse correctement. Il existe 2 modes dchange dinformation : Le mode programm par scrutation ou interruption o le microprocesseur sert dintermdiaire entre la mmoire et le priphrique Le mode en accs direct la mmoire (DMA) o le microprocesseur ne se charge pas de lchange de donnes.

5.2.1 Echange programm 5.2.1.1 Scrutation


Dans la version la plus rudimentaire, le microprocesseur interroge linterface pour savoir si des transferts sont prts. Tant que des transferts ne sont pas prts, le microprocesseur attend. Linconvnient majeur est que le microprocesseur se retrouve souvent en phase dattente. Il est compltement occup par linterface dentre/sortie. De plus, linitiative de lchange de donnes est dpendante du programme excut par le microprocesseur. Il peut donc arriver que des requtes dchange ne soient pas traites immdiatement car le microprocesseur ne se trouve pas encore dans la boucle de scrutation. Ce type dchange est trs lent.

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

5.2.2 Echange direct avec la mmoire


Ce mode permet le transfert de blocs de donnes entre la mmoire et un priphrique sans passer par le microprocesseur. Pour cela, un circuit appel contrleur de DMA (Direct Memory Access) prend en charge les diffrentes oprations. Le DMA se charge entirement du transfert dun bloc de donnes. Le microprocesseur doit tout de mme : initialiser lchange en donnant au DMA lidentification du priphrique concern donner le sens du transfert fournir ladresse du premier et du dernier mot concerns par le transfert Un contrleur de DMA est dot dun registre dadresse, dun registre de donne, dun compteur et dun dispositif de commande (logique cble). Pour chaque mot change, le DMA demande au microprocesseur le contrle du bus, effectue la lecture ou l'criture mmoire l'adresse contenue dans son registre et libre le bus. Il incrmente ensuite cette adresse et dcrmente son compteur. Lorsque le compteur atteint zro, le dispositif informe le processeur de la fin du transfert par une ligne d'interruption. Le principal avantage est que pendant toute la dure du transfert, le processeur est libre d'effectuer un traitement quelconque. La seule contrainte est une limitation de ses propres accs mmoire pendant toute la dure de l'opration, puisqu'il doit parfois retarder certains de ses accs pour permettre au dispositif d'accs direct la mmoire d'effectuer les siens : il y a apparition de vols de cycle.
H

t
Accs mmoire
CPU CPU DMA DMA DMA CPU CPU CPU CPU

t
Requte DMA Vol de cycle IT DMA

35

5.3 Types de liaisons


Les systmes microprocesseur utilisent deux types de liaison diffrentes pour se connecter des priphriques : liaison parallle liaison srie On caractrise un type de liaison par sa vitesse de transmission ou dbit (en bit/s).

5.3.1 Liaison parallle


Dans ce type de liaison, tous les bits dun mot sont transmis simultanment. Ce type de transmission permet des transferts rapides mais reste limite de faibles distances de transmission cause du nombre important de lignes ncessaires (cot et encombrement) et des problmes dinterfrence lectromagntique entre chaque ligne (fiabilit). La transmission est cadence par une horloge
Interface

priphrique

Exemple : Bus PCI, AGP dans un PC.

5.3.2 Liaison srie


Dans ce type de liaison, les bits constitutifs dun mot sont transmis les uns aprs les autres sur un seul fil. Les distances de transmission peuvent donc tre plus beaucoup plus importantes mais la vitesse de transmission est plus faible. Sur des distance suprieures quelques dizaines de mtres, on utilisera des modems aux extrmits de la liaison.

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.

5.4 Notion de rseau


5.4.1 Introduction
Pour des raisons defficacit, on essaie de plus en plus de connecter des systmes indpendants entre eux par Machine A Machine B lintermdiaire dun rseau. On permet ainsi aux utilisateurs ou aux Rseau applications de partager et dchanger mettre recevoir les mmes informations. Pour faire circuler une information sur un rseau, on peut utiliser principalement deux stratgies. Soit linformation est envoye de faon complte, soit elle dcomposes en petits morceaux (paquets). Les paquets sont alors envoys sparment sur le rseau puis rassembls par la machine destinataire. On parle souvent de rseaux commutations de paquets La premire stratgie nest que trs rarement utiliss en informatique car les risques derreurs sont trop importants. Les rgles et les moyens mis en uvre dans linterconnexion et le dialogue des machines dfinissent le protocole et larchitecture du rseau. Toutes ces rgles sont dfinies par des normes pour que des machines darchitecture diffrente puissent communiquer entre elles. Par exemple, pour lenvoie dun fichier entre deux ordinateurs relis par un rseau, il faut rsoudre plusieurs problmes : Avant lenvoi des premiers octets du fichier, la machine source doit : 1) accder au rseau, 2) sassurer quelle peut atteindre la machine destination en donnant une adresse, 3) sassurer que la machine destination est prte recevoir des donnes, 4) contacter la bonne application sur la machine destination, 5) sassurer que lapplication est prte accepter le fichier et le stocker dans son systme de fichier Pendant lenvoi, les 2 machines doivent : 6) envoyer les donnes dans un format compris par les 2 machines, 7) grer lenvoi des commandes et des donnes et le rangement des donnes sur disque, 8) sassurer que les commandes et les donnes sont changes correctement et que l application destinataire reoit toutes les donnes sans erreur et dans le bon ordre. Au dbut des annes 70, chaque constructeur a dvelopp sa propre solution rseau autour darchitecture et de protocoles privs. Mais ils se sont vite rendu compte quil serait impossible dinterconnecter ces diffrents rseaux Ils ont donc dcid de dfinir une norme commune. Ce modle s'appelle OSI (Open System Interconnection) et comporte 7 couches qui ont toutes une fonctionnalit particulire. Il a t propos par l'ISO, et il est aujourd'hui universellement adopt et utilis.

38

5.4.2 Le modle OSI


Le modle OSI dfinit un modle darchitecture dcompos en couche dont la numrotation commence par le bas. Il donne une description globale de la fonction de chaque couche. Chacune des couches de ce modle reprsente une catgorie de problme que lon peut rencontrer dans la conception dun rseau. Ainsi, la mise en place dun rseau revient trouver une solution technologique pour chacune des couches composants le rseau. Lutilisation de couches permet galement de changer une solution technique pour une seule couche sans pour autant tre oblig de repenser toute larchitecture du rseau. De plus, chaque couche garantit la couche suprieure quelle a ralis son travail sans erreur. Systme A Couche 7 6 5 4 3 2 1 Fonction Application Prsentation Session Transport Rseau Liaison Physique
Canal de transmission Protocole de couche N

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).

5.4.3 Classification des rseaux


On peut tablir une classification des rseaux laide de leur taille. Les rseaux sont diviss en quatre grandes familles : les PAN, LAN, MAN et WAN. PAN : Personal Area Network ou rseau personnel Ce type de rseau interconnecte des quipements personnels comme un ordinateur portable, un ordinateur fixe, une imprimante, etc Il stend sur quelques dizaine de mtres. Les dbits sont importants (qq Mb/s). LAN : Local Area Network ou rseau local. Ce type de rseau couvre une rgion gographique limite (rseau intra-entreprise) et peut stendre sur plusieurs kilomtres. Les machines adjacentes sont directement et physiquement relies entre elles. Les dbits sont trs importants (de qq Mb/s qq Gb/s). MAN : Metropolitan Area Network ou rseau mtropolitain. Ce type de rseau possde une couverture qui peut s'tendre sur toute une ville et relie des composants appartenant des organisations proches gographiquement( qq dizaines de kilomtres). Ils permettent ainsi la connexion de plusieurs LAN. Le dbit courant varie jusqu 100 Mb/s. WAN : Wide Area Network ou tendu. Ce type de rseau couvre une trs vaste rgion gographique et permet de relier des systmes disperss lchelle plantaire (plusieurs milliers de km). Toutefois, tant donn la distance parcourir, le dbit est plus faible (de 50 b/s qq Mb/s).

40

PAN

LAN

MAN

WAN

1m

10m

100m

1km

10km

100km

distance

5.4.4 Topologie des rseaux


La topologie physique dun rseau dfinie larchitecture du rseau. Elle peut tre diffrente suivant le mode de transmission des informations. En mode de diffusion, chaque systme partage le mme support de transmission. Toute information envoye par un systme sur le rseau est reue par tous les autres. A la rception, chaque systme compare son adresse avec celle transmise dans le message pour savoir si il lui est destin ou non. Il ne peut donc y avoir quun seul metteur en mme temps. Avec une telle architecture, la rupture du support provoque larrt du rseau alors que la panne dun des lments ne provoque pas de panne globale du rseau. Dans le mode point point, le support physique relie les systmes deux deux seulement. Lorsque deux lments non directement connects entre eux veulent communiquer, ils doivent le faire par lintermdiaire dautres lments. Les protocoles de routage sont alors trs importants. Topologie en bus Facile mettre en uvre. A tout moment un seule station a le droit d'envoyer un message. La rupture de la ligne provoque l'arrt du rseau. La panne d'une station ne provoque pas de panne du rseau. mode de diffusion.
serveur serveur

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)

6.1 Lunit centrale


Elle est compose par : La carte mre Le microprocesseur La mmoire La carte vido Les priphriques internes de stockage

6.1.1 La carte mre


La carte mre est l'un des lments essentiels d'un ordinateur. Elle assure la connexion physique des diffrents composants (processeur, mmoire, carte d'entres/sorties, ...) par lintermdiaire de diffrents bus (adresses, donnes et commande). Plusieurs technologies de bus peuvent se ctoyer sur une mme carte mre. La qualit de la carte mre est vitale puisque la performance de lordinateur dpend normment delle. On retrouve toujours sur une carte mre : le chipset : cest une interface dentre/sortie. Elle est constitue par un jeu de plusieurs composants charg de grer la communication entre le microprocesseur et les priphriques. Cest le lien entre les diffrents bus de la carte mre. le BIOS (Basic Input Ouput Service) : cest un programme responsable de la gestion du matriel : clavier, cran, disques durs, liaisons sries et parallles, etc... Il est sauvegard dans une mmoire morte (EEPROM) et agit comme une interface entre le systme dexploitation et le matriel. lhorloge : elle permet de cadencer le traitement des instructions par le microprocesseur ou la transmission des informations sur les diffrents bus. les ports de connexion : ils permettent de connecter des priphriques sur les diffrents bus de la carte mre. Il existe des ports internes pour connecter des cartes dextension (PCI, ISA, AGP) ou des priphriques de stockage (SCSI, IDE, Serial ATA) et des ports externes pour connecter dautres priphriques (srie, parallle, USB, firewire, etc ) Le socket : cest le nom du connecteur destiner au microprocesseur. Il dtermine le type de microprocesseur que lon peut connecter.

43

Architecture dune carte mre CPU


Cache L1 Bus processeur 66 200 MHz

Backside bus

Cache L2

AGP

Bus AGP 66 MHz x1 x2 x4 x8

Pont Nord

Bus mmoire 66 200 MHz

RAM

Liaison pont nord/pont sud

2 canaux

Bus IDE 100/133 Mo/s Bus USB 60 Mo/s Firewire 100/400 Mo/s Bus PCI

Pont SCSI

Bus SCSI 40/80 MHz

7 15 priphriques maximum

127 priphriques maximum

Pont Sud

33/66/133 MHz

Vido Audio
Port srie Port parallle Interface floppy

Pont ISA

Bus ISA 8 MHz

AC97 LAN 100 Mo/s

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

Exemple : Carte mre ASUS A7N8X

Connecteur PCI Connecteur AGP Connecteur RAM

Connecteur IDE Chipset Socket

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

Exemple : Microprocesseur haut de gamme Dcembre 2004

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

Exemple : Systme de refroidissement

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.

Matrice Mmoire Buffer

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

Exemple : Dnomination des mmoires SDRAM

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.

6.1.4 La carte vido


Le rle de la carte graphique est de convertir les donnes numriques afficher en un signal comprhensible par un cran . Alors qu' ses dbuts, la carte vido se chargeait uniquement d'afficher une simple image forme de points colores (pixel), les derniers modles apparus se chargent d'afficher des images en 3D d'une grande complexit. Cest donc un systme microprocesseur elle seule qui est compose par : Un GPU (Graphics Processor Unit) De la mmoire vido Dun dispositif de conversion analogique numrique : RAMDAC. Dentres/sorties vido BUS GPU Mmoire vido DVI

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.2 La mmoire vido


Elle sert stocker les images et les textures afficher. Elle doit prsenter des dbits trs important. Actuellement, la plupart des cartes graphiques sont dotes de DDR SDRAM.

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

6.1.4.4 Les entres/sorties vido


La sortie vers le moniteur se fait par lintermdiaire dune sortie au format VGA. Maintenant, la plupart des cartes disposent dune sortie TV au format S-vido. Depuis lexplosion des crans LCD, elles disposent aussi souvent dun port DVI en plus du port VGA. Le port DVI est numrique et ne ncessite pas la traduction des donnes par le RAMDAC.

6.1.5 Les priphriques internes de stockage


Ce sont les priphriques de type mmoire de masse. On les appelle ainsi pour leur grande capacit de stockage permanent. Ces priphriques sont dots dun contrleur permettant de les faire dialoguer avec le microprocesseur. Actuellement, les plus rpandus sont lIDE et le SCSI. Le SCSI prsente des dbits plus importants que lIDE (160Mo/s contre 133Mo/s) et permet de connecter plus de priphriques sur le mme contrleur (7 contre 4). Nanmoins, cette technologie tant plus onreuse, on la retrouve surtout sur des serveurs alors que lIDE est prsent dans tous les PC. A lheure actuelle, ces deux types de contrleur sont en fin de vie et sont progressivement remplacs par des contrleur de type Serial ATA. Ce sont des contrleurs srie drivs de linterface IDE qui vont permettent datteindre des dbits de 600 Mo/s. Les priphriques internes de stockage sont principalement des priphriques utilisant des supports magntiques (disque dur) ou optiques (CDROM, DVDROM).

6.1.5.1 Le disque dur


Les disques durs sont capables de stocker des quantits impressionnantes d'informations, et surtout de les ordonner et de les retrouver rapidement. Principe : Le disque dur est constitu de plusieurs plateaux empils, entre lesquels se dplace un bras comptant plusieurs ttes de lecture. Chaque plateau est recouvert d'une piste surface magntique sur ses deux faces et tourne une vitesse comprise entre 4000 et 15000 tr/min. La tte de lecture/criture est secteur compose par un aimant autour duquel est enroule une bobine. Pour crire, on fait passer un courant lectrique dans la bobine ce qui cre un champ magntique. Les lignes de champ magntique traversent la couche d'oxyde et orientent celuici en crant de petits aimants dont le sens est donn par le sens du courant dans la bobine. Pour lire, on fait passer la tte de lecture/criture sur le support magntis qui cre un courant induit dans la bobine dont le sens indique s'il s'agit d'un 0 ou d'un 1. Le formatage : Le formatage de bas niveau permet d'organiser la surface du disque en lments simples (pistes et secteurs) qui permettront de localiser l'information. Le nombre total de pistes dpend du type de disque. Il est effectu en usine lors de la fabrication du disque. Chaque piste est dcoupe en secteurs. Toutefois l'unit d'occupation d'un disque n'est pas le secteur, trop petit pour que le systme puisse en tenir compte. On utilise alors un groupe d'un certain nombre de secteurs (de 1 16) comme unit de base. Ce groupe est appel Bloc ou Cluster. C'est la taille minimale que peut occuper un fichier sur le disque. Pour accder un secteur

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.

6.1.5.2 Les disques optiques


Le disque optique numrique rsulte du travail men par de nombreux constructeurs depuis 1970. La terminologie employe varie selon les technologies employes et lon retrouve ainsi les abrviations de CD (Compact Disk), CDROM (CD Read Only Memory), CDR, (CD Recordable), DVD (Digital Video Disk), DVDROM (DVD Read Only Memory), etc Le Compact Disc a t invent par Sony et Philips en 1981 dans le but de fournir un support audio et vido de haute qualit. Les spcifications du Compact Disc ont t tendues en 1984 afin de permettre au CD de stocker des donnes numriques. En 1990 Kodak met au point le CD-R. Un CD est capable de stocker 650 ou 700 Mo de donnes et 74 ou 80 min de musique. Le taux de transfert d'un CD-ROM est de 150 ko/s, ce qui correspond au taux de transfert dun lecteur de CD audio. On peut monter jusqu' 7200 ko/s (48X) avec un lecteur de CDROM. Principe CD-ROM: Un CD-ROM est un disque de 12 cm de diamtre compos de plusieurs couches superposes : une couche principale en polycarbonate, un plastique rsistant et laissant passer la lumire une couche mtallique rflchissante compose de plats et de creux une couche de vernis protecteur qui vient protger le mtal de l'agression des UV

couche protection couche sensible polycarbonate

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

Capacit 800 Mo 2.6 Go 4.7 Go

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