为什么计算机采用二进制:硬件电路只能稳定识别两种电平

为什么计算机采用二进制:硬件电路只能稳定识别两种电平

大二帮实验室学长改造简易抢答器那天,才实打实弄懂为什么计算机采用二进制,课本里轻飘飘的“易于实现”,此前两年都只当是一句套话。

焊锡丝在烙铁头融化成银亮色液滴,顺着排针缝隙往下淌。最开始图省事,照搬十进制逻辑做电路划分,打算用0-9十种电压区间对应十个数字,电源稳压在5V,想着均分后每0.5V代表一个数位就够用。

线接完通电直接乱码。抢答器没按按键就随机跳转数字,蜂鸣器断断续续嘶鸣。

万用表挨个测引脚,发现室温波动两度,电路板内阻就会偏移0.12V。就是这一丁点偏差,刚好卡在3.5V和4.0V的分界点,电路直接把同一个电压判定成两个数字。之前完全忽略了民用电子元件的容错率,市面上普通电阻、电容的误差本身就有5%,十进制需要十种精细电压阈值,容错空间直接被压缩到近乎没有。

折腾一下午删掉三组分压线路,只保留高低两种电平。高于2.5V统一算作高电平1,低于则算作低电平0。没有中间模糊区间,哪怕电压浮动0.4V,电路识别都不会出错。其实压根不需要复杂的编码优化,单纯减少识别状态,就能抹平硬件本身的误差缺陷。

随手碰了下电路板外壳,静电扫过引脚,二进制电路毫无反应。之前十进制版本,一次静电就能让整片分压模块失效。

后来才反应过来,市面上所有基础逻辑门,与或非全部是基于双状态设计的。厂商量产芯片时,只会针对高低电平做耐压、抗静电优化,多增加一种识别状态,芯片制造成本会成倍往上翻,而且良品率会断崖式下跌。之前总疑惑工程师不选更贴合人类习惯的十进制,现在才看清是硬件生产端的底层限制,不是人为选择偏好。

隔壁工位同学还在纠结三进制理论运算效率更高,对着仿真软件跑数据。仿真环境恒温恒压,元件零误差,三进制参数确实好看,但脱离仿真箱,放到普通实验室桌面,十分钟内就会出现识别错误。理论效率从来不是计算机选型的核心依据。

关掉电源,烙铁余温烘得指尖发麻。收拾元件的时候,把报废的十进制分压电阻丢进废料盒。脑子里只剩一个细碎的念头:所有电子设备的底层逻辑,永远要向物理硬件的不稳定性妥协。

# 为什么计算机采用二进制:硬件电路只能稳定识别两种电平

大二帮实验室学长改造简易抢答器那天,才实打实弄懂为什么计算机采用二进制,课本里轻飘飘的“易于实现”,此前两年都只当是一句套话。

焊锡丝在烙铁头融化成银亮色液滴,顺着排针缝隙往下淌。最开始图省事,照搬十进制逻辑做电路划分,打算用0-9十种电压区间对应十个数字,电源稳压在5V,想着均分后每0.5V代表一个数位就够用。那会儿总觉得十进制看着直观,后期写控制代码也不用额外转换,做出来的设备可读性会更强。

线接完通电直接乱码。抢答器没按按键就随机跳转数字,蜂鸣器断断续续嘶鸣。

万用表挨个测引脚,发现室温波动两度,电路板内阻就会偏移0.12V。就是这一丁点偏差,刚好卡在3.5V和4.0V的分界点,电路直接把同一个电压判定成两个数字。之前完全忽略了民用电子元件的容错率,市面上普通碳膜电阻、陶瓷电容的误差本身就有5%,十进制需要十种精细电压阈值,容错空间直接被压缩到近乎没有,稍微一点环境扰动就会击穿识别边界,而且调试的时候要反复微调八个分压电位器,眼睛盯久了连刻度都分不清,效率低的离谱。

折腾一下午删掉三组分压线路,只保留高低两种电平。高于2.5V统一算作高电平1,低于则算作低电平0。没有中间模糊区间,哪怕电压浮动0.4V,电路识别都不会出错。其实压根不需要复杂的编码优化,单纯减少识别状态,就能抹平硬件本身的误差缺陷,改动之后只用校准一次电位器,后续一整天运行都没有出现误触发。

随手碰了下电路板外壳,静电扫过引脚,二进制电路毫无反应。之前十进制版本,一次静电就能让整片分压模块失效,还要拆焊重新更换稳压二极管。

后来才反应过来,市面上所有基础逻辑门,与或非全部是基于双状态设计的。厂商量产芯片时,只会针对高低电平做耐压、抗静电优化,多增加一种识别状态,芯片内部要新增一层阈值检测电路,制造成本会成倍往上翻,而且良品率会断崖式下跌。之前总疑惑工程师不选更贴合人类习惯的十进制,现在才看清是硬件生产端的底层限制,不是人为选择偏好,说白了是造不出来稳定的多电平通用芯片。

隔壁工位同学还在纠结三进制理论运算效率更高,对着仿真软件跑数据。仿真环境恒温恒压,元件零误差,三进制参数确实好看,但脱离仿真箱,放到普通实验室桌面,十分钟内就会出现识别错误。理论效率从来不是计算机选型的核心依据,物理稳定性才是。

关掉电源,烙铁余温烘得指尖发麻。收拾元件的时候,把报废的十进制分压电阻丢进废料盒。脑子里只剩一个细碎的念头:所有电子设备的底层逻辑,永远要向物理硬件的不稳定性妥协。