本文探讨了苏联“暴风雪”号航天飞机的四通道冗余系统,该系统利用四台运行相同软件的“Biser-4”飞行计算机,以实现对两次同步故障的容错。作者明确指出,这并非“3f+1”拜占庭容错方案,而是一种通过比较输出结果来识别并屏蔽故障通道的输出表决系统。
作者指出,在所有通道上运行相同的软件会带来“共模故障”的风险,即共享的软件漏洞可能导致所有计算机产生相同的错误输出,航天飞机(Space Shuttle)和阿里安501(Ariane 501)火箭均曾因该漏洞遭受重创。
为了探索这一问题,作者使用 Rust 语言实现了一个表决组件,并利用 Lean 4 定理证明器对其正确性进行了机器辅助形式化验证。尽管证明确保了表决器本身不会发生崩溃且能正确屏蔽单点故障,但它无法检测或防止共享的软件缺陷,也不是符合 DO-178C 等行业标准的完全合格工具。文章最后总结道,形式化验证虽是确保关键系统可靠性的有力手段,但它只是对严谨软件设计和系统级故障防护的补充,而非替代。
1980 年推出的英特尔 8087 处理器通过大幅加速浮点运算,彻底改变了 IBM PC 的性能。其一大亮点是 `FPTAN` 指令,仅需 90 微秒即可完成正切计算,相比 8086 处理器所需的 13,000 微秒有了巨大提升。
为了实现这一性能,8087 采用了结合 **CORDIC**(坐标旋转数字计算机)算法与**有理多项式近似**的复杂混合算法。CORDIC 最初是为 B-58 轰炸机开发的,它允许仅通过简单的加法、减法和位移运算来计算超越函数,从而避免了昂贵的乘法或除法运算。
该芯片的微代码通过三个阶段实现 `FPTAN`:
1. **伪除法**:利用 CORDIC 确定必要的旋转角度。
2. **有理近似**:使用帕德近似($3x/(3-x^2)$)高精度处理剩余角度。
3. **伪乘法**:通过位移和加法应用确定的旋转。
通过卸载除法运算并利用专用硬件进行平方和位移,8087 高效地实现了 64 位精度。尽管现代 CPU 现在更倾向于使用多项式近似和向量化库(SIMD)而非 CORDIC,但 8087 依然是计算机史上硬件级巧妙优化的里程碑。
虽然大英博物馆展出的贝叶挂毯原件门票已售罄,但雷丁博物馆提供了一个绝佳的替代选择。在那里,您可以免费欣赏到一幅全尺寸的手工刺绣复制品,无需排队,也无需支付高昂的门票费用。
这件长70米的杰作由利克刺绣协会于1885年创作,陈列在一个专门的展厅中。由于它避开了11世纪原件所经历的历史磨损,因此色彩依然极其鲜艳。雷丁的这件复制品还因其透明度而独具特色:35名绣工中的每一位都在自己的板块上缝上了名字,博物馆甚至还增加了乔伊·梅森特(Joy Messent)于2019年创作的补白,想象了挂毯遗失的最终场景。
无论您是对诺曼征服、19世纪的针线活,还是仅仅对引人入胜的历史叙事感兴趣,雷丁博物馆都能提供高质量且便捷的参观体验。虽然它可能缺乏布卢姆茨伯里(大英博物馆)那种950年历史的“历史气息”,但这件制作精良的艺术品完美地捕捉了黑斯廷斯战役的宏大故事。博物馆周二至周六开放,免费入场。