X86 80386/80287组合在32位模式下如何工作?

X86 80386/80287组合在32位模式下如何工作?,x86,hardware,x87,retro-computing,X86,Hardware,X87,Retro Computing,我对旧计算机的逆向计算和仿真感兴趣,对80287有一个问题: 使用现代FPU,FNSAVE指令在CPU执行16位代码时写入94字节的数据,在CPU执行32位代码时写入108字节的数据。FSTENV指令的行为类似于14或28字节,具体取决于代码类型 然而,为16位80286 CPU设计的80287 FPU也可以与32位80386 CPU一起使用 当使用386/287组合启用分页时,从32位代码调用FNSAVE和FSTENV时,FNSAVE和FSTENV的行为如何 80287手册明确提到了80386

我对旧计算机的逆向计算和仿真感兴趣,对80287有一个问题:

使用现代FPU,FNSAVE指令在CPU执行16位代码时写入94字节的数据,在CPU执行32位代码时写入108字节的数据。FSTENV指令的行为类似于14或28字节,具体取决于代码类型

然而,为16位80286 CPU设计的80287 FPU也可以与32位80386 CPU一起使用

当使用386/287组合启用分页时,从32位代码调用FNSAVE和FSTENV时,FNSAVE和FSTENV的行为如何

80287手册明确提到了80386,但它只描述了94字节的数据格式。然而,另一本手册指出,负责保存108字节而不是94字节的是80386,而不是80387

Linux据称在使用80287时崩溃的原因是什么

94字节格式与Linux问题有关吗


感谢

Intel287xl手册显示了386在32位模式下使用的两种28字节格式的两幅图:当287xl与386在32位模式下使用时,使用28字节格式。手册还指出80C287的性能与287xl完全相同。不带C的80287与80C287的硬件不兼容-因此,不带C的80287是否使用28字节格式仍不清楚。