マイクロコントローラーはどのようにして1 MIPS / MHz以上のパフォーマンスを達成しますか?


19

このように、1.49 DMIPS / MHzを実行します。パイプラインでも、サイクルごとに実行ステージは1つだけですよね?


このマイクロコントローラーセグメントで唯一の典型的なスーパースカラーは、MADD(単一サイクルでの乗算と加算)です。ただし、Drystoneではあまり役に立ちません。
-BarsMonster

DSPはマイクロコントローラーであり、フーリエ変換、配列乗算などのハードウェア実装を持つことができます。それらもカウントされますか?この測定はここに適用されますか?非常に古いDPSでさえ、1つの命令で16の異なるレジスタで8つの乗算を実行できました。
-vsz

5
嘘、いまいましい嘘、ベンチマークがあります

回答:


18

DMIPSとMIPSは同じではありません。DMIPSは「Dhrystone MIPS」の略で、さまざまな命令セット間でさまざまなマイクロコントローラー/マイクロプロセッサーのパフォーマンスを比較するための標準です。この標準はもはや新しいものではないため(*)、1秒で1 DMIPS / MHzでリファレンスプロセッサが実行できることは、1命令でいくつかのアクションを実行するという理由だけで、同じクロック速度でより高度なコントローラ670ミリ秒かかる場合があります一方、他のコントローラーには2つの命令、またはより多くのマシンサイクルを必要とする命令が必要な場合があります。

たとえば、16ビットアーキテクチャは、通常、8ビットアーキテクチャよりも優れたDhrystoneのパフォーマンスと、参照しているような32ビットのアーキテクチャよりも優れています。


(*)m.Alinは、より最近のCoreMarkベンチマークを指します。これはCで記述されているため、実際には結果にコンパイラーのパフォーマンスも含まれています(Dhrystone、BTWと同様)。


しかし、Dhrystoneの結果はコンパイラにも依存します(これもCで書かれています)。ウィキペディアから:Dhrystoneの大部分は、コンパイラーが作業を最適化する能力の影響を受けやすいです。これは、ハードウェアのベンチマークよりコンパイラのベンチマークである
m.Alin

1
@ m.Alin-確かに、そうでなければ提案したくありませんでした。答えを明確にします。フィードバックをお寄せいただきありがとうございます。
-stevenvh

10

DMIPSは絶対的なものではなく相対的な測定値です。MIPSとは対照的に、uCが命令を実行する速度だけでなく、uCが有用な処理を実行できる速度を実際に測定します。

他のベンチマークと同様に制限がありますが、簡単な見方は、VAX 11/780(1 MIPSマシン)と比較してベンチマークコードをどれだけ速く完了することができるか
です。たとえば、uCが100倍速くベンチマークを完了する場合VAX 11/780よりも、100DMIPSマシンがあります。100MHzで動作する場合、定格は1 DMIPS / MHzです。

広告を出してDMIPSは特にフラッシュスピード、プリフェッチ、待ち時間/ミスなどで大規模なUCS上で、通常の使用では、通常は達成不可能であることに注意してくださいここでは、 PIC32 DMIPS性能の優れた議論です。このリンクには、マイクロコントローラー用のDhrystoneコードが含まれています。


あなたのウィキペディアのリンクは、ドライストーン標準がすでに28歳だと言っています。最新のパフォーマンス測定ツールが他にもあるかどうか知っていますか?ありがとう。
フェデリコルッソ

3
@FedericoRusso CoreMark
m.Alin

@FedericoRusso:パフォーマンス測定に関することは、それが比較できるということです。比較方法を変更すると、既存の結果はすべて役に立たなくなります。したがって、Dhrystoneの寿命です。
クリフォード14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.