RobertLoveの「LinuxKernelDevelopment」を読んでいて、次の文章に出くわしました。
浮動小数点の(簡単な)使用なし
ユーザースペースプロセスが浮動小数点命令を使用する場合、カーネルは整数モードから浮動小数点モードへの遷移を管理します。浮動小数点命令を使用するときにカーネルが実行する必要があることはアーキテクチャによって異なりますが、カーネルは通常、トラップをキャッチしてから、整数モードから浮動小数点モードへの移行を開始します。
ユーザースペースとは異なり、カーネルはそれ自体を簡単にトラップできないため、浮動小数点をシームレスにサポートするという贅沢はありません。カーネル内で浮動小数点を使用するには、他の可能な雑用の中でも、浮動小数点レジスタを手動で保存および復元する必要があります。簡単な答えは:それをしないでください!まれな場合を除いて、カーネルには浮動小数点演算はありません。
これらの「整数」モードと「浮動小数点」モードについては聞いたことがありません。それらは正確には何であり、なぜそれらが必要なのですか?この違いは、主流のハードウェアアーキテクチャ(x86など)に存在しますか、それともいくつかのよりエキゾチックな環境に固有ですか?プロセスとカーネルの両方の観点から、整数モードから浮動小数点モードへの移行には正確に何が必要ですか?