
Ternair Processor TP
Un processeur fondé sur la logique ternaire (états 0, 1, 2) qui dépasse les contraintes du binaire : densité d’information supérieure, consommation énergétique réduite et nouvelles architectures pour l’IA et le calcul haute performance.
Qu’est-ce que le Ternair Processor TP ?
Le Ternair Processor TP est une unité de calcul reposant sur la logique ternaire plutôt que binaire. Là où un bit ne peut prendre que deux valeurs (0 ou 1), un trit en admet trois (0, 1, 2), ou de façon équilibrée −1, 0, +1. Cette base 3 permet de coder davantage d’information par unité, de simplifier certains circuits arithmétiques et de réduire le nombre de commutations, donc l’énergie dissipée. Le TP est par ailleurs agnostique du dispositif : il peut être réalisé sur CMOS multi-seuils, sur transistors à nanotubes de carbone (CNTFET) ou sur memristors — ces derniers stockant un trit par composant et ouvrant la voie au calcul en mémoire.
Densité d’information
Un trit transporte log₂(3) ≈ 1,58 bit. À nombre de fils égal, un bus ternaire véhicule ~58 % d’information en plus, réduisant l’encombrement des interconnexions.
Efficacité énergétique
Moins de digits et moins de commutations pour représenter une même valeur : la logique ternaire promet une réduction substantielle de l’énergie dynamique par opération.
Arithmétique équilibrée
Le ternaire équilibré (−1, 0, +1) représente naturellement les nombres signés : le signe est intrinsèque, la négation est triviale et l’arrondi est symétrique.
Adapté à l’IA
Les réseaux de neurones ternaires (poids −1/0/+1) alignent parfaitement le modèle algorithmique et le matériel, ouvrant la voie à une inférence dense et sobre.
Proposition de valeur
- Repousser le plafond énergétique du calcul à l’ère de l’IA générative et de l’edge.
- Réduire la complexité des interconnexions grâce à une densité logique supérieure.
- Offrir une arithmétique élégante et symétrique pour le calcul scientifique.
La logique 0 · 1 · 2 et le ternaire équilibré
La logique ternaire manipule trois niveaux logiques distincts. Deux conventions coexistent : le ternaire non signé (0, 1, 2), pratique pour l’implémentation matérielle par niveaux de tension, et le ternaire équilibré (−1, 0, +1), idéal pour l’arithmétique signée. Les opérateurs fondamentaux ne sont plus le simple ET/OU booléen mais des fonctions min, max et des négations multiples.
Les trois états logiques
Trois niveaux de tension (p. ex. 0 V, ½ V_DD, V_DD). Naturel pour la mémoire et la logique multi-niveaux ; un memristor multi-niveaux matérialise nativement ces trois états.
Le zéro est central : le signe d’un nombre est celui de son trit le plus significatif non nul. Négation = inversion des signes.
Portes logiques ternaires
Les portes ternaires généralisent les portes booléennes. Le ET devient un minimum, le OU un maximum, et l’inverseur peut être simple, positif ou négatif. Explorez ci-dessous le comportement des opérateurs pour toutes les combinaisons d’entrées.
Signal ternaire à trois niveaux discrets (0 / 1 / 2).
Démonstration interactive
Cliquez sur les entrées A et B pour parcourir les états 0 → 1 → 2 et observez les sorties en temps réel.
Fondements arithmétiques de la base 3
Le calcul ternaire repose sur une arithmétique rigoureuse. Le ternaire équilibré (chiffres −1, 0, +1, notés T, 0, 1) rend le signe intrinsèque à la représentation et confère aux opérations une symétrie remarquable. Explorez les conversions, les tables d’opérations et le convertisseur interactif ci-dessous.
Économie de base (radix economy)
Le coût matériel pour représenter une plage de valeurs est proportionnel à b · logᵦ(N), où b est la base. Minimiser cette fonction donne la base optimale e ≈ 2,718 — et 3 est l’entier le plus proche. La base 3 est donc théoriquement la plus efficace des bases entières.
E(b) = b / ln(b) → min at b = e ≈ 2.718Conversions décimal ↔ ternaire équilibré
| Décimal | Ternaire équilibré | Développement |
|---|---|---|
| −4 | TT | −3 −1 |
| −1 | T | −1 |
| 0 | 0 | 0 |
| 1 | 1 | +1 |
| 5 | 1TT | +9 −3 −1 |
| 11 | 11T | +9 +3 −1 |
| 13 | 111 | +9 +3 +1 |
Notation : T = −1, chaque colonne vaut une puissance de 3 (…, 9, 3, 1).
Convertisseur interactif
Saisissez un entier (−9841 à 9841) pour voir sa représentation en ternaire équilibré, non signé et en binaire.
Table d’addition (ternaire équilibré)
| + | T | 0 | 1 |
|---|---|---|---|
| T | 1↓1 | T | 0 |
| 0 | T | 0 | 1 |
| 1 | 0 | 1 | T↑1 |
La somme de deux trits peut générer une retenue (indiquée par ↑1 ou ↓1). La symétrie autour de 0 est totale.
Propriétés arithmétiques clés
- Négation triviale : inverser un nombre revient à échanger les chiffres 1 ↔ T. Aucun circuit dédié.
- Signe intrinsèque : le signe est celui du trit le plus significatif non nul ; pas de bit de signe séparé.
- Arrondi symétrique : tronquer revient à arrondir au plus proche, sans biais systématique.
- Retenue rare : la probabilité de propagation de retenue est plus faible, accélérant l’addition.
Conception du Ternair Process Unit (TPU)
Le cœur du Ternair Processor est le TPU — Ternair Process Unit. Il organise, autour d’un chemin de données entièrement ternaire, un ensemble d’unités spécialisées reliées par un bus de trits. Le schéma bloc ci-dessous détaille le pipeline, la hiérarchie mémoire et les convertisseurs de frontière assurant l’interopérabilité avec le monde binaire.
Pipeline d’exécution ternaire
Chargement
Lecture des instructions ternaires depuis la mémoire de trits (T-Cache).
Décodage
Interprétation de l’ISA ternaire ; les opcodes exploitent la densité de la base 3.
Exécution
ALU ternaire (MIN/MAX/inverseurs) et additionneur en ternaire équilibré.
Mémoire
Accès au fichier de registres de trits et à la mémoire multi-niveaux.
Écriture
Renvoi des résultats vers les registres, prêts pour l’instruction suivante.
Principes de conception
- Chemin de données natif en trits, sans conversion interne binaire.
- Convertisseurs binaire↔ternaire uniquement aux frontières d’E/S.
- Modèle hybride : le TPU agit comme accélérateur piloté par un hôte binaire.
- Mémoire multi-niveaux : trois niveaux par cellule pour densifier le stockage ; des cellules memristives non volatiles autorisent en outre un démarrage instantané.
Optimisation des circuits internes
Pour tenir ses promesses, le TPU ne se contente pas d’unités rapides : il optimise le flux de données entre ses circuits internes. Un tissu d’interconnexion ternaire, des caches cohérents et des opérations fusionnées réduisent les déplacements de trits et la consommation d’énergie.
Tissu d’interconnexion ternaire
Réseau sur puce (NoC) reliant T-CPU, T-GPU, T-TPU et T-NPU par des liens de trits à faible latence.
Cache partagé cohérent
Hiérarchie de caches de trytes cohérents évitant les copies redondantes entre unités.
Ordonnancement inter-unités
Un répartiteur dirige chaque instruction vers l’unité la plus efficace, en recouvrant calcul et transferts.
Opérations fusionnées (MAC)
Les chemins multiplication-accumulation fusionnés évitent les allers-retours vers les registres.
Alimentation adaptative
Chaque unité inactive est isolée (power/clock gating) pour économiser l’énergie.
Chemins de données larges
Des bus de trytes larges déplacent plus d’information par cycle grâce à la densité de la base 3.
Calcul en mémoire (memristif)
Des crossbars de memristors réalisent le produit matrice-vecteur là où les données résident, supprimant le va-et-vient mémoire-calcul.
CPU · APU · GPU · TPU · NPU en ternaire
Le Ternair Process Unit fédère cinq familles d’unités de calcul, chacune réinventée pour la logique à trois états. Ensemble, elles couvrent le contrôle général, l’arithmétique intensive, le rendu graphique parallèle, le calcul tensoriel et l’inférence neuronale.
Orchestre le flux d’instructions, la logique de branchement et le séquencement. Son ISA ternaire code plus d’opérations par mot grâce à la densité de la base 3, réduisant la pression sur le cache d’instructions.
- Séquenceur & unité de contrôle micro-programmée ternaire
- Branchement natif à 3 issues (négatif / zéro / positif) en une instruction
- Fichier de 27 registres de trits + pointeur de pile
- Prédiction de branchement ternaire et pipeline 5 étages
- Gestion des interruptions et des E/S mémoire-mappées
Spécialisée dans l’arithmétique en ternaire équilibré : addition à retenue rare, négation triviale et arrondi symétrique. Idéale pour le calcul scientifique et le traitement du signal exigeant en précision.
- Additionneur/soustracteur à propagation de retenue anticipée
- Multiplieur & diviseur à réduction de retenue
- Négation triviale (échange 1 ↔ T) sans circuit dédié
- Virgule flottante ternaire (mantisse/exposant en trits)
- Opérateurs logiques MIN / MAX / CONS et décalages ternaires
Un large réseau de cœurs ternaires SIMT dédié au parallélisme massif : rastérisation, ombrage et calcul général (GPGPU). La densité de la base 3 augmente le débit de trits par cœur tout en réduisant l’énergie par pixel.
- Milliers de cœurs SIMT ternaires groupés en warps de trits
- Pipeline graphique : sommets → rastérisation → fragments
- Shaders ternaires programmables (T-Shader)
- Mémoire partagée multi-niveaux et coalescence d’accès
- Mode GPGPU pour physique, simulation et pré/post-traitement IA
Réseau systolique de cellules ternaires exécutant des produits matriciels massifs. Les poids ternaires (−1/0/+1) transforment les multiplications en additions/soustractions, maximisant le débit par watt.
- Réseau systolique MAC ternaire (produit matriciel)
- Multiplication sans multiplieur (add/sub sur poids −1/0/+1)
- Accumulateurs à large plage et convolution matérielle
- Flux de données à faible mouvement mémoire (dataflow)
- Option crossbar memristif : produit matrice-vecteur en mémoire
Conçue pour les réseaux de neurones ternaires et quantifiés. L’alignement parfait entre poids −1/0/+1 et matériel offre une inférence dense, sobre et à faible latence pour les LLM embarqués.
- Moteur de réseaux de neurones ternaires (TNN)
- Fonctions d’activation à 3 états et quantification en ligne
- Mémoire de poids compressée ternaire
- Traitement en flux (streaming) pour LLM à faible latence
- Poids stockés en conductances sur crossbar memristif (calcul en mémoire)
TernASM, la bibliothèque libtern et le compilateur ternc
Piloter le Ternair Process Unit exige une pile logicielle native à la base 3. Elle repose sur trois briques : le langage d’assemblage TernASM (jeu d’instructions ternaire), la bibliothèque d’exécution libtern, et le compilateur ternc qui traduit un langage de haut niveau en code machine de trits. Le simulateur ci-dessous exécute réellement du TernASM dans votre navigateur.
Un ordinateur ternaire complet
Grâce à ces instructions et à la bibliothèque libtern, le TPU peut prendre en charge tout ce qu’on attend d’un ordinateur moderne : calcul, mémoire, fichiers, réseau, affichage, son, sécurité et interface graphique.
Arithmétique entière, virgule flottante ternaire et logique à trois états.
RAM de trytes, pile matérielle et hiérarchie de caches multi-niveaux.
Clavier, console, périphériques et flux de données.
Système de fichiers ternaire, processus et ordonnancement.
Piles de communication et protocoles pour échanger des trytes.
Rendu 2D/3D, shaders et composition via le T-GPU.
Synthèse, traitement du signal et lecture sonore.
Primitives cryptographiques exploitant l’entropie ternaire.
Fenêtres, widgets et événements pour applications interactives.
Chaîne de compilation
Langage haut niveau à types ternaires (trit, tryte, tint).
Analyse, optimisations base 3, allocation de registres de trits.
Assembleur ternaire lisible : mnémoniques et étiquettes.
Résolution des étiquettes, encodage en mots de trits.
Exécutable natif chargé par le TPU.
Jeu d’instructions TernASM
CPU · T-CPU · TernASMRegistres R0–R8 (ternaire équilibré). Les valeurs immédiates sont en décimal. Branchements à 3 issues selon le signe.
| Mnémonique | Opérandes | Description |
|---|---|---|
| LDI | Rd, imm | Charge une valeur immédiate dans Rd. |
| MOV | Rd, Rs | Copie Rs dans Rd. |
| ADD | Rd, Rs, Rt | Rd = Rs + Rt (ternaire équilibré). |
| SUB | Rd, Rs, Rt | Rd = Rs − Rt. |
| MUL | Rd, Rs, Rt | Rd = Rs × Rt. |
| DIV | Rd, Rs, Rt | Division entière : Rd = Rs ÷ Rt. |
| MOD | Rd, Rs, Rt | Reste : Rd = Rs mod Rt. |
| MAC | Rd, Rs, Rt | Multiplication-accumulation fusionnée : Rd += Rs × Rt. |
| ADDI | Rd, Rs, imm | Rd = Rs + valeur immédiate. |
| MULI | Rd, Rs, imm | Rd = Rs × valeur immédiate. |
| ABS | Rd, Rs | Valeur absolue : Rd = |Rs|. |
| NEG | Rd, Rs | Négation triviale : Rd = −Rs (échange 1↔T). |
| SWAP | Rd, Rs | Échange le contenu de Rd et Rs. |
| CLR | Rd | Remet Rd à zéro. |
| SIGN | Rd, Rs | Signe natif : Rd = −1, 0 ou +1 selon Rs (une seule opération). |
| SAT | Rd, Rs | Sature en un trit : Rd ∈ {−1, 0, +1}. |
| CLAMP | Rd, Rs, Rlo, Rhi | Borne Rs dans [Rlo, Rhi]. |
| MED3 | Rd, Ra, Rb, Rc | Médiane de 3 (filtrage anti-bruit natif). |
| TSEL | Rd, Rc, Rn, Rz, Rp | Multiplexeur ternaire : choisit selon le signe de Rc. |
| MIN | Rd, Rs, Rt | ET ternaire : Rd = min(Rs, Rt). |
| MAX | Rd, Rs, Rt | OU ternaire : Rd = max(Rs, Rt). |
| JMP | label | Saut inconditionnel vers l’étiquette. |
| BR3 | Rs, neg, zer, pos | Branche à 3 issues selon le signe de Rs. |
| JLZ | Rs, label | Saute si Rs < 0. |
| JGZ | Rs, label | Saute si Rs > 0. |
| OUT | Rs | Écrit Rs sur la sortie (décimal + ternaire). |
| HALT | — | Arrête l’exécution. |
Jeu d’instructions système & mémoire
T-CPU · MEM · STACKPour se comporter comme un vrai ordinateur, le TPU dispose d’instructions généralistes : accès mémoire, pile matérielle, sous-programmes (CALL/RET), comparaison à trois issues, décalages ternaires et E/S. Toutes ces instructions sont réellement exécutées par le simulateur ci-dessous.
Mémoire de 243 trytes (adresses 0–242). La pile grandit à partir du sommet. CMP renvoie −1, 0 ou +1 — un comparateur naturellement ternaire.
| Mnémonique | Opérandes | Description |
|---|---|---|
| LD | Rd, [Rs] | Charge depuis la mémoire : Rd = MEM[Rs]. |
| ST | [Rd], Rs | Range en mémoire : MEM[Rd] = Rs. |
| LDA | Rd, addr | Charge depuis une adresse immédiate. |
| STA | addr, Rs | Range à une adresse immédiate. |
| PUSH | Rs | Empile Rs sur la pile matérielle. |
| POP | Rd | Dépile le sommet dans Rd. |
| CALL | label | Appelle un sous-programme (empile le retour). |
| RET | — | Retour de sous-programme. |
| CMP | Rd, Rs, Rt | Comparateur ternaire : Rd = signe(Rs − Rt). |
| INC | Rd | Incrémente : Rd = Rd + 1. |
| DEC | Rd | Décrémente : Rd = Rd − 1. |
| SHL | Rd, Rs | Décalage ternaire gauche : Rd = Rs × 3. |
| SHR | Rd, Rs | Décalage ternaire droit : Rd = Rs ÷ 3. |
| JEQ | Rs, Rt, label | Saute si Rs = Rt. |
| JNE | Rs, Rt, label | Saute si Rs ≠ Rt. |
| JZ | Rs, label | Saute si Rs = 0. |
| NOP | — | Aucune opération. |
Instructions arithmétiques ternaires (T-APU)
ALU · T-APU · FP3Le T-APU expose un jeu d’instructions taillé pour le calcul numérique intensif en ternaire équilibré. L’addition profite d’une retenue rare, la négation est triviale (échange 1 ↔ T) et l’arrondi est symétrique. Une unité de virgule flottante ternaire complète l’ensemble pour le calcul scientifique.
Les nombres flottants ternaires codent mantisse et exposant en trits. Les comparaisons renvoient directement les trois issues (−, 0, +) du comparateur ternaire natif.
Arithmétique entière & haute précision
| Mnémonique | Opérandes | Description |
|---|---|---|
| ADDX | Rd, Ra, Rb | Addition étendue avec retenue anticipée (retenue rare). |
| SUBX | Rd, Ra, Rb | Soustraction étendue via négation triviale de Rb. |
| MULW | Rhi, Rlo, Ra, Rb | Multiplication large (résultat double longueur). |
| DIVR | Rq, Rr, Ra, Rb | Division euclidienne : quotient Rq et reste Rr. |
| NEGT | Rd, Rs | Négation triviale (échange 1 ↔ T) sans circuit dédié. |
| CMP3 | Rd, Ra, Rb | Comparaison à 3 issues : Rd = − / 0 / + selon Ra vs Rb. |
Virgule flottante ternaire
| Mnémonique | Opérandes | Description |
|---|---|---|
| FADD | Fd, Fa, Fb | Addition flottante ternaire (arrondi symétrique). |
| FMUL | Fd, Fa, Fb | Multiplication flottante ternaire. |
| FMA | Fd, Fa, Fb, Fc | Multiplication-addition fusionnée (Fd = Fa·Fb + Fc). |
| FDIV | Fd, Fa, Fb | Division flottante ternaire. |
| FCVT | Fd, Rs | Conversion entier ternaire ↔ flottant ternaire. |
| FCMP | Rd, Fa, Fb | Comparaison flottante à 3 issues. |
Logique ternaire & décalages
| Mnémonique | Opérandes | Description |
|---|---|---|
| TMIN | Rd, Ra, Rb | ET ternaire : minimum trit par trit. |
| TMAX | Rd, Ra, Rb | OU ternaire : maximum trit par trit. |
| TCONS | Rd, Ra, Rb | Consensus : renvoie la valeur commune, sinon 0. |
| TSHL | Rd, Rs, n | Décalage à gauche : multiplie par 3^n. |
| TSHR | Rd, Rs, n | Décalage à droite : divise par 3^n. |
| TCLZ | Rd, Rs | Compte les trits nuls de tête (normalisation). |
La base 3 réduit la fréquence des propagations de retenue, accélérant les additions larges.
Changer de signe = échanger 1 et T : aucun circuit de complément à deux nécessaire.
Mantisse et exposant en trits, arrondi symétrique sans biais pour le calcul scientifique.
Les opérateurs ternaires natifs remplacent des séquences booléennes entières.
Instructions graphiques 3D & trigonométrie (T-GPU)
3D · T-GPU · CORDIC / TMXLe T-GPU ajoute un jeu d’instructions dédié au rendu 3D temps réel. Les fonctions trigonométriques sont évaluées par un cœur CORDIC ternaire (rotations successives sans multiplieur), et les transformations géométriques opèrent sur des vecteurs et matrices de trytes. Angles et coordonnées sont normalisés en virgule fixe ternaire, où le tour complet se divise naturellement en puissances de 3.
Registres vectoriels V0–V7 (voies x, y, z). Les angles sont exprimés en tours fractionnaires ternaires (1 tour = 3^n pas). Le test de profondeur exploite le comparateur ternaire natif (− devant, 0 égalité, + derrière).
Trigonométrie (CORDIC ternaire)
| Mnémonique | Opérandes | Description |
|---|---|---|
| TSIN | Rd, Ra | Sinus de l’angle Ra (tour fractionnaire) via CORDIC. |
| TCOS | Rd, Ra | Cosinus de l’angle Ra. |
| TSINCOS | Rs, Rc, Ra | Sinus et cosinus en une passe (Rs = sin, Rc = cos). |
| TTAN | Rd, Ra | Tangente de l’angle Ra. |
| TATAN2 | Rd, Ry, Rx | Arc-tangente à deux arguments atan2(y, x) — angle d’un vecteur. |
| TSQRT | Rd, Rs | Racine carrée (CORDIC hyperbolique). |
| TRSQRT | Rd, Rs | Racine carrée inverse 1/√Rs — normalisation rapide. |
Vecteurs & géométrie
| Mnémonique | Opérandes | Description |
|---|---|---|
| VDOT3 | Rd, Vs, Vt | Produit scalaire 3D : Rd = x·x + y·y + z·z. |
| VCROSS | Vd, Vs, Vt | Produit vectoriel 3D (normale d’un triangle). |
| VNORM | Vd, Vs | Normalise un vecteur (utilise TRSQRT). |
| VLEN | Rd, Vs | Longueur euclidienne d’un vecteur. |
| VLERP | Vd, Vs, Vt, Rk | Interpolation linéaire entre deux vecteurs (facteur Rk). |
| VREFL | Vd, Vi, Vn | Réflexion d’un vecteur Vi sur la normale Vn (éclairage). |
Transformations & pipeline de rendu
| Mnémonique | Opérandes | Description |
|---|---|---|
| MROT | Md, Ra, axis | Construit une matrice de rotation autour d’un axe (appelle TSINCOS). |
| MMUL4 | Md, Ma, Mb | Multiplie deux matrices 4×4 (composition de transformations). |
| MVEC | Vd, Ma, Vs | Applique une matrice à un vecteur (modèle → monde → vue). |
| PROJ | Vd, Vs, Rf | Projection perspective (division par la profondeur, focale Rf). |
| ZTEST | Rd, Rz, Rbuf | Test de profondeur à 3 issues (devant / égal / derrière). |
| RASTER | V0, V1, V2 | Rastérise un triangle (coordonnées barycentriques). |
| TEX | Vd, Ruv, Rtex | Échantillonne une texture aux coordonnées UV. |
SIMD média — extension TMX
| Mnémonique | Opérandes | Description |
|---|---|---|
| VLDI | Vd, a, b, c | Charge 3 voies immédiates dans Vd. |
| VMOV | Vd, Vs | Copie le vecteur Vs dans Vd. |
| VADD | Vd, Vs, Vt | Addition packée : Vd[i] = Vs[i] + Vt[i]. |
| VSUB | Vd, Vs, Vt | Soustraction packée voie par voie. |
| VMUL | Vd, Vs, Vt | Multiplication packée voie par voie. |
| VNEG | Vd, Vs | Négation packée (échange 1↔T sur chaque voie). |
| VABS | Vd, Vs | Valeur absolue packée voie par voie. |
| VSHL | Vd, Vs | Décalage ternaire gauche packé (×3 par voie). |
| VMIN | Vd, Vs, Vt | ET ternaire packé : min voie par voie. |
| VMAX | Vd, Vs, Vt | OU ternaire packé : max voie par voie. |
| VSAT | Vd, Vs | Saturation packée voie par voie vers un trit. |
| VMED3 | Vd, Va, Vb, Vc | Médiane packée de 3 vecteurs (filtre médian rapide). |
| VOUT | Vs | Écrit les 3 voies de Vs sur la sortie. |
Sinus, cosinus et racines s’obtiennent par de simples décalages et additions ternaires, idéal pour un GPU sobre.
Un tour complet se divise en 3^n pas égaux : pas d’erreur d’arrondi sur les angles remarquables.
Le comparateur ternaire tranche devant / égal / derrière en une seule opération (ZTEST).
Transformations, projection, rastérisation et texturage enchaînés en trytes, du sommet au pixel.
Instructions de calcul tensoriel (T-TPU)
TENSOR · T-TPU · GEMM / TMXLe T-TPU orchestre un réseau systolique de cellules ternaires pour exécuter des produits matriciels massifs. Les poids ternaires (−1/0/+1) transforment les multiplications en additions et soustractions, et un mode crossbar memristif permet le produit matrice-vecteur directement en mémoire.
Les instructions opèrent sur des tuiles (tiles) chargées dans le réseau. Le flux de données minimise le mouvement mémoire ; les accumulateurs sont à large plage pour éviter tout débordement.
Produit matriciel systolique
| Mnémonique | Opérandes | Description |
|---|---|---|
| MLOAD | Ma, ptr | Charge une tuile de poids ternaires dans le réseau. |
| MMAC | Mc, Ma, Mb | Multiplication-accumulation matricielle (add/sub sur poids). |
| GEMM | Mc, Ma, Mb | Produit matriciel général Mc = Ma·Mb. |
| MTRANSP | Md, Ms | Transposition matérielle d’une tuile. |
| MRED | Vd, Ms | Réduction (somme) d’une matrice sur un axe. |
Convolution & flux de données
| Mnémonique | Opérandes | Description |
|---|---|---|
| CONV2D | Md, Ms, Mk | Convolution 2D matérielle (noyau ternaire Mk). |
| CONVDW | Md, Ms, Mk | Convolution profondeur par profondeur (depthwise). |
| IM2COL | Md, Ms | Déroule les fenêtres en colonnes pour le GEMM. |
| POOL | Md, Ms, mode | Sous-échantillonnage (max/moyenne ternaire). |
| PAD | Md, Ms, n | Rembourrage des bords avec des trits nuls. |
Crossbar memristif (calcul en mémoire)
| Mnémonique | Opérandes | Description |
|---|---|---|
| XLOAD | Xarr, Ms | Programme les poids en conductances sur le crossbar. |
| XMV | Vd, Xarr, Vs | Produit matrice-vecteur analogique en mémoire (loi d’Ohm). |
| XACC | Vd, Xarr, Vs | Accumule plusieurs passes XMV pour de grandes matrices. |
| XREFRESH | Xarr | Rafraîchit les conductances (compense la dérive). |
SIMD tenseurs — extension TMX
| Mnémonique | Opérandes | Description |
|---|---|---|
| VMAC | Vd, Vs, Vt | MAC packée fusionnée : Vd[i] += Vs[i]·Vt[i]. |
| VDOT | Rd, Vs, Vt | Produit scalaire : Rd = Σ Vs[i]·Vt[i]. |
| VSUM | Rd, Vs | Réduction horizontale : Rd = Σ Vs[i]. |
Les cellules propagent poids et activations en cadence pour un débit matriciel élevé.
Des poids −1/0/+1 réduisent chaque produit à une addition, une soustraction ou rien.
Le mouvement mémoire est minimisé : les données circulent au sein du réseau.
Le produit matrice-vecteur s’exécute en mémoire, sans va-et-vient vers la RAM.
Instructions neuronales ternaires (T-NPU)
NEURAL · T-NPU · TNNLe T-NPU cible les réseaux de neurones ternaires et quantifiés. L’alignement parfait entre poids −1/0/+1 et matériel offre une inférence dense et sobre : les couches, activations et étapes de quantification deviennent des instructions natives, jusqu’au décodage en flux des grands modèles de langage.
Les poids sont stockés compressés en ternaire. Les activations à trois états et la quantification en ligne évitent les allers-retours vers une représentation binaire.
Couches neuronales ternaires
| Mnémonique | Opérandes | Description |
|---|---|---|
| TLIN | Vd, Vs, Mw | Couche linéaire (entièrement connectée) à poids ternaires. |
| TCONV | Vd, Vs, Mk | Couche de convolution ternaire. |
| TBN | Vd, Vs | Normalisation par lot repliée dans l’échelle ternaire. |
| TRES | Vd, Va, Vb | Connexion résiduelle (addition d’activations). |
| TATT | Vd, Vq, Vk, Vv | Bloc d’attention ternaire (Q, K, V). |
Activations & quantification
| Mnémonique | Opérandes | Description |
|---|---|---|
| TRELU | Vd, Vs | Activation à 3 états (négatif → 0, garde 0 et +). |
| TSIGN | Vd, Vs | Fonction signe ternaire (−, 0, +). |
| TQUANT | Vd, Vs, Rs | Quantifie des activations vers des trits (seuil Rs). |
| TSOFT | Vd, Vs | Softmax approximé en base 3 pour l’attention. |
| TDEQ | Vd, Vs, Re | Déquantification vers virgule flottante ternaire. |
Inférence LLM en flux
| Mnémonique | Opérandes | Description |
|---|---|---|
| TEMB | Vd, Rtok | Recherche d’embedding pour un jeton. |
| TROPE | Vd, Vs, Rpos | Encodage positionnel rotatif (RoPE) ternaire. |
| TKV | Kbuf, Vbuf, Vk, Vv | Met à jour le cache clé/valeur en flux. |
| TGEMV | Vd, Mw, Vs | Produit matrice-vecteur (décodage jeton par jeton). |
| TTOP | Rd, Vs, k | Échantillonnage top-k du prochain jeton. |
Couches, attention et résidus s’exécutent nativement sur des poids −1/0/+1.
Signe et seuils ternaires remplacent les activations binaires coûteuses.
Stocker les poids en trits réduit la mémoire et la bande passante nécessaires.
Cache clé/valeur, RoPE et décodage jeton par jeton pour l’IA embarquée.
Fonctions accélérées nativement
MMX-like · natif base 3De même que MMX/SSE ont donné aux processeurs binaires des instructions spécialisées pour le multimédia, la base 3 offre des primitives que le TPU réalise en une seule opération là où un binaire en demande plusieurs. Ces fonctions exploitent l’existence naturelle d’un troisième état (négatif, zéro, positif).
Le signe est une valeur ternaire native : négatif, nul, positif — un seul branchement à trois voies.
La médiane de trois échantillons, base du débruitage capteur et image, tient en une instruction packée.
Choisir parmi trois valeurs selon un signe se fait sans branchement, idéal pour la logique de contrôle.
Les réseaux ternaires remplacent la multiplication par une simple addition, accélérée par VMAC.
Le troisième état « indifférent » est natif : idéal pour les tables de routage et le filtrage de paquets IoT.
En ternaire équilibré, la négation est triviale et il n’existe pas de zéro négatif ni de dépassement asymétrique.
Ramener une valeur à {−1, 0, +1} — utile pour la quantification et les activations — est une instruction unique.
Chaque trit porte log₂3 ≈ 1,58 bit d’entropie, densifiant clés et masques cryptographiques.
Interopérabilité binaire : ponts IoT, ARM et x64
IoT · ARM · x64Le TPU vit dans un monde binaire : il agit comme coprocesseur piloté par un hôte classique (microcontrôleur IoT, cœur ARM, processeur x64). Un jeu d’instructions de conversion traduit les entiers binaires en trits à l’entrée et reconvertit les résultats en sortie, aux seules frontières d’E/S — le cœur reste 100 % ternaire.
Les conversions se font uniquement aux frontières. B2T/T2B traitent les entiers signés ; PACK/UNPACK sérialisent des trytes vers des octets pour les bus binaires (I2C, SPI, UART, PCIe).
| Mnémonique | Opérandes | Description |
|---|---|---|
| B2T | Rd, imm | Binaire → ternaire : convertit un entier binaire (complément à deux) en trits équilibrés dans Rd. |
| T2B | Rd, Rs | Ternaire → binaire : écrit la représentation binaire de Rs dans le registre hôte Rd. |
| PACK | [Rd], Rs | Sérialise un tryte en octets pour un bus binaire (5 trits → 1 octet). |
| UNPACK | Rd, [Rs] | Reconstruit un tryte ternaire depuis des octets reçus du bus. |
| IN | Rd, port | Lit un mot binaire depuis un port hôte (MMIO) et le convertit en trits. |
| OUT2 | port, Rs | Écrit Rs converti en binaire vers un port hôte (MMIO). |
| DMA | Rd, Rs, Rn | Transfert par blocs entre mémoire ternaire et mémoire hôte, avec conversion à la volée. |
| ENDIAN | Rd, Rs | Ajuste l’ordre des octets (little/big-endian) pour l’hôte cible. |
| FROMF | Rd, Rs | Convertit un flottant IEEE-754 binaire en entier ternaire à point fixe. |
| TOF | Rd, Rs | Convertit un entier ternaire en flottant IEEE-754 pour l’hôte. |
| HCALL | imm | Appel système vers l’hôte binaire (interruption logicielle). |
| SYNC | — | Barrière de synchronisation hôte↔TPU (cohérence mémoire partagée). |
Le TPU se branche en coprocesseur sur I2C, SPI ou UART. PACK/UNPACK adaptent les trytes aux trames octet, idéal pour l’inférence embarquée à très basse consommation.
Couplage via AXI/AMBA ou MMIO : l’hôte ARM délègue les noyaux ternaires (TNN, DSP) au TPU par DMA et HCALL.
Carte accélératrice sur PCIe avec mémoire partagée cohérente : B2T/T2B et FROMF/TOF assurent l’échange d’entiers et de flottants avec le pilote.
Bibliothèque d’exécution libtern
Une bibliothèque standard fournissant les primitives réutilisables pour programmer chaque unité du TPU sans réécrire l’assembleur à la main.
Types trit/tryte/tint, conversions binaire↔ternaire, E/S de base.
Arithmétique équilibrée, virgule flottante ternaire, fonctions transcendantes.
Produits matriciels et convolutions ciblés sur le T-TPU.
Couches de réseaux ternaires (TNN) et activations pour le T-NPU.
Noyaux de rastérisation, shaders et calcul parallèle pour le T-GPU.
Ordonnancement, interruptions et gestion mémoire du T-CPU.
Clavier, console, périphériques et flux d’entrée/sortie.
Chaînes de trytes, encodage de texte et formatage.
Système de fichiers ternaire : ouverture, lecture, écriture.
Sockets et protocoles pour échanger des trytes sur le réseau.
Horloges, minuteries et ordonnancement temporel.
Synthèse, filtres et lecture de signaux audio ternaires.
Hachage, chiffrement et aléa exploitant l’entropie ternaire.
Fenêtres, widgets et gestion d’événements pour l’interface.
Noyau : processus, ordonnancement préemptif et interruptions.
Traitement du signal : FFT ternaire, filtres et convolution.
Stockage structuré, index de trytes et requêtes.
Fils d’exécution, synchronisation et répartition multi-cœurs.
Compression et sérialisation compacte de données ternaires.
Générateurs pseudo-aléatoires et bruit ternaire de qualité.
Le compilateur ternc
Étapes de traduction d’un programme de haut niveau vers du code machine de trits, avec des optimisations spécifiques à la base 3.
- 1Analyse lexicale & syntaxique (AST).
- 2Vérification de types ternaires (trit/tryte/tint).
- 3Représentation intermédiaire et optimisations base 3 (fusion, propagation).
- 4Allocation de registres de trits et sélection d’unité (CPU/GPU/TPU/NPU).
- 5Émission de TernASM puis assemblage en mots de trits.
$ ternc somme.tl -o somme.tbin parsing......... ok typecheck....... ok (trit/tryte/tint) optim base-3.... 2 passes emit TernASM.... somme.tasm assemble tas.... somme.tbin $ tpu-run somme.tbin 15 · 1TT0 (tern)
Simulateur TernASM interactif
Éditez le programme puis cliquez sur Exécuter. Le simulateur assemble et exécute réellement le code sur une machine ternaire virtuelle.
Binaire contre ternaire
Le passage de la base 2 à la base 3 modifie en profondeur les compromis d’ingénierie. Voici les principaux indicateurs techniques, illustrés par des données de recherche et des projections industrielles.
| Critère | Binaire | Ternaire |
|---|---|---|
| Information / digit | 1 bit | ≈1,58 bit |
| Digits pour coder N | log₂(N) | log₃(N) ≈ 0,63·log₂(N) |
| Niveaux de tension | 2 | 3 |
| Représentation signée | Complément à 2 | Native (équilibré) |
| Densité d’interconnexion | Référence | ~37 % de fils en moins |
| Écosystème logiciel | Mature | Émergent |
Digits nécessaires pour coder une valeur
Moins de digits = interconnexions et registres plus compacts.
Efficacité énergétique relative (revendiquée)
Facteurs annoncés par les acteurs du secteur, base binaire = 1×.
Profil comparatif multi-critères
Score qualitatif 0–100 (estimations de recherche).
État de la recherche ternaire
La recherche sur le calcul ternaire est active sur plusieurs fronts : dispositifs physiques, circuits, algorithmes et outils de conception. Voici les grands axes qui structurent le domaine aujourd’hui.
Dispositifs & matériaux
Étude des CNTFET (nanotubes de carbone), transistors multi-seuils et memristors pour créer nativement trois niveaux logiques stables et reproductibles ; les crossbars de memristors ouvrent la voie au calcul en mémoire.
Circuits & logique (MVL)
Conception de portes ternaires, cellules standard et additionneurs optimisés dans le cadre de la logique multi-valuée (Multiple-Valued Logic).
Algorithmes & IA
Réseaux de neurones ternaires (TNN/BitNet-like) et quantification à trois états : co-conception matériel-logiciel pour l’inférence sobre.
Outils & EDA
Développement de chaînes de conception (PDK, synthèse logique, simulateurs) et de compilateurs capables de gérer nativement la base 3.
Jalons scientifiques marquants
- 1Formalisation du ternaire équilibré et de la logique multi-valuée (années 1950–60).
- 2Émulateur ternaire Ternac sur machine binaire (1973), pour l’étude algorithmique.
- 3Démonstrations de portes ternaires en CNTFET à l’échelle nanométrique (années 2010–2020).
- 4Essor des réseaux de neurones ternaires pour l’inférence efficace (années 2020).
Qui construit le ternaire ?
Un écosystème encore restreint mais dynamique rassemble industriels et laboratoires autour du calcul ternaire.
Tern
Semi-conducteurs & serveurs
Tern développe le semi-conducteur TALC et la gamme de serveurs centraux Tree. L’entreprise revendique jusqu’à 100× d’économie d’énergie sur certaines charges par rapport aux architectures binaires équivalentes.
T3ISC
Circuits intégrés ternaires
T3ISC vise une efficacité énergétique 12× supérieure et une réduction de coût d’un facteur 10, en s’appuyant sur des circuits ternaires optimisés compatibles avec les procédés CMOS existants.
Laboratoires CNTFET
Recherche fondamentale
Les laboratoires travaillant sur les CNTFET (Carbon Nanotube Field-Effect Transistors) exploitent l’ajustement fin du seuil de conduction pour créer nativement trois niveaux logiques, une voie prometteuse pour des portes ternaires à faible consommation.
Où le ternaire change la donne
La logique ternaire trouve ses cas d’usage les plus convaincants là où la densité et l’efficacité énergétique priment.
Inférence IA
Les réseaux de neurones ternaires (poids −1/0/+1) s’exécutent nativement : multiplications remplacées par des additions/soustractions, mémoire réduite et débit d’inférence accru pour les LLM sur puce.
Calcul haute performance (HPC)
Le ternaire équilibré simplifie l’arithmétique signée et réduit la longueur des mots, offrant un meilleur rapport calcul/énergie pour la simulation scientifique à grande échelle.
Edge Computing
Sous forte contrainte thermique et énergétique, la réduction des commutations rend le ternaire attractif pour l’intelligence embarquée à faible latence.
Internet des objets (IoT)
Pour des capteurs alimentés sur batterie ou par récupération d’énergie, la sobriété du ternaire prolonge l’autonomie et densifie l’information transmise.
Réseaux & télécoms
La mémoire adressable par contenu ternaire (TCAM) stocke nativement l’état « indifférent » (0), ce qui accélère le routage, le filtrage de paquets et les tables de correspondance sans logique de masquage additionnelle.
Sécurité & cryptographie
L’entropie ternaire fournit 1,585 bit par trit pour la génération d’aléa, et l’arithmétique signée équilibrée simplifie de nombreuses primitives (masquage, résidus, courbes) tout en offrant une surface d’attaque par canaux auxiliaires différente du binaire.
Traitement du signal (DSP)
Le filtre médian natif (MED3) supprime le bruit impulsionnel sans multiplication, et les coefficients ternaires {−1,0,+1} transforment les convolutions en additions/soustractions, idéal pour l’audio, la biométrie et la radio logicielle sobres.
Le processeur IoT idéal
Conçu pour l’objet connecté : sobriété énergétique extrême, traitement local intelligent et communication dense. Chaque caractéristique ci-dessous découle directement de la logique à trois états et de l’arithmétique équilibrée.
Ultra-basse consommation
Moins de chiffres pour représenter la même valeur → moins de commutations, moins de fils actifs et une énergie par opération réduite. Le zéro « neutre » ne consomme pas de courant de polarisation, et une mémoire memristive non volatile permet un démarrage instantané sans fuite en veille.
Signalisation 3 états sur un fil
Un seul conducteur transporte −1, 0 et +1 : bus plus étroits, moins de broches et une densité d’information de 1,585 bit par ligne — précieux pour les micro-capteurs à faible nombre de broches.
Récupération d’énergie
La faible enveloppe énergétique permet un fonctionnement sur cellule solaire, thermoélectrique ou vibratoire, avec veille profonde et réveil sur événement pour des capteurs réellement autonomes.
Routage & filtrage natifs (TCAM)
La mémoire adressable par contenu ternaire gère l’état « indifférent » sans masque : classification de paquets, tables de correspondance et règles de passerelle IoT en un seul accès.
Fusion de capteurs anti-bruit
Le filtre médian matériel (MED3) élimine les pics de bruit des capteurs sans multiplication, idéal pour fiabiliser des mesures environnementales bruitées à très faible coût.
IA embarquée ternaire
Les réseaux à poids {−1,0,+1} tournent en additions/soustractions : détection de mots-clés, reconnaissance de gestes ou anomalies directement sur l’objet, sans cloud.
Sécurité matérielle
L’entropie ternaire alimente un générateur d’aléa intégré pour l’identité et le chiffrement des messages, avec une signature par canaux auxiliaires distincte du binaire.
Robustesse thermique
Moins de commutations signifie moins de dissipation : le processeur reste dans son enveloppe thermique même en boîtier scellé sans dissipateur, adapté aux déploiements extérieurs.
Profil de conception proposé : les avantages décrits sont des objectifs de conception, pas des mesures certifiées.
Une idée ancienne, un renouveau moderne
Du calcul mécanique du XIXᵉ siècle aux prototypes en nanotubes de carbone, le ternaire traverse l’histoire de l’informatique.
Thomas Fowler
L’inventeur anglais Thomas Fowler conçoit une machine à calculer mécanique utilisant le ternaire équilibré, motivé par l’économie de composants qu’offre la base 3.
Setun (Union soviétique)
À l’Université d’État de Moscou, l’ordinateur Setun devient la première machine ternaire opérationnelle, reconnue pour sa fiabilité et son économie de matériel.
Prototypes modernes
Une nouvelle génération de prototypes voit le jour : semi-conducteurs TALC, circuits T3ISC et portes ternaires en CNTFET démontrent la viabilité du ternaire à l’échelle nanométrique.
Adoption industrielle
L’industrie anticipe une adoption progressive du ternaire sur des niches à forte valeur (IA, HPC), sous réserve de la maturation de l’écosystème logiciel et des standards.
Obstacles et solutions concrètes
La percée du ternaire dépend moins de la physique que de l’écosystème. Pour chaque obstacle majeur, des voies de solution étayées par la recherche existent.
Écosystème logiciel
Absence de compilateurs, de systèmes d’exploitation et de chaînes d’outils matures pour la base 3. Les langages et bibliothèques supposent le binaire.
- Backends ternaires pour LLVM/GCC générant du code trit-natif à partir de langages existants.
- Émulateurs et machines virtuelles ternaires pour développer avant la disponibilité du silicium.
- Bibliothèques d’arithmétique équilibrée et types de données ouverts (open source).
Standardisation de la fabrication
Pas de procédés ni de kits de conception (PDK) normalisés pour la logique multi-niveaux ; le rendement des portes à trois seuils reste à industrialiser.
- Concevoir des portes ternaires sur CMOS existant (multi-Vt, tensions intermédiaires) pour réutiliser les fonderies.
- Développer des PDK ternaires et des cellules standard partagés entre acteurs.
- Mûrir les CNTFET pour des seuils nets et reproductibles à grande échelle.
- Intégrer des memristors multi-niveaux dans les couches métalliques (BEOL) au-dessus du CMOS, sans nouvelle fonderie.
Interopérabilité avec le binaire
Le monde numérique est binaire : mémoires, bus, protocoles et données existantes doivent coexister avec le ternaire.
- Convertisseurs binaire↔ternaire matériels efficaces aux frontières du système.
- Architectures hybrides : cœurs ternaires en accélérateurs pilotés par un hôte binaire.
- Formats d’échange et ABI normalisés pour la sérialisation trit/octet.
Adoption économique
Coûts de R&D élevés, effet d’inertie du binaire et absence de marché de masse freinent l’investissement.
- Cibler d’abord des niches à forte valeur (inférence IA, HPC) où le gain d’énergie justifie le coût.
- Modèle « accélérateur » réduisant le ticket d’entrée par rapport à un CPU ternaire complet.
- Consortiums public-privé pour partager risques et standards (à l’image des débuts du RISC-V).
Tableau comparatif des technologies
Plusieurs voies matérielles concourent pour réaliser des portes ternaires. Chacune arbitre différemment maturité, consommation et compatibilité industrielle.
| Technologie | Principe | Maturité | Efficacité énergétique | Compatibilité CMOS | Acteur type |
|---|---|---|---|---|---|
| TALC | Semi-conducteur ternaire dédié | Prototype avancé | Très élevée (jusqu’à 100×) | Partielle | Tern |
| CNTFET | Nanotubes de carbone multi-seuils | Recherche | Élevée | Faible (nouveau matériau) | Laboratoires CNTFET |
| CMOS multi-Vt | Seuils intermédiaires sur CMOS standard | Circuits démontrés | Bonne (≈12×) | Élevée | T3ISC |
| Memristors | Résistances multi-états non volatiles (1 trit/dispositif, calcul en mémoire) | Recherche | Potentiellement très élevée | Intégrable (back-end) | Laboratoires académiques |
Le memristor : la brique idéale du ternaire
Le memristor — quatrième composant passif fondamental postulé par Leon Chua en 1971 et réalisé en 2008 — est une résistance dont la valeur dépend de l’histoire du courant qui l’a traversé. Non volatile, il conserve son état sans alimentation et peut stabiliser plusieurs niveaux de résistance. En n’en retenant que trois, il stocke exactement un trit par dispositif, ce qui en fait le support matériel le plus naturel de la logique ternaire.
Trois états résistifs natifs
Un memristor multi-niveaux fixe trois résistances stables (basse, moyenne, haute) qui encodent directement −1, 0 et +1 — un trit dans un seul composant, sans cellule à plusieurs transistors.
Mémoire non volatile
L’état persiste sans courant : démarrage instantané (instant-on), veille profonde à fuite quasi nulle et registres, poids ou tables de trits conservés entre deux réveils.
Calcul en mémoire (in-memory)
Stockage et logique dans le même dispositif : le calcul s’exécute là où résident les données, supprimant le va-et-vient du goulet de von Neumann et l’énergie de déplacement des trits.
Réseaux crossbar
Organisés en matrice crossbar, les memristors calculent un produit matrice-vecteur en un seul pas grâce aux lois d’Ohm et de Kirchhoff — les poids ternaires {−1,0,+1} se projettent parfaitement sur trois conductances.
Accélération des réseaux ternaires
Substrat idéal des réseaux de neurones ternaires : les poids sont stockés comme conductances et la multiplication-accumulation s’effectue en analogique, sur place, pour une inférence dense et sobre.
Intégration CMOS back-end
Fabriqués dans les couches métalliques au-dessus du CMOS (BEOL), les memristors empilent une mémoire-logique ternaire dense sur une puce binaire standard, sans nouvelle fonderie.
Plasticité synaptique
La conductance d’un memristor évolue avec les impulsions reçues, imitant une synapse. Cette plasticité permet un apprentissage local, sur la puce, particulièrement adapté au calcul neuromorphique ternaire.
Commutation rapide et sobre
Le basculement entre états résistifs s’opère en quelques nanosecondes pour une énergie de l’ordre du picojoule, sans partie mobile ni charge de grille — un atout pour des trits écrits vite et à bas coût énergétique.
Densité extrême & empilement 3D
Une cellule crossbar occupe théoriquement 4F² et les couches peuvent s’empiler en 3D. À un trit par point, la densité d’information par millimètre carré dépasse celle d’une mémoire binaire équivalente.
Crossbar memristif interactif
Un crossbar calcule un produit matrice-vecteur en un seul pas : chaque memristor porte un poids ternaire (conductance) et la loi de Kirchhoff somme les courants de colonne. Cliquez sur les cellules et les entrées pour modifier les trits et observer la sortie.
Astuce : un poids 0 éteint la contribution ; +1 et −1 ajoutent ou retranchent le courant d’entrée.
Familles de dispositifs memristifs
Plusieurs technologies non volatiles peuvent stabiliser trois niveaux et servir de support au ternaire. Chacune privilégie un compromis différent entre vitesse, endurance et facilité d’intégration.
| Famille | Mécanisme | Atout pour le ternaire |
|---|---|---|
| OxRAM / RRAM | Filament conducteur dans un oxyde métallique | Niveaux analogiques réglables, intégration BEOL simple |
| PCM | Changement de phase amorphe ↔ cristallin | États intermédiaires stables, bonne rétention |
| CBRAM | Pont métallique électrochimique (ions Ag/Cu) | Très faible énergie de commutation |
| FeFET | Polarisation ferroélectrique de la grille | Lecture non destructive, compatible logique |
| Spintronique (MRAM) | Orientation magnétique d’une jonction tunnel | Endurance quasi illimitée, commutation rapide |
Concept de conception : la variabilité, l’endurance et la dispersion des états restent des sujets de recherche ouverts ; les avantages décrits sont des objectifs, non des mesures certifiées.
Bibliographie & sources
Une sélection de travaux fondateurs et récents sur le calcul ternaire, la logique multivaluée, les memristors et le calcul en mémoire, ainsi que les réseaux de neurones à poids ternaires.
The Art of Computer Programming, Vol. 2 : Seminumerical Algorithms (§ 4.1, numération équilibrée base 3)
D. E. Knuth · Addison-Wesley · 1997
Setun : ordinateur expérimental à ternaire équilibré, Université d’État de Moscou
N. P. Brusentsov et al. · MSU · 1958
Ternary Computers: The Setun and the Setun 70
N. P. Brusentsov, J. Ramil Alvarez · IFIP AICT, Springer · 2011
Machine à calculer mécanique en ternaire équilibré
T. Fowler · Great Torrington, UK · 1840
TERNAC : un émulateur d’ordinateur ternaire sur machine binaire
G. Frieder et al. · SUNY / IEEE · 1973
Multiple-Valued Logic — son statut et son avenir
S. L. Hurst · IEEE Trans. Computers · 1984
Portes logiques ternaires CNTFET à base de nanotubes de carbone
S. Lin, Y.-B. Kim, F. Lombardi · IEEE Trans. Nanotechnology · 2011
Memristor — le chaînon manquant des composants passifs
L. O. Chua · IEEE Trans. Circuit Theory · 1971
La découverte du memristor manquant (HP Labs)
D. B. Strukov et al. · Nature · 2008
Calcul en mémoire sur crossbar de memristors, entièrement matériel
P. Yao et al. · Nature · 2020
Ternary Weight Networks : réseaux de neurones à poids {−1,0,+1}
F. Li et al. · arXiv:1605.04711 · 2016
Trained Ternary Quantization
C. Zhu et al. · ICLR · 2017
The Era of 1-bit LLMs : BitNet b1.58 (poids ternaires)
S. Ma et al. · arXiv:2402.17764 · 2024