56
Informatique Industrielle Année 2004 - 2005 Architecture des ordinateurs Note de cours T.Dumartin

note de cour Architecture des ordinateurs.pdf

Embed Size (px)

Citation preview

  • Informatique Industrielle Anne 2004 - 2005

    Architecture des ordinateurs

    Note de cours T.Dumartin

  • 2

    1 GENERALITES 5

    1.1 INTRODUCTION 5 1.2 QUENTEND-T-ON PAR ARCHITECTURE ? 5 1.3 QUEST CE QUUN MICROPROCESSEUR ? 5 1.4 RAPPELS 6 1.5 OU TROUVE-T-ON DES SYSTEMES A MICROPROCESSEUR ? 6

    2 ARCHITECTURE DE BASE 7

    2.1 MODELE DE VON NEUMANN 7 2.2 LUNITE CENTRALE 7 2.3 LA MEMOIRE PRINCIPALE 7 2.4 LES INTERFACES DENTREES/SORTIES 8 2.5 LES BUS 8 2.6 DECODAGE DADRESSES 8

    3 LES MEMOIRES 9

    3.1 ORGANISATION DUNE MEMOIRE 9 3.2 CARACTERISTIQUES DUNE MEMOIRE 10 3.3 DIFFERENTS TYPES DE MEMOIRE 11 3.3.1 LES MEMOIRES VIVES (RAM) 11 3.3.1.1 Les RAM statiques 11 3.3.1.2 Les RAM dynamiques 11 3.3.1.3 Conclusions 12 3.3.2 LES MEMOIRES MORTES (ROM) 12 3.3.2.1 LA ROM 13 3.3.2.2 La PROM 13 3.3.2.3 LEPROM ou UV-EPROM 14 3.3.2.4 LEEPROM 14 3.3.2.5 La FLASH EPROM 15 3.4 CRITERES DE CHOIX DUNE MEMOIRE 16 3.5 NOTION DE HIERARCHIE MEMOIRE 16

    4 LE MICROPROCESSEUR 18

    4.1 ARCHITECTURE DE BASE DUN MICROPROCESSEUR 18 4.1.1 LUNITE DE COMMANDE 18 4.1.2 LUNITE DE TRAITEMENT 19 4.1.3 SCHEMA FONCTIONNEL 19 4.2 CYCLE DEXECUTION DUNE INSTRUCTION 20 4.3 JEU DINSTRUCTIONS 22 4.3.1 DEFINITION 22 4.3.2 TYPE DINSTRUCTIONS 22 4.3.3 CODAGE 22 4.3.4 MODE DADRESSAGE 22 4.3.5 TEMPS DEXECUTION 22 4.4 LANGAGE DE PROGRAMMATION 23 4.5 PERFORMANCES DUN MICROPROCESSEUR 23 4.6 NOTION DARCHITECTURE RISC ET CISC 24 4.6.1 LARCHITECTURE CISC 24

  • 3

    4.6.1.1 Pourquoi 24 4.6.1.2 Comment 24 4.6.2 LARCHITECTURE RISC 24 4.6.2.1 Pourquoi 24 4.6.2.2 Comment 24 4.6.3 COMPARAISON 25 4.7 AMELIORATIONS DE LARCHITECTURE DE BASE 25 4.7.1 ARCHITECTURE PIPELINE 25 4.7.1.1 Principe 25 4.7.1.2 Gain de performance 26 4.7.1.3 Problmes 27 4.7.2 NOTION DE CACHE MEMOIRE 27 4.7.2.1 Problme pos 27 4.7.2.2 Principe 28 4.7.3 ARCHITECTURE SUPERSCALAIRE 29 4.7.4 ARCHITECTURE PIPELINE ET SUPERSCALAIRE 29 4.8 PROCESSEURS SPECIAUX 30 4.8.1 LE MICROCONTROLEUR 30 4.8.2 LE PROCESSEUR DE SIGNAL 30 4.9 EXEMPLES 30 4.9.1 AMD ATHLON : 30 4.9.2 INTEL PENTIUM III 31

    5 LES ECHANGES DE DONNEES 33

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

    6 UN EXEMPLE - LE PC 43

    6.1 LUNITE CENTRALE 43 6.1.1 LA CARTE MERE 43 6.1.2 LE MICROPROCESSEUR 46 6.1.3 LA MEMOIRE 48 6.1.4 LA CARTE VIDEO 49 6.1.4.1 Le GPU 50 6.1.4.2 La mmoire vido 50 6.1.4.3 Le RAMDAC 50 6.1.4.4 Les entres/sorties vido 51 6.1.5 LES PERIPHERIQUES INTERNES DE STOCKAGE 51 6.1.5.1 Le disque dur 51 6.1.5.2 Les disques optiques 52

  • 4

  • 5

    1 Gnralits

    1.1 Introduction 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.

    Chapitre

    1

  • 6

    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 : 0 1 2 3 4 5 6 7 8 9 A B C D E F 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

  • 7

    2 Architecture de base

    2.1 Modle de von Neumann 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.

    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.

    Chapitre

    2

    Unit centrale

    Mmoire Principale

    Interface E/S

    bus

  • 8

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

    Unit centrale

    Mmoire Principale

    Interface E/S

    Bus de donnes

    Bus dadresses Bus de commande

    Dcodeur dadresses

  • 9

    3 Les mmoires

    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 Case mmoire 7 = 111

    6 = 110

    5 = 101

    4 = 100

    3 = 011

    2 = 010

    1 = 001

    0 = 000 0001 1010 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 :

    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 )

    Chapitre

    3

    Adresses (n bits)

    Mmoire Donnes (m bits) R/W

    CS

  • 10

    Une opration de lecture ou dcriture de la mmoire suit toujours le mme cycle :

    1. slection de ladresse 2. choix de lopration effectuer ( R/W ) 3. slection de la mmoire ( CS = 0 ) 4. 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 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.

    BUS @

    BUS D

    Taccs

    R/W

    CS

    Tcycle

    Donnes accessibles

    @x

    Dx

  • 11

    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.

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

    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.

    @7 @6 @5 @4 @3 @2 @1 @0

    D7D6 D4

    D3D2

    D1D5D0

    @7 @6 @5 @4 @3 @2 @1 @0

    D7D6 D4

    D3D2

    D1D5D0

  • 12

    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.

  • 13

    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 :

    f Densit leve f Non volatile f Mmoire rapide Inconvnients :

    f criture impossible f Modification impossible (toute erreur est fatale). f Dlai de fabrication ( 3 6 semaines) f Obligation de grandes quantits en raison du cot lev qu'entrane la production du masque et le processus de fabrication.

    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.

    adresse

    +V

    donnes

    1 0 0 0

  • 14

    Avantages : f idem ROM f Claquage en quelques minutes f Cot relativement faible Inconvnients :

    f 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

    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 ultra-violet 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 :

    f Reprogrammable et non Volatile Inconvnients :

    f Impossible de slectionner une seule cellule effacer f Impossible deffacer la mmoire in-situ. f 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.

    P

    N N

    S D G

    Grille flottante canal

  • 15

    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 :

    f Comportement d'une RAM non Volatile. f Programmation et effacement mot par mot possible. Inconvnients :

    f Trs lente pour une utilisation en RAM. f 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 dote dune interface dE/S indirecte. . Par contre, la structure NAND autorise une implantation plus dense grce une taille de cellule

    approximativement 40 % plus petite que la structure NOR. Programmation

    Si NOR et NAND exploitent toutes

    deux le mme principe de stockage de charges dans la grille flottante dun transistor, lorganisation de leur rseau 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 : f Comportement d'une RAM non Volatile. f Programmation et effacement mot par mot possible. f Temps daccs faible.

    @7 @6 @5 @4 @3 @2 @1 @0

    D7D6 D4

    D3D2

    D1D5D0

    Architecture NOR

    Secteur 1 = @0 n

    Architecture NAND

    @ 0 @ n

  • 16

    Flash NAND : f Comportement d'une RAM non Volatile. f Forte densit dintgration cot rduit. f Rapidit de lcriture/lecture par paquet f Consommation rduite. Inconvnients

    Flash NOR : f Lenteur de lcriture/lecture par paquet. f cot. Flash NAND : f Ecriture/lecture par octet impossible. f 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 :

    f capacit f vitesse f consommation f 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.

    Registre

    Mmoire cache

    Mmoire principale

    Mmoire dappui

    Mmoire de masse

    +

    vite

    sse

    +

    capacit

    < 400 o 1 ns

    8 ko 4 Mo suivant les niveaux

    5 ns

    Jusqu 1 Go 10 ns

    2 8 Mo

    200 Go 5 ms

  • 17

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

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

    4 Le microprocesseur 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.

    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.

    Chapitre

    4

    Unit de traitement

    Unit de commande

    @

    D

    Programme

    Donnes

    Bus dadresses

    Bus de donnes

  • 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 micro-microprocesseur.

    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

    Programme

    Donnes

    Bus dadresses

    Bus de donnes

    UAL

    Acc.

    Registre dtats

    Bus de commande

    Registre d@

    Registre Donnes

    PC

    Registre dinstruction

    Dcodeur dinstruction

    Bloc logique de commande

    H

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

    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.

    Instr. 1

    Opr. 1

    Instr. 2

    Instr. 3

    $2000

    $2001

    $2003

    $2002

    $2004

    $FFFF

    mmoire $2000

    Instr. 1

    Dcodeur dinstruction

    microprocesseur

    Inst. 1

    @ $2000

    PC

    1

    2

    RI

    3

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

    Instr. 1

    Opr. 1

    Instr. 2

    Instr. 3

    $2000

    $2001

    $2003

    $2002

    $2004

    $FFFF

    mmoire

    UAL

    Opr. 2 Opr. 1

    $2000

    Instr. 1

    Dcodeur dinstruction

    microprocesseur

    Opr. 1

    @ $2001

    PC

    RI

    Bloc logique de commande

    1

    2

    3

    Instr. 1

    Opr. 1

    Instr. 2

    Instr. 3

    $2000

    $2001

    $2003

    $2002

    $2004

    $FFFF

    mmoire

    UAL

    Result. Opr. 1

    $2002

    Instr. 1

    Dcodeur dinstruction

    microprocesseur

    PC

    RI

    Bloc logique de commande

    1 2

    3

    Z=1 C=0

  • 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

    Code oprande

    1001 0011 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 est difficile matriser puisque chaque instruction est code par une squence propre de bits. Afin de faciliter la tche du programmeur, on a cr diffrents langages plus ou moins volus.

    Le langage assembleur est le langage le plus proche du langage machine. Il est compos par des instructions en gnral assez rudimentaires que lon appelle des mnmoniques. Ce sont essentiellement des oprations de transfert de donnes entre les registres et l'extrieur du microprocesseur (mmoire ou priphrique), ou des oprations arithmtiques ou logiques. Chaque instruction reprsente un code machine diffrent. Chaque microprocesseur peut possder un assembleur diffrent.

    La difficult de mise en uvre de ce type de langage, et leur forte dpendance avec la machine a ncessit la conception de langages de haut niveau, plus adapts l'homme, et aux applications qu'il cherchait dvelopper. Faisant abstraction de toute architecture de machine, ces langages permettent l'expression d'algorithmes sous une forme plus facile apprendre, et dominer (C, Pascal, Java, etc). Chaque instruction en langage de haut niveau correspondra une succession dinstructions en langage assembleur. Une fois dvelopp, le programme en langage de haut niveau nest donc pas comprhensible par le microprocesseur. Il faut le compiler pour le traduire en assembleur puis lassembler pour le convertir en code machine comprhensible par le microprocesseur. Ces oprations sont ralises partir de logiciels spcialiss appels compilateur et assembleur. Exemple de programme :

    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. avec FH en MHz

    Code machine ( 68HC11 ) Assembleur ( 68HC11 ) Langage C @00 C6 64 @01 B6 00 @03 1B @04 5A @05 26 03

    LDAB #100 LDAA #0 ret ABA DECB BNE ret

    A=0 ; for ( i=1 ; i

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

    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.

    Architecture RISC Architecture CISC

    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

    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

  • Exemple de lexcution en 4 phases dune instruction : Modle classique :

    Modle pipelin :

    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 :

    n kG=k+n-1

    i

    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.

    Recherche Dcodage Excution Sauv. rsultat

    R1

    D1

    E1

    S1

    R2

    D2

    E2

    S2

    R3

    D3

    E3

    S3 Nbre de Cycles 1 2 3 4 5 6 7 98 10 11 12

    R1

    D1

    E1

    S1

    R2

    D2

    E2

    S2

    R3

    D3

    E3

    S3 Nbre de Cycles 1 2 3 4 5 6 7 98 10 11 12

    R4

    D4

    E4

    S4

    R5 R6 R7

    D5 D6 D7

    S5 S6 S7 S8 S9

    R8 R9

    D9 D8

    E5 E6 E7 E8 E9

  • 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 %.

    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.

    R1

    D1

    E1

    S1

    R2

    D2

    E2

    S2

    R3

    D3

    Nbre de Cycles 1 2 3 4 5 6 7 98 10 11 12

    R4

    D3

    R4 R4 R4

    D3 D3 D4

    S3 S4 S5 S6

    R5 R6

    D6 D5

    E3 E4 E5 E6

    Bulles (NOP)

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

    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 : n 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. o 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. p 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. q A noter que lon peut reprendre le mme principe pour les disques durs et CD/DVD.

    Cache

    Unit de

    commande

    Unit de

    traitement

    1

    2

    up mmoire

    Cache

    Unit de

    commande

    Unit de

    traitement

    1

    4

    up mmoire

    2

    3

    a)

    b)

  • 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 :

    Architecture superscalaire :

    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.

    I2 I3 I4 I5 I6 I1 I7 I8Unit de

    traitement

    N cycles

    I2

    I3

    I4

    I5 I6 I1

    I7

    I8

    Unit de traitement 2

    Unit de traitement 1

    N/2 cycles

    Recherche Dcodage Excution Sauv. rsultat

    Recherche Dcodage Excution Sauv. rsultat

    UT1

    UT2

    Nbre de Cycles 1 2 3 4 5 6 7 8 9 10 11

  • AGU : Adress Generation Unit BTB : Branch Target Buffer IEU : Integer Execution Unit BHB : Branch History Buffer

    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 :

  • 31

    Caractristiques: 9 unit de traitement se composant de :

    o 1 ALU (traitement entier) comprenant 6 units de traitement :

    3 units pour le traitement des donnes (IEU) 3 units pour ladressage des donnes (AGU)

    o 1 FPU (traitement rel) comprenant 3 units :

    1 FPU store 1 Fadd / MMX / 3Dnow ! 1 Fmul /MMX / 3Dnow !

    Pipeline entier : 10 tages, pipeline flottant : 15 tages.

    Prdiction dynamique et excution du traitement "dans le dsordre" (out-of-order)

    6 units de dcodage parallles (3 micro-programmes, 3 cbles) mais seules 3 peuvent

    fonctionner en mme temps. Cache mmoire de niveau 1 (L1) : 128 Ko

    o 64 Ko pour les donnes o 64 Ko pour les instructions

    Contrleur de cache L2 supportant de 512Ko 8Mo avec vitesse programmable (1/2 ou 1/3

    de la vitesse CPU) 22 millions de transistors

    4.9.2 Intel Pentium III

  • 32

    Caractristiques : Plusieurs units de traitement mais au 5 instructions excutes en

    mme temps sur 5 ports :

    o Port 0 : ALU, FPU, AGU MMX et SSE o Port 1 : ALU, SSE, MMX o Port 2 : AGU (load) o Port 3 : AGU (store) o 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

  • 33

    5 Les changes de donnes

    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.

    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.

    Chapitre

    5

    Unit centrale

    Mmoire Principale

    Interface E/S

    Bus de donnes

    Bus dadresses Bus de commande

    Dcodeur dadresses

  • 34

    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 :

    n Certaine source dinterruption possde leur propre autorisation de fonctionnement sous la forme dun bit positionner, on lappelle le masque dinterruption.

    o On peut donc interdire ou autoriser certaines sources dinterruptions, on les appelle les interruptions masquables.

    p Chaque source dinterruption possde un vecteur dinterruption o est sauvegard ladresse de dpart du programme excuter.

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

  • 35

    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.

    Excution

    Niveau de priorit

    Programme Principale Niveau 0

    Requte niveau 2

    Niveau 1

    Niveau 3

    Niveau 2

    Requte niveau 3

    Requte niveau 1

    t

    H

    t

    Accs mmoire

    CPU CPU DMA CPUCPUDMA DMA CPU CPU

    Requte DMA

    Vol decycle

    IT DMA

  • 36

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

    p

    priphrique

    Interface

    p

    priphrique

    Interface

  • 37

    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 :

    n Lmetteur positionne la ligne ltat bas : cest le bit de start. o Les bits sont transmis les un aprs les autres, en commenant par le bit de poids fort. p Le bit de parit est ventuellement transmis. q 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

    Horloge = 1F= Hz

    Vitesse de transmission = 1v= bits/s

    t

    Niveau ligne

    repos start donnes

    parit stop repos

    MSB LSB

    0 0 1 0 0 1 1

  • 38

    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 lintermdiaire dun rseau. On permet ainsi aux utilisateurs ou aux applications de partager et dchanger 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.

    Machine A

    mettre

    Rseau

    Machine B

    recevoir

  • 39

    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.

    Couche Fonction Protocole de couche N Fonction Couche

    7 Application Application 7

    6 Prsentation Prsentation 6

    5 Session Session 5

    4 Transport Transport 4

    3 Rseau Rseau 3

    2 Liaison Liaison 2

    1 Physique Physique 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.

    Systme A Systme B

    Canal de transmission

  • 40

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

  • 41

    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 f Facile mettre en uvre. f A tout moment un seule station a le droit d'envoyer un message. f La rupture de la ligne provoque l'arrt du rseau. f La panne d'une station ne provoque pas de panne du rseau. f mode de diffusion.

    Topologie en toile f Le nud central reoit et renvoie tous les messages. f Fonctionnement simple. f Moins vulnrable sur rupture de ligne. f La panne du nud central paralyse tout le rseau. f Mode point point (avec switch) ou diffusion (avec hub).

    Topologie en boucle f Chaque station a tour tour la possibilit de prendre la parole. f Chaque station reoit le message de son voisin en amont et le rexpdie son voisin en aval. f La station mettrice retire le message lorsqu'il lui revient. f Si une station tombe en panne, il y a mise en place dun systme de contournement de la station. f Si il y a rupture de ligne apparat, tout s'arrte (sauf si on a prvu une 2ime boucle). f mode point point.

    PAN LAN MAN WAN

    1m 10m 100m 1km 10km 100km distance

    serveur

    Hub /Switch

    terminaison

    raccordement

    serveur

    serveur

  • 42

    Topologie en arbre f 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. f Complexe f Mode point point.

    Topologie en rseau maill fTous les ordinateurs du rseau sont relis les uns aux autres par des cbles spars. f On a une meilleure fiabilit. f Si une station tombe en panne, le rseau continue de fonctionner. f Si il y a rupture de ligne apparat, le rseau continue de fonctionner. f Il est trs coteux. f Il est possible de diminuer les cots en utilisant un maillage partielle (irrgulier). f Mode point point. 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.

    Maillage rgulier Maillage irrgulier

  • 43

    6 Un exemple - le PC

    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.

    Chapitre

    6

  • 44

    Architecture dune carte mre

    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

    127 priphriques maximum

    CPU

    Cache L1

    Cache L2

    Pont Nord AGP

    RAM

    Pont Sud

    2 canaux

    Audio

    Pont SCSI

    Pont ISA

    Carte rseau

    Backside bus

    Bus processeur66 200 MHz

    Bus mmoire 66 200 MHz

    Bus AGP 66 MHz x1 x2 x4 x8

    Liaison pont nord/pont sud

    Bus IDE 100/133 Mo/s

    Bus USB 60 Mo/s

    AC97

    Port srie Port parallle Interface floppy

    LAN

    100 Mo/s

    Bus PCI

    33/66/133 MHz

    Bus SCSI

    40/80 MHz

    Bus ISA

    8 MHz

    7 15 priphriques

    maximum

    Vido Firewire

    100/400 Mo/s

  • 45

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