LA STRUCTURE DE BASE DES ORDINATEURS

 

 

L'objectif de ce chapitre est de présenter quelques concepts fondamentaux et leur terminologie. Nous ne donnerons qu'un large aperçu des caractéristiques fondamentales des ordinateurs, en laissant l'étude plus détaillée et plus précise pour les chapitres concernés.

Donnons, tout d'abord, une définition du terme " calculateur numérique " ou plus simplement " ordinateur ", qui est souvent mal interprété, malgré le fait que la plupart des gens le considèrent comme acquis. Dans sa forme la plus simple, un ordinateur contemporain est une machine à calculer électronique rapide, qui accepte des entrées numériques, les traite en fonction d'un programme rangé dans sa mémoire, et produit les informations de sortie qui en résultent.

 

1.1. UNITÉS FONCTIONNELLES

Au mot ordinateur correspond une grande variété de machines, très différentes en taille, vitesse et coût. On utilise habituellement des termes plus spécifiques pour représenter certaines sous-classes d'ordinateurs. Les machines les plus petites sont généralement appelées miniordinateurs, ceci en rapport avec leur coût, taille et puissance de calcul relativement faibles. Au début des années 1970, le terme microordinateur fut inventé pour décrire un très petit ordinateur, de faible coût, et se composant uniquement de quelques boîtiers à très haute densité d'intégration (VLSI).

Les gros ordinateurs sont très différents des miniordinateurs et des microordinateurs, en taille, puissance de calcul, coût, ainsi qu'en complexité et sophistication de conception. Cependant les concepts de base sont pratiquement les mêmes pour toutes les classes d'ordinateurs, dépendant de quelques idées bien définies que nous allons tenter d'expliquer.

Sous sa forme la plus simple, un ordinateur est composé de cinq grandes parties indépendantes : les unités d'entrée, de mémoire, arithmétique et logique, de sortie et de contrôle, comme indiqué dans la figure 1.1. L'unité d'entrée reçoit l'information codée à partir d'opérateurs humains, de dispositifs électromécaniques, ou d'autres ordinateurs lui étant connectés par l'intermédiaire de lignes de communication numériques. L'information est soit rangée dans la mémoire pour y être accédée ensuite, soit immédiatement traitée par les circuits arithmétiques et logiques qui effectuent les opérations désirées. Les étapes du traitement sont déterminées par un programme résidant dans la mémoire. Finalement, les résultats sont retournés au monde extérieur par l'intermédiaire de l'unité de sortie. Toutes ces actions sont coordonnées par l'unité de contrôle. Le schéma de la figure 1.1. ne présente pas les connexions entre les différentes unités fonctionnelles. Bien sûr, de telles connexions doivent exister. Cependant, il existe un grand nombre de manières pour réaliser ces connexions elles seront étudiées en plusieurs endroits du livre. Bien que nous fassions généralement référence à un seul ordinateur dans la présentation des principes de base, de nombreux systèmes informatiques modernes nécessitent plusieurs ordinateurs interconnectés par l'intermédiaire d'un réseau de communication. Le terme de système informatique distnbué est souvent utilisé pour définir un tel environnement.

Figure 1.1 : Unités fonctionnelles de base d’un ordinateur

Il est d’usage de désigner les circuits arithmétiques et logiques ainsi que les circuits de contrôle principaux sous le terme d’unité centrale (UC), ou simplement de processeur. Le mot central est employé afin d’indiquer que la plus grande partie des fonctions de contrôle d’un ordinateur donné sont centralisées dans une seule unité. Les systèmes modernes contiennent souvent plusieurs processeurs, chacun d’eux ayant une fonction déterminée à assurer. Les équipements d’entrée-sortie sont souvent regroupés sous le terme d’unité d’entrée-sortie (E/S). Ceci semble raisonnable du fait que certains équipements standards réalisent les fonctions d’entrée et de sortie. L’exemple le plus simple est le terminal à écran cathodique, se composant d’un clavier d’entrée et d’un écran d’affichage pour les sorties. Nous devons souligner que les fonctions d’entrée et de sortie sont séparées au sein du terminal. De ce fait, l’ordinateur voit deux unités distinctes, même si l’opérateur humain les associe comme faisant partie de la même unité.

Dans les gros ordinateurs, les unités fonctionnelles principales peuvent se composer de plusieurs parties physiques séparées et souvent assez grandes. La figure 1.2 est une photographie d’un tel ordinateur.

Figure 1.2 : un gros ordinateur classique - IBM S370/3031 (IBM Corp. Ltd)

Les miniordinateurs et microordinateurs sont de taille beaucoup plus petite, souvent de la dimension d’un bureau. Même un système assez complexe, à base de miniordinateur, tel que celui présenté figure 1.3, tend à être petit comparé aux gros ordinateurs.

Le moment est venu de regarder de plus près les informations fournies à l’ordinateur. Il se commode de les considérer comme étant de deux types, à savoir les instructions et les données. Les instructions sont des commandes explicites qui :

- régissent les transferts d'informations au sein de l'ordinateur, ainsi qu'entre l'ordinateur et ses organes d'E/S

- spécifient les opérations arithmétiques et logiques devant etre exécutées. Un ensemble d'instructions exécutant une tâche est appelé programme.

Figure 1.3 : Un miniordinateur (Digital Equipment Corp.)

Le mode de fonctionnement usuel est de ranger un programme (ou plusieurs programmes) dans la mémoire. Puis, le processeur va chercher dans la mémoire les instructions formant le programme et exécute les opérations demandées. Les instructions sont normalement exécutées dans l'ordre séquentiel de leur mémorisation ; cependant il est possible de modifier cet ordre comme dans le cas oû des branchements sont demandés. De ce fait le fonctionnement réel de l'ordinateur est totalement sous le contrôle du programme enregistré, sauf dans le cas d'une interruption externe de l'opérateur ou de composants connectés à la machine.

Les données et les nombres sont des caractères codés utilisés comme opérandes par les instructions. Ceci ne doit pas être interprété comme une définition rigide, du fait que ce terme est souvent utilisé pour représenter n'importe quelle information numérique. Même avec notre définition de " données ", il est possible qu'un programme entier (c'est-à-dire un ensemble d'instructions) soit considéré comme donnée s'il doit être exécuté par un autre programme. Un exemple de ceci est la tâche de compilation d'un programme source écrit en langage de haut niveau, sous forme d'instructions machine et de données. Le programme source est la donnée d'entrée du programme compilateur. Le compilateur traduit le programme source en un programme en langage machine.

Les informations traitées par un ordinateur doivent être codées dans un format adéquat. Du fait que, de nos jours, la plupart des matériels informatiques (c'est-à-dire les équipements électroniques et électromécaniques - hardware) utilisent des circuits numériques ayant deux états stables, respectivement actif et inactif (ON et OFF), le codage binaire est utilisé. C'est-à-dire que chaque nombre, caractère d'un texte, ou instruction est codé sous la forme d'une suite de positions binaires (BInary digiT - Bit), chacune d'entre elles ayant deux valeurs possibles. Les nombres sont généralement représentés sous forme de notation binaire. On peut utiliser aussi le format décimal codé binaire (BCD), où chaque chiffre décimal est codé sur 4 bits.

Les caractères alphanumériques sont aussi représentés sous formes de codes binai res. Plusieurs méthodes de codage ont été développées. Deux d'entre el les sont le plus souvent utilisées, le code ASCII (American Standard Code for Information Interchange), oû chaque caractère est représenté par un code à 7 bits, et le code EBCDIC (Extended Binary-Coded Decimal Interchange Code), où 8 bits sont utilisés pour coder un caractère. Une description plus détaillée de la notation binaire et des méthodes de codage est donnée dans l'Annexe D.

Unité d'entrée. Les ordinateurs recueillent l'information codée par l'intermédiaire des unités d'entrée, qui se composent de dispositifs pouvant "lire " de telles données. Le plus simple de ceux-ci est le clavier d'un terminal à écran cathodique. Il est connecté électroniquement à la partie traitement de l'ordinateur. Le clavier est câblé de telle façon qu'à la frappe d'une touche, la lettre correspondante ou le chiffre soit automatiquement traduit dans son code correspondant, qui peut alors être envoyé directement soit à la mémoire, soit àl'unité centrale. La figure 1.4 présente un terminal à écran cathodique (CRT).

Il existe beaucoup d'autres dispositifs d'entrée. Les crayons lumineux, manches à balai et boules roulantes en font partie. Ils sont souvents utilisés comme moyens d'entrées graphiques avec des écrans d'affichage graphique.

Unité de mémoire. L'unique fonction de la mémoire est le stockage des programmes et des données. Une fois de plus, cette fonction peut être réalisée avec un grand nombre d'éléments différents. Il est utile de distinguer deux types de mémoires : la mémoire principale et la mémoire secondaire.

Figure 1.4 Terminal à écran cathodique (Lanpar)

La mémoire principale est une mémoire rapide capable de fonctionner àdes vitesses élevées, où les programmes et les données sont rangés pendant leur exécution. La mémoire principale contient un grand nombre de cellules mémoire à semi-conducteur, chacune d'elles pouvant mémoriser I bit d'information. Ces cellules sont rarement lues ou écrites individuellement. En fait, elles sont regroupées en éléments de taille fixe appelés mots. La mémoire principale est organisée de telle façon que le contenu d'un mot, composé de n bits, puisse être rangé ou retiré en une opération de base.

Afin de permettre l'accès à n'importe quel mot de la mémoire principale, il est utile d'associer un nom distinct à chaque emplacement contenant un mot. Ces noms sont des nombres qui désignent des emplacements successifs, qui sont de ce fait appelés adresses. On accède à un mot donné en spécifiant son adresse et en envoyant une commande qui lance le processus de lecture ou d'écriture.

Le nombre de bits de chaque mot est souvent appelé la longueur de mot d'un ordinateur donné. La longueur de mot d'un gros ordinateur est généralement de 32 bits ou plus, alors que pour les micro- ou miniordinateurs, elle va de 8 à 32 bits. La capacité de la mémoire principale est un des facteurs caractéristiques de la taille d'un ordinateur. Les petites machines ont seulement quelques milliers de mots, alors que les grosses ont souvent des millions de mots. Les données sont généralement manipulées par les machines sous forme de mots, de multiples de mots, ou de sous-multiples de mots. Le résultat classique d'un accès mémoire principale est la lecture ou l'écriture d'un mot de donnée.

Comme nous l'avons dit précédemment, les programmes et les données doivent résider en mémoire principale pendant l'exécution. Les instructions et

les données peuvent être écrites ou lues sous le contrôle de l'unité oentrale. Il est essentiel de pouvoir accéder à un emplacement quelconque de la mémoire principale aussi rapidement que possible. Les mémoires où n'importe quel emplacement peut être atteint en spécifiant son adresse sont appelées mémoires â accès aléatoire (random access memory- RAM). Le temps nécessaire pour accéder à un mot est appelé temps d'accès. C'est un temps donné, en général de 100 à 500 nanosecondes (ns) pour la plupart des ordinateurs modernes.

Alors que~la mémoire principale est essentielle, elle est généralement coûteuse. C'est pourquoi de la mémoire secondaire, moins coûteuse, est utilisée quand de grandes quantités d'informations doivent être mémorisées, en particulier Si l'on n'a pas besoin d'accéder très souvent à une partie de ces informations. Il existe une grande variété de dispositifs adéquats, entre autres les disques magnétiques, les bandes magnétiques et les tambours magnétiques. Les figures 1.5 et 1.6 montrent un ensemble d'unités de disques et une unité de bande.

Figure 1.5 Disques magnétiques (IBM Corp. Ltd.)

Le chapitre 7 fournit une description détaillée des composants de la mémoire principale ainsi que de leur fonctionnement.

Unité arithmétique et logique. L'exécution de la plupart des opérations, dans un ordinateur, s'effectue dans l'unité arithmétique et logique (ALU). Prenons

Figure 1.6 : Une unité de bande magnétique (IBM Corp. Ltd.)

un exemple classique. Supposons que deux nombres résidant en mémoire principale doivent être additionnés. Ils sont amenés dans l'unité arithmétique où l'addition proprement dite s'effectue. La somme peut alors être rangée en mémoire.

De même, n'importe quelle autre opération arithmétique ou logique (par exemple multiplication, division ou comparaison de nombres) est réalisée en amenant les opérandes dans l'ALU, où l'opération demandée est effectuée. Nous devons indiquer que tous les opérandes nécessaires à une opération en cours ne se trouvent pas en mémoire principale du fait que les processeurs possèdent un certain nombre de mémoires rapides appelées registres, qui peuvent être utilisés pour mémoriser temporairement les opérandes souvent utilisés. Chacun des registres peut stocker un mot mémoire. Les temps d'accès aux registres sont de 5 à 10 fois plus rapides que ceux de la mémoire.

Les unités arithmétiques et de contrôle ont généralement un temps de cycle de base beaucoup plus rapide que celui des autres dispositifs connectés à un ordinateur. Il est alors possible de concevoir un ordinateur relativement complexe possédant un grand nombre de périphériques contrôlés par un seul processeur. Ces périphériques peuvent être des terminaux à écran, des bandes magnétiques, des disques, des capteurs, des contrôleurs de dispositifs mécaniques, etc. Bien sûr, ceci n'est possible que du fait de la grande différence de vitesse, permettant au processeur d'organiser et de contrôler l'activité de nombreux périphériques plus lents.

Unité de sortie. L'unité de sortie est le pendant de l'unité d'entrée. Sa fonction est de fournir au monde extérieur les résultats des calculs effectués par l'ordinateur.

Un grand nombre de dispositifs possèdent à la fois les fonctions de sortie et d'entrée. C'est le cas des terminaux à écran cathodique et des terminaux graphiques. Cette double fonction de certains dispositifs est la raison du groupe-ment de ces deux unités sous le nom d'unité d'E/S.

Il existe évidemment des périphériques utilisés uniquement pour les sorties l'exemple le plus courant est l'imprimante. Il est possible de réaliser des imprimantes pouvant imprimer jusqu'à 10 000 lignes par minute. Ce sont des vitesses extrêmement élevées du point de vue mécanique, mais elles sont encore très lentes comparées à la rapidité des circuits électroniques de l'unité centrale. Une imprimante est présentée dans la figure 1.7.

Unité de contrôle. Les éléments décrits précédemment fournissent les outils nécessaires pour stocker et traiter l'information. Leur fonctionnement doit être

Figure 1.7 Une imprimante (IBM Corp. Ltd.)

coordonné de manière organisée, ce qui est la tâche de l'unité de contrôle. C'est effectivement le centre nerveux, utilisé pour envoyer des signaux de contrôle.

Une imprimante n'imprimera une ligne que Si on lui demande spécifiquement de le faire. Typiquement, ceci peut être effectué par une instruction appr~ priée d'écriture exécutée par le processeur. L'exécution de cette instruction nécessite l'envoi de signaux temporels de et vers l'imprimante, ce qui est la fonction de l'unité de contrôle.

Nous pouvons dire, en général, que les transferts d'E/S sont gérés par des instructions logicielles identifiant l'unité en cause et le type de transfert. Cependant, les signaux de séquencement réels qui gèrent les transferts pendant l'exécution sont issus des circuits de contrôle. Les transferts de données entre la mémoire principale et l'UC s'effectuent aussi sous le contrôle de l'unité de contrôle.

Conceptuellement, il est raisonnable de voir l'unité de contrôle comme une unité physique à part, bien définie, ayant des interactions avec les autres parties de la machine. En pratique, cela est rarement le cas. La plus grande partie de la circuiterie de contrôle est répartie à travers la machine. Un ensemble assez important de lignes de contrôle (fils) transporte les signaux utilisés pour le séquencement et la synchronisation des événements dans toutes les unités.

Nous pouvons résumer le fonctionnement d'un ordinateur comme suit:

- Il reçoit des informations (données et programmes), par l'intermédiaire de l'unité d'entrée et les transfère dans la mémoire.

- L'information de la mémoire est transmise, sous le contrôle du programme, à l'unité arithmétique et logique afin d'être traitée.

- Les informations traitées quittent l'ordinateur par l'intermédiaire de l'unité de sortie.

- Toute l'activité de la machine est dirigée par l'unité de contrôle.

 

 

1.2 LES CONCEPTS DES OPÉRATIONS DE BASE

 

Dans la section précédente nous avons établi que l'activité d'un ordinateur est dirigée par l'intermédiaire des instructions. Pour effectuer une tâche donnée, un programme approprié se composant d'un ensemble d'instructions est rangé dans la mémoire principale. Chaque instruction est transférée de la mémoire au processeur, qui exécute l'opération demandée. En plus des instructions, il est nécessaire d'utiliser des données qui, elles ausi, sont en mémoire principale, en tant qu'opérandes. Une instruction typique peut être

Add EMPLA, RO

qui additionne l'opérande situé à l'emplacement mémoire EMPLA à celui du registre RO du processeur, et place la somme dans le registre RO. Cette instruction nécessite plusieurs étapes avant d'être accomplie. D'abord, l'instruction doit être amenée de la mémoire au processeur. Puis, on doit aller chercher l'opérande situé dans EMPLA. Cet opérande est additionné au contenu de RO. Enfin, la somme résultante est placée dans le registre RO.

Les transferts entre la mémoire principale et l'UC commencent par l'envoi de l'adresse de l'emplacement mémoire à accéder vers la mémoire principale, ainsi que l'envoi des signaux de contrôle appropriés. Puis les données sont transférées de ou vers la mémoire principale.

La figure 1.8 montre comment les connexions entre la mémoire principale et l'UC peuvent être faites. Elle montre aussi quelques détails de l'UC qui n'ont pas encore été étudiés, mais qui sont essentiels. Le schéma des interconnexions de ces composants n'est pas donné explicitement, car pour le moment, nous n'étudierons que leurs caractéristiques fonctionnelles. Le chapitre 4 abordera le problème de ces interconnexions comme faisant partie de la conception de l'UC.

L'UC contient les circuits arithmétiques et logiques, parties essentielles du traitement. Elle contient aussi un certain nombre de registres utilisés pour la

Figure 1.8 : Connexions entre l'UC et la mémoire principale

mémorisation temporaire des données. Deux registres sont particulièrement importants. Le registre instruction (IR) contient l'instruction en cours d'exécution. Sa sortie est reliée aux circuits de contrôle, qui génèrent les signaux de séquencement pour contrôler les circuits réels de traitement nécessaires àl'exécution de l'instruction. Le compteur de programme (PC) est un registre qui conserve la trace de l'exécution d'un programme. Il contient l'adresse mémoire de l'instruction en cours. Pendant l'exécution de celle-ci, son contenu est mis à jour afin d'indiquer l'adresse de l'instruction suivante à exécuter. Il est courant de dire que le PC pointe sur l'instruction suivante à exécuter.

En plus du IR et du PC il existe, habituellement, plusieurs autres registres généraux. Leur rôle sera expliqué dans le chapitre 2.

Enfin, il existe deux registres qui facilitent la communication avec la mémoire principale. Ce sont le registre adresse mémoire (MAR) et le registre donnée mémoire (MDR). Comme son nom l'indique, le MAR contient l'adresse de l'emplacement de ou vers lequel la donnée doit être transférée. Le MDR contient la donnée qui doit être écrite ou qui vient d'être lue à l'adresse spécifiée par le MAR.

Considérons maintenant quelques étapes caractéristiques du fonctionnement. Le programme réside dans la mémoire principale après y avoir été amené via l'unité d'entrée. L'exécution d'un programme commence en faisant pointer le PC sur la première instruction du programme. Le contenu du PC est transféré au MAR et un signal de contrôle de lecture est envoyé à la mémoire principale. Après qu'un certain temps se soit écoulé (correspondant au temps d'accès de la mémoire principale), le mot adressé (dans ce cas la première instruction de notre programme) est lu dans la mémoire et chargé dans le MDR. Puis, le contenu du MDR est transféré au IR ; à ce moment, l'instruction est prête àêtre décodée puis exécutée.

Si l'instruction met en jeu une opération devant être effectuée par l'ALU, il sera nécessaire d'obtenir les opérandes demandés. Si un opérande réside dans la mémoire principale (il peut aussi être dans un des registres généraux de l'UC), on devra aller le chercher en envoyant son adresse dans le MAR et en lançant un cycle de lecture. Quand l'opérande a été transféré de la mémoire principale dans le MDR, il peut être envoyé du MDR à l'ALU. Après avoir été chercher un ou plusieurs opérandes de cette façon, l'ALU peut exécuter l'opération demandée. Si le résultat de celle-ci doit être rangé dans la mémoire principale, il doit être envoyé dans le MDR. L'adresse de l'emplacement où le résultat doit être rangé est envoyée dans le MAR et un cycle d'écriture est lancé. Pendant ce temps le contenu du PC est incrémenté pour pointer sur l'instruction suivante à exécuter. Ainsi, dès que l'exécution de l'instruction courante est terminée, une nouvelle recherche d'instruction peut commencer.

En plus du transfert des données entre la mémoire principale et l'UC, il est nécessaire d'avoir la possibilité d'accepter des données des périphériques d'entrée et d'envoyer des données sur les périphériques de sortie. De ce fait un certain nombre d'instructions machine pouvant gérer les transferts E/S doivent être fournies.

L'exécution normale d'un programe peut être quelquefois perturbée. C'est souvent le cas quand un élément demande un service urgent. Par exemple, un contrôleur dans un processus de contrôle industriel peut avoir détecté une condition de fonctionnement dangereuse. Pour pouvoir traiter de telles situations suffisamment rapidement, le cours normal du programme en cours d'exécution doit être interrompu. Pour permettre ceci, l'élément peut émettre un signal d'interruption. Une interruption est une demande de traitement d'un organe d'E/S à l'UC. L'UC fournit ce service en exécutant une procédure de traitement d'interruption appropriée. Du fait que de telles diversions peuvent altérer l'état interne de l'UC, il est primordial que celui-ci soit sauvegardé dans la mémoire principale avant de traiter l'interruption. Ceci nécessite la sauvegarde du contenu du PC, des registres généraux, et de quelques informations de contrôle. A la fin de la procédure d'interruption, l'état de l'UC est restauré de telle façon que l'exécution du programme interrompu puisse se poursuivre.

L'UC présentée figure 1.8 peut être réalisée de différentes manières. Dans le cas d'un microprocesseur, tous les éléments sont intégrés dans un seul boltier VLSI. Dans les machines plus grandes, plusieurs boîtiers VLSI peuvent être nécessaires.

1.3 STRUCTURES DE BUS

Jusqu'à présent, nous avons étudié les caractéristiques fonctionnelles de chacune des parties composant un ordinateur. Pour construire un système opérationnel, elles doivent être interconnectées de façon organisée. Il existe beaucoup de méthodes pour le faire. Nous allons considérer trois structures largement utilisées.

Si un ordinateur doit avoir une vitesse correcte de traitement, il doit être organisé de manière parallèle. Ceci signifie que toutes les unités peuvent traiter un mot de donnée à un instant donné. Cela signifie aussi que les transferts entre les unités doivent être effectués en parallèle, ce qui nécessite un nombre considérable de fils (lignes) pour établir les connexions nécessaires. Un ensemble de tels fils, ayant certaines caractéristiques communes, est appelé bus. En plus des fils qui transportent les données, il est nécessaire d'avoir quelques lignes pour les besoins d'adressage et de contrôle.

Figure 1.9 Une structure à deux bus

 

La figure 1.9 présente la forme la plus simple d'un ordinateur à deux bus. L'UC communique avec la mémoire principale via un bus m~moîre. Les fonctions d'entrée-sortie sont effectuées par l'intermédiaire d'un bus d'E/S de telle façon que les données transitent à travers l'UC pour atteindre la mémoire principale. Dans de telles configurations, les transferts d'E/S sont généralement sous le contrôle direct de l'UC, qui lance les transferts et contrôle leur progression jusqu'à la fin.

Une version un peu différente d'une structure à deux bus est donnée figure 1.10. Les positions relatives de l'UC et de la mémoire principale sont inversées. Une fois de plus un bus mémoire existe pour leur permettre de communiquer. Cependant, les transferts d'E/S sont faits directement de ou vers la mémoire principale. Du fait que la mémoire principale a peu de circuits permettant de contrôler de tels transferts, il est nécessaire de mettre en place un autre mécanisme de contrôle. Une technique classique consiste à fournir des canaux d'entrée-sortie intégrés aux dispositifs d'E/S. Un canal d'E/S a les possibilités de contrôler les transferts. En fait, il s'agit d'un processeur spécialisé, souvent appelé processeur périphérique. Un fonctionnement classique est que l'UC lance un transfert en fournissant l'information nécessaire au canal d'E/S, qui alors prend en charge et contrôle le transfert réél.

Nous avons déjà indiqué qu'un bus est un ensemble de lignes distinctes, servant pour différents usages. Il y a trois regroupements principaux des lignes

Figure 1.10 : Une autre structure à deux bus

de bus données, adresses et contrôle. Les lignes de données Sont utilisées pour transmettre les données. De ce fait, le nombre de lignes de ce bus correspond au nombre de bits d'un mot. Pour accéder à l'information dans la mémoire principale, les lignes d'adresse indiquent son emplaoement. Les lignes de contrôle sont utilisées pour indiquer la direction du transfert des données et pour coordonner le séquencement des événements pendant le transfert.

Beaucoup de machines ont plusieurs bus distincts, de telle sorte qu'on pou~rait les traiter comme des machines multi-bus. Cependant, leur fonctionnement est représenté correctement par les exemples sur les machines à deux bus, car le motif principal de l'ajout de bus supplémentaires est l'augmentation de la vitesse d'exécution par l'intermédiaire de plus de parallélisme.

Une structure avec une différence significative, à bus unique, est présentée figure 1.11. Toutes les unités sont connectées à ce bus, de telle sorte qu'il est le seul moyen de communication. Du fait que le bus ne peut être utilisé que pour un seul transfert à la fois, il en résulte que seulement deux unités peuvent utiliser le bus au même instant. Les lignes de contrôle du bus sont utilisées pour arbitrer les requêtes d'utilisation du bus. La vertu principale du bus unique est son faible coût et la possibilité d'ajout de périphériques. L'inconvénient est la diminution de la vitesse de traitement. Il n'est pas surprenant que la structure à bus unique se retrouve principalement dans les petites machines, c'est-à-dire les micro et miniordinateurs.

Figure 1.11 : Structure à bus unique

Les différences de structures de bus ont un impact important sur les performances des ordinateurs. Pourtant du point de vue conceptuel (au moins àce niveau de détails), elles ne sont pas importantes pour la description fonctionnelle. En fait, les principes fondamentaux de fonctionnement des ordinateurs sont essentiellement indépendants d'une structure de bus particulière.

Le transfert d'information sur un bus ne peut, généralement, être effectué à une vitesse comparable à la vitesse de fonctionnement des éléments connectés au bus. Quelques dispositifs électromécaniques sont relativement lents, par exemple les terminaux à écran et les imprimantes. D'autres, tels que les disques et les bandes, sont bien plus rapides. La mémoire principale et l'UC fonctionnent à la vitesse des circuits électroniques, ce qui en fait les parties les plus rapides d'un ordinateur. Du fait que tous Ces dispostifs doivent communiquer entre eux via un bus, il est nécessaire de fournir un mécanisme de transfert efficace qui ne soit pas influencé par les dispositifs lents et qui puisse être utilisé pour gommer les différences temporelles entre les processeurs, la mémoire et les périphériques.

Une approche classique consiste à ajouter des registres tampon aux dispositifs afin de retenir l'information pendant les transferts. Pour illustrer cette technique, considérons le transfert d'un caractère codé du processeur vers l'imprimante où il doit être imprimé. Le processeur effectue le transfert en envoyant le caractère au tampon de sortie imprimante via le bus. Comme le tampon est un registre électronique, ce transfert ne requiert que peu de temps. Une fois que le tampon est chargé, l'imprimante peut commencer l'impression sans autres interventions du processeur. A ce moment, le bus et le processeur ne sont plus nécessaires et peuvent être rendus pour d'autres traitements. L'imprimante imprime le caractère du tampon et n'est pas disponible pour d'autres transferts tant qu'elle n'a pas terminé l'impression. En résumé, les registres tampon gomment les différences temporelles des processeurs, mémoires et organes d'E/S qui doivent communiquer entre eux dans un ordinateur. De tels registres empêchent les processeurs rapides d'être bloqués par un organe d'E/S lent pendant une séquence de transfert de données. Ceci permet au processeur de commuter rapidement d'un organe à l'autre, en partageant son activité de traltement avec les transferts de données de et vers les différents organes.

 

1.4 LES STRUCTURES DISTRIBUÉES

Nous avons déjà mentionné dans ce chapitre que les systèmes informatiques ont évolué d'une structure centralisée vers une seule UC a des configurations multi-processeurs. Plusieurs processeurs peuvent être reliés par un réseau de communication. Un tel réseau est appelé local s'il se limite à une zone géographique peu étendue (par exemple un immeuble).

La charge de travail de plusieurs ordinateurs peut être divisée en un ensemble de tâches pouvant être exécutées en parallèle. Si plusieurs processeurs sont disponibles, la charge totale peut être effectuée plus rapidement en traitant simultanément plusieurs tâches. Considérons, par exemple, en environnement de conception assistée par ordinateur (CAO). Un système informatique pour un tel environnement peut être constitué d'un gros ordinateur et de plusieurs postes de travail. Chacun des postes de travail est un véritable ordinateur possédant des fonctionnalités graphiques d'entrée-sortie. Un concepteur travaillant sur l'un de ces postes génère une description numérique d'un objet en utilisant les possibilités graphiques du poste. Le gros ordinateur fournit des possibilités de simulation et de génération de tests, qui peuvent nécessiter de grandes ressources de calcul. Du fait que le gros ordinateur n'est pas impliqué dans les tâches de conception graphique interactives dévoreuses de temps, il peut supporter plusieurs postes de travail.

Le but de ce livre est d'expliquer les éléments fondamentaux de la conce~ tion et du fonctionnement des différents éléments composant un système informatique, à la fois centralisé ou décentralisé, grand ou petit.

 

1.5 QUELQUES REMARQUES POUR CONCLURE

L'étude précédente a considéré plusieurs aspects des structures d'ordinateurs et de leur fonctionnement. La plus grande partie de la terminologie nécessaire pour traiter du sujet a été introduite rapidement et plusieurs concepts importants abordés superficiellement. Les chapitres qui suivent fourniront des définitions complètes des termes utilisés. Nous espérons que ce chapitre a permis aux lecteurs d avoir une vue d'ensemble des éléments constituant un ordinateur et leur fonctionnement. Nous sommes pleinement conscients que les lecteurs ne seront pas capables de replacer les différentes parties de ce chapitre dans leur ensemble tant qu'ils n'auront pas lu la suite de ce livre.