30年以上にわたり、最適化コンパイラGreen Hills Compilerは、最高速、最小、および信頼性の最も高いコードを生成し、組込み業界でトップの地位を保ってきました。自動車から、空軍機/民間機、鉄道、ゲーム機や医療機器にいたるまで数えきれないほどの製品で、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++ランタイム認証に適合しています。
新規バグの防止
よくあるプログラミングでのミスを防ぐために、Green Hills Compilerはクリーンなコーディング規約を自動で知らせる機能を備えています。MISRA 2004ガイドラインなどの業界標準も、GHS Standard Modeなどの独自のガイドラインも適用することができます。GHS Standard Modeは当社が長年蓄積してきたソフトウェア展開の成功事例や、同等水準の信頼性を達成してきた顧客との協業に基づいて作られました。当社は自社ツール開発にGHS Standard Modeを内部で適用しています。
バグの自動検出
統合された静的ソースコード解析ツールDoubleCheckは、プログラムを走らせる前にエラーを特定し、通常のテストでは見つからないバグも発見します。コンパイラとは独立して動作する従来の静的解析ツールとは違い、DoubleCheckはコンパイラに組み込まれているため、以下のような数々の利点があります。
DoubleCheckの補助機能として、ランタイムエラーチェックがあり、静的実行解析だけでは発見できないバグを突き止めます。特に厄介なバグは実際に故障するまで顕在化しないものです。ランタイムエラーチェックがあれば、問題が起こった時点でその原因を知らせます。直接見えていれば、しばしば簡単にバグを取り除くことができます。
プロセッサのコストを削減
高まり続ける性能への要件を満たすために、より高速なプロセッサが必ずしも必要というわけではありません。GHSの優れたコンパイラ最適化をチューニングして、お使いのチップをフル活用できるようにすることができます。低価格のプロセッサで同じリアルタイム要件を達成できれば、経費をいくら節約できるでしょうか?また、新製品をリリースするために新しいハードウェア・プラットフォームを制作する必要がないとすれば?アプリケーションの性能が良くなれば、プロセッサそのものの費用も少なくできますが、さらに低価格のプロセッサならクロック速度と消費電力もより低くなり、発熱も小さくなります。電池駆動時間が長くなれば製品は良くなると同時に安くもなります。
メモリコストを削減
Green Hills Compilerで最適化すると実行ファイルのサイズを削減できるので、メモリにかかる経費も削減できます。ほとんどのプログラムで、GNUコンパイラと比較してメモリサイズは10%以上削減できます。
最大限の節約
GHSのコストカット専門のチームは性能をそのままにメモリとプロセッサの要件を低くする作業をお手伝いします。今まで、お客様のメモリ使用量を30%以上、パフォーマンスを300%以上向上させた実績があります。