Vous êtes sur la page 1sur 12

Université Amar Télidji, Laghouat

Département de l’Informatique

Master II RESAR

Les Transputers

Préparé par: Dirigé par:

Soumia DJELLIKH M. ALLAOUI

2016/2017
Introduction
Le transputer, fabriqué et introduit par INMOS en 1985, est un microprocesseur
sous forme d’une puce VLSI unique qui contient un processeur, une mémoire, et
des liaisons de communication.

Cela représente une légère déviation de la technologie courante des microprocesseurs.


Le but était de produire une famille de puces qui différent en termes de puissance et
de coût, et qui peuvent être connectées ensemble pour former un ordinateur de
traitement parallèle complet.

1 Le transputer :

Transistor + Computer = Transputer

Le transputer (son nom est dérivé de transistor et computer), était le premier processeur
conçu spécifiquement pour être utilisé dans des systèmes de traitement parallèle.

Le transputer a la capacité de communiquer avec d’autres transputers via ses liens de


communication; ce qui leur permet d’être connectés ensemble afin de construire des
systèmes multiprocesseurs pour résoudre les problèmes spécifiques.

Il a également la capacité d’exécuter de nombreux processus de logiciels, logiciels,


partageant son temps automatiquement pour créer rapidement de nouveaux processus,
et pour effectuer la communication entre les processus au sein d’un transputer et entre
les processus dans différents transputers.

Toutes ces fonctions sont intégrées dans le matériel du transputer et sont très efficaces.

1
2 Architecture de transputer:

Les caractéristiques communes de tous les transputers présents sont:

• Processeur de nombres entiers à grande vitesse avec un planificateur de processus


microcodes.

• Une mémoire statique rapide sur puce entre 2 et 4 KO.

• Jusqu’à quatre liens de communication avec les autres transputers.

• La prise en charge d’interface de mémoire externe.

Certains modèles ont une unité flottante séparée du processeur, ce qui permet
d’accélérer les calculs.

2
3 Motivation: Le transputer et le traitement parallèle

Dans certains environnements d’exploitation multitâches, il peut sembler que l’ordinateur


calcule deux choses en même temps, mais en réalité, il ne fait qu’une chose à la fois, et
bascule entre les tâches si rapidement qu’il semble faire plus d’une chose à un moment
où il l’est pas. Le vrai traitement parallèle implique des moteurs de calcul physiquement
séparés, chacun à contribuer à certains calculs. Le traitement parallèle est un mécanisme
qui permet aux ordinateurs de calculer plus rapidement.

Il y a deux modèles de base de traitement parallèle:

La mémoire partagée où plusieurs processeurs sont connectés à la même mémoire


système.
Le principal problème de la mémoire partagée est que plusieurs processeurs peuvent
tenter d’accéder au même emplacement de mémoire en même temps. Lorsque cela se
produit, les demandes doivent être mis dans un ordre séquentiel, ce qui ralentit la
performance globale.

Mémoire distribuée: C’est là où se trouve le transputer. Chaque processeur possède sa


propre mémoire locale.
La question clé dans un modèle à mémoire distribuée est: Quelle est la nature de
la communication entre processeurs?

Chaque transputer a quatre liens bidirectionnels qui peuvent être connectés à des liens sur
d’autres transputers. Chacun de ces liens fournit un flux de données d’un processeur dans
le système à l’autre. Ainsi, comme des blocs de construction, on peut connecter de
nombreux transputers ensemble dans diverses configurations. Un tel mécanisme est
typique d’un système de traitement distribué.

Figure. Quatre liens bidirectionnels de transputer

3
4 Les topologies possibles :
Avec quatre liaisons par transputer, il existe diverses topologies, ou des configurations
de réseau, qui sont possibles.

4.1 Anneau :

Il est possible de configurer quatre transputers dans un "anneau", avec chaque processeur
relié à deux autres, un peu comme les enfants se tenant la main pour former un anneau.

4.2 Structure doublement chaînée :


Avec deux liens, on peut créer une structure doublement chaînée

4
4.3 Anneau entièrement connecté :

Cependant, le transputer a quatre liens, de sorte qu’il est possible de prévoir plusieurs
interconnexions entre les éléments de traitement.
Si un autre lien a été utilisé pour connecter chaque processeur, une autre configuration
serait possible. Le réseau est dit être "entièrement connecté".

4.4 Arbre binaire


Les transputers ne sont pas limités à des topologies en anneau. Pour certaines
applications, il peut être souhaitable de configurer une série de transputers dans
une structure arborescente.

5
4.5 Pipeline :

On peut considérer un problème qui nécessite un traitement par bloc, où chaque


transputer a une tâche spécifique qui dépend du résultat de celui qui le précède.
Le résultat final est donné par le dernier transputer de la chaine. Cette topologie
est dite Pipeline.

4.6 structures hiérarchisées & Grille :


Si on utilise les quatre liens du Transputer, on a accès à des topologies très puissantes
comme les Grilles et les structures hiérarchisées.

6
5 La programmation des transputers

INMOS, lorsqu’ils ont introduit le transputer, ils ont décidé d’isoler les programmeurs
du jeu d’instructions de base de la transputer. Au lieu de fournir des informations sur
le langage assembleur natif, ils ont fourni un langage appelé OCCAM.

OCCAM est un niveau plus élevé que l’Assembleur, mais inférieur à la plupart des
langages de programmation (comme Pascal ou C).

OCCAM permet l’exploiter des caractéristiques de parallélisme et de la communication


spéciale du transputer d’une manière bien définie.

INMOS finalement a commencé à fournir des informations sur le jeu d’instructions du


transputer. Maintenant, les langages de programmation en C, C ++, Fortran, Pascal sont
tous disponibles pour le transputer, et la liste est en croissance.

5.1 Le démarrage du transputer

C’est la première tâche de tout programmeur travaillant avec un nouveau matériel.


Enfaite, il existe deux modes de démarrage:
Le démarrage à partir de la ROM et le démarrage à partir d’un lien.
Le programmeur a le choix.

5.2 Les constructeurs

Le langage Occam est un langage procédural classique qui offre :

 Le Constructeur SEQ : l'exécution des instructions en séquentiellement (avec SEQ) .

 Le Constructeur PAR : l'exécution des instructions en parallèle (avec PAR).

 Le Constructeur ALT : même la mise en «parallèle asynchrone » de processus (avec ALT) pour
une exécution non-déterministe d'un parmi plusieurs.

7
5.3 Le jeu d’instructions

Le transputer tend à se traiter comme un RISC. En outre, il est beaucoup plus qu’un
processeur RISC grâce à sa fonctionnalité de prendre en charge des concepts de haut
niveau comme les processus, les temporisateurs et la communication interprocessus.
Les programmeurs qui ont l’habitude de programmer d’autres microprocesseurs
peuvent trouver la programmation de transputer un peu étrange.
Il y a seulement un petit nombre de registres qui sont organisés en tant qu’une pile,
et toutes les instructions sont empilées au lieu d’être orientées vers des registres.

les déplacements des variables locales sont très courts, les instructions sont codées
sur un octet seulement :
Le code-opération occupe 4 bits ce qui permet de coder les 16 instructions de base
Les données immédiates (DATA) occupent aussi 4 bits ; on peut représenter des valeurs
comprises entre 0 et 15) Par exemple pour mettre la valeur #12 (notation hexadécimale)
dans le sommet de la pile A, B, C

5.4 Les registres

Tous les registres sont soit des registres de 16bit soit des registres de 32bit.
Le programmeur va rapidement remarquer qu’il n’existe pas de registres à usage
général, mais plutôt une pile d’évaluation. Les instructions dans le transputers
sont conçues autour de l’utilisation de cette pile.
Le programmeur a également accès à des registres comme le: W qui est le pointeur
d’espace de travail, le registre pointeur I qui pointe vers l’instruction suivante à exécuter.
La construction des opérandes est la fonction du registre O.

8
5.5 Les interruptions

La seule source d’interruptions externes est l’entrée EventReq. L’interface de


programmation est implémentée d’une façon pour apparaître comme un autre
mot de contrôle localisé dans la mémoire basse.

Si un processus a besoin d’attendre un EventReq, il va être exclu de la planification


jusqu’à ce que ligne reviendra à son état de repos. Par la suite, il est automatiquement
rajouté vers la planification. Le fait d’attendre un évènement doit avoir une haute
priorité et doit être le seul processus à haute priorité.

5.6 Exécution de multiple processus

Une des caractéristiques inhabituelles du transputer est sa capacité native à exécuter


des tâches multiples grâce à son planificateur de processus implanté sur matériel.
Inmos a utilisé le terme "proc" pour définir une unité d’exécution. L’utilisation
de processus multiples(ou threads) est très importante pour le traitement parallèle,
où le problème se décompose en unités d’exécution chacune sur un transputer différent.
Ceci garantie le vrai parallélisme. Le résultat sont échangés à travers des liens rapides que
chaque transputer offre.

Conclusion

Les transputers fournissent un soutien matériel pour la concurrence et offre des


performances exceptionnelles sur la planification des processus, communication
interprocessus, et la communication inter-transputer.

Le transputer lors de son apparition était le processeur du futur grâce à ses qualités.
Par contre, il n’est plus utilisé de nos jours.
Enfaite, il présente beaucoup de problèmes: le manque de la gestion de mémoire
ou mémoire virtuelle, sa RAM est rapide mais n’est pas une mémoire cache.
Avoir quatre liens au maximum nous empêche de réaliser des topologies complexes.

9
Références

• Transputer Assembler Language Programming


http://www.transputer.net/iset/pdf/transbook.pdf

• Networks, Routers and Transputers


http://www.transputer.net/ibooks/90-5199-129-0/pdf/Chapter1.pdf

• The Transputer Databook, INMOS, 1989

10

Vous aimerez peut-être aussi