Elbit 100

mini-ordinateur

Elbit 100

modifier

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[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

modifier

Le 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

modifier

Les 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

modifier

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 :

  • 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

modifier

Les logiciels de base fournis étaient[9],[11] :

  • Albit, un assembleur symbolique
  • Elbug, un débugueur.
  • Plusieurs bibliothèques de sous-programmes et fonctions
    • Calculs sur des nombres à virgule flottante
    • Fonctions arithmétiques
    • Fonctions de diagnostic
    • Bibliothèque de sous-programmes divers

Architecture de l'unité centrale

modifier
Organisation de l'Elbit 100

La mémoire centrale

modifier

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).

La mémoire de microprogramme

modifier

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é[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

modifier

Elbit 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

modifier

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[9] indique que d'autres registres existent, mais ne sont visibles que par la ROS.

Le jeu d'instructions

modifier

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

Périphériques

modifier

L'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
  1. ↑ (en) Rowena M. Swanson, « Information Processing In Israel », Datamation, vol. 15, no 9,‎ (lire en ligne [PDF], consulté le )
  2. ↑ Henri Boucher, « INFORMATIQUE NON AMERICAINE » [PDF], sur aconit.org
  3. ↑ (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])
  4. 1 2 (en) « Monthly Computer Census », Computers and Automation,‎ 1962-1974 (lire en ligne)
  5. ↑ (en) Gérard L.M. Noguez, « Design of a microprogramming language » [PDF], sur ACM.org, (consulté le )
  6. ↑ (he) « ⁨The Indiana Jewish Post and Opinion⁩ | עמוד 10 | 19 מאי 1967 | אוסף העיתונות | הספרייה הלאומית », sur www.nli.org.il (consulté le )
  7. 1 2 (en) « Elbit 100 » [PDF], sur archive.computerhistory.org (CHM), (consulté le )
  8. ↑ (en) Baal-Schem, « Oral-History:Uzia Galil », sur ethw.org Engineering and Technology History Wiki (ETHW) (consulté le )
  9. 1 2 3 4 (en) ELBIT 100 Technical Specifications, (lire en ligne)
  10. ↑ All About Minicomputers (datapro reports 70s-90s), (lire en ligne)
  11. 1 2 (en) « Auerbach Computer Notebook International » [PDF], sur archive.org, (consulté le )
  12. ↑ Alain Guyot « Histoire de la microprogrammation » () (lire en ligne, consulté le ) [PDF].
  13. ↑ Leonard Dreyer, « Principles of a Two-level Memory Computer », COMPUTERS and AUTOMATION, vol. 17, no 5,‎