Cours architecture des Micro-ordinateur

Problème à signaler:


Télécharger Cours architecture des Micro-ordinateur



★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Cours complet architecture des Micro-ordinateur

...

1 . ARCHITECTURE  GENERALE  d'un  PC

PC est un sigle anglais qui signifie "Personnel Computer", et dont l'équivalent fran&cce

dil;ais est  "ordinateur personnel". I1 a été introduit sur le marché en 1981 par IBM à une époque reculée de  l'informatique où n'existait aucun standard.

Le poids du numéro 1 mondial des constructeurs informatiques a entraîné que 1'architecture proposée pour le PC, malgré ses lacunes. est devenu rapidement un standard de fait. De nombreux constructeurs se sont empressés de copier son architecture afin de commercialiser eux aussi leurs    PC "compatibles".

   II se compose de 3 sous-ensembles

    un boîtier d'unité centrale, composée de trois parties essentielles  :

     le microprocesseur,

     la mémoire centrale,

     les interfaces.

   un écran

   un clavier

L'architecture générale d'un micro-ordinateur se retrouve sur la figure de la page suivante.

     Le processeur est entouré de circuits intégrés complémentaires qui, dans les versions récentes de           machines, lui sont directement incorporés, et qui sont chargés de piloter une partie du matériel ( les  périphériques ) afin de diminuer la charge de l'unité centrale. Ils sont décrits ci-après suivant les          dénominations des circuits mis en place à l'origine dans le PC.

2 . Le  MICROPROCESSEUR

 Les microprocesseurs se distinguent suivant les caractéristiques suivantes  :

      Les registres  :

    Ce sont des mémoires intégrées au microprocesseur. Tous les calculs et autres  traitements de données doivent passer par des registres. Un microprocesseur ne peut           opérer directement sur la mémoire centrale. Chaque opération consiste donc à un       premier échange de la mémoire centrale vers les registres du processeur (LOAD), au traitement des données chargées (CO_UT), puis à un autre échange des registres   vers la mémoire (STORE). Plus les registres sont grands, moins le nombre   d'échanges est important, donc plus la machine est rapide.

       Le bus des données  :

   C'est l'organe physique d'échange des données entre le processeur et la mémoire centrale. Plus le bus des données est grand, plus on peut échanger des données en           même temps, moins le nombre d'échanges est important, donc plus la machine est          rapide.

    Le bus des adresses  :

    C'est l'organe de localisation des informations dans la mémoire.

       La capacité maximum de mémoire que peut gérer un micro-ordinateur dépend de la  taille de ce bus.

     La fréquence  :

   Celle-ci se mesure en MHz ( MegaHertz ).

    C'est le nombre de cycles ( en millions par seconde ) que peut effectuer un   microprocesseur. Un cycle est un passage de l'état 0 à l'état 1 puis un retour à l'état 0. Bien qu'il n'y ait pas de relation précise entre le nombre d'instructions par seconde        et la fréquence, on peut obtenir une bonne valeur approchée en divisant celle-ci par         3.

    Plus la fréquence est élevée, plus la machine est rapide.

Tableau récapitulatif des caractéristiques pour les processeurs utilisés dans les micro-ordinateurs compatibles P.C.

Processeur Registres Bus de données Bus d'adresses Fréquences d'horloge

 Intel bits bits bits Mhz

 80 88 16 8 20 4,77

 80 86 16 16 20 4,77

 80 286 16 16 24 8 - 12

 80 386 SX 32 16 24 16 - 20 - 25

 80 386 SL 32 16 24 25

 80 386 DX 32 32 32 25 - 33

 i 486 SX 32 32 32 16 - 20 - 25 - 33

 i 486 DX 32 32 32 25 - 33

 i 486 DL 32 32 32 66

 i 486 DX2 32 32 32 66

 Pentium 64 64 32 50 - 90

Les modèles de P.C. construits à base de processeurs 8088 et 8086 sont dénommés XT, tandis que  ceux qui contiennent un 80286 sont appelés AT; ces deux modèles correspondent à un certain           nombre de standards.

  A partir des 80386, les modèles de P.C. sont appelés par le nom du processeur qu'ils contiennent, mais sont moins standardisés ( multiplicité des bus d'extensions, ...).

      Par opposition à d'autres familles de microprocesseurs ( Motorola en particulier ), les processeurs       Intel gèrent sur un même bus physique les adresses et les données par multiplexage, c'est-à-dire que       sur une période du cycle de bus, une broche adresse/donnée du microprocesseur présente un signal           qui correspond à une adresse pendant la première partie du cycle ( ALE ), et qui correspond à une          donnée pendant la seconde partie du cycle ( DEN ).

      D'autre part, ces microprocesseurs gèrent en interne les adresses par segmentation (voir plus loin).

Le  8088

      Le microprocesseur Intel 8088 est le premier microprocesseur à avoir été utilisé dans les      matériels compatibles P.C.

      Sa capacité maximum d'adressage est de 1 Mo (Bus d'adresse de 20 bits = 220 octets).

      Sous MS-DOS, 640 Ko sont utilisés par les applications, les 384 Ko restants sont réservés   pour le système.

      Comme les registres du 8088 ont 16 bits de longueur, ils ne peuvent adresser       individuellement que 64 Ko (65 536 octets). Pour pouvoir adresser la totalité du domaine  adressable du microprocesseur (1 Mo), on associe deux registres de 16 bits : le segment et   l'offset. L'adresse réelle est calculée comme suit  :

      Segment * 16 + offset     et se note Segment : Offset.

Le  8086

      Le microprocesseur Intel 8086 possède les mêmes caractéristiques que le 8088 à la            différence que son bus de données fait 16 bits. La mémoire doit donc être architecturée en   mots de 16 bits.

 Les échanges entre le processeur et la mémoire sont pratiquement 2 fois plus rapides            qu'avec le 8088.

Le  8087

      Le microprocesseur Intel 8087 est un co-processeur arithmétique du 8088 ou du 8086. Il  permet de faire des calculs sur des nombres réels et entiers beaucoup plus grands et 100 fois    plus rapidement que s'ils étaient effectués par le processeur principal.

Le  80 286

      Le microprocesseur Intel 80286 permet deux modes de fonctionnement  :

    Le mode réel.

    Dans ce mode, le 80 286 a un fonctionnement identique au 8086 et ne peut adresser que 1 Mo. C'est ce mode qui est utilisé par MS-DOS. En fait le 80            286 n'apporte rien à MS-DOS excepté la possibilité de fonctionner à des      fréquences plus élevées ( 16 Mhz contre 8 Mhz pour le 8086 ).

    Le mode protégé.

    Dans ce mode, le 80 286 permet d'adresser la mémoire jusqu'à 16 Mo ( Bus        d'adresses de 24 bits = 224 octets ). C'est ce mode qui est utilisé par OS/2 ou par des logiciels MS-DOS ( tel ORACLE ) qui gèrent eux-mêmes la bascule   mode protégé/mode réel.

    Comme les registres du 80286 n'ont que 16 bits de longueur, ils ne peuvent adresser   individuellement que 64 Ko (216 octets). Pour pouvoir adresser la totalité du domaine     adressable du microprocesseur ( 16 Mo ), on associe deux registres de 16 bits : le sélecteur          et l'offset.

   Le sélecteur contient un nombre codé sur 16 bits qui fait référence à une adresse réelle            codée sur 32 bits dans une table gérée par le processeur : La table des sélecteurs.

L'adresse réelle est calculée comme suit : [Sélecteur] + Offset et se note  Sélecteur : Offset.    [Sélecteur]  désigne  l'adresse  référencée  par Sélecteur dans la table des sélecteurs.

    Le 80286 peut être associé à un co-processeur arithmétique Intel 80287.

Le  80 386 DX

    Le microprocesseur Intel 80 386 DX permet trois modes de fonctionnement  :

    Le mode réel.

    Dans ce mode, le 80 386 a un fonctionnement identique au 8086 et ne peut adresser que 1 Mo. C'est ce mode qui est utilisé par MS-DOS. En fait le 80            386 n'apporte rien à MS-DOS excepté la possibilité de fonctionner à des      fréquences plus élevées ( 33 Mhz contre 8 Mhz pour le 8086 ) et de pouvoir    échanger des données 2 fois plus longues ( bus de données de 32 bits ).

     Un micro-ordinateur équipé d'un 80 386 à 33 Mhz fonctionne 30 fois plus rapidement qu'un P.C. de base.

    Le mode protégé.

    Dans ce mode, le 80 386 permet d'adresser la mémoire jusqu'à 4 Go ( Bus        d'adresses de 32 bits = 232 octets ). Ce mode émule parfaitement le mode    protégé du 80286. C'est ce mode qui est utilisé par OS/2.

    Le mode virtuel 86

     Dans ce mode, le 80386 permet de simuler le fonctionnement de plusieurs  processeurs 8086 en parallèle.

     Chaque processeur 8086 peut adresser individuellement jusqu'à 640 Ko.         C'est ce mode qui est utilisé par des systèmes d'exploitation tels que   Concurrent-DOS-386, Windows-386, VM-386.

    Le 80386 peut être associé à un co-processeur arithmétique Intel 80387.

Le  80 386 SX

  Le microprocesseur Intel 80 386 SX possède les mêmes caractéristiques que le 80 386 DX   à la différence que son bus de données ne fait que 16 bits au lieu de 32 et le bus des           adresses ne fait que 24 bits au lieu de 32.

   De par la taille du bus de données, le 80 386 SX est donc plus lent. Cette lenteur est accentuée du fait qu'il ne supporte pas des fréquences dépassant 16 Mhz.

   Quant à la capacité de mémoire adressable, elle est ramenée à celle d'un 80286.

   Avec le 80386 SX, la volonté du constructeur était de disposer d'un processeur ayant les       mêmes caractéristiques externes que le 80286 pour pouvoir interchanger avec celui-ci sur    les cartes électroniques et disposant des mêmes fonctionnalités internes que le 80386 DX          pour supporter tous les logiciels qui en exploitent les trois modes.

Le  80 386 SL

    Tous les circuits électroniques sont alimentés en électricité.

   La tension habituelle est de 5 volts : 0 volt identifie le 0 binaire et 5 volts le 1 binaire.

   Beaucoup de micro-ordinateurs, notamment les portables, disposent d'une alimentation      autonome ( piles ou accumulateurs rechargeables ).

   L'énergie dépensée étant proportionnelle à la tension d'alimentation, les concepteurs de microprocesseurs ont fabriqué une puce dont la tension d'alimentation est de 3 volts ( au     lieu de 5 ) afin d'augmenter l'autonomie des micro-ordinateurs.

    Le microprocesseur Intel 80386 SL est identique au 80386 SX si ce n'est sa tension          d'alimentation qui est réduite à 3,3 volts. Il est plus particulièrement utilisé dans les micro-   ordinateurs portables.

i 80 486 DX

    Le microprocesseur Intel i486 n'apporte pas grand chose de nouveau par rapport au 80 386   si ce n'est une plus grande intégration. En effet, il intègre  :

       l'équivalent du processeur 80 386

      un contrôleur d'interruption

      un contrôleur de mémoire cache

      8 Ko de mémoire cache

     l'équivalent du co-processeur arithmétique 80387

    Tous ces composants existent déjà dans les micro-ordinateurs compatibles P.C. La            nouveauté réside dans le fait qu'ils sont intégrés sur le même circuit.

i 80 486 SX

    Le microprocesseur Intel i486 SX a les mêmes caractéristiques que le i486 DX sans les        fonctions de calcul arithmétique. Les micro-ordinateurs équipés de ce processeur doivent         prévoir un emplacement pour le co-processeur arithmétique i487 SX.

   Cela permet une possibilité d'évolution vers les fonctionnalités du i486 DX.

i 80 486 DL

    Le microprocesseur Intel i486 DL est un i486 DX alimenté électriquement à 3,3 volts. Il est      destiné à équiper les micro-ordinateurs portables.

i 486 DX2

          Le microprocesseur Intel i486 DX2 est un i486 DX avec en interne la technologie du   doublement de fréquence.

     Le doublement de fréquence ne concerne que le fonctionnement interne du microprocesseur   et non la vitesse du BUS externe,

          Ainsi quand on parle du i486 DX2 à 50 Mhz, seuls les registres internes du processeur           peuvent passer de l'état 0 à l'état 1 avec retour à l'état 0, 50 millions de fois par seconde.

            Les échanges d'informations avec les autres circuits électroniques sont toujours cadencés à   25 Mhz. C'est pourquoi un processeur i486 DX-50 est plus rapide qu'un processeur DX2-     50,

          Le problème du choix du processeur peut cependant se poser entre un i486 DX2-66 et un i486 DX-50. En effet, si le i486 DX2-66 est plus rapide pour le calcul, il n'échange ses           informations avec les autres circuits électroniques qu'à 33 Mhz.

   Pour des applications bureautiques où le calcul est privilégié ( tableur par exemple ), il vaut  mieux choisir un i486 DX2-66, Pour des applications où les transferts d'informations sont privilégiés ( gestionnaire de réseau par exemple ), on préférera un i486 DX-50,

Le  Pentium

Le microprocesseur Intel Pentium est équipé d'un bus de 64 bits.

   Il comprend toutes les fonctionnalités du i486.

   Son nom a été i586, puis P5, puis définitivement Pentium.

L'OverDrive

L'OverDrive est un processeur qui permet d'augmenter de manière significative les  performances d'une machine par l'adjonction, de façon simple par l'utilisateur de ce     processeur dans la machine.

La politique commerciale d'Intel de fournir pour chaque processeur, un OverDrive associé       qui permet par simple adjonction de mettre à jour une machine pour lui donner les mêmes  performances que si elle était équipée par un processeur supérieur   :

  i486 SX  +  i487 SX  =  i486 DX

  i486 DX  +  OverDrive  =  i486 DX2

  i486 DX2  +  OverDrive  =  Pentium

  Pentium  +  OverDrive  =  P6

  etc.

3 . Les  MEMOIRES

La mémoire constitue une zone de stockage temporaire pour les programmes et les données. Elle          se situe sur la carte mère de l'ordinateur ou sur une carte mémoire supplémentaire. Tous les  programmes doivent être chargés en mémoire pour pouvoir être exécutés.

31 . La mémoire vive

Une partie de la mémoire est accessible en lecture ou en écriture, mais son contenu est volatile     ( c'est à dire qu'il est perdu dès que la machine est mise hors tension ) :

   elle est appelée RAM (Random Access Memory), et contient des données ou des programmes           ( ensemble d'instructions )  particuliers, éventuellement développés par I'utilisateur.

 Il existe deux technologies de fabrication de RAM : les RAM statiques et les RAM dynamiques :

  Dans une RAM statique, il faut 4 transistors pour mémoriser un bit.

 Les RAM statiques permettent un accès très rapide en lecture/écriture mais elle ne  permettent pas une intégration aussi importante que les RAM dynamiques. Elles       sont aussi beaucoup plus chères.

   Dans une RAM dynamique, il ne faut qu'un seul transistor ( et un condensateur ) pour mémoriser un bit.

    Les RAM dynamiques permettent une très forte intégration : 4 Mbits sur une seule            puce.

    Cependant elles nécessitent d'être lues en permanence pour conserver leurs          informations ( opération appelée rafraîchissement ). Elles sont lentes en accès      lecture/écriture mais bien meilleur marché que les RAM statiques.

    C'est ce type de mémoire qui est utilisé dans les micro-ordinateurs compatibles P.C.

Ces mémoires peuvent se présenter sous divers aspects :

 En circuit intégré classique.

 Leur aspect en boîtier DIP 24 broches est      représenté ci-contre.

 En barrettes SIMM ( Single In-line Memory  Module ) a simple rangée de connexion.

 Ci-contre, une barrette SIMM regroupant 9 circuits, parité comprise.

Pour des raisons économiques, on utilise des RAM dont le temps d'accès est de l'ordre de 70 ns.   Lorsque la fréquence de travail du processeur s'accroît, le temps imparti à une lecture ou une          écriture en mémoire diminue et parfois, ne suffit plus.

  Par exemple, à une fréquence de 50 Mhz correspond une période de 20 ns ( inverse de la     fréquence ). En principe, c'est pendant ce laps de temps que la mémoire sollicitée doit     répondre à l'ordre reçu. Si son temps d'accès est de 70 ns, c'est matériellement impossible.  

  Pour que le processeur ait le temps de lire une information dans une telle mémoire, il devra     y consacrer quatre périodes d'horloge, soit 80 ns au total.

 Ces périodes d'horloge supplémentaires destinées aux mémoires sont appelées des "temps d'attente", ou des "Wait States". Pendant qu'ils s'écoulent, le processeur ne fait rien d'autre.

32 . La mémoire morte

Une partie de la mémoire n'est accessible qu'en lecture et conserve ses données de façon  permanente; elle est désignée par le terme ROM ( Read Only Memory ).

En fait, le sigle ROM désigne toute une famille de produit :

 PROM  Mémoire morte programmable par l'utilisateur. Le fabricant de micros y    stockera le BIOS de ses machines. Son contenu ne peut plus être modifié.

EPROM  La programmation s'effectue électriquement et il est alors possible d'effacer          le contenu par ultraviolet et de reprogrammer le circuit.

Mémoire Flash Mémoire ROM programmable et effaçable électriquement, très rapidement.

La tendance actuelle consiste à enregistrer le BIOS sur des mémoires Flash, ce qui permet la mise à  jour éventuelle de ce BIOS en local par l'utilisateur, à partir d'une disquette.

4 . ORGANISATION  FONCTIONNELLE  des  MEMOIRES  CENTRALES

41 . Les catégories de mémoire

 Le système d'exploitation DOS jusqu'à sa version 6 ne sait gérer que 640 Ko de mémoire destinée     aux programmes utilisateurs.

 Ces 640 Ko s'inscrivent dans une mémoire globale de 1 Mo, mais le DOS se réserve l'usage des 386   Ko couvrant la zone située entre les premiers 640 Ko et le 1 Mo.

 Les programmes se sont développés et sont devenus gourmands en mémoire ( Windows en donne        l'exemple ).

 Pour plus de commodité et selon le mode de fonctionnement, on a été amené à créer et à définir  plusieurs catégories de mémoire centrale :

 La mémoire conventionnelle

            La mémoire supérieure

            La mémoire paginée (Expanded Memory)

            La mémoire étendue (Extended Memory)

   La mémoire cache

La mémoire conventionnelle

C'est la mémoire adressée et imposée par les microprocesseurs des PC équipés de 8088. Les  compatibles PC possèdent en général 640 Ko, C'est la quantité maximum de mémoire que        peut gérer MS-DOS.

  Par défaut ( c'est à dire sans installation de logiciels gestionnaires de mémoire particulier ),  DOS utilise une partie de la mémoire conventionnelle et les logiciels gestionnaires de   périphériques ( drivers ) en occupent une autre partie.

  La quantité de mémoire conventionnelle restante est disponible pour les autres programmes.

La mémoire supérieure

La mémoire système occupe les 384 Koctets compris entre les 640 Koctets et 1 Moctet    (  1024 Koctets ); elle ne peut être exploitée par des programmes pour qu'ils y stockent des  données.

   Par contre, cette mémoire abrite le BIOS. la mémoire écran et les logiciels de gestion des extensions possibles ( carte de réseau, contrôleur de disque dur, .. dont les  drivers sont installés par des commandes particulières du DOS ). Normalement, seules des       portions de cette zone sont occupées, séparées par des espaces libres.

Ces 384 Ko sont appelés la zone UMA ( Upper Memory Area ). Cette zone peut contenir        des UMB ( Upper Memory Block ), blocs libres de mémoire supérieure.

La mémoire paginée

Comme nous l'avons vu dans le paragraphe précédent, le 8088 ( et le 8086 ) ne peuvent     adresser que 1 Mo.

   640 Ko sont disponibles pour les applications.

   Les 384 Ko restants sont réservés pour le système.

  Comme les applications sont de plus en plus exigeantes en capacité de mémoire, les           constructeurs ont été confrontés au problème de concevoir des extensions de mémoire au-     delà de ce que peut reconnaître le microprocesseur. Créer une extension mémoire n'est pas   un problème technologique.

Le problème réside dans le moyen de communiquer les informations mémorisées dans  l'extension au microprocesseur.

  La mémoire paginée ( ou expansée ) offre une solution pour ajouter de la mémoire au-delà      des 640 Koctets de mémoire conventionneIle.

   La mémoire paginée est physiquement installée sur une carte de mémoire particulière et      nécessite un logiciel de gestion adapté. Les programmes qui utilisent la mémoire paginée       n'ont pas directement accès aux informations qui y sont stockées.

   La mémoire paginée est divisée en segments de 16 Koctets appelés pages. Lorsqu'un       programme doit accéder à des données situées en mémoire paginée, le gestionnaire de    mémoire paginée mappe ( copie ) la page demandée dans une zone ( appelée segment de  cadre ), qui se situe dans l'espace mémoire adressable en mode réel par le processeur. Le programme accède alors aux données souhaitées dans le segment de cadre. Celui-ci fait  partie de la zone de mémoire supérieure ( voir bloc n° 13 dans la cartographie mémoire des      PC ).

  Le logiciel EMM386.EXE, fourni avec DOS 5.0, permet d'utiliser la mémoire étendue    comme de la mémoire paginée sur les systèmes équipés d'un processeur 80 386 ou supérieur; ceci autorise le fonctionnement, sur des machines ne disposant que de mémoire        étendue, de certains programmes conçus initialement pour fonctionner avec de la mémoire paginée.

  Pour cela, il faut que le gestionnaire de mémoire étendue HIMEM.SYS soit actif. Le driver      EMM386.EXE permet, en outre, de rendre disponible certains blocs de mémoire supérieure    pour y  loger des drivers ou programmes résidents ( à l'aide des commandes DEVICEHIGH  ou LOADHIGH ), ce qui libère de la mémoire conventionnelle.

La mémoire étendue

  C'est une mémoire supplémentaire, allant au delà du premier Mo, mais elle est adressée     directement par les processeurs 286, 386, 486 et Pentium. Pour celà, ces processeurs       doivent fonctionner en "mode "protégé".

  En effet, les microprocesseurs de la famille Intel peuvent fonctionner :

 en mode réel  Mode de base des 8086 et 8088. L'adressage porte sur un        espace de 1 Mo ( il est assuré sur 20 bits ).

   en mode protégé Ce mode n'intervient qu'avec les 286 et la suite.

      L'adressage est considérablement étendu.

      Avec le 286, l'adressage s'effectue sur 24 bits et couvre un   espace de 224, soit 16 Mo.

      Avec les 386 DX et les 486, l'adressage passe à 32 bits      couvrant un espace de 4 Go.

Pour entrer dans ce mode, il faut "commuter" le processeur           dans ce nouveau mode.

 en mode virtuel C'est un sous-produit du mode protégé. Il permet l'exécution    de programmes conçus pour le mode réel. Il ne s'applique  qu'à partir du 386. Chaque programme se voit attribuer un          espace de 1 Mo comme en mode réel, mais dans l'espace du     mode protégé.

D'une façon générale, les programmes qui utilisent la mémoire conventionnelle ne  reconnaissent pas les adresses qui identifient les emplacements de la mémoire étendue; ils ne  reconnaissent que les adresses des 640 Koctets.

  Les programmes ont besoin d'instructions spéciales pour accéder aux adresses de la   mémoire étendue.

Pour utiliser la mémoire étendue, il faut utiliser le logiciel gestionnaire de mémoire         HIMEM.SYS fourni à partir de la version 5.0 de MS-DOS.

La mémoire cache

Sur les machines à base de 386, il a été nécessaire de trouver un compromis entre un faible  coût de la mémoire et une rapidité suffisante pour ne pas dégrader les performances du          processeur. Pour cela il a été utilisé de la mémoire dynamique ( peu couteuse mais lente )  pour la mémoire principale de quelques Mo et une mémoire statique ( couteuse mais rapide)     appelée mémoire cache de quelques dizaines de Ko qui est disposé entre le processeur et la  mémoire dynamique.

Toutes les informations accessibles par le processeur ( code, données ) résident en mémoire          principale. Seules les informations susceptibles d'être utilisées à un instant donné sont     présentes ( dupliquées ) dans le cache à ce moment. Le but est de faire "apparaître"   l'ensemble de la mémoire comme ayant les performances de la mémoire cache.

   La mise en oeuvre d'un cache est rendue possible, par le principe de localité qui peut être  énoncé ainsi  :

    lors de l'exécution d'un programme, tout accès à la mémoire est ( presque ) toujours  effectué à une adresse précédemment accédée et sur des périodes courtes, les accès   sont réalisés séquentiellement sur des blocs de taille limitée. Effectivement, dans un    programme, le code est composé de boucles séquentielles et les données sont   généralement structurées ( blocs, tableaux,... ).

Lors d'une lecture mémoire, si l'information réside dans le cache ( cache hit ), elle est          accédée rapidement sans pénalisation. Dans le cas contraire ( cache miss ), l'accès est fait en ram dynamique donc plus lentement. Dans ce dernier cas, au cours de la même opération, la donnée est mémorisée dans le cache en vue d'une utilisation ultérieure.

    Quand le cache est "plein" et qu'il est nécessaire d'y stocker une nouvelle information, un   remplacement doit être réalisé en fonction d'une stratégie donnée.

         Bien entendu, le cache est un mécanisme purement matériel qui sera donc transparent pour       le logiciel.

    Pour les microprocesseurs Intel 80 386, un circuit électronique externe permet de gérer les  échanges d'informations entre la mémoire RAM et la mémoire cache.

   Les nouveaux processeurs Intel ( i486 et Pentium ) sont équipés en interne du contrôleur de  mémoire cache et de 64 Ko. Ils permettent d'adresser jusqu'à 256 Ko de mémoire cache en        externe.

La mémoire virtuelle

  C'est un espace disque qui simule la mémoire centrale. Celle-ci étant insuffisante, on la           prolonge sur le disque. Cette méthode offre l'avantage de disposer d'une mémoire centrale      apparamment considérable mais présente l'inconvénient que des données s'échangent en  permanence entre la mémoire centrale et le disque, d'où un fort ralentissement du fonctionnement des programmes.

  Ce concept est appliqué par Windows lorsqu'on travaille en mode 386 étendu.

La commande MEM / C [/P] classe les programmes chargés en mémoire, selon leur   localisation; cette commande affiche la taille de chaque programme, un résumé de l'occupation mémoire et la liste des blocs disponibles.

42 . Cartographie mémoire d'un P.C.

Cartographie mémoire d'un XT 8086

N° de bloc Adresses Contenu

 15 F000:0000  -  F000:FFFF ROM contenant le BIOS

 14 E000:0000  -  E000:FFFF disponible pour ROM

 13 D000:0000  -  D000:FFFF disponible pour ROM

 12 C000:0000  -  C000:FFFF ROM BIOS supplémentaire

 11 B000:0000  -  B000:FFFF RAM vidéo ( mode texte ou graphique basse résolution )

 10 A000:0000  -  A000:FFFF RAM vidéo supplémentaire ( cartes EGA/VGA )

 9 9000:0000  -  9000:FFFF RAM de 576 Koctets à 640 Koctets

 8 8000:0000  -  8000:FFFF RAM de 512 Koctets à 576 Koctets

 7 7000:0000  -  7000:FFFF RAM de 448 Koctets à 512 Koctets

 6 6000:0000  -  6000:FFFF RAM de 384 Koctets à 448 Koctets

 5 5000:0000  -  5000:FFFF RAM de 320 Koctets à 384 Koctets

 4 4000:0000  -  4000:FFFF RAM de 256 Koctets à 320 Koctets

 3 3000:0000  -  3000:FFFF RAM de 192 Koctets à 256 Koctets

 2 2000:0000  -  2000:FFFF RAM de 128 Koctets à 192 Koctets

 1 1000:0000  -  1000:FFFF RAM de 64 Koctets à 128 Koctets

 0 0000:0000  -  0000:FFFF RAM de 0 Koctets à 64 Koctets,

table de vecteurs de l'unité centrale,

variables DOS et BIOS, noyau DOS

Un 8086 peut gérer 1 Mo de mémoire; l'emplacement mémoire est subdivisé en 4 zones :

   une zone ROM de 64 Ko pour le logiciel de base BIOS, située entre F0000 et           FFFFF quels que soient les modèles de P.C.,

   une zone RAM de 640 Ko, située entre 00000 et 9FFFF quels que soient les      modèles de P.C.,

   une zone RAM de 128 Ko, située entre A0000 et BFFFF quels que soient les          modèles de P.C., qui gère les données affichées sur l'écran vidéo et qui, suivant la            complexité de l'image désirée, occupe effectivement de 4 Ko ( en mode  monochrome ) à 128 Ko ( en mode VGA couleur ),

   Les zones les plus utilisées sont de B0000 à B0FFF en texte monochrome, et de      B8000 à BBFFF en couleur CGA,

   une zone disponible entre C0000 et EFFFF, qui peut contenir de la ROM  supplémentaire permettant de gérer certains périphériques.

Cartographie mémoire d'un AT 80 286

N° de bloc Adresses Contenu

 21 15000:0000  -  15000:FFFF RAM étendue

 20 14000:0000  -  14000:FFFF RAM étendue

 19 13000:0000  -  13000:FFFF RAM étendue

 18 12000:0000  -  12000:FFFF RAM étendue

 17 11000:0000  -  11000:FFFF RAM étendue

 16 0F000:0000  -  10000:FFFF RAM étendue

 15 0F000:0000  -  0F000:FFFF ROM contenant le BIOS

 14 0E000:0000  -  0E000:FFFF disponible pour ROM

 13 0D000:0000  -  0D000:FFFF disponible pour ROM

 12 0C000:0000  -  0C000:FFFF ROM BIOS supplémentaire

 11 0B000:0000  -  0B000:FFFF RAM vidéo ( mode texte ou graphique basse résolution )

 10 0A000:0000  -  0A000:FFFF RAM vidéo supplémentaire ( cartes EGA/VGA )

 9 09000:0000  -  09000:FFFF RAM de 576 Koctets à 640 Koctets

 8 08000:0000  -  08000:FFFF RAM de 512 Koctets à 576 Koctets

 7 07000:0000  -  07000:FFFF RAM de 448 Koctets à 512 Koctets

 6 06000:0000  -  06000:FFFF RAM de 384 Koctets à 448 Koctets

 5 05000:0000  -  05000:FFFF RAM de 320 Koctets à 384 Koctets

 4 04000:0000  -  04000:FFFF RAM de 256 Koctets à 320 Koctets

 3 03000:0000  -  03000:FFFF RAM de 192 Koctets à 256 Koctets

 2 02000:0000  -  02000:FFFF RAM de 128 Koctets à 192 Koctets

 1 01000:0000  -  01000:FFFF RAM de 64 Koctets à 128 Koctets

 0 00000:0000  -  00000:FFFF RAM de 0 Koctets à 64 Koctets,

table de vecteurs de l'unité centrale,

variables DOS et BIOS, noyau DOS

 La cartographie mémoire de l'AT 80 286 est similaire à celle du XT pour le premier Méga octets.       La zone située au-delà est appelée RAM étendue.

Cartographie mémoire des PC 386 et 486

Elle est similaire à celle du PC AT pour le premier Méga octet; seule la mémoire étendue peut            atteindre des valeurs nettement plus élevées ( jusqu'à 16 Mo ).

ORGANISATION  de  la  MEMOIRE

en  FONCTION  du  PROCESSEUR

5 . Les  INTERFACES

 51 . Le Contrôleur d'Accès Direct Mémoire  DMA 8237

 DMAC 8237   Direct Memory Access Controller

 Le circuit DMA ( Direct Memory Access ) est capable d'écrire ou de lire des données directement      en RAM sans passer par le processeur. Cette caractéristique est surtout intéressante pour      1'entrée/sortie de données issues de périphériques lents, tels qu'un lecteur de disquettes.

     Ce circuit a également pour rôle d'entretenir un niveau électrique adéquat pour les données       contenues dans la RAM ( "rafraîchissement des RAM dynamiques" ).

 52 . L'interface d'entrées-sorties parallèle   8255

 PPI 8255   Programmable Peripheral Interface

 Ce circuit a trois ports d'entrées-sorties de 8 bits chacun.

     Ce circuit assure le lien entre l'unité centrale et des périphériques tels que le clavier ou le haut-     parleur. Il sert également à accéder à certains interrupteurs de configuration situés sur la carte      mère. Les échanges entre ce circuit et les périphériques se font sur un mode parallèle, c'est-à-dire           que les différents bits nécessaires à une donnée sont présentés sur autant de fils de signaux           logiques.

53 . Le Contrôleur de lecteur de disquettes    FDC 765

 FDC 765   Floppy Disk Controller

   Ce composant apparaît également sur une carte d'extension. Il contrôle directement les fonctions   du lecteur de disquettes comme déplacer la tête de lecture/'écriture sur la surface de la disquette,       lire ou écrire des données sur la disquette.

54 . L'adaptateur d'imprimante

PAI printer   Programmable Adaptator Interface

Il assure l'interface entre le bus de données du microprocesseur et le port parallèle du connecteur  de l'imprimante. Les circuits LSI ci-dessus sont connectés aux bus d'adresses, au bus de données et      au bus de contrôle pour synchroniser leurs fonctions, et sont contrôlés directement ou   indirectement par le CPU.

 55 . Le timer programmable

 PIT 8253   Programmable Interval Timer

 Ce circuit peut être utilisé comme compteur ou comme chronomètre :  il délivre sur chacun de ses  canaux de sortie des impulsions à intervalles de temps fixés et constants; la fréquence de ces       impulsions est commandable via les entrées du timer.

  Chaque canal de sortie est relié à un périphérique différent: ainsi, un canal pilote le haut-parleur, un          autre le contrôleur d'interruptions.

 56 . L'interface série

UART 8250   Universal Asynchronous Receiver/Transmitter

 Il contrôle l'interface RS 232C. Les paramètres de communication tels que la vitesse de transfert, la       longueur des mots, les bits de stop et de parité peuvent être contrôlés par ce circuit LSI.

 57 . Le Contrôleur d'interruptions

 PIC 8259   Programmable Interrupt Controller

     Les différents composants du système disposent d'un mécanisme particulier pour attirer l'attention           de l'unité centrale afin de lui faire effectuer une opération déterminée : il s'agit des interruptions. 

 Plusieurs interruptions pouvant survenir au même instant de différents composants, un circuit     contrôleur d'interruptions établit des priorités entre ces interruptions et retransmet en premier lieu           au microprocesseur la demande de priorité  la  plus  élevée.

   Un  contrôleur  d'interruptions peut traiter jusqu'à 8 demandes simultanées; les contrôleurs peuvent   être associés en cascade pour gérer un nombre supérieur de demandes d'interruptions.

  Un XT contient un circuit 8259, et peut traiter 8 demandes d'interruptions.

  Un AT contient deux circuits 8259 et gère jusqu'à 15 demandes d'interruptions.

6 . Les  BUS  et  les  SLOTS

 61 . Généralités

   Un microprocesseur est doté de pattes de cuivre. Ces pattes sont les conducteurs électriques qui          permettent le transfert des informations vers la mémoire et les périphériques via les interfaces.

   La quasi totalité des interfaces nécessaires au fonctionnement du micro-ordinateur sont sur la           même carte électronique que le microprocesseur. C'est ce que l'on a appelé la carte mère.  Cependant, pour permettre des extensions, celle-ci doit offrir l'accès à la totalité des signaux  transmis par le microprocesseur. C'est pourquoi elle est dotée de connecteurs appelés slots sur  lesquels peuvent s'enficher des cartes d'extension.

   Les signaux que doit transmettre les slots sont les suivants  :

   Le bus d'adresses C'est par son intermédiaire que le processeur va désigner          quelle mémoire ou quelle interface est sollicitée.

   Le bus de données C'est par son intermédiaire que sont transmises les      informations entre le microprocesseur et ses périphériques.

   le bus de commande Ce sont tous les signaux électriques qui définissent la  synchronisation ou la sélection des autres circuits      électroniques avec le microprocesseur ainsi que le sens du   transfert des informations.

Par extension, on désigne par bus l'ensemble des signaux transmis à travers les slots d'extensions.

 62 . Les slots 8 bits

 Au début de la commercialisation des micro-ordinateurs IBM ( 1982 ), le problème d'un bus        standard ne se posait pas. IBM construisait ses micros et leurs extensions.

 Après quelques années, d'autres entreprises se sont mises à construire des cartes d'extension pour     les micro-ordinateurs IBM puis pour les autres micro-ordinateurs de fonctionnalités identiques.  C'est à ce moment qu'intervient la notion de compatibilité.

 Rapidement ( 1984 ) les différents constructeurs ont été confrontés à la reconnaissance d'un    standard. Un bus normalisé 8 bits pour transmettre les signaux du 8088 était né. Les micro     compatibles avec cette norme se sont appelés PC-XT. Le slot 8 bits est un connecteur de 8 cm de  long.

 63 . Le BUS  ISA

Progressivement, le 8088 a été remplacé par le 8086 ( qui doit transporter 16 bits de bus de    données au lieu de 8 ) puis par le 80 286 ( 24 bits de bus d'adresses au lieu de 20 ).

  On parla alors de PC-AT.

 Pour pouvoir exploiter toutes les caractéristiques du 80 286, il a fallu étendre le bus du P.C.-XT.        Pour cela, il a suffit d'ajouter un second connecteur plus petit ( 3 cm ) à côté du connecteur        précédent.

  On a alors parlé de slot 16 bits. Cela a permis d'insérer des cartes 8 bits ou 16 bits sur le même slot.

 Le bus normalisé pour transmettre les signaux du 80 286 s'est appelé le bus ISA ( Industry        Standard Architecture ).

  C'est le bus le plus utilisé dans les compatibles AT, même ceux équipés d'un 80 386.

 64 . Le BUS  MCA

 Après l'arrivée du 80 386, outre les problèmes de politique commerciale, IBM a été confronté à de      réels problèmes techniques :

   Comment transmettre les signaux propres au 80 386 sur des slots classiques ?.

   Vu la fréquence des signaux électriques transmis ( de 16 à 33 Mhz ), comment          réduire les parasites induits par des courants alternatifs de haute fréquence ?.

    Dans des architectures où les processeurs et co-processeurs doivent cohabiter dans un même système, comment gérer un bus multiprocesseurs ?

  Pour résoudre ces problèmes, IBM a créé un nouveau bus qu'il a appelé bus MCA ( Micro Channel        Architecture ). Les micro-ordinateurs équipés de ce bus sont les P.S./2 ( sauf pour la série 8530 équipée d'un bus ISA ).

  Ce bus, de conception toute nouvelle, n'est pas du tout compatible avec le bus ISA.

65 . Le BUS  EISA

 Le bus ElSA ( Extended Industry Standard Architecture ) est une réponse commerciale à IBM qui  refusait de publier les caractéristiques de son bus à ses concurrents.

  Ce bus a la particularité de transmettre tous les signaux du 80386 et d'autoriser les architectures multiprocesseurs tout en restant compatible avec le bus ISA. Cependant, avec l'arrivée des        processeurs de plus en plus rapides ( > 33 Mhz ), ce bus risque d'être rapidement dépassé car il ne           résout pas le problème de la distorsion des signaux électriques de hautes fréquences.

 66 . Le BUS  VL-BUS

 Avec l'arrivée de processeurs toujours plus rapides, les bus actuels ( sauf MCA ) sont dépassés. Le           VL-BUS ( VESA Local Bus ) est un bus rapide qui permet de franchir les limites des bus          classiques.

  L'avantage du VL Bus réside dans le fait qu'il peut cohabiter avec tous les bus existants :

      ISA, EISA et MCA.

  Les connecteurs VL-Bus, au nombre de 3 maximum, ont une géométrie identique aux connecteurs          MCA. Ils sont placés en prolongement des connecteurs standards. Cela permet de pouvoir placer         dans un emplacement soit une carte classique ( ISA, EISA ou MCA ) soit une carte VL Bus.

   Ce type de bus préfigure la mort du bus EISA. En effet, il permet de meilleures performances à un     coût moindre. Il entre en concurrence avec le futur bus préconisé par Intel : le bus PCI.

   L'utilisation de ce bus peut améliorer considérablement les performances des micro-ordinateurs qui    utilisent de façon prépondérante les échanges de données entre la carte mère et les cartes        d'extension : Cartes graphiques, Cartes contrôleurs de disques, Cartes réseaux.

 67 . Le BUS  PCI

   Le bus PCI ( Peripheral Component Interconnect ) est le nouveau bus préconisé par Intel pour  permettre d'exploiter toutes les performances de son nouveau microprocesseur Pentium. C'est un  bus rapide qui permet la transmission du bus 64 bits du Pentium. Il est compatible avec les autres      bus ( sauf Local Bus ).

 Il n'existe, à l'heure actuelle, aucune machine équipée de ce bus. Cependant, il a été adopté par   presque tous les constructeurs pour les futurs micro-ordinateurs. Ce bus deviendra certainement un          standard.

7 . Les  ECRANS

71 . Modes texte et graphique

  Les écrans sont destinés à afficher des données pour un utilisateur. Ces données peuvent être  alphanumériques ( mode texte ) ou graphiques.

    En mode texte, les caractères sont codés sur 2 octets : le code ASCII du caractère  suivi du code de ses attributs ( couleur ou aspect du fond et couleur ou aspect du         caractère ).

    Les performances d'un écran se mesurent alors par le nombre de lignes, le nombre         de caractères par ligne et le nombre de couleurs.

  En mode graphique, les points ( pixels ) sont codés sur 1 ou plusieurs bits en      fonction du nombre de couleurs disponibles.

    Les performances se mesurent en nombre de points en hauteur et en largeur et le         nombre de couleurs.

  Les performances d'un écran dépendent de l'écran mais aussi des caractéristiques du contrôleur    vidéo associé. Voici des tableaux comparatifs des différents types de contrôleurs équipant les        compatibles PC.

72 . Le contrôleur  MDA

 Le contrôleur graphique MDA est le premier contrôleur à avoir équipé les compatibles PC. Il      permet de piloter un écran monochrome en mode alphanumérique uniquement.

 73 . Le contrôleur  CGA

 Pour piloter les premiers écrans couleurs, IBM utilise un contrôleur graphique CGA ( Color     Graphics Adapter ). Outre l'émulation complète des modes du contrôleur MDA, il permet de   piloter un écran graphique en 4 couleurs.

 74 . Le contrôleur  HGC ( Hercules )

 La définition des premiers contrôleurs étant insuffisante, un constructeur ( contrôleur graphique    Hercules ) a mis au point un contrôleur permettant de piloter un écran graphique monochrome de        720 x 348 pixels. C'est devenu un standard pour le pilotage des écrans monochromes.

 75 . Le contrôleur  EGA

 Conscient des limites de son écran couleur, IBM a équipé ses micro-ordinateurs d'un contrôleur graphique EGA ( Enhanced Graphics Adapter ). Outre l'émulation de tous les modes CGA, celui-ci            peut piloter un écran couleur ou monochrome avec une définition de 350 x 640 pixels en 16           couleurs pour le mode graphique et de 43 lignes de 80 caractères en 16 couleurs pour le mode alphanumérique.

 76 . Le contrôleur  PGA

 Et pour des applications graphiques plus professionnelles, le contrôleur graphique PGA permet de          piloter un écran graphique haute résolution de 640 x 480 pixels en 256 couleurs.

 77 . Le contrôleur  MCGA

 Destiné aux PS/2 de la série 8530 ( bas de gamme ), le contrôleur MCGA, outre l'émulation de  tous les modes CGA permet de piloter un écran graphique couleur de 320 x 200 pixels en 256             couleurs ou un écran graphique monochrome en 640 x 480 pixels.

 78 . Le contrôleur  VGA

   Initialement destiné aux PS/2 haut de gamme, mais maintenant généralisé à tous les compatibles         PC, le contrôleur graphique VGA permet de piloter un écran couleur ou monochrome de 640 x    480 pixels en 16 couleurs en mode graphique ou de 50 lignes de 80 caractères en 16 couleurs en  mode alphanumérique.

  Tous les modes CGA et EGA sont également émulés.

  C'est actuellement le standard reconnu par (presque) tous les constructeurs .

 79 . Le contrôleur  superVGA

   La dimension des écrans pouvant atteindre 20 pouces ( en diagonale ), il est nécessaire de gérer de          modes graphiques de plus en plus performants.

  Les cartes contrôleurs pilotant ces écrans doivent être équipées de suffisamment de mémoire pour           contenir l'image complète de l'écran.

  Certaines cartes possèdent en interne les instructions graphiques correspondant aux     environnements techniques utilisés ( GDI Windows 3 par exemple ).

8 . Les  IMPRIMANTES

Les imprimantes à marguerite

 Le fonctionnement des imprimantes à marguerite est  identique aux machines dactylographiques.  Tous les caractères sont présents sur une matrice en forme de marguerite. L'impression se produit     quand le caractère de la matrice vient frapper le papier à travers un ruban encré.

     Ces imprimantes sont très lentes ( moins de 30 caractères / seconde ) et très bruyantes. On ne peut        utiliser qu'une seule marguerite à la fois, donc une seule police de caractères.

     Elles ne permettent pas d'imprimer les graphiques.

     Par contre elles offrent une qualité d'impression excellente. Cependant, on obtient des documents       de qualité similaire voire supérieure avec d'autres technologies.

 Aussi, ce type d'imprimante est de moins en moins utilisé.

Les imprimantes matricielles

     Pour les imprimantes matricielles, les caractères sont définis point par point.

  C'est une rangée de minuscules aiguilles qui, frappant le papier à travers un ruban encré, vont  dessiner chaque caractère. Outre la police de caractères standard, l'utilisateur peut définir ses   propres polices et ses propres tailles de caractères. Il existe même des macro-commandes pour     imprimer des graphiques.

     Initialement, les têtes d'impression possédaient 9 aiguilles. Les caractères étaient dessinés sur un       canevas de 8 x 8 points, la neuvième aiguille était utilisée pour souligner.

     L'impression n'était pas de très bonne qualité ( aspect gris ). La définition de dessin était de 72            points par pouce.

     Maintenant, les imprimantes matricielles sont équipées de têtes d'impression à 24 aiguilles. Cela       autorise une définition de 216 points par pouce. Les caractères ont un tracé proche de l'impression         à marguerite.

  Elles permettent une vitesse d'impression de 300 caractères par seconde.

      Ces imprimantes sont très bruyantes à cause de l'impact des aiguilles sur le papier.

      L'impression en couleur est possible.

Les imprimantes à jet d'encre

      Les imprimantes à jet d'encre ont une technologie analogue aux précédentes. Les aiguilles sont         remplacées par des buses qui projettent une minuscule goutte d'encre sur le papier.

  Elles ont une rapidité et une définition équivalente. Le gros avantage de ce type de machine est le  silence d'impression.

      Elles permettent également l'impression en couleur en combinant quatre encres de couleur           fondamentale (rouge, bleu, jaune et noire) par projections successives.

 Les imprimantes laser utilisent la même technologie que les photocopieurs. L'image est composée           graphiquement point par point dans la mémoire de l'imprimante. Puis cette image est transférée sur    un tambour à l'aide d'un laser. Les parties du tambour exposées à la lumière sont chargées électro-         statiquement et de fines particules d'encre solide ( toner ) vont y adhérer. Cette encre est ensuite         transférée sur une feuille de papier. En chauffant la feuille, les particules d'encre deviennent liquides           et collent au papier.

    Ces imprimantes sont silencieuses, extrêmement rapides ( de 6 à 10 pages par minute ) et ont une    excellente précision graphique ( de 300 à 600 points par pouce ).

  La qualité d'impression obtenue est très proche de celle obtenue en imprimerie.

    Pour créer l'image graphique dans sa mémoire, l'imprimante doit recevoir des instructions          graphiques ( traits, rectangles, arc de cercles, caractères, etc. ). Ces instructions sont transmises       suivant des conventions syntaxiques que l'on a appelé langage de description de page.

  Les deux langages les plus utilisés sont le langage de description de page PCL et le langage de    description de page PostScript.



1582