I have been lucky. I have done a lot of digital system hardware design in a past life, and been one of the two authors of the optimizer used in a Bell Labs optimizer. I have also written an entire special-purpose operating system.As a result of all this experience, I have an pretty good intuitive feel for what is a hardware fault and what is a software fault. I have been lucky to have used mostly very good hardware, so I would say the software faults greatly exceed the hardware faults. One thing is that much of the software used is far more complex than the hardware.It may be that there are more gates in the hardware than there are instructions in the software, but the hardware designs are, for the most part, much more regular, so the number of possible faults is much better controled than in the software.Now my intuition is not always right, but it is often enough that it speeds up fixing things a lot. I remember when a programmer working for me was re-writing the math library and some function did not get correct results. It was a rather simple function and we inspected it and found no errors. It seemed to be a hardware error. This computer had a single step button where we could execute one cycle at a time. We did that and an (floating point) add operation failed. I mean it was this1 + 1 = 1026The machine also had a single cycle button and we got up to the offending instruction, and single cycled through it and saw it happen. I pulled out the wiring diagram of the computer, figured out what had to be the problem, and replaced a transistor on a circuit board to fix it. My boss was amazed because he thought I was only a programmer.
Best Of |
Favorites & Replies |
Start a New Board |
My Fool |
BATS data provided in real-time. NYSE, NASDAQ and NYSEMKT data delayed 15 minutes.
Real-Time prices provided by BATS. Market data provided by Interactive Data.
Company fundamental data provided by Morningstar. Earnings Estimates, Analyst Ra