《转载》前苏联的三进制计算机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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣hot100: 48. 旋转图像

LeetCode:48. 旋转图像 受到力扣hot100:54. 螺旋矩阵的启发,我们可以对旋转图像按层旋转,我们只需要记录四个顶点,并且本题是一个方阵,四个顶点就能完成图像的旋转操作。 1、逐层旋转 注意到&#xff0…

Stable Diffusion 如何写出更优雅的 Prompt

在看了前面的课程后, 相信很多人都会有一个困惑,这个 prompt 咋写… 为什么我写的时候只能憋出来了一个 a girl, a boy, beautify … 再也想不到其他的了, 总感觉是吃了没文化的亏? 这一节课我们就来讲一讲 如何写好 prompt …

个股场外期权个人如何参与买卖?

个股场外期权作为一种金融衍生品,为个人投资者提供了多样化的投资选择和风险管理工具。想要参与个股场外期权的买卖,以下是一些关键步骤和考虑因素。 文章来源/:财智盈动 第一步:选择合适的金融机构 首先,个人投资者需…

vue/react/js 常用的原生获取当前页面的url网址的相关方法

目录 第一章 场景 第二章 总结 第一章 场景 最近实现需求时遇到这么一种情况: 本地url —— 线上url —— 需求:需要将token清除掉 注意事项:token不是#/后面的参数,说明并不是我们前端返回的,vue路由的方法使用不…

悦库企业网盘 /user/login/.html SQL注入漏洞复现

0x01 产品简介 悦库企业网盘是一款专为满足企业文件管理、协同办公、文件共享需求而设计的私有部署安全、简单的企业文件管理系统。该产品全面覆盖企业文件管理场景,提供一系列功能强大且操作简便的解决方案,助力企业提升效率、降低管理成本。悦库企业网盘提供精细的权限管理…

小程序无法调用服务端问题排查

1、问题描述 突然有一天线上的小程序不能登录,经查小程序无法调用。经查无法小程序页面无法调用后台服务。 2、排查过程 由于无法登录小程序发布服务器,无法测试小程序前端服务器到服务端网络,并且小程序无法看到日志。所以就得从服务端和网…

工厂环境中ESD防静电系统对静电灾害的预防与控制

静电在工厂环境中可能造成严重的危害,包括火灾、爆炸和设备损坏等。因此,对于工厂环境中的静电灾害,采取预防和控制措施是非常必要的。ESD防静电系统是一种用来预防和控制静电灾害的重要解决方案,它可以有效地降低静电危害发生的可…

jfif格式怎么转换成jpg?关于将jfif转成jpg的几种方法

jfif格式怎么转换成jpg?JFIF格式是一种常见的图像文件格式,通常用于存储数字照片。然而,在某些情况下,你可能需要将JFIF格式转换为JPG格式。JPG格式是一种广泛使用的图像格式,它被支持和接受的程度比JFIF更高。PNG是一…

在Lua解释器中注册自定义函数库

本文目录 1、引言2、注册原理3、实例4、程序验证 文章对应视频教程: 暂无,可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在现代软件开发中,Lua因其轻量级、高效和可嵌入性而被广泛使用。作为一种灵活的脚本语言…

qt仿制qq登录界面

#include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {// 设置窗口大小this->resize(window_width, window_heigth);// 固定窗口大小this->setFixedSize(window_width, window_heigth);// 设置窗口图标this->se…

React 中的 Lanes

React 中有一个 Lane 的概念,Lane 就像高速路上的不同车道,具有不同优先级,在 React Lane 通过一个 32 位的二进制数来表示。越小优先级别越高,SyncLane 级别最高。用二进制存储的方式,可以通过逻辑操作快速判断 Lane …

使用Stream实现Web应用,使用YOLOv8模型对图像进行目标检测为例。

Streamlit是一个开源的Python框架,专门设计用于快速构建和共享数据应用程序。它使数据科学家和机器学习工程师能够通过编写简单的Python脚本,轻松创建美观、功能强大的Web应用程序,而无需具备前端开发的经验。 其他框架或web应用可以看下面两…

加湿器如何实现缺液提醒功能

随着科学技术的不断发展,加湿器也走进我们的生活,缺液提醒功能是加湿器的重要功能,加湿器如何实现缺液提醒功能?只需液位传感器即可实现。 光电液位传感器利用光学原理,通过检测光线在不同介质中的折射和反射变化来检…

Ubuntu server 24 (Linux) Zabbix 7.0 LTS 配置mail邮件报警

1 告警--媒介 选择右边默认模板修改 2 用户设置--配置--报警媒介 3 告警--动作--触发器动作 #测试 sudo systemctl stop zabbix-agent 本文使用postfix自建邮件服务器,如有需要请看

讯飞有一个可以根据描述文本自动生成PPT的AI接口,有趣

文档:https://www.xfyun.cn/doc/spark/PPTGeneration.html 价格方面提供了免费1000点的额度,生成一次是10点,正好100次,如果要购买的话最低要购买1344元的,没有按量付费的模式,个人小开发者可买不起。 让我…

短剧APP小程序开发之小程序内存管理挑战:短剧缓存与释放策略探讨(第二篇)

在上一篇帖子中,我们探讨了小程序内存管理的限制以及缓存策略的设计。本篇将进一步探讨释放策略的具体实现以及优化方案,以支持大量短剧内容的加载和播放。 释放策略的具体实现 监听内存警告:小程序提供了监听内存警告的API,开发…

【Linux】进程控制3——进程程序替换

一,前言 创建子进程的目的之一就是为了代劳父进程执行父进程的部分代码,也就是说本质上来说父子进程都是执行的同一个代码段的数据,在子进程修改数据的时候进行写时拷贝修改数据段的部分数据。 但是还有一个目的——将子进程在运行时指向一个…

Apple ID已成历史,在ios18中正式更名为Apple Account

随着iOS18的首个开发者预览版成功推送,众多热衷于尝鲜的用户已纷纷升级并开启全新体验。在这个版本中,备受瞩目的Apple ID正式迎来了它的进化——更名为Apple Account,并且拥有了中文名称“Apple账户”或简称“苹果账户”。 不过目前官网还称…

【机器学习】新网络环境docker实战:AI智能体平台DIFY部署与升级

目录 一、引言 二、Dify在dockerhub被禁用后,如何部署、升级 2.1 网络及硬件条件 2.2 docker部署、升级方案 三、总结 一、引言 关于dify,之前力推过,大家可以跳转 AI智能体研发之路-工程篇(二):Dify…

Python基于车牌识别的车辆进出管理系统

目录 1、效果图2、具体内容系统流程开发工具和环境项目所需依赖包目录描述:启动Django服务登录账号 3、源码下载技术交流 博主介绍: 计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟…