CPU パフォーマンス指標の概要

CPU(Central Processing Unit)は、コンピュータの演算核および制御核として、演算装置、コントローラ、レジスタ、およびそれらの間のデータや制御、接続状態を実現するバスなどから構成されており、コンピュータのコンピューティング パフォーマンスの強さを決定します。情報技術産業の中核となる基本コンポーネントである CPU の動作は、フェッチ (Fetch)、デコード (Decode)、実行 (Execute)、ライトバック (Writeback) の 4 つの段階に分けることができます。

CPU の動作原理を一文で要約します。CPU はメモリまたはキャッシュ メモリから命令をフェッチし、命令をレジスタに置き、命令をデコードして実行します。

組み込みシステム業界では、CPU パフォーマンス指標を評価するために主に次のような基準が使用されます。

  • MIPS (Million 命令/秒) : 1 秒間に実行できる 100 万レベルの機械語命令の数。システムの 2 次レベルの処理能力を計算するために使用され、CPU の速度を測定する指標です。

  • DMIPS (Dhrystone MIPS) :整数演算 (Dhrystone) を実行するときの CPU の相対パフォーマンスを指し、スカラー マシン (ベクトル マシンに相当) の評価にのみ適用されます。

  • FLOPS (Floating-point Operations Per Second) : 1 秒あたりに CPU によって実行される浮動小数点演算の数を示し、主にコンピュータの浮動小数点演算能力を測定するために使用されます。

  • CoreMark: 1 秒あたりの反復回数が性能評価として使用されます。

MIPS規格

1970 年代には、ミニコンピューターのパフォーマンスは、VAX 11/780 (市場で認められた 1 MIPS マシン) と比較した同じジョブの実行時間を指す VAX MIPS との比較で評価されました。

▲ 46年前のVAX 11/780

MIPS は、異なるプロセッサ アーキテクチャでは比較できません。すべての機械命令を 1 サイクルで計算できるわけではないため、MIPS を計算するときに CPI (命令あたりのクロック サイクル、命令あたりの平均クロック サイクル数) 値が導入されます。式は次のとおりです。

  • MIPS=命令数/(実行時間*1000000)

  • MIPS=メイン周波数/(CPI*1000000)

DMIPS規格

ある意味、DMIPS も VAX 11/780 プロセッサを公称値として使用しています。

ここではまず、最も代表的な汎用ランニング スコア プロセッサの 1 つである Dhrystone を紹介する必要があります。Dhrystone は、1984 年に Reinhold P. Weicker によって提案されたベンチマーク テスト プログラムです。その主な目的は、プロセッサの整数演算と論理演算のパフォーマンスをテストすることです。VAX 11/780 プロセッサは Dhrystone プログラムを 1 秒あたり 1757 回サイクルできるため、他のプロセッサが 1 秒あたり Dhrystone プログラムを実行するサイクル数を 1757 で割った値がその DMIPS 値になります。

これに基づいて、プロセスや消費電力などの影響を与える可能性のある要因を除去し、プロセッサの DMIPS 値をその周波数で除算すると、プロセッサのマイクロアーキテクチャ設計自体のパフォーマンスをより直観的に反映できる DMIPS/MHz を取得できます。

MIPS と DMIPS の違い:

  • MIPS によって反映される能力 - 1 秒あたりに実行できる命令セットの数。この能力は、CPU アーキテクチャやメモリ アクセス速度などのハードウェア特性によって決まります。

  • DMIPS によって反映される容量、つまり 1 秒あたりに実行できるジョブの数。

※文字通りの意味ではMIPSとDMIPSの間には換算式があるようですが、検証してみると両者はCPU性能を別の角度から評価しており、直接的な換算関係はありません。

※「Dhrystone」の名前の由来は、比較的以前に登場したCPU浮動小数点演算性能をテストするツール「Wetstone」です。「Wetstone」はもともと「濡れた石」を意味し、DhrystoneはCPUの整数演算性能をテストするために使用される乾いた石のことです。

FLOPS規格

FLOPS は、特に多数の浮動小数点演算を使用する科学計算の分野で、コンピューターの実行パフォーマンスを推定するためによく使用されます。「浮動小数点演算」は小数を含むすべての演算を対象とするため、整数演算よりも時間がかかります。現在のプロセッサのほとんどは、浮動小数点演算の処理専用の「浮動小数点ユニット」(Float Point Unit、FPU) を搭載しているため、FLOPS 規格で測定されるのは実際には FPU の実行速度です。

CoreMark規格

CoreMark は、Dhrystone と同様のスコア プログラムを実行する包括的なプロセッサとして理解できます。2009 年に非営利団体 Embedded Microprocessor Benchmark Association EEMBC の Shay Gla-On によって提案されました。その主な目的は、プロセッサのコア パフォーマンスをテストすることです。

※EEMBC:組み込みマイクロプロセッサベンチマークコンソーシアム

CoreMark プログラムは C 言語で書かれており、列挙 (検索と並べ替え)、数学的行列演算 (共通行列演算)、ステート マシン (入力ストリームに有効な数値が含まれているかどうかを判断するために使用)、および CRC (巡回冗長検査) のアルゴリズムが含まれています。 、巡回冗長検査)。CoreMark には特定の実行ルールとレポート ルールがあり、使用されるさまざまなコンパイル済みライブラリによるテスト結果の困難な比較を回避できます。したがって、CoreMark 規格は Dhrystone 規格よりも実用的であると考えられます。

CoreMark規格では、特定の設定パラメータの組み合わせで単位時間当たりにCoreMarkプログラムが実行された回数を測定基準として使用し、インデックス単位はCoreMark/MHzです。CoreMark の数値が高いほど、パフォーマンスが高いことを意味します。

▲ARMプロセッサ公式性能比較:Cortex-M部品シリーズ

参考文献

[1] Gu Mengjie. RISC-V 命令セット アーキテクチャに基づく一般的なマイクロコントローラーの設計 [D]. 東華大学、2022. DOI: 10.27012/d.cnki.gdhuu.2022.000609.

[2] パフォーマンス指標の観点から ARM Cortex-M プロセッサ間の違いを見てみましょう。https://mp.weixin.qq.com/s/o1amLyzc8ZO8l59N5F2vyw

[3] パフォーマンス評価単位の説明、https://zhuanlan.zhihu.com/p/571545878

[4] ポピュラーサイエンスの概要: Flops、FLOPS、GFLOPS、https://imgtec.eetrend.com/blog/2020/100048896.html

[5]クラシック ベンチマーク、http://www.roylongbottom.org.uk/classic.htm

おすすめ

転載: blog.csdn.net/digi2020/article/details/131704648