百科问答小站 logo
百科问答小站 font logo



能否仅依靠机械(不包括电路)实现可编程图灵完备的通用计算机? 第1页

  

user avatar   tuskai 网友的相关建议: 
      

不知道你说的不包括电路是不是指狭义上用电驱动的逻辑电路

如果是的话,只要能做到有规律的状态变化(可触发)+储存不变的状态,很多东西都可以做出逻辑门,搭建逻辑电路, 拼出通用计算机

比如日本园林里那种装水的竹筒(惊鸟器,此处应有图),装一部分水时竹筒平衡,装满水时水会流出去,竹筒一端敲在石头上,这就可以表示1和0,设计下杠杆和容器的长度和位置就能做出或与非。水流导致变化,竹筒储存状态,流出去的水如果能没有损耗的(或者在精度允许的范围内)流到下一个容器里,信息就可以传递。

Minecraft出红石电路前,也有人用沙子做逻辑电路

但是精度/速度/成本摆在那里,做出来的东西如果没有笔算和心算合算,就没什么意义


为了防止有人说我不懂强答,贴两个我用excel基础公式拼出的游戏(机),里边有输入输出,有计算储存,虽然只能运行指定的游戏,但理论上能改成通用计算机(excel先天限制)


user avatar   yizhi-in-computer 网友的相关建议: 
      

不但能,而且早在80年前就有人造出来了。下面有请来自德国的Z1——世界上第一台二进制可编程计算机,纯机械的哦。它由德国的土工程师康拉德·祖思(Konrad Zuse)于1938年建成,没有团队,没有参考(战时各国不可能互通这方面的有无),凭一己之力在父母家的客厅里造了出来。

可惜的是,这台机器从未投入实际使用,连同图纸毁于1944年1月30日的一场空袭。还好,1987~1989年,在西门子公司的资助下,祖思又亲自重建了Z1,现藏于德国技术博物馆。

组成结构

它由成千上万的金属片和金属杆组成,靠电动马达驱动运转,从侧面看长下图这样。可以看到下层一列列整齐的金属杆支撑着上层一叠叠整齐的金属片,像极了建筑工地上正在打地基的楼房胚子。

从顶上看长这样:

它通过穿孔带(指令)和机械面板(数据)实现输入输出,虽然没有任何电子部件,冯·诺依曼结构的五大模块却样样齐全。要知道Z1于1938年建成,而冯·诺依曼结构在1945年才提出。

穿孔带是废弃的35mm电影胶卷,带上每行有8个孔位,即指令编码长8位,前2位表示存储器读写指令,后6位表示存储地址,或者仅用前3位表示四则运算和数据输入输出指令。因此,共支持读存储器、写入存储器、加法运算、减法运算、乘法运算、除法运算、数据输入和数据输出8种指令。

由于使用6位表示存储地址,因此Z1的存储器一共可以存放 (即64)条数据,用计算机的专业术语讲,就是存储容量为64字(此处说的是Z1复制品,原Z1的存储容量为16字)。

厉害的是,它居然是二进制的,同时代包括此前两百年间的机械计算机无一不是十进制的(通常用齿轮的10个齿表示0~9),甚至大名鼎鼎的电子计算机ENIAC都是十进制。Z1的浮点数表示法如今已是IEEE标准。

那么如何靠机械实现二进制运算呢?

靠的是金属片和金属杆在水平面内4个方向(前后左右)的移动。下面给出了一组基础零件的作用关系,为便于说明,附加了直角坐标系,所有平移可描述为沿x轴或y轴正负方向的移动。金属杆穿过金属片A、B、C上的孔洞,将4者的平移关联起来,其中A和B在马达的动力下主动平移,进而带动C和金属杆的平移。

A可沿y轴正负方向平移,正向平移之后的状态表示0(如图(a)所示),负向平移之后的状态表示1(如图(b)所示)。A在自身移动的同时会带动金属杆也沿着y轴平移,B上的孔洞是L形的,金属杆在A的带动下,在B上y轴方向的孔洞段内移动。

  1. 图(a)中,A处于位置0,金属杆位于B孔洞的折角处,此时B沿x轴负方向移动,将无法带动金属杆,C不发生位移;
  2. 图(b)中,A处于位置1,金属杆位于B孔洞的顶端,此时B沿x轴负方向移动,将带动金属杆也沿x轴负方向移动,随之,C在金属杆的带动着也沿x轴方向移动。

通过这一过程,A将便将自己的二进制状态传递给了C。基于这一基本结构,祖思成功地实现了机械式的逻辑门。

通用性

Z1是可编程的,具有一定的通用性,但图灵等效还说不上,毕竟图灵的论文是1936年才发表的,祖思也正好是这一年开始设计Z1(倒也挺巧)。图灵等效不是说说就算的,要靠严格的数学证明。Z1和它的后继者——1941年的Z3(机电式计算机)有着相同的体系结构,而Z3在1997年被柏林自由大学的Raúl Rojas教授证明是图灵等效的(详见论文《How to Make Zuse's Z3 a Universal Computer》),可见Z1已经很接近图灵等效了。具体差在哪,可以看看Raúl Rojas的论文《Konrad Zuse's Legacy:The Architecture of the Z1 and Z3》。

至少,在目标明确的情况下,机械计算机完全可以做成图灵等效的。

扩展阅读

说到Raúl Rojas教授,可谓是研究当代祖思机的头号专家,他专门建了一个Z1及其后续型号的线上资料库,上面有Z1复制品的3D全景照片,可以用鼠标拖拽缩放,变换角度细细观察,本文一些插图就截于此。

想深入研究的可以去看看他的论文,其中关于Z1最重要的一篇《The Z1:Architecture and Algorithms of Konrad Zuse’s First Computer》在征得他同意的情况下被我翻译成了中文,现在贴到知乎:

如果觉得论文太硬可以看看我系统介绍祖思机的文章,也是本篇回答内容的主要来源:




  

相关话题

  新程序员如何向英文社区(如github)进阶? 
  如何检验算法的正确性? 
  程序员都有哪些强迫行为? 
  不懂编程能成为产品经理吗? 
  如何理解「香农定理」,包含哪些内容,它的发现有什么意义? 
  人工智能趋势下,孩子学习编程有哪些意义,对未来发展有好处吗? 
  为什么在计算机科学领域及编程中不使用现代数学建立的符号体系进行操作? 
  如何评价机械专业? 
  去美国读 CS Master,有哪些虽然不知名,但是老师和就业很好,性价比很高的学校? 
  还有一个月要去美国读博了,很慌张, 怎么办?这样的情况还能换offer 吗? 

前一个讨论
Excel 有多强大?你用 Excel 做的最酷的事情是什么?
下一个讨论
请问在女票枯燥的考研备考过程中,怎么给女票一些不一样的惊喜或者仪式感来缓解压力?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利