英特尔386乘法错误
2021-02-02 11:56
一些早期型号的英特尔80386处理器存在32位整数乘法错误。那些被发现有的被标记为“仅16位S/W”(不确定S/W是什么意思),而干净的被标记为∑。软件如何检测它是
解答动态
软件可以通过检查XBT和/或IBTS指令是否可以执行来识别386上的那些早期步骤,因为这些指令是在以后的芯片修订中删除的。
软件必须,然而,首先要检查CPU是否真的是80386而不是486,因为486的一些早期步骤暂时将这两条指令的操作码重新用于CMCHG指令(多么美妙的设计决策;)。
除此之外,只有通过实际的乘法,看看是否得到了正确的结果,才有可能进行检查。Windows安装程序显然是通过计算和验证0x81×0x0417A000的结果来实现的。我无法验证这是否是一个100%准确的检查,但我对此表示怀疑,因为这个错误实际上似乎是一个芯片电源问题,可能还取决于环境条件。
可以通过执行各种乘法运算和验证结果来测试。使用不同的内存和基于寄存器的操作数执行十个测试的代码列表在www.pcjs.org
- End
免责声明:
本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。
相关搜索