1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des...

21
09/09/02 19:22 DEUG Première Année 1996 Jacques Guizol 1. Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale et Bus. 1.4. La boucle d’exécution. 1.5. La micro-machine. 1.6. Les Périphériques. #XCPV2TQRQU Avant toute chose, nous allons découvrir ensemble l’organisation et les principales unités fonctionnelles d’une machine. Ce premier chapitre ne prétend pas tout vous dire sur “ce que vous avez toujours voulu savoir sans jamais…” mais de façon très informelle, nous allons introduire peu à peu quelques concepts que vous ne pouvez plus à présent ignorer ou simplement connaître par ouï dire. périphérique d'entrée(ouie) Cerveau … et de sortie (expiration, phonation) périphérique d'entrée (inspiration, nutrition) périphérique d'entrée(vision) De façon très grossière, une machine comporte un “cerveau” et un ensemble d’appendices qui s’y rattachent permettant au cerveau de correspondre avec l’extérieur, les périphériques. Nous allons dans un premier temps décortiquer le cerveau (beurk !) afin de mieux connaître les différentes parties qui le composent, spécialisées dans le calcul, le stockage de l’information ou l’organisation complexe de toutes les connaissances acquises (informations) et du savoir-faire inné (calculatoire).

Transcript of 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des...

Page 1: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

09/09/02 19:22

DEUG Première Année1996 Jacques Guizol

1. Architecture des ordinateurs

1.1. Avant-Propos1.2. Mémoire, Cellules et Mots.1.3. Unité Centrale et Bus.1.4. La boucle d’exécution.1.5. La micro-machine.1.6. Les Périphériques.

�����#XCPV�2TQRQU

Avant toute chose, nous allons découvrir ensemble l’organisation et les principalesunités fonctionnelles d’une machine. Ce premier chapitre ne prétend pas tout vous diresur “ce que vous avez toujours voulu savoir sans jamais…” mais de façon trèsinformelle, nous allons introduire peu à peu quelques concepts que vous ne pouvez plusà présent ignorer ou simplement connaître par ouï dire.

périphérique d'entrée(ouie)

Cerveau

… et de sortie(expiration, phonation)

périphérique d'entrée(inspiration, nutrition)

périphérique d'entrée(vision)

De façon très grossière, une machine comporte un “cerveau” et un ensembled’appendices qui s’y rattachent permettant au cerveau de correspondre avec l’extérieur,les périphériques. Nous allons dans un premier temps décortiquer le cerveau (beurk !)afin de mieux connaître les différentes parties qui le composent, spécialisées dans lecalcul, le stockage de l’information ou l’organisation complexe de toutes lesconnaissances acquises (informations) et du savoir-faire inné (calculatoire).

Page 2: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.2 © Jacques Guizol

Parallèlement nous indiquerons la façon dont est stockée l’information et comment ellese déplace. Enfin, dans un second temps, nous passerons en revue les périphériques lesplus courants en expliquant de façon sommaire leur fonctionnement.

�����/iOQKTG��EGNNWNGU�GV�OQVU

Si l’on fait abstraction de tous les organes spécialisés dans la communication avecl’extérieur, on peut considérer qu’un ordinateur se décompose en deux partiesprincipales :

• La mémoire centrale.• Une unité centrale de traitement.

�� �·����� ��������La mémoire centrale est un organe dont la seule fonctionnalité consiste à pouvoirstocker de l’information et la préserver intacte pour pouvoir la restituer à la demande.

Cette information qui va être utilisée en tant que donnée d'un programme pourra doncreprésenter des nombres (entiers ou pas, très petits ou très grands), des caractères(français, cyrilliques, arabes, chinois,…, mathématiques, phonétiques,…), des résultatsd’évaluations booléennes (tests), des références,…

Mais lorsque nous allons vouloir exécuter un programme, il faudra bien que résident enmémoire non seulement les données sur lesquelles il se déroulera, mais aussi leprogramme lui-même. Voilà donc un nouveau type d’information qui sera stocké.

Va-t-on stocker ces informations dans des secteurs différents de la mémoire centraleselon leurs caractéristiques ? Bien sûr que non ! (pour maintes raisons que l’on verra en cours).En fait, la mémoire centrale est totalement homogène et les différences entre les types dedonnées qui y sont contenues résulteront de l’interprétation qui sera faite de leur codageau moment de l’utilisation (principe de Von Neumann).

Par exemple l’octet 01011001 peut représenter la valeur décimale 89, le caractère Y dansun codage particulier (ASCII) que l’on verra plus tard, ou le code d’une instruction dechargement de l’accumulateur par un adressage direct basé. Ce jargon est peut-êtreincompréhensible pour l’instant, mais tout ce que je vous demande de retenir, c’est queselon que l’on est en train de traiter des nombres, des caractères ou d’analyser uneinstruction dans l’unité de contrôle, la même valeur pourra prendre une significationadaptée au contexte.

�������� �� ���·����Après l’ère des lampes, des tores de ferrites sont arrivés les transistors. De façon trèsvulgarisée, un transistor, c’est en fait un interrupteur à 3 pattes. L'une d'elles, appeléeémetteur est reliée au potentiel nul. Une autre, qui se nomme collecteur est reliée autravers d’une résistance (on verra pourquoi ensuite) au potentiel haut (+5V). Enfin, la petitedernière s’appelle base. Collecteur et base ont des comportements opposés. Mais lesréactions puériles de collecteur sont tellement prévisibles que base, avec toute sa finesseféminine, en joue et en fait, c’est elle qui commande tout !

Si base grimpe pour se mettre au même niveau que collecteur, ce dernier descend aussitôtrejoindre émetteur. Dès que base redescend pour rejoindre son copain émetteur au niveau0, aussi sec, collecteur remonte sur son piédestal.

Page 3: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.3

En fait, pour redevenir un peu plus sérieux, sila base dépasse un certain seuil de potentiel, letransistor est passant (disons que “l’interrupteur estfermé”) et collecteur et émetteur sont reliés (d’oùl’intérêt de la résistance, sinon PAF!) et donc lecollecteur est au potentiel 0. Si par contre, labase est en dessous de ce seuil, l’émetteur estisolé du collecteur qui a donc un potentiel haut.(“l’interrupteur est ouvert”)

+ 5V.

R

BaseCollecteur

Emetteur

Sortie

Entrée

En résumé, si d’une part, on considère base comme étant l’entrée de ce composant etcollecteur la sortie et, d’autre part, on associe au potentiel +5V la valeur vrai et aupotentiel nul, la valeur faux, on a obtenu l’opérateur NON puisque lorsque l’entrée estvraie la sortie est fausse et réciproquement.

Avec plusieurs transistors, on arrive à créer tous les opérateurs logiques.

� Amusez vous à concevoir un opérateur OU (3 éléments), un opérateur NI (2 éléments).

On parvient aussi à réaliser ce que l’on appelle des bascules. Les bascules sont descomposants ayant la propriété d’avoir deux états électriques (et donc logiques, comme on l’avu) stables.

Le circuit peut basculer d’un état dans l’autre grâce à une ou plusieurs entrées selon letype de bascule utilisé. Une sortie représente l’état du composant (vrai ou faux, 0 ou 1),une autre sortie représente son inverse. Ce circuit élémentaire dont l’état sera interprétépar 0 ou par 1, il y en a plusieurs dizaines de millions dans la mémoire des machinesactuelles. On les appelle des bits (contraction de binary digit).

Ces bits sont regroupés en cellules, toutes de la même taille. A l’heure actuelle, lesregroupements utilisés sont, dans la grande majorité des cas, de 8 bits. C’est pour celaqu’on leur donne le nom d’octets (bytes en anglais).

� ���������Puisqu'il y a plusieurs dizaines de millions de bits dans la mémoire, on a donc plusieursmillions d'octets. Dans cette multitude, comment stocker de l'information à un endroitprécis pour pouvoir ensuite la retrouver ? Comment être assuré que le fait de stockerune nouvelle information ne va pas altérer les informations résidentes que l'on entendconserver ?

Nous sommes en face du deal d'un bibliothécaire qui doit classer une quantitéimpressionnante d'ouvrages et retrouver chacun d'eux, rapidement, sur simpledemande d'un utilisateur.

Que fait-il ? Grâce à une technique de codage de matières, d'auteurs, de numérotationde rayons, d'étagères,… et d'ouvrages, il va ranger et extraire les bouquins dont il a lacharge.

Dans une ville donnée, grâce à une dénomination des rues et une numérotation decelles-ci, livreurs et facteurs opèrent de même. Ils ont besoin d'une adresse.

Chacun des octets d'une machine va donc être affecté d'une adresse qui va consister enune simple numérotation de 0 à N. Dans ces conditions on dira que la machine disposed'une capacité mémoire de N+1 octets. Le rangement ou l’extraction d’une informationen mémoire s'appuiera donc sur deux données : l'information elle-même et l'adresse où

Page 4: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.4 © Jacques Guizol

elle doit être rangée ou recherchée.

� Nous venons de décrire une technique d'accès à la mémoire, la plus simple qui soit. Il existe desformes plus complexes d'adressage que nous verrons ultérieurement. Par ailleurs, disposer d'uneadresse, c'est bien, encore faut-il savoir ce que l'on va en faire… En fait, c'est un dispositif desélection mémoire, qu'il serait mal venu de détailler à ce stade, qui sur réception de l'adresseautorise le transfert de l'information en entrée ou en sortie avec la cellule adressée et elle seule.

��� ���� �·�����Les octets, on l'a vu, contiennent 8 bits. Donc la quantité d'information qu'il peuventcontenir se limite à l'ensemble des combinaisons réalisables (256) sur ces 8 entités debase. Or cette limite peut s'avérer trop faible pour certains calculs.

On a donc regroupé ces octets eux-mêmes afin d'obtenir des objets pouvant recevoir uneplus grande quantité d'information.

Parmi ces regroupements, l'un d'eux a un statut particulier, c'est le mot mémoire (oumot-machine). Il correspond à une quantité d'information qui offre le meilleurcompromis sur le plan technologique et sur celui des besoins les plus courantsd'utilisation.

L'importance croissante des problèmes à traiter, confrontée à la recherche de vitessed'exécution toujours plus grande, entraînent une augmentation de la taille des mots-machine. Sur les machines les plus répandues, elle était hier de 16 bits (Intel 8088 et 8086,Motorola 68000), elle est aujourd'hui de 32 bits (Motorola 68020, 68030, 68040, R601, R602, R603, Intel486, Pentium), voire même de 64 bits(Mips R5000).

��� ������ �·������1.2.5.1. La mémoire auxiliaire ou virtuelle.

Bien que la miniaturisation autorise des capacités de plus en plus grandes des chipsmémoire, les logiciels se montrent chaque jour de plus en plus “spacivores”, si bien queles progrès technologiques des uns ne peuvent assouvir l’appétit grandissant des autres.Dans ces conditions on a recours à une mémoire qui ne coûte pas cher et qui existe enquantité souvent surabondante, les supports magnétiques. C’est la mémoire auxiliaireou virtuelle qui joue exactement le même rôle que la mémoire centrale à deuxdifférences près :

1) elle est beaucoup plus lente (de l’ordre de 104) ;2) la plus petite quantité d’information accessible n’est plus le mot, mais le bloc

(comme nous le verrons plus loin).De plus, il faut noter que ce bloc étant chargé en mémoire centrale, on n’évitera pasl’accès mémoire pour en extraire le mot que l’on désire atteindre.Le fonctionnement de la mémoire virtuelle est simple :

• le programme exécuté, découpé en tranches de saucisson, (techniques depagination ou de segmentation) est disposé dans son entier dans la mémoirevirtuelle;

• seules les tranches utilisées par l’exécution sont chargées en mémoire centrale;• lorsqu’elles ne sont plus utilisées, elles regagnent leur place (si elles ont été

modifiées par l’exécution) au profit d’autres.

� Pourquoi, dans les lignes qui précèdent, a-t-on rajouté « si elles ont été modifiées par l’exécution » ?Que ce passe-t-il sinon ? Est-ce normal que l’exécution modifie des pages ?

Page 5: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.5

1.2.5.2. La mémoire cache ou antémémoire.

On vient de voir que la mémoire virtuelle, nécessaire pour sa taille que l’on pourraitqualifier d’illimitée par rapport à la taille de la mémoire centrale, présente en contrepartie un inconvénient majeur : sa lenteur d’accès liée à l'électromécanique dupériphérique cible. On va donc essayer de “rattraper le coup” par un autre moyen.

Temps

Adresses

Taille duprogramme

Duréed'exécution

Le schéma ci-dessus représente le spectre d’un programme, c’est à dire les adressesutilisées à chaque instant t de la durée d’exécution. Que constate-t-on ? Une relativestabilité par portions de temps. En effet, le déroulement étant essentiellement séquentielet/ou itératif ¤ , à l’échelle de portions de mémoire de 2 ou 3000 octets, on constate quela portion sollicitée reste la même pendant des périodes longues en comparaison dutemps moyen d’exécution d’une instruction. C’est cette observation qui a conduit àimaginer le principe de la mémoire cache ou antémémoire.Cette mémoire supplémentaire de taille beaucoup plus modeste, mais d’accèsexcessivement plus rapide ¿ reçoit pêle-mêle des portions de programme ou des zonesde données qui définissent ce qui est appelé espace de travail (Working Set). Cet espace detravail est défini selon le principe que nous avons mis précédemment en évidence : lesportions utilisées à l’instant t ont une forte probabilité d’être utilisées à l’instant t+1. sontplus particulièrement utilisées (et donc accédées) dans les phases successivesd’exécution. En conséquence, on les place dans cette mémoire cache. Ainsi, l’unité decontrôle au lieu d’effectuer des accès à la mémoire centrale tire avantage de ce dispositifplus rapide. Le contenu de cette mémoire évoluera dans le temps en fonction desbesoins de l’exécution.0L�CLRCLB�N?PJCP�BC�K�KMGPC�]P?NNPMAF�C^�MS�]�JMGEL�C��$\CQR�OSMG�?S�HSQRC� Tout dépend de l’endroit où l’on se situe. Au niveau de la mémoire centrale (considéréealors comme rapprochée), la mémoire auxiliaire est “éloignée”, mais la mémoire centraledevient “éloignée” si l’on se situe au niveau des registres de la CPU (voir § 1.3.1).Au milieu de tout cela vient s’insérer la mémoire cache. Elle s’insère effectivement auxdeux endroits. On vient de parler de l’antémémoire qui peut être placée entre registreset mémoire centrale, mais entre mémoire centrale et mémoire auxiliaire, on peut aussiavoir un “cache disque”, simple mémoire faisant partie de l’électronique du disque,permettant de conserver les blocs précédemment lus ou d’anticiper des lectures ou

¤ Exécutant une instruction, il y a une forte probabilité pour que la prochaine se situe dans un périmètre

proche. De même, accédant à une donnée, la probabilité pour passer à à une donnée voisine est grande(utilisation de tables)

¿ Il s’agit d’une mémoire associative, c’est à dire, que l’accès s’opère non pas par adresse, mais parcomparaison simultanée des contenus.

Page 6: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.6 © Jacques Guizol

encore retarder des écritures afin d’économiser à la CPU les temps de positionnementdes têtes de lecture/écriture sur les pistes (voir § 1.6.2.)

1.2.5.3. La mémoire écran.La gestion des écrans est de plus en plus gourmande en place. Hier, modestementalphanumériques monochromes, ils sont aujourd’hui graphiques 16 millions de couleursavec une définition (densité linéaire de points) de plus en plus importante. Enconséquence, la gestion de l’écran monopolise de façon continue une large partie de lamémoire †. Parallèlement, pour des applications spécifiques à la CAO, la PAO et defaçon générale, le traitement d’images, il est de plus en plus courant de voir desprocesseurs spécialisés. Il est donc apparu naturel d’allouer à la gestion de l’écran unemémoire spécifique, appelée souvent dans les notes techniques VRAM (Vidéo RandomAccess Memory).

�����7PKVi�%GPVTCNG�GV�$WU

La mémoire est donc un organe passif. En fait, l'organe actif de l'ordinateur, celui quigère les échanges d'information, qui calcule, teste, décide, interrompt, c'est l'unitécentrale. L'unité centrale (UC) peut, conceptuellement, se diviser en deux partiesdistinctes : l'unité arithmétique et logique (UAL ou ALU/Arithmetic & Logical Unit)spécialisée dans les calculs, et l'unité de contrôle (CPU/Control Process Unit) dont le rôleconsiste à donner des ordres à tous les organes qu’elle dirige dans un seul et même but,celui défini par la sémantique d’un programme.

Ces ordres vont consister non seulement à faire effectuer des actions précises par l’UALpar exemple, ou un organe d’échanges quelconque, mais aussi et surtout à faire circulerde l’information. Cet aspect là sera donc abordé en priorité.

��� ���������On vient de voir le processus d'adressage. Pour autant qu'il soit efficace pour stocker etretrouver une grande quantité de données, il nécessite un temps non négligeable. Orl'unité centrale va devoir, en permanence, travailler sur un certain nombred'informations. L'accès continuel à ces données en mémoire centrale utiliserait donc untemps prohibitif eu égard aux performances recherchées. De plus, et pour ne prendreque cet exemple, les circuits chargés d'effectuer des opérations ne peuvent fonctionnerque sur des objets qui leur sont directement attachés (il n’est pas envisageable, pour des raisonsévidentes de coût et d'organisation, de doter chaque élément de la mémoire de tels circuits).

En conséquence, l'unité centrale va être dotée de registres. Chacun des registres est unecopie conforme d'un mot-mémoire : même capacité (nombre de bits) et mêmes fonctionna-lités (stabilité des informations contenues, lecture, écriture). La seule différence, c'est qu'au lieud'y accéder via le processus d'adressage coûteux en temps, ils sont directement atteints“ par un fil” qui est associé à chacun d'eux.

Il est trop tôt pour introduire ici les divers registres dont peut être pourvue une unitécentrale. On peut néanmoins en citer cinq :

• Le registre adresse (MAR/Memory Adress Register) qui reçoit les adresses mémoireauxquelles désire accéder l'unité centrale en cours de calcul ;

† Un écran 1024 x 1280 en 16,7 millions de couleurs (codage sur 24 bits) monopolise presque 4 Moctets.

Page 7: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.7

• Le registre mot ou registre donnée (MDR/Memory Data Register) qui reçoit lesinformations que l'unité centrale désire stocker ou extraire de la mémoirecentrale ;

• Le registre compteur ordinal (CO ou PC/Program Counter) qui à chaque instantcontient l'adresse de la prochaine instruction machine à exécuter ;

• Le registre instruction (RI ou IR/Instruction Register) qui contient l'instructionmachine en cours d'exécution ;

• Le registre accumulateur (Accu) sur lequel vont s'effectuer tous les calculs. Ilconstitue la seule entrée des circuits représentant les opérateurs unaires etl'une des deux entrées des circuits réalisant les opérations binaires.Par exemple si on doit évaluer ((3+6-2)*7-4)/5, l'accumulateur prendrasuccessivement les valeurs 3, 9, 7, 49, 45 et enfin 5. Les résultats des calculssuccessifs se sont accumulés dans ce registre.

��� ���On a vu que la tâche principale de l'unité de contrôle consistait à faire transiterl'information . On a présenté auparavant les points de départ et d'arrivée, registres etmémoire centrale. Qu'y a-t-il entre ?

Tout simplement et logiquement, un ensemble de “ fils” appelé bus (c’est le supportemprunté par le courant déterminé par les niveaux électriques de la source pour effectuer un trajet vers lacible). Un bus relie entre eux tous les registres appelés à coopérer. Le sens de l'échangeest induit par la désignation d'un registre source et d'un registre cible. Dans un premiertemps, l'unité de contrôle commande au registre source d'établir sur le bus les niveauxélectriques correspondant aux sorties de chacun des bits qui le composent. Dans undeuxième temps, l'unité de contrôle commande au registre cible de “ recopier” lesniveaux électriques du bus dans les bits qui le composent.

Le tour est joué !

Registre source

Registre cible

� L'idéal est de pouvoir disposer, comme dans la figure ci-dessus, d'un bus ayant autant de fils queles registres et donc les mots-mémoire ont de bits. Ainsi un transfert s'opère en une seule fois.Mais pour de sordides raisons d'économie, il peut advenir que le nombre de conducteurs du bussoit inférieur (la moitié, par exemple). Dans ce cas, un échange d'information nécessiteraplusieurs opérations pour être total. D'où une perte de temps.

Par exemple le processeur Intel 8088 gérait des registres de 16 bits alors que le bus nepouvait recevoir que 8 bits, De même le Motorola 68000 gérait des mots de 32 bits alorsque le bus était réduit à 16. Ce n'est qu'à partir du 68020 que Motorola a offert un “ vrai”32 bits.

Page 8: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.8 © Jacques Guizol

1 Attention ! de la même manière qu'un mot-mémoire ou un registre ne peut contenir qu'uneinformation (toute écriture efface l'information précédemment contenue), un bus ne peut véhiculer qu'uneinformation à la fois ! Un et un seul registre constitue la source du transfert. Dans le cascontraire on mettrait en contact, via le bus, les sorties de chacun des bits composant les deuxregistres… Ce n'est plus PAF ! (cf. 1.2.2) C'est un feu d'artifice !!

Toujours dans l'optique de la rapidité, on pourrait imaginer que l'unité de contrôlepuisse faire deux choses en même temps (tant qu'il s'agit de donner des ordres !… ) Par exemplepour une écriture en mémoire, gérer simultanément le transit de l'information elle mêmeet le transfert de l'adresse à laquelle elle doit être rangée.

Cela est totalement incompatible avec ce que l'on vient de dire… sauf si l'on considèrequ'il y a 2 bus distincts !

C'est effectivement le cas. Un bus servira à faire transiter des adresses, c'est le busadresses ; un autre sera utilisé pour le transfert des données, c'est le bus données.

� ����· ������·����� �� ������� ��� ���������� ������� ����L'unité arithmétique et logique, comme son nom l'indique, est véritablement l'organede calcul de la machine. C'est elle qui comporte les circuits chargés d'effectuer lesadditions, soustractions multiplications, divisions, comparaisons, etc. Parmi les registresqui lui sont dévolus, l'accumulateur que l'on vient de voir est le principal.

� L'unité arithmétique et logique est capable d'opérer un certain nombre d'opérations sur certainstypes de données. Cela a été prévu par le constructeur de la machine au moment de saconception, étape où entrent en ligne de compte divers facteurs dont le coût de revient parrapport au prix d'appel du marché. Dans ces conditions, certaines opérations, utilisées enparticulier en calcul scientifique, ne sont pas prévues dans la version de base. Elles sont simuléespar un programme et donc leur exécution est lente. Pour obtenir ces opérations sous forme“câblée”, on peut acheter chez le constructeur, le(s) circuit(s) qui les réalisent .

� ����· �� �����â�� ��� ������� ������� ����Dans ce domaine de la rapidité poussée à outrance (on parle de milliers d’instructions parseconde et donc de plusieurs dizaines de milliers d'actions élémentaires par seconde), dans cetenvironnement où se croisent, se combinent, se déplacent des milliers d'informations dedivers types, il faut une organisation parfaite, une synchronisation sans faille, uneprécision absolue, un pouvoir de décision quasi-instantané.

C'est à l'unité de contrôle qu'échoit cette lourde charge. En véritable chef d'orchestre elledirige en fait l'échange d’information, d'un registre à un autre, d'un registre à lamémoire centrale et inversement, de la mémoire centrale vers l'extérieur (organepériphérique) via un registre… ou pas (mais çà, c'est une autre histoire). Toutes ces actionsélémentaires sont induites d'une part, par le fonctionnement intrinsèque qu'elle se doitd'avoir : (nous détaillerons cet aspect plus bas) et, d'autre part, par le “ décorticage” ,l'interprétation et finalement l'exécution de ces instructions.

� En fait, c’est le leader idéal ! Elle ne fait aucune rétention d'information puisqu'au contraire sonboulot essentiel, c'est justement de la faire circuler, mais en plus elle délègue systématiquementles tâches aux organes qui ont la compétence de les traiter.Le plus souvent, connaissant très précisément la durée nécessaire à l'accomplissement de latâche confiée, elle sait qu'au bout du temps imparti, elle peut prendre en compte le résultat. C'estson aspect de fonctionnement dit synchrone.

Page 9: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.9

Si par contre la tâche confiée peut avoir une durée fluctuante (par exemple, les échanges avecl'extérieur), elle demande simplement à l'organe qui en a la responsabilité de la prévenir dès qu'ilaura fini. Sachant que tous ses collaborateurs ont un bon esprit d'entreprise et ne se permettentpas de faire de , tout fonctionne parfaitement. C'est son aspect de fonctionnement ditasynchrone.

�����.C�DQWENG�FGZiEWVKQP

Tous les acteurs sont à présent en place, le spectacle va pouvoir commencer ! On a ditplus haut que l'unité de contrôle ou, de façon plus exacte, la CPU, outre sa fonctiond’organisation du transit de l’information, assurait l’exécution des instructions.

Comment fait-elle ?

�� ������������ ���������Comme les saumons remontent les rivières, les éléphants rejoignent leur cimetière pourmourir ou les chiens attrapent des puces, l'unité de contrôle (CPU) a, inscrite dans sesgênes, la conduite suivante :

� Charger dans IR l'instruction stockée en mémoire à l'adresse indiquée par CO ;� CO ← CO + 1 (On se positionne sur la prochaine instruction) ;� Décodage de l'instruction contenue dans IR (Détermination du type de l'opération à

exécuter et de l'adresse de l'opérande éventuel) ;� Transfert des données éventuellement nécessaires de la mémoire vers les registres

concernés ;� Commande des actions nécessaires à l'exécution de l'instruction ;� Tout recommencer à partir de �.

Sur la figure ci-dessus, on assiste au 1er acte, la recherche de l’instruction machine enmémoire et son transfert vers le registre instruction via le registre mot…C'est la prise en compte de l’instruction.1 Attention, ne pas confondre ! Ce que l’on appelle ici instruction machine n'a rien à voir avec lesinstructions que vous allez utiliser dans un langage évolué style Pascal, C ou autre. En fait leniveau d'une instruction machine est beaucoup plus rudimentaire et se limite à une macro-action: chargement du contenu d'une adresse dans un registre, opération arithmétique, test, transfert deregistre à registre ou rangement d'une valeur à une adresse donnée.Une instruction de langage évolué va donc toujours correspondre à plusieurs instructionsmachine

Page 10: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.10 © Jacques Guizol

Au 2ème acte, le rideau se lève sur l'exécution proprement dite. L'opérande est lu àl'adresse indiquée par l'instruction, puis transféré vers l'ALU. Le décodeur ayantdéterminé l'opération codée dans l'instruction, ordre est donné de l'exécuter.

Une instruction, nous le verrons plus loin, va déclencher toute une série d’actions setraduisant par des transferts d'informations orchestrés par la CPU.

� Vous entendrez dire quelquefois par abus de langage : « Le programme s’arrête ». Que cela signifie-t-il pour la machine ?

Les schémas ci-dessus confirment bien ce que l’on a affirmé en 1.1.1 en ce qui concerne lemélange instructions/données : les deux sont atteintes grâce à un unique systèmed’adressage (bus adresses, registre adresse,… ) ; les deux transitent ensuite sur le même busdes données. Leur interprétation se fait en fait par leur destination (RI pour les instructions,un registre de l’ALU pour les données).

� L’analogie instructions données peut-elle aller plus loin ? Des instructions peuvent-elles constituerdes données ; des données peuvent-elles devenir instructions ?

L’unité de contrôle, dans son fonctionnement synchrone, sait tout ce qui se passe dans“ sa maison” (ou presque), mais elle ignore ce qui se passe à l’extérieur. Ou plutôt, cen’est pas sa préoccupation essentielle. Elle nous explique pourquoi :d.ML�HM@ �A\CQR�B\?JJCP�JC�NJSQ�TGRC�NMQQG@JC �?JMPQ�OS\~�J\CVR�PGCSP ��~�RP?�LC�7MSQ�TMSJCX�BCQ� CVCKNJCQ� �5CLCX���1CLB?LR�OSC� JC�BGQOSC�NMQGRGMLLC� Q?� R�RC� BCJCARSPC � H\?G� JC� RCKNQ� B\CV�ASRCP� OSCJOSCQ�KGJJGCPQ� B\GLQRPSARGMLQ��1MSP� GKNPGKCPSLC� QCSJC� JGELC � J\GKNPGK?LRC� AMLQMKKC� SL� RCKNQ� �OSGT?JCLR� ~� SLC� ACLR?GLC� BCKGJJGCPQ� B\GLQRPSARGMLQ�� +C� NP�D�PC� LC� N?Q� D?GPC� P�D�PCLAC� ~� J?� P?NGBGR�� BCJ\SRGJGQ?RCSP�OSG �JMPQOS\GJ�CQR�?S�KGCSV�BC�Q?�DMPKC �R?NC�QSP�QML�AJ?TGCP �BC�QCQEPMQ�BMGERQ�K?J?BPMGRQ�OS?RPC�RMSAFCQ�RMSRCQ�JCQ�QCAMLBCQ��+C�PGQOSCP?GQ�BC�JC�TCVCP�QGHC�JSG�?NNPCL?GQ�OSC�JC�RCKNQ�OS\GJ�?AF�TC�N�LG@JCKCLR�Q?�JGELC �H\?G�?JJ�EPCKCLRCV�ASR��OSCJOSCQ�ACLR?GLCQ�BC�KGJJGMLQ�B\GLQRPSARGMLQf

��� �������������On connaît à présent les raisons qui poussent la CPU à se donner toute entière à sa tâchesans trop s’intéresser à ce qui se passe dehors. Or, pour attirer l’attention de quelqu’unaffairé à une tâche, soit vous l’appelez, soit vous lui tapez sur l’épaule, bref, vousessayez de l’interrompre, de suspendre son occupation en cours.

C’est donc de cette façon que les organes extérieurs vont se manifester auprès de laCPU : ils vont déclencher une interruption.

Page 11: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.11

Sans rentrer dans les détails, disons simplement que le traitement d’une interruption vaavoir pour effet d’interrompre le travail en cours (la boucle d'exécution pour le compte d'untâche), de rechercher la cause de cette interruption, de la traiter, puis enfin de reprendrela tâche précédemment interrompue, à l’endroit exact où elle l’avait été et dans uncontexte identique.

Pour connaître la cause puis ensuite la traiter, la CPU va donc devoir exécuter desinstructions. Cela ne sera possible qu’à la fin de l’exécution de l’instruction en cours dela tâche active, après que registres, bus et circuits sollicités aient été libérés. En fait, c’està chaque fin d’exécution d’instruction, que la CPU va vérifier si une interruption estapparue.

Pour introduire cette notion d’interruption, nous avons fait référence aux unitéspériphériques d'échanges dont on abordera la présentation dans un prochain para-graphe. Mais il faut d’ores et déjà noter que les causes d’interruption sont multiples etvariées et ne se limitent pas à celles-là.

�����.C�OKETQ�OCEJKPG

�� �·����������Lorsqu'on a présenté le fonctionnement de la machine, et en particulier, la phase deprise en compte de l'instruction, on pensait être arrivé au fin du fin, se situer vraimentau ras des pâquerettes. Il n'en est rien ! En fait, le code opération (opcode) contenu dansle registre instruction va être analysé par un circuit décodeur qui possède autant desorties que la machine compte d'instructions dans son répertoire. Après décodage, si uncode instruction est bien reconnu, une sortie du décodeur et une seule devient active.

� Pourquoi vient-on de dire un code opération est bien reconnu ? Pourrait-il en être autrement ? Dansquel cas de figure ? Quel serait alors le comportement de la CPU ?

La sortie active représentative de l'instruction à exécuter va déclencher un organe encoreplus intime… le séquenceur.

C'est un automate qui va donc décrire en séquence les opérations élémentaires (là, on aatteint l'infiniment petit) dont le résultat aura pour conséquence l'exécution de l'instruction.Ce séquenceur peut prendre deux formes. Il peut être câblé par un circuit séquentieldont chaque sous-circuit, correspondant à une instruction, est activé par un signalprovenant du décodeur. Il peut aussi, selon une idée de Maurice Wilkes (1951), êtremicroprogrammé. Chaque instruction machine est donc exécutée au travers d'une sériede micro-instructions constituées d’une suite de bits en nombre suffisant pourreprésenter tous les signaux de commande dont dispose la CPU. Ces microprogrammesaccédés seulement en lecture seront stockés dans une mémoire de type ROM (Read OnlyMemory) ou PROM (Programmable ROM) à accès très rapide.

Voici un exemple de microinstruction :

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

Dans cette suite de bits, chacun d'eux correspond à une commande bien précise del'unité de contrôle : transférer tel registre sur tel bus, ouvrir l'entrée de tel autre registreconnecté sur ce bus, exécuter telle opération, etc. Chaque bit positionné à 1 provoquel'exécution de la commande dont il est le représentant, les bits restant à 0 ne provoquantaucune action.

Page 12: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.12 © Jacques Guizol

Cette forme de langage constitue donc une interprétation du langage machine.L'interprète est appelé microprogramme ou micromachine.

� Si le langage machine s'appelle ainsi, c'est parce que à l'age de pierre, c'était effectivement leniveau le plus bas. Le code déclenchait donc directement les commandes. Les machines évoluant,la CPU est devenue de plus en plus sophistiquée et, conséquence directe, le code atteignait unetaille rédhibitoire. L'introduction du concept de micromachine a donc permis de compacter lecode opératoire. Tant et si bien qu'on on a assisté a une véritable inflation du répertoire desinstructions machine, chacune a reçu un mnémonique pour en arriver enfin à transformer lelangage machine en un véritable langage de programmation de bas niveau : l'assembleur.

Par exemple la traduction de i=i+j pourrait être :

LDA i (Chargement du registre accumulateur avec le contenu de l’adresse correspondant à i)

ADD j (Addition du contenu de l’accumulateur avec le contenu de l’adresse correspondant à j)

STA i (Rangement du résultat contenu dans l’accumulateur dans l’adresse correspondant à i)

La complexité de la micromachine est fonction du répertoire d'instructions de lamachine. Après l'époque inflationniste signalée précédemment, on s'est aperçu qu'untrès fort pourcentage de ces instructions n'étaient pas utilisées, ni par les programmeurs(d'autant qu'ils sont rares à utiliser l'assembleur de façon intensive), ni par les générateurs de code(les compilateurs que nous verrons plus loin). Afin de réduire la complexité de la micromachineet donc d'accroître les performances, on a alors eu l'idée de réduire le répertoire desinstructions à un sous-ensemble effectivement utile.

On venait d'inventer les machines RISC (Reduced Instruction Set Computer) dont lesperformances se sont révélées particulièrement "éloquentes" (facteur supérieur à 20).

��� ������ �¢��� � ���������On a vu que l’unité de contrôle d’une machine peut, à partir d’une adresse chargée dansle registre adresse, commander la lecture de son contenu ou son écriture. Ce typed’adressage dit simple s’est rapidement avéré insuffisant d’une part, pour les diversesutilisations que l’on faisait de la mémoire et, d’autre part, pour contourner les limites decapacité d’adressage induites par le nombre de bits sur lequel sont codées les adresses.C’est ainsi que chaque machine dispose d’un répertoire de modes d’adressage plus oumoins étendu, visant à satisfaire les besoins des utilisateurs les plus perfides. Il est alorsévident que c’est bien la micromachine qui, en fonction du mode d’adressage choisi (codédans l’instruction), va adopter le comportement (séquence de commandes) qui lui est adapté,pour la recherche de l’information nécessaire.

1.5.2.1. Adressage implicite.

L’adressage est dit implicite si l’opérande n’est pas constitué d’une adresse, mais d’uncode représentant un ou plusieurs registres. En effet le nombre de registres étantrelativement faible sur une machine, le nombre de bits réservé à l’opérande est suffisantpour pouvoir les distinguer. On peut avoir des instructions ayant la même fonction surplusieurs registres (sauvegarde par empilement ou restitution par dépilement) ou des instructionsportant sur seulement deux registres dont l’un est accédé le plus souvent seulement enlecture (registre source), l’autre en lecture/écriture (registre destination).On trouve dans cette deuxième catégorie les instructions de :

• transfert de registre à registre (RD ← RS) ;• échange de registres (RD ← RS et RS ← RD);• addition/soustraction de registres (RD ← RS ± RD) ;• négation d’un registre (RD ← -RS) ;

Page 13: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.13

• intersection entre registres (RD ← RS ∩ RD) ;• union entre registres (RD ← RS ∪ RD) ;• disjonction entre registres (RD ← RS ⊕ RD) ;• complémentation d’un registre (RD ← RS ) ;• ...................

1.5.2.2. Adressage immédiat.

Là encore, il ne s’agit pas d’un adressage au sens de l’accès à la mémoire puisquel’opérande lui-même apparaît dans l’instruction et qu’il n’y a donc pas lieu d’aller lerechercher en mémoire. Ces instructions à adressage immédiat sont utilisées pour desinitialisations ou des masques particuliers et ont un temps d’exécution très bref.

On peut citer par exemple :

• les chargement immédiats des registres principaux ;• Les additions immédiates à un registre ;• Les opérations immédiates avec l’accumulateur (intersection, union, disjonc-

tion/comparaison,… ) ;

1.5.2.3. Adressage absolu.

Nous avons tout à l’heure parlé d’adressage simple (ou direct) en le définissant parl’accès (en lecture ou en écriture) à un emplacement mémoire désigné par l’adresse contenudans le registre adresse. Cet adressage simple peut avoir deux origines selon quel’adresse chargée dans le registre adresse est identique à l’opérande de l’instruction -ils’agit alors d’un adressage absolu- ou qu’elle a été préalablement modifiée comme nousle verrons ensuite pour l’adressage relatif.

On peut donc définir l’adressage absolu par celui où l’adresse réelle physique esteffectivement contenue dans l’opérande de l’instruction.0 Ces instructions sont particulièrement dangereuses et donc particulièrement contrôlées en coursd’exécution car avec cette arme démoniaque, n’ importe qui peut faire n’ importe quoi, n’ importeoù… et en particulier dans l’ espace mémoire sensible, celui réservé au système d’ exploitation !

1.5.2.4. Adressage relatif.

Une adresse relative n’indique pas l’emplacement effectif auquel on désire accéder,mais se situe en fait par rapport à une adresse de référence qui est contenue dans unregistre.

Celui-ci peut être soit le Compteur Ordinal, soit unregistre dit de base, notion sur laquelle nousreviendrons dans le chapitre traitant de la compilation.

Toujours est-il qu’en définitive, on peut considérer uneadresse relative comme un déplacement (négatif oupositif) par rapport à la référence. Ainsi, même si lenombre de bits réservé à l’opérande est faible, enfaisant varier l’adresse de référence, l’amplituded’adressage n’est plus liée par cette contrainte. Achaque instant l’adresse peut se situer dans unefenêtre centrée sur l’adresse de référence qui elle-même peut varier pour “ balayer” un large espacemémoire.

Au moment de l’accès, le registre adresse sera chargéavec la somme de l’opérande et du registre deréférence.

Page 14: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.14 © Jacques Guizol

� Puisque le registre de référence peut varier en permanence, en particulier le système ne va pas segéner pour le faire. Lorsqu’ il s’ agit du Compteur Ordinal, cela signifie, entre autre, que leprogramme peut non seulement être placé n’ importe où en mémoire mais de plus être déplacépendant son exécution. On dit que le programme est relogeable ou translatable.

En définitive, on peut schématiser un adressage direct par le dessin suivant où l’onnotera la distinction entre adressage absolu et adressage relatif.

1.5.2.5. Adressage indirect.

La caractéristique de l’adressage direct (qu’il soit absolu ou relatif) est d’opérer un accèsmémoire et un seul sur la base du registre adresse lui seul. Ainsi l’adresse finale que l’ondésire atteindre (en lecture ou en écriture) est contenue dans le registre adresse.

L’adressage indirect s’effectue en deux étapes. Le premier accès a la particularité detoujours s’effectuer en lecture. L’information ainsi récupérée à l’adresse contenue dansle registre adresse est en fait l’adresse effective de l’information que l’on désireatteindre. Elle est donc “ injectée” dans le registre adresse. On est alors revenu, pour ladeuxième étape, au cas d’un adressage direct.

2SCJ�GLR�P�R �NSGQOSC�ML�?�TS�OS\?TCA�SL�?BPCQQ?EC�PCJ?RGD�ML�NMST?GR�@?J?WCP�SLCQN?AC�LML�JGKGR�� Il y en a de nombreux :

• la référence étant positionnée, il se peut que l’on veuille accéder en dehors dela “ fenêtre autorisée” ;

• on ne peut pas imaginer de faire varier le registre de référence (par exemple leCompteur Ordinal) au gré des nécessités d’adressage ;

Page 15: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.15

• les données peuvent occuper une place importante (tables multiples) ; la seulepossibilité de pouvoir y accéder est d’avoir une adresse relais dans la “ fenêtreautorisée” d’où l’indirection.

1.5.2.6. Adressage indexé.

Cet adressage est utilisé en particulier pour accéder aux éléments d’une table indexée. SiD est l’adresse de la table, c’est à dire de l’élément 0, si chaque élément a une taille de τoctets, l’élément suivant se trouvera à l’adresse D+τ, le ième en D+i × τ, etc. Pour réaliserun tel adressage, on va utiliser un registre index qui contiendra en fait la valeur i.

Associées à ce type d’adressage, les instructions d’auto-incrémentation ou d’auto-décrémentation du registre index permettent les traitements itératifs.

Bien que cette méthode puisse être utilisée seule, elle est souvent associée à l’adressageindirect pour l’accès aux éléments d’une table : l’indirection permet d’accéder au débuteffectif de la table, via une adresse relais, puis l’indexation aboutit à l’élément recherché.

� Dans l’ association indirection/indexation dont on vient de parler, l’ indirection intervient avantl’ indexation. Il s’ agit de l’adressage indirect post-indexé. Mais on peut utiliser l’adressageindirect pré-indexé qui procède dans l’ ordre inverse. Il s’ agit d’une méthode d’aiguillage.

Ces modes d’adressage que nous venons de voir sont les plus répandus. Il fautnéanmoins savoir qu’il existe d’autres techniques que nous ne détaillerons pas ici.

�����.GU�RiTKRJiTKSWGU

Pour pouvoir dialoguer avec “ son” utilisateur, stocker des masses de données, atteindredes informations éloignées, etc., la machine va donc devoir opérer des échanges entre samémoire centrale et divers types de périphériques. On distingue deux catégoriesprincipales : les périphériques caractère et les périphériques bloc.

��� �·����·������ ������¸��Ce sont ceux qui fonctionnent par flots de caractères sans qu’une quelconque structuresoit imposée. Parmi ceux-ci on distingue tout d’abord les périphériques interactifs, ceuxqui sont les plus proches de l’utilisateur. Il s’agit du clavier, de l’écran et de la souris.

1.6.1.1. Le clavier

Le clavier à pour fonction de faire correspondre à une touche (système électromécanique) uncode particulier (par exemple, le code ASCII : American Standard Code for Information Interchange)

Page 16: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.16 © Jacques Guizol

qui est transmis vers la machine.

10110101

1

Code s ur8 bi t s

S i gnal t ouche appuyée

Code as s oci éà une t ouche

T ouche

Codeu r

La pression sur une touche ferme un circuitqui permet d’établir le code correspondantainsi qu’un signal (keypress).

Si le clavier est directement relié à lamachine (cas des micro-ordinateurs), le codeest émis par une interface parallèle. LaCPU recevant un code affiche le caractèrecorrespondant à l’écran.

Si par contre, clavier et machine sontéloignés, ils sont reliés par une liaisonsérie. Un écho automatique (liaison RS232C)permet d’envoyer simultanément le codevers la CPU et vers l’écran pour affichage.

1.6.1.2. La souris

A l’age du bronze il y avait les "paddles" ou "joysticks", mais c’est APPLE qui avec, toutd’abord, le LISA* puis le MacIntosh a introduit dans le monde informatique lepériphérique qui supporte aujourd’hui, la plupart des échanges utilisateur/ ordinateur :la souris qui permet de déplacer une marque sur l’écran et de cliquer à l’endroit où setrouve la marque (déplacements, et lieu de clic étant gérés par le système).

La souris qui comporte un, deux ou trois boutons peut fonctionner selon deux modes :soit par l’intermédiaire d’une boule entraînant deux roues (horizontale et verticale)permettant de quantifier les déplacements relatifs de la souris (micros Apple, PC, Silicon… ),soit par un rayon lumineux et une tablette recouverte d’un fin quadrillage sur lequel ondéplace la souris (stations Sun, HP,… ). Le cousin de la souris, le trackball est apparu plusrécemment sur les portables, très rapidement remplacé par les pavés sensitifs.

1.6.1.3. L'écran

Après ces deux organes d’entrée, voyons l’organe de sortie indispensable : l’écran.

AnodeCathode

Filament(Chauffage

de la cathode)

Focalisat ion

Accélérat ionDéflexionver t icale

Déflex ionhor iz ontale

Couche dephosphore

* Sorti dans le début des années 80

Page 17: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.17

Une résistance porte à incandescence la cathode qui émet des électrons. Ceux-ci sontfocalisés puis accélérés avant d’être déviés pour atteindre un point précis de l’écran. Lephosphore excité devient alors luminescent en ce point. Pour avoir une image stable ceprocessus doit être répété fréquemment. C’est la fréquence de balayage (50 à 80 Hz). Unsystème de balayage est dit entrelacé lorsque le rafraîchissement se déroule en deuxtemps : lignes paires puis lignes impaires.

Chaque point de l’écran : pixel (picture element) est défini par l’intersection d’une ligneet d’une colonne. Pour une taille d’écran donnée, plus il y a de lignes et de colonnes,plus le pixel est fin et donc l’image nette ; cette définition est traduite par le pitch.. C’estle rapport du nombre de pixels par unité de longueur. Sur les écrans monochromes, unpixel est actif (allumé) ou pas. Un bit suffit pour représenter son état. Les images affichéessont donc binaires, ce sont des images bitmap. Sur les écrans à niveaux de gris, lecodage est plus complexe et nécessite donc un plus grand nombre de bits. On a desimages pixmap. Enfin, pour les images couleurs, le principe est le même, si ce n’est qu’ils’applique à trois couches différentes correspondant aux couleurs primaires (rouge, vert,bleu).

� Combien de niveaux de gris peut-on avoir sur un écran couleur 24 bits ?

Après ces trois périphériques “ rapprochés” , un autre revêt une grande importance pourobtenir une sortie durable déchiffrable par l’utilisateur : l’imprimante. Plus coûteux queles précédents et d’une utilisation plus épisodique, il est souvent partagé par plusieursutilisateurs d’un même site.

L’évolution de ce périphérique a été très sensible depuis ses débuts, à la fois sur le plande la technologie et sur celui de la qualité. Il y a une vingtaine d’années, une imprimantecoûtait 300 à 500 Kf, pesait plusieurs centaines de kilos, consommait quelques 14 Kw/hpour un débit de 600 lignes/mn d’une qualité médiocre induite par la mécanique dontelle dépendait. Aujourd’hui à partir de 10 à 15 Kf on peut avoir une imprimante couleurpartageable, d’une définition de 600 points par pouce pesant moins de 10 kilos etconsommant moins de 300 watts/h. Dans cette catégorie à haute qualité d’impression,on trouve les imprimantes thermiques (transfert ou sublimation), à jet d’encre etprincipalement à laser.

Qualité et rapidité ne sont toutefois pas encore totalement compatibles. Pour les sortiesde gros débits on préfère encore les imprimantes à impacts constituées d’une têted’impression comportant soit une colonne, soit, pour plus de rapidité, une matriced’aiguilles, chacune étant actionnée par un électroaimant. La tête se déplace sur un railet l’impression est dite optimisée lorsque elle s’effectue dans les deux sens et pour ledéplacement strictement nécessaire.

D’autres périphériques de plus en plus employés aujourd’hui, mais qui demeurentencore marginaux : le traceur (plotter) et le digitaliseur (scanner).

Enfin, pour en terminer de cette catégorie de terminaux, citons en un, particulier, certes,mais dont l’utilisation est de plus en plus importante aujourd’hui : l’accès à un réseau..

1.6.1.4. Les réseaux

Là encore, on ne va pas entrer dans le détail, mais en se plaçant dans la situation d’unpossesseur de micro, on va rapidement vulgariser les quelques formes d’échanges qu’ilpeut envisager dans ce cadre.

Voyons tout d’abord l’utilisation d’un réseau préexistant avec le modem.. Si l’on veutéchanger des informations digitales au travers d’un média analogique (ligne PTT, par

Page 18: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.18 © Jacques Guizol

exemple), il faut tout d’abord transformer cette information. On va avoir recours à unemodulation.

Il y a plusieurs types de modulation, la modulation d'amplitude (AM), la modulation dephase (PM) et la modulation de fréquence (FM).

0 1 0 1 1 0Données

Porteuse

Modulationd'amplitude

Modulationde fréquence

Modulationde phase

Le réseau téléphonique utilisant des câbles en paires torsadées et non du câble coaxial(blindé), il est sensible aux "bruits". C'est la raison pour laquelle la modulation defréquence est préférée aux autres car elle offre une plus grande robustesse sur ce plan.

Ces transformations (modulation) sont effectuées dans l’émetteur. Les transformationsinverses (démodulation) sont faites dans le récepteur. Les échanges étant le plus souventbidirectionnels, émetteur et récepteur sont regroupés dans le même appareil (modem). Untel appareil est installé à chaque extrémité de la ligne de transmission.

� Le terme modem (MODulateur-DEModulateur) passe sous silence la fonction codage-décodagedu signal digital et celle d’ interfaçage.

L'avantage d'avoir recours à ce type de transport réside dans le fait que vous n'avez rienà installer, rien à gérer (installation et gestion d'un réseau sont des charges très lourdes). Par contreil y a trois inconvénients principaux : le coût, la lenteur (ces deux caractéristiques étant liées) etla fiabilité.

Une ligne téléphonique a une bande passante de 3100 Hz (entre 300 et 3400 Hz), ce qui estdéjà insuffisant (mais acceptable) pour transmettre les signaux vocaux. Ce cadre imposéinduit une limite dans la vitesse de transmission dont le standard se situe à l'heureactuelle à 28800 bits par seconde.

Si vous voulez envoyer un modeste fichier de 4 Moctets, cela prendra 19 minutes. Sivotre correspondant est au Japon, il vous en coûtera plus de 200 F !

� A titre de comparaison, on peut noter qu'un câble coaxial a une bande passante de 500 Mega Hzet une fibre optique, de 3,3 Giga Hz

Voyons à présent un réseau spécialisé de faible distance, un réseau local. C’est celui quiva nous permettre de faire passer un programme à un copain qui est dans le bureau àcôté, la liste des notes au service de la scolarité dans le bâtiment d’en face, sortir unarticle sur l’imprimante qui est dans le couloir… Un standard en la matière a été proposéen 80 par Xerox en association avec Digital et Intel : Ethernet. Il est composé d’un câble

Page 19: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.19

unique allant d’une machine à la suivante. A l'inverse de ce que l'on vient de voir, sonfonctionnement est digital. Son débit est de 10Mbps (10 millions de bits par seconde). Salongueur maxi est de 500 mètres, mais peut être rallongée par adjonction de répéteurs.Néanmoins, une solution préférable consiste à avoir des réseaux de longueur limités etdes passerelles (fibre optique) entre eux.

� Dans une réunion où beaucoup de personnes veulent prendre la parole, il est inconcevable, pourpouvoir comprendre ce qui se dit, que plusieurs parlent en même temps. Pourtant chacun peuts’exprimer à chaque instant. En personnes bien civilisées, quel protocole adoptent-elles?Vous avez trouvé ?Alors vous avez aussi trouvé le protocole CSMA/CD (Carrier Sense Multiple Acces with CollisionDetection)

C’est ainsi que départements ou équipes de recherche, associations diverses, clubssportifs, villes, régions, entités administratives, organismes privés,… tous ont développédes réseaux locaux. Les spécificités de chacun étaient souvent incompatibles entre elleset pourtant le grand dessein de fusionner tous ces serveurs potentiels en unegigantesque base d’information a permis de surmonter ces difficultés. Un modèle a étéconçu, incluant plusieurs protocoles parmi lesquels les deux plus connus sont TCP(Transmission Control Protocol) assurant le transport et IP (Internet Protocol) assurant leroutage, auxquels il convient d’ajouter ARP (Adress Resolution Protocol). Autour de cesprotocoles se sont rapidement développées plusieurs applications qui ont concouru àamorcer les habitudes d’échanges à longue distance : SMTP (Simple Mail Transfer Protocol)pour le “ courrier électronique” , FTP (File Transfert Protocol) pour le transfert de documents.

Le réseau mondial prenait place. C'est un réseau maillé, c'est à dire que chaque noeud(site) est relié physiquement à plusieurs autres. Ces interconnexions se recouvrant dansde larges proportions, le chemin reliant un noeud à l'autre n'est pas unique, il s'en faut.Cela est avantageux et largement mis à profit par les routeurs en cas de panne de l'undes noeuds ou de surcharge d'une liaison.$\CQR�?GLQG�OSC�NMSP�?RRCGLBPC�"LLG�PCQ�BCNSGQ�.CSBML �GJ�NCSR��RPC�QMSF?GR?@JC�BCN?QQCP�N?P�/CU�:MPI�Chaque utilisateur de chaque site a reçu une adresse unique au monde. Ainsi, grâce àARP, n’importe qui peut entrer en relation avec n’importe qui, que celui-ci soit dans lebureau à côté ou à des milliers de kilomètres. Pour un échange avec le bureau d’à côté,pas de problème puisqu’il y a de fortes chances qu’il s’opère sur le même réseau local.Par contre, pour échanger à des milliers de kilomètres, il va falloir établir un dialogueentre deux réseaux locaux (ceux de chaque extrémité) au travers de dizaines d’autres quivont assurer la liaison. C’est là que nos deux compères interviennent : tout d’abord IPqui détermine quelle voie, quelle route va emprunter l’information à transmettre et TCPqui va en assurer le transfert.

Pour compléter la panoplie, sont venus se rajouter divers outils adaptés, soit à lapublication d’information, soit à sa recherche :

• langages offrant la possibilité de formater des textes en incluant des relais versd’autres adresses (HTML) ;

• crawlers, applications déterminant votre pôle de recherche sous forme demot(s) clé(s) de votre choix et appliquant une stratégie propre et assezsimpliste (recherche d’occurrence) afin de vous retourner sous forme de listeHTML tous les documents trouvés “ répondant” à votre demande (Yahoo, AltaVista, Lycos, Magellan, Infoseek, etc.).

Page 20: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Page 1.20 © Jacques Guizol

• Metacrawlers, les plus futés : ils reçoivent votre demande, se contentent de la“ refiler” , sans aucune modification, à tous les crawlers, récupèrent toutes lesadresses trouvées par chacun d’eux, éliminent les doublons et vous offrent lerésultat final.

Et c’est ainsi que si vous cherchez le score de la demie finale de handball entre la Franceet l’Islande aux jeux olympiques de Barcelone, si vous désirez vous promener dans lessalles du Louvre, admirer les oeuvres d’Escher au musée de La Haye, consulter lesprévisions de Météo France, vous repaître des révélations de Her Gubler ou des dernierspotins du Festival de Cannes, vous vous enfoncez dans les profondeurs illimitées duCyberSpace. De votre bureau, d’un simple click, vous voilà à San Francisco, puis àTokyo, un détour par Jérusalem et vous arrivez à Melbourne. Le monde au bout devotre doigt !…

��� �·����·������ ����Un périphérique bloc mémorise les informations dans des blocs de taille fixe, chaquebloc ayant une adresse physique propre. Le bloc est donc la plus petite unité échangeable.Etant accessibles indépendamment, un programme peut à tout moment lire ou écriren’importe quel bloc. Le périphérique le plus courant représentant de cette classe est ledisque magnétique.

1 0 1 0 0 0 1 0 1 1 1

Bobine de lecture et d’écr iture

Entrefer

Couche magnétique

Support

Sens de l'aimantat ion

Un support magnétique est constitué d'un matériau souple (disquettes/floppy disk) ourigide (disque "dur"/hard disk) recouvert d'une fine couche (0,2 à 4 µm) magnétiqueparfaitement plane. L'information binaire y est codée sous forme d'un sens d'aiman-tation. Lors d'une écriture, selon la valeur du bit à déposer, la bobine est parcourue parun courant très faible dans un sens ou dans l'autre. Cela produit au niveau de l'entreferun champ magnétique dont le sens des lignes de forces va se transcrire sur la coucheréceptive. Pour la lecture, c'est le phénomène inverse qui se passe, l'orientationmagnétique sur le support va provoquer un courant induit dont le sens déterminera lavaleur du bit.

D'un point de vue technologique, deux problèmes apparaissent : le degré de minia-turisation de la tête de lecture et le seuil de rapprochement de deux cellules. Commepour votre magnétophone la qualité dépend de la couche magnétique ; de son épaisseuret de sa qualité intrinsèque. Selon que vous utilisez des cassettes au fer (Fe), au Chrome(Cr) ou autre, la sensibilité sera plus ou moins grande et donc le champ au niveau del'entrefer nécessitera un courant plus ou moins faible et au bout du compte, les cellulespourront être plus ou moins rapprochées (sans que le champ magnétique se répercute sur les

Page 21: 1. Architecture des ordinateurs - dil.univ-mrs.frguizol/Polys/DEUGPoly1.pdf · Architecture des ordinateurs 1.1. Avant-Propos 1.2. Mémoire, Cellules et Mots. 1.3. Unité Centrale

Architecture des ordinateurs Page 1.21

cellules avoisinantes). On obtient alors la densité du support mesurée en bpi (bits per inch) :nombre de cellules sur une longueur de un pouce (2,54 cm). On atteint aujourd'hui desdensités de l'ordre de 15 à 20 mille bpi.

Pour atteindre de telles densités, le champ magnétique doit être très faible et donc la têtede lecture doit se situer très près de la couche aimantée (moins de 0,5µm). C’est dire si lasurface doit être parfaitement propre (surtout quand on sait qu'une empreinte fait 5µm, unepoussière, 20 à 30 µm, un cheveu, 50 à 100 µm). C’est la raison pour laquelle les disques durssont fermés hermétiquement… et les disquettes si peu fiables !"S�B�@SR� BS� N?P?EP?NFC � TMSQ�LMSQ� ?TCX� N?PJ�� BC� @JMAQ��0S� QMLR�GJQ� B?LQ� RMSR�~� J'y viens ! pour pouvoir fonctionner, un disque magnétique doit être structuréphysiquement. C'est l'opération de formatage qui effectue ces subdivisions.

Le formatage consiste à subdiviser le disque en pistes concentriques et chacune de cespistes en secteurs (ou blocs). L'ensemble des pistes de même rayon constitue uncylindre . Ainsi tous les secteurs appartenant à toutes les pistes d'un même cylindrepeuvent être lus sans déplacement des têtes.

Secteur

Pis te

Tête delecture/écriture

Déplacementlongitudinal

du bras

Pour accéder à une information on doit donc spécifier l'unité de disque, le cylindre, lasurface (cylindre + surface = piste) et enfin le secteur auquel elle appartient. De plus, ilconviendra de préciser la quantité d'informations à transférer et l'adresse en mémoirecentrale où elle sera stockée.

Nous verrons, lorsque nous étudierons les fichiers, le rapport qui existe entre l’orga-nisation logique du système de gestion des fichiers et l’organisation physique du disquetelle que nous venons de la décrire.

La distinction des périphériques en deux classes, comme nous l’avons faite, est satis-faisante dans la majorité des cas. Il existe toutefois des éléments de la machine quipeuvent être considérés comme périphériques, car ils n’appartiennent pas à la CPU,mais qui n’opèrent aucun échange d’information. C’est le cas, par exemple, de l’horlogeinterne. Sa principale fonction consiste à assurer la synchronisation du fonctionnementinterne de la machine. Mais ses autres utilisations sont multiples, en particulier autravers de registres décompteurs. Le fonctionnement de ces registres consiste àdécrémenter leur contenu à chaque pulsation d’horloge (la valeur contenue ayant été initialiséeau préalable). Lorsque la valeur zéro est atteinte, cela déclenche une action particulière setraduisant éventuellement par une interruption.