Get in Touch
  • If you’re interested in a Wind River product, simply answer a few questions and we’ll get in touch right away.
  • If you’d like to speak with someone immediately, call our number for sales inquiries below.

    Toll-free: 800-545-WIND (800-545-9463)

Simics 4.8のご紹介


投稿者:Jakob Engblom, 2013/05/20

新旧ユーザー向けにSimics 4.8の一般提供を開始しました。一連のブログ記事で、今回のリリースで追加、改善された点を詳細に説明する予定です。Simics 4.8ではSimicsユーザーインタフェースとコラボレーション機能が大幅に改善されています。またシミュレータパフォーマンス、デバッガ、モデリングワークフローの微調整についても詳しく説明したいと思います。このニュースの概要から説明します。

Simics 4.8の目玉となる新機能は、Eclipseユーザーインタフェースです。いくつかのビューや機能を新たに追加し、シミュレーション結果に対するユーザーのインサイト強化、効率的なデバッグ、デバイスモデリングの簡略化、チーム内またはチーム間のコミュニケーションに役立つようにしました。またSimicsチェックポイントにも重要なパフォーマンス技術やコラボレーション機能を追加しました。

インサイト

System EditorではSimicsのターゲットシステムを構成しているコンポーネントやデバイスの階層がGUIに表示され、システムの構成状況を簡単に理解できるようになりました。システムのあらゆる部分のプロパティを調査し、新しいPCIカードの追加やネットワークケーブルの接続や切断といったタスクなど、セットアップへの変更が可能になります。Device Registerビューにはデバイスレジスタのビットフィールドに関する情報が表示されるので、フラグ値やその他のビットフィールドを確認しやすくなります。System Editorの詳細は別なブログ記事で説明します。

モデリング

Simics 4.8ではEclipseのモデリングサポートが拡張されました。具体的にはデバイスの単体テスト機能や、サンプルソースコードの閲覧機能が提供されています。以下のスクリーンショットでは、右上にTest Runnerがあり、その下にSample Deviceブラウザがあります。Eclipseの「New Sample Device」ウィザードは、Simicsに提供されている例(または空のスケルトンでもよい)を基に新しいデバイス(そして他のモジュールも)を作成します。Sample Deviceビューでは、自分のワークスペースで新しいデバイスモデルを作成しなくても、サンプルコードを見ることができるので非常に便利です。

Simics DMLでの構文ハイライトは、Simics Eclipseプラグインによって行います。Pythonコードの構文ハイライト処理が必要な場合、Python開発環境をEclipseに追加するだけでよいのです。安定したEclipseプラグインの動作からも想像できるように、人気の高いPyDev環境はSimicsでも問題なく作動します。

デバッガ

TCFベースのデバッガを基礎として、Simics Eclipse UIにいくつかの新しいビューを追加し、システムを効率的にデバッグ、解析できるようにしました。

最も革新的なビューはStop Logで、ここでは実行がどこで停止したのか、そして最後に停止してからの時間をデバッガが記録します。リバースエクセキューション中は、時間や空間がわかりにくくなることに気付きました。時間の流れに沿って前後に移動する際、現在どこにいるのか、そしてどうやってそこにたどり着いたのかを把握する必要があります。タイムラインビューで今どこにいるのかを把握し、Stop Logでどうやってそこにたどり着いたのかを確認することができます。以下はリバースデバッギングセッションの簡単な例です。

最初に約177,000ステップ(命令)分の実行を前進した後、約79,000ステップ分戻ってブレークポイントにたどり着いた点に注目してください。その後、システムレベルでステップごとに前進、後退して終えました。こうすることでブレークポイントの発生場所に近いのか、あるいは状況を勘違いしてシステムの実行履歴を戻りすぎたのかがわかりやすくなります。どの地点にいるのか、そしてどのようなデバッグ動作を実行したのかを非常に簡単に理解することができます。

Symbol BrowserはSimics 4.8に追加されたTCF機能です(Simics 4.6 Eclipseデバッガにも新たに追加)。ターゲットシステムに読み込んだデバッグ情報を検索して、特定の記号、変数、関数を探すことができます。関数や変数にアクセスするためのブレークポイント設定を効率的に行うことができ、読み込んだ記号やその場所も理解することができます。これによって手動での記号検索、読み込みまたはマッピング場所の把握といった低レベルのデバッグシナリオで役立ちます。

コラボレーション

Simicsのチェックポイントシステムに、チェックポイントの一環として実行を記録する機能が新たに加わりました。つまり、ある時点のシステムの状態を伝えるだけでなく、チェックポイントによって一定期間からのシステム実行状態を伝えることができるようになったのです。Simics 4.8のチェックポイントはシステムの実行を動画で記録したようなもので、チームメンバーや他の人達にSimicsの実行で何が発生しているのかを簡単に示すことができます。

ユーザーは実行中のシミュレーションにコメントを追加して、メモのような短い情報をある時点に添付することができます。この種のコメントはチェックポイントに保存され、ユーザーが定義したシステムの主要操作に関して継続的なログを提供します。

Simics 4.8のコラボレーション機能については、別なブログ記事で詳細に説明したいと思います。

パフォーマンス

Simics 4.8では新しいパフォーマンス向上技術もいくつか追加されています。

その1つが自動ハイパーシミュレーションです。ハイパーシミュレーションとは、仮想システムで何も発生していない場合に、Simicsの実行を大幅にスピードアップできる機能です。基本的にはSimicsはターゲットを完全にコントロールできるため、ターゲットソフトウェアがアイドル状態にある場合は、次の割り込み、デバイス動作、またはシミュレーションシステム内のタイマーイベントまでスキップすることができます。Simicsはこれまでbranch-to-self命令、x86 HLT命令、Power Architectureプロセッサによるnapモードへの移行など、シンプルな待機パターンを使用してきました。Simics 4.8では、命令ストリームを分析して何も動きのないループを自動的に検出し、自動的にハイパーシミュレーションに変換することができます。この機能によって典型的なOSのアイドルループの大半が処理されるため、アイドル状態が多かったターゲットシステムでは大幅なスピードアップにつながります。

2番目の技術はホストMMUを使用してターゲットMMUのシミュレーションを行うというものです。これによって、特定のターゲットコードのMMUシミュレーションオーバーヘッドが軽減できます。これはメモリアクセスが多いコードのパフォーマンスを大幅に向上します。3番目の技術は、Simics ISS JITエンジンを第2のホストコアにオフロードするというものです。これによって、ISSのメイン実行スレッドによるJITコンパイラ修正に伴うパフォーマンスジッタを軽減することができます。

このような各種新機能により、Simics 4.8はSimicsのパフォーマンスを継続的に向上し、仮想プラットフォーム命令セットの高速シミュレーションを常にリードし続けます。

Wind Riverに関する詳細は、Facebookをご覧ください。

原文はこちら:http://blogs.windriver.com/wind_river_blog/2013/05/simics-48-is-here.html
本社ブログサイト:http://blogs.windriver.com/

Thank You

Wind River, a wholly owned subsidiary of Intel Corporation (NASDAQ: INTC), is a world leader in embedded and mobile software. Wind River has been pioneering computing inside embedded devices since 1981 and its technology is found in more than 500 million products