1、苏联的三进制计算机概述
早在 1956 年,就需要创建一种可在大学和实验室中使用的实用数字计算机模型。为此,需要一种易于学习、可靠、廉价但同时高效、专为大规模使用而设计的小型计算机。
对这种机器的要求:运行速度必须等于每秒数百次操作,“欢迎”编程的简单性和易用性,计算精度 - 6-8 位正确的小数,操作和维护高度可靠,尺寸适中,经济消耗能源,使用廉价且“非稀缺”的材料和零件。这样的要求在当时是“矛盾的”,因为创造一台对程序员来说更方便的机器将需要增加设备数量,这反过来会导致可靠性下降,不仅会导致成本增加,机器本身,还有它的操作。
为程序员提供便利,除了与机器复杂性相关的工程路径之外,还通过软件实现(标准子程序系统的开发、编译和解释系统的引入、编程程序),使用两种阶段存储系统,以及磁性元件上的电路构造。
2、使用三进制数字系统
13世纪,意大利数学家斐波那契提出了使用三进制进行计算的想法。没有制定和解决“重量问题”(称为巴赫-门捷列夫)。问题的本质是:用什么重量系统,一次一个,可以自由地称量从0到最大负载Qmax的所有可能的负载Q,使得最大负载Qmax的绝对值是所有可能的品种中最大的。解决这个问题有两个条件:如果权重放在一个免费的权威碗上;如果允许把权重放在两个碗上。在第一种情况下,“最优权重体系”被简化为二进制权重体系:1、2、4、8、16等,出现的“最优”算法或测量方法产生了二进制权重体系。 “时尚”计算机的基础数字系统。第二种情况,最好的系统是权重系统:1、3、9、27、81等。如果你只能在天平的一个秤盘上放置重量,那么用二进制进行计算会更方便,更快捷,更经济,如果你可以在两个秤盘上放置重量,那么更建议采用二进制计算三元体系。
三进制数系统的一个特点是它的整数基数等于三。也就是说,整组整数可以仅使用三位数字来书写,例如 0、1、2、10、11、12 等(10 对应于我们熟悉的十进制系统中的数字 3)。
在一年的时间里,专家们分析和研究了现有的计算机及其技术能力,最终决定在机器中不使用二进制,而是使用三进制对称码,这将是平衡数字系统的实施,首次开发三进制计算机,与具有数字0、1的二进制代码相比,具有数字-1、0、1的三进制代码提供了有符号数算术的最佳构造。通过此应用程序,算术具有许多优点:
- 号码编码统一
- 可变操作数长度
- 移位操作的唯一性
- 三位数功能数字符号
- 通过简单地删除较低的数字来实现数字的最佳舍入
- 计算过程中相互补偿舍入误差
由于三进制数系中存在“正”和“负”数字,因此数字代码中没有特殊的符号位,这大大简化了算术运算的逻辑。三进制字比二进制字短 1.6 倍,因此,三进制顺序算术器件中的加法运算等操作的执行速度也比二进制字快 1.6 倍。
数字为-1、0、1的三进制的优点是:
将数字x四舍五入到k个正确的三进制数字,这是通过丢弃从(k+1)开始的所有较低数字而获得的结果。
最接近数字 x 的整数,X=E 1 , E 2 ...E m+1 ...XE 是数字:[X] bl = E 1 , E 2 ...E m
其中 E i是三元数字。事实证明,选择数字最接近的整数部分的简单方法可以简化计算指数函数和三角函数的算法。
- 该三进制系统不需要特殊的符号位;数字的符号由最高有效三进制数字的符号确定。这使得处理相对数字变得非常简单。
- 任何寄存器的内容都会自动被视为相对数字。移位和标准化操作是通用的,并且还大大简化了缩放和浮点的编程操作。
- 所有这些对于构造用于执行浮点运算和计算初等函数的子程序是“有利的”,其总计算误差不超过尾数最低有效数字的两个单位。
与二进制系统一样,三进制数字系统也是基于编码数字的位置原理,但其中第i个位置/数字的权重不是2i,而是3i。数字是三位数,而不是两位数:0和1还允许第三个值-1,因此正数和负数都可以统一表示。
n - 普通整数 N 的值的确定与 n - 位的值类似:
其中 ai ∈ {1, 0, -1} 是第 i 位数字的值。
(根据虚拟计算机博物馆保存的资料)
在三元对称系统中,数字是用符号来指定的;他们写的是 +、0、-,而不是 1、0、-1。
这就是十进制数 13, 7,6, -6 在三进制表示法中的样子 13= +++, 7 = +-+, b = +-0, -6 = -+0。改变对称码中数字的符号相当于数字反转,发生“+”和“-”的互换,反之亦然。
下表是三元对称码中的加法和乘法运算:
三进制对称码不存在有符号数的问题。
与二进制不同,它是有符号数算术。数字的符号是最高有效(非零)数字的数字。有符号数的问题,在二进制码中没有完美的解决方案,在三进制对称码中根本不可能存在,而这已经是一个根本性的优势。
Trit是未来三进制计算机的基本元件生成的三种信号的名称。如果我们以比特作为信息量的衡量标准,那么trit的信息容量约为1.6。基于此,三进制计算机在单位时间内处理的信息比二进制计算机更多。
所设计的三进制计算机的最小可寻址内存单元是一个特征,等于六个 trites,取值范围为 -364 到 364。使用一系列负值是区分特征和二进制字节的一个特征,其值从0延伸到255。
得益于特征的信息容量及其帮助,您可以轻松地对俄语和拉丁字母、数学和服务符号的所有大写和小写字符进行编码。
罗维奇·布鲁森佐夫说:
Setun 计算机的历史,就像这台机器本身一样,是不寻常的 - 一切都是与普遍接受的方法和方法相反的。你可能会认为他们的行为遵循“不做其他人做的事”的原则。但原则不同——“越自然、越简单越好。”
世界上第一台也是唯一一台三元机器 Setun 的创造者尼古拉·彼得罗维奇·布鲁森佐夫 (Nikolai Petrovich Brusentsov) 的命运很复杂。
尼古拉·彼得罗维奇·布鲁森佐夫
尼古拉·彼得罗维奇·布鲁森佐夫 (Nikolai Petrovich Brusentsov) 1925 年 2 月 7 日出生于第聂伯罗捷尔任斯克市(乌克兰)。他的父亲彼得·尼古拉耶维奇·布鲁森佐夫是一名普通铁路工人的儿子,参加了第聂伯罗捷尔任斯克焦化厂的建设,并在37岁时去世,当时尼古拉只有14岁。母亲玛丽亚·德米特里耶芙娜独自一人带着三个孩子。战争已经开始了。 1943 年,尼古拉应征入伍,并被送往斯维尔德洛夫斯克学习无线电操作员课程。后来他成为第571炮兵团第2师侦察部第154步兵师的无线电操作员。他被授予“勇气”勋章和红星勋章。
1948年,他以优异的成绩从学校毕业,进入莫斯科电力工程学院无线电工程系。但是,由于患有肺结核,他在治疗中度过了第一年的学习。后来他迎头赶上,成为了成功的学生之一。
从该研究所毕业后,布鲁森佐夫被派往莫斯科大学特别设计局工作,后来又被派往一个问题实验室,开发供教育机构使用的计算机。在这里他遇到了谢尔盖·利沃维奇·索博列夫。索博列夫热衷于为研究所实验室创建一款价格低廉、体积小且可靠的小型计算机。组织了一次研讨会,Shura-Bura 先生、KA Semendyaev、EA Zhogolev 参加了研讨会。在研讨会上,他们分析了现有机器的缺点,估计了指挥系统和结构,考虑了技术实现的选择,倾向于磁性元件,因为还没有晶体管,立即排除了灯,可以获得磁芯和二极管,一切都可以由我们自己来完成。布鲁森佐夫对研讨会的回忆中的几句话:
这些报告一方面致力于机器技术实施的工程问题,另一方面致力于其架构的开发和优化,分析和概括这方面的可用经验。因此,Shura-Bura先生在1956年4月至5月的四次研讨会上分析了国产机器“Strela”,BESM,“Ural”,M-20的优点和缺点,谢尔盖·利沃维奇在库尔恰托夫研究所的员工GA Mikhailov和BI Shitikov在得知他们创建的 TsM-1 和 TsM-2 机器后,托木斯克大学研究生 AD Zakrevsky 做了题为“逻辑代数在计算机电路综合中的应用”的演讲。我们电子部门的员工在报告中讨论了基于半导体和磁性元件的数字设备的工程实现问题。我有机会与 EA Zhogolev 一起开发机器的功能图和命令系统,随着我们的进展,结果在我们的报告(有时是联合报告)中反复提交给研讨会:2056 年 9 月 17 日 - “机器示意图” 24.2.58 - “Setun 机器的方框图和命令系统。”
就在那时,布鲁森佐夫产生了使用三进制数字系统的想法。
尼古拉·彼得罗维奇·布鲁森佐夫 (Nikolai Petrovich Brusentsov) 是莫斯科国立大学计算数学与控制论学院计算机实验室的负责人。 MV 罗蒙诺索夫。他的科学活动的主要领域是:数字机器的体系结构、自动化教学系统、小型和微型计算机的编程系统。出版科研著作100余部,其中包括专着《Setun小型数字计算机》(1965年)、《小型计算机》(1979年)、《微型计算机》(1985年)以及教科书《基础Fortran》(1982年)。
苏联部长会议奖获得者布鲁森佐夫·尼古拉·彼得罗维奇拥有11项发明版权证书。他被授予荣誉勋章勋章和全德国民党国防军大金质奖章。
2014年,著名三进制计算机设计者、科学家尼古拉·布鲁森佐夫去世,享年90岁。正如他的朋友们所记得的那样,彼得罗维奇是一个非常谦虚、令人愉快的人,总是乐于助人。
莫斯科国立大学计算中心创建了 Setun,它成为苏联第一台带有字母数字输入和输出设备的机器。
苏联数学家谢尔盖·利沃维奇·索博列夫积极参与了计算机的发展;当时他是莫斯科大学力学与数学学院计算数学系主任。 Setun机器的创建和开发是由一群新手员工完成的,其中包括8名莫斯科动力工程学院和莫斯科国立大学的毕业生、12名技术人员和实验室助理。该工作在相当短的时间内完成,直接考验了三元数字技术的简单性;三元器件的架构实现了显着的简化和自然性。该架构是一个合理构建的编程系统,包括解释系统IP-2(浮点,小数点后8位)、IP-3(浮点,小数点后6位)、IP-4(复数,小数点后8位)、IP - 5(浮点,12 位小数),自动编码POLIZ(逆波兰表示法语言)以及操作系统和标准例程库(浮点,6 位小数)使小型 Setun 机器易于学习。
Setun机器具有最少的指令集,24个单播命令,进行定点和浮点计算,进行乘积加法运算,优化了多项式的计算,根据结果的符号进行条件跳转的三个命令,按位乘法运算,有一个索引寄存器。修改地址时,变址寄存器的值不仅可以加,还可以减。1959年底,该机器已经有了编程系统和一套应用程序。
3、机器参数
要安装小型Setun机器,需要25-30 m2的面积,它被设计为具有以下参数的柜子形式:2.9 x 1.85 x 0.5 m,控制面板1.6 x 0.6 x 1 m,桌子用于外部设备 1.2 x 0.8 x 0.75 m。
前面提到,数字和命令都是以三进制代码形式提供的(数字为 1、0、-1),Setun 使用 18 位和 9 位三进制代码进行操作,逗号总是在第二位数字之后,这意味着所有模数小于 4.5。命令由9位三进制数字表示,其中最高5位为地址部分,3位为操作码,最低位1位作为地址修改的标志。当执行该位中包含 1 或 -1 的命令时,通过添加或减去存储在特殊 5 位变址寄存器中的数字,它们的地址部分会自动相应地改变。
RAM由铁氧体磁芯上的器件组成,容量为162个9-trit单元,即分为3页,每页54个单元,用于与主存储器逐页交换。主存储器是一个磁鼓存储设备,容量为36或72页(1944年9-trite单元)。存储设备之间的信息传输是通过包含 54 个九位代码的区域进行的。使用五位纸打孔带,通过光电输入设备将数据输入机器。该输入设备的运行速度为每秒 800 个字符。数据输出是通过以每秒 7 个字符的速度在纸带上打印和穿孔来进行的(输出三进制代码和具有任意形式分配的字母数字文本)。
计算机的结构单元是一个单元,它是一个组装在 getinax 底座上的铁氧体二极管磁放大器;这些单元又被排列成功能块(加法器、三进制代码解码器、移位寄存器)。
开发了一种特殊的高速磁放大器,它由带有铁氧体磁芯的微型变压器和半导体二极管组成。除了连接线之外,放大器之间没有任何电气部件连接。这项创新提高了机器的可靠性并降低了能耗。塞敦有3500个这样的磁放大器,该机采用三相220/380V电网供电,功耗2.5 kVA。
Setun 由六个功能设备组成(NP Brusentsov。莫斯科国立大学计算机“Setun”。第 259 条):运算装置、控制装置、随机存储器、输入装置、输出装置、磁鼓存储装置。
Setun第一款量产机型的工厂测试表明,该机器完全符合设定的技术参数。一切正常,没有失败,有用时间是测试时间的 95%。第一年,4,000 个零件中只更换了三个零件。生产了 7 台这样的小型计算机,并计划在 1963 年再生产 10 台这样的机器。随着需求的增长,早在 1964 年,该工厂就生产了 21 辆 Setun 汽车。但1965年,Setun停产。
自 1959 年以来,Setun 在一个半月内完成的计算量比采用二进制数字系统的 Ural-2 计算机还多。小型 Setun 机器运行完美,但官员们对这样的计算机不感兴趣 - 它的成本只有 30,000 卢布。第一个 Setun 模型已经运行了 15 年。决定将批量生产推迟 15 年,但这从未发生。作为机器的创造者,布鲁森佐夫本人后来说:“塞顿干扰了那些占据高级领导职位、思维惰性的人。”最终,Setun 被自动发生器切碎并送去处理。
1967-1969年,在Setun机器的基础上,开发了其改进版本——三元数字机Setun 70——一款“..”非传统二栈架构的机器,重点为进一步发展提供有利条件它使用解释系统方法的能力。”
Setun-70开发了自己的编程语言——DSSP。这种编程语言的原理是“一个词就是一个词”,这意味着程序的一个词对应于代码的一个词。 DSSP的特点是二栈架构、字典、支持自上而下的编程、高级数据结构和操作、紧凑的代码以及移动性、灵活性和协程机制。
关于DSSP
DSSP 在很多方面都优于 Forth。 DSSP语言的编程复杂度明显低于汇编语言,在代码紧凑性和速度上也不逊于汇编语言,允许您以交互方式检查子程序的运行情况,并且能够在不更改其余部分的情况下实际修改程序的代码。
除了Setun之外,苏联没有其他基于三进制代码的计算机。
结尾:
据Setun Brusentsov的创造者本人介绍:
现在许多国家都在尝试创建自己的三进制计算机,但所有尝试都不成功:人们已经习惯了二进制逻辑,以至于很难掌握三进制逻辑。然而,这是一个有争议的问题:这些年来不太可能没有人想到如何制造这样一台计算机的硬件。如果全世界的计算机行业都使用二进制系统,并且还没有人转向三进制,那么也许没有必要这样做。
最后,是有关三进制计算机设计者访谈。。。
参考文献:
1、https://t.co/9rLr3y1sZ2
2、https://ka2.ru/nauka/rumjantsev.html