关于内存:CPU会出错吗?

Do CPUs make mistakes?

想象一下,一台普通的计算机连续工作5年,CPU总是以100%的速度工作,并且不断地读写到内存中。计算机不会犯一个错误,这是真的吗?


即使在没有任何由CPU引起的错误的情况下,存储元件也会受到宇宙辐射的位翻转(称为单事件扰乱)。在编译用于高放射性环境的应用程序时,需要更多的信息。

高海拔地区的辐射效应更为严重,那里的大气提供的保护更少,因此丹佛的计算机比迈阿密或洛杉矶的计算机经历更多的翻转。同样,如果你设计的设备是在医院里靠近X光机的地方使用的话。

除非你的假想计算机有极少量的内存,否则它在5年内不可能毫无错误地工作。但是请注意,有些位翻转可能发生在您不使用的内存部分,在这种情况下,它们不会影响您。

你可能会发现阅读如何杀死超级计算机很有趣。典型的纠错码(ECC)存储器可以纠正一个单词中的任何一个位翻转,并且可以检测但不能纠正一个单词中的任何两个位翻转。还要注意,在某些情况下,辐射会永久性地损坏记忆细胞,即使在冷启动之后,这些细胞也不会恢复。