JP2007213556A - 回路解析装置 - Google Patents
回路解析装置 Download PDFInfo
- Publication number
- JP2007213556A JP2007213556A JP2006335917A JP2006335917A JP2007213556A JP 2007213556 A JP2007213556 A JP 2007213556A JP 2006335917 A JP2006335917 A JP 2006335917A JP 2006335917 A JP2006335917 A JP 2006335917A JP 2007213556 A JP2007213556 A JP 2007213556A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- analysis
- circuit
- information
- logic circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】 詳細な動作が記述された仮想プロセッサモデルの開発を不要とし、システムLSI開発の初期段階において、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を、高い精度で見積もることのできる回路解析装置を提供する。
【解決手段】 実プロセッサ上で動作可能であり論理回路の情報を含む実行オブジェクト2を記憶する第1記憶部3と、実プロセッサ上での実行オブジェクト2の動作により、論理回路の機能に基づく動作であって、ターゲットプロセッサと協調した動作を解析する解析部6と、解析部6が使用するプロセッサ情報4を記憶する第2記憶部5を備え、プロセッサ情報4は、実プロセッサの動作仕様とターゲットプロセッサの動作仕様との差分情報を含む回路解析装置1である。この回路解析装置1により、システムLSI開発の初期段階において、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を高い精度で見積もれる。
【選択図】 図1
【解決手段】 実プロセッサ上で動作可能であり論理回路の情報を含む実行オブジェクト2を記憶する第1記憶部3と、実プロセッサ上での実行オブジェクト2の動作により、論理回路の機能に基づく動作であって、ターゲットプロセッサと協調した動作を解析する解析部6と、解析部6が使用するプロセッサ情報4を記憶する第2記憶部5を備え、プロセッサ情報4は、実プロセッサの動作仕様とターゲットプロセッサの動作仕様との差分情報を含む回路解析装置1である。この回路解析装置1により、システムLSI開発の初期段階において、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を高い精度で見積もれる。
【選択図】 図1
Description
本発明は、LSIの性能評価を開発の早期に行う回路解析装置に関するものである。
携帯端末やデジタル機器などの小型化や軽量化の要請に伴い、種々のアプリケーションの機能をLSIで実現することが求められている。特に、アプリケーションの機能が、プロセッサと論理回路とで実現されるシステムLSIの開発が求められている。
システムLSIは、一つのLSIの中にプロセッサと論理回路を組み込む場合と、プロセッサと論理回路を別のLSIで構成する場合とがある。
このシステムLSIにおいては、アプリケーションの種類や仕様に応じて最適なプロセッサが使用される。このアプリケーションを実現するシステムLSIに使用されるプロセッサ(すなわち、アプリケーションに組み込まれるプロセッサ)を「ターゲットプロセッサ」と呼ぶ。
システムLSIの動作電圧の低下に伴い、システムLSIの消費電力にとっては、システムLSI内部回路の動作による消費電力の割合よりも、外部回路との信号のやり取りにより発生する消費電力の割合が大きい。なぜなら、LSIの動作電圧(2.5V、1.8V)が下がっても、外部回路とのインターフェース部分の動作電圧は、5Vや3.3Vなどの高い電圧が必要だからである。
なお、この外部回路には、システムLSIの外部に存在する外部メモリや、ターゲットプロセッサなどが含まれる。
加えて、携帯端末やデジタル機器には、処理の高速化も求められており、システムLSIに含まれる論理回路とターゲットプロセッサとの通信負荷の適正化も求められている。
このような状況において、携帯端末やデジタル機器などの電子機器の商品開発に対する時間的要求は厳しく、電子機器の中核をなす、このシステムLSIも短い期間での開発が求められる。回路やソフトウェアの複雑化に伴い、システムLSIの開発工数や開発期間は飛躍的に増大している。このため、早期にシステムLSIのアーキテクチャや仕様が検討される必要がある。
このとき、システムLSIと外部メモリとのやり取りによる消費電力の見積もりや、ターゲットプロセッサとの通信負荷の見積もりの精度が悪いと、システムLSI開発の最終段階において、システムLSIやその周辺回路の仕様の見直しの必要性が生じることもある。場合によっては、システムLSI開発を最初からやり直す必要も生じる。このように、システムLSI開発の最終段階において、仕様を見直すことは、厳しい開発期間が要求される電子機器において、致命的である。
このため、システムLSI開発においては、具体的な回路設計を始めるより早い段階で、システムLSIと外部メモリとのやり取りによる消費電力やターゲットプロセッサとの通信負荷を、高い精度で見積もることが求められている。
特に、画像圧縮処理や音声圧縮処理などの分野においては、規格化が進む段階で、アプリケーションを実現するオブジェクトコード化された論理回路モデルが提供されることがある。詳細な仕様を決めるためにも、この論理回路モデルを用いて、早期に消費電力や通信負荷を見積もることが求められている。
従来においては、プロセッサの普遍性の高い命令セットを用いて、ソースコードで記述されている論理回路の動作解析を行う技術が開示されている。
この技術によれば、論理回路の構成を記述したソースコードと、プロセッサの命令セットを基に論理回路の動作解析が実行される。
また、特定のターゲットプロセッサのインストラクションやキャッシュ情報などを備えた仮想プロセッサモデルを用いて、ソースコードで記述されている論理回路の動作解析を行う技術も開示されている(例えば非特許文献1参照)。
従来は、開発初期段階において、消費電力や通信負荷を見積もるために、これらの技術が用いられていた。
しかしながら、従来の技術では次のような問題があった。
プロセッサの普遍的な命令セットを用いる動作解析では、外部メモリとのやり取りに基づく消費電力の解析や、プロセッサとの通信負荷の解析ができない。プロセッサの命令セットだけでは、通信頻度や、通信に基づく消費電力が計算できないからである。加えて、外部メモリ、プロセッサの内部メモリ、及び、キャッシュの情報が無いため、論理回路と内部メモリやキャッシュとのアクセスにおけるアクセス頻度の解析もできない。
一方、仮想プロセッサモデルを用いる動作解析では、消費電力の解析や通信負荷の解析は可能であるが、ターゲットプロセッサの仮想プロセッサモデルを事前に設計する必要があり、開発工程の早期段階での利用が困難である問題がある。
加えて、いずれの技術においても、動作解析に必要となる論理回路のソースコードが必要であり、オブジェクトコードによる論理回路モデルのみを入手できても、動作解析ができない問題があった。
実際には、解析に用いられるコンピュータに組み込まれたプロセッサ(以下、「実プロセッサ」という)上で解析されるので、ターゲットプロセッサとは異なる実プロセッサにより解析されてしまう。この実プロセッサとターゲットプロセッサとの相違を解消しつつ、消費電力や通信負荷の解析を行うことが求められていた。
「Brooks,et,al ISCA pp、83−94、2000」
「Brooks,et,al ISCA pp、83−94、2000」
そこで本発明は、詳細な動作が記述された仮想プロセッサモデルの開発を不要とし、システムLSI開発の初期段階において、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を、高い精度で見積もることのできる回路解析装置を提供することを目的とする。
第1の発明に係る回路解析装置は、実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶する第1記憶部と、実プロセッサ上での実行オブジェクトの動作により、論理回路の機能に基づく動作であって、ターゲットプロセッサと協調した動作を解析する解析部と、解析部が使用するプロセッサ情報を記憶する第2記憶部を備え、プロセッサ情報は、実プロセッサの動作仕様とターゲットプロセッサの動作仕様との差分情報を含む。
この構成により、実行オブジェクトを実プロセッサ上で動作させつつ、ターゲットプロセッサと協調した論理回路の動作が解析できる。また、実プロセッサとターゲットプロセッサの差分情報のみで解析ができるので、システムLSI開発の初期段階で論理回路の動作解析ができる。
第2の発明に係る回路解析装置は、第1の発明に加えて、差分情報は、実プロセッサの命令コードとターゲットプロセッサの命令コードとを置き換える置き換え情報を含む。
この構成により、実行オブジェクトに含まれる論理回路は、ターゲットプロセッサと協調した動作を、仮想的に行うことができる。
第3の発明に係る回路解析装置は、第1から第2のいずれかの発明に加えて、差分情報は、実プロセッサが備える内部メモリ及び内部キャッシュの情報とターゲットプロセッサが備える内部メモリ及び内部キャッシュの情報との差分を含む。
この構成により、実行オブジェクトに含まれる論理回路は、ターゲットプロセッサが備える内部メモリや内部キャッシュに対する仮想的な動作を行うことができる。
第4の発明に係る回路解析装置は、第1から第3のいずれかの発明に加えて、差分情報は、実プロセッサが用いるアドレス値とターゲットプロセッサが用いるアドレス値とを置き換える置き換え情報を含む。
この構成により、実行オブジェクトに含まれる論理回路は、ターゲットプロセッサの持つアドレス空間に対応した仮想的な動作を行うことができる。
第5の発明に係る回路解析装置は、第1から第4のいずれかの発明に加えて、プロセッサ情報は、論理回路がアクセスする外部メモリの情報を含む。
第6の発明に係る回路解析装置は、第5の発明に加えて、解析部は、論理回路が外部メモリへアクセスするアクセス頻度を解析する。
これらの構成により、実行オブジェクトに含まれる論理回路による、外部メモリへのアクセス頻度や、アクセスに基づく消費電力が解析できる。
第7の発明に係る回路解析装置は、第3の発明に加えて、解析部は、論理回路がターゲットプロセッサが備える内部メモリ及び内部キャッシュの少なくとも一つへアクセスするアクセス頻度を解析する。
この構成により、実行オブジェクトに含まれる論理回路が必要とする、ターゲットプロセッサに含まれる内部メモリおよび内部キャッシュの容量や動作仕様が解析できる。
第8の発明に係る回路解析装置は、第1から第7のいずれかの発明に加えて、解析部は、論理回路とターゲットプロセッサとが通信する通信頻度を解析する。
第9の発明に係る回路解析装置は、第1から第8のいずれかの発明に加えて、解析部は、ターゲットプロセッサの処理負荷及びターゲットプロセッサの消費電力を解析する。
これらの構成により、実行オブジェクトに含まれる論理回路をはじめとしたアプリケーションが要求する処理におけるターゲットプロセッサの処理負荷を解析できる。
第10の発明に係る回路解析装置は、第1から第9のいずれかの発明に加えて、解析部が解析した結果を表示する表示部を更に備える。
この構成により、ユーザは、解析結果を容易に確認できる。
本発明によれば、アプリケーションが想定するターゲットプロセッサの詳細なモデルを開発する必要がなく、アプリケーションを実現するシステムLSI開発の早期段階で、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を、高い精度で見積もることができる。
この結果、システムLSI開発の最終段階での後戻りが著しく減少し、短い開発期間を満足するシステムLSIの開発ができる。
以下、図面を参照しながら、本発明の実施の形態を説明する。
(実施の形態1)
なお、上述の通り、解析に用いられるコンピュータに組み込まれたプロセッサを「実プロセッサ」といい、アプリケーションを実現するシステムLSIに使用されるプロセッサ(すなわち、アプリケーションに組み込まれるプロセッサ)を「ターゲットプロセッサ」という。
なお、上述の通り、解析に用いられるコンピュータに組み込まれたプロセッサを「実プロセッサ」といい、アプリケーションを実現するシステムLSIに使用されるプロセッサ(すなわち、アプリケーションに組み込まれるプロセッサ)を「ターゲットプロセッサ」という。
図1は、本発明の実施の形態1における回路解析装置のブロック図である。
回路解析装置1は、第1記憶部3と第2記憶部5と解析部6を備える。
まず、各部の詳細について説明する。
第1記憶部3は、論理回路の情報を含む実行オブジェクト2を記憶する。実行オブジェクト2は、開発対象となっているアプリケーションを実現する論理回路の機能を含んでいる。例えば、実行オブジェクト2は、MPEG−2やMPEG−4などの画像処理の規格に基づいた動作を実現する論理回路の機能を含んでいる。
実行オブジェクト2は、HDLやC言語などの高級言語で論理回路の動作が記述された上で、コンピュータ上で動作可能なオブジェクトコードに変換されている。また、実行オブジェクト2のソースコードは、レジスタ・トランスファー・レベル(「RTL」という)のような詳細な記述によるものではなく、動作仕様レベルの記述でよい。
実行オブジェクト2には、ユーザによるソースコードの記述がコンパイルされて生成されたオブジェクトコードが用いられてもよく、流通しているオブジェクトコードが用いられてもよい。
実行オブジェクト2は、実プロセッサ上で動作可能であるので、実行オブジェクト2は、コンピュータ上で動作可能である。
なお、回路解析装置1は、オブジェクトコードになっている実行オブジェクト2を、そのまま解析できるので、回路解析装置1を使用するユーザは、予めオブジェクトコード化された実行オブジェクト2を入手するだけで、解析ができる。このため、ユーザが新たにアプリケーションの動作を実現するソースコードを記述する手間を要さない。このため、画像処理や音声処理などの規格に基づくアプリケーションであれば、規格化団体から供給されるオブジェクトコードの論理回路モデルをそのまま利用することができる。
例えば、アプリケーションに含まれる論理回路が機密対象である場合には、アプリケーションに対応するソースコードは入手できない。しかし、オブジェクトコードや、暗号化されたオブジェクトコードであれば入手容易である。回路解析装置1は、オブジェクトコードや暗号化されたオブジェクトコードを、実行オブジェクト2として、実プロセッサ上で動作させることができる。このため、最新の規格に係るアプリケーションであっても、オブジェクトコードは入手容易であり、この入手容易なオブジェクトコードを用いた解析が容易に行える。
ユーザは、所望のアプリケーション開発、特に、アプリケーションを実現するシステムLSIの開発における解析に、この実行オブジェクト2を用いる。
解析部6は、実行オブジェクト2を動作させることで、ユーザの想定するターゲットプロセッサと協調した論理回路の動作を解析する。
ここで、回路解析装置1は、パソコンやワークステーションなどのコンピュータ上で動作する。すなわち、コンピュータに備えられている実体のあるプロセッサである実プロセッサ上で、実行オブジェクトは動作する。このため、論理回路の動作は、回路解析装置1が使用する実プロセッサと協調した動作として解析されてしまう。
一方、実行オブジェクト2を用いたアプリケーションの開発においては、ユーザの仕様に応じて選択されるプロセッサであるターゲットプロセッサがアプリケーションに組み込まれることが想定される。このターゲットプロセッサの仕様は、回路解析装置1が動作する実プロセッサの仕様と異なることが多い。
このため、後に述べるプロセッサ情報4が解析に用いられることで、解析部6は、(ターゲットプロセッサと異なる仕様の実プロセッサ上で、論理回路の機能を含む実行オブジェクト2が動作させられるにもかかわらず)論理回路の機能に基づく動作であって、ターゲットプロセッサと協調した動作を解析できる。
(解析について)
解析部6は、実行オブジェクト2に含まれる論理回路の動作において、次のような動作を解析する。図2を用いて説明する。図2は、本発明の実施の形態1における解析部での解析を説明する説明図である。
解析部6は、実行オブジェクト2に含まれる論理回路の動作において、次のような動作を解析する。図2を用いて説明する。図2は、本発明の実施の形態1における解析部での解析を説明する説明図である。
解析部6は、実行オブジェクト2に含まれる論理回路10の機能とプロセッサ情報4を用いて、論理回路10の機能に基づく動作であって、ターゲットプロセッサと協調した動作を解析する。
解析部6は、論理回路10からの外部メモリ11へのアクセス頻度を解析する。外部メモリ11は、例えば論理回路10がシステムLSIに含まれている場合、システムLSIの外付けのDRAMやSRAMなどを含む。解析部6は、論理回路10からの外部メモリ11へのリード、あるいはライトの回数や、頻度を解析する。この解析により、論理回路10のメモリ制御の仕様や、外部メモリ11の必要な容量やアクセススピードが判断される。特に、アクセス回数や頻度により、論理回路10の外部メモリ11へのアクセスによる消費電力も解析できる。
また、解析部6は、論理回路10とターゲットプロセッサ12との通信頻度を解析する。この、論理回路10とターゲットプロセッサ12の通信頻度の解析により、ターゲットプロセッサ12の処理負荷が解析される。加えて、ターゲットプロセッサ12との通信頻度の解析により、ターゲットプロセッサ12と論理回路10を含むアプリケーション全体の消費電力が解析される。なお、解析部6は、ターゲットプロセッサ12単体の消費電力も解析する。
また、解析部6は、論理回路10からターゲットプロセッサ12内部の内部メモリ13、キャッシュ14へのアクセス頻度を解析する。キャッシュ14へのアクセス頻度の解析により、キャッシュのヒット率が解析される。また、内部メモリ13へのアクセス頻度の解析により、内部メモリ13の必要容量が解析される。
(プロセッサ情報の使用)
ここで、解析部6は、回路解析装置1が動作するコンピュータに含まれる実プロセッサ上で動作する。この実プロセッサの仕様は、アプリケーションが想定するターゲットプロセッサの仕様とは異なる。このため、解析部6は、ターゲットプロセッサ12と協調した論理回路の動作を解析するためには、実際の動作に用いられる実プロセッサと想定するターゲットプロセッサとの差分を考慮する必要がある。
ここで、解析部6は、回路解析装置1が動作するコンピュータに含まれる実プロセッサ上で動作する。この実プロセッサの仕様は、アプリケーションが想定するターゲットプロセッサの仕様とは異なる。このため、解析部6は、ターゲットプロセッサ12と協調した論理回路の動作を解析するためには、実際の動作に用いられる実プロセッサと想定するターゲットプロセッサとの差分を考慮する必要がある。
この実プロセッサとターゲットプロセッサとの差分を埋めるために、解析部6は、実行オブジェクト2に含まれる論理回路の機能に加えて、プロセッサ情報4を用いる。
第2記憶部5は、プロセッサ情報4を記憶する。
プロセッサ情報4は、解析部6における解析の実行時に必要な情報を含んでいる。
図3は、本発明の実施の形態1におけるプロセッサ情報の含む情報を示す説明図である。
実行オブジェクト2は、論理回路10の情報を含んでいる。プロセッサ情報4は、外部メモリ11やターゲットプロセッサ12についての情報を含んでいる。解析部6は、これら実行オブジェクト2とプロセッサ情報4の両方を用いて、上述の、ターゲットプロセッサの処理負荷や消費電力などを解析する。
(プロセッサ情報)
プロセッサ情報は、実プロセッサとターゲットプロセッサ12との差分情報を含む。
プロセッサ情報は、実プロセッサとターゲットプロセッサ12との差分情報を含む。
差分情報は、実プロセッサの命令コードとターゲットプロセッサ12の命令コードとを置き換える置き換え情報を含んでいる。図4は、本発明の実施の形態1におけるプロセッサの命令コードの例示図であり、図5は、本発明の実施の形態1における置き換えに用いられる変換テーブルの例示図である。
命令コード20は、実プロセッサの命令コードである。命令コード21は、ターゲットプロセッサ12の命令コードである。図4に示されるように、実プロセッサとターゲットプロセッサ12の命令コードは異なる。プロセッサ情報4は、図5に示される変換テーブル22を有している。
解析部6は、実プロセッサの命令コードを、ターゲットプロセッサ12の命令コードへ変換した上で、論理回路の動作を解析する。このとき、差分情報に含まれるこの変換テーブル22を用いて、解析部6は、論理回路の動作を解析する。
変換テーブル22に示されるように、実プロセッサの命令コードの「codeA0」は、ターゲットプロセッサ12の命令コード「codeTA0」、「codeTA1」に変換される。解析部6は、変換後の命令コードを用いて論理回路10の動作を解析する。
なお、図4、図5に示される、命令コード20、21と変換テーブル22は、一例であり、実プロセッサとターゲットプロセッサ12の種類に対応した命令コードと変換テーブルが用いられればよい。
また、差分情報は、実プロセッサが用いるアドレス値と、ターゲットプロセッサ12が用いるアドレス値を置き換える置き換え情報を含んでいる。解析部6は、アドレス値を置き換える情報を用いて、実プロセッサ上で動作する実行オブジェクト2の動作から、ターゲットプロセッサ12での論理回路10の動作を解析できる。解析において、アドレス値を置き換えられることで、論理回路10は、ターゲットプロセッサ12と協調して動作する。
このような、命令コードやアドレス値の置き換えは、実行オブジェクト2の実行時における処理単位を基準とする置き換え単位で行われればよい。
置き換え単位が、1インストラクション単位であれば、命令コードやアドレス値の置き換えが、確実に行われる。
置き換え単位が、実行オブジェクト2に含まれる1モジュール単位であれば、命令コードやアドレス値の置き換えが、高速に行われる。
また、1モジュール単位の中に、ループ処理が入っている場合には、インストラクションの順番と内容との関係について事前把握が困難なので、置き換え単位は、ループ処理の部分を別にした単位相当とすることが好適である。これにより、命令コードやアドレス値の、正確かつ高速な置き換えが実現できる。
また、差分情報は、実プロセッサの備える内部メモリ及び内部キャッシュの情報と、ターゲットプロセッサ12の備える内部メモリ及び内部キャッシュの情報との差分を含む。具体的には、実プロセッサの内部メモリとターゲットプロセッサ12の内部メモリ13のアドレス値を置き換える置き換え情報、及び実プロセッサのキャッシュと、ターゲットプロセッサ12のキャッシュ14との差分を含んでいる。
解析部6は、この内部メモリに関する差分情報を用いて、論理回路10からのターゲットプロセッサ12に含まれる内部メモリ13へのアクセス頻度を解析できる。これは、アドレス値の置き換え情報が用いられることで、論理回路10が、ターゲットプロセッサ12の内部メモリ13にアクセスすることをシミュレートできるからである。
同様に、解析部6は、キャッシュに関する差分情報を用いて、論理回路10がキャッシュ14へアクセスするアクセス頻度とヒット率を解析する。
また、プロセッサ情報4は、論理回路10がアクセスする外部メモリ11の情報を含んでいる。具体的には、プロセッサ情報4は、外部メモリ11の容量、アクセススピード、アドレスなどの情報を含んでいる。
解析部6は、この外部メモリ11に関する情報を用いて、論理回路10が外部メモリ11へアクセスするアクセス頻度を解析する。外部メモリ11へのアクセス頻度の解析により、論理回路10をはじめとした開発対象のアプリケーションの消費電力が解析される。
ここで、解析部6は、論理回路10が外部メモリ11へアクセスする単位時間当たりのアクセス回数を解析する。論理回路10が想定するLSIの動作電圧、I/O電圧、及び外部メモリ11のI/O電圧などから、一回のアクセス当たりの消費電力が算出される。解析部6は、この単位時間当たりのアクセス回数と一回のアクセス当たりの消費電力との乗算から、論理回路10の外部メモリ11へのアクセスによる消費電力を解析する。
同様に、外部メモリ11への単位時間当たりのアクセス回数と、一回のアクセス当たりの消費電力の乗算から、論理回路10の外部メモリ11へのアクセスによる消費電力が解析される。
また、解析部6は、論理回路10からターゲットプロセッサ12への単位時間のアクセス回数と、アクセス時における待ちサイクル数を解析し、論理回路10のターゲットプロセッサ12へのアクセス頻度を解析する。
以上のように、実プロセッサに含まれる内部メモリやキャッシュへのアクセスを通じて、ターゲットプロセッサ12の内部メモリ13やキャッシュ14へのアクセス頻度が解析される。
加えて、実行オブジェクト2に含まれる論理回路10の外部メモリ11へのアクセス頻度や消費電力が解析される。このとき、外部メモリ11やターゲットプロセッサ12の詳細な動作を記述した仮想プロセッサモデルは不要で、実プロセッサとの差分情報など、容易に記述できる簡単なプロセッサ情報4のみで、解析できる。このため、従来技術におけるような、ターゲットプロセッサの詳細な動作を記述した仮想プロセッサモデルを開発する負担と期間が不要である。
また、プロセッサ情報4に含まれるターゲットプロセッサ12や外部メモリ11の情報に基づいて、実プロセッサにより解析が行われるので、解析の速度も高速になる。更に、ターゲットプロセッサ12と外部メモリを用いたのと同じ解析が実現されるので、ターゲットプロセッサの処理負荷やアプリケーションの消費電力が高い精度で見積もれる。
ここで、図6を用いて、解析部6の詳細を説明する。図6は、本発明の実施の形態1における解析部6の内部ブロック図である。
図6から明らかなように、解析部6は、論理回路10のターゲットプロセッサ12に基づいた動作を解析するために、解析部6内部に、アドレス変換部30、アドレス解析部31、命令コード変換部32、命令解析部33、解析実行部34を備える。
アドレス変換部30は、実行オブジェクト2の動作により、論理回路10から指定されるアドレス値である指定アドレスを、プロセッサ情報4に含まれるアドレス値の変換方式に従って、変換する。変換後のアドレスは、ターゲットプロセッサ12(あるいは、これに含まれる内部メモリ13、キャッシュ14)に対応したアドレスである。アドレス解析部31は、変換後のアドレスに基づいて、論理回路10のアドレス指定に関する動作を解析する。
同様に、命令コード変換部32は、図5に示される変換テーブル22を用いて、論理回路10から指定される命令コードを、ターゲットプロセッサ12に対応した命令コードに変換する。命令解析部33は、変換後の命令コードに基づいて、論理回路10の命令に関する動作を解析する。
解析実行部34は、ターゲットプロセッサ12へのアクセスや外部メモリ11へのアクセスを解析する。解析結果は表示部7に表示される。
表示部7は、コンピュータの画面や液晶画面であり、ユーザの所望に応じた態様で、解析結果が表示される。例えばグラフで表示されたり、表で表示されたりする。
解析部6による以上の解析により、実行オブジェクト2を実際に動作させるのは、実体のある実プロセッサであるが、アプリケーションが想定するターゲットプロセッサ12や外部メモリ11に基づく、論理回路の動作を解析できる。プロセッサ情報は、ターゲットプロセッサ12の詳細な動作を記述した仮想プロセッサモデルを必要とせず、システムLSI開発の早期段階で、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を、高い精度で見積もることができる。
なお、回路解析装置1は、上述の回路解析が可能である専用の機器として提供されても良く、回路解析の動作が可能となった汎用のコンピュータ(パソコンやワークステーションを含む)として提供されても良い。
(実施の形態2)
次に、実施の形態2について、図1、図2を用いて説明する。
次に、実施の形態2について、図1、図2を用いて説明する。
回路解析装置1は、その一部もしくは全部がソフトウェアで構成されても良い。ソフトウェアで実現される場合には、ソフトウェアは、回路解析装置1と同等の機能を有する回路解析方法に基づいている。
回路解析方法は、実プロセッサ上で動作可能であって、論理回路10の機能を含む実行オブジェクト2を記憶するステップを有する。
次いで、回路解析方法は、実プロセッサ上での実行オブジェクト2の動作により、論理回路10の機能に基づく動作であって、ターゲットプロセッサ12と協調した動作を解析するステップを有する。回路解析方法は、実プロセッサとターゲットプロセッサ12との差分情報を含むプロセッサ情報4を用いて解析する。プロセッサ情報4により、回路解析方法は、ターゲットプロセッサ12と協調した論理回路10の動作を解析できる。
プロセッサ情報4は、実施の形態1で説明された情報を有している。
解析結果は、必要に応じて表示される。
また、回路解析装置1や回路解析方法に含まれる機能は、その一部もしくは全部がコンピュータ上で動作する回路解析プログラムとして提供されても良い。
回路解析プログラムは、回路解析プログラムがインストールされる実プロセッサ上で動作可能であって、論理回路10の機能を含む実行オブジェクト2を記憶している。更に、回路解析プログラムは、実プロセッサ上での実行オブジェクト2の動作により、論理回路10の機能に基づく動作であって、ターゲットプロセッサ12と協調した動作を解析する。回路解析プログラムは、実プロセッサの動作仕様とターゲットプロセッサ12の動作仕様の差分情報を記憶しておいて、この差分情報を用いて、この解析を行う。
すなわち、アプリケーションに組み込まれることが想定されるターゲットプロセッサ12と協調した論理回路10の動作が、解析される。
回路解析プログラムは、コンピュータ上で動作可能なオブジェクトコードに変換された上で、ネットワークを通じて配布されたり、CD−ROMやDVD−ROMなどの記憶媒体により配布されたりする。
これらの形態により入手されたオブジェクトコードが、コンピュータにインストールされた状態で、ユーザにより使用される。結果として、回路解析が可能となる。
回路解析装置1は、このように回路解析プログラムがインストールされて、解析が可能となったコンピュータ(パソコン、ワークステーションなどを含む)として提供されても良い。あるいは、回路解析装置1は、回路解析が可能な専用の機器として提供されても良い。また、回路解析装置1は、コンピュータ上で動作する回路解析シミュレータとして提供されても良い。回路解析シミュレータとして提供される場合には、解析結果を表示する表示機能も含んでいることも、ユーザビリティにとって好適である。
以上の回路解析装置、回路解析方法、回路解析プログラム、回路解析シミュレータによれば、システムLSI開発の早期段階で、ターゲットプロセッサの処理負荷や消費電力を、高い精度で見積もることができる。
また、論理回路と外部メモリや内部メモリとのアクセス頻度や、論理回路とターゲットプロセッサとの通信負荷も、高い精度で見積もることができる。
特に、論理回路10を含むアプリケーションが想定するターゲットプロセッサ12の仮想プロセッサモデルの開発も不要となり、開発の早期段階での解析が可能となる。
本発明は、例えば、システムLSI開発やアプリケーション開発等において好適に利用できる。
1 回路解析装置
2 実行オブジェクト
3 第1記憶部
4 プロセッサ情報
5 第2記憶部
6 解析部
7 表示部
10 論理回路
11 外部メモリ
12 ターゲットプロセッサ
13 内部メモリ
14 キャッシュ
2 実行オブジェクト
3 第1記憶部
4 プロセッサ情報
5 第2記憶部
6 解析部
7 表示部
10 論理回路
11 外部メモリ
12 ターゲットプロセッサ
13 内部メモリ
14 キャッシュ
Claims (16)
- 実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶する第1記憶部と、
前記実プロセッサ上での前記実行オブジェクトの動作により、前記論理回路の機能に基づいた動作であって、ターゲットプロセッサと協調した動作を解析する解析部と、
前記解析部が使用するプロセッサ情報を記憶する第2記憶部を備え、
前記プロセッサ情報は、前記実プロセッサの動作仕様と前記ターゲットプロセッサの動作仕様との差分情報を含む回路解析装置。 - 前記差分情報は、前記実プロセッサの命令コードと前記ターゲットプロセッサの命令コードとを置き換える置き換え情報を含む請求項1記載の回路解析装置。
- 前記差分情報は、前記実プロセッサが備える内部メモリ及び内部キャッシュの情報と前記ターゲットプロセッサが備える内部メモリ及び内部キャッシュの情報との差分を含む請求項1から2のいずれか記載の回路解析装置。
- 前記差分情報は、前記実プロセッサが用いるアドレス値と前記ターゲットプロセッサが用いるアドレス値とを置き換える置き換え情報を含む請求項1から3のいずれか記載の回路解析装置。
- 前記プロセッサ情報は、前記論理回路がアクセスする外部メモリの情報を含む請求項1から4のいずれか記載の回路解析装置。
- 前記解析部は、前記論理回路が前記外部メモリへアクセスするアクセス頻度を解析する請求項5記載の回路解析装置。
- 前記解析部は、前記論理回路が前記ターゲットプロセッサが備える前記内部メモリ及び前記内部キャッシュの少なくとも一つへアクセスするアクセス頻度を解析する請求項3記載の回路解析装置。
- 前記解析部は、前記論理回路と前記ターゲットプロセッサとが通信する通信頻度を解析する請求項1から7のいずれか記載の回路解析装置。
- 前記解析部は、前記ターゲットプロセッサの処理負荷及び前記ターゲットプロセッサの消費電力を解析する請求項1から8のいずれか記載の回路解析装置。
- 前記解析部が解析した結果を表示する表示部を更に備える請求項1から9のいずれか記載の回路解析装置。
- 実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶し、
前記実プロセッサ上での前記実行オブジェクトの動作により、前記論理回路の機能に基づいた動作であって、ターゲットプロセッサと協調した動作を解析し、
前記解析においては、プロセッサ情報を用い、
前記プロセッサ情報は、前記実プロセッサの動作仕様と前記ターゲットプロセッサの動作仕様との差分情報を含む回路解析方法。 - 前記差分情報は、前記実プロセッサの命令コードと前記ターゲットプロセッサの命令コードとを置き換える置き換え情報を含む請求項11記載の回路解析方法。
- 前記解析においては、前記論理回路と前記ターゲットプロセッサとが通信する通信頻度を解析する請求項11記載の回路解析方法。
- 実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶し、
前記実プロセッサ上での前記実行オブジェクトの動作により、前記論理回路の機能に基づいた動作であって、ターゲットプロセッサと協調した動作を解析し、
前記解析においては、プロセッサ情報を用い、
前記プロセッサ情報は、前記実プロセッサの動作仕様と前記ターゲットプロセッサの動作仕様との差分情報を含む、コンピュータ上で動作する回路解析プログラム。 - 前記差分情報は、前記実プロセッサの命令コードと前記ターゲットプロセッサの命令コードとを置き換える置き換え情報を含む請求項14記載の回路解析プログラム。
- 実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶する第1記憶部と、
前記実プロセッサ上での前記実行オブジェクトの動作により、前記論理回路の機能に基づいた動作であって、ターゲットプロセッサと協調した動作を解析する解析部と、
前記解析部が使用するプロセッサ情報を記憶する第2記憶部を備え、
前記プロセッサ情報は、前記実プロセッサの動作仕様と前記ターゲットプロセッサの動作仕様との差分情報を含む回路シミュレータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006335917A JP2007213556A (ja) | 2006-01-11 | 2006-12-13 | 回路解析装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006003810 | 2006-01-11 | ||
JP2006335917A JP2007213556A (ja) | 2006-01-11 | 2006-12-13 | 回路解析装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007213556A true JP2007213556A (ja) | 2007-08-23 |
Family
ID=38491892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006335917A Pending JP2007213556A (ja) | 2006-01-11 | 2006-12-13 | 回路解析装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007213556A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157909A (ja) * | 2007-12-05 | 2009-07-16 | Fujitsu Ltd | 消費電力見積プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、消費電力見積装置、および消費電力見積方法 |
JP2010020767A (ja) * | 2008-07-09 | 2010-01-28 | Arm Ltd | データ処理装置の監視およびその監視データの集計 |
JP2011529218A (ja) * | 2008-07-23 | 2011-12-01 | マイクロ モーション インコーポレイテッド | 外部メモリーへのアクセスを制御する処理システム |
JP2013065069A (ja) * | 2011-09-15 | 2013-04-11 | Nec Corp | 半導体回路性能見積装置、その方法及びそのプログラム |
JP2014013605A (ja) * | 2013-09-18 | 2014-01-23 | Micro Motion Inc | 外部メモリーへのアクセスを制御する処理システム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05158740A (ja) * | 1991-12-09 | 1993-06-25 | Matsushita Electric Ind Co Ltd | 計算機性能評価装置 |
JPH08305583A (ja) * | 1995-05-08 | 1996-11-22 | N Ii C Joho Syst:Kk | Cpuシミュレーション方法 |
JPH11161692A (ja) * | 1997-11-28 | 1999-06-18 | Matsushita Electric Ind Co Ltd | 消費電力のシミュレーション方法 |
JP2001222561A (ja) * | 2000-02-07 | 2001-08-17 | Mitsubishi Electric Corp | 論理設計装置及び消費電力測定方法 |
-
2006
- 2006-12-13 JP JP2006335917A patent/JP2007213556A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05158740A (ja) * | 1991-12-09 | 1993-06-25 | Matsushita Electric Ind Co Ltd | 計算機性能評価装置 |
JPH08305583A (ja) * | 1995-05-08 | 1996-11-22 | N Ii C Joho Syst:Kk | Cpuシミュレーション方法 |
JPH11161692A (ja) * | 1997-11-28 | 1999-06-18 | Matsushita Electric Ind Co Ltd | 消費電力のシミュレーション方法 |
JP2001222561A (ja) * | 2000-02-07 | 2001-08-17 | Mitsubishi Electric Corp | 論理設計装置及び消費電力測定方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157909A (ja) * | 2007-12-05 | 2009-07-16 | Fujitsu Ltd | 消費電力見積プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、消費電力見積装置、および消費電力見積方法 |
JP2010020767A (ja) * | 2008-07-09 | 2010-01-28 | Arm Ltd | データ処理装置の監視およびその監視データの集計 |
US9858169B2 (en) | 2008-07-09 | 2018-01-02 | Arm Limited | Monitoring a data processing apparatus and summarising the monitoring data |
JP2011529218A (ja) * | 2008-07-23 | 2011-12-01 | マイクロ モーション インコーポレイテッド | 外部メモリーへのアクセスを制御する処理システム |
JP2013065069A (ja) * | 2011-09-15 | 2013-04-11 | Nec Corp | 半導体回路性能見積装置、その方法及びそのプログラム |
JP2014013605A (ja) * | 2013-09-18 | 2014-01-23 | Micro Motion Inc | 外部メモリーへのアクセスを制御する処理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110078388A1 (en) | Facilitating memory accesses | |
JP2014519079A (ja) | ユーザインターフェースおよび入力制御を適応させる方法 | |
WO2014035463A1 (en) | System and methods for generating and managing a virtual device | |
US20110016455A1 (en) | Power Profiling for Embedded System Design | |
CN113010945A (zh) | Bim模型的联动方法及系统 | |
JP2007286671A (ja) | ソフトウェア/ハードウェア分割プログラム、および分割方法。 | |
JP2007213556A (ja) | 回路解析装置 | |
EP3532936B1 (en) | Debugging system and method | |
Dietrich et al. | Managing power for closed-source android os games by lightweight graphics instrumentation | |
TWI604326B (zh) | 基於fpga之系統功率評估裝置與方法 | |
US9152440B2 (en) | User events/behaviors and perceptual computing system emulation | |
US8924788B2 (en) | Replaying architectural execution with a probeless trace capture | |
JP2009075965A (ja) | ソフトウェア開発方法及びソフトウェア開発装置 | |
US10816600B1 (en) | Protocol analysis and visualization during simulation | |
JP2009230677A (ja) | プロパティ生成システムおよびプロパティ検証システム | |
JP4870956B2 (ja) | 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部 | |
US20230114858A1 (en) | Circuit design simulation and clock event reduction | |
US7624362B2 (en) | Circuit analysis device using processor information | |
JPWO2019092849A1 (ja) | シミュレーション装置、シミュレーション方法およびシミュレーションプログラム | |
JP2012048660A (ja) | 静的解析処理システム、方法、およびプログラム | |
JP6934044B2 (ja) | ハイブリッド命令アーキテクチャのテスト | |
Schumacher et al. | A software/hardware platform for rapid prototyping of video and multimedia designs | |
US10157164B2 (en) | Hierarchical synthesis of computer machine instructions | |
JP2006146710A (ja) | 消費電力見積もり装置、消費電力見積もり方法、消費電力見積もりプログラムおよび記録媒体 | |
US20090259977A1 (en) | Assessing Resources Required to Complete a VLSI Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090723 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110209 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110907 |