Zurück zur Startseite

Programma 101: Speicher und Programmiersprache

Olivetti Programma 101 — programmierbarer Rechner von 1965 mit 240 Bytes magnetostriktivem Speicher und registerbasierter Programmiersprache. Unterstützung für Voll-/Teil-Modi, Sprünge und Verzweigungen. Architektur-Aufschlüsselung für technische Spezialisten.

P101: der erste Personalcomputer im Detail
Advertisement 728x90

Olivetti Programma 101: Architektur und Programmierung des ersten Personal Computers

**Olivetti Programma 101 (P101), 1965 veröffentlicht, war einer der ersten programmierbaren Taschenrechner mit Ansprüchen auf den Status eines Personal Computers. Mit einem Gewicht von 36 kg setzte das Gerät diskrete Transistorlogik, magnetostriktiven Speicher mit 240 Byte und eine registerbasierte Programmiersprache um. Der Verkauf lief bis 1972 zu einem Preis von 3.200–3.500 US-Dollar, was es zu einem Massenprodukt machte, bevor der HP 9100A erschien.

Design und Ergonomie

Die P101 zeichnete sich durch ihre kompakte Größe, vergleichbar mit einer Schreibmaschine, und das futuristische Design von Mario Bellini aus. Die Entwicklung wurde ab 1962 von Pier Giorgio Perottos Team geleitet, basierend auf Prinzipien der Einfachheit, Ergonomie und Ästhetik. Die Tastatur umfasste 37 Tasten, ein Rad zur Einstellung von Dezimalstellen (0–15 Ziffern) und drei Verriegelungstasten: Programmaufzeichnung, Drucken und Entriegeln.

Die Ausgabe erfolgte über einen Trommeldrucker (30 Zeichen/s) auf Standardpapierstreifen. Er druckte 22-stellige Zahlen mit Vorzeichen, Dezimalpunkten und Steuersymbolen. Anzeigelampen: blau für bereit, blinkend für Ausführung, rot für Fehler (Überlauf, Division durch Null).

Google AdInline article slot

Speicherarchitektur

Speicher basierend auf einer magnetostriktiven Verzögerungsleitung (6,5 m Draht) bot 240 Byte. Zehn Register, jeweils 24 Bit, hatten feste Rollen:

  • M (Median): Eingabe und Zwischenübertrag.
  • A (Akkumulator): Operationsergebnisse mit Rundung.
  • R (Ergebnis): Vollständiges Ergebnis oder Rest.
  • B, C: Datenspeicher, teilbar in Halbregister.
  • D, E, F: Daten oder Befehle, teilbar in Halbregister.
  • p1, p2: Nur Befehle.

Register B–F unterstützten Vollmodus (22 Ziffern + Vorzeichen/Punkt oder 24 Befehle) und Teilmodus (11 Ziffern/12 Befehle pro Halbregister, bezeichnet als F/ = f). Die minimale Programmgröße betrug 48 Befehle (p1+p2), maximal 120 (D+E+F+p1+p2).

Die Maschinenlogik verfolgte Modi: Fehler traten auf, wenn >11 Ziffern in ein geteiltes Register übertragen oder ein volles geteilt wurde.

Google AdInline article slot

Programmiersprache

Die Sprache war ein vereinfachter Assembler mit mathematischen, Datenaustausch-, Hilfsoperationen und Sprüngen. Es gab keine "Gleichheits"-Taste.

Mathematische Operationen

| Taste | Beschreibung |

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

Google AdInline article slot

| + - × | A ±× M → A (gerundet), R (vollständig) |

| : | A / M → A (gerundet), R (Rest) |

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

| Register + - × : √ | Kopiert Register nach M, wendet Operation an |

| A ↕ | |A| in A |

Datenaustausch

  • Register ↑ (außer A,R): M → Register.
  • Register ↓: Register → A.
  • Register ↕: Austausch A ↔ Register (R ↕ = R ↓).
  • / ↕: Bruchteil von A → M.
  • R S: Austausch R ↔ D.

Hilfsfunktionen

  • S: Pause/Fortsetzen, Eingabe nach M.
  • Register ◊: Register drucken.
  • Register * (außer M,R): Auf Null setzen.

Teilmodus wird durch einen Befehl mit / aktiviert, Vollmodus durch Löschen (B * für B).

Sprungsystem

32 Befehle: 16 unbedingt (? CV? D? R? → A? B? E? F?), 16 bedingt (/ vor Senden, Sprung wenn A > 0). Symbole V, W, Y, Z kodieren Sende-Ziel-Paare.

Wichtige Erkenntnisse

  • P101 führte den Personal Computer als kompaktes Schreibtischgerät ein.
  • Magnetostriktiver Speicher von 240 Byte mit flexiblen Registern (voll/teil).
  • Sprache mit Sprüngen und Verzweigungen für Algorithmen.
  • Ergonomie: Drucker, Anzeigelampen, einfache Tastatur.
  • Einfluss: HP zahlte Lizenzgebühren für Patente.

— Editorial Team

Advertisement 728x90

Weiterlesen