Steve, re <Pentium F0-bug> <if illegal code exists that can crash pentium CPUs, isn't it possible that illegal code exists that can crash CPUs manufactured by AMD, Cyrix, Motorola and any other mfgr?>
There are dozens of illegal/reserved codes in processors, but all illegal codes are supposed to generate a special interrupt right after decoding, so a processor could stop execution of the wrong or corrupted program. This happens thousand times everyday in multiuser systems, but due to this protection the systems keep alive.
The problem with F0-bug is that this particular code combination DOES NOT RAISE THIS INTERRUPT, and a Pentuim processor just fails into some dead state, with no way out except the hard reset which wipes all the information in a computer. The K6 and M2 processors report this invalid opcode correctly, and no such a problem exists.
<If the above statement is true, or could be true. What would you do? You certainly can't assume that replacing all Intel cpus with AMD processors would solve the problem.> I think that the people who run application servers will have a very serious reason to request replacement/refund. For two-processor servers the only replacement is possible. Single-processor servers may want to upgrade to K6 with some benefits - lower cost and better performance on this class of applications. I also think that the forthcoming shrinks of Pentium core will be delayed due to necessity of some regesign at CPU decoder level, and related global re-validation of the new silicon.
<First, Intel knew this all along and left it as a means to increase conversion to PII.> I do not think this is a case. The long record of bugs in Intel processors speaks for very sloppy verification in the company. This is a classical manifestation and result of the company monopolistic position and attitude.
<I do expect due diligence and devices should perform within their expected or specified limits.> In this case the limits are perfectly specified - when facing ANY invalid code sequence, any CPU must generate an interrupt AND NEVER FALL INTO A DEAD STATE. The Pentium does this.
<If the pentium bug is real, can software (or OS) be written to ensure these types of commands are not executed?> Theoretically, anything is possible, but it would be extremely slow. The whole institution of "invalid opcode interrupts" was invented to avoid this situation, at HARDWARE LEVEL. The F0-bug is a hardware hole.
<Does it open up another business opportunity like virus protection?> Not really. You can scan the code for this particular code combination and prevent the program containing this code from execution, but you cannot prevent the bad code execution if it will be generated on fly as a result of code modification.
Hope this helps,
Ali. |