O provedor fpuinfo disponibiliza os testes que correspondem à simulação de instruções de ponto flutuante nos microprocessadores SPARC. Enquanto a maioria das instruções de ponto flutuante são executadas em hardware, algumas operações de ponto flutuante são feitas no sistema operacional para simulação. As condições sob as quais as operações de ponto flutuante requerem simulação do sistema operacional são específicas de uma implementação de microprocessador. As operações que requerem simulação são raras. Entretanto, se um aplicativo usasse uma dessas operações freqüentemente, o efeito no desempenho poderia ser grave. O provedor fpuinfo permite a rápida investigação da simulação de ponto flutuante vista através de kstat(1M) e da estatística do kernel fpu_info ou trapstat(1M) e da interceptação fp-xcp-other.
O provedor fpuinfo disponibiliza um teste para cada tipo de instrução de ponto flutuante que pode ser simulada. O provedor fpuinfo possui uma Estabilidade de Nome de CPU; os nomes dos testes são específicos de uma implementação de microprocessador, e podem não estar disponíveis em microprocessadores diferentes na mesma família. Por exemplo, alguns dos testes listados podem estar disponíveis somente no UltraSPARC-III e não no UltraSPARC-III+ ou vice-versa.
Os testes do fpuinfo estão descritos na Tabela 29–1.
Tabela 29–1 Testes fpuinfo
fpu_sim_fitoq |
Teste que é acionado sempre que uma instrução fitoq é simulada pelo kernel. |
fpu_sim_fitod |
Teste que é acionado sempre que uma instrução fitod é simulada pelo kernel. |
fpu_sim_fitos |
Teste que é acionado sempre que uma instrução fitos é simulada pelo kernel. |
fpu_sim_fxtoq |
Teste que é acionado sempre que uma instrução fxtoq é simulada pelo kernel. |
fpu_sim_fxtod |
Teste que é acionado sempre que uma instrução fxtod é simulada pelo kernel. |
fpu_sim_fxtos |
Teste que é acionado sempre que uma instrução fxtos é simulada pelo kernel. |
fpu_sim_fqtox |
Teste que é acionado sempre que uma instrução fqtox é simulada pelo kernel. |
fpu_sim_fdtox |
Teste que é acionado sempre que uma instrução fdtox é simulada pelo kernel. |
fpu_sim_fstox |
Teste que é acionado sempre que uma instrução fstox é simulada pelo kernel. |
fpu_sim_fqtoi |
Teste que é acionado sempre que uma instrução fqtoi é simulada pelo kernel. |
fpu_sim_fdtoi |
Teste que é acionado sempre que uma instrução fdtoi é simulada pelo kernel. |
fpu_sim_fstoi |
Teste que é acionado sempre que uma instrução fstoi é simulada pelo kernel. |
fpu_sim_fsqrtq |
Teste que é acionado sempre que uma instrução fsqrtq é simulada pelo kernel. |
fpu_sim_fsqrtd |
Teste que é acionado sempre que uma instrução fsqrtd é simulada pelo kernel. |
fpu_sim_fsqrts |
Teste que é acionado sempre que uma instrução fsqrts é simulada pelo kernel. |
fpu_sim_fcmpeq |
Teste que é acionado sempre que uma instrução fcmpeq é simulada pelo kernel. |
fpu_sim_fcmped |
Teste que é acionado sempre que uma instrução fcmped é simulada pelo kernel. |
fpu_sim_fcmpes |
Teste que é acionado sempre que uma instrução fcmpes é simulada pelo kernel. |
fpu_sim_fcmpq |
Teste que é acionado sempre que uma instrução fcmpq é simulada pelo kernel. |
fpu_sim_fcmpd |
Teste que é acionado sempre que uma instrução fcmpd é simulada pelo kernel. |
fpu_sim_fcmps |
Teste que é acionado sempre que uma instrução fcmps é simulada pelo kernel. |
fpu_sim_fdivq |
Teste que é acionado sempre que uma instrução fdivq é simulada pelo kernel. |
fpu_sim_fdivd |
Teste que é acionado sempre que uma instrução fdivd é simulada pelo kernel. |
fpu_sim_fdivs |
Teste que é acionado sempre que uma instrução fdivs é simulada pelo kernel. |
fpu_sim_fdmulx |
Teste que é acionado sempre que uma instrução fdmulx é simulada pelo kernel. |
fpu_sim_fsmuld |
Teste que é acionado sempre que uma instrução fsmuld é simulada pelo kernel. |
fpu_sim_fmulq |
Teste que é acionado sempre que uma instrução fmulq é simulada pelo kernel. |
fpu_sim_fmuld |
Teste que é acionado sempre que uma instrução fmuld é simulada pelo kernel. |
fpu_sim_fmuls |
Teste que é acionado sempre que uma instrução fmuls é simulada pelo kernel. |
fpu_sim_fsubq |
Teste que é acionado sempre que uma instrução fsubq é simulada pelo kernel. |
fpu_sim_fsubd |
Teste que é acionado sempre que uma instrução fsubd é simulada pelo kernel. |
fpu_sim_fsubs |
Teste que é acionado sempre que uma instrução fsubs é simulada pelo kernel. |
fpu_sim_faddq |
Teste que é acionado sempre que uma instrução faddq é simulada pelo kernel. |
fpu_sim_faddd |
Teste que é acionado sempre que uma instrução faddd é simulada pelo kernel. |
fpu_sim_fadds |
Teste que é acionado sempre que uma instrução fadds é simulada pelo kernel. |
fpu_sim_fnegd |
Teste que é acionado sempre que uma instrução fnegd é simulada pelo kernel. |
fpu_sim_fnegq |
Teste que é acionado sempre que uma instrução fneqq é simulada pelo kernel. |
fpu_sim_fnegs |
Teste que é acionado sempre que uma instrução fnegs é simulada pelo kernel. |
fpu_sim_fabsd |
Teste que é acionado sempre que uma instrução fabsd é simulada pelo kernel. |
fpu_sim_fabsq |
Teste que é acionado sempre que uma instrução fabsq é simulada pelo kernel. |
fpu_sim_fabss |
Teste que é acionado sempre que uma instrução fabss é simulada pelo kernel. |
fpu_sim_fmovd |
Teste que é acionado sempre que uma instrução fmovd é simulada pelo kernel. |
fpu_sim_fmovq |
Teste que é acionado sempre que uma instrução fmovq é simulada pelo kernel. |
fpu_sim_fmovs |
Teste que é acionado sempre que uma instrução fmovs é simulada pelo kernel. |
fpu_sim_fmovr |
Teste que é acionado sempre que uma instrução fmovr é simulada pelo kernel. |
fpu_sim_fmovcc |
Teste que é acionado sempre que uma instrução fmovcc é simulada pelo kernel. |
Não há argumentos para testes do fpuinfo.
O provedor fpuinfo usa o mecanismo de estabilidade do DTrace para descrever suas estabilidades, conforme mostrado na tabela seguinte. Para obter mais informações sobre o mecanismo de estabilidade, consulte o Capítulo 39Estabilidade.
Elemento |
Estabilidade de nome |
Estabilidade de dados |
Classe de dependência |
---|---|---|---|
Provedor |
Desenvolvendo |
Desenvolvendo |
CPU |
Módulo |
Privada |
Privada |
Desconhecida |
Função |
Privada |
Privada |
Desconhecida |
Nome |
Desenvolvendo |
Desenvolvendo |
CPU |
Argumentos |
Desenvolvendo |
Desenvolvendo |
CPU |