Dhrystone(ドライストーン)とは?意味、特徴、定義をわかりやすく解説

Dhrystone(読み方:ドライストーン)とは、ベンチマークプログラムの一つです。汎用プロセッサにおける処理性能の評価に使われています。Dhrystoneは、一つの測定ループの仲に存在する12個のプロシージャ(手続き)から構成されています。

ベンチマークとは

ベンチマークとは、評価手法の一つ。ハードウェアやソフトウェアの処理性能を定量的に評価するための基準のこと。同じ条件下で測定値を求め、相対的に比較することで評価する。

Dhrystoneとは

Dhrystoneはベンチマークプログラムの一つ

Dhrystone(読み方:ドライストーン)とは、ベンチマークプログラムの一つです。処理性能の中でも、主に整数演算処理に関する性能を測定する目的で使われます

整数演算とは

整数演算処理とは、CPUの機能の一つ。整数を用いた処理を行う。整数演算処理を行う演算装置は、整数演算装置という。整数演算装置は最も多く広く使われる演算器であり、どのCPUにも必ず含まれる。

Dhrystoneの名前の由来はWhetstone

Dhrystoneの名前の由来は、Dhrystone以前から存在するベンチマークであるWhetstone(読み方:ウェットストーン)です。整数演算処理向けのDhrystoneに対し、Whetstoneは浮動小数点演算性能を主に計測します。このことから、「ウェット(湿った)に対し、「ドライ(乾いた)」と名付けられました。

浮動小数点演算とは

CPUの機能の一つ。浮動小数点を用いた演算を行う。浮動小数点とは、小数データの表示形式の一つ。指数部と仮数部を用いた指数表記で表すことで、表現できる値の範囲を広げられる。

ポイント
  • Dhrystoneはベンチマークプログラム
  • Dhrystoneは整数演算処理向け
  • Whetstoneは浮動小数点演算性能向け

Dhrystoneの「MIPS」・「DMIPS」とは

MIPS=「毎秒100万回の命令」の処理速度の単位

MIPS(読み方:ミップス)とは、CPUの処理速度を表す単位です。これは、「毎秒100万回の命令」を意味する「Million Instructions Per Second」の略です。

例えば、1MIPSのCPUは、毎秒100万回の命令を処理できます。

ただ、これは単に「処理できる命令の回数」だけを意味するだけであり、その他の具体的な性能を意味するものではありません。

そこで、CPUの具体的な性能は、Dhrystoneなどのベンチマークプログラムを使用して算定します。

ポイント
  • MIPS:CPUの処理速度を表す単位
  • 1MIPS=毎秒100万回の命令を処理できる

DMIPS=Dhrystone+VAX11/780による性能評価

Dhrystoneの測定結果や性能評価として、「DMIPS(読み方:ドライストーン・ミップス)」という数値を使用することがあります。

Dhrystoneは、1秒間に何回測定ループ(≠命令の処理)を回せられたかによって処理性能を評価します。その結果を、「Dhrystone値」と呼びます。例えば、Dhrystone値が1,757の場合、1秒間に1,757回測定ループを処理できる性能であることを意味します。

ポイント
  • Dhrystone値=1秒間に何回測定ループを回せたか

Dhrystoneが開発された1980年代、1MIPS(とされた)の機器にVAX11/780があります。当時は、VAX11/780に使用されたベンチマークプログラムの結果を1MIPSの性能の基準とすることが、よく行われていました。このベンチマークプログラムとしてDhrystoneを使用した場合、VAX11/780のDhrystone値は、1757となります。

このことから、Dhrystone値を1757で割った値・単位のことをDMIPSといいます

DMIPSとは

DMIPSとは、Dhrystone値を1757で割った値・単位のこと。

例えば、DIMPS値が30だった場合、Dhrystoneによるベンチマークプログラムで、VAX11/780の30倍の性能があることを意味します。

MIPS、DMIPSは数値が高ければ高いほど処理性能が高くなります。

ARMコアによるMIPSやDMIPSを使用した性能評価

実際にMIPSやDMIPSを使用したコアの性能比較表は、下記の通りです。

コア MIPS DMIPS
ARM250 4 MIPS @ 8 MHz 0.33 DMIPS/MHz
ARM2a 12 MIPS @ 25 MHz 0.50 DMIPS/MHz
ARM610 17 MIPS @ 20 MHz 0.65 DMIPS/MHz

すでに述べたとおり、MIPSの数値と個々のコアの具体的な性能は別ものであり、単純に比例するものではありません。上記の表にもあるとおり、MIPSの数値が高ければ高いほどDMIPSの数値も高くはなります。ただ、コアごとに性能に違いがあるため、1MIPSごとのDMIPSが異なります。

このような事情から、個々のCPUのコアについて具体的な性能を評価するために、ベンチマークプログラムの使用が必要となります。

ポイント
  • MIPSだけではCPUの具体的な性能を算定できない
  • 個々のCPUのコアについて具体的な性能を評価するためには、Dhrystoneなどのベンチマークプログラムが必要