fpuinfo 提供器提供了与 SPARC 微处理器中的模拟浮点指令对应的探测器。虽然大多数浮点指令是在硬件中执行的,但有些浮点操作会陷入操作系统以进行模拟。浮点操作需要进行操作系统模拟的条件特定于微处理器实现。需要进行模拟的操作很少。但是,如果应用程序经常使用这些操作之一,则可能会严重影响性能。fpuinfo 提供器通过查看 kstat(1M) 和 fpu_info 内核统计信息或 trapstat(1M) 和 fp-xcp-other 陷阱可以对浮点模拟进行快速调查。
fpuinfo 提供器为可以模拟的每一种类型的浮点指令都提供了探测器。fpuinfo 提供器包含 CPU 的“名称稳定性”;探测器的名称特定于微处理器实现,不可以在同一系列的不同微处理器中使用。例如,所列出的一些探测器可能仅允许在 UltraSPARC-III 中使用,而不能在 UltraSPARC-III+ 中使用,反之亦然。
表 29–1 中描述了 fpuinfo 探测器。
表 29–1 fpuinfo 探测器
fpu_sim_fitoq |
内核模拟 fitoq 指令时将触发的探测器。 |
fpu_sim_fitod |
内核模拟 fitod 指令时将触发的探测器。 |
fpu_sim_fitos |
内核模拟 fitos 指令时将触发的探测器。 |
fpu_sim_fxtoq |
内核模拟 fxtoq 指令时将触发的探测器。 |
fpu_sim_fxtod |
内核模拟 fxtod 指令时将触发的探测器。 |
fpu_sim_fxtos |
内核模拟 fxtos 指令时将触发的探测器。 |
fpu_sim_fqtox |
内核模拟 fqtox 指令时将触发的探测器。 |
fpu_sim_fdtox |
内核模拟 fdtox 指令时将触发的探测器。 |
fpu_sim_fstox |
内核模拟 fstox 指令时将触发的探测器。 |
fpu_sim_fqtoi |
内核模拟 fqtoi 指令时将触发的探测器。 |
fpu_sim_fdtoi |
内核模拟 fdtoi 指令时将触发的探测器。 |
fpu_sim_fstoi |
内核模拟 fstoi 指令时将触发的探测器。 |
fpu_sim_fsqrtq |
内核模拟 fsqrtq 指令时将触发的探测器。 |
fpu_sim_fsqrtd |
内核模拟 fsqrtd 指令时将触发的探测器。 |
fpu_sim_fsqrts |
内核模拟 fsqrts 指令时将触发的探测器。 |
fpu_sim_fcmpeq |
内核模拟 fcmpeq 指令时将触发的探测器。 |
fpu_sim_fcmped |
内核模拟 fcmped 指令时将触发的探测器。 |
fpu_sim_fcmpes |
内核模拟 fcmpes 指令时将触发的探测器。 |
fpu_sim_fcmpq |
内核模拟 fcmpq 指令时将触发的探测器。 |
fpu_sim_fcmpd |
内核模拟 fcmpd 指令时将触发的探测器。 |
fpu_sim_fcmps |
内核模拟 fcmps 指令时将触发的探测器。 |
fpu_sim_fdivq |
内核模拟 fdivq 指令时将触发的探测器。 |
fpu_sim_fdivd |
内核模拟 fdivd 指令时将触发的探测器。 |
fpu_sim_fdivs |
内核模拟 fdivs 指令时将触发的探测器。 |
fpu_sim_fdmulx |
内核模拟 fdmulx 指令时将触发的探测器。 |
fpu_sim_fsmuld |
内核模拟 fsmuld 指令时将触发的探测器。 |
fpu_sim_fmulq |
内核模拟 fmulq 指令时将触发的探测器。 |
fpu_sim_fmuld |
内核模拟 fmuld 指令时将触发的探测器。 |
fpu_sim_fmuls |
内核模拟 fmuls 指令时将触发的探测器。 |
fpu_sim_fsubq |
内核模拟 fsubq 指令时将触发的探测器。 |
fpu_sim_fsubd |
内核模拟 fsubd 指令时将触发的探测器。 |
fpu_sim_fsubs |
内核模拟 fsubs 指令时将触发的探测器。 |
fpu_sim_faddq |
内核模拟 faddq 指令时将触发的探测器。 |
fpu_sim_faddd |
内核模拟 faddd 指令时将触发的探测器。 |
fpu_sim_fadds |
内核模拟 fadds 指令时将触发的探测器。 |
fpu_sim_fnegd |
内核模拟 fnegd 指令时将触发的探测器。 |
fpu_sim_fnegq |
内核模拟 fneqq 指令时将触发的探测器。 |
fpu_sim_fnegs |
内核模拟 fnegs 指令时将触发的探测器。 |
fpu_sim_fabsd |
内核模拟 fabsd 指令时将触发的探测器。 |
fpu_sim_fabsq |
内核模拟 fabsq 指令时将触发的探测器。 |
fpu_sim_fabss |
内核模拟 fabss 指令时将触发的探测器。 |
fpu_sim_fmovd |
内核模拟 fmovd 指令时将触发的探测器。 |
fpu_sim_fmovq |
内核模拟 fmovq 指令时将触发的探测器。 |
fpu_sim_fmovs |
内核模拟 fmovs 指令时将触发的探测器。 |
fpu_sim_fmovr |
内核模拟 fmovr 指令时将触发的探测器。 |
fpu_sim_fmovcc |
内核模拟 fmovcc 指令时将触发的探测器。 |
fpuinfo 探测器没有参数。
fpuinfo 提供器使用 DTrace 的稳定性机制来描述其稳定性,如下表所示。有关稳定性机制的更多信息,请参见第 39 章。
元素 |
名称稳定性 |
数据稳定性 |
相关性类 |
---|---|---|---|
提供器 |
发展中 |
发展中 |
CPU |
模块 |
专用 |
专用 |
未知 |
功能 |
专用 |
专用 |
未知 |
名称 |
发展中 |
发展中 |
CPU |
参数 |
发展中 |
发展中 |
CPU |