ベアメタルと比較して、LinuxのIO割り込みはどれくらい速いですか? (ARM、ラズベリーパイ)

ベアメタルと比較して、LinuxのIO割り込みはどれくらい速いですか? (ARM、ラズベリーパイ)

Linux(Raspberry Piに関する内容)の割り込みが処理するのに「長い時間」がかかるか、「プログラマが望む作業を始める」としましょう。これは本当ですか?状況はどれくらい悪いですか? PythonとCの間に大きな違いはありますか?

ハードウェア(「ベアメタル」)では、割り込みハンドラ/関数の起動にジャンプするのに数サイクルしかかかりません。そうですか?説明するとこれそうですね。新しいRaspberry Pi 4では、10ナノ秒未満がかかります。私はRaspberry Piや他のARMベースのハードウェアに最も興味がありますが、他のプラットフォームでもデータが優れています。 ARMベアメタルがAVR(Aduino)よりはるかに速いようですが…?

編集:質問をもう少し明確にしました。 @dirktさんありがとうございます!

ボーナスの質問:オペレーティングシステムを持たない純粋なアセンブリでは、物理イベントから割り込みハンドラまでの時間は毎回ほぼ同じであると予想できます。 Linuxにはどれほど大きな違いがありますか? (カーネルが別のことをするかもしれないからです。)

編集2:これが見つかりましたブログ投稿、Arduino UnoとRaspberry Pi Zeroを比較します。著者はまた、ほとんどベアメタルAVRほど速いように見えるカーネルモジュールを試しました(しかし、これは16MHz AVR対1GHz ARMです!)。これがARMのベアメタルにどれだけ近いのか疑問に思います。私の元の質問に非常に近いですが、ベアメタルARMはありません。

ベストアンサー1

私はこの記事を読みました。カーネルモジュール情報。私はこれが省電力になることに同意します。私もこれが違う邪魔なのかもしれないと思っています。

カーネルモジュールはベアメタルほど速くなければなりません。、条件が同じ場合:同じ電源状態、同じ異なる割り込み。

カーネルモジュールがシステムに衝突を起こす可能性があるので、小さくてシンプルにしてください。

おすすめ記事