最適化コンパイラGreen Hills Compiler

30年以上にわたり、最適化コンパイラGreen Hills Compilerは、最高速、最小、および信頼性の最も高いコードを生成し、組込み業界でトップの地位を保ってきました。自動車から、空軍機/民間機、鉄道、ゲーム機や医療機器にいたるまで数えきれないほどの製品で、Green Hills Compilerによって生成したコードが実行されています。

性能を最大限向上



半導体メーカー各社は実際の幅広いアプリケーションでプロセッサの性能がどの程度かを示すEEMBC認定のベンチマークを発表しています。これらのメーカーがスコアを出す際に、他のコンパイラの2倍以上の頻度でGreen Hills Compilerを選んでいます。

マイクロプロセッサの高速化のペースが速くなる中、アプリケーション開発者の間ではGreen Hills Compilerを使えば次世代のアプリケーションでハードウェアのポテンシャルをフルに引き出し、最高性能と機能安全を実現できるという定評があります。

Green Hills Compilerは最先端の最適化技術を活用し、サイズの制限の厳しい中でもプログラムの性能を最大限高めることができます。例えば、CodeFactor™の最適化ではサブルーチンコールやテールマージなどでコードの冗長なセグメントを削除することで、実行速度を高め、サイズを削減します。静的ベースも、データ項目をまとめ、ロードアドレス処理数を顕著に減らすことで、同じ効果があります(高速化、サイズ削減)。

最適化技法は、当社独自の技術であれ業界標準であれ、非常に周到に実装しています。30年にわたり技術でトップを走り続ける当社は、最適化技術をひとつひとつ綿密に調べ、何百ものベンチマークと照らし合わせてテストしています。緻密な実装と最新鋭の技術のおかげで、大部分のプログラムでGreen Hills CompilerはGNUコンパイラやLLVMコンパイラと比較して20%以上速度を向上し、サイズを削減することができます。

出力の緻密なチューニング
Green Hills Compilerはデフォルト設定でも優れた結果を出しますが、アプリケーションはそれぞれ固有のものであると理解しています。異なる最適化の組み合わせを試したり、プロジェクト単位またはファイル単位で個別に最適化を設定したりすることで、コンパイラの出力を細かく調整することができます。

最高水準の性能を達成するために、Green Hillsでは組込みシステムの専門知識を駆使してプログラムの速度を高めるカスタムパフォーマンスチューニングサービスを提供しています。また、アプリケーションの評価に基づいてカスタムで最適化を行うこともできます。

例を挙げると、当社のコンパイラチームはARMのアーキテクチャスペシャリストと協業して、新たな最適化機能を複数追加し、それによってGreen Hills CompilerはCortex-R5プロセッサで1.01 EEMBC Automarks/MHzという性能スコアを達成しました。これは以前の性能スコアより30%の性能向上を意味します。

早期市場投入

C++ 11のサポート
Green Hills CompilerはISO/IEC 14882:2011(C++11)をサポートしています。この規格にはいろいろな新言語機能や標準ライブラリなどが多数盛り込まれています。例えばミューテックス、アトミック、future/promiseのスレッドサポートの標準化やキーワードthread_localの使用などです。こうした機能はリアルタイムOS INTEGRITYでサポートされ、他のOSでも使えるようにカスタマイズすることも簡単です。

幅広いプロセッサのサポート
製品をいち早く発売まで持っていけるかどうかは、最新のターゲットハードウェアに対応しているかが非常に重要です。GHSのリリースは頻繁で、半導体メーカーとも緊密に連携しているため、当社のコンパイラは新規のCPUでさえも市販される前からサポートしています。

緊密な統合
Green Hills Compilerは総合的な開発ソリューションに組み込まれた製品です。GHSの製品はソフトウェア開発、テストおよび保守のサイクル全体にツールおよびシステムを包括的に提供しています。このシームレスな統合により、時間を節約できます。

INTEGRITYと同様、統合開発環境MULTIは一部Linuxバージョンのコンパイルとデバッギング両方に対応しています。ターゲットに直接合わせて開発できるように、上記製品はすべて、ハードウェアデバッグ装置Green Hills ProbeおよびSuperTrace Probeとシームレスに連携します。

安全性と信頼性を保証

産業認証
MULTIツールチェーンの一部として、Green Hills Compilerは最高水準のツール認証とC/C++ランタイム認証に適合しています。

  • IEC 61508:2010(産業)、EN 50128:2011(鉄道)、およびISO 26262:2011(自動車)の機能安全規格
  • TÜV NORD、およびexidaから認証を取得
  • SIL 4(安全度水準)、およびASIL D(自動車安全度水準)のツール認証に適合。C/C++ランタイム認証要件も達成 — 現時点で最高水準の成果
  • 幅広いターゲットプロセッサに対応

新規バグの防止
よくあるプログラミングでのミスを防ぐために、Green Hills Compilerはクリーンなコーディング規約を自動で知らせる機能を備えています。MISRA 2004ガイドラインなどの業界標準も、GHS Standard Modeなどの独自のガイドラインも適用することができます。GHS Standard Modeは当社が長年蓄積してきたソフトウェア展開の成功事例や、同等水準の信頼性を達成してきた顧客との協業に基づいて作られました。当社は自社ツール開発にGHS Standard Modeを内部で適用しています。

バグの自動検出
統合された静的ソースコード解析ツールDoubleCheckは、プログラムを走らせる前にエラーを特定し、通常のテストでは見つからないバグも発見します。コンパイラとは独立して動作する従来の静的解析ツールとは違い、DoubleCheckはコンパイラに組み込まれているため、以下のような数々の利点があります。

  • 設定はわずか。起動するだけで使用可能
  • 特に手を加えなければビルドのたびに自動で実行
  • 実際にコンパイルされるコードをチェック

DoubleCheckの補助機能として、ランタイムエラーチェックがあり、静的実行解析だけでは発見できないバグを突き止めます。特に厄介なバグは実際に故障するまで顕在化しないものです。ランタイムエラーチェックがあれば、問題が起こった時点でその原因を知らせます。直接見えていれば、しばしば簡単にバグを取り除くことができます。

製造コスト削減

Green Hills optimizing compilers enable you to reduce your processor costs

最適化コンパイラGreen Hills Compilerがあれば、コンパイラ最適化機能を調整してハードウェアの性能を最大限引き出すことにより、低コストのハードウェアでリアルタイムの要件を達成できます。

プロセッサのコストを削減
高まり続ける性能への要件を満たすために、より高速なプロセッサが必ずしも必要というわけではありません。GHSの優れたコンパイラ最適化をチューニングして、お使いのチップをフル活用できるようにすることができます。低価格のプロセッサで同じリアルタイム要件を達成できれば、経費をいくら節約できるでしょうか?また、新製品をリリースするために新しいハードウェア・プラットフォームを制作する必要がないとすれば?アプリケーションの性能が良くなれば、プロセッサそのものの費用も少なくできますが、さらに低価格のプロセッサならクロック速度と消費電力もより低くなり、発熱も小さくなります。電池駆動時間が長くなれば製品は良くなると同時に安くもなります。

メモリコストを削減
Green Hills Compilerで最適化すると実行ファイルのサイズを削減できるので、メモリにかかる経費も削減できます。ほとんどのプログラムで、GNUコンパイラと比較してメモリサイズは10%以上削減できます。

最大限の節約
GHSのコストカット専門のチームは性能をそのままにメモリとプロセッサの要件を低くする作業をお手伝いします。今まで、お客様のメモリ使用量を30%以上、パフォーマンスを300%以上向上させた実績があります。