返回首页

Programma 101:内存和编程语言

Olivetti Programma 101 —— 1965 年的可编程计算器,配备 240 字节磁致伸缩内存和基于寄存器的语言。支持全/拆分模式、跳转和分支。针对技术专家的架构详解。

P101:首款个人电脑详解
Advertisement 728x90

Olivetti Programma 101:首台个人计算机的架构与编程

**Olivetti Programma 101(P101)于1965年发布,是最早的可编程计算器之一,被誉为个人计算机的先驱。该设备重36公斤,采用分立晶体管逻辑、磁致伸缩存储器(240字节)和基于寄存器的编程语言。其销售持续至1972年,售价为3200至3500美元,在HP 9100A问世前已成为大众市场产品。

设计与人体工学

P101以其紧凑的尺寸(堪比打字机)和马里奥·贝利尼的未来主义设计脱颖而出。开发工作由皮尔·乔治·佩罗托的团队于1962年启动,基于简洁、人体工学与美学的原则。键盘包括37个按键、一个用于设置小数点的旋钮(0-15位)以及三个锁定键:程序录制、打印和解锁。

输出由鼓式打印机(30字符/秒)在标准纸带上处理,可打印22位数字及符号、小数点和控制符号。指示灯:蓝色表示就绪,闪烁表示执行中,红色表示错误(溢出、除零)。

Google AdInline article slot

内存架构

基于磁致伸缩延迟线(6.5米导线)的内存提供240字节。十个寄存器,每个24位,具有固定角色:

  • M(中间寄存器):输入和中间进位。
  • A(累加器):带舍入的操作结果。
  • R(结果寄存器):完整结果或余数。
  • B、C:数据存储,可分割为半寄存器。
  • D、E、F:数据或指令,可分割为半寄存器。
  • p1、p2:仅用于指令。

寄存器B–F支持完整模式(22位数字+符号/小数点或24条指令)和分割模式(每半寄存器11位数字/12条指令,表示为F/ = f)。最小程序大小为48条指令(p1+p2),最大为120条(D+E+F+p1+p2)。

机器逻辑跟踪模式:当传输超过11位数字到分割寄存器或分割完整寄存器时会发生错误。

Google AdInline article slot

编程语言

该语言是一种简化的汇编器,包含数学、数据交换、实用操作和跳转指令,没有“等于”按钮。

数学操作

| 按钮 | 描述 |

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

Google AdInline article slot

| + - × | A ±× M → A(舍入),R(完整) |

| : | A / M → A(舍入),R(余数) |

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

| 寄存器 + - × : √ | 复制寄存器到M,应用操作 |

| A ↕ | |A| 在A中 |

数据交换

  • 寄存器 ↑(除A、R外):M → 寄存器。
  • 寄存器 ↓:寄存器 → A。
  • 寄存器 ↕:交换 A ↔ 寄存器(R ↕ = R ↓)。
  • / ↕:A的小数部分 → M。
  • R S:交换 R ↔ D。

实用操作

  • S:暂停/继续,输入到M。
  • 寄存器 ◊:打印寄存器。
  • 寄存器 *(除M、R外):清零。

分割模式通过带/的命令激活,完整模式通过清除激活(例如B * 用于B)。

跳转系统

32条指令:16条无条件跳转(? CV? D? R? → A? B? E? F?),16条条件跳转(/在发送前,如果A > 0则跳转)。符号V、W、Y、Z编码发送-目标对。

关键要点

  • P101将个人计算机定义为紧凑的桌面设备。
  • 240字节磁致伸缩内存,具有灵活的寄存器(完整/分割)。
  • 支持跳转和分支的算法语言。
  • 人体工学设计:打印机、指示灯、简洁键盘。
  • 影响力:HP为专利支付了许可费。

— Editorial Team

Advertisement 728x90

继续阅读