TIS-100

TIS-100

39 ratings
Reference Manual (French)
By Kartheuse
Ce guide consiste uniquement de la traduction en français du "TIS-100 Reference Manual". Je ne suis pas du tout une spécialiste en informatique, je pense qu'il y a quelques erreurs de traduction... N'hésitez pas à me les signaler, ainsi que les fautes d'orthographe et autres problèmes.
3
   
Award
Favorite
Favorited
Unfavorite
PRÉSENTATION
Le Tesselatted Intelligence System est une architecture matérielle parallèle de grande ampleur, composée de nœuds hétérogènes interconnectés répartis non-uniformément. Le Tessellated Intelligence System est idéal pour les tâches nécessitant le traitements de flux de donnés complexes, tel qu'un système financier automatisé, une collecte massive de données ou une analyse de comportement civils.
Note : Des notes telles que celle-ci apparaîtront dans ce manuel pour indiquer les cas de figure demandant une attention particulière et citer les documents contenant plus d'informations sur un sujet.
ARCHITECTURE DU SYSTEME ET ORGANISATION
Le Tessellated Intelligence System consiste en un grand nombre de nœuds indépendants connectés localement. (Se référer au manuel du modèle spécifique pour déterminer le nombre précis de nœuds d'un appareil en particulier.) Les types de nœuds sont généralement divisés en "traitement" (processing) et "stockage" (storage), avec plusieurs variantes dans chacune des catégories.

En général, les nœuds sont connectés via des ports à entre un et quatre nœuds voisins. Les ports permettent la communication d'un message court entre les nœuds. La communication via les ports est possible.

(en cours)
NŒUD DE TYPE T20 : RÉSERVÉ
Note : Ce type de nœud se limite à des modèles spécifiques du Tessellated Intelligence System et ne sera pas décrit dans ce document. Les documents relatifs au nœud de type T20 sont uniquement distribués avec les systèmes contenant ce type de nœuds. Toute demande non-autorisées ayant pour but l'obtention des documents décrivant ce nœud seront signalés au bureau de sécurité étatique, comme requis par la loi. ???
NŒUD DE TYPE T20 : BASIC EXECUTION NODE
1. Architecture
(en cours)
2. Jeu d'instructions
(en cours)

2-1. Commentaires
Syntaxe : # COMMENTAIRE
Description : Le texte situé après le symbole de commentaire # (inclus) est ignoré.
Note : Le texte placé après deux symboles de commentaire ## sera utilisé comme titre du programme dans lequel il apparaît et s'affichera sur le débogueur afin de simplifier la navigation entre programmes.

2-2. Labels
Syntaxe : <LABEL>:
Description : Les labels sont utilisés pour identifier les cibles des instructions de "saut" (jump). Quand elle est utilisée comme cible de saut, l'instruction suivant le label sera exécutée.
Exemples :
LOOP: Ce label est sur une ligne complète. L: MOV 8, ACC Ce label est sur une ligne avec une autre instruction.

2-3. NOP
Syntaxe : NOP
Syntaxe équivalente : ADD NIL
Description : NOP est une pseudo-instruction qui n'a aucun effet sur l'état interne ou les ports de communication du nœud. NOP est automatiquement converti en instruction ADD NIL.

2-4. MOV
Syntaxe : MOV <SRC>, <DST>
Description :<SRC> est lue et la valeur en résultant est écrite sur <DST>.
Exemples :
MOV 8, ACC La valeur 8 est écrite sur le registre ACC. MOV LEFT, RIGHT La valeur du port LEFT est lue, et écrite sur RIGHT. MOV UP, NIL La valeur du port UP est lue, et jetée.

2-5. SWP
Syntaxe : SWP
Description : Les valeurs de ACC et de BAK sont échangés.

2-6. SAV
Syntaxe : SAV
Description : La valeur de ACC est écrite dans BAK.

2-7. ADD
Syntaxe : ADD <SRC>
Description : La valeur de <SRC> est ajoutée à celle de ACC et le résultat est stocké dans ACC.
Exemples :
ADD 16 La valeur 16 est ajoutée à la valeur du registre ACC. ADD LEFT La valeur du port LEFT est lue, et ajoutée à ACC.

2-8. SUB
Syntaxe : SUB <SRC>
Description : La valeur de <SRC> est soustraite à celle de ACC et le résultat est stocké dans ACC.
Exemples :
SUB 16 La valeur 16 est soustraite à la valeur du registre ACC. SUB LEFT La valeur du port LEFT est lue, et soustraite à ACC.

2-9. NEG
Syntaxe : NEG
Description : La valeur de ACC change de signe. Une valeur de zéro reste identique.
(En gros, -16 devient 16 et 16 devient -16)

2-10. JMP
Syntaxe : JMP <LABEL>
Description : Transfert de l'exécution sans condition. L'instruction après le label <LABEL> sera exécutée.

2-11. JEZ
Syntaxe : JEZ <LABEL>
Description : Transfert de l'exécution avec condition. L'instruction après le label <LABEL> sera exécutée si la valeur de ACC est égale à zéro.

2-12. JNZ
Syntaxe : JNZ <LABEL>
Description : Transfert de l'exécution avec condition. L'instruction après le label <LABEL> sera exécutée si la valeur de ACC n'est pas égale à zéro.

2-13. JGZ
Syntaxe : JGZ <LABEL>
Description : Transfert de l'exécution avec condition. L'instruction après le label <LABEL> sera exécutée si la valeur de ACC est positive (supérieure à zéro).

2-14. JLZ
Syntaxe : JLZ <LABEL>
Description : Transfert de l'exécution avec condition. L'instruction après le label <LABEL> sera exécutée si la valeur de ACC est négative (inférieure à zéro).

2-15. JRO
Syntaxe : JRO <SRC>
Description : Transfert de l'exécution sans condition. L'instruction du offset spécifié par <SRC> relatif à l'instruction en cours sera exécutée.
Exemples :
JRO 0 L'instruction sera exécutée, interrompant l'exécution. JRO -1 L'instruction précédente sera exécutée. JRO 2 L'instruction suivante sera sautée et celle qui la suit sera exécutée. JRO ACC L'instruction à exécuter sera déterminée par la valeur de ACC.
3. Exemple de programmes
Le programme suivant lit une séquence de valeurs venant du port LEFT, double chacune des valeurs lues et les écrit sur le port RIGHT. En raison du fonctionnement en boucle automatisé du Basic Execution Node, il reprend à la première instruction après exécution de la dernière instruction.

MOV LEFT, ACC Lit la valeur du port LEFT et l'écrit sur le registre ACC. ADD ACC Ajoute la valeur de ACC à lui-même, ce qui la double. MOV ACC, RIGHT Lit la valeur du registre ACC, et l'écrit sur le port RIGHT.

Le programme suivant lit une séquence de valeurs venant du port UP, et écrit les valeur positives dans le port RIGHT et les valeurs négatives dans le port LEFT. Les valeurs égales à zéro ne sont pas prises en compte.

START: MOV UP, ACC Lit la valeur du port UP, et l'écrit sur le registre ACC. JGZ POSITIVE Si la valeur dans ACC est supérieure à zéro, saute à "POSITIVE". JLZ NEGATIVE Si la valeur dans ACC est inférieure à zéro, saute à "NEGATIVE". JMP START La valeur restante est égale à zéro, retour à "START". POSITIVE: MOVE ACC, RIGHT Ecrit la valeur du registre ACC dans le port RIGHT. JMP START Saute à "START". NEGATIVE: MOV ACC, LEFT Ecrit la valeur du registre ACC dans le port LEFT. JMP START Saute à "START".

NŒUD DE TYPE T30 : STACK MEMORY MODE
1. Architecture
Le Stack Memory Node (Nœud Mémoire Pile) autorise l'accès lecture/écriture ("read/write") à un grand nombre de valeurs grâce à un simple protocole de communication sur pile. (Se référer au manuel spécifique au modèle pour déterminer la capacité de Stack Memory Nodes d'un appareil en particulier.)

2. Protocole de communication
(en cours)
NŒUD DE TYPE T31 : RANDOM ACCESS MEMORY NODE
Note : Le Random Access Memory Node (Nœud Mémoire Vive) n'est pas encore disponible sur les appareils Tessellated Intelligence System standards. Des émulateurs et prototypes de hardware sont disponibles pour les utilisateurs intéressés. Les caractéristiques et fonctionnements n'étant pas encore finalisés, ils ont été omis de ce documents.

(En bas de page, écrit à la main)

À faire :
  • Trouver qui a vendu le TIS-100 au vendeur du vide-grenier
  • Restaurer le multiplicateur de signal
  • Chercher un livre d'astuces en micro-optimisation
  • Renouveler le numéro d'immatriculation
DÉBOGUEUR INTERACTIF INTÉGRÉ
1. Raccourcis clavier
Le débogueur interactif intégré contient les raccourcis clavier suivant :
Control-Z : Annuler le dernier changement
Control-Y : Rétablir le dernier changement
Control-X : Couper le texte sélectionné dans le presse-papier
Control-C : Copier le texte sélectionné dans le presse-papier
Control-V : Coller le texte du presse-papier
Control-Flèche : Naviguer au nœud d'exécution adjacent
F1 : Accéder au jeu d'instructions
F2 : Accéder au certificat anti-piratage ??
F5 : Lancer le programme en cours
F6 : Mettre en pause ou exécuter étape par étape le programme en cours

2. Points de coupure
Pour créer un point de coupure, placer un point d'exclamation "!" au début de la ligne désirée. Quand un point de coupure est créé, le programme s'interrompt avant l'exécution de la ligne, permettant de déboguer plus facilement les codes qu'il serait trop fastidieux de revoir une instruction à la fois.
MOV LEFT, ACC !ADD ACC Le programme s’interrompra avant que l'instruction ne soit exécutée. MOV ACC, DOWN
MODULE DE VISUALISATION
1. Utilisation du module de visualisation
Le TIS-100 contient un module de visualisation qui permet aux programmes de créer et d'afficher des images. Le contenu du module peut être modifié via l'envoi de séquences de commandes, qui consistant de la première coordonnée X, la première coordonnée Y, une ou plusieurs valeurs de couleurs et une valeur négative finale (souvent -1). Le système de coordonnées commence à (0,0), situé dans le coin supérieur gauche de la zone de visualisation.

Le module de visualisation supporte les couleurs suivantes :
0 : Noir
1 : Gris foncé
2 : Gris clair
3 : Blanc
4 : Rouge

2. Résolution du module de visualisation
Le module de visualisation du TIS-100 standard est large de 30 caractères et haut 18 caractères. La "sandbox de la console d'images" contient un plus grand module de visualisation de 36 caractères de large et 22 caractères de haut.

3. Exemple de séquences de commandes
0,0,3,-1 Dessine un pixel blanc dans le coin supérieur gauche de l'écran du module. 0,0,4,4,4,4,4,-1 Dessine une ligne horizontale rouge dans le coin supérieur gauche de l'écran du module.
12 Comments
Trilion29 11 Aug, 2020 @ 3:20pm 
Merci, ca m'a aidé pour la subtilité de la commande NIL.:steamhappy:
Xaetral 11 May, 2020 @ 12:03pm 
les "point de coupure" on appelle ça communément des points d'arrêt
onizu 22 Apr, 2020 @ 6:52pm 
Merci !!
ChouxGuevara 12 Dec, 2016 @ 2:06pm 
Je propose une traduction des parties manquantes de : System Architecture and organization
ici ce trouve la fin du second paragraphe, que tu peux copier à la place de la dernière phrase que tu as écrite dans cette partie. il y a aussi les notes, dont deux dans le commentaire suivant (anti-chronologiquement parlant) et merci beaucoup d'avoir lancé ce guide :steamhappy:

la communication par les ports est coordonnée de cette façon : lorsqu'un noeud lit ou écrit une donnée sur un port, il est bloqué jusqu'à ce que la requete soit remplie par le noeud correspondant (en attente d'écriture ou en attente d'être lu).
-
Note: Si deux noeuds recoivent la même commande de communication (lire ou écrire) sur la connection entre eux, les noeuds seront blocqués et une défaillance matériel apparaitra.
ChouxGuevara 12 Dec, 2016 @ 2:06pm 
(suite du commentaire précédent)
Note: Si un noeud émet une commande de communication et qu'elle n'est jamais reçu par le noeud correspondant alors le noeud sera blocqué et une défaillance matériel apparaitra. (Des exceptions existent; référez-vous à la documentation sur les types de noeud spécifique) Référez-vous au document -non inclu- "Tessellated Intelligence System Best Practices-Patterns of Node Communication" pour des détails sur comment utilisé les ports efficacement et de facon sûr.

Note; Ce document ne décrit pas ni la temporisation ni le débit ou la capacité des commandes de communication et des instructions comme ces valeurs varient en fonction des models et des séries. Référez-vous au manuel d'un modèle spécifique pour plus de détails sur les performances et les caractéristiques d'un modèle particulier.
stevensixkiller 8 Dec, 2015 @ 2:22pm 
Une proposition de traduction pour les parties manquantes:
Noeud de type T21 - Noeud d'exécution basique
[h1]1. Architecture[/h1]
Le Noeud d'Exécution Basique (NEB) est en charge de la coordination du comportement du Système d'Intelligence en Pavage (SIP). Le traitement peut se produire au sein d'un NEB ou peut être délégué à des noeuds spécialisés de traitement et de stockage.
stevensixkiller 8 Dec, 2015 @ 2:22pm 
Le NEB exécute un programme écrit avec le jeu d'instruction du NEB. Un programme de NEB spécifie des opérations de calcul et de communication à effectuer. Les opérations sont effectuées séquentiellement, en commençant par la première instruction du programme. Après avoir exécuté la dernière instruction du programme, l'exécution reprend automatiquement à la première instruction. Ce comportement permet l'utilisation commune des NEB, dans laquelle les programmes sont écrits pour opérer en une boucle continue.

En supplément des ports de communication communs à tous les noeuds d'un SIP, le NEB contient quelques registres qui sont utilisés dans l'exécution du programme. Aucune mémoire additionnelle n'est disponible sur le NEB; si un stockage additionnel est requis, le noeud doit se coordonner avec un autre NEB ou un noeud de stockage.
stevensixkiller 8 Dec, 2015 @ 2:22pm 
Tous les registres stockent des valeurs entières comprises entre -999 et 999 compris. La représentation des valeurs des registres est définie par sa mise en oeuvre, et la connaissance de cette représentation n'est pas requise pour programmer le NEB.

1-1. ACC
Type: Interne
Description: ACC (accumulateur) est le registre primaire d'un NEB. ACC est utilisé comme une opérande source ou destination implicite dans de nombreuses instructions, dont des instructions arithmétiques et conditionnelles.

1-2. BAK
Type: Interne (non addressable)
Description: BAK est un stockage temporaire pour les valeurs dans ACC. Il n'est accessible que par les instructions SAV et SWP, et ne peux être lu ou écrit directement.
stevensixkiller 8 Dec, 2015 @ 2:22pm 
1-3. NIL
Type: Interne (spécial)
Description: Lire la valeur NIL produit une valeur zéro. Ecrire sur NIL n'a pas d'effet. NIL peut être utilisé comme une opérande destination pour exécuter une instruction pour ses effets de bord uniquement, en se défaussant du résultat.

1-4. LEFT, RIGHT, UP, DOWN
Type: Port
Description: Les quatres registres de communication UP (haut), DOWN (bas), LEFT (gauche), RIGHT (droite) correspondent aux quatres ports que tous les NEB utilisent pour communiquer avec les noeuds topologiquements adjacents. Certains ports seront déconnectés sur certains noeuds au sein du matériel, et se bloqueront indéfiniment si une commande de lecture (READ) ou d'écriture (WRITE) est émise. Se référer au diagramme d'interconnexion du noeud pour déterminer quels ports sont disponible à l'utilisation.
stevensixkiller 8 Dec, 2015 @ 2:21pm 
1-5. ANY
Type: Port (pseudo-port)
Description: Quand ANY est utilisé comme source d'une instruction, l'instruction va lire la première valeur qui sera disponible sur n'importe quel port. Quand ANY est utilisé comme destination d'une instruction, le résultat de cette instruction sera envoyé au premier noeud qui lira n'importe quel port de ce noeud.

1-6. LAST
Type: Port (pseudo-port)
Description: LAST fait référence au dernier port lu ou écrit en utilisant le pseudo-port ANY. Autrement, il agit de la même manière que si un port explicite était spécifié. Lire depuis ou écrire sur LAST avant qu'il n'ai été lu ou écrit avec succès par le biais du pseudo-port ANY résultera en un comportement défini par la mise en oeuvre. Se référer au document séparé "SIP Best Practices - Patterns of Node Communication" pour des exemples de code illustrant l'utilisation du pseudo-port LAST.