 |
|
 |
 |
 |
マキシム >
製品 >
マイクロコントローラ
>
MAXQミックスドシグナル > 性能
|
 |
 |
MAXQ性能の競争力
競合他社のベンチマークを使用して行われた分析
マキシム/ダラスは、MAXQの性能をMSP430、ATMega8、PIC18F242、8051、H8/300L、MC68HC11、および32ビットARM7の性能と比較しました。MAXQは8ビット/16ビット製品の中では最高の性能を示し、32ビットARM7と比較しても競争力ある製品であることが結果として分かりました。
ベンチマーク
テキサス・インスツルメンツ(TI)社は、アプリケーションノートの一部としてfocus.ti.com/lit/an/slaa205a/slaa205a.pdfで、この性能分析のベンチマークコードを提供しました。TI社は、MSP430向けに完成度が高いコンパイラであるIAR社のEmbedded Workbench(組込み型ワークベンチ)をその分析で唯一使用しました。マキシム/ダラスは、Rowley社のコンパイラCrossWorksも考慮に入れました。このコンパイラは、MAXQマイクロコントローラのアーキテクチャの特徴を効率的に使用します。
TI社のアプリケーション検討では、コードを最適化するコンパイラのオプションを使用していません。TI社は、この検討からコンパイラによる機能を排除したかったためです。しかし、マキシム/ダラスはコンパイラの最適化を除外することでコンパイラがマイクロコントローラのアーキテクチャの特徴を効率的に使用することを制限すると考えます。また、マキシム/ダラスは、実際のアプリケーションのための最終アプリケーションコードでは最適化が行われること、および性能ベンチマークは実際のアプリケーションをモデルとすべきであると考えます。その結果、マキシム/ダラスは、AVR社のAtmega8、TI社のMSP430F149、およびMAXQ2000に特定の最適化目標(最小コードサイズまたは最速実行)を適用して、ベンチマークを再実行しました。
コンパイラおよび最適化の選択によって、どれだけ性能データに異なる影響を及ぼすかを示すために、TI社のオリジナルのベンチマークからのデータとともにRowley社コンパイラCrossWorksでのMAXQ2000の性能を下記グラフに示します。すべての製品を1MHzクロックに想定し、データは1秒当りのベンチマークの反復回数で表示されています。
MAXQの性能 vs. TI社公表のベンチマークデータ
|
この検討をより公正とするために、ダラスセミコンダクタのベンチマーク検討では、TI社のアプリケーション検討に使用された製品MSP430F149(MAXQ2000のようなハードウェア乗算器を内蔵していません)を含んでいます。検討環境を等しくするために、MSP430F449(ハードウェア乗算器を備える)を使用しています。
マキシム/ダラスが収集したデータ概要を読んでいってください。詳細については、マキシムのアプリケーションノート「MAXQ Competitive Analysis Study」で、詳しい方法論を解説しています。ベンチマーク検討のプロジェクトファイルは、このページの一番下にあるコンパイラの詳細リンクで提供されています。
概要: 実行速度
下記の表は、TI社ベンチマーク検討における各マイクロコントローラの実行性能の概要をまとめたものです。最初のいくつかの情報は、TI社のアプリケーションノートから単純に転載したものです。残りの情報については、ダラスセミコンダクタのベンチマーク検討結果であり、コンパイラの最適化目標として最速実行を使用しました。(コンパイラの詳細を参照)
実行速度は、クロックサイクルの条件、main()ルーチンの開始から終了までのサイクル数によって測定されています。したがって、実行速度は起動時間を含みません。
| マイクロコントローラ |
コンパイラ |
サイクル数 |
MAXQへの標準化 |
| TI社のベンチマーク検討 |
| MSP430F135 |
IAR |
170,249 |
2.43 |
| ATMega8 |
IAR |
213,680 |
3.06 |
| PIC18F242 |
IAR |
336,543 |
4.81 |
| 8051 |
IAR |
269,638 |
3.86 |
| H8/300L |
IAR |
303,198 |
4.34 |
| MC68HC11 |
IAR |
640,038 |
9.16 |
| MAXQ20 |
IAR |
627,319 |
8.97 |
| ARM7TDMI (Thumb) |
IAR |
52,293 |
0.75 |
| ダラスセミコンダクタのベンチマーク検討 |
| MSP430F149 |
IAR |
89,253 |
1.27 |
| ATMega8 |
IAR |
89,698 |
1.28 |
| MSP430F149 |
Rowley |
95,713 |
1.37 |
| ATMega8 |
Rowley |
87,000 |
1.24 |
| MAXQ2000 |
Rowley |
69,914 |
1.00 |
このデータは下記グラフによって表されます。TI社のベンチマーク検討からの数値はグラフの左側に、ダラスセミコンダクタの検討からの数値はグラフの右側にあります。データは「1秒当りのベンチマーク反復回数」で表され、1MHzのクロックレートを想定しています。したがって、グラフの棒が高ければ高いほど性能が高いことになります。
1秒当りのベンチマーク反復回数
|
注: IAR社のEmbedded Workbench(組込み型ワークベンチ)を使用したMAXQの性能数値は、最適化されていません。IAR社のコンパイラは、MAXQマイクロコントローラにとってRowley社のCrossWorksほど初期のリリースでは完成度の高いものではありません。CrossWorksは、MAXQマイクロコントローラのアーキテクチャの特徴機能を効率的に使用します。
MSP430F149、ATmega8、およびMAXQ2000の最高性能データを取る、また1MHzおよびFmaxの両方で動作した場合の1秒当りのベンチマーク反復回数を示すことで、各製品がフルスピードで何ができるか理解できます。
| マイクロコントローラ |
サイクル数 |
Fmax (MHz) |
1MHzにおける反復回数/秒 |
Fmaxにおける反復回数/秒 |
| MSP430F149 |
89,253 |
8 |
11.20 |
89.60 |
| ATMega8 |
87,000 |
16 |
11.49 |
183.84 |
| MAXQ2000 |
69,914 |
20 |
14.30 |
286.00 |
下記のグラフは、それぞれのマイクロコントローラが動作可能な最高クロックレートFmaxで1秒当りのベンチマーク反復回数を示しています。
Fmaxにおけるベンチマーク反復回数
|
概要: コードサイズ
下記の表は、TI社ベンチマークコード一式におけるそれぞれのアプリケーション用コードサイズ(バイト数)を示しています。最初のいくつかの情報は、TI社のアプリケーションノートから単純に転載したものです。残りの情報については、ダラスセミコンダクタのベンチマーク検討結果であり、コンパイラの最適化目標として最小コードを使用しました。(コンパイラの詳細を参照)
コードサイズはバイト数で測定され、いかなる割込みハンドラや起動コードも含んでいません。コードサイズには定数スペースが含まれない点に注意してください。これはアーキテクチャによってはコンパイラにCODEもしくはCONSTANTスペースのいずれかのプログラム定数が含まれることがあるためです。結果として、この2つは現実的な比較を行うために組み合わされなければなりません。
| マイクロコントローラ |
コンパイラ |
コードサイズ |
MAXQへの標準化 |
| TI社のベンチマーク検討 |
| MSP430F135 |
IAR |
2,808 |
0.75 |
| ATMega8 |
IAR |
5,114 |
1.36 |
| PIC18F242 |
IAR |
9,302 |
2.48 |
| 8051 |
IAR |
6,880 |
1.83 |
| H8/300L |
IAR |
6,866 |
1.83 |
| MC68HC11 |
IAR |
6,622 |
1.76 |
| MAXQ20 |
IAR |
6,188 |
1.65 |
| ARM7TDMI (Thumb) |
IAR |
7,208 |
1.92 |
| ダラスセミコンダクタのベンチマーク検討 |
| MSP430F149 |
IAR |
3,862 |
1.03 |
| ATMega8 |
IAR |
4,196 |
1.12 |
| MSP430F149 |
Rowley |
4,076 |
1.09 |
| ATMega8 |
Rowley |
3,712 |
0.99 |
| MAXQ2000 |
Rowley |
3,746 |
1.00 |
下記のグラフには、全体の「ベンチマークコードサイズ」が示されています。TI社ベンチマーク検討による数値はグラフの左側に示され、ダラスセミコンダクタの検討による数値は右側に示されています。
ベンチマークコードサイズ
|
注: IAR社Embedded Workbench(組込み型ワークベンチ)のコードサイズ数値は、最適化されていません。IAR社のコンパイラは、MAXQマイクロコントローラにとってRowley社のCrossWorksほど初期のリリースでは完成度の高いものではありません。CrossWorksは、MAXQマイクロコントローラのアーキテクチャの特徴を効率的に使用します。
ベンチマーク検討: コンパイラの詳細
下記のリンクは、それぞれのマイクロコントローラ検討のためにベンチマークデータがどのように収集されたかを説明しています。「結果」リンクは、10個のベンチマークアプリケーションそれぞれの結果の詳細を提供しています。「ソース」リンクは、特定マイクロコントローラのベンチマーク一式のソースおよびプロジェクトファイルを提供しており、ユーザはその結果を再現することができます。
| プロセッサ |
コンパイラ |
詳細な結果およびプロジェクトソース |
| MAXQ2000 |
MAXQリリース1.0構築2用CrossWorks |
結果 |
ソース (ZIP, 123k) |
| MSP430F149 |
MSP430リリース1.3構築3用CrossWorks |
結果 |
ソース (ZIP, 138k) |
| ATmega8 |
AVRリリース1.1構築1用CrossWorks |
結果 |
ソース (ZIP, 180k) |
| MSP430F149 |
MSP430 V3.30A/W32(3.30.1.1)用IAR C/C++コンパイラ |
結果 |
ソース (ZIP, 129k) |
| ATmega8 |
AVR4.10B/W32(4.10.2.3)用IAR C/C++コンパイラ |
結果 |
ソース (ZIP, 160k) |
Rowley社のコンパイラで実行したベンチマーク検討では、2つの特別な構築設定があります。従来のデバッグおよびリリース設定に加えて、「最小」および「最速」設定もあります。この設定は、最小コードサイズまたは最速実行を可能にするために使用されました。
IAR社のコンパイラのベンチマーク検討では、最適化レベルが高く設定されているので、サイズと速度の最適化目標との間で切り替えました。
すべての設定に関する詳細についてはソースリンクにあるプロジェクトファイルを参照してください。
|
 |
|
 |