《转载》前苏联的三进制计算机Setun

  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是三元数字。事实证明,选择数字最接近的整数部分的简单方法可以简化计算指数函数和三角函数的算法。


  1. 该三进制系统不需要特殊的符号位;数字的符号由最高有效三进制数字的符号确定。这使得处理相对数字变得非常简单。
  2. 任何寄存器的内容都会自动被视为相对数字。移位和标准化操作是通用的,并且还大大简化了缩放和浮点的编程操作。
  3. 所有这些对于构造用于执行浮点运算和计算初等函数的子程序是“有利的”,其总计算误差不超过尾数最低有效数字的两个单位。

与二进制系统一样,三进制数字系统也是基于编码数字的位置原理,但其中第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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/705704.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

求单源最短路径的新方法

参见:dijkstra 算法为什么高效。 本来不想谈算法,本来只想了一下 dijkstra 算法背后的形而上,但还是归纳出一个仅靠一次广度优先遍历就能获得单源最短路径的新算法,框图里是算法流程,流程下是一个例子: …

Ubuntu Server 20.04挂载磁盘

先查看磁盘信息: sudo fdisk -l然后提供NTFS文件系统支持: sudo mkfs.ntfs /dec/sda -F这个过程非常久… 处理完如上图。(ps. 这个 Have a nice day. 好浪漫~) 接着挂载磁盘: sudo mount /dev/sda ~/device设置开机…

系统架构设计师 - 操作系统(2)

操作系统 操作系统(5-6分)文件管理绝对路径与相对路径 ★索引文件 ★★★位示图 ★ 存储管理段页式存储 ★★★页式存储段式存储段页式存储(了解) 页面置换算法 ★ 微内核操作系统嵌入式操作系统 ★★★ 大家好呀!我是…

第五十一天 | 1143.最长公共子序列

题目:1143.最长公共子序列718.最长重复子数组的区别是,子序列不要求连续,子数组要求连续。这一差异体现在dp数组含义和递推公式中,本题是子序列,那就要考虑上nums1[i - 1] ! nums2[j - 1]的情况。 本道题与 1.dp数组…

vue 应用测试(一) --- 介绍

vue 应用测试(一) ---介绍 前端测试简介组件测试Jest 测试框架简介其他测试框架 第一个测试避免误报如何组织测试代码 组件挂载Vue2 组件挂载的方式Vue3 的挂载方式vue-test-utils挂载选项 如何调试测试用例参考小结 前端测试简介 软件测试:…

【每日一练 】day2

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 🎈丠丠64-CSDN博客🎈 ✨✨ 帅哥美女们,我们共同加油!一起…

企业多云策略的优势与实施指南

企业在选择云服务提供商时,常见的选项包括亚马逊AWS、微软Azure、谷歌云GCP、阿里云、腾讯云和华为云。为了避免过度依赖单一供应商,许多企业选择采用多云策略,这样可以充分利用不同云服务的优势,同时避免重复工作和其他额外的工作…

大模型应用开发课程上新!

在人工智能快速发展的今天,大模型应用已逐渐渗透到各个行业,对我们的工作和生活产生了深远的影响。越来越多的企业和开发者渴望深入探索大模型落地应用,然而却缺少高质量且专业的培训课程及学习途径。 为满足企业和开发者在实际场景中使用大…

ROS——自定义话题消息和使用方法

定义Person话题 定义Person发布者 /*** 该例程将发布/person_info话题&#xff0c;自定义消息类型&#xff1a; test_topic::Person*/#include <ros/ros.h> #include <test_topic/Person.h> //包含的头文件&#xff0c;ros相关的头文件&#xff0c;及自定义头文件…

单点登录分析介绍

文章目录 1、单点登录解决方案1.1、后端保存登录状态1.2、token模式 2、user服务-登录接口2.1、UserController2.2、UserInfoServiceImpl2.3、载荷2.4、响应2.5、Redis Desktop Manager 1、单点登录解决方案 多个系统只有一个登录服务 1.1、后端保存登录状态 1.2、token模式 …

Excel根据身份证号提取信息

概览 本篇文章主要对根据身份证号码提取出生年月日、年龄、性别、退休年龄这三项进行讲解。 一. 提取出生年月日 公式&#xff1a;TEXT(MID(B2,7,8),“0000-00-00”) MID(B2,7,8)&#xff1a;表示从单元格 B2 中的字符串&#xff08;这里是身份证号&#xff09;&#xff0c…

Day 43 keepalived高可用集群

keepalived高可用集群 负载均衡 lb集群 load balance ​ 流量分发 高可用 ha集群 high availability ​ 主要是给服务器做冗余 keepalive 持久连接 保持存活 keepalived 高可用软件名称 红帽有自己的高可用集群套件&#xff1a;RHCS keepalived介绍 ​ keepalived是集…

世优波塔AI数字人多模态交互系统,让智慧教育多维度落地应用

“你是谁&#xff0c;你能做什么&#xff1f;”、“降落伞应该包含哪些部分&#xff1f;”、“制作降落伞需要什么流程&#xff1f;”在北京四中雄安校区的实践课堂上&#xff0c;一个数字人AI一体机在教室中央引人注目&#xff0c;老师和学生们争相向名叫“小优”的“数字老师…

git如果将多次提交压缩成一次

将N个提交压缩到单个提交中有两种方式&#xff1a; git reset git reset的本意是版本回退&#xff0c;回退时可以选择保留commit提交。我们基于git reset的作用&#xff0c;结合新建分支&#xff0c;可以实现多次commit提交的合并。这个不需要vim编辑&#xff0c;很少有冲突。…

GTX的64B66B编码(高速收发器十九)

点击进入高速收发器系列文章导航界面 前文讲解了8B10B的原理&#xff0c;8B10B的开销比较大&#xff0c;每传输10位数据&#xff0c;就需要发送2位无效数据。为了减小8B10B编码的开销&#xff0c;同时保留编码方案的优点&#xff0c;提出了64B66B编码。 64B66B编码与8B10B编码方…

FRP 内网穿透 | 实现远程访问与安全管理

唠唠闲话 内网穿透简介 在互联网上&#xff0c;两个不同主机进行通信需要知道对方的 IP 地址。由于世界人口和设备众多&#xff0c;IPv4 资源相对紧缺&#xff0c;因此绝大部分情况下是通过路由器或交换机转换公网 IP 后才上网。 位于路由器或交换机后的设备通常是内网设备&…

node 中间件使用例子

NodeJS在中间件领域有着较为广泛的应用&#xff0c;他能做一些中间层事件&#xff0c;把服务端一部分的代码抽出来&#xff0c;减少处理冗余事情付出的代价&#xff0c;同时让服务真正做业务处理而不用关心页面的事情 常见的应用场景有&#xff1a; 跨域&#xff1a;解决跨域问…

C++ 实现HTTP的客户端、服务端demo和HTTP三方库介绍

本文使用C模拟实现http的客户端请求和http的服务端响应功能&#xff0c;并介绍几种封装HTTP协议的三方库。 1、实现简单HTTP的服务端功能 本程序使用C tcp服务端代码模拟HTTP的服务端&#xff0c;服务端返回给客户端的消息内容按照HTTP协议的消息响应格式进行了组装。 demo如…

15:HAL----ADC模数转化器

STM32C8T6有2个ADC,ADC1和ADC2 一&#xff1a;介绍 1:简历 ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC&#xff0c;1us转…

科技项目验收测试必须进行吗?软件测试公司推荐

科技项目验收测试是指在科技项目开发周期中&#xff0c;对项目完成后进行的一种测试和评估工作。它的目的是验证项目是否达到预期的要求&#xff0c;并确保项目交付给客户前达到预期的质量标准。 一、科技项目验收测试的必要性   科技项目验收测试是项目管理中不可或缺的一个…