Elbit 100
Elbit 100
modifierLe mini-ordinateur Elbit 100 était fabriqué et commercialisé par la société Elbit Computers Ltd, division de la société israélienne Elbit Systems[1]. 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[2],[3].
Une distribution mondiale
modifierLe Monthly Computer Census[4] (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[5] et la société Intertechnique 5[6].
| Date | Nombre d'installations[4] | 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[7] 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[8].
Caractéristiques principales
modifierLes principales caractéristiques[7],[9],[10] sont :
- Unité arithmétique et logique de 4 bits, présentant un processeur de 12 bits
- Espace d'adressage : 12 bits (4 Kmots).
- Rapidité : 7,2 μs pour une addition sur 12 bits.
- Mémoire 1 - 4 K mots de 12 bits, 2μs de temps de cycle
- Architecture microprogrammée basée sur une mémoire morte à 400ns de temps d'accès.
- Nombre d'instructions : 106
- Langage de programmation : assembleur
- Bus d'entrée-sortie à 256 canaux, 4 niveaux d'interruption (optionnel).
- 1 Mbit/s de taux de transfert d'entrée/sortie (maximum).
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.
Utilisations
modifierCet 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 :
- Calculs et contrôle d'équipements utilisés pour des expériences scientifiques (instrumentations).
- Enregistrement de données d'acquisition et contrôle de transfert de données.
- Concentrateur (acquisition de données et traitement avant leur transmission vers un ordinateur central).
- Convertisseur de média, par exemple de bande perforée vers bande magnétique.
- Serveur d'impression.
- etc.
Logiciels
modifierArchitecture de l'unité centrale
modifier
La mémoire centrale
modifierC'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).
La mémoire de microprogramme
modifierC'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é[12] : les résistance sont sérigraphiées[13]. 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.
L'unité de calcul
modifierElbit utilise la terminologie CLU[9] - 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.
Les registres
modifierL'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[9] indique que d'autres registres existent, mais ne sont visibles que par la ROS.
Le jeu d'instructions
modifierElbit 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 |
Périphériques
modifierL'elbit 100 est typiquement accompagné d'un télétype compatible ASR33[11]. Dans leur brochures Elbit propose aussi :
- un lecteur de bande perforée rapide (photoélectrique), type Digitronics 2500 ou mécanique (lent) comme le Invac R 360.
- un perforateur de bande perforée
- lecteur/enregistreur de bandes magnétiques
- convertisseur numérique/digital ou digital numérique
- imprimante, plotter
Références
modifier- ↑ (en) Rowena M. Swanson, « Information Processing In Israel », Datamation, vol. 15, no 9, (lire en ligne [PDF], consulté le )
- ↑ Henri Boucher, « INFORMATIQUE NON AMERICAINE » [PDF], sur aconit.org
- ↑ (en) Robert L. Hooper, « The minicomputer, a programming challenge », Proceedings of the December 9-11, 1968, fall joint computer conference, part I on - AFIPS '68 (Fall, part I), (lire en ligne [PDF])
- 1 2 (en) « Monthly Computer Census », Computers and Automation, 1962-1974 (lire en ligne)
- ↑ (en) Gérard L.M. Noguez, « Design of a microprogramming language » [PDF], sur ACM.org, (consulté le )
- ↑ (he) « The Indiana Jewish Post and Opinion | עמוד 10 | 19 מאי 1967 | אוסף העיתונות | הספרייה הלאומית », sur www.nli.org.il (consulté le )
- 1 2 (en) « Elbit 100 » [PDF], sur archive.computerhistory.org (CHM), (consulté le )
- ↑ (en) Baal-Schem, « Oral-History:Uzia Galil », sur ethw.org Engineering and Technology History Wiki (ETHW) (consulté le )
- 1 2 3 4 (en) ELBIT 100 Technical Specifications, (lire en ligne)
- ↑ All About Minicomputers (datapro reports 70s-90s), (lire en ligne)
- 1 2 (en) « Auerbach Computer Notebook International » [PDF], sur archive.org, (consulté le )
- ↑ Alain Guyot « Histoire de la microprogrammation » () (lire en ligne, consulté le ) [PDF].
- ↑ Leonard Dreyer, « Principles of a Two-level Memory Computer », COMPUTERS and AUTOMATION, vol. 17, no 5,
