LinuxマザーボードがハードウェアFPUを使用しているかどうかはどうすればわかりますか?

LinuxマザーボードがハードウェアFPUを使用しているかどうかはどうすればわかりますか?

私はかなり古いFreescale ARMチップをベースにした組み込みLinuxボードを使用しています。 PythonインタプリタがオンチップハードウェアFPUを使用しているかどうかはどうすればわかりますか?

私の/proc/cpuinfoは次のようになります。

プロセッサー: ARM926EJ-S Revision 5 (v5l)
報告MIPS:179.81
特徴: swp halfthumb fastmult edsp java
CPU実装者:0x41
CPUアーキテクチャ:5TEJ
CPUバージョン:0x0
CPU部分:0x926
CPUバージョン:5

ベストアンサー1

ARMの世界では、ARMv4からARMv7までの浮動小数点サポートを呼び出します。VFP、これに対するハードウェアサポートは、起動時にカーネルが印刷するFeatures行またはログメッセージに表示されます。 (ARMv8では、単に「FP」です。)/proc/cpuinfoVFP support

/proc/cpuinfoAllwinner A20 では以下が提供されます。

Features    : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 

(さまざまなvfp機能を参照)およびスタートアップログから:

VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 4

VFP が完全にサポートされていない場合、カーネルは代わりにログを記録します。

VFP support v0.3: not present

または

VFP support v0.3: no double precision support

Pythonインタプリタが利用可能かどうかは、主にARM Linuxディストリビューションのアーキテクチャによって異なります。私が正しく理解した場合、デフォルトのDebianはarmelFPUを使用しませんが、Debian armhf(およびRaspbian armhf)はarmFPU命令を使用しますが、ハードウェアがFPU命令をサポートしていない場合はその命令をエミュレートします。 FPUをサポートするカーネルまたはCライブラリをインストールできますarmel(DebianアーカイブにはそのようなCライブラリがないようですが)。

おすすめ記事