Le mini-ordinateur Elbit 100 était fabriqué et commercialisé par la société Elbit Computers Ltd, division de la société israélienne Elbit Systems. Il est un exemple typique d'une architecture microprogrammée. Plusieurs versions furent produites et vendues, aux États-Unis et en Europe, à partir de 1968,.
Le Monthly Computer Census (Recensement Mensuel des Ordinateurs) maintenu par la revue Computer and Automation, se basant sur les chiffres communiqués par les constructeurs ou faisant sa propre estimation, indique une première installation aux États-Unis d'Amérique en , et 325 unités vendues (au total) jusqu'en 1974.
En France l'Institut de Programmation de Paris en comptera 7 en 1972 et la société Intertechnique 5.
| Date | Nombre d'installations | En commande | PDP-8L |
|---|---|---|---|
| Jan. 1968 | 4 | 31 | |
| Nov. 1968 | 45 | ||
| Sept. 1969 | 75 | 40 | |
| Nov. 1969 | 100 | 100 | 765 |
| Mai 1970 | 120 | 75 | |
| Nov. 1970 | 150 | 50 | |
| Mar. 1971 | 225 | 50 | |
| Mar. 1972 | 300 | 20 | 3902 |
| Sept. 1972 | 315 | 20 | |
| Jan 1973 | 325 | 10 | |
| Mai 1974 | 325 |
Malgré un coût pas très élevé de 4 900 dollars dans une configuration de base sans télétype, le nombre d'unités vendues reste faible. Uzia Galil, directeur général d'Elbit Computers, attribue cet échec à un manque de capacité de maintenance ainsi à un effort de marketing insuffisant.
Les principales caractéristiques,, sont :
La rapidité est indicative, la source étant des brochures publicitaires : elle est parfois annoncée à 6 μs, à moins que cela ne se réfère à une autre version matériel.
L'Elbit 100 contient au minimum 8 cartes de circuits imprimés en fibre de verre. Le circuits intégrés utilisés sont de la famille DTL. Les dimensions du châssis sont d'environ 22H x 48L x 50P centimètres (configuration rack) pour un poids de 25 kg.
Cet ordinateur n'est pas destiné à un usage général, le calcul, mais vers le contrôle d'équipements avec éventuellement un pré-traitement des données. Voici quelques utilisations proposées :
Les logiciels de base fournis étaient, :

C'est une mémoire à tores de ferrite d'une capacité maximum de 4 K mots de 12 bits. Elle est paginée en 16 pages de 256 mots. Son temps de cycle est de 2 μs. Elle est interfacée avec le reste des éléments via les registres classiques, le MAR et MIR (voir ci-dessous).
C'est l'élément qui va jouer le rôle du séquenceur et va directement contrôler tous les autres éléments de la machine; l'Elbit 100 est donc une architecture microprogrammée horizontale. Cette ROM est appelée ROS pour Read-Only Store (Mémoire à Lecture Seule) et à un temps de cycle court : 400 ns tandis que sa taille est de 256 mots de 12 bits. Chaque mot est une microinstruction. Elle occupe deux cartes dans la machine. La technologie choisie est le couplage résistif imprimé : les résistance sont sérigraphiées. Des ROMs vierges sont disponibles, sur lesquelles il suffit de gratter la résistance pour la programmer. Le constructeur affirme que ce type de fabrication améliore la fiabilité en comparaison de ceux qui utilisent des systèmes plus sophistiqués.
La souplesse du jeu d'instructions modifiable par l'intermédiaire de la ROS est mise en avant dans la communication autour de cette ordinateur. Elbit Computer donne comme exemple l'intégration possible de la fonction racine carrée en microcode, permettant une exécution plus rapide et une réduction de la place occupé en mémoire centrale.
Elbit utilise la terminologie CLU - Central Logic Unit - au lieu du traditionnel ALU (Arithmetic and Logic Unit). Le fabricant souligne que la CLU est sous le contrôle du ROS et de l'horloge. La CLU est constitué d'un additionneur parallèle rapide de 4 bits, qui est aussi la taille de tous les registres. Ainsi, pour effectuer une opération sur 12 bits il faut en faire 3, en prenant garde au traitement adéquat de la retenue. Les deux entrées de l'additionneur sont un registre spécifié par le ROS et le contenu du registre transfert. La soustraction est gérée comme une addition en complément à 2.
L'accumulateur de 12 bits est le résultat de l'accumulation de 3 valeurs de 4 bits. Sa valeur peut être affichée et modifiée sur le panneau de contrôle de l'Elbit 100. Il est aussi accessible via le bus d'entrée-sortie.
Le MAR (Memory Address Register) de 12 bits contient l'adresse d'une case mémoire. Il est formé de 3 champs de 4 bits, [W, V, U] où W contient le numéro de page et [V, U] l'adresse de la case dans la page donnée. La mémoire est donc paginée en 24 = 16 pages de 256 mots, pour un maximum de 4 Kmots. La partie [V, U] (8 bits) peut aussi être générée sur le bus d'entrée-sortie, ce qui permet donc d'adresser 256 canaux.
Le MIR (Memory Information Register) de 12 bits est destiné à recevoir la donnée lue depuis la mémoire centrale. Sous le contrôle du ROS, certaines opérations peuvent être faites, comme des décalages, sur des groupes de 4 bits.
Les registres de retenues, C1 à C7, de 1 bit, sont au nombre de 6. Ils sont internes sauf un (C3).
Le compteur ordinal (program counter) de 8 bits, chaque partie de 4 bits étant appelée 2T et 1T, contient l'adresse dans la page W où se trouve l'adresse de la prochaine instruction à exécuter.
La documentation indique que d'autres registres existent, mais ne sont visibles que par la ROS.
Elbit Computer met en avant le langage assembleur ESL (Elbit Symbolic Langage) et indique qu'il est orienté vers un public d'ingénieurs ou de scientifiques. Les instructions suivent le format [F, S], avec F contenant le code de l'instruction sur 4 bits et S l'adresse de l'opérande sur 8 bits. Un champ de 4 bits ne permettant que 16 opérations la majorité des instructions utilisent aussi le champ S pour la définir, c'est par exemple le cas pour toutes les instructions commençant par 3.
Ils ont aussi défini un « hexadécimal Elbit » qui n'utilise pas le chiffre A en hexadécimal, et donc commence à B = 1010 ; C = 1110, etc. jusqu'à G = 1510.
| Type | Mnémonique | Code | Description | Remarques |
|---|---|---|---|---|
| LOAD | LDA | Gxx | Load Accumulator from current page | soit Fxx en hexadécimal |
| LDI | 8xx | Load Accumulator from Indirect Address | ||
| LDS | 7xx | Load Accumulator with S portion of Instruction | Valeur immédiate dans l'instruction | |
| STORE | STA | 6xx | Store accumulator in memory | G=F16 Fxx en hexa donc. |
| STI | 0xx | Store accumulator to Indirect Address | ||
| STS | Fxx | Store S portion of the Accumulator | ||
| JUMP | JMA | 38F | Jump According to Accumulator | |
| JMI | 2xx | Jump According to Indirect Address | ||
| JMS | Bxx | Jump According to S portion of Instruction | ||
| ARITHMETIC | ADA | 5xx | Binary Addition to Accumulator | |
| SBA | Exx | Binary Subtraction from Accumulator | ||
| ADM | Dxx | Add to memory | ||
| SKIP | SNA | 34n | Skip n Instructions (n=1-15) on Negative Accumulator | |
| SPA | 33n | Skip n Instructions on Positive Accumulator | ||
| SIC | 37n | Skip n Instructions if carry exists | ||
| SNZ | 30 | Skip n Instructions if Accumulator not Zero | ||
| SFN | 31 | Skip n Instructions if F portion of Accumulator not Zero | ||
| OPERATIONAL | DTR | 4xx | Direct Transfert | ou "JIP Unconditional Jump" |
| IZS | 9xx | Increment memory, Skip if Zero | ||
| MSK | 1xx | Mask the Accumulator | ||
| CLF | 3B7 | Clear F portion of the Accumulator | ||
| CLC | 3F7 | Clear Carry | ||
| CMA | 3FD | Complement Accumulator | ||
| CMS | 3GD | Complement S Portion of Accumulator | ||
| LSH | 3FG | Left Shift of Accumulator and carry one bit | ||
| RAL | 3D0 | Rotate Accumulator Left 4 bits | ||
| RAR | 396 | Rotate Accumulator Right 4 bits | ||
| CHP | 3EE | Change Page | ||
| I/O | IOP | Cxx | Input/Output | |
| BIP | 384 | Block Input | ||
| ARI | C02 | Arm Interrupt | ||
| DRI | C01 | Disarm Interupt | ||
| INT | 3EF | Internal Interupt | Génère une trappe | |
| HALT | STP | 3BE | STOP | |
| HLT | 3D3 | HALT | ||
| BRK | 3D5 | BREAK | ||
| WAT | 3B5 | WAIT | ||
| ? | NOP | ? | No Operation | Pas d'information |
L'elbit 100 est typiquement accompagné d'un télétype compatible ASR33. Dans leur brochures Elbit propose aussi :