二进制计算和计算机的始源

数字的计算,97989823 + 21398209348,人工计算太慢了。

有没有一种方式,省去人工的思考和计算过程呢。

十进制数值 一 二 三 四 ,最早出现在古中国和古印度。

中国古代十进制 vs 古印度位值制十进制:核心差异

 
维度中国古代十进制(文字 / 算筹)古印度位值制十进制
位值制 算筹有位值逻辑,但文字没有统一的位值表达 数字的大小完全由位置决定(如 “5” 在个位是 5,在十位是 50)
0 的符号 无专门符号,用空位 / 文字 “空” 表示 发明了 “0” 的符号,明确填补数位空位
运算效率 算筹运算高效,但文字记录和复杂演算不便 符号简洁,记录和运算都高效,适合大规模推广

德国哲学家莱布尼茨曾受易经中阴阳推演八卦的步骤,启发完善二进制理论,从数学层面定义了二进制的基数、进位规则和运算体系

  • 1703 年,他发表论文《论只使用符号 0 和 1 的二进制算术,兼论其用途及它赋予伏羲所使用的古老图形的意义》,明确提出二进制的记数规则:以 2 为基数,逢二进一,用 0 和 1 表示所有数。
  • 他还系统推导了二进制的加法、乘法运算公式,证明了二进制可以和十进制互相转换,让二进制从 “哲学符号” 变成了 “可运算的数学工具”。

二进制只用两个数0和1,就能表示所有的十进制数值。

那么,既然0和1的不同组成就可以代表所有十进制数值,如何把0、1和电联系起来呢? 

世界上第一台通用电子计算机是 ENIAC(1946 年),但它的设计思路并非凭空出现,而是站在了前人的肩膀上。真正打通 “二进制 + 电” 的关键人物,是克劳德・香农,他是第一个从理论上证明 “电开关可以实现二进制逻辑运算” 的科学家。

 

二、 核心启发点 1:布尔代数 —— 把逻辑运算变成 “0 和 1” 的计算

 
这是 “电与二进制结合” 的数学基础
 
19 世纪中期,英国数学家乔治・布尔提出了一套逻辑代数(后来叫布尔代数),他发现:
 
  • 人类的逻辑判断(“是 / 否”“真 / 假”)可以用0 和 1来表示(0 代表假,1 代表真);
  • 逻辑运算(与、或、非)可以转化为 0 和 1 的算术运算(比如 “与运算”:1 与 1=1,1 与 0=0)。
 
这套理论的价值在于:它把复杂的逻辑判断,简化成了只有两种状态的数学运算—— 这和二进制的 “0 和 1” 完全契合,也为后来 “用电信号实现逻辑运算” 埋下了伏笔。
 

三、 核心启发点 2:继电器 / 开关的 “通断”—— 天然对应二进制的 “0 和 1”

 
这是 “电与二进制结合” 的物理基础
 
20 世纪初期,继电器(一种用电控制的开关)已经被广泛用于电报、电话系统。科学家们发现一个关键特性:
 
  • 继电器只有两个稳定状态通电闭合(1)断电断开(0)
  • 多个继电器的组合,可以实现复杂的开关逻辑 —— 比如 “只有 A 和 B 同时通电,C 才通电”,这正好对应布尔代数的 “与运算”。
 
这个发现让科学家们意识到:电开关的通断状态,就是二进制 0 和 1 的天然物理载体
 

四、 关键突破:香农的《继电器与开关电路的符号分析》—— 理论搭桥

 
1938 年,22 岁的克劳德・香农在麻省理工学院发表了一篇硕士论文,这篇论文被称为 “20 世纪最重要的硕士论文”,它直接打通了 “布尔代数 + 继电器开关 + 二进制” 的链路:
 
  1. 香农证明:任何布尔代数的逻辑运算,都可以用继电器组成的开关电路来实现
  2. 他举了例子:比如要实现 “与逻辑”,就把两个继电器串联 —— 只有两个都通电(1),电路才通(1);只要有一个断电(0),电路就断(0);
  3. 反过来,任何复杂的逻辑需求(比如计算 “1+1”),都可以拆解成 “与、或、非” 的基本逻辑,再用继电器电路实现。
 
这篇论文的核心贡献,是从理论上证明了 “电信号可以执行二进制运算”,为后来的电子计算机奠定了核心原理。
 

五、 后续实践:从继电器计算机到电子管计算机(ENIAC)

 
香农的理论发表后,科学家们开始把它变成现实:
 
  1. 早期继电器计算机:比如 1944 年的马克一号(Mark I),用继电器作为运算元件,通过开关的通断实现二进制计算。但继电器是机械结构,速度很慢(每秒仅能算几次)。
  2. 电子管替代继电器:后来科学家发现,电子管(比继电器更快的电子元件)同样只有 “导通 / 截止” 两种状态,而且速度是继电器的成千上万倍。
  3. ENIAC 的诞生:1946 年,ENIAC 使用了 18000 多只电子管,完全基于二进制和布尔逻辑设计,每秒能计算 5000 次加法 —— 这标志着 “二进制 + 电” 的思路,正式从理论变成了实用的电子计算机。
 

六、 总结:启发的核心逻辑链

 
布尔代数(逻辑→0 和 1)继电器 / 电子管(通断→0 和 1)香农理论(搭桥:电路 = 逻辑运算)科学家实践(造出电子计算机)
 
简单说:不是 “先有计算机,再想到二进制 + 电”,而是先发现 “电的通断和二进制天然匹配”,再基于这个原理,设计出了计算机
 
 
精简总结:

 

 
  1. 二进制与易经的关联 + 莱布尼茨的贡献
     
    莱布尼茨确实在研究易经阴阳八卦时,发现其 “阴 - 阳” 的二分法与自己构思的二进制高度契合,进而从数学层面系统定义了二进制的基数(2)、进位规则(逢二进一)和运算体系,并证明了十进制与二进制的可逆转换,这是二进制成为计算机底层语言的数学基础。
     
  2. 布尔代数的核心价值
     
    乔治・布尔提出的逻辑代数(布尔代数),将逻辑判断抽象为 “真 - 假” 的二元运算,与二进制的 “0-1” 天然契合,这一步把 “逻辑” 变成了可以计算的数学问题,为后续硬件实现逻辑运算提供了理论框架。
     
  3. 香农论文的里程碑意义
     
    1938 年香农的硕士论文《继电器与开关电路的符号分析》,确实是 “理论到硬件” 的关键转折点:
     
    • 证明了布尔代数的所有逻辑运算(与、或、非),都可以用继电器的开关组合实现(比如串联 = 与、并联 = 或);
    • 打通了 “二进制数学 → 布尔逻辑 → 电气开关” 的链路,首次从理论上论证了 “电信号可以执行逻辑和算术运算”,这是电子计算机的核心原理基石。
     
  4. 电通断与二进制的天然匹配
     
    电气元件的 “通 - 断”“高电平 - 低电平” 两种稳定状态,完美对应二进制的 “1-0”,这是二进制能成为计算机底层语言的硬件天然优势
     
 

二、 可以补充的细节(让表述更严谨)

 
关于 “世界上最早的进制是十进制” 这个说法,目前考古学界并没有绝对定论:
 
  • 十进制的广泛使用,主要源于人类有 10 根手指的生理特征,确实是古代文明中最普及的进制(如古埃及、古中国、古希腊都采用十进制);
  • 但考古发现,更早的文明可能使用过其他进制:比如苏美尔文明的六十进制(距今约 6000 年,沿用至今的时间、角度单位),以及部分原始部落的二进制、五进制等。
 
因此更严谨的表述可以是:十进制是人类文明中最早普及且沿用最广的进制之一
 

核心总结

 
你的梳理完整覆盖了二进制从 “数学理论” 到 “硬件可实现” 的三大关键节点:
 
莱布尼茨的二进制数学定义布尔代数的逻辑抽象香农的电路实现论证
 
这三步层层递进,最终为电子计算机的诞生铺平了道路。
 

继电器是如何计算1+1的

 
 要理解继电器如何计算 1+1,核心是把加法运算拆解为「布尔逻辑运算」,再用继电器的串联(与逻辑)、并联(或逻辑)、反向(非逻辑) 组合实现。
 
我们以二进制加法为基础(因为继电器只能识别 0/1 两种状态,对应电路的「断 / 通」),分两步讲清楚:
 

一、 先明确:二进制 1+1 的运算规则

 
二进制加法和十进制的区别是逢二进一,1+1 的结果不是 2,而是 10(即「本位得 0,向高位进 1」)。
 
加法运算的两个核心输出:
 
  • 本位和(Sum):1+1 的本位和是 0
  • 进位(Carry):1+1 的进位是 1
 
这个运算可以拆解为两个布尔逻辑表达式,这是继电器实现加法的关键:
 
输入 A输入 B本位和(Sum)进位(Carry)逻辑关系
0 0 0 0 Sum = A ⊕ B(异或:A 和 B 不同时为 1);Carry = A ∧ B(与:A 和 B 同时为 1)
0 1 1 0  
1 0 1 0  
1 1 0 1  
 
简单说:
 
  1. 进位(Carry):只有当 A 和 B 同时为 1 时,进位才是 1 → 对应与逻辑
  2. 本位和(Sum):只有当 A 和 B 不同时为 1 时,本位和才是 1 → 对应异或逻辑(异或可以拆解为 与、或、非 的组合:A⊕B = (A∨B) ∧ ¬(A∧B))。
 

二、 继电器实现 1+1 的核心:搭建「半加器」电路

 
能计算两个 1 位二进制数加法(不考虑低位进位)的电路,叫半加器—— 这是加法运算的最小单元,完全由继电器组成。
 
我们先明确继电器的「0/1 对应关系」:
 
  • 继电器断电 → 电路断开 → 代表 0
  • 继电器通电 → 电路导通 → 代表 1
  • 继电器的触点:通电时闭合,断电时断开(相当于一个受电信号控制的开关)。
 

1. 第一步:用继电器实现「进位(Carry)」—— 与逻辑(串联)

 
进位的逻辑是 A 和 B 同时为 1 才输出 1,对应两个继电器串联
 
  • 电路结构:继电器 A 的触点 和 继电器 B 的触点 串联,再连接一个指示灯(或其他输出设备)。
  • 工作原理:
    • 只有当 A 通电(1)且 B 通电(1) 时,串联电路才会导通 → 指示灯亮 → 输出进位 1
    • 只要 A 或 B 有一个断电(0),电路就断开 → 指示灯灭 → 输出进位 0
    • 这正好匹配 1+1 时「进位 = 1」的需求。
     
 

2. 第二步:用继电器实现「本位和(Sum)」—— 异或逻辑(串并联组合)

 
异或逻辑的本质是 A 和 B 不同时为 1 才输出 1,需要把与、或、非 组合起来,对应的继电器电路设计:
 
  • 先做 或逻辑(并联):继电器 A 的触点 和 继电器 B 的触点 并联 → 只要 A 或 B 有一个通电,并联电路就导通;
  • 再做 与非逻辑:用一个继电器的反向触点(通电时断开,断电时闭合),串联在上述并联电路之后 → 目的是排除 A 和 B 同时通电的情况
  • 最终效果:
    • 当 A=1、B=0 或 A=0、B=1 时 → 并联电路导通,反向触点不阻断 → 输出本位和 1
    • 当 A=1、B=1 时 → 并联电路导通,但反向触点阻断 → 输出本位和 0
    • 这正好匹配 1+1 时「本位和 = 0」的需求。
     
 

3. 第三步:半加器整体电路 → 完成 1+1 计算

 
把「进位电路」和「本位和电路」组合,就是完整的继电器半加器
 
当输入 A=1、B=1 时:
 
  • 进位电路(串联)导通 → 输出进位 1
  • 本位和电路(串并联组合)阻断 → 输出本位和 0
  • 最终结果就是 10,和二进制 1+1 的运算结果完全一致。
 

三、 关键补充:继电器加法的本质

 
  1. 没有「计算」,只有「电路通断」:继电器不会像人脑一样 “算”,而是通过预设的电路逻辑,把输入的电信号(0/1)转化为输出的电信号(0/1)—— 1+1 的结果,是电路通断的必然产物。
  2. 香农的核心贡献:他证明了任何算术运算都能拆解为布尔逻辑,而布尔逻辑又能通过继电器的串并联实现 —— 这是从「继电器开关」到「电子计算机」的关键桥梁。
  3. 局限性:早期继电器半加器体积大、速度慢(继电器开关速度以毫秒计),后来被电子管、晶体管取代,但核心逻辑完全一致
 

核心总结

 
继电器计算 1+1 的步骤:
 
  1. 把二进制 1+1 拆解为「本位和 = 0,进位 = 1」;
  2. 继电器串联实现与逻辑 → 输出进位 1;
  3. 继电器串并联组合实现异或逻辑 → 输出本位和 0;
  4. 组合两个电路 → 得到最终结果 10

 

DRAM内存的一个存储单元:晶体管+电容

晶体管的作用:开关 + 隔离

DRAM 存储单元里的晶体管,本质是一个受控制的开关,不负责存储数据,只负责两个核心功能:

    • 数据读写的控制:当控制器发送 “读 / 写” 控制信号时,晶体管导通,连通电容和外部的数据总线;无控制信号时,晶体管截止,断开连接。
    • 相邻单元的隔离:避免一个存储单元的电容电荷,干扰到隔壁单元的数据,保证每个 bit 的独立性。

电容的作用:存储电荷 = 存储 0/1

  • 电容充满电荷 → 对应输出高电平 → 表示 1
  • 电容没有电荷 → 对应输出低电平 → 表示 0

那么,结论:一个晶体管和电容 可以代表0和1 ,两个晶体管可以代表0到3

晶体管和电容是如何配合产生联系的

简单解释写和读

写操作:把 0/1 写入存储单元(晶体管控制电容充放电)
 
写操作的目标是:根据要写入的二进制值(0 或 1),控制电容的充 / 放电。
 
    1. 控制器发送指令:要写入的数据通过位线(Bit Line) 传输(写 1 则位线置高电平,写 0 则位线置低电平);同时给字线发送高电平控制信号。
    2. 晶体管导通:字线的高电平让晶体管的开关闭合,电容和位线之间的通路被打通。
    3. 电容根据位线电平动作
        • 写 1:位线是高电平 → 电荷通过导通的晶体管流向电容,电容被充满电荷;
        • 写 0:位线是低电平 → 电容中的电荷通过导通的晶体管流向位线,电容被完全放电。
       
    4. 晶体管截止:写操作完成后,控制器把字线电平拉低 → 晶体管开关断开,电容与外部隔离,电荷被暂时保存在电容里(直到漏电流失)。
 
读操作:从存储单元读出 0/1(晶体管传递电容的电荷状态)
 
读操作的目标是:检测电容是否有电荷,从而判断存储的是 1 还是 0。
 
    1. 控制器准备读取:先把位线预充到一个中间电平;然后给字线发送高电平控制信号。
    2. 晶体管导通:字线高电平让晶体管开关闭合,电容与位线连通。
    3. 电容电荷影响位线电平
        • 读 1:电容充满电荷 → 电荷流向位线,拉高位线电平 → 位线的检测电路识别到高电平,判定为 1;
        • 读 0:电容无电荷 → 位线的预充电荷流向电容,拉低位线电平 → 检测电路识别到低电平,判定为 0。
       
  1. 关键补充:读操作是 “破坏性的”
     
    读 1 的时候,电容的电荷会流失一部分,导致电荷不足 → 因此每次读操作后,必须执行一次 “重写” 操作,重新给电容充满电荷,否则数据会丢失。

 

posted @ 2026-01-19 14:13  无上仰无  阅读(2)  评论(0)    收藏  举报