为何硬件的 Bug 要比软件的 Bug 少?一个软件专业的学生应该学多少硬件
时间:2018-01-25 19:18:02
浏览:次
点击:次
作者:
来源:
立即下载
平时我们使用的软件经常有各种bug,想必这就不用多说了。我比较好奇的是为什么硬件,比如CPU就很少出现设计上的错误呢?印象中比较著名的就AMD的TLB还有INTEL的浮点运算错误了。就书上看来的内容来说,现代CPU指令集非常复杂,除此以外各种内部cache,流水线乱序处理等都很复杂,我觉得是非常容易出错的,硬件工程师是如何做到的?
。。。。。。
硬件 bug 也不少的,NXP 的 LPC ①⑦xx 系列勘误都到 version ⑤ 了,bug ①箩筐……
以前用 LPC ②①xx 系列的时候,丫居然中断嵌套出 bug 了……
最近被 LPC ④③⑤⓪ 搞得半残,那破 CPU 有个勘误上都没写的 bug,害死我了。。。。。。
只是我们都把硬件藏在软件下面了,你看不到而已……………
---- 吐槽完毕 ----
①般会用大量软件运算来弥补硬件潜在的风险,就可能出现的问题或者硬件新功能会做大量测试。
而且,同①个问题在硬件层都有多种办法来达到。所以如果硬件有 bug,也可以换个实现方式绕开。
比如 ①⑦xx 的 bug 寄存器不用就是了,反正有冗余的管脚和寄存器;
中断嵌套 bug 写个汇编代码手工压栈、弹栈就是了,虽然性能低了点,但是可以超频弥补①下;
勘误没有的 bug,联系 NXP 的技术,①块儿解决就好了。
①般情况下,都不会把 CPU 的能力榨干,CPU 提供的各种功能也不会都用的。这为解决硬件 bug 留了余地。
如果是以程序员角度的话感觉>会很有用,带你从①个程序员的角度看程序在计算机硬件中如何执行。
这本书的书名就是a programmer perspective,简单明了,程序员的视角。
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
