Obligement - L'Amiga au maximum

Jeudi 22 février 2024 - 21:46  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Actualité : Transputer et nouvelles architectures
(Article écrit par Daniel Fournier et extrait de Génération 4 - mai 1989)


A peine l'informatique individuelle "grand public" s'est-elle mise à l'heure des processeurs 16 bits ou 16/32 bits, tel le MC 68000 de Motorola (le "coeur" des Atari ST, des Amiga ou encore des Macintosh), que déjà se profile une nouvelle race de "puces", encore plus époustouflante dans ses performances et dont l'avènement dans les deux ou trois années à venir apportera sa nouvelle moisson d'applications étonnantes et révolutionnaires. Afin de soulever, pour nos lecteurs, un coin du voile qui dissimule encore les recherches menées dans ce secteur effervescent, nous présentons quelques-uns de leurs aspects les plus révolutionnaires, ceux des RISC, des traitements parallèles et autres transputers.

Opérer les tâches

Mais pour mieux mesurer toute l'ingéniosite des concepteurs de ces nouvelles machines, revenons tout d'abord très rapidement sur la manière dont s'effectuent les "tâches" à l'intérieur d'un système conventionnel, tel que celui qui se trouve encore sur votre bureau. On peut schématiquement assimiler le mode opératoire mis en oeuvre par ce type d'ordinateur à celui qu'applique un artisan qui, par exemple, fabriquerait une chaise. Chaque élément de l'ensemble est fabriqué séparément (d'abord le dossier, l'assise, puis les pieds) puis le tout est assemblé convenablement. On parle alors de processus séquentiel.

Sur le plan informatique, l'exécution d'un tel processus ne réclame qu'un minimum d'éléments électroniques : une mémoire de données (les différentes pièces de bois nécessaires à fabriquer chaque partie de la chaise), une liste d'instructions à suivre scrupuleusement, elle aussi inscrite dans la mémoire de la machine, et enfin, comme le nombre d'instructions risque d'être important, un compteur qui permet de noter à quel endroit de la liste se rattache l'opération en cours de réalisation, ou plus utilement le numéro de l'opération qui devra être accomplie lorsque la présente sera terminée.

Les machines qui travaillent suivant cette méthode sont souvent désignées par le sigle "SISD" (en anglais : Single Instruction, Single Data stream). Ce type d'architecture présente de nombreux avantages : conceptualisation aisée par fractionnement de la tâche, logique électronique simplifiée, etc. Mais devant les exigences toujours plus pressantes de la technologie associée (comme celle du traitement de millions de points d'une image en haute définition), le processeur n'arrive plus à suivre la cadence "infernale" qui lui est imposée pour réagir dans une limite de temps acceptable.

Une des premières innovations à laquelle les ingénieurs pensèrent, afin d'accélérer la vitesse de traitement, fut de substituer un groupe à l'unique opérateur de l'exemple précédent. C'est le principe même du travail "à la chaîne". Chaque ouvrier effectue une petite partie de la tâche, simultanément et en cadence avec ses compagnons. Il suffit de déterminer quelles sont les opérations qui peuvent être entreprises concurremment sans incohérence pour le résultat final. Le sigle de "MISD" (Multiple Instruction, Single Data stream) est, cette fois, employé pour caractériser ce type d'architecture. Une fois chaque opérateur en possession d'un élément de l'ensemble à réaliser (tous, sauf le premier, doivent au départ attendre que leur prédécesseur ait accompli sa part de besogne pour disposer de la "pièce" à fabriquer), la production peut atteindre un rendement supérieur de plusieurs ordres de grandeurs à celui de l'opérateur isolé. Des processeurs ont été tout spécialement conçus pour travailler suivant ce principe dit de "pipeline'. Ainsi, certains peuvent décomposer leur traitement d'une donnée en de multiples opérations distinctes telles que :
  1. Recherche en mémoire de l'instruction à exécuter.
  2. Décodage de l'instruction.
  3. Calcul de l'adresse effective de la donnée (l'opérande).
  4. Recherche en mémoire de ladite opérande.
  5. Exécution de l'opération (arithmétique ou logique).
  6. Rangement en mémoire de la donnée traitée.
Cependant, un nouveau ralentissement se manifeste au niveau de l'acquisition, depuis son lieu de stockage (la mémoire), de chaque donnée, opération qui représente plus des trois quarts du temps total de l'accomplissement de la tâche. Lorsque le flot de données à traiter est très important (et il l'est immanquablement), la solution ultime consiste alors à construire une machine dans laquelle plusieurs "ateliers" travaillent de concert pour parvenir au résultat final. Nous aboutissons ainsi au véritable parallélisme du traitement de l'information.

Ces structures à haut degré de parallélisme sont dites "MIMD" (Multiple Instruction, Multiple Data stream), car chaque processeur effectue un travail analogue à celui de ses concurrents, en accédant, par ses propres moyens, aux données dont il a besoin pour travailler. Mais c'est à cet instant précis que les choses se compliquent considérablement. Si chacun joue sa partition sans s'occuper des autres, c'est la cacophonie ! Il faut par exemple régler les conflits qui surgissent lorsque deux processeurs tentent d'utiliser le contenu d'une case mémoire contenant une information que chacun doit utiliser : à qui reviendra la priorité ? D'autre part, si un processeur a pris du "retard" par rapport à un autre et qu'il n'a pas terminé son opération sur une donnée qu'un autre processeur doit utiliser à son tour, que faire ?

Transputer, le nouveau concept de traitement

Il n'existe pas à vrai dire de solution "miracle" à tous les problèmes qui peuvent surgir dès lors qu'il s'agit de gouverner un ensemble d'éléments, et la recherche pour découvrir des possibilités inédites ou améliorer celles déjà élaborées bat son plein. Certaines, pourtant, se révèlent dès maintenant particulièrement efficaces, et les plus dynamiques des constructeurs d'ordinateurs personnels nous promettent pour l'année en cours des machines spécifiquement développées sur ces nouveaux concepts de traitement. Elles ont en commun de proposer des systèmes modulaires construits autour d'un processeur aux capacités impressionnantes, le transputer.

Ce processeur a été entièrement conçu par la firme britannique Inmos, qui, en moins d'une dizaine d'années, était déjà devenue une des productrices de pointe dans le domaine des mémoires statiques de hautes performances, et des processeurs de traitement d'image ou de signal. Les objectifs que la gamme des transputers a cherché à atteindre se répartissent suivant cinq axes :
  1. Décentralisation de la puissance de calcul.
  2. Fractionnement de la mémoire en unités ultra-rapides.
  3. Simultanéité des communications et des traitements.
  4. Simplicité de mise en oeuvre matérielle.
  5. Simplicité de développement logiciel au moyen de langages de haut-niveau.
Pour répondre à ces exigences, la "puce" d'un transputer rassemble, à un très haut degré de miniaturisation, des composants qui se trouvent, la plupart du temps, dispersés sur plusieurs "puces" distinctes. Ainsi, sont juxtaposés, sur le modèle haut de gamme (T800) :
  • Une unité de traitement logique et arithmétique sur 32 bits.
  • Une unité de traitement en arithmétique flottante sur 64 bits.
  • Une RAM de 4 ko à accès très rapide, qui minimise les échanges avec la mémoire centrale, beaucoup plus lente.
  • Une interface d'accès aux mémoires externes.
  • Deux chronomètres de 32 bits incrémentés toutes les 1 microseconde ou 64 microsecondes, et un générateur d'horloge.
  • Quatre canaux d'accès direct mémoire (DMA) bidirectionnels, pouvant transmettre jusqu'à 20 mégabits/seconde (ce qui permet un échange avec les périphériques externes avoisinant es 10 millions d'octets par seconde !).
  • Un contrôleur d'accès mémoire (espace d'adressage de 4 gigabits : 4 milliards d'octets), travaillant à un taux de 40 mégabits/seconde.
  • Une logique micro-codée pour l'analyse de l'état du processeur (débogage).
  • Un ordonnanceur micro-codé pour la répartition des tâches concurrentes.
Actuellement, ce processeur travaille à une cadence d'horloge de 20 mégahertz (et très bientôt jusqu'à 30 mégahertz). Le T414, quant à lui, obtient des performances comparables, sauf pour l'unité d'arithmétique flottante lui n'est pas intégrée, et la mémoire cache qui est "réduite" à 2 ko. Ces performances qui, faut-il le souligner, laissent loin derrière les autres vedettes actuelles telles que le 80386 de Intel ou le MC68030 de Motorola, et cela pour des prix tout à fait comparables, ne concernent qu'un seul processeur.

Travail de groupe

Ces processeurs sont dans leur conception même, destinés à travailler en groupe. En effet, ce qui fait l'originalité de leur jeu d'instructions, c'est l'intégration des "primitives" et des mécanismes qui permettent à un réseau de transputer de communiquer avec le maximum d'efficacité et d'utiliser à plein rendement les liens qui les réunissent. Dans pratiquement tous les programmes informatiques, un nombre restreint d'instructions est utilise pour construire les opérations qui doivent s'y dérouler. En privilégiant l'exécution de ces instructions de façon à ce qu'elles puissent être effectuées le plus rapidement possible, le gain global peut être considérable. D'autre part, plutôt que construire le processeur, puis ensuite envisager la manière dont les applications réelles peuvent y être adaptées, la démarche inverse a été poursuivie.

Après des études très approfondies sur la théorie des communications entre unités de traitement dans les architectures parallèles, un langage de programmation permettant de mettre en oeuvre ce travail partagé a été formalisé. Ainsi est né le langage Occam, dont les circuits des transputers réalisent une implémentation micro-codée. Grâce à lui, le développement d'applications est non seulement facilité et accéléré, mais le résultat obtenu est aussi beaucoup plus efficace qu'avec des langages plus conventionnels, tel que le langage C.

Transputer pour Atari, Apple et Amiga

C'est donc de cette manière qu'un unique transputer peut globalement atteindre des performances d'exécution de plusieurs centaines de fois supérieures au MC68000 des machines auxquelles nous sommes habitués. Or, lorsque plusieurs transputers travaillent en parallèle, ils additionnent leur efficacité... C'est pourquoi les firmes Atari, puis Apple et maintenant Commodore ont développé des systèmes à base de transputer. Typiquement, ceux-ci sont constitués d'une unité dans laquelle une carte de contrôle dirigée par un transputer prend en charge l'interface avec l'ordinateur "hôte" (un Mega ST, un Amiga 2000, ou encore un Macintosh), qui sert alors de "périphérique" d'entrées/sorties collectant les informations que l'utilisateur fournit grâce aux dispositifs habituels, tels que clavier, souris, tablette graphique, etc. Cette môme carte peut être reliée à l'intérieur de l'unité à une, deux ou trois cartes additionnelles regroupant chacune quatre transputers interconnectés, et solidaires de chacun un méga octets de mémoire.

Le transputer principal a pour mission, au travers de l'analyse du programme, de répartir équitablement le travail à effectuer entre les divers "ateliers". On parle alors de "fermes" de processeurs. On peut également connecter cette unité à d'autres systèmes équivalents reliés par les lignes d'un réseau tel que Transpac ou RNIS, et la puissance croissant ainsi avec chaque unité rajoutée, on peut facilement aboutir à des performances équivalentes ou supérieures à ceux des calculateurs géants les plus sophistiqués, pour des coûts de mise en oeuvre très inférieurs. Ainsi, dans le cadre du programme Européen ESPRIT, une société française a-t-elle construit une machine reliant jusqu'à plus de mille transputers !

Du bon pour l'avenir

Sans être trop utopiste, on peut, dans cette perspective, concevoir que dans un proche avenir, des ordinateurs personnels construits sur ces bases permettront à tout un chacun d'utiliser des applications qui restent à l'heure actuelle l'apanage du secteur industriel, pour créer des images synthétiques de très haute définition, animées en temps réel, ou bien des musiques entièrement générées par synthèse algorithmique, des programmes éducatifs véritablement "intelligents", ou encore des bases de données permettant d'obtenir instantanément les informations souhaitées (sans recherche fastidieuse !) par dialogue oral, etc., et bien d'autres réalisations que nous sommes impatients de découvrir.


[Retour en haut] / [Retour aux articles]