cour electronique numérique

Upload: see-hawa

Post on 04-Apr-2018

228 views

Category:

Documents


1 download

TRANSCRIPT

  • 7/30/2019 cour electronique numrique

    1/60

    1

    Les fonctions logiques

    Le fonctionnement des ordinateurs tout comme dautres appareils lectroniques repose sur lemploides circuits lectroniques de logique binaire ou lectronique numrique. Dans cette branche dellectronique les signaux lectriques ne peuvent prendre que deux tats 0 ou 1. A loppos nous

    avons llectronique analogique beaucoup plus complexe manipuler, et dans la quelles les signauxpeuvent ont la possibilit de prendre une infinit de valeurs limage des grandeurs physiqueshabituelle comme la temprature, la pression, le dbit, la vitesse, etc.

    Une fois la diffrence entre llectronique analogique et llectronique digitale ou numrique faite,il y a lieu de distinguer dans le numrique deux concepts diffrents dapproche, se lon que le tempsqui scoule est pris en compte ou non.

    Dans la logique combinatoire, une fonction sera excute chaque fois quun ensemble de conditionssera runi, et maintenue tant que ces conditions demeurent. Nous pouvons citer le cas delinterrupteur qui une fois actionn maintient la lampe allume jusqu ce quelle soit actionne

    nouveau.

    A loppos, la logique squentielle fait intervenir le temps, ou, en dautres termes, la mmorisation.Nous pouvons citer comme la lumire commande par bouton poussoir ou tlrupteur. Quand vousappuyer sur le bouton poussoir le tlrupteur se met en mode travail et allume la lampe. Mme sivous enlevez votre doigt, la lampe reste allume. Cela veut dire quil y a mmorisation de lactionantrieure.

  • 7/30/2019 cour electronique numrique

    2/60

    2

    La logique lmentaire

    Une des caractristiques de llectronique numrique de base est sa simplicit. Il nexiste en effetque trois circuits : le ET, le OU et le NON, les autres circuits tant des variantes de ces troiscircuits.

    L Inverseur ou la porte NON

    L'opration NON (NOT) a une seule entre et une seule sortie. La sortie d'une fonction NON prendl'tat 1 si et seulement si son entre est dans l'tat 0. La ngation logique est symbolise par un petitcercle.

    Table de vrit, schma et proprit de la fonction NON

    A= AA+A=1A.A=0A+(A.B)= (A+A).(A+B) = A+B

    La Porte OU (inclusif)

    L'opration OU (OR), encore appele addition logique (+) ou union, a au moins deux entres. La

    sortie d'une fonction OU est dans l'tat 1 si au moins une de ses entres est dans l'tat 1.

    Table de vrit, schma et proprit de la fonction OU

    Il est facile de vrifier les proprits suivantes de la fonction OU :(A + B) + C = A + (B + C) = A + B + C AssociativitA + B = B + A CommutativitA + A = A IdempotenceA + 0 = A lment neutreA + 1 = 1

    La porte NON OU ou NOR.

    Une ngation la sortie d'une porte OU constitue une fonction NON OU (NOR : NOT OR)

  • 7/30/2019 cour electronique numrique

    3/60

  • 7/30/2019 cour electronique numrique

    4/60

    4

    Le thorme de Morgan

    De Morgan a exprim deux thormes qui peuvent se rsumer sous la forme suivante :

    Pour vrifier le premier thorme nous remarquons que si toutes les entres sont 1 les deuxmembres de l'quation sont nuls. Par contre si une au moins des entres est 0 les deux membres del'quation sont gaux 1. Il y a donc galit quels que soient les tats des diverses entres.

    Le second thorme se vrifie de la mme manire : si toutes les entres sont 0 les deux membresde l'quation sont 1, par contre si au moins une des entres est 1 les deux expressions sont 0.

    Les thormes de De Morgan montrent qu'une fonction ET peut tre fabrique partir des fonctions

    OU et NON. De mme une fonction OU peut tre obtenue partir des fonctions ET et NON.De mme, partir des thormes de De Morgan nous pouvons montrer qu'une porte ET en logiquepositive fonctionne comme une porte OU en logique ngative et vice versa.

    Le rsum des proprits des portes logiques

  • 7/30/2019 cour electronique numrique

    5/60

    5

    criture canonique dune fonction logique

    Pour crire la fonction canonique de cette table de vrit. Il faut considrer les valeurs vraies de lasortie F et faire la somme des produits.

    Simplification de l'criture des fonctions logiques

    Simplifier une expression boolenne c'est lui trouver une forme plus condense, faisant intervenirmoins d'oprateurs et conduisant une ralisation matrielle plus compacte. On peut simplifier unefonction par manipulation algbrique en utilisant une reprsentation graphique sous forme detableaux 2, 3, 4 et 5 variables : Les tableaux de Karnaugh

    Simplification algbrique

    Pour utiliser la mthode algbrique, il faut maitriser les identits remarquables sur les proprits desfonctions logiques.

    A.(B+C)=AB+AC Distributivit A+(BC) = (A+B).(A+C) DistributivitA+AB = A A.(A+B) = A (A+B).(A+B) = A A+AB = A+B

  • 7/30/2019 cour electronique numrique

    6/60

    6

    Simplification par la mthode de Karnaugh

    La mthode de Karnaugh est base sur linspection visuelle de tableaux disposs de faon ce quedeux cases adjacentes en ligne et en colonne ne diffrent que par ltat dune variable et duneseule.

    Si une fonction dpend de n variables, il ya 2n possibilits de produits. Chacun de ces produits estreprsentes par une case dans un tableau. Il faut bien observer comment les tableaux sontnumrots. Dune case sa voisine, une seule variable change dtat.

    Partir de lquation AB + AB = A (B+B) = A

    Remplir les tables de vrit Faire lquation canonique Dessiner le tableau de Karnaugh Remplir les cases du tableau de Karnaugh Regrouper les cellules adjacentes Simplifier les regroupements Retenir lquation finale

    Les combinaisons sont places dans lordre du codage binaire rflchi ou du codage Gray afin queles produits adjacents se trouvent dans des cases voisines ou dans les cases extrmes.On peut alors faire des regroupements de 2, 4, 8, etc.

    Pour 5 variables, deux reprsentations sont possibles. Le tableau de Karnaugh peut tre traits

    comme deux tableaux 4x4 superposs ou un seul tableau de 4x8. Observez comment sontnumrotes les lignes et les colonnes : d'une case sa voisine une seule variable change d'tat.

    Tableau deux variables ( n=2 , 2n

    cases = 4 cases)

    Chaque case a deux voisins adjacents

    Tableau trois variables ( n=3, 2n

    cases = 8 cases)

    AB A ABB

    AB 0 1

    0 x x

    1 x

    ABCA A A AB B B B

    CC

    ABC 00 01 11 10

    0 x x x1 x

  • 7/30/2019 cour electronique numrique

    7/60

    7

    Chaque case a trois voisins adjacentsTableau quatre variables ( n=4, 2

    ncases = 16 cases). 2 types de reprsentations

    Chaque case a 4 voisins adjacents

    Tableau cinq variables ( n=5, 2n

    cases = 32 cases). 2 types de reprsentations

    Chaque case 5 voisins. Pour les identifier, il suffit de replier le tableau par rapport la lignemdiane qui se trouve entre le 010 et le 110

    E E

    0 1

    Le passage de la table de vrit au tableau de Karnaugh consiste remplir chaque case avec leur valeur de la fonctionpour le produit correspondant. Pour ne pas encombrer le tableau, il ne faut mettre que les 1.La simplification consiste rassembler les cases adjacentes contenant des 1 par groupe de 2, 4 et 8, ensuite les

    factoriser.

    ABCDA A A AB B B B

    C DC DC D

    C D

    ABCD 00 01 11 10

    00 x x x

    01 x

    11

    10 x

    ABCD

    A A A A A A A AB B B B B B B BC C C C C C C C

    DD

    ABCD 000 001 011 010 110 111 101 100

    0

    1

    ABCDE

    A A A A A A A AB B B B B B B BC C C C C C C C

    D ED ED E

    D E

    ABCDE 000 001 011 010 110 111 101 100

    00 x

    01 x x x x

    11 x

    10

    ABCDA A A AB B B B

    C D x x xC D xC D

    C D x

    ABCDA A A AB B B B

    C DC DC D

    C D

    ABCD 00 01 11 10

    00

    01

    11

    10

    ABCD 00 01 11 10

    00

    01

    11

    10

  • 7/30/2019 cour electronique numrique

    8/60

    8

    La logique combinatoire

    Le demi- additionneurPour additionner deux nombres, il faut dabord additionner les 2 bits de poids faible a0 et b0, puisadditionner les bits suivants sans oublier les retenues.Un demi-additionneur ou Half Addr (HA) est un circuit qui additionne les 2 bits de poids faibles

    pour lesquelles la retenue propage nest pas prise en compte.

    Table de vrit, forme canonique et schma

    Dans cette table de vrit, nous reconnaissons la fonction OU exclusif pour la somme et la fonction

    ET pour la retenue.

    Additionneur complet d1 bitPour additionner les bits de poids suprieur a i, bi (0 < i < n) et de tenir compte de la retenue ri-1propage depuis le rand i-1, il faut recours un Full Adder ou additionneur complet. Un Full Adderpeut additionner 2 bits avec un report, soit trois entres et deux sorties.

    Table de vrit, forme canonique et schma

    S=ABR+ABR+ABR+ABR = R(A xor B) + R (AB+AB)R(A xor B) + R (AB+AB) = R (A xor B) + R (A xor B) = R xor A xor B

    C= R(AB+AB)+ AB(R+R) = R (A xor B)+ ABR= Cin (Carriage in) et C= Cout (Carriage out)

  • 7/30/2019 cour electronique numrique

    9/60

    9

    Simplification en utilisant la reprsentation de Karnaugh

    Additionneur complet de n bits ou Additionneur en parallle (Binary Parallel Adder)

    L'addition de nombres comptant plusieurs bits peut se faire en srie (bit aprs bit) ou en parallle(tous les bits simultanment).

    Nous allons prendre l'exemple d'un additionneur 4 bits comptant quatre "Full Adders", monts enparallle ou en cascade. Chaque additionneur FAi est affect l'addition des bits de poids i. L'entre

    correspondant au report de retenue pour FA0 est impose 0 (en logique positive). La retenue finaleC indique un dpassement de capacit si elle est gale 1.

    Pour raliser un additionneur complet de 2 nombres on met en cascade plusieurs FA de telle sorteque la retenu de sortie des bits moins significatifs (LSB) constituent le retenus dentre des bits plussignificatifs (MSB).

    1 1 1 1 A3 A2 A1 A00 1 1 1 B3 B2 B1 B0

    1 0 1 1 0

  • 7/30/2019 cour electronique numrique

    10/60

    10

    Si le dernier bit de retenue est gal 1, il est signal par un indicateur de carry mmoris par un 1not C (Carry) dans un registre appel le Processor Status Word (PSW) ou registre detat.

    Si le rsultat est aussi en dehors de lintervalle des n bits, ce dpassement de capacit est aussimmoris dans le registre dtat du PSW par lintermdiaire dun bit 1 not O (Overflow)

    Addition squentielle

    Dans un additionneur squentiel chacun des nombres A et B est reprsent par un train d'impulsionssynchrones par rapport un signal d'horloge. L'ordre chronologique d'arrive des impulsionscorrespond l'ordre croissant des poids : le bit le moins significatif se prsentant le premier. Cesimpulsions sont injectes sur les deux lignes d'entre d'un additionneur.A chaque cycle d'horloge, la retenue provenant des bits de poids infrieurs doit tre mmorise (parexemple, l'aide d'une bascule D qui sera tudie dans le chapitre suivant).

    Un additionneur parallle est plus rapide mais ncessite plus de composants.

  • 7/30/2019 cour electronique numrique

    11/60

    11

    Le demi- soustracteur

    Un demi-additionneur ou Half Substractor (HS) est un circuit qui peut faire la soustraction de 2bits.

    Table de vrit, forme canonique et schma

    Le Comparateur

    On rencontre trs souvent la ncessit de comparer deux entiers (A = B, A > B ou A < B).Ecrivons la table de vrit correspondant ces trois fonctions de comparaison de 2 bits. Lafonction C doit tre gale 1 si et seulement si A > B, la fonction D si et seulement si A < B et lafonction E si et seulement si A = B. Ce qui nous donne :

    Circuit permetteant de comparer deux n

    Le Contrle de parit

    La parit d'un mot binaire est dfinie comme la parit de la somme des bits, soit encore :- parit paire (ou 0) : nombre pair de 1 dans le mot;- parit impaire (ou 1) : nombre impair de 1 dans le mot.La fonction OU-exclusif donne la parit d'un sous-ensemble de deux bits. Le contrle de parit estbas sur la constatation que le mot de n+1 bits form en adjoignant un mot de n bits son bit deparit est toujours de parit 0. La figure 15 reprsente le diagramme logique d'un gnrateur43contrleur de parit pour 4 bits. Si l'entre P' est impose 0 ce circuit fonctionne commegnrateur de parit : la sortie P reprsente la parit du mot compos par les bits A, B, C et D.

  • 7/30/2019 cour electronique numrique

    12/60

    12

    A B C D P

    0 0 0 0 1

    0 0 0 1 0

    0 0 1 0 00 0 1 1 1

    0 1 0 0 0

    0 1 0 1 1

    0 1 1 0 1

    0 1 1 1 0

    1 0 0 0 0

    1 0 0 1 1

    1 0 1 0 1

    1 0 1 1 01 1 0 0 1

    1 1 0 1 0

    1 1 1 0 0

    1 1 1 1 1

    Pas ce case adjacent, donc non simplifiable par Karnaugh.

    P=ABCD+ ABCD+ ABCD+ ABCD+ ABCD+ ABCD+ ABCD+ ABCD

    (A xor B) xor (C xor D) xor P = P

  • 7/30/2019 cour electronique numrique

    13/60

    13

    Un codeur

    Un codeur permet de transmettre une information de la meilleure faon. Cette transmission estsouvent plus simple, plus rapide et plus scuris. Les langues que nous utilisons sont des codes.Le codeur fait correspondre lactivation dune entre particulire une combinaison de bits ensortie. Cest un circuit une entre et n sorties.

    Table de vrit dun codeur BCD (Binary Code Decimal)

    a = E8 + E9 b = E4+ E5+ E6 + E7 c=E2+E3+E6+E7 d=E1+E3+E5+E7+E9

    Le dcodeur

    Le dcodeur ralise la fonction inverse du codeur. Cest un circuit logique comportant n entre et 2n sorties. Lorsque le signal de validation est actif, seule la sortie dont le numro correspond lavaleur binaire affiche sur lentre est active. Toutes les autres sont inactives.

    Nous pouvons citer le clavier dune porte automatique ou le dcodeur BCD/Afficheur 7 segments.

    Le dcodeur est un circuit trs employ dans les microprocesseurs. Son rle est de slectionnerentre autres, une adresse prcise de mmoire parmi un lot important dadresses diffrentes.

    Supposez quil faille aller chercher dans une mmoire dune capacit de 4096 mots, un mot donnsitu une adresse bien prcise. Il nest pas question dadresser les 4096 mots diffrents contenusdans la mmoire. Cela ncessiterait 4096 fils. Pour rsoudre ce problme il ne faut relier lemicroprocesseur que par 12 fils, car cest un mot de 12 bit qui permet dadresser 4096 place (2 12 =4096). Il nous faudra alors un dcodeurs 12 entres et 4096 sorties.

    Entre a b c d

    E0 0 0 0 0

    E1 0 0 0 1

    E2 0 0 1 0

    E3 0 0 1 1

    E4 0 1 0 0

    E5 0 1 0 1

    E6 0 1 1 0

    E7 0 1 1 1

    E8 1 0 0 0

    E9 1 0 0 1

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

  • 7/30/2019 cour electronique numrique

    14/60

    14

    Dcodeur 2 entre et 4 sorties

    S0 = AB S1=AB S2 = AB S3=AB

    Dans un systme numrique les instructions, tout comme les nombres, sont transportes sous forme de motsbinaires. Par exemple un mot de 4 bits peut permettre d'identifier 16 instructions diffrentes : l'informationest code. Trs souvent l'quivalent d'un commutateur 16 positions permet de slectionner l'instructioncorrespondant un code. Ce processus est appel dcodage. La fonction de dcodage consiste fairecorrespondre un code prsent en entre sur n lignes une seule sortie active parmi les N = 2 n sortiespossibles. A titre d'exemple, nous allons tudier le dcodage de la reprsentation DCB des nombres

    Reprsentation DCB (Dcimale Code Binaire)

    Le code DCB (ou en anglais BCD : Binary Coded Decimal) transforme les nombres dcimaux en remplaantchacun des chiffres dcimaux par 4 chiffres binaires. Cette reprsentation conserve donc la structuredcimale : units, dizaines, centaines, milliers, etc Chaque chiffre est cod sur 4 bits.

    Par exemple le nombre dcimal 294 sera cod en DCB : 0010 1001 0100. Ce type de codagepermet, par exemple, de faciliter l'affichage en dcimal du contenu d'un compteur. Pour ce faire onpeut utiliser des tubes de Nixie, contenant 10 cathodes ayant chacune la forme d'un chiffre ou desafficheurs lumineux sept segment

    La fonction de chacun des transcodeurs est de positionner 1 les lignes de sortie correspondant auxsegments allumer selon de code port par les quatre lignes d'entre. De manire gnrale, untranscodeur fait correspondre un code A en entre sur n lignes, un code B en sortie sur m lignes.

    Nous allons tudier l'exemple d'un dcodeur DCB-dcimal. La table de vrit de ce dcodeur esttrs simple :

    A B S0 S1 S2 S3

    0 0 1 0 0 0

    0 1 0 1 0 01 0 0 0 1 0

    1 1 0 0 0 1

  • 7/30/2019 cour electronique numrique

    15/60

    15

    A chacune des lignes de sortie nous pouvons associer un produit prenant en comptechacune desquatre entres ou leur complment. Ainsi la ligne 5 correspond : A B CD

    D'autre part, on souhaite souvent n'activer les lignes de sortie qu'en prsence d'un signal decommande global (strobe ou enable). Ce signal S est mis en concidence sur chacune des dix portesde sortie. Dans l'exemple suivant, si S est dans l'tat 0 le dcodeur est bloqu et tous les sorties sontgalement dans l'tat 0.

  • 7/30/2019 cour electronique numrique

    16/60

    16

    Le transcodeur

    Le transcodeur est un circuit qui permet de passer dun code un autre. Il comporte n entre et nsorties. Le lecteur de code barre est un transcodeur.

    Table de vrit pour passer du code binaire au code Gray

    Le code Gray est frquemment utilis dans les capteurs angulaires ou de positionnement, mais aussilorsque l'on dsire une progression numrique binaire sans parasite transitoire.Le code Gray sert galement dans les tableaux de Karnaugh utiliss lors de la conception de circuitslogiques.Pour passer du code binaire au code Gray on utilise la formule suivante :

    n est le nombre convertit en Gray et N le nombre binaire.

    B0=A0A1A2+A0A1A2+A0A1A2+A0A1A2B1=A0A1A2+ A0A1A2+A0A1A2+A0A1A2B2=A0A1A2+ A0A1A2+A0A1A2+A0A1A2

    A0 A1 A2 B0 B1 B2

    0 0 0 0 0 00 0 1 0 0 1

    0 1 0 0 1 1

    0 1 1 0 1 0

    1 0 0 1 1 0

    1 0 1 1 1 1

    1 1 0 1 0 1

    1 1 1 1 0 0

  • 7/30/2019 cour electronique numrique

    17/60

    17

    Un encodeur

    Un encodeur est systme qui comporte N lignes dentr et n lignes de sorties. Lorsquune des lignesdentr est activit lencodeur fournit en sortie un mot de n bit correspondant au codage delinformation identifi par la ligne active.

    Table de vrit dun encodeur transformant un nombre dcimal en son quivalent en code BCD. Ilcomporte 10 entres et 4 sorties

    E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 S3 S2 S1 S0

    1 0 0 0 0 0 0 0 0 0 0 0 0 0

    0 1 0 0 0 0 0 0 0 0 0 0 0 1

    0 0 1 0 0 0 0 0 0 0 0 0 1 0

    0 0 0 1 0 0 0 0 0 0 0 0 1 1

    0 0 0 0 1 0 0 0 0 0 0 1 0 00 0 0 0 0 1 0 0 0 0 0 1 0 1

    0 0 0 0 0 0 1 0 0 0 0 1 1 0

    0 0 0 0 0 0 0 1 0 0 0 1 1 1

    0 0 0 0 0 0 0 0 1 0 1 0 0 0

    0 0 0 0 0 0 0 0 0 1 1 0 0 1

    S0 = E1+E3+E5+E7+E9

    S1 = E2+E3+E6+E7S2 = E4+E5+E6+E7S3 = E8+E9

  • 7/30/2019 cour electronique numrique

    18/60

    18

    Le Multiplexeur

    Le multiplexeur aussi trs employ pour rle daiguiller sur une sortie unique un signal prlevparmi plusieurs autres de nature diffrentes. Cest en quelque sorte un circuit qui ralise la fonctioninverse dun dcodeur.Le multiplexeur est un dispositif qui permet de transmettre sur une seule ligne des informations enprovenance de plusieurs sources ou destination de plusieurs cibles.

    Cest un circuit comportant 2n entres dinformations, n entres dadresse et une seule sortie.Lorsque la validation est active la sortie prend ltat dune entre.

    EEnable

    BCommande

    ACommande

    EEntre

    SSortie

    0 0 0 X0 EBAX00 0 1 X1 EBAX10 1 0 X2 EBAX20 1 1 X3 EBAX3

    1 0 0 01 0 1 01 1 0 01 1 1 0

  • 7/30/2019 cour electronique numrique

    19/60

    19

    Dmultiplexeur

    Cest le circuit complmentaire du multiplexeur. Il comporte une entre dinformation, 2n sortiesdinformation et n entres dadresse. Il met en relation cette entre avec une sortie et une seule.

    Pour pouvoir slectionner cette sortie il faut galement des lignes d'adressage : le code port par ceslignes identifie la ligne de sortie utiliser. Ce circuit est trs proche d'un dcodeur. Considrons undmultiplexeur avec quatre lignes de sortie. Il faut deux lignes d'adresse. Supposons que noussouhaitons galement valider les donnes avec un signal de contrle E (pour laisser par exemple letemps aux niveaux d'entre de se stabiliser). Par convention nous choisissons de prendre en compteles donnes pour E = 0.

    Comme pour ladditionneur, il est possible de faire des cascades de multiplexeur et de

    dmultiplexeur pour avoir plusieurs entres ou plusieurs sorties.

  • 7/30/2019 cour electronique numrique

    20/60

    20

    La logique squentielle

    Un systme combinatoire est tel que ltat de ses sorties ne dpend que ltat des entres. Il peuttre donc reprsent par une table de vrit ou un tableau de Karnaugh, pour chaque sortie. Il est

    possible donc dcrire lquation logique de chaque sortie, en fonction seulement des entres.

    Quant au systme squentiel, il dpend non seulement des entres, mais aussi de ltat prcdant dusystme. On retrouvera les mmes tats des entrs plusieurs tapes, alors que els sorties serontdiffrents. Il est donc impossible de reprsenter un tableau de Karnaugh.

    Pour les circuits de logique squentielle nous devons tenir compte de l'tat du systme. Ainsi lessorties dpendent des entres mais galement de l'tat du systme. Celui-ci dpend aussi desentres. Si nous notons Q l'tat d'un systme squentiel, X ses entres et Y ses sorties, nous avonsde manire gnrale :

    La logique squentielle permet de raliser des circuits dont le comportement est variable avec letemps. L'tat d'un systme constitue une mmoire du pass.

    Lorsque les changements d'tat des divers composants d'un circuit squentiel se produisent desinstants qui dpendent des temps de rponse des autres composants et des temps de propagation dessignaux on parle de logique squentielle asynchrone. Cependant les retards peuvent ne pas treidentiques pour toutes les variables binaires et conduire certains alas.

    Ceux-ci peuvent tre vits en synchronisant la squence des diverses oprations logiques sur les

    signaux priodiques provenant d'une horloge. La logique squentielle est alors dite synchrone : tousles changements d'tat sont synchroniss sur un signal de contrle.

    Les lments de base sont les bascules et une association de bascules nous permettront de construiredes registres, des compteurs, de dcompteurs et des diviseurs.

    Nous allons tudier successivement la la bascule RS, RST, D, JK

    Un latch ou verrou. Le cas de la bascule bistable

    Une bascule (flip-flop) a pour rle de mmoriser une information lmentaire. C'est une mmoire 1 bit. Une bascule possde deux sorties complmentaires Q et Q. La mmorisation fait appel unverrou (latch) ou systme de blocage, dont le principe de rtro-action peut tre reprsent de lafaon suivante :

  • 7/30/2019 cour electronique numrique

    21/60

    21

    Si (Q = 0) (B= 0) (Q= 1) (A= 1) (Q= 0)Si (Q = 1) (B= 1) (Q= 0) (A= 0) (Q =1)

    Une bascule ne peut donc tre que dans deux tats : "1" (Q 1, Q 0) et "0" (Q 0, Q 1) . Lesinterconnexions du verrou interdisent les deux autres combinaisons : Q Q 1 ou Q Q 0 .

    Ce type de circuit, qui n'a que deux tats stables possibles, est encore appel circuit bistable.

    Un verrou permet de conserver un tat, il nous faut maintenant savoir comment changer cet tat.

    Cette bascule a cependant deux inconvnients majeurs. Il est impossible de dire dans quel tat il vase trouver la mise sous tension. Ensuite si ltat se stabilise, il est impossible den sortir. Sil tait

    possible de le piloter on aura ralis une mmoire dun bit.Ce pilotage est possible en replaant linverseur par un circuit logiquement quivalent, mais avecdeux entre (R et S) en utilisant les porte NOR ou NAND.

    La bascule RS

    La bistable RS est la premire volution du circuit mmoire base dinverseurs. Il a deux entres decommande qui permettent de mettre le bistable dans lun ou lautre tat : Set (Remise Un) et Reset(Remise Zro). La valeur mtorise est accessible sur la sortie Q.

    Les verrous les plus frquemment rencontrs sont raliss avec deux portes NOR ou NAND.Considrons dans un premier temps le circuit suivant :

    Q+ = RS+(RS).Q

    Si on applique S = 1 et R = 0 ou S = 0 et R = 1 on impose l'tat de la sortie Q respectivement 1 ou 0, la sortie Q prenant la valeur complmentaire.

    (S=1, R=0) donne (Q=0, Q=1) Set = Remise Un RAU(S=0, R=1) donne (Q=1, Q=0) Reset = Remise Zro : RAZ

    Cet tat se maintient lorsque les deux entres retournent 0.

    (Q=0, Q=1) (S=0, R=0) (Q=0, Q=1) Q reste Q et Q reste Q(Q=1, Q=0) (S=0, R=0) (Q=1, Q=0) Q reste Q et Q reste Q

    La configuration S = R = 1 est proscrire car ici elle conduit Q Q0, ce qui est inconsistantlogiquement avec notre dfinition.

    (Q=0, Q=1) (S=1, R=1) (Q=0, Q=0) A proscrire

  • 7/30/2019 cour electronique numrique

    22/60

    22

    Mais surtout, lorsque R et S reviennent 0, l'tat QQ tant incompatible avec lesinterconnexions, l'une de ces deux sorties va reprendre l'tat 1, mais il est impossible de prdirelaquelle : la configuration S = R = 1 conduit une indtermination de l'tat des sorties et est doncinutilisable.

    Le circuit est dit asynchrone car il nest pilot par aucun signal dhorloge.

    La bascule RS NAND

    L'utilisation des deux inverseurs sur les lignes d'entre nous permet de retrouver une table devrit comparable celle de la bascule RS prcdente.

    Cette bascule est toute fois un peu trop lmentaire, car elle souffre de deux dfauts graves. Lepremier dfaut est limpossibilit dassurer la complmentarit de la sortie Q et Q lorsque que lesdeux entres sont 1. Le second rside dans le fait que cette bascule est tout instant sous lacommande des entres R et S. Si une impulsion parasite survient le dsordre sinstalle.

    La RS entre en horloge (RST)

    On a souvent besoin deffecteur des changements dtat des instants dtermins, rythms par unehorloge, signal carr prenant rgulirement les valeurs 0 et 1. On peut facilement modifier la

    bascule RS pour la rendre synchrone, cest dire de ne permettre de changement que lorsque lesignal dhorloge vaut 1.

    La bascule R.S.T. est une bascule pour laquelle les entres S et R ne sont prises en compte qu'enconcidence avec un signal de commande. Ce signal peut tre fourni par une horloge, nous avonsalors une bascule synchrone.

    Cette bascule na pas le dernier inconvnient cit prcdemment, cest dire la possibilit de

    changer dtat tout moment.

  • 7/30/2019 cour electronique numrique

    23/60

    23

    Une entre dhorloge constitue par deux porte ET assure le passage ou le blocage des ordres debasculement selon le niveau du signal dhorloge.

    Lorsque le signal de commande, not ici Clk, est 1 la bascule fonctionne comme indiquprcdemment et les sorties suivent les variations des entres S et R. Par contre, lorsque le signal decommande est 0, la bascule est bloque : Q est indpendant des ventuels changements de S et R.L'tat mmoris correspond au dernier tat avant le passage de la ligne de commande de 1 0.

    De telles bascules sont souvent utilises dans les circuits des microprocesseurs. Elles sontfrquemment regroupes par deux ou par quatre dans un mme circuit intgr, avec une lignecommune pour lhorloge.

    Bascule RST avec Preset et Clear

    Il est galement possible d'ajouter labascule RST des entres permettant de forcer l'tatde la bascule, et ceci mme en l'absence de signal H

    La bascule D

    Pour les deux premires bascules il est impossible de maintenir Q et Q barre complmentaire si R etS sont tous gales 1. Une faon de rsoudre ce problme consiste rendre complmentaire en

    permanence lentre R et S. Il ne subsiste alors quune seule entre dnomme D (Data) rpartie defaon complmentaire sur les deux portes ET et laide dun inverseur. S=1, R=0 si D=1 S=0 etR= 1 sir D=0.

    Cette bascule permet dviter S=R=1 et S=R=0. Avec linverseur S et R sont toujourscomplmentaires.

    T-1 TS R Q Q0 0 Q Q0 1 0 11 0 1 01 0 1 01 1 ? ?

  • 7/30/2019 cour electronique numrique

    24/60

    24

    Ce type de bascule est trs utilis dans les mmoires intermdiaires situes lentre des diversorganes des microprocesseurs, l o linformation doit tre recopi systmatiquement avant quellene pntre dans lorgane qui elle est destine.

    Si H=0 quelque soit la valeur de D, Q et Q restent inchangs.Si H=1, D=1 Q=1 et Q=0Si H=1, D=0 Q=0 et Q=1

    La bascule JK

    Lintroduction dune entre dhorloge sur une bascule na toutefois pas compltement supprim lephnomne de dclenchement intempestif sur les signaux parasites dentre.La bascule JK est constitue de deux bascules RST. Dont lun est appel matre et lautre esclave.

    Preset et Clear

    Les entres asynchrones (car utiliser en absence de signal d'horloge) Pr (Preset) et Cr (Clear)permettent d'assigner l'tat initial de la bascule, par exemple la mise sous tension pour viter toutala. En fonctionnement normal ces deux entres doivent tre maintenues 1. Lorsque le signald'horloge est 0 nous avons la table de vrit suivante :

    T-1 T

    D Q0 01 1

    T-1 T

    Jn Kn Qn+1

    0 0 Qn

    0 1 01 0 1

    1 1 Qn

  • 7/30/2019 cour electronique numrique

    25/60

    25

    Bascule J-K Matre-Esclave

    Jusqu' prsent nous avons construit les tables de vrit partir de la logique combinatoire quisuppose que les entres sont indpendantes des sorties. Or dans la bascule J-K nous avons introduitdes connexions d'asservissement entre les entres et les sorties. Ainsi supposons qu'avant le signald'horloge nous avons J = K = 1 et Q = 0 . Lorsque le signal d'horloge passe 1 la sortie Q devient 1.

    Ce changement intervient aprs un intervalle de temps t. Nous avons alors J = K = Q = 1. Nousvoyons que la sortie Q doit alors revenir 0. Ainsi la sortie Q va osciller entre 0 et 1 pendant toutela dure du signal d'horloge rendant le rsultat ambigu.

    Pour viter ce problme on monte deux bascules R-S en cascade en asservissant (traits pais) lesentres de la premire (Matre) aux sorties de la seconde (Esclave). D'autre part, le signal d'horlogeparvenant l'esclave est invers.

    Bascule JKD

    Une bascule D (Delay) est obtenue partir d'une bascule J-K en envoyant simultanment unedonne sur l'entre J et son inverse sur l'entre K :

    Ce qui peut se rsumer par Qn+1 = Dn. Ainsi l'tat de la bascule Q pendant l'intervalle n+1 estgal la valeur de l'entre D pendant l'intervalle n. Une bascule D agit comme une unit retardpour laquelle la sortie suit l'entre avec un cycle de retard.

  • 7/30/2019 cour electronique numrique

    26/60

    26

    Bascule D sur front montant

    Bascule JKT

    Nous constatons que si J = K = 1 alors Qn1 Qn . L'tat de la sortie est invers chaque cycle

    d'horloge. Une bascule T (Trigger) est obtenue partir d'une bascule J-K en injectant le mme tatdans les entres J et K .

    Le microprocesseur dans sa partie interne travaille en parallle et a donc besoin de stocker les oprationsintermdiaire sur des registres. Un registre peut tre reprsent par une bascule de type D.

    De mme que pour la logique combinatoire nous pouvons crer des additionneurs, des comparateurset des multiplexeurs, etc. Pour la logique squentielle nous pouvons crer des registres, descompteurs et des diviseurs de frquence.

    Bascule T

    Cette bascule est un diviseur de frquence. Elle obtenue en bouclant une bascule RS maitre-esclave

  • 7/30/2019 cour electronique numrique

    27/60

    27

    Les registres

    Les registres sont des composants fondamentaux des microprocesseurs. Pou bien saisir une telleaffirmation, il faut que vous vous rappeliez quun microprocesseur ne raite pas des signauxnumriques limits un seul bit, mais des mots 4, 8, 16 ou 64 bits et ce, sur un mode parallle,c'est--dire que tous les bits sont traits en mme temps. Ce mode de traitement en parallle estinhabituel ltre humain qui travail souvent de faon srielle.Pendant le traitement parallle, les rsultats intermdiaires doivent tre mmoriss pendant le tempsque dure le traitement. Cest gnralement un registre quil incombe cette mmorisation de courtedure

    Un registre est donc un lment de mmoire de stockage qui permet la mmorisation de n bits enparallle. Il est constitu de n bascules en parallle, mmorisant chacune un bit. L'information estemmagasine sur un signal de commande et ensuite conserve et disponible en lecture.

    Les bascules employs sont souvent de type D. Toutes les entres dhorloge sont relies ensemble.

    Ainsi chaque fois le signal de lhorloge est au niveau haut, les bascules enregistrent le motnumrique prsent en ce moment sur les entres D. Ce mot est alors transfr aux sorties jusqu cequune nouvelle impulsion dhorloge enregistre le mot suivant.

    En synchronisme avec le signal d'criture W le registre mmorise les tats des entres E0, E1, E2 etE3. Ils sont conservs jusqu'au prochain signal de commande W. Dans cet exemple les tatsmmoriss peuvent tre lus sur les sorties Q0, Q1, Q2 et Q3 en concidence avec un signal de

    validation R.

    Registre dcalage

    En plus de la mmorisation, ce registre dcale les informations vers la droite ou vers la gauche. Unregistre de dcalage quatre bits est reprsent par quatre bascules D dclanchement par frontraccords en cascade, la sortie Q de la premire sur lentr D de la seconde, et ainsi de suite.

    Dans un registre dcalage les bascules sont interconnectes de faon ce que l'tat logique de labascule de rang i puisse tre transmis la bascule de rang i+1 quand un signal d'horloge est

    appliqu l'ensemble des bascules. L'information peut tre charge de deux manires dans ce typede registre.

  • 7/30/2019 cour electronique numrique

    28/60

    28

    - Entre parallle : comme dans le cas d'un registre de mmorisation. En gnral une ported'inhibition est ncessaire pour viter tout risque de dcalage pendant le chargement parallle.

    - Entre srie : l'information est prsente squentiellement bit aprs bit l'entre de la premirebascule. A chaque signal d'horloge un nouveau bit est introduit pendant que ceux dj mmorisssont dcals d'un niveau dans le registre.

    De mme l'information peut tre lue en srie ou en parallle. D'autre part, certains registres peuventtre capables de dcaler gauche et droite. Un registre dcalage universel serait donc constitudes entres, des sorties et des commandes suivantes :

    Registre Entre srie - Sortie parallle

    La figure suivante donne un exemple de registre de 4 bits entre srie et sortie parallle ralisavec des bascules D. Ce type de registre permet de transformer un codage temporel (succession desbits dans le temps) en un codage spatial (information stocke en mmoire statique).

    La sortie srie peut galement tre utilise. L'intrt d'utilisation d'un registre dcalage enchargement et lecture srie rside dans la possibilit d'avoir des frquences d'horloge diffrentes auchargement et la lecture. Le registre constitue alors un tampon.

  • 7/30/2019 cour electronique numrique

    29/60

    29

    Registre Entre parallle - sortie srie

    La figure suivante prsente un exemple de registre dcalage entre parallle ou srie et sortiesrie. Si X = 1 l'entre parallle est inhibe et l'entre srie est valide. Si X = 0 l'entre srie estbloque par contre le chargement par l'entre parallle est autoris.

    Un registre dcalage entre parallle et sortie srie transforme un codage spatial en codagetemporel.

    Registre Entre parallle - Sortie parallle

    La figure suivante prsente un exemple de registre dcalage avec entres srie et parallle etsorties srie et parallle ralis avec des bascules de type D.

    La commande permet de slectionner le mode de chargement et d'inhiber le signal d'horloge en casde chargement parallle. Si X = 0 nous avons Pr = Cr = 1, ce qui garantit le fonctionnement normaldes bascules. Si X = 1 alors selon l'tat de chacune des entres nous avons :

  • 7/30/2019 cour electronique numrique

    30/60

    30

    Registre dcalage droite et gauche

    La figure suivante prsente un exemple de registre dcalage universel de 4 bits. Les diversespossibilits sont slectionnes par les lignes commande S0 et S1. Considrons la ligne transportantle signal d'horloge aux bascules, elle est gouverne par l'expression logique :

    Le signal d'horloge sera donc inhib si S0 = S1 = 0.Pour slectionner le chargement parallle (entres A, B, C et D) il faut :

    C'est--dire S0 = S1 = 1. Le chargement se fera sur un signal d'horloge.Pour slectionner le dcalage droite (entre E1, sortie QD) il nous faut S0 = 1 et S1 = 0 et pourle dcalage gauche (entre E0, sortie QA) S0 = 0 et S1 = 1. Ce que nous pouvons rsumer dansle tableau suivant :

  • 7/30/2019 cour electronique numrique

    31/60

    31

    Un registre dcalage droite et gauche permet d'effectuer des multiplications et desdivisions entires par des puissances de 2. En effet une multiplication par 2 est quivalente undcalage vers la gauche et une division par 2 un dcalage vers la droite. Une multiplication par2nsera obtenue par n dcalages gauche et une division par 2npar n dcalages droite.

    Compteurs

    Un compteur est un ensemble de n bascules interconnectes par des portes logiques. Ils peuventdonc mmoriser des mots de n bits. Au rythme d'une horloge ils peuvent dcrire une squencedtermine c'est--dire occuper une suite d'tats binaires. Il ne peut y avoir au maximum que 2 n

    combinaisons. Ces tats restent stables et accessibles entre les impulsions d'horloge. Le nombretotal N des combinaisons successives est appel le modulo du compteur. On a N 2n. Si N < 2nun certain nombre d'tats ne sont jamais utiliss.

    Les compteurs binaires peuvent tre classs en deux catgories :- les compteurs asynchrones;- les compteurs synchrones.De plus on distingue les compteurs rversibles ou compteurs-dcompteurs.

    Compteurs asynchrones

    H Q3 Q2 Q1 Q0

    0 0 0 0 0

    1 1 1 1 1

    0 1 1 1 1

    1 1 1 1 0

    0 1 1 1 0

    1 1 1 0 1

    0 1 1 0 1

    1 1 1 0 0

    0 1 1 0 0

    1 1 0 1 1

    0 1 0 1 1

    1 1 0 1 0

    0 1 0 1 0

    1 1 0 0 1

    0 1 0 0 1

    1 1 0 0 0

    0 1 0 0 0

    1 0 1 1 1

    etc...

  • 7/30/2019 cour electronique numrique

    32/60

    32

    Dans l'exemple ci-dessus, les sorties volueront de la manire suivante au cours du temps, ce qui estbien un dcompteur. Pour obtenir un compteur il suffit de complmenter toutes les sorties.Ce systme prsente un inconvnient : lorsque plusieurs bascules commutent, elles le font en srie,l'une aprs l'autre, et le bit de poids fort n'est mis jour que lorsque tous les tages prcdents ontfini de commutera: on parle de compteur asynchrone (ou ripple clock counter).

    Un compteur asynchrone est constitu de n bascules J-K fonctionnant en mode T. Lesignal d'horloge n'est reu que par le premier tage (bascule LSB : Least Significant Bit). Pourchacune des autres bascules le signal d'horloge est fourni par une sortie de la bascule de rangimmdiatement infrieur.

    Considrons par exemple un compteur modulo 8 suivant le code binaire pur constitu de troisbascules J-K matres-esclaves.

    Supposons les trois bascules zro l'instant t = 0. Nous avons vu que pour une bascule matre-esclave la sortie change d'tat juste aprs le passage du signal d'horloge de l'tat 1 l'tat 0 (frontdescendant). L'volution temporelle des trois sorties Q0, Q1 et Q2 par rapport aux impulsionsd'horloge. La sortie Q0 bascule sur chaque front descendant du signal d'horloge. La sortie Q1 changed'tat chaque transition 1 vers0 de la sortie

    Q0. De mme le basculement de la sortie Q2 est dclench par une transition 1 vers 0 de la sortieQ1.

    A partir de ce chronogramme nous pouvons crire la liste des tats successifs des trois sorties :

  • 7/30/2019 cour electronique numrique

    33/60

    33

    Nous avons ralis un compteur s'incrmentant d'une unit chaque top d'horloge, avec un cyclede huit valeurs de 0 7 (modulo 8).

    Nous constatons que les sorties Q0, Q1 et Q2 fournissent des signaux priodiques de frquencesrespectivement 2, 4 et 8 plus faibles. La division de frquence est une des applications descompteurs.

    Compteur-dcompteur asynchrone

    Nous obtenons un compteur en dclenchant chaque bascule lorsque celle de rang immdiatementinfrieur passe de l'tat 1 0. Pour raliser un dcompteur il faut que le changement d'tat d'unebascule intervienne lorsque la bascule de rang immdiatement infrieur passe de l'tat 0 1. Pourcela il suffit d'utiliser la sortie Q de chaque bascule pour dclencher la suivante.

    On ralise un compteur-dcompteur en utilisant un multiplexeur 2 entres - 1 sortie entre chaquetage pour slectionner la sortie utiliser.

    Selon l'tat de la ligne de commande X nous pouvons slectionner le mode de comptage :

    X = 1compteur;X = 0dcompteur.

    Remise Zro et chargement d'un compteur

    La figure suivante prsente un exemple de montage permettant de remettre zro un compteurou de le charger avec une valeur dtermine. Pour cela on utilise les entres asynchrones desbascules. En fonctionnement normal du compteur nous devons avoir :

    DS = R = 1. Nous avons alors : J = K = Pr = Cr = 1 sur chaque bascule du compteur.

    Pour RAZ : R = 0J = K = 0 Interdit tout basculement sur une impulsion du signal Clk;(Pr = 1, Cr = 0) Q = 0.

    Chargement : (DS = 0, R = 1)

    J = K = 0 Interdit tout basculement sur une impulsion du signalClk;D = 0(Pr = 1, Cr = 0) Q = 0

  • 7/30/2019 cour electronique numrique

    34/60

    34

    D = 1(Pr = 0, Cr = 1) Q = 1Dans ces deux cas nous obtenons Q = D. Nous sommes donc capable de charger chaque bit ducompteur avec une valeur donne prsenter sur l'entre D, donc d'initialiser le compteur.

    Compteur cycle incomplet

    On peut souhaiter compter jusqu' un nombre N qui ne soit pas une puissance de 2, par exemple 10(systme dcimal). Pour cela on utilise un compteur de n bascules, tel que 2n > N. On lui ajoute unasservissement de l'entre Clear pour remettre le compteur zro tous les N coups.

    Considrons par exemple un compteur modulo 10. Nous voulons que l'entre Clear soit 0 lorsquele compteur atteint 1010= 10102. Pour cela nous pouvons crire l'expression logique :

    En fait dans ce cas particulier nous pouvons simplifier cette relation logique en ne tenant compteque des sorties 1 dans l'expression binaire de N. En effet il ne peut y avoir ambigut : toutecombinaison contenant les mmes sorties 1 et au moins une autre 1 correspond un nombreplus grand que N et ne peut tre rencontre dans la squence dcrite par le compteur. Pour uncompteur modulo 10 nous pouvons donc utiliser :

    ce qui nous conduit au schma suivant :

    Compteurs synchrones

    Dans un compteur synchrone toutes les bascules reoivent en parallle le mme signal d'horloge.Pour faire dcrire au compteur une squence dtermine il faut chaque impulsion d'horloge dfinir

  • 7/30/2019 cour electronique numrique

    35/60

    35

    les entres synchrones J et K. Pour cela on utilise la table de transition de la bascule J-K. Nousavons dj remarqu que cette table peut se simplifier. En effet, pour chacune des quatre transitionspossibles une seule des entres J ou K est dfinie. Rien ne nous interdit donc de les mettre dans lemme tat, c'est--dire J = K, comme dans une bascule T.

    Prenons l'exemple d'un compteur synchrone 3 bits fonctionnant selon le code binaire pur. Nous

    pouvons dresser un tableau prcisant les valeurs des entres J et K permettant d'obtenir chaquetransition (passage d'une ligne la suivante). Pour qu'une bascule change d'tat il faut queses deux entres soient 1.

    Chaque ligne de cette table correspond une mme tranche de temps. Il est assez facile d'endduire les expressions logiques reliant les entres aux sorties :

    De manire gnrale nous pouvons vrifier que les quations de commutation satisfont lesrelations de rcurrence suivantes :

    ou encore :

    Procdons de mme pour raliser un dcompteur, nous crivons la table des transitionsrecherches :

  • 7/30/2019 cour electronique numrique

    36/60

    36

    Nous en dduisons l'expression logique des entres d'un dcompteur :

    Nous constatons que les quations de commutation sont identiques en utilisant cette fois les sortiescomplmentaires Q.Aux deux manires d'exprimer les relations de rcurrence des quations de commutationcorrespondent deux types de circuits. Le premier est dit report parallle, le second report srie.Dans le report srie on utilise la fonction J i-1. On vite ainsi des portes multiples entres. Parcontre, il faut tenir compte du retard dans l'tablissement de J i-1. Il faut donc que la largeur desimpulsions d'horloge soit assez grande et la vitesse maximum de fonctionnement sera plus faible

    que pour le report parallle.

    Les deux schmas correspondent respectivement des compteurs-dcompteurs(X = 0 compteur, X = 1 dcompteur).

  • 7/30/2019 cour electronique numrique

    37/60

    37

    Lunit centrale de traitement ou processeur

    L'unit centrale de traitement (CPU : Central Processing Unit), encore dnomme processeur oumicroprocesseur, est l'lment de l'ordinateur qui interprte et excute les instructions d'unprogramme. C'est le cerveau de l'ordinateur. Mais on trouve aussi des processeurs, dits spcialiss,qui peuvent dcharger l'unit centrale et assurer des tches en parallle. Ceci est trs frquent pourla gestion des entres/sorties.

    Un processeur est aujourd'hui un circuit lectronique trs haute densit d'intgration (ULSI : UltraLarge Scale Integration), qui peut compter quelques dizaines de millions de transistors. Le premiercircuit de ce type a t cr par Intel en 1971 : le 4004 conu pour quiper des calculatrices. Ilcomptait alors 2300 transistors pour 46 instructions. La loi de Moore, formule en 1965 par un desfondateurs de la compagnie Intel, qui prdit un doublement des capacits des processeurs tous les18-24 mois, a jusqu' prsent t relativement bien suivie. Il ne s'agit pas seulement del'augmentation de la frquence de fonctionnement ou du nombre de transistors. Les concepteurscherchent aussi augmenter la quantit de traitement par cycle d'horloge.

    Une unit centrale se compose d'au moins deux units fonctionnelles : l'unit de commande etl'unit de calcul. A l'origine celle-ci s'identifiait l'unit arithmtique et logique, charge del'excution des oprations boolennes et des oprations arithmtiques (addition, soustraction,multiplication, division, comparaison, etc.) pour des entiers. En parallle cette unit, on peuttrouver une unit de calcul sur les rels ainsi qu'une unit de traitement ddie aux oprationsmultimdia (traitement des images et du son).

    A ct de ces deux units fonctionnelles on trouve une interface de gestion des communications surle bus externe, ainsi qu'une mmoire cache. Celle-ci est baptise de premier niveau car situe proximit immdiate du coeur du processeur. Mais depuis quelques annes, les concepteurs ont t

    amens embarquer galement la mmoire de second niveau. Ces caches peuvent tre scinds poursparer les instructions et les donnes (architecture Harvard).

    L'unit de commande contient une unit charge du dcodage des instructions, une unit pour lecalcul des adresses des donnes traiter. On y trouve galement le squenceur qui contrle lefonctionnement des circuits de l'unit de calcul ncessaires l'excution de chaque instruction.

    L'unit centrale comprend un certain nombre de registres pour stocker des donnes traiter, desrsultats intermdiaires ou des informations de commande. Parmi ces registres certains servent pourles oprations arithmtiques ou logiques, d'autres ont des fonctions particulires comme le registreinstruction (RI) qui contient l'instruction excuter, le compteur ordinal (CO) qui pointe sur la

    prochaine instruction ou un registre d'tat (PSW : Processor Status Word) contenant desinformations sur l'tat du systme (retenue, dpassement, etc.).

  • 7/30/2019 cour electronique numrique

    38/60

    38

    schma gnral trs simplifi de l'organisation de l'unit centrale sans tenir compte de la prsenced'une mmoire cache et de l'interface avec le bus externe.

    Lunit arithmtique et logique UAL.

    Une unit arithmtique et logique est lentit qui, dans un processeur, effectue toutes les oprations de traitementarithmtique et logique. LAUL est constitu ce circuit de logique combinatoire une chelle de complexit nettementsuprieure. Elle doit tre capable de faire toutes les oprations requises pour lexcution dun programme. Cesoprations sont toute fois trs lmentaires. Il sagit principalement de laddition (la soustraction pouvant tre fait parladdition en complment de 2), du dcalage (pour la multiplication et la division), des oprations logiques, desoprations de comparaison, des oprations de lecture et dcriture de et vers la mmoire centrale. Le nombredopration ou instructions varient selon le processeur, mais tourne aux alentours de 100.Le choix dune opration est fait en fournissant lAlu le code dune opration appele code opratoire. Le codopratoire dune instruction du processeur Z80 est dcrit sur 8 bits, celui du 68000 lest sur 16 bits, ce qui signifie quele Z80 a (28) 256 instructions et le 68000 (216) 65535.

    On peut cependant additionner deux nombre de 64 bit avec un microprocesseur de 32 bits, mais dans ce cas il fautdcouper lopration.

    Gnralement linstruction traite deux oprandes (A et B) et produit un rsultat C= F(A,B).LUAL est un composant essentiel pour lexcution dune instruction, mais pour aboutir un processeur, il faut lacomplter par une unit capable denchainer automatiquement les instructions dun programme. Cette unit est unautomate appel squenceur ou unit de contrle.

    En plus, les rsultats de calcul ntant pas obtenu instantanment, il faudra les garder quelque part pour ensuite lesutiliser pour continuer le calcul. Les mmoires qui permettent de stocker els rsultats intermdiaires sont appelesregistres. Ltat des rsultats obtenus sont consign dans un indicateur que le processeur ou le programmeur peututiliser. Ces tats sont consigns dans un registre dtat.

    Exemple dun UAL dun seul bit

    La figure suivante montre lexemple simplifi dun UAL a un bit. Elle est capable d effectuer le ET et le OU de deux

    bits, le non du second bit et la somme de deux bit avec une retenue dentre. Le choix parmi ces quatre oprations sefait via les deux lignes de commande actives f0 et f1.Suivant la valeur de ces deux bits, un dcodeur active un desquatre lignes de sortie, slectionne soit une des trois fonctions logiques ET, OU et NON, soit la retenue et la sortie deladditionneur.Pour concevoir une UAL plus large, il suffit de chainer plusieurs UAL de 1 bit, reliant la retenue de sortie d un tage la retenue dentre suivants.

    En dehors de lUAL, il existe des registres gnraux qui sont mis la disposition des programmeurs et des compilateurset des registres spciaux.

    Les registres gnraux ou banaliss

    Ils permettent de limiter les accs la mmoire, ce qui acclre l'excution d'un programme. Ils peuvent conserver des

    informations utilises frquemment, desrsultats intermdiaires, etc. Ils sont accessibles au programmeur.

    Registres d'indice ou d'index : (XR) Ils peuvent tre utiliss comme des registres gnraux mais ils ont une fonctionspciale utilise pour l'adressage index. Dans ce cas l'adresse effective d'un oprande est obtenue en ajoutant le

  • 7/30/2019 cour electronique numrique

    39/60

    39

    contenu du registre d'index l'adresse contenue dans l'instruction. Ce type d'adressage et de registre est trs utile pourmanipuler des tableaux. Le programmeur dispose alors d'instructions permettant l'incrmentation ou la dcrmentationdu registre d'index. En particulier les registres d'index peuvent tre incrments ou dcrments automatiquement aprschaque utilisation. Dans certaines machines ces instructions sont applicables tous les registres gnraux, il n'y a alorspas de registre d'index spcifique.

    Laccumulateur

    Accumulateur (ACC) : L'accumulateur est un registre de l'unit arithmtique et logique. Il a de nombreuses fonctions. Ilpeut contenir un des deux oprandes avant l'excution et recevoir le rsultat aprs. Cela permet d'enchaner desoprations. Il peut servir de registre tampon pour les oprations d'entres/sorties : dans certaines machines c'est le seulregistre par lequel on peut changer des donnes directement avec la mmoire. Sa taille est gale la longueur des motsen mmoire. Il possde souvent une extension (Q), pour les multiplications, dcalages, divisions, etc. Le registre ACCest accessible au programmeur et trs sollicit. Certaines machines possdent plusieurs accumulateurs.

    Le registre dtat.

    Le registre dtat ( State register ou Program Status Word (PSW) est tel que ses bits ne forment pas de valeur numriquemais servant dindicateur ( drapeau ou flag) sur ltat du processeur. Certains bits peuvent tre positionns par le

    programmeur pour demander un comportement particulier.Les tats sont les suivants :Le bit Z (Zro). Il est mis 1 si le rsultat est nul, sinon il est mis 0Le bit C (Carry).Le bit N ( Ngative)Le bit V ( Overflow)Le bit P (Parity)La plupart des microprocesseurs ne se servent pas de la totalit des indicateurs. Les indicateurs jouent un rle importantcar ils permettent au microprocesseur de prendre des dcisions dans certaines situations, et de modifier le droulementdu programme en consquence.

    Registre de pointeur de pile

    Lors de lexcution du programme, le processeur doit parfois stocker de linformation en mmoire, non pas lademande explicite du programmeur, amis afin dassurer le bon fonctionnement des instructions. Exemple de lappelledune fonction dans un programme en langage volu. Le programme est drout pour faire appelle la fonction puisreprend normalement l ou il stait arrt. ( linverse dun saut qui le droute dfinitivement une autre adresse).Il faut donc mmoriser la valeur du PC avant dexcuter la fonction pour pouvoir reprendre le programme aprs lappel. Son rle principal est de sauvegarder le nombre binaire contenu dans le compteur ordinal, chaque fois que ledroulement du programme effectue un saut.A cette fin une structure de pile est implment en mmoire et un registre spcial du processeur appel pointeur de pileou SP (Stack Pointer) pointe sur le haut de la pile.

    Le fonctionnement d'une pile est du type Dernier Entr Premier Sorti (LIFO : Last In First Out). Les deux principalesoprations lies la pile concernent l'ajout d'un lment dans la pile ou le retrait, souvent nommesrespectivementPUSH et PULL. Lorsqu'une donne est enregistre dans la pile elle est place l'adresse qui suit celle du dernier mot

    stock. Aprs l'opration le pointeur de pile est incrment.Lorsque un mot est retir de la pile il correspond la dernire information qui y a t entre. Aprs l'opration lepointeur est dcrment. Une pile est rserve l'usage de l'unit centrale, en particulier pour sauvegarder les registreset l'adresse de retour en cas d'interruption ou lors de l'appel d'une procdure. Le pointeur de pile est accessible auprogrammeur, ce qui est souvent source d'erreur. Certaines machines sont dotes de plusieurs pointeurs de piles.

    Pour amliorer les performances d'un processeur il faut disposer du plus grand nombre de registres possible. On rduitainsi les accs la mmoire. De plus, il est prfrable d'viter de les spcialiser. On vite ainsi des transferts entreregistres, par exemple pour calculer la valeur d'un indice et utiliser ensuite cet indice pour modifier une case d'untableau.

    Le registre dadresse

    Ce registre contient ladresse servant reprer lemplacement mmoire que le microprocesseur dsire utiliser. Au dbutdu cycle de recherche et dexcution, les contenus du registre dadresse et du compteur ordinateur sont identiques : cestladresse de linstruction appele. Mais contrairement au compteur ordinal, le registre dadresse nest pasautomatiquement incrment pendant lexcution de linstruction. Il reste sous le contrle du program me qui peut lui

  • 7/30/2019 cour electronique numrique

    40/60

    40

    demander par exemple de rester point sur une adresse donne et modifier ainsi le contenu de lemplacement demmoire correspondante en fonction des rsultats du traitement obtenu.

    LUnit de commande

    L'unit de commande dirige le fonctionnement de tous les autres lments de l'unit centrale en leur envoyant dessignaux de commande. Les principaux lments de l'unit de commande sont :

    - le compteur ordinal (CO) : registre contenant l'adresse en mmoire o se trouve l'instruction chercher;- le registre instruction (RI) qui reoit l'instruction qui doit tre excute;- le dcodeur qui dtermine l'opration effectuer et les oprandes;- le squenceur qui gnre les signaux de commande aux diffrents composants;- l'horloge (interne ou externe) qui met des impulsions permettant la synchronisation de tous les lments de l'unitcentrale.

    Une horloge est un systme logique, pilot par un oscillateur, qui met priodiquement une srie d'impulsions calibres.Ces signaux priodiques constituent le cycle de base ou cycle machine. Nous avons dj vu (dans le premier chapitre)les diffrentes phases de l'excution d'une instruction. Un cycle d'instruction peut se dcomposer en un cycle derecherche (instruction et oprandes) et un cycle d'excution. On rencontre parfois le terme de cycle cpu pour indiquer letemps d'excution de l'instruction la plus courte.

    N'oublions cependant pas que les performances d'un ordinateur ne dpendent pas de la seule cadence de l'unit centrale.Elles dpendent galement des mmoires et des bus, ainsi que de l'architecture, avec par exemple l'utilisationd'antmmoire (mmoire cache) pour anticiper les transferts des instructions et des donnes.

    Le compteur ordinal

    Le compteur ordinal est en quelque sorte le gestionnaire qui assure le bon droulement dun programme. Cest lui quicherche, pendant lexcution dune instruction, lemplacement en mmoire centrale de linstruction suivante. Il anticipeen permanence.

    Avant son excution un programme est mis en mmoire, ses instructions tant placs les unes la suite des autres.Chacune a donc une adresse prcise quil faut envoyer au boitier mmoire lorsque que le processeur veut rcuprer ladite instruction pour lexcuter doit donc toujours savoir quelle est la prochaine instruction excuter et surtout quel estson adresse. Un registre spcial appel Compteur Ordinal (CO) ou PC Programm Counter ou IP (Instruction Pointer)contient ladresse en question.Pour excuter une instruction, le processeur commence par envoyer un ordre de lecture mmoire associ la valeurcontenue dans le PC avant de rcuprer linstruction. Le processeur incrmente alors le PC .Le compteur ordinateur est connect au bus dadresse. Une fois rcupr dans la mmoire centrale, linstruction estexpdie via le bus de donnes dans le registre dinstruction.

    Le registre dinstruction

    Lorsquune instruction est rcupre en mmoire pour tre excut dans le processeur, elle est mmorise dans unregistre spcial, le registre dinstruction (RI). Le squenceur utilise ce lieu de stockage pour disposer de l instruction etdes bits la composant pendant tout le temps de son excution.La longueur de ce registre dinstruction est la mme que celle des mots du microprocesseur. La sortie de ce registredirige ce quon appelle la logique de dcodage et de squencement qui est charg de fournir au microprocesseur lesdivers signaux de commandes ncessaires lexcution de linstruction plac dans le registre dinstruction, en tempsvoulu et en bon ordre entre les diffrents organes. Signaux dcriture dans la mmoire, lecture de la mmoire etc. Cesoprations sont synchronises par un signal dhorloge. Le squenceur traite aussi les interruptions qui peuvent tredemand par diffrents organes.Cette logique peut tre cble, mais dans la plupart des microprocesseurs elle est microprogramm . Cela veut dire qu

    limage du microprocesseur lui-mme, elle suit une srie de cycles de recherche et dexcution qui lui sont propres,possde sa propre mmoire et son jeu dinstruction dsign sous le terme de microinstructions.Cest le registre dinstruction qui, chaque nouvelle instruction quil reoit, fait dmarrer le cycle de recherche etdexcution des micro instruction de la logique de dcodage et de sequencement.

  • 7/30/2019 cour electronique numrique

    41/60

    41

    Structures des instructions au niveau machine : format des instructions

    Les ordinateurs sont capables d'effectuer un certain nombre d'oprations lmentaires.

    Une instruction au niveau machine doit fournir l'unit centrale toutes les informations ncessaires pour dclencher unetelle opration lmentaire : type d'action, o trouver le ou les oprandes, o ranger le rsultat, etc. C'est pourquoi une

    instruction comporte en gnral plusieurs champs ou groupes de bits. Le premier champ contient le code opration. Lesautres champs peuvent comporter des donnes ou l'identification des oprandes. Sur certaines machines les instructionssont toutes de mme longueur, sur d'autres cette longueur peut varier avec le code opration ou le mode d'adressage.

    En gnral une instruction comprend au moins deux parties : lopration elle-mme et les donnes sur lesquelles elleporte. La premire partie appele code opration correspond au mnmoniques utilis par lassembleur (ADD, MOV,SUB, etc.) alors que le second doit tre spcifi via des modes dadressages qui permettent dindiquer ou son lesdonnes ( en mmoire, dans un registre, mise explicitement dans linstruction..)Chacune de ces deux parties intervient dans le code numrique final de linstruction. Par exemple, les 8 premiers bits delinstruction peuvent indiquer le code opration voulu tandis que les 24 autres bits dcrivent les donnes. Ce dcoupagest le fait du constructeur lorsquil dfinit les jeux dinstruction de son processeur.

    On distingue six groupes d'instructions :

    - transferts de donnes : de mmoire registre, de registre registre, de registre mmoire;- oprations arithmtiques : addition, soustraction, multiplication et division;- oprations logiques : ET, OU inclusif, NON, OU exclusif, etc.;- contrle de squence : branchements conditionnels ou non, appel de procdure, etc.;- entres/sorties;- manipulations diverses : dcalage, conversion de format, permutation circulaire des bits, change d'octets,incrmentation, etc.

    Modes d'adressage

    Un champ adresse peut permettre de rfrencer un registre ou un mot en mmoire. Il peut contenir le numro du registre

    ou l'adresse effective du mot mais ce ne sont pas les seules manires d'identifier un oprande. Pour faciliter laprogrammation il existe de nombreux modes d'adressage.

    Le mode est dfini soit par le code opration lorsque celui-ci impose un type dtermin, soit par un code faisant partiedu champ adresse.

    Les exemples ci-dessous sont emprunts aux instructions de l'assembleur PDP-11.

    Adressage implicite : Le code opration identifie automatiquement l'oprande, l'instruction ne peut porter que sur unregistre particulier (par exemple test sur le signe du rsultat d'une opration arithmtique : concerne le registre d'tatPSW). Aucun champ adresse n'est ncessaire.

    Adressage immdiat : La valeur de l'oprande est contenue dans le champ adresse si le nombre de bits dans ce champest suffisant, sinon dans le mot suivant l'instruction.MOV #100, R1Aprs cette instruction le registre R1 contient la valeur 100.

    Adressage registre : Le champ adresse contient le numro du registre oprande.CLR R3Aprs cette instruction le contenu de R3 est nul.

  • 7/30/2019 cour electronique numrique

    42/60

    42

    Adressage direct : Le champ adresse de l'instruction (ou le mot suivant si le nombre de bits n'est pas suffisant) contientl'adresse effective de l'oprande.100 : 250MOV 100, R2

    Aprs cette instruction le registre R2 contient le mot qui se situe l'adresse 100 en mmoire, c'est--dire 250.

    Adressage indirect : Le champ adresse (ou le mot suivant) contient l'adresse d'un pointeur : mot en mmoire quicontient l'adresse effective de l'oprande.MOV (R1), R4Aprs cette instruction R4 contient la valeur du mot dont l'adresse est contenue dans R1. Comme R1 vaut 100 on trouve250 dans R4.

    Adressage index : Ce mode d'adressage est trs utile lorsqu'on travaille, par exemple, sur destableaux. Considrons unbloc de n mots conscutifs dbutant l'adresse A. Le kime mot se trouve l'adresse A + (k 1). Pour rfrencer cemot il est possible d'utiliser un registre d'index.L'adresse effective est calcule en additionnant le contenu de ce registre d'index l'adresse qui se trouve dans le champadresse de l'instruction. Sur certaines machines tous les registres gnraux peuvent tre utiliss comme registres d'index.La prsence d'un registre d'index s'accompagne gnralement de la possibilit d'incrmentation et dcrmentation

    automatiques.MOV R4, 100(R3)+CLR 100(R3)

    Avant la premire opration R3 est nul, donc le contenu de R4 est transfr l'adresse 100. Aprs le registre R3 estincrment. L'instruction suivante permet de mettre zro le contenu du mot l'adresse suivante.

    Adressage bas : L'adressage bas est comparable l'adressage index mais cette fois l'adresse effective est obtenue enadditionnant le contenu du registre de base au contenu du champ adresse de l'instruction. Ce mode d'adressage estutilis par exemple en cas d'allocation dynamique de la mmoire : la position du programme en mmoire peut changeren fonction de la charge du systme et il n'occupe pas toujours un espace contigu. Cette technique permet galement derduire le nombre de bits dans le champ adresse : le registre de base contient la premire adresse d'un bloc de 2k mots etl'adresse (sur k bits) contenue dans l'instruction reprsente le dplacement l 'intrieur du bloc.

    Adressage relatif : L'adresse effective est obtenue est additionnant le contenu du compteur ordinal au contenu duchamp adresse de l'instruction. Ce type d'adressage est utilis par exemple dans des instructions de branchement.N'oublions pas que le calcul de l'adresse effective peut ncessiter quelques oprations (addition par exemple).L'utilisation de certains modes d'adressage sophistiqus (le 68020 de Motorola dispose par exemple d'une cinquantainede modes d'adressage) peut donc augmenter letemps de traitement d'une instruction.

    Le Squenceur

    Le squenceur est un automate distribuant, selon un chronogramme prcis, des signaux de commande aux diversesunits participant l'excution d'une instruction. Il peut tre cbl ou microprogramm.

    Un squenceur cbl est un circuit squentiel complexe comprenant un sous-circuit pour chacune des instructions commander. Ce sous-circuit est activ par le dcodeur.

    L'ide de la microprogrammation a t introduite par Maurice Wilkes en 1951. Il est en effet toujours possible deremplacer un circuit logique par un transcodeur ou une ROM.

    Considrons un ensemble de n fonctions logiques dpendant de m variables logiques. Les valeursde ces fonctions pour les N = 2m combinaisons possibles peuvent tre calcules (table de vrit)et mmorises sous forme de N mots de n bits. Ensuite en utilisant les m variables sous forme d'une adresse il estpossible de restituer le rsultat recherch.

    De mme pour reproduire une squence d'oprations lmentaires il suffit d'un mot par "tranche" de temps. Cette sriede mots constitue un microprogramme. Le code opration de l'instruction excuter peut tre utilis pour dfinir lepointeur sur la premire microinstruction du microprogramme. En fonction du code opration le contenu d'un compteurest initialis, puis celui-ci s'incrmente ensuite chaque cycle d'horloge. La priode de l'horloge utilise ce niveaupeut tre plus leve que celle qui rgle la cadence des autres lments de l'unit centrale. Ce compteur sert adresserune mmoire morte.

  • 7/30/2019 cour electronique numrique

    43/60

    43

    Le format des micro-instructions varie selon les machines. Wilkes a propos des micro-instructions longues o chaquebit correspond une ligne de commande. On parle alors de microprogrammationhorizontale. A l'extrme une autre solution consiste utiliser des micro-instructions compactes ncessitant un dcodageavant la gnration des signaux de commande. La microprogrammation est alors dite verticale. En microprogrammationhorizontale la mmoire de commande comprend peu de micro-instructions, chacune comptant un grand nombre de bits.En microprogrammation verticale la longueur des micro-instructions est plus courte mais il y a un plus grand nombre de

    micro-instructions et il faut un dcodage supplmentaire. Dans la pratique on rencontre des micro-instructions mixtespour lesquelles certains bits agissent directement sur les lignes de commande associes alors que d'autres champsncessitent un dcodage. Un microprogramme peut galement contenir des boucles, des tests et des ruptures desquence. Le compteur est alors remplac par un micro-squenceur.

    Intrinsquement un squenceur microprogramm est plus lent qu'un squenceur cbl.L'avantage et les gains en performance d'un squenceur microprogramm rsident dans la simplicit de sa conception etla souplesse de son utilisation. Il est ainsi possible d'offrir un jeu d'instructions trs complexes. Une instruction peutdonc tre quivalente plusieurs instructions d'une autre machine. On gagne alors sur le temps de transfert desinstructions. Par ailleurs cela permet une plus grande souplesse aux compilateurs de haut niveau pour optimiser le codeobjet.

    Il est galement possible d'augmenter le nombre d'instructions sans augmenter la complexit, donc le cot, du

    processeur. Nous avons ici un premier exemple de l'imbrication du matriel et du logiciel dans la conception d'unearchitecture.

    Pour programmer un ordinateur on utilise gnralement des langages dits volus ou de haut niveau : C, C++, Java,Basic, Fortran, Pascal, Ada, Assembleur, etc. Cependant l'unit centrale ne peut exploiter que les instructions machine :les codes binaires qui sont chargs dans le registre instruction.

    Le terme de langage dsigne un jeu d'instructions et de rgles syntaxiques. A l'aide d'un langage volu le programmeurcrit un code source. Celui-ci n'est pas directement excutable par l'ordinateur. Il faut le traduire en code machine oucode objet. C'est le rle des compilateurs ou assembleurs et des interprteurs. Un interprteur ne produit pas de codeobjet il traduit les instructions directement au fur et mesure de l'excution du programme.La figure suivante schmatise les diffrents niveaux de programmation. Lorsque l'utilisateur peutaccder au niveau de la microprogrammation la machine est dite microprogrammable.

  • 7/30/2019 cour electronique numrique

    44/60

    44

    Les mmoiresDfinition

    Les mmoires sont des dispositifs qui permettent denregistrer, de conserver et de restituer de linformation.

    Lunit de base de la mmoire est le bit (binary digit) (0 ou 1) qui peut tre regroup pour donner un octet(byte) (8bits) ou un mot qui est un regroupement doctets (8 bits, 16 bits, 32 bits, ...)

    Lunit dinformation adressable en mmoire sont :

    un KiloOctet = 210 octets = 1024 octets = 1 Koun MegaOctet = 210 Ko = 1 Moun GigaOctet = 210 Mo = 1 Goun TeraOctet = 210 Go = 1 To

    Technologies et caractristiques des mmoires

    Du point de vue technologiques, les mmoires peuvent tre lectronique, optique ou magntique et sontcaractriss par :

    la capacit le temps daccs le dbit et la volatilit

    Elle se prsente sous la forme de barrettes SIMM (Single In-line Memory Module) de formes plus ou moinslongues suivant les diffrentes gnrations : dabord adresses sur 8 bits puis sur 32 bits; les constructeurs

    fabriqurent ensuite un modle EDO (Extended data Out) plus rapide avec une cache implmente. LesEDO on remplac les FMP (Fast Mode Page)

    Depuis peu, un nouveau type est apparu : la barrette DIMM (64 bits) quipant maintenant la plupart des PC base de PENTIUM.

    Performances des mmoires

    Le temps daccs (ta) est le temps qui spare une demande de lecture/ criture et sa ralisationtemps de cycle (tc) est temps minimum entre deux accs la mmoire.

    ta < tc

    Le dbit ou bande passante (B) : nombre de bits maximum transmis par seconde en cas daccs en tempsuniforme au donnes B = n / tc, n tant le nombre de bits transfrs par cycle

    Mais pour des donnes conscutives, certaines architectures (entrelacement, etc.) et certains modes delecture (rafales, etc.) peuvent permettre d'approcher la limite : Bmax = n / ta,

    Les catgories de mmoires

  • 7/30/2019 cour electronique numrique

    45/60

    45

    Localisation des mmoires

    Mthodes daccs

    Accs squentiel: pour accder une information, il faut parcourir toutes les informations qui la prcdent(bandes magntiques)

    Accs direct : chaque information possde une adresse propre, laquelle on peut accder directement(mmoire centrale de lordinateur)

    Accs semi-squentielentre laccs squentiel et laccs direct (disque dur) avec un accs direct au cylindreet un accs squentiel au secteur sur un cylindre

    Accs associatif: linformation est identifie par sa cl. On accde une information via sa cl (mmoirecache)

    Types de mmoires

    Les mmoires mortes

    Sur la carte mre cohabite mmoires persistantes (mmoires mortes ROM -Read Only Memory), leurcontenu est fig (ou presque)et conserve en permanence mme hors alimentation lectrique. On les trouve divers niveaux, un peu partout dans l'ordinateur, d'autres types de mmoires, non modifies pendantl'utilisation de l'ordinateur :

    On y trouve les programmes de vrifications des divers composants et priphriques, des tests l'allumage,ainsi que ceux des priphriques qui sont configurs.

    Une des mmoires mortes contient entre autres le BIOS (Basic Input/Output System) qui est le programme

    charg de crer le lien entre le matriel et les logiciels. Ce programme permet, sans accder au disque etdonc au systme d'exploitation, de grer l'environnement physique de l'ordinateur (vido, lecteurs dedisquettes, disque(s), mmoire) dont les paramtres sont sur PC en gnral stocks dans une petite mmoire faible consommation alimente en permanence par une batterie.

    Le BIOS (Basic Input/Output System ou systme de base de gestion des entres/sorties) est charg de grerlaccs la mmoire, au disque dur, la carte vido, aux interfaces, e tc.Cest lui qui permet par exemple de grer les pistes, cylindres et ttesdundisque durafin que lesprogrammes puissent y lire et enregistrer des donnes sans trop se proccuper de la manire dont ellesseront ranges.

    On peut avoir accs au BIOS au dmarrage de la machine (boot) afin de dclarer un nouveau disque dur, dela mmoire en plus, ou simplement changer certains paramtres.

  • 7/30/2019 cour electronique numrique

    46/60

    46

    Attention: Le BIOS est contenu dans une ROM permanente mais on peut modifier certains paramtres quisont contenus dans une SRAM (CMOS) dont le contenu reste mme aprs coupure de courant grce unepetite batterie. Accumulateur au cadmium-nickel, ou pile lithium, cette alimentation de secours prserve lesparamtragesCMOS, ainsi que l'horloge en temps rel, qui continue de fonctionner mme lorsque l'ordinateurest teint ou dbranch.

    Cet autre type de mmoire pouvait tre initialement lu mais non modifi. Il s'agit de la mmoire morte ouROM (de l'anglais Read Only Memory). Tous les PC comportent de la mmoire de ce type. Elle contientles programmes de base permettant de contrler les lments matriels.

    Ces programmes constituent le BIOS du PC (Basic Input Output System : systme d'entre-sortie debase). En fait, le BIOS est compos de plusieurs lments, rpartis dans diffrents composants. Le principalse trouve sur la carte mre. Il s'agit d'un botier DIP (botier de plastique noir possdant deux ranges debroches) insr sur un support. Cette configuration permet de mettre jour le BIOS en changeant lecomposant. En fait, il existe galement un BIOS sur la carte d'interface de l'cran, ainsi que sur certainesautres cartes dextension.

    Les ROM sont fabriques (on dit fondues) avec le programme qu'elles contiennent. Si cette technique estparfaitement adapte la production en masse de PC, elle rend difficile la mise au point des programmesqu'elle contient. Pendant la phase de dveloppement, un programme doit tre frquemment modifi. S'il fallait, chaque modification, produire des milliers de composants (ou du moins en payer le prix), il serait impossiblede fabriquer des PC prix abordable.

    Aussi, on utilise un autre type de composant appel PROM (Programable ROM). Pour simplifier, onpeut dire que l'information est reprsente dans une ROM par un lment conducteur pour la valeur 1 et unlment isolant pour la valeur 0. Une PROM est un composant dans lequel tous les bits valent 1. Lorsque l'onveut y introduire un programme, on place le composant sur un appareil spcial, puis on slectionne lesadresses devant contenir des 0 et on envoie une tension suffisante (12V) pour brler l'lment conducteur (un

    fusible), qui prend ainsi la valeur 0.videmment, cette opration n'est pas rversible. Les PROM(Programmable Read Only Memory) ont t mises au point la fin des annes 70 par la firme TexasInstruments.

    Les ROM ont petit petit volu de mmoires mortes figes des mmoires programmables, puisreprogrammables.

    Les EPROM (Erasable Programmable Read Only Memory) sont des PROM pouvant tre effaces. Cespuces possdent une vitre permettant de laisser passer des rayons ultra-violets. Lorsque la puce est enprsence de rayons ultra-violets d'une certaine longueur d'onde, les fusibles sont reconstitus, c'est--dire quetous les bits de la mmoire sont nouveau 1. C'est pour cette raison que l'on qualifie ce type dePROM

    d'effaable.

    Les EEPROM (Electrically Erasable read Only Memory) sont aussi des PROM effaables, maiscontrairement aux EPROM, celles-ci peuvent tre effaces par un simple courant lectrique, c'est--direqu'elles peuvent tre effaces mme lorsqu'elles sont en position dans l'ordinateur. Ces mmoires sontaussi appeles mmoires flash (ou ROM flash), et l'on qualifie de flashage l'action consistant reprogrammerune EEPROM. Bios (flashable) - lecteur MP3

    Le flashage du BIOS est donc une mise jour du BIOS par voie logicielle , c'est--dire un remplacementde l'ancienne version du BIOS grce un programme. Par exemple, il peut tre indispensable de flasher leBIOS pour quil accepte un nouveau disque dur, beaucoup plus gros que ce que le BIOS peut reconnatre.

    La "shadow ROM".La ROM d'un PC contient les programmes de base qui contrlent son fonctionnement. Il s'agit donc de

    http://didier.duchemin.free.fr/micro/micro2.htm#Romhttp://didier.duchemin.free.fr/micro/micro2.htm#SRAMhttp://didier.duchemin.free.fr/micro/micro2.htm#La%20Batterie%C2%A0:http://didier.duchemin.free.fr/micro/micro2.htm#Le%20Bios%C2%A0:http://didier.duchemin.free.fr/micro/micro2.htm#Le%20Bios%C2%A0:http://didier.duchemin.free.fr/micro/micro2.htm#Le%20Bios%C2%A0:http://didier.duchemin.free.fr/micro/micro2.htm#Le%20Bios%C2%A0:http://didier.duchemin.free.fr/micro/micro2.htm#La%20Batterie%C2%A0:http://didier.duchemin.free.fr/micro/micro2.htm#SRAMhttp://didier.duchemin.free.fr/micro/micro2.htm#Rom
  • 7/30/2019 cour electronique numrique

    47/60

    47

    Programmes utiliss avec une frquence trs leve. Etant donn que les ROM sont beaucoup plus lentesque les mmoires de types RAM (une ROM a un temps d'accs de l'ordre de 150 ns tandis qu'une mmoirede type SDRAM a un temps d'accs d'environ 10 ns), les instructions contenues dans la ROM sont parfoiscopies en RAM au dmarrage, on parle alors de shadowing (en franais cela pourrait se traduire parombrage, mais on parle gnralement de mmoire fantme) ou de shadow ROM (ROM fantme). Chaquefois qu'une fonction du BIOS doit tre employe, elle est lue dans la RAM, qui est d'un accs beaucoup plus

    rapide.

    Les mmoires vives

    DRAM : Dynamic RAMDynamique : linformation doit tre priodiquement rafrachie ralisation : 1 bit = 1 transistor + 1 condensateurle condensateur stocke linformation doit tre rafraichit rgulirement (pour conserver la valeur stocke dansle condensateur) cela ralentit la vitesse daccs la mmoire . Elle est peu couteuse. Elle sert beaucoup envido, en particulier sur les cartes graphiques, et permet pour une rsolution dcran donne dafficherdavantage de couleurs.

    SDRAM (Synchronous DRAM) : qui est une DRAM dont laccs est synchrone ; cest a dire que chaquerequte mmoire se fait en un seul cycle dhorloge.

    EDO (Extended Data Output) : Elle est structure comme la DRAM, une petite diffrence prs : un petitcircuit a t ajout , qui agit comme une minuscule zone de stockage ou tampon servant sauvegarder lesadresses. Ce tampon reoit ladresse de la prochaine donne lire ou crire avant mme que la donneprcdemment lue ou crite ait t traite.

    SRAM : Static RAM

    Statique : linformation na pas besoin dtre rafrachie. Pour sa ralisation : 1 bit = 4 transistors = 2 portesNOR, Bascule RS (ou D) qui stocke l information. Elle est beaucoup plus rapide et beaucoup plus chere quela DRAM

    VRAM (Vido RAM)

    Cet autre type de mmoire est plus rapide que la DRAM car elle permet la lecture et l'criture de donnes

    simultanment. Elle quipe les cartes vido (cette mmoire est galement volatile).

    Registres

    Mmoire de type SRAM intgrs au cur du processeur un registre stocke les informations relatives uneinstruction oprandes ncessaires linstruction rsultats produits par linstruction trs peu nombreux (< 20)trs rapides (cadences la vitesse du processeur)

    Ralisation :Registre 1-bit = 1 bascule RS (ou D)

    Registre n-bits = n bascules RS (ou D) en parallle

    http://didier.duchemin.free.fr/micro/micro2.htm#RAMhttp://didier.duchemin.free.fr/micro/micro2.htm#RAM
  • 7/30/2019 cour electronique numrique

    48/60

    48

    registre 4 bits

    Fonctionnement en lecture Fonctionnement en criture

    Organisation de la Mmoire centrale

    Mmoire unidimensionnelle : nombre de portes dans le dcodeur trop important

    Extrieurement, et en ne tenant compte que des signaux logiques, un bloc mmoire peut tre reprsentcomme sur la figure suivante. 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 tremmorise) ou en lecture (l'information doit tre restitue).

    Sur ce schma on distingue deux canaux de n lignes en entre et en sortie, mais dans d'autres cas les accsen 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.

  • 7/30/2019 cour electronique numrique

    49/60

    49

    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 :

    Pour simplifier la figure, chaque cellule y est matrialise avec uniquement une ligne de slection et une lignede 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 fonctionde l'adresse, le dcodeur active une des 2 k lignes. Ainsi seules les cellules correspondant l'adressedemande sont slectionnes et l'information mmorise est alors disponible en sortie. Cette architecture trssimple n'est pas la plus conomique en terme de nombre 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 organisantla mmoire en une matrice de 64 lignes et 32 colonnes (2048 = 64 x 32). Chacune de ces 64 lignes peut treslectionne en utilisant 6 bits d'adresse.

    Comme nous ne voulons que des mots de 4 bits, il faut encore utiliser 4 multiplexeurs chacun slectionnantune ligne sur 8. Les 3 derniers bits d'adresse sont affects ces multiplexeurs. Cettearchitecture est dnomme adressage X-Y ou bidimensionnel. Dans ce cas 64 portes ET sont ncessairespour 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.

  • 7/30/2019 cour electronique numrique

    50/60

    50

    L'organisation matricielle des blocs mmoires permet galement d'viter des pistes trop longues pour ladistribution des diffrents signaux aux cellules. Les constantes de temps et les pertes de charge sont ainsirduites.

    Nous n'avons considr que deux cas de figure pour l'organisation matricielle du bloc mmoire : 512 lignes de4 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 situepour une organisation "carre", pour laquelle les nombres de lignes et de colonnes sont gaux ou diffrentd'un facteur 2.

    Trs souvent, les blocs mmoires comportent autant de lignes que de colonnes. Les mmes lignes d'adressepeuvent alors tre utilises pour identifier successivement la ligne puis la colonne. Cela permet de rduire lenombre de broches de connexion, donc l'encombrement et le cot des circuits. Cependant cela demandeenviron deux fois plus de temps par transmettre l'adresse complte. Par contre, si on cherche accder desinformations stockes dans une mme ligne il peut tre possible de dfinir une fois la ligne, puis pour chaquemot de n'avoir envoyer que l'adresse de la colonne. Il faut alors au moins un signal de commandesupplmentaire pour indiquer que l'adresse correspond une ligne ou une colonne.

    Parmi les caractristiques d'une mmoire nous trouvons la capacit et le format. La capacit reprsente lenombre total de bits et le format correspond la longueur des mots. Le nombre de bits d'adresse k dfinit lenombre total de mots de la mmoire, si n est le nombre de bits par mot, la capacit de la mmoire est donnepar :

    Capacit = 2k mots = 2k x n bitsCette capacit est exprime en multiple de 1024 ou kilo. La table suivante rsume la valeur des autresprfixes utiliss pour exprimer les capacits des mmoires :

    La figure suivante, prsente une organisation logique possible pour une mmoire de 128 mots de 8 bits. Icichaque mot est stock dans une case de 8 bits, tel un registre. Cette case reoit en entre 8 lignes dedonnes et une ligne de chargement. Elle dispose de 8 lignes de sortie fournissant le contenu du registre.Chacune de ces lignes est commande par une porte "3 tats". Ces cases sont organises en une matrice de32 lignes et 4 colonnes. Les 7 bits d'adresse sont spars en deux groupes, 5 bits pour identifier la ligne et 2bits pour la colonne.

  • 7/30/2019 cour electronique numrique

    51/60

    51

    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 sont distribuessimultanment 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 le registre 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 quatre bus verticaux. Uneseule des quatre portes "3 tats", au bas du schma, est connecte la sortie S du botier. Cette porte "3tats" fournit une amplification des signaux.

    Assemblage de blocs mmoires

    Les techniques d'intgration ne permettent pas d'obtenir des botiers ayant des capacits ou des formatssuffisants pour toutes les applications. Il est alors ncessaire d'associer plusieurs botiers pour augmenter lalongueur des mots ou le nombre de mots. L'association de plusieurs blocs peut permettre d'amliorer lesperformances temporelles de la mmoire en faisant fonctionner plusieurs blocs en parallle.

    Augmentation de la longueur des mots

    La figure suivante montre qu'il est ais d'associer deux botiers de 2k mots de n bits pour obtenir un bloc de 2kmots de 2 n bits. L'adressage doit tre appliqu simultanment aux deux circuits, l'un fournissant les n bits debas poids et l'autre les n bits de haut poids.

  • 7/30/2019 cour electroni