【问题标题】:How often do computers make mistakes?计算机多久出错一次?
【发布时间】:2016-07-27 00:23:33
【问题描述】:

我指的不是编程错误,实际上是由人类以某种方式完成的,而是在执行像两个数字相加这样简单的事情时发生的错误。

在 1/x 中预期错误的 x 范围是多少?

【问题讨论】:

    标签: architecture hardware


    【解决方案1】:

    就 CPU 而言,您的问题范围内似乎存在三种可能的错误来源:

    1. 浮点舍入错误。这似乎是您对除法示例的理解。这种类型的错误在实践中是完全确定的,根本不是随机的!但是,如果您使用的编程语言未指定浮点行为,您可能会在不同的计算机上遇到不同的错误。
    2. CPU 中的设计错误,例如臭名昭​​著的Intel Pentium FDIV bug。很难对此给出概率,但幸运的是,现代 CPU 已经进行了广泛测试,甚至在一定程度上也使用了形式化方法在数学上证明了它们的正确性。
    3. 由辐射引起的硬件错误,例如宇宙射线。除非你把你的电脑放在核电站的反应堆之类的东西里,否则由辐射引起的错误概率一般应该可以忽略不计。有趣的是,这实际上与某些编程技术有关,例如修订控制系统中的散列。您可以提出这样的论点:“好吧,由于宇宙射线而不是哈希冲突,我们更有可能得到错误,因此不必担心哈希冲突的可能性”。

    与 CPU 相比,计算机的其他组件(例如存储设备和显示设备)出现导致数据损坏的硬件错误的可能性要大得多。

    【讨论】:

    • 很好的总结。不过请注意 - 硬件错误绝对不容忽视。首先,有些段甚至不能忍受一个错误(例如银行服务器),它们可能会运行多次只是为了可靠性。其次 - 你运行的 CPU 越多,你的几率就会增加,所以重型服务器实际上对这些非常敏感。第三 - 这些天如此流行的低电压意味着更少的保护带,最后但并非最不重要的 - 我们这些天向太空发送了大量的 CPU,那里的辐射甚至比夏天的佛罗里达还要糟糕 :)
    【解决方案2】:

    根据@Robin Green 的回答,除了宇宙射线之外,实际上还有其他一些潜在的硬件错误原因:

    • 电噪声:热噪声存在于所有电子电路中,如感应耦合等影响。
    • 量子事件:随着半导体上的特征变得越来越小(尤其是栅极电介质)并且每个状态变化中涉及的电子数量越来越少,电子处于高能状态并影响逻辑状态的有限(但很小)概率变得重要。

    所有这些问题都有设计解决方案,但它们的价格在尺寸、功耗和集成密度方面可能是我们不愿意接受的。抗辐射半导体以其低集成密度、相对性能(和高成本)而著称。

    还值得注意的是,在通信和存储中,硬件错误是司空见惯的,而不是从一开始就阻止它们,策略是通过错误检测和纠正技术从它们中恢复。

    【讨论】:

      【解决方案3】:

      我和一个非常反自动化的朋友有这样的对话——他是一名火车司机......

      “你的电脑在启动时犯了多少错误?在这个过程中它做出了多少决定?你在驾驶火车时犯了多少错误?”

      (如果您有兴趣,9 年内 3 个)

      是的,由于边缘设计和媒体老化在某些时候会出现奇怪的读取错误,但是计算机会犯错误还是人类只是偷工减料?

      宇宙射线是计算机的错误还是设计者的错误?我怀疑未来计算机会变得复杂到足以犯我们所说的“错误”,但它们需要表现出自己的意图才能正确地犯下该罪行。

      【讨论】:

        【解决方案4】:

        从来没有。 - 一个原因是“错误”的概念是人类的范畴,不适用于机器。计算机是愚蠢的(是人类编程让它们看起来很聪明),它们不会失败。

        机器按照它们的构造运行,并且(如果是计算机)按照它们正在运行的程序运行。这是始终确定性的 - 否则将意味着某些自然法则被打破,整个人类科学就是某种猜测。

        结果可能并不总是像人类预期的那样,但这总是可以用人为因素来解释的。根本就存在(不可能)“计算机错误”这样的事情。

        【讨论】:

        • 你如何对宇宙射线撞击的结果进行分类?
        • 不是一个错误(发生的一切都是纯逻辑的),而是一个极不可能发生的事件。 - 有些人可能称之为危险或类似的,但这只是“极不可能”的同义词......
        • 我同意你的看法。每件事的发生都是有原因的。
        • @ThomasWeller 那么这与人类有何不同?我们犯的“错误”很可能是由一些神经元由于它们的构建/训练方式而失灵所决定的。或者更明显的是,开发人员 A 忘记完成该功能,因为他被开发人员 B 扔纸飞机分心了,他这样做是因为开发人员 C 将打印错误的文档打印输出放在他的办公桌而不是垃圾箱上,这....
        • 事实并非如此。计算机中有许多不确定性的来源,例如时间。这是从密码学到​​视频游戏的许多事情的基础。这不一定是错误,但是您断言它们是确定性的是误导性的,并且对于显式错误:存在错误纠正ram以“纠正错误”,否则可能会发生。我的电脑没有这个...
        【解决方案5】:

        ...否则就意味着某些自然法则被打破,整个人类科学就是,嗯,某种猜测。

        如果你仔细研究一下,确实整个人类科学在某种程度上实际上是某种猜测。目前还没有关于任何事情的绝对事实。只是近似和最佳猜测。甚至科学和物理学的核心也是一个错误的模型。通过一个非常小的因素,但仍然有缺陷。

        【讨论】:

        • 这不过是陈词滥调。原因很简单,科学不会产生积极的(“被证明的”)事实——它不能也无意这样做。相反,它完全基于可证伪的理论。不过,飞到月球就够了……
        猜你喜欢
        • 2022-11-02
        • 2021-12-05
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 2011-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多