为什么计算机系统中的数字 0 不是 0V?

电器工程 计算机架构
2022-01-06 11:43:16

我正在学习计算机系统设计课程,我的教授告诉我们,在数字系统中,用于表示数字 0 和数字 1 的传统电压多年来发生了变化。

显然,早在 80 年代,5 V 被用作“高”,1 V 被用来表示“低”。如今,“高”为 0.75 V,“低”约为 0.23 V。他补充说,在不久的将来,我们可能会转向 0.4 V 表示高,0.05 V 表示低的系统。

他认为这些值越来越小,以便我们可以降低功耗。如果是这样的话,为什么我们要麻烦将“低”设置为任何正电压呢?为什么我们不将其设置为真正的 0 V(我猜是电源线的中性电压)电压?

4个回答

你越来越糊涂了。以 TTL 为例:-

在此处输入图像描述

低输入电平介于 0 伏和高于 0 伏的某个小值之间(对于 TTL,为 0.8 伏)。

为什么我们要麻烦将“低”设置为任何正电压?

我们不厌其烦地确保它低于某个小值。

图片来自这里

您将“理想”值与有效输入范围混淆了。

在通常的逻辑中,在理想条件下,逻辑零正好是 0V。然而,现实世界中没有什么是完美的,电子输出具有一定的容差。实际输出电压取决于电线的质量、EMI 噪声、需要提供的电流等。为了适应这些缺陷,逻辑输入将整个电压范围视为 0(或 1)。请参阅安迪答案中的图片。

您的讲师可能所说的 0.75V 是构成逻辑 0 范围的要点之一。

注意0到1之间还有一个空白范围。如果输入电压下降到这里,输入电路就不能保证正常工作,所以这个区域被称为禁止区域。

不可能产生真正的零伏逻辑信号。必须允许一些公差,因为电路不是无限完美的。花钱试图让它无限完美也不是设计资金的好投资。数字电路之所以如此迅速地激增和发展,是因为它使用了大量非常简单和宽容的逻辑门电路副本。

二进制状态 1 和 0 在数字逻辑电路中分别由逻辑高电压和逻辑低电压表示。代表逻辑高和逻辑低的电压落入所使用的逻辑系列的预定义和预先约定的范围内。

在这些范围内工作的能力是数字逻辑电路的主要优点之一——这不是失败。逻辑门输入可以轻松区分逻辑高电压和逻辑低电压。逻辑门输出将产生有效的逻辑高电压和低电压。当逻辑信号通过门时,小信号噪声被去除。每个输出都将输入信号恢复到良好的逻辑电压。

对于模拟电路,将噪声与感兴趣的信号区分开来和完全抑制噪声之间的关系更加困难,实际上是不可能的。

除了其他答案提出的观点之外,还有高开关速度下的寄生电容问题(通常忽略的电线和其他组件的电容)。电线通常也有轻微的阻力。(一个非常简化的模型!)

示意图

模拟此电路- 使用CircuitLab创建的原理图

作为一个 RC 网络,这会导致指数衰减曲线 ( V ~ e^-kt )。如果接收器将其阈值设置得非常低(接近 0V),那么它必须等待很长一段时间才能使输出电压下降到足以触发阈值。这个时间可能看起来微不足道,但对于一个应该每秒切换一百万次(甚至十亿次)的设备来说,这是一个问题。一个解决方案是增加“OFF”电压,以避免指数函数的长尾。