Olivetti Programma 101: architektura a programování prvního osobního počítače
**Olivetti Programma 101 (P101), uvedený na trh v roce 1965, byl jedním z prvních programovatelných kalkulátorů, který si nárokoval status osobního počítače. Zařízení o hmotnosti 36 kg využívalo diskrétní tranzistorovou logiku, magnetostrikční paměť o kapacitě 240 bajtů a programovací jazyk založený na registrech. Prodej pokračoval až do roku 1972 za cenu 3200–3500 dolarů, což z něj učinilo masový produkt před příchodem HP 9100A.
Design a ergonomie
P101 se vyznačoval kompaktností srovnatelnou s psacím strojem a futuristickým designem od Maria Belliniho. Vývoj vedl tým Piera Giorgia Perotta od roku 1962 podle principů jednoduchosti, ergonomie a estetiky. Klávesnice obsahovala 37 tlačítek, kolečko pro nastavení desetinné čárky (0–15 míst) a tři zámkové klávesy: záznam programu, tisk a odemčení.
Výstup zajišťoval bubnový tiskárna (30 znaků/s) na standardní papírové pásce. Tiskly se 22místná čísla se znaménkem, desetinnou čárkou a služebními znaky. Indikace: modrá – připravenost, blikající – provádění, červená – chyba (přetečení, dělení nulou).
Architektura paměti
Paměť založená na magnetostrikční zpožďovací lince (drát 6,5 m) poskytovala 240 bajtů. Deset registrů po 24 bitech s pevnými rolemi:
- M (Median): vstup a mezisoučet.
- A (Akumulátor): výsledek operací s zaokrouhlením.
- R (Výsledky): úplný výsledek nebo zbytek.
- B, C: ukládání dat, dělení na poloregistry.
- D, E, F: data nebo instrukce, dělení na poloregistry.
- p1, p2: pouze instrukce.
Registry B–F podporovaly režimy full (22 číslic + znaménko/čárka nebo 24 instrukcí) a split (11 číslic/12 instrukcí na poloregistr, označeno jako F/ = f). Minimální program – 48 instrukcí (p1+p2), maximum – 120 (D+E+F+p1+p2).
Strojová logika sledovala režimy: chyba při přenosu >11 míst do split-registru nebo dělení plného.
Programovací jazyk
Jazyk – zjednodušený assembler s matematickými, výměnnými, služebními operacemi, skoky. Žádné tlačítko "rovná se".
Matematické operace
| Tlačítko | Popis |
|--------|----------|
| + - × | A ±× M → A (zaokrouhleno), R (úplně) |
| : | A / M → A (zaokrouhleno), R (zbytek) |
| √ | A = √M, M = 2√M |
| Registr + - × : √ | Zkopíruje registr do M, aplikuje operaci |
| A ↕ | |A| v A |
Výměna dat
- Registr ↑ (kromě A,R): M → registr.
- Registr ↓: registr → A.
- Registr ↕: výměna A ↔ registr (R ↕ = R ↓).
- / ↕: desetinná část A → M.
- R S: výměna R ↔ D.
Služební
- S: pauza/pokračování, vstup do M.
- Registr ◊: tisk registru.
- Registr * (kromě M,R): vynulování.
Split-režim se aktivuje příkazem s /, full – vymazáním (B * pro B).
Systém skoků
32 instrukcí: 16 nepodmíněných (? CV? D? R? → A? B? E? F?), 16 podmíněných (/ před odesláním, skok pokud A > 0). Symboly V,W,Y,Z kódují vazby odeslání-cíl.
Co je důležité
- P101 zavedl osobní počítač jako kompaktní zařízení na stůl.
- Magnetostrikční paměť 240 bajtů s flexibilními registry (full/split).
- Jazyk se skoky a větvením pro algoritmy.
- Ergonomie: tiskárna, indikace, jednoduchá klávesnice.
- Vliv: HP platila licence za patenty.
— Editorial Team
Zatím žádné komentáře.