Retour à l'accueil

Programma 101 : mémoire et langage de programmation

Olivetti Programma 101 — calculatrice programmable de 1965 avec 240 octets de mémoire magnétostrictive et langage basé sur registres. Support des modes complets/partagés, sauts et branches. Analyse de l'architecture pour spécialistes techniques.

P101 : le premier ordinateur personnel en détail
Advertisement 728x90

Olivetti Programma 101 : Architecture et programmation du premier ordinateur personnel

**L'Olivetti Programma 101 (P101), lancé en 1965, fut l'une des premières calculatrices programmables considérée comme un ancêtre de l'ordinateur personnel. Pesant 36 kg, l'appareil utilisait une logique à transistors discrets, une mémoire magnétostrictive de 240 octets et un langage de programmation basé sur des registres. Les ventes se sont poursuivies jusqu'en 1972 au prix de 3 200 à 3 500 dollars, en faisant un produit grand public avant l'apparition du HP 9100A.

Conception et ergonomie

Le P101 se distinguait par sa taille compacte, comparable à celle d'une machine à écrire, et son design futuriste signé Mario Bellini. Le développement fut dirigé par l'équipe de Pier Giorgio Perotto à partir de 1962, sur des principes de simplicité, d'ergonomie et d'esthétique. Le clavier comprenait 37 touches, une molette pour régler les décimales (0 à 15 chiffres) et trois touches de verrouillage : enregistrement de programme, impression et déverrouillage.

La sortie était gérée par une imprimante à tambour (30 caractères/s) sur une bande de papier standard. Elle imprimait des nombres de 22 chiffres avec signes, points décimaux et symboles de contrôle. Les voyants lumineux : bleu pour prêt, clignotant pour exécution, rouge pour erreurs (dépassement, division par zéro).

Google AdInline article slot

Architecture de la mémoire

La mémoire basée sur une ligne à retard magnétostrictive (fil de 6,5 m) offrait 240 octets. Dix registres, chacun de 24 bits, avaient des rôles fixes :

  • M (Médian) : Entrée et retenue intermédiaire.
  • A (Accumulateur) : Résultats d'opérations avec arrondi.
  • R (Résultats) : Résultat complet ou reste.
  • B, C : Stockage de données, divisibles en demi-registres.
  • D, E, F : Données ou instructions, divisibles en demi-registres.
  • p1, p2 : Instructions uniquement.

Les registres B à F prenaient en charge le mode complet (22 chiffres + signe/point ou 24 instructions) et le mode divisé (11 chiffres/12 instructions par demi-registre, noté F/ = f). La taille minimale d'un programme était de 48 instructions (p1+p2), maximale de 120 (D+E+F+p1+p2).

La logique de la machine suivait les modes : des erreurs survenaient lors du transfert de >11 chiffres vers un registre divisé ou de la division d'un registre complet.

Google AdInline article slot

Langage de programmation

Le langage était un assembleur simplifié avec des opérations mathématiques, d'échange de données, utilitaires et des sauts. Il n'y avait pas de touche "égal".

Opérations mathématiques

| Touche | Description |

|--------|-------------|

Google AdInline article slot

| + - × | A ±× M → A (arrondi), R (complet) |

| : | A / M → A (arrondi), R (reste) |

| √ | A = √M, M = 2√M |

| Registre + - × : √ | Copie le registre vers M, applique l'opération |

| A ↕ | |A| dans A |

Échange de données

  • Registre ↑ (sauf A,R) : M → registre.
  • Registre ↓ : registre → A.
  • Registre ↕ : échange A ↔ registre (R ↕ = R ↓).
  • / ↕ : partie fractionnaire de A → M.
  • R S : échange R ↔ D.

Utilitaires

  • S : pause/reprise, entrée vers M.
  • Registre ◊ : impression du registre.
  • Registre * (sauf M,R) : mise à zéro.

Le mode divisé est activé par une commande avec /, le mode complet par effacement (B * pour B).

Système de sauts

32 instructions : 16 inconditionnelles (? CV? D? R? → A? B? E? F?), 16 conditionnelles (/ avant envoi, saut si A > 0). Les symboles V, W, Y, Z codent des paires destination-envoi.

Points clés

  • Le P101 a introduit l'ordinateur personnel comme un appareil de bureau compact.
  • Mémoire magnétostrictive de 240 octets avec registres flexibles (complet/divisé).
  • Langage avec sauts et branchements pour algorithmes.
  • Ergonomie : imprimante, voyants, clavier simple.
  • Influence : HP a payé des redevances de licence pour les brevets.

— Editorial Team

Advertisement 728x90

Lire ensuite