BogoMipsとは
BogoMipsは、
Linuxオペレーティングシステムにおいて、
CPUの速度を測定するための指標の一つであり、その名称は「bogus」(いんちきの)と
MIPS(Million Instructions Per Second)の合成語です。この測定は非科学的ではありますが、
Linuxカーネルの起動時にプロセッサが行う無駄な処理の回数をカウントすることで行われます。具体的には、
CPUがどれだけのビジーループを1秒間に実行できるかを示し、
CPUのパフォーマンスを指し示します。
BogoMipsはプロセッサの性能を一目で確認するための資料として役立つものの、異なるタイプの
CPUを比較するためには適していません。これにより、特定の条件下での同一
CPUの性能を測るための手段として活用されますが、精度は保証されないため、その使用には注意が必要です。
歴史
BogoMipsは1993年に
Linuxカーネルの開発者である
リーナス・トーバルズによってそのコンセプトが考案されました。このアイデアは、当時の
Linuxカーネル (バージョン0.99.11) が必要とするタイミングループが求められたことから生まれました。ビジーループを実際に実行し、その
CPUがどの程度の速度を持つかを測ることにより、プロセッサの処理速度の比較が行われました。
BogoMipsという表現は、プロセッサの性能を示す指標として使用されつつも、いかに「いんちき」の測定法であるかを示しています。こうした分析が行われた背景には、リーナスがこの結果を利用して人々を楽しませる姿勢があったのかもしれません。
BogoMipsの計算方法
BogoMipsの計算プロセスは、特定のソースコードに基づいています。具体的には、/usr/src/linux/init/calibrate.cに実装されており、プロセッサのタイミングを正確に測定するために用いられるルーチンが含まれています。ここでは、異なるタイミング手法と同期問題を避けるために、いくつかの計算が行われます。例えば、ビジーループを利用し、特定の時間内でのタイミングを把握します。
以下はBogoMipsを求めるための説明に関するソースコードの一部です:
```c
/ いくつかのループを実行し、精度を上げるための手法を用いています。 /
while(条件) {
// 処理
}
```
このビジーループを実行することで、プロセッサの動作特性を理解し、BogoMips値が算出されます。特に、
Linuxカーネル2.2.14以降では、プロセッサのキャッシュ設定が行われ、BogoMipsの計算に影響を与えています。
さらに知っておくべき情報
BogoMipsの詳細な情報は、BogoMips Mini-Howtoにて提供されており、数百の過去の測定値が記録されています。また、BogoMipsは異なる時代の
CPUにおいても比較の指標として語られることが多く、過去のデバイスとの関連性も探れるため、技術者にとって興味深い項目となっています。
脚注・関連情報
要するに、BogoMipsは
CPUのパフォーマンスを探るための一つの手段であり、現代の多様な計測手法の中ではユニークな位置を占めています。