Architecture et Technologie des Ordinateurs - 5 - Mémoires vives

Embed Size (px)

Citation preview

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    1/26

    Mmoires vives

    Dans les trois chapitres prcdents nous avons tudi la plupart des briques de base

    utilises pour la conception d'ordinateurs. Nous allons maintenant monter d'un niveau et aborderles principes de ralisation des principaux blocs fonctionnels partir de ces briques. Nous

    commenons (c'est un choix arbitraire) par la mmoire vive. La premire partie de ce chapitre

    sera consacre son organisation matrielle. Dans la seconde nous baucherons son organisationlogique, dont l'tude doit tre approfondie dans le cours sur les systmes d'exploitation.

    V.1 Introduction

    Nous savons que dans un ordinateur toutes les informations : valeur numrique,

    instruction, adresse, symbole (chiffre, lettre,) etc sont manipules sous une forme binaire.Ces informations doivent en gnral tre conserves pendant un certain temps pour permettre leur

    exploitation. Ce rle est dvolu aux mmoires charges de conserver programmes, donnes

    provenant de l'extrieur, rsultats intermdiaires, donnes transfrer l'extrieur, etc. Nousavons dj rencontr les registres de mmorisation, mais ceux-ci ne sont pas adapts aux grandes

    capacits de stockage.

    Il faut pour cela des mmoires lecture et criture ou mmoires vives, qui permettent

    d'enregistrer une information, de la conserver et de la restituer. Ces mmoires sont, d'autre part,

    accs alatoire (RAM : Random Acces Memory) c'est--dire que le temps d'accs l'information

    est indpendant de sa place en mmoire. Cette appellation, d'origine historique, est toujourssynonyme de mmoire vive. Bien que trs rpandue cette appellation n'est plus suffisante car tous

    les circuits semi-conducteur sont aujourd'hui accs alatoire. L'accs squentiel ne porte plus

    que sur les mmoires magntiques (disques ou bandes). Par contre, une mmoire vive estvolatile : la conservation de son contenu ncessite la permanence de son alimentation lectrique.

    L'information lmentaire, ou bit (binary digit), est mmorise dans une cellule ou pointmmoire. Nous tudierons plus loin les deux principales technologies utilises pour raliser une

    cellule. Ces cellules sont groupes en mots de n bits, c'est--dire que les n bits sont traits (critsou lus) simultanment. On ne peut pas modifier un seul bit, pour cela il faut transfrer le mot

    dans un registre, modifier le bit puis rcrire le mot en mmoire. Par ailleurs, les cellules sontarranges en bloc mmoire.

    Extrieurement, et en ne tenant compte que des signaux logiques, un bloc mmoire peut

    tre reprsent comme sur la figure 1. Pour pouvoir identifier individuellement chaque mot on

    utilise k lignes d'adresse. La taille d'un bloc mmoire est donc 2k, le premier mot se situant

    l'adresse 0 et le dernier l'adresse 2k

    - 1. Une ligne de commande (R/W) indique si la mmoire

    est accde en criture (l'information doit tre mmorise) ou en lecture (l'information doit tre

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 95

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    2/26

    restitue). Sur ce schma on distingue deux canaux de n lignes en entre et en sortie, mais dansd'autres cas les accs en entre et en sortie peuvent tre confondus en un seul canal bidirectionnel.

    Nous verrons l'intrt de la ligne de validation ou de slection du bloc (CS) un peu plus loin.

    n lignesd'entre

    n lignesde sortie

    k lignesd'adresse

    2 mots de n bitsk

    R/W

    CS

    Figure 1

    V.2 Adressage bidimensionnel ou matriciel

    L'organisation des cellules l'intrieur d'un bloc la plus simple imaginer correspond au

    schma suivant, chaque ligne correspond un mot de n bits :

    2 lignesk

    n sorties

    k adresses

    Dcodeur

    Figure 2

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 96

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    3/26

    Pour simplifier la figure, chaque cellule y est matrialise avec uniquement une ligne deslection et une ligne de sortie. Si la ligne de slection est "0", la cellule est "isole" de la sortie.

    Si la ligne de slection est "1", l'information mmorise se retrouve sur la ligne de sortie.

    La figure correspond au mcanisme de lecture, mais le principe est galement valable en

    criture. En fonction de l'adresse, le dcodeur active une et une seule des 2

    k

    lignes. Ainsi seulesles cellules correspondant l'adresse demande sont slectionnes et l'information mmorise est

    alors disponible en sortie. Cette architecture trs simple n'est pas la plus conomique en terme denombre de portes.

    Considrons par exemple une mmoire contenant 512 mots de 4 bits soient 2048 bits.C'est--dire k = 9 et n = 4. Il faut 512 portes ET pour raliser le dcodeur. Une conomie

    importante peut tre obtenue en organisant la mmoire en une matrice de 64 lignes et 32 colonnes

    (2048 = 64 x 32). Chacune de ces 64 lignes peut tre slectionne en utilisant 6 bits d'adresse.Comme nous ne voulons que des mots de 4 bits, il faut encore utiliser 4 multiplexeurs chacun

    slectionnant une ligne sur 8. Les 3 derniers bits d'adresse sont affects ces multiplexeurs. Cette

    architecture est dnomme adressage X-Y ou bidimensionnel. Dans ce cas 64 portes ET sontncessaires pour le dcodeur et 9 portes (8 ET et 1 OU) pour chacun des multiplexeurs, soit au

    total 64 + (9 x 4) = 100 portes. Cela reprsente cinq fois moins de portes.

    W0

    W63

    32 colonnes

    64 lignes

    Y3 Y2 Y1 Y0

    A A6 8

    A A0 5

    Figure 3

    L'organisation matricielle des blocs mmoires permet galement d'viter des pistes trop

    longues pour la distribution des diffrents signaux aux cellules. Les constantes de temps et lespertes de charge sont ainsi rduites.

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 97

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    4/26

    Nous n'avons considr que deux cas de figure pour l'organisation matricielle du blocmmoire : 512 lignes de 4 colonnes et 64 lignes de 32 colonnes. D'autres variantes sont

    videmment possibles, pour certaines le nombre de portes ncessaires est rsum dans le tableau

    suivant. Nous constatons que le minimum se situe pour une organisation "carre", pour laquelleles nombres de lignes et de colonnes sont gaux ou diffrent d'un facteur 2.

    nb lignes nb colonnes Dcodeur Multiplexeur Total

    512 4 512 0 512

    256 8 256 3 268

    128 16 128 5 148

    64 32 64 9 100

    32 64 32 17 100

    16 128 16 33 148

    8 256 8 65 268

    Table 1

    Trs souvent, les blocs mmoires comportent autant de lignes que de colonnes. Les

    mmes lignes d'adresse peuvent alors tre utilises pour identifier successivement la ligne puis lacolonne. Cela permet de rduire le nombre de broches de connexion, donc l'encombrement et le

    cot des circuits. Cependant cela demande peu prs deux fois plus de temps par transmettre

    l'adresse complte. Par contre, si on cherche accder des informations stockes dans une

    mme ligne il peut tre possible de dfinir une fois la ligne, puis pour chaque mot de n'avoir envoyer que l'adresse de la colonne. Il faut alors au moins un signal de commande

    supplmentaire pour indiquer que l'adresse correspond une ligne ou une colonne. Il suffit de

    n+1 cycles dadressage pour accder n colonnes dune mme ligne.

    Parmi les caractristiques d'une mmoire nous trouvons la capacit et le format. La

    capacit reprsente le nombre total de bits et le format correspond la longueur des mots. Lenombre de bits d'adresse k dfinit le nombre total de mots de la mmoire, si n est le nombre de

    bits par mot, la capacit de la mmoire est donne par :

    Capacit = 2k

    mots = 2k

    x n bits

    Cette capacit est exprime en multiple de 1024 ou kilo. La table suivante rsume la valeur des

    autres prfixes utiliss pour exprimer les capacits des mmoires :

    Symbole Prfixe Capacit1 k (kilo) 210 = 1024

    1 M (mga) 220 = 1048576

    1 G (giga) 230 = 1073741824

    1 T (tera) 240 = 1099511627776

    Table 2

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 98

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    5/26

    La figure 4, prsente une autre organisation logique possible pour une mmoire de 128

    mots de 8 bits. Ici chaque mot est stock dans une case de 8 bits, tel un registre. Cette case reoit

    en entre 8 lignes de donnes et une ligne de chargement. Elle dispose de 8 lignes de sortiefournissant le contenu du registre. Chacune de ces lignes est commande par une porte "3 tats".

    Ces cases sont organises en une matrice de 32 lignes et 4 colonnes. Les 7 bits d'adresse sontspars en deux groupes, 5 bits pour identifier la ligne et 2 bits pour la colonne.

    8 bits

    R/W

    CS

    8 bits 8 bits 8 bits

    8 bits 8 bits 8 bits 8 bits

    8 bits 8 bits 8 bits 8 bits

    8 bits 8 bits 8 bits 8 bits

    Dcodeur

    de

    ligne

    Dcodeur de colonne

    S8

    2A

    C

    AL

    E

    5

    8

    Figure 4

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 99

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    6/26

    Le signal de slection du botier (CS) valide les fonctions d'criture et de lecture. Le

    botier est bloqu pour CS = 1. Lorsque CS = 0, une fonction d'criture correspond R/W = 0 et

    une fonction de lecture R/W = 1.

    En criture, le mot charger doit tre prsent sur l'entre E du circuit. Ces donnes sontdistribues simultanment sur toutes les cases de 8 bits. La ligne dsigne par l'adresse AL est 1.

    Le signal de chargement est transmis la seule colonne identifie par l'adresse AC. Seul leregistre l'intersection de cette ligne et de cette colonne est donc charg.

    En lecture, les quatre cases de la ligne slectionne fournissent leur contenu sur les quatrebus verticaux. Une seule des quatre portes "3 tats", au bas du schma, est connecte la sortie S

    du botier. Cette porte "3 tats" fournit une amplification des signaux.

    R

    EGISTRE

    0

    234567

    1

    0

    REGISTR

    E

    0

    23456

    7

    1

    15

    Dmuxadresse

    chargement entres

    Muxtouslesbits

    7

    Muxtouslesbits

    0

    sorties adresse

    Figure 5

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 100

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    7/26

    La figure 5 illustre une autre organisation de la lecture. Pour allger le dessin, nous avons

    considr une mmoire de 16 mots de 8 bits. Le principe du chargement est comparable auscnario prcdent : les donnes sont distribues sur tous les registres, mais un seul reoit le

    signal de chargement. Par contre la sortie fait appel 8 multiplexeurs. Chacun recevant les bits de poids identiques en provenance des 16 registres. L'adresse est distribue sur tous ces

    multiplexeurs, et on trouve donc en sortie tous les bits du registre identifi.

    V.3 Assemblage de blocs mmoires

    Les techniques d'intgration ne permettent pas d'obtenir des botiers ayant des capacitsou des formats suffisants pour toutes les applications. Il est alors ncessaire d'associer plusieurs

    botiers pour augmenter la longueur des mots ou le nombre de mots. Dautre part, l'association de

    plusieurs blocs peut permettre d'amliorer les performances temporelles de la mmoire en faisantfonctionner plusieurs blocs en parallle.

    V.3.a Augmentation de la longueur des mots

    La figure suivante montre qu'il est ais d'associer deux botiers de 2k

    mots de n bits pourobtenir un bloc de 2

    kmots de 2 n bits. L'adressage doit tre appliqu simultanment aux deux

    circuits, l'un fournissant les n bits de bas poids et l'autre les n bits de haut poids.

    k kk

    n n

    2 x n bitsk

    2 x n bitsk

    adresse

    haut poids bas poids

    Figure 6

    V.3.b Augmentation du nombre de mots

    De mme la figure suivante montre la ralisation d'un bloc de 4 x 2k

    mots de n bits l'aide

    de 4 botiers de 2k

    x n bits. Il nous faut k+2 lignes d'adresse. Les k bits de bas poids de l'adressesont appliqus simultanment sur les 4 botiers. Les deux bits de haut poids attaquent un

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 101

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    8/26

    dcodeur quatre sorties. Chacune de ces quatre lignes permet de slectionner un botier (entrede validation du botier : CS). Un seul botier est alors connect aux lignes de sortie.

    2 x n bitsk

    k

    n

    2 x n bitsk

    k

    n

    2 x n bitsk

    k

    n

    2 x n bitsk

    k

    n

    Dcodeur

    k

    2

    adresse : k bitsde bas poids

    adresse : 2 bitsde haut poids

    Figure 7

    V.3.c Entrelacement

    Une mmoire entrelace n voies est constitue de n blocs. Le bloc numrot i, avec

    i [0, n1], contient toutes les cellules dont les adresses sont gales i modulo n (add = k n + i).De cette manire deux mots des adresses conscutives sont rangs dans deux blocs diffrents.

    Cette organisation permet de rduire le temps d'accs la mmoire lors de la lecture ou del'criture par groupe de mots.

    Supposons par exemple qu'une unit centrale, de temps de cycle t, veuille lire unensemble de N mots des adresses conscutives. Dans une mmoire non entrelace cette

    opration demande un temps t1 = N . ta, o ta est le temps d'accs la mmoire, aprs

    rception de la premire requte par l'unit de gestion de la mmoire (fig. 8).

    90 1 2 3 4 5 6 7 8

    Requtes

    Donnes

    cycle

    Mmoire non entrelace

    Figure 8

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 102

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    9/26

    Dans une mmoire entrelace n voies, telle que ta n t, la premire requte est

    transmise par l'unit de gestion de la mmoire au bloc i. La seconde requte, au cycle d'horlogesuivant, est transmise au bloc i+1, et ainsi de suite. Chacune des n premires requtes est ainsi

    transmise un bloc diffrent. Ces blocs fonctionnent en parallle. A l'instant ta mesur aprs la

    premire requte la premire la donne est disponible. Elle est collecte par l'unit centrale au

    nime cycle. La deuxime est disponible un cycle (t) plus tard, et ainsi de suite (fig. 9). Lesdonnes suivantes pourront tre rcupres chaque cycle. Il faut donc un temps

    t2 = (n 1 + N) . t pour lire les N mots. Il faut attendre n 1 cycles sans recevoir aucune

    donne.

    90 1 2 3 4 5 6 7 8

    Requtes

    Donnes

    cycle

    Mmoire entrelace 4 voies

    Figure 9

    Cette mthode, comparable au traitement en pipe-line des instructions que nous tudierons

    dans le chapitre consacr l'unit centrale, est d'autant plus efficace que trs souvent on doit

    accder des informations (instructions ou donnes dans des structures) des adresses

    conscutives. Les groupes de mots lus sont ensuite stocks dans une mmoire cache (cf. plus

    loin).

    V.4 Rduction du nombre de broches

    Les fabricants de mmoires cherchent rduire le nombre de broches des botiers, pouraugmenter la densit d'implantation sur les circuits imprims. Deux mthodes peuvent tre

    utilises pour rduire le brochage des signaux logiques.

    Comme nous lavons dj vu, il est possible de diviser par deux le nombre de broches pour l'adressage en chargeant successivement l'adresse de ligne puis l'adresse de colonne

    (fig. 10). La mmoire a alors une organisation "carre", avec autant de lignes que de colonnes.Deux signaux (RAS : Row Address Strobe et CAS : Column Address Strobe) sont ncessairespour identifier et charger ces deux adresses dans deux registres internes (RAR : Row Address

    Register et CAR : Column Address Register). Le contenu de ces registres est exploit

    respectivement par les dcodeurs de ligne et de colonne. Pour accder plusieurs mots d'unemme ligne, il n'est pas ncessaire de charger l'adresse de la ligne chaque requte, il suffit de

    modifier l'adresse de colonne, on parle alors d'accs en mode page.

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 103

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    10/26

    On peut galement tirer profit de ce qu'on n'effectue jamais une lecture et une crituresimultanment. Il est donc possible d'utiliser les mmes broches en lecture et en criture. Pour

    cela on fait appel des portes "3 tats" (fig. 11). Ce dispositif est appel transceiver.

    adresse RAR

    CAR

    RAS

    CAS

    dcodeurde ligne

    dcodeurde colonne

    Figure 10

    broche E/S

    validation criture

    validation lecture

    Figure 11

    V.5. Les deux familles de mmoires vives

    Pour raliser le point mmoire on dispose de deux techniques. On peut utiliser desbascules. Selon que sont utilises des bascules du type D ou R-S, il faut une ou deux lignes pour

    amener le bit charger. Avec une seule ligne il faut un inverseur par point mmoire. Les bascules

    garantissent la mmorisation de l'information aussi longtemps que l'alimentation lectrique estmaintenue sur la mmoire. Ces mmoires sont dites RAM statiques (SRAM).

    Dans les RAM dynamiques (DRAM) l'lment de mmorisation est constitu par uncondensateur et un transistor effet de champ (gnralement ralis en technique MOS). Ce

    transistor joue le rle d'un interrupteur command. L'information est mmorise sous la forme

    d'une charge lectrique stocke dans le condensateur. Cette technique permet une plus grande

    densit d'intgration, car un point mmoire ncessite environ deux quatre fois moins de place

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 104

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    11/26

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    12/26

    amax

    t

    nB =

    V.6.a Consommation d'une mmoire

    Les constructeurs cherchent limiter la consommation des botiers de mmoire qui

    peuvent tre nombreux dans un systme. Pour certaines mmoires on peut distinguer trois tats

    avec chacun un niveau diffrent de consommation. L'tat actif correspond au cas d'une opration

    de lecture ou d'criture. La puissance dissipe dpend du dbit. Dans l'tat inactif ou passif, lammoire alimente normalement n'est pas slectionne. Les commandes de lecture et criture

    envoyes sur un botier non slectionn n'agissent pas. Les botiers qui consomment moins dans

    cet tat sont dits "automatic power down". Dans l'tat de veille, la mmoire est alimente soustension rduite avec des batteries. Elle ne peut tre ni lue, ni crite. Elle se contente de conserver

    son information : un circuit interne avec horloge et compteur permet un rafrachissement

    automatique rgulier de toutes les cellules sans intervention externe. Cet tat permet de rduire la

    consommation.

    V.6.b Cycle de lecture

    C'est le plus simple des cycles. La procdure, schmatise sur la figure 13, consiste :

    - Etablir l'adresse;

    - Afficher la fonction de lecture;

    - Slectionner le ou les botiers ncessaires;- Aprs un certain dlai, l'information apparat sur la sortie qui passe en basse impdance.

    L'information reste prsente jusqu' la fin du cycle.

    Le dbut de la requte est dfini par ltablissement de ladresse. Cest par rapport cet instant

    que sont mesurs temps daccs ta et temps de cycle tc.

    Il s'agit uniquement d'un chronogramme de principe. La polarit, la dure de stabilit de chaque

    signal, ainsi que les retards relatifs (ou phases) entre signaux sont prciss par le constructeur.

    Lorsque les adresses de ligne et de colonne sont multiplexes celles-ci doivent trestabilises avant les signaux de chargement RAS et CAS respectivement. Le temps d'accs ta est

    mesur partir du dbut de l'opration, mais on distingue deux autres temps d'accs mesurs

    partir des fronts descendants des signaux RAS et CAS. Dans l'exemple illustr, la ligne R/W 1indique une fonction de lecture.

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 106

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    13/26

    HI HI

    Adresse

    Lecture

    Slection

    Sortie

    tc

    ta

    Figure 13

    Adresse

    R/W

    RAS

    t c

    ligne colonne

    t a

    HIHI

    CAS

    Sortie

    ta(CAS)

    ta

    (RAS)

    Figure 14

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 107

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    14/26

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    15/26

    V.6.e Lecture ou criture en mode page

    Le mode page concerne les mmoires avec multiplexage des adresses ligne et colonne. Au

    cours de l'excution d'un programme, l'accs aux informations (instructions ou donnes) se faitplus souvent des adresses conscutives qu' des adresses isoles. L'accs en mode page permet

    alors d'amliorer les temps d'accs. En effet lorsque l'adresse de la ligne (ou page) reste identique,il n'y a pas lieu de la prsenter nouveau. Dans un cycle en mode page, l'adresse de ligne est

    charge une fois, chaque accs est ensuite dfini par l'adresse de colonne. Le temps du premieraccs est quivalent celui d'un accs alatoire. Il est appel latence. Par contre les accs suivants

    sont plus rapides. La figure suivante illustre une squence de trois accs comprenant une criture

    intercale entre deux lectures.

    Adresse

    R/W

    RAS

    CAS

    Sortie

    ligne col 1 col 2

    Entre

    col 3

    HIHIHI D 3D 1

    D 2

    Figure 16

    V.6.f Rafrachissement des mmoires dynamiques

    Pour la plupart des mmoires dynamiques les adresses sont multiplexes. A chaque accs,en lecture ou en criture, chaque bit de la ligne dsigne est transfr en bas de colonne dans une

    bascule. Ce transfert est initi par le front descendant du signal RAS. Les oprations effectives delecture ou d'criture se font au niveau de ces registres. Ceux-ci sont ensuite chargs dans la ligne

    d'origine sur le front montant du signal RAS. En procdant ainsi on rafrachit la ligne adresse

    chaque accs. Cela ne garantit pas un rafrachissement suffisant de l'ensemble de la mmoire. Il

    est possible de dclencher le mme mcanisme de rafrachissement d'une ligne sans faire aucunaccs. Il suffit de prciser l'adresse de la ligne rafrachir puis d'activer une impulsion d'une

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 109

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    16/26

    dure dfinie sur la ligne RAS. Par ailleurs les mmoires vives contiennent aussi un pointeurinterne sur la prochaine ligne rafrachir. Il est utilis en activant la ligne CAS avant la ligne

    RAS.

    Le mcanisme de rafrachissement des divers blocs mmoires est confi un contrleur.

    C'est galement ce contrleur qui se charge de multiplexer les adresses.

    V.7 Mmoire synchrone

    Tous les accs tudis jusqu' prsent sont de type asynchrone. Ils peuvent intervenir tout instant et leur dure est fixe par les composants de la mmoire.

    Ces dernires annes le foss entre la vitesse de fonctionnement des processeurs et lavitesse d'accs des mmoires n'a fait que crotre. La mmoire constitue aujourd'hui le goulot

    d'tranglement des architectures. Les gains en performance sur la vitesse intrinsque des

    composants sont relativement faibles. Les fabricants de mmoires jouent sur l'organisationlogique des accs. Nous en avons dj vu un exemple avec le mode page, dont de nombreuses

    variantes ont t mises en uvre.

    Un autre mode permet de rduire le temps ncessaire l'adressage des colonnes. Il s'agit

    du mode d'accs en rafale (burst) qui concerne plusieurs colonnes conscutives. Un compteurinterne permet d'viter le temps ncessaire l'tablissement des signaux d'adresse et leur

    chargement. Il suffit donc de prciser initialement l'adresse de dpart et le nombre de colonnes.

    Dans un composant asynchrone l'incrmentation de ce compteur est provoqu par des cycles du

    signal CAS.

    Mais il est galement possible de faire appel un signal d'horloge. Nous obtenons alors

    une mmoire synchrone (SDRAM pour Synchronous Dynamic Random Acces Memory). Cettesolution a pour avantage de simplifier la gestion de la mmoire. Ce qui permet un lger gain de

    vitesse, mais aussi allge la conception du contrleur. Il est ainsi possible d'avoir un accs

    chaque cycle d'horloge. Par contre le temps d'accs pour une seule donne n'est pas infrieur celui d'une mmoire asynchrone. Il peut mme tre plus important.

    Pour parvenir suivre une frquence intressante les fabricants mettent galement en

    uvre des techniques dj rencontres dans ce chapitre. Par exemple, l'intrieur d'un mmecircuit la mmoire est organise en deux blocs (ou plus) qui peuvent tre entrelacs. Cela permet

    galement l'ouverture simultane de deux pages. Il est alors possible de passer d'une page une

    autre sans ralentir la vitesse d'accs.

    V.8 Gestion de la mmoire centrale

    Au dbut de l'informatique les mmoires taient chres et de petites tailles. A cette poque

    les programmeurs passaient l'essentiel de leur temps optimiser leur programme en fonction dela taille mmoire. On a ensuite pu utiliser une mmoire secondaire : bandes, tambours et disques.

    Le programmateur divisait alors son programme en un certain nombre de morceaux appels

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 110

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    17/26

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    18/26

    V.8.b Espace d'adressage

    L'espace virtuel est le nombre de cellules mmoires qu'un programme peut adresser

    directement. Ce nombre dpend du nombre de bits utiliss pour manipuler les adresses au niveaudes instructions. La mmoire physique disponible sur la machine peut avoir une taille diffrentede l'espace virtuel disponible pour chaque programme.

    L'espace physique peut tre plus grand que l'espace virtuel. Dans cette configuration il estpossible de charger plusieurs programmes la fois. Lorsque le contrle de l'unit centrale passe

    d'un programme l'autre, l'excution peut s'enchaner rapidement sans attendre le chargement du

    nouveau programme depuis le disque. Comme l'unit centrale accde la mmoire par desadresses comptant un plus grand nombre de bits que les adresses manipules par le programme il

    faut tre capable de "complter" celles-ci. Cela peut se faire grce aux registres de base dont nous

    parlerons plus loin.

    L'espace physique peut tre plus petit que l'espace virtuel, ce qui tait le cas lorsque le

    principe de cette technique a t dvelopp. Il faut alors disposer d'un mcanisme capable decharger, un moment donn, les parties du programme ncessaires son excution. Ce

    mcanisme est galement utilis dans des machines pour lequel l'espace physique est plus grand

    que l'espace virtuel. Il permet en effet un partage plus efficace de la mmoire entre plusieursprogrammes concurrents.

    V.8.c Principe de la sparation et de l'assemblage des adresses

    Le principe de sparation/assemblage des adresses est le fondement de toutes les

    techniques de gestion de la mmoire centrale. Une adresse peut toujours tre vue comme

    l'assemblage d'un numro de bloc et d'un dplacement l'intrieur de ce bloc.

    Une adresse de N bits permet de reprer 2N cases. On peut la sparer en un numro de bloc, codsur B bits (les bits de poids fort), et un numro de case dans le bloc sur N-B bits. Chaque bloc

    comptera 2N-B cases et il y aura 2B blocs, donc toujours 2N cases au total.

    Prenons un exemple numrique trs simple pour illustrer ce principe. Considrons une

    mmoire comptant 16 cases, numrotes de 0 15. Les adresses permettant d'identifier les mots

    dans cette mmoire ont 4 bits. Nous nous intressons la case d'adresse 13 (marque **** sur lafigure). En binaire nous avons 13 = (1101)2. Si nous divisons la mmoire en deux blocs de huit

    mots, cette case 13 se situe l'adresse 5 du bloc numro 1 (6me

    mot du 2me

    bloc). Le numro debloc est donn par le bit de haut poids ( gauche) de l'adresse. Le dplacement dans le bloc est

    donn par les trois bits de droite : (101)2 = 5. Nous pouvons galement diviser la mmoire en

    quatre blocs de quatre mots. Le numro de bloc est alors donn par les deux bits de gauche

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 112

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    19/26

    (11)2 = 3 et le dplacement par les deux bits de droite (01)2 = 1. La case 13 est en effet l'adresse

    1 dans le bloc 3.

    N-B bits

    bloc de

    2 mots

    N-B

    dplacementdans le bloc

    B bits

    numro de bloc

    Figure 18

    ****

    0

    1

    2

    3

    blocs de4 cases

    blocs de8 cases

    0

    1

    Figure 19

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 113

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    20/26

    Ce principe est facile mettre en uvre au niveau du matriel : les B lignes du bus

    d'adresse correspondant aux bits de poids fort sont connectes un registre de B bits et les N B

    autres lignes sont commandes par un autre registre de N B bits. Ces registres peuvent tre

    chargs indpendamment par l'unit de calcul des adresses effectives.

    V.8.d Registre de base et pagination

    Pour optimiser l'utilisation de tout ordinateur il est rapidement devenu indispensable de

    pouvoir charger tout programme n'importe o en mmoire. Il faut donc un mcanisme permettant partir des adresses virtuelles de calculer les adresses physiques. Une des mthodes les plus

    utilises est celle des registres de base qui existent dans presque tous les ordinateurs. Le

    mcanisme est le suivant :

    - Les programmes sont "relogeables" et toutes les adresses connues par le programmeur

    sont virtuelles, relatives au dbut du programme l'adresse 0;- Un registre spcial de l'unit centrale, appel registre de base, contient l'adresse physique

    du dbut du programme dans la mmoire;

    - Chaque fois que l'on fait une rfrence la mmoire, on ajoute l'adresse virtuelle

    trouve dans le programme le contenu du registre de base.

    Un registre de base permet galement de construire des adresses physiques comptant unnombre diffrent de bits que les adresses virtuelles.

    Pour obtenir une plus grande souplesse dans la gestion de la mmoire centrale, l'espacevirtuel de chaque programme est dcoup en blocs, tous de taille identique, les pages. L'espace

    physique est dcoup en blocs (ou pages physiques) de mme taille que les pages de l'espacevirtuel. La longueur des pages est toujours une puissance de 2 ce qui facilite l'obtention del'adresse physique par assemblage binaire. Le mcanisme de gestion qui permet de passer d'une

    adresse virtuelle une adresse physique dans un systme de pagination passe par la table des

    pages. Les proprits de la table de pages sont les suivantes :

    - Il y a une table des pages pour chaque programme;

    - La table des pages contient une entre pour chaque page virtuelle du programme;

    - Le dbut de la table des pages est charg dans un registre : le registre de base de la tablede pages (RBTP);

    - Chaque entre de la table peut contenir :

    . des bits de contrle : - page prsente en mmoire/page absente;- page modifie/non modifie;

    - autorisation d'accs en criture;

    - compteur d'utilisation;. deux adresses : - position de la page en mmoire secondaire (en gnral un

    disque : unit, face, piste et secteur);

    - numro du bloc de mmoire physique contenant la page, si la

    page virtuelle est prsente en mmoire.

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 114

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    21/26

    Le registre de base et le registre de base de la table de pages font partie du contexte du

    programme. La mise jour de la table des pages est assure par le systme. L'exploitation de

    cette table pour le calcul de l'adresse physique peut tre effectue par le systme, mais celaconsomme une partie du temps CPU disponible. Pour librer le systme d'exploitation cette

    gestion peut tre confie un circuit spcialis : unit de gestion de la mmoire (MMU : MemoryManagement Unit) intercale entre l'unit centrale et la mmoire.

    Le mcanisme de gestion de la mmoire peut se dcomposer de la manire suivante :

    1) L'adresse virtuelle est spare en deux parties :- numro de page virtuelle.

    - dplacement dans la page : identique dans la page physique;

    2) On ajoute le contenu du registre RBTP au numro de page virtuelle obtenu lors de l'tape 1.

    Cela nous donne l'adresse de l'entre correspondante dans la table des pages.

    3) On teste le bit de prsence :

    a) La page est prsente. Le numro du bloc physique contenant la page est charg dans leregistre de base. L'adresse physique est calcule en assemblant le registre de base au

    dplacement dans la page obtenu en 1 (fig. 20).

    b) La page est absente. Il y a faute de page. L'adresse de la page en mmoire secondairepermet de chercher la page sur disque et de la charger en mmoire. La tche en incombe au

    systme d'exploitation, qui alloue l'unit centrale un autre programme pendant ce temps.

    Aprs chargement le numro du bloc physique contenant la page est plac dans la table des

    pages. On est alors ramen au cas 3a.

    Pour acclrer la phase 3.a il est possible d'utiliser une mmoire associative (cf. prochain

    paragraphe) utilisant le numro de page virtuelle comme tiquette et fournissant en sortie lenumro de bloc physique. Cette mmoire associative ne contient alors que les pages en mmoire.

    Si la recherche est infructueuse le systme utilise la table des pages.

    Pour pouvoir charger une page en mmoire il faut disposer d'un bloc physique libre. Si ce

    n'est pas le cas il faut dcharger une page (en premire approximation effacer le bit indiquant que

    la page est en mmoire et effacer le numro du bloc physique correspondant). Plusieurs stratgiessont possibles : alatoire, FIFO ou LRU (cf : Systmes d'exploitation). Une solution consiste

    remplacer la page la moins rcemment utilise (LRU : Least Recently Used). C'est le rle du

    compteur associ chaque entre de la table des pages. Il indique la plus rcente rfrence la

    page. D'autre part, si la page a t modifie il faut la sauvegarder en mmoire secondaire avant delibrer l'emplacement physique.

    Le programme est crit comme s'il pouvait tre totalement contenu dans la mmoireprincipale, mme si ce n'est pas le cas. A la limite, le programmeur n'a pas besoin de savoir qu'il

    y a une mmoire virtuelle : tout se passe comme si l'ordinateur tait dot d'une norme mmoire

    principale. Le mcanisme de pagination est transparent, sauf au niveau des performances quidpendent de la charge du systme.

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 115

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    22/26

    Une autre fonction de l'unit de gestion de la mmoire consiste vrifier la cohrence des

    attributs d'accs. Chaque tche possde des attributs : mode utilisateur, mode superviseur, etc Il

    en est de mme pour les zones mmoires. On peut avoir :

    - Lecture uniquement;- Superviseur uniquement;- Zone programme;

    - Zone donne;

    - etc

    Si l'accs viole les attributs de la cible, la MMU doit interrompre la requte mmoire et engendrer

    une condition d'erreur ou une interruption particulire appele exception.

    1 0011011100 01110

    0 1100100100

    0 1000111000

    1 0000011000 10010

    1 0011101001 01101

    0 0100001111

    1 0110001110 00011

    1 1001101100 01111

    0011011000111001100

    RBTP+

    adresse virtuelle

    prsenceen mmoire

    adresse enmmoiresecondaire

    numro debloc physique

    01101 0011011000111001adresse physique

    RB Figure 20

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 116

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    23/26

    V.9 Mmoire associative

    Une mmoire associative, ou mmoire adressable par le contenu, permet de chercher si

    une information, appele descripteur ou clef, est contenue dans la mmoire et, dans cettehypothse de fournir une information associe. Le descripteur est compar simultanment tous

    les mots de la mmoire associative. La figure 21 prsente le schma de principe d'une mmoireassociative. La figure 22 explicite les cellules de base des deux matrices. La matrice 2 peut tretrs semblable l'organisation des cellules dans une mmoire vive classique. Par contre la

    matrice 1 remplace le dcodage des lignes.

    CMatrice 1 Matrice 2

    Registre D Registre A

    Figure 21

    La recherche en mmoire suppose le chargement pralable du descripteur dans le registre

    D. Ensuite toutes les oprations s'excutent en parallle sur tous les mots, sous l'effet d'une seuleimpulsion C. Une cellule de la matrice 1 transmet l'impulsion C si le contenu du point mmoire

    est identique au bit correspondant du registre D plac sur la mme verticale. Dans le cas contraire

    l'impulsion C est arrte. En effet la sortie de la cellule i (et l'entre de la cellule i+1) nous

    avons :)QDQD(CC jijjijji1ji + +=

    Si on suppose qu'il y a dans la matrice 1 au plus une information identique celle du descripteur,

    il sort de la matrice 1 au plus une impulsion C i qui dsigne le mot de la matrice 2 charger dans

    le registre A.

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 117

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    24/26

    Q

    QMi j

    Ci j

    Dj

    Ci j+1

    Q

    QM'i j

    Ci

    Aj

    Cellule de matrice 2Cellule de matrice 1

    Figure 22

    Une mmoire associative est souvent utilise pour la gestion de la mmoire centrale. Lesmmoires caches constituent un autre exemple d'utilisation des mmoires associatives.

    V.10 Mmoire cache ou antmmoire

    Le concept de mmoire virtuelle pagine peut tre vu comme un cache, la mmoire physique constituant un cache pour la mmoire secondaire. D'une faon gnrale, on appelle

    cache tout dispositif matriel ou logiciel qui stocke dans une zone d'accs rapide une copie de

    donnes en petite quantit choisies parmi des donnes qui sont stockes dans une zone d'accsplus lent.

    Dans le cas de la pagination, la mmoire primaire est la mmoire physique et la mmoire

    secondaire est l'espace sur disque. La mmoire physique ne contient, un instant donn, que lesseules pages du programme utilises rcemment. Dans le cas d'un cache-mmoire, la mmoire

    primaire est une mmoire rapide, la mmoire secondaire est la mmoire principale de la machine.

    Le cache-mmoire ne contient, un instant donn, que les copies de petits blocs de mots de lammoire physique rcemment rfrencs. Il y a cependant une nuance. Pour la pagination le

    temps ncessaire au chargement d'une page partir du disque est long. Ce mcanisme est gr

    par le systme et le programme en cours perd le contrle de l'unit centrale. Pour l'antmmoire

    la gestion se fait uniquement au niveau du matriel et le programme en cours conserve la main.

    On utilise pour les caches des mmoires statiques trs rapides. La mmoire cache permet

    de combler en partie la diffrence entre les vitesses de l'unit centrale et de la mmoire. Ontrouve trs souvent deux niveaux de mmoire cache. Le premier niveau est intgr au processeur

    et dispose d'un temps d'accs quivalent au cycle de fonctionnement de celui-ci. Le second

    niveau est de plus grande taille mais plus lent. Une mmoire cache intgre au processeur, ou trsproche, est base sur une mmoire associative.

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 118

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    25/26

    Les statistiques ont montr que 80 90 % des programmes se trouvent dans des boucles.

    C'est pourquoi une mmoire cache peut obtenir un taux de russite, probabilit de trouver

    l'instruction dans le cache, de 70 90 %. L'emploi des mmoires caches est essentiel dans lesarchitectures RISC. Certains processeurs disposent de deux caches pour les instructions et les

    donnes (architecture de Harvard).

    Mme en dehors d'une boucle, comme le traitement des instructions est squentiel on a

    intrt transfrer les instructions par blocs. On appelle un tel bloc une ligne, quivalente la

    page entre mmoire et disque.

    La figure 23 illustre le schma de principe d'une architecture avec hirarchisation de la

    mmoire. L'intgration sur une mme plaquette silicium s'tend peu peu. Elle peut aller

    aujourd'hui jusqu'au cache de niveau 2.

    unit degestionmmoire(MMU)

    cacheniveau 2

    cacheniveau 1

    mmoirecentrale

    disqueunitcentrale(CPU)

    adressesvirtuelles

    bus d'adresse

    bus de donnes

    Figure 23

    V.11 Mmoire file ou FIFO

    Il existe un autre type de mmoire vive : la file d'attente ou FIFO. Cette abrviation

    signifie First In First Out, soit premier entr premier sorti.

    Une file dispose de deux bus de donnes distincts en entre et en sortie. L'accs n'est pas

    alatoire, l'ordre en sortie est identique celui en entre. Il n'y a pas d'adressage. L'utilisateur peutcrire dans la FIFO si le premier tage est libre et lire la FIFO que si le dernier tage est occup.

    Une file est constitue de n registres dcalage comptant chacun m cases. Le nombre n

    correspond la largeur des mots, alors que m est la profondeur de la file ou sa capacit. Un

    registre interne indique l'tat (libre ou occup) de chacun des tages. La logique de contrledcale automatiquement chaque tage occup vers un tage libre.

    S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 119

  • 8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives

    26/26

    Logique de contrle

    ns

    orties

    n

    entres

    sortie occupeentre occupe

    Figure 24