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