s
19 708 Pages

transordinateur
transputer

la transordinateur Ce fut un pionnier d'une conception microprocesseur pour calcul parallèle produit par Inmos, une petite société britannique, en années quatre-vingt. Depuis un certain temps, jusqu'à près de la fin de cette décennie, beaucoup ont vu le transordinateur comme le nouveau grand projet pour l'avenir de l'informatique. Aujourd'hui, ses dérivés sont utilisés dans les appareils photo, les systèmes GPS et décodeurs pour la télévision numérique.

fond

Au début des années 80, il semblait que CPU Classiques avaient atteint leur limite en ce qui concerne performance. Jusque-là, les concepteurs ont été principalement limités par la quantité de circuits qui pourraient être placés sur un puce en raison de problèmes de construction. Mais avec l'amélioration continue des processus de production, il a changé le problème: les puces peuvent contenir plus de circuits que ceux que les concepteurs ont su exploiter. Bientôt, les architectures traditionnelles CISC ils ont atteint leur mesure du possible, et il était difficile de savoir s'il pouvait surmonter.

Il semblait que le seul moyen était de mettre en œuvre l'utilisation du parallélisme, à savoir l'utilisation de divers CPU qu'ils travailleraient ensemble pour accomplir différentes tâches en même temps. Tout dépendait de la capacité de la machine pour pouvoir exécuter plusieurs processus en même temps, connu sous le nom capacité multi-tâches, trop difficile à faire jusque-là, mais pris en charge par les processeurs de nouvelle génération. Il était clair que, dans l'avenir, cette fonction serait soutenue par tous systèmes d'exploitation.

Un effet secondaire de nombreuses architectures multi-tâches Il est souvent qui permet d'exécuter des processus sur les processeurs physiquement différents, auquel cas le procédé est connu sous le nom multitraitement. Un processeur à faible coût, conçu dans cet esprit, aurait permis d'augmenter la vitesse de calcul d'une machine en ajoutant d'autres processeurs similaires, choix potentiellement beaucoup plus économique d'un basé sur un processeur simple et plus puissant.

conception

Le transordinateur (TransISTOR Computer) A été le premier microprocesseur à usage général conçu spécifiquement pour être utilisé dans des systèmes de calcul parallèles. L'objectif était de produire une famille de puces, un coût limité et la puissance, ce qui pourrait alors être reliés entre eux pour former un ordinateur complet. Le nom a été choisi pour indiquer le rôle que le Transputer unique aurait eu beaucoup d'entre eux seraient utilisés comme des « éléments de base », comme transistors ils avaient été précédemment.

A l'origine le plan devait coûter seulement quelques dollars dans les unités transputer. Le Inmos les ai vus utilisé pratiquement pour toutes les opérations (typiques d'une unité centrale de traitement en ce qui concerne un ordinateur et les fonctions de contrôleur de canal pour le lecteur de disque dans la même machine). cycles inutilisés de chacun de ces Transputer pourraient être utilisées pour d'autres tâches, ce qui augmente considérablement la performance ensemble de la machine.

Même un seul Transputer aurait eu tous les circuits nécessaires pour travailler seul, une caractéristique la plus souvent associée à micro-contrôleurs. L'idée, dans ce cas, était de permettre transordinateur de se connecter ensemble aussi facilement que possible, sans la nécessité d'un bus (Ou carte mère) Complexe. Au contraire, il suffisait simplement de fournir de l'énergie et un signal horloge, même pas à RAM, contrôleur de RAM, support le bus et même un RTOS, tout était déjà inclus.

liens externes

La conception de base du transordinateur inclus liaison série qui lui a permis de communiquer avec d'autres Transputer (jusqu'à quatre), chacun dans 5, 10 ou 20 Mbit / s, une vitesse très élevée pour ces années. Chaque groupe de transordinateur pourrait être relié avec d'autres liens encore plus longtemps (des dizaines de mètres) pour former une seule « ferme de calcul ». Une machine de bureau classique pourrait avoir deux "Low end" tâches de contrôle Transputer I / O avec certaines de ses lignes série (connecté au matériel approprié) tout en conversé avec l'un de leurs « frères aînés » fonctionnant comme CPU sur un autre. Le Transputer pourrait être initialisé à une liaison réseau (contrairement à beaucoup de voitures en mémoire), de sorte qu'un seul Transputer pourrait démarrer le réseau entier.

Il y avait des limites à la taille d'un système qui pourrait être créé de cette façon. Étant donné que chaque transordinateur a été connecté à un autre en un point à point de modèle fixe, envoyer des messages à un Transputer plus lointain, il faut que cela a été redirigé par chaque puce sur la ligne. Cela introduit un retard à chaque « hop », conduisant à de longs retards sur les grands réseaux. Pour résoudre ce problème Inmos a également fourni un interrupteur en ce que retard de zéro connecté à 32 Transputer (ou switch) dans des réseaux encore plus grandes.

planificateur

Une liaison de support est une partie d'un circuit supplémentaire qui est de l'ordre de la circulation qui se passait. Les processus qui ont été en attente de communication automatiquement mises en pause tandis que le circuit principal a terminé ses lectures et écritures. Le temps de traitement serait donnée à d'autres processus, et cela inclus deux niveaux de priorité afin d'éviter impasse. Le même système logique est utilisé pour communiquer entre les programmes en cours d'exécution sur le même Transputer, mis en œuvre comme un « réseau virtuel » dans la mémoire. Ainsi, une demande d'un programme apport ou sortie Il a été placé automatiquement mis en pause pendant que l'opération a été terminée, une tâche qui permet d'exiger que le système d'exploitation travaillait comme arbitre pour le matériel. Les systèmes d'exploitation sur le transordinateur n'a pas eu à faire face à la planification: Fondamentalement, vous pourriez penser que la puce lui-même avait un système d'exploitation à l'intérieur.

Pour inclure toutes ces fonctionnalités sur une seule puce, la noyau le Transputer était beaucoup plus simple que la plupart CPU: Il a utilisé une CPU architecture RISC, mais contrairement à la plus commune RISC basée sur l'utilisation intensive des registres, beaucoup utilisé la transordinateur cheminée. Cela a permis de revenir rapidement changement de contexte simplement déplacer le pointeur pile sur la partie de la mémoire allouée à un autre programme (une technique utilisée par de nombreux systèmes contemporains). Le transordinateur comprenait également trois registres « normal », mais ceux-ci étaient en fait des copies des trois premières cellules de la pile, utilisées pour permettre aux instructions d'adresse zéro.

Jeu d'instructions

Le jeu d'instructions du transordinateur consistait d'instructions 8 bits divisé en deux mordiller. La partie supérieure contient une instruction de codage, ce qui en fait un véritable RISC avec seulement 16 des instructions de base, la partie inférieure contient une constante, ou plus communément un 'offset par rapport au pointeur de pile. Constantes et compenser plus pourraient être utilisés, mais nécessaire adresse d'octet supplémentaire étant apporter et le décodage. En outre, des instructions ont été utilisés moins fréquemment pris en charge par le codage des instructions appelé fonctionner (RPB), qui décode les données constantes comme un code d'opération étendue, fournissant une extension de l'ensemble de l'éducation facile et presque infinie, introduit avec une nouvelle mise en œuvre du Transputer. les processus contexte petit plus rapide tournait, mais l'idée de la Transputer était encore en cours d'exécution de plusieurs petits processus.

programmation de haut niveau

Pour programmer le transordinateur, le Inmos avait prévu une langue spéciale, inspirée par un paradigme de communication de passage de messages DSP (processus communiquants) mis au point par les Britanniques C. R. R. Hoare et appelé Occam. En fait, il est plus exact de dire que le Transputer a été spécialement conçu pour exécuter le code Occam, alors que la plupart des processeurs CISC de temps, et plus tard, ils n'étaient pas (à l'exception des projets tels queiAPX 432 dell 'Intel) Conçu pour exécuter directement du code pascal, C ou Ada. Le Occam a soutenu le développement d'applications divisé en plusieurs tâches et d'écriture souvent tout simplement un programme Occam a donné lieu à une application de ce type. Avec le soutien pour les tâches et les communications intégrées dans la puce et le langage de programmation que vous interagi directement, écrire du code pour des choses comme la vérification d'un dispositif de contrôleur est devenu trivial: même le code le plus simple pourrait contrôler les ports série I / O, et il serait automatiquement mis en pause en l'absence de données.

mises en œuvre

Les premiers modèles ont été annoncés dans Transputer 1983 et commercialisé dans 1984/5. En accord avec leur rôle en tant que dispositif similaire à un microcontrôleur, Ils comprenaient 2 Ko de RAM et une RAM de contrôleur intégré, ce qui a permis d'ajouter de la mémoire sans matériel supplémentaire. Contrairement à d'autres architectures transputer inclus une MMU, bien que dans un système basé sur la pile ce n'est pas très important, car les adresses sont presque toujours compensés et ne pas nécessiter des changements complexes.

16 bits

Le transordinateur 16 bits était le prototype "S43, sans le planificateur et sans le transfert des blocs sur les liens DMA. Au lancement du T212 et M212 (Équipé d'un contrôleur de disque) sont offerts 16 bits.

32 bits

Lors du lancement du portefeuille 32 bits composé de T414. La RAM a ensuite été porté à 4 Ko T424, qui comprenait aussi une instruction pour aider piège JO débogage.

flotteur

La prochaine version était la T800, en 1987, qui comprenait une unité à virgule flottante de 64 bits et trois registres pour ce type de calcul. En outre, la RAM a été portée à 4k. Beaucoup de nouvelles générations de ces processeurs, connu sous le nom de famille T-2, T-4 et T-8 ont été mis sur le marché dans les années à améliorer la programmation et le débogage. Le commutateur 32 lien C004 Il a également été ajouté à la gamme de produits.

concurrence

En dépit de la Transputer était simple et pourtant puissant que de nombreux bâtiments contemporains, il n'a jamais été en mesure de se rapprocher de son objectif d'être utilisé dans le monde entier à la fois CPU et comme un microcontrôleur. Le deuxième domaine a été dominé par des machines 8 bits et le coût était le seul paramètre considéré. Même les T-2 était trop puissant et coûteux pour la plupart des utilisateurs. Le manque de soutien de la mémoire virtuelle transputer empêché la portage les principales variations des systèmes d'exploitation Unix (Bien que les variantes ont été produits comme Minix et Idris Whitesmiths.)

Dans le champ bureau / postes de travail le transordinateur était assez rapide, fonctionnant à environ 10 MIPS à 20 MHz, une excellente performance pour les années quatre-vingt, mais au moment où il a été vendu T800, équipé d'un FPU, d'autres architectures RISC avaient déjà dépassé. Cela aurait pu être atténué par la possibilité de créer des machines plus Transputer, mais le T800 coûte environ 400 $ pièce quand il a été mis sur le marché, de sorte que le rapport prix / puissance était défavorable.

T9000

Le Inmos a essayé d'améliorer sa gamme de produits avec l'introduction de T9000. Le T9000 avait beaucoup en commun caractéristique avec le T800, mais il a mis en œuvre un certain nombre d'innovations et fonctionnalités supplémentaires pour le soutien du superscalarità. Contrairement aux modèles précédents, le T9000 a un vrai cachette par 16kB à grande vitesse à la place de la mémoire vive; Elle a également permis d'utiliser comme mémoire et inclus la fonctionnalité de style MMU pour contrôler tout (connu sous le nom PME). Pour augmenter encore la vitesse de la T9000 déplacé dans le cache les 32 premiers emplacements de la pile, par opposition à trois des versions précédentes.

Le T9000 a utilisé une pipeline en cinq étapes pour augmenter la vitesse. Un ajout intéressant est le mérou qui ont recueilli les instructions de sortie du cache et en gros paquets groupés, 4 octets, pour alimenter plus rapidement le pipeline. Les groupes ont ensuite été achevés en un seul cycle, comme si elles étaient une seule instruction plus importante sur un processeur plus rapide.

Cependant, le Inmos n'a pas les fonds nécessaires pour poursuivre le développement de cette route ayant échoué à gagner auparavant importante part de marché et donc des revenus. D'où la crise de liquidité inévitable en raison de laquelle la société a finalement été vendue à SGS-Thomson (aujourd'hui ST Microelectronics ) Qui a éliminé le T9000 et produit les lignes de microcontrôleurs d'architecture 212/414 que les familles ST10 et ST20, maintenant plus dans la production, bien que certaines parties de cette technologie sont incluses dans le jeu de puces pour des applications spéciales (par exemple, GPS, caméras et décodeurs pour la télévision numérique).

Ironie du sort, il était en grande partie grâce à des architectures parallèles que CPU classiques est devenu plus rapide. Au lieu d'utiliser un système explicite lourd que le Transputer, les processeurs modernes fonctionnant en parallèle uniquement au niveau d'instruction, le partage de code entre un nombre fixe de noyaux. Cette forme de parallélisme, connu sous le nom superscalarità est en fait beaucoup mieux adapté au calcul d'usage général car il ne nécessite pas un programamzione parallèle spécifique et vous pouvez compiler et exécuter directement aux programmes classiques basés sur des algorithmes séquentiels.

Articles connexes

D'autres projets

  • Il contribue à Wikimedia Commons Wikimedia Commons: Il contient des images ou d'autres fichiers transordinateur