JP2013117800A - Data processing device and control method thereof - Google Patents
Data processing device and control method thereof Download PDFInfo
- Publication number
- JP2013117800A JP2013117800A JP2011264165A JP2011264165A JP2013117800A JP 2013117800 A JP2013117800 A JP 2013117800A JP 2011264165 A JP2011264165 A JP 2011264165A JP 2011264165 A JP2011264165 A JP 2011264165A JP 2013117800 A JP2013117800 A JP 2013117800A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bus
- data
- memory access
- access request
- 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.)
- Granted
Links
Images
Landscapes
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、システムLSIなどのデータ処理装置の性能を評価する技術に関し、特にメモリアクセス効率の最適化に関するものである。 The present invention relates to a technique for evaluating the performance of a data processing apparatus such as a system LSI, and more particularly to optimization of memory access efficiency.
バス上での転送制御を行う複数のバスマスタがシステムバスを介してメインメモリであるDRAM(Dynamic Random Access Memory)にアクセスする共有メモリ構成のシステムLSIが知られている。各バスマスタからのメモリアクセス要求はメモリ制御回路によって処理される。メモリ制御回路はメモリバスに接続されたDRAMとの間でデータ転送を実行する。複数のバスマスタからメモリアクセス要求が同時に発生した場合、システムバスを監視するバスアービタは、予め決められた優先順位に従ってアクセス権を制御する。システムバスのデータ転送効率を高めるために、メモリ制御回路にコマンド・キューを設け、複数のメモリアクセス要求を保持する構成が一般的に用いられる。またメモリバスのデータ転送効率を高めるために、コマンド・キューに保持されたメモリアクセス要求の実行順序を並べ替えるリオーダリング処理が知られている。 A system LSI having a shared memory configuration in which a plurality of bus masters that perform transfer control on a bus accesses a DRAM (Dynamic Random Access Memory) as a main memory via a system bus is known. Memory access requests from each bus master are processed by the memory control circuit. The memory control circuit executes data transfer with the DRAM connected to the memory bus. When memory access requests are simultaneously generated from a plurality of bus masters, the bus arbiter that monitors the system bus controls the access right according to a predetermined priority order. In order to increase the data transfer efficiency of the system bus, a configuration in which a command queue is provided in the memory control circuit to hold a plurality of memory access requests is generally used. In order to increase the data transfer efficiency of the memory bus, a reordering process is known in which the execution order of memory access requests held in the command queue is rearranged.
上記のような共有メモリ構成のシステムLSIにおいて、システムの性能を最適化するためには各バスマスタに対して適切にバス帯域を割り当てる必要がある。特に、バスマスタから複数のメモリアクセス要求が同時に発生している状況において、局所的なメモリアクセスの集中により性能が低下しないようにシステムを制御する技術が知られている。特許文献1や特許文献2には、各バスマスタのデータ処理のアクセス量とともに、アクセス時間の情報を取得し、ソフトウェアを修正してシステム性能を最適化することで、システム負荷による性能劣化を回避する方法が開示されている。
In a system LSI having a shared memory configuration as described above, it is necessary to appropriately allocate a bus band to each bus master in order to optimize the system performance. In particular, in a situation where a plurality of memory access requests are simultaneously generated from a bus master, a technique for controlling a system so that performance is not deteriorated due to local concentration of memory access is known. In
しかしながら、従来の技術ではメモリバスのデータ転送効率まで含めたシステム性能の最適化が難しいという問題がある。通常、複数のバスマスタからのメモリアクセス要求が頻繁に発生する状況では、メモリアクセス要求のアドレスやデータ転送方向の前後関係に依存してメモリバス上でのオーバーヘッドが発生し得る。このようなメモリバス上でのオーバーヘッドを低減するためには、バスアービタの優先度設定やリオーダリング処理の動作モード設定といった、メモリアクセス効率に関わるパラメータの調整が必要である。 However, the conventional technology has a problem that it is difficult to optimize the system performance including the data transfer efficiency of the memory bus. Normally, in a situation where memory access requests from a plurality of bus masters are frequently generated, overhead on the memory bus may occur depending on the address of the memory access request and the context of the data transfer direction. In order to reduce the overhead on the memory bus, it is necessary to adjust parameters related to memory access efficiency such as priority setting of the bus arbiter and operation mode setting of the reordering process.
従来、メモリアクセス効率に関わるパラメータの調整については、論理シミュレーションや、性能評価ボードを用いた実機評価により行われてきた。しかし、論理シミュレーションでは実行に時間がかかるため、全ての条件を評価することが難しい。また実機評価ではシステムLSI内部の挙動を観測できないので、メモリアクセス効率までをも考慮した設定値の調整が困難であった。そこで補完的な技術としてロジック・アナライザーを用いて性能評価ボード上のメモリバスを直接観測する方法が知られている。この方法は、近年多用されているシステムLSIとDRAMを1つのパッケージに実装したPOP(Package On Package)構造では信号観測が困難になっている。 Conventionally, adjustment of parameters related to memory access efficiency has been performed by logic simulation or actual machine evaluation using a performance evaluation board. However, since it takes time to execute in the logic simulation, it is difficult to evaluate all the conditions. In addition, since the internal behavior of the system LSI cannot be observed in the actual machine evaluation, it is difficult to adjust the setting value considering the memory access efficiency. Therefore, as a complementary technique, a method of directly observing the memory bus on the performance evaluation board using a logic analyzer is known. In this method, signal observation is difficult in a POP (Package On Package) structure in which a system LSI and a DRAM, which are widely used in recent years, are mounted in one package.
本発明は、システムLSIなどのデータ処理装置の性能評価に必要なメモリアクセスに関する情報を実機評価にて容易に取得できるようにすることを目的とする。 An object of the present invention is to make it possible to easily acquire information related to memory access necessary for performance evaluation of a data processing apparatus such as a system LSI by actual machine evaluation.
上記課題を解決するために本発明に係る装置は、システム全体の制御を行う中央演算処理手段と複数のバスマスタを備え、システムバスおよびメモリバスを介して共有のメモリにアクセスするデータ処理装置であって、前記バスマスタからシステムバスへのデータ転送を調停するバス調停手段と、前記データ処理装置を構成する各モジュールへクロック信号を供給するクロック生成手段と、前記バスマスタからのメモリアクセス要求を実行するために前記メモリバスを介して前記メモリに接続されたメモリ制御手段を備える。前記メモリ制御手段は、前記メモリアクセス要求からコマンドを生成するコマンド生成手段と、前記メモリアクセス要求の実行履歴を示す情報を前記メモリへ書き出すデータ書き出し手段と、前記コマンド生成手段の出力と前記データ書き出し手段の出力を切り替えて前記メモリに送出する切り替え手段を備える。 In order to solve the above problems, an apparatus according to the present invention is a data processing apparatus that includes a central processing means for controlling the entire system and a plurality of bus masters, and accesses a shared memory via the system bus and the memory bus. A bus arbitration unit that arbitrates data transfer from the bus master to the system bus, a clock generation unit that supplies a clock signal to each module constituting the data processing device, and a memory access request from the bus master. Memory control means connected to the memory via the memory bus. The memory control means includes a command generation means for generating a command from the memory access request, a data writing means for writing information indicating an execution history of the memory access request to the memory, an output of the command generation means, and the data writing Switching means for switching the output of the means and sending it to the memory is provided.
本発明によれば、メモリアクセス要求をトレースして実行履歴の情報をメモリへ書き出すことによって、データ処理装置の性能評価に必要な情報を取得できる。 According to the present invention, information necessary for performance evaluation of a data processing apparatus can be acquired by tracing a memory access request and writing execution history information to a memory.
以下に、本発明の実施形態に係るデータ処理装置を、添付図面に基づいて詳細に説明する。
図1は本実施形態に関わるシステムLSI(大規模集積回路)および周辺デバイスについて概要を示す図である。
システムLSI100はI/О(入出力)ポート107を介して各種のデバイス(符号101乃至104参照)と接続されている。ROM(読み出し専用メモリ)101は制御プログラムを格納する記憶手段であり、ROM制御回路114に接続されている。ホストPC(パーソナル・コンピュータ)402と通信するためのシリアルポート102は、インターフェース(以下、IFと略記する)制御回路115に接続されている。画像データ生成装置103はシステムLSI100に画像データを供給する装置であり、画像処理回路116に接続されている。メモリカード104は画像データなどを保存する記憶デバイスであり、メモリカード制御回路118に接続されている。さらにシステムLSI100はメモリバス106を介して外部の共有メモリ(以下、単にメモリという)105に接続されている。
Hereinafter, a data processing apparatus according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
FIG. 1 is a diagram showing an overview of a system LSI (large scale integrated circuit) and peripheral devices according to this embodiment.
The
システムLSI100は、システム全体を制御するCPU(中央演算処理装置)110を備える。CPU110は、システムバス111を介して、バスアービタ112、クロック生成回路113、メモリ制御回路120に接続されている。クロック生成回路113はシステムLSI100の各モジュールおよび外部デバイスにクロック信号を供給するモジュールである。
The
複数のバスマスタとして、ROM制御回路114、IF制御回路115、画像処理回路116、データ圧縮回路117、メモリカード制御回路118がシステムバス111に接続されている。ROM制御回路114はCPU110とROM101との間でデータ転送を制御するモジュールである。IF制御回路115はCPU110とシリアルポート102との間でデータ転送を制御するモジュールである。画像処理回路116は画像データ生成装置103から入力される画像データを処理するモジュールである。データ圧縮回路117は画像処理回路116で処理された画像データのサイズを圧縮するモジュールである。メモリカード制御回路118はメモリカード104へのデータ転送を制御するモジュールである。尚、これらのバスマスタはDMA(Direct Memory Access)コントローラを内蔵しており、CPU110の介在なしにメモリ制御回路120へのメモリアクセス要求を発行できる。またバスアービタ112はバスマスタからシステムバス111へのデータ転送を調停するバス調停手段であり、CPU110からの制御により、各バスマスタへのアクセス権発行の優先度を変更できる。
As a plurality of bus masters, a ROM control circuit 114, an
メモリ制御回路120は、メモリアクセス要求を実行するためのモジュールとして、バスIF121、アドレスデコーダ122、コマンド・キュー123、コマンド生成回路124、データ・キュー125を内蔵する。バスIF121はシステムバス111との間でデータ転送を制御する。アドレスデコーダ122はバスIF121から取得したメモリアクセス要求のアドレスを、メモリ105のバンク、ロウ、カラムアドレスの構成に応じてデコード処理する。コマンド・キュー123はアドレスデコーダ122から取得したメモリアクセス要求をメモリアクセス実行まで保持し、保持しているメモリアクセス要求の実行順序を変更するリオーダリング処理の機能を備える。コマンド生成回路124はコマンド・キュー123の先頭に保持されているメモリアクセス要求をDRAMコマンドに変換し、メモリバス106上でのデータ転送を実行する。データ・キュー125はバスIF121から取得したデータをメモリアクセスの実行時点まで一時的に保持する。コマンド生成回路124はデータ・キュー125に保持されたデータの転送処理を行う。
The
さらに、メモリ制御回路120は、メモリアクセス要求の実行履歴を示す情報をメモリ105に書き出すためのモジュールとして、モニタ126、トレース・キュー127、データ書き出し回路128を内蔵する。モニタ126はコマンド・キュー123の先頭に保持されているメモリアクセス要求の情報をサンプリングによって抽出するとともに、メモリアクセスの実行サイクルをカウントする。トレース・キュー127はモニタ126がサンプリングで抽出したメモリアクセス要求の情報と、実行サイクルのカウント値を保持する。データ書き出し回路128はトレース・キュー127に保持されたメモリアクセス要求の実行履歴情報を、定期的にメモリ105に書き出す処理を実行する。切り替え回路129は、コマンド生成回路124およびデータ書き出し回路128とメモリバス106との間で信号入出力制御を排他的に切り替える。レジスタ130はメモリ制御回路120内の各モジュールの動作モードやステータスを管理する。
Furthermore, the
図2(A)は本実施形態に係るコマンド・キュー123に保持されるメモリアクセス要求について概要を例示した図である。
メモリアクセス要求は、以下に示す情報を含む。
・バスマスタの識別子ID
・メモリ105に対するデータ転送方向(リードまたはライト)を示す指定子DIR
・アクセス先のバンクアドレスを示す指定子BANK
・アクセス先のロウアドレスを示す指定子ROW
・アクセス先のカラムアドレスを示す指定子COL
・データ転送サイズを示すSIZE。
FIG. 2A is a diagram illustrating an outline of a memory access request held in the
The memory access request includes the following information.
-Bus master identifier ID
A specifier DIR indicating the data transfer direction (read or write) to the
・ Specifier BANK indicating the bank address of the access destination
・ Specifier ROW indicating the row address of the access destination
-A specifier COL indicating the column address of the access destination
-SIZE indicating the data transfer size.
図2(B)は本実施形態に係るトレース・キュー127に保持されるメモリアクセス履歴について概要を例示した図である。
メモリアクセス履歴は、以下の情報を含む。
・バスマスタの識別子ID
・メモリ105に対するデータ転送方向(リードまたはライト)を示す指定子DIR
・アクセス先のバンクアドレスを示す指定子BANK
・アクセス先のロウアドレスを示す指定子ROW
・データ転送サイズを示すSIZE
・データ転送に要した実行サイクル数を示すCYCLE。
FIG. 2B is a diagram illustrating an outline of the memory access history held in the
The memory access history includes the following information.
-Bus master identifier ID
A specifier DIR indicating the data transfer direction (read or write) to the
・ Specifier BANK indicating the bank address of the access destination
・ Specifier ROW indicating the row address of the access destination
-SIZE indicating the data transfer size
• CYCLE indicating the number of execution cycles required for data transfer.
図3は、データ書き出し回路128によってメモリ105に書き出されるメモリアクセス履歴情報ファイル(以下、単に履歴ファイルという)について概要を示す。図3には、メモリアドレス(Address)と前記のID,DIR,BANK,ROW,SIZE,CYCLEについての各履歴情報を示す。ファイルの各要素のビットサイズは、ID:2ビット、DIR:1ビット、BANK:2ビット、ROW:10ビット、SIZE:8ビット、CYCLE:9ビットの合計32ビットであり、履歴情報はアドレス0x10000から4バイトおきに保存される。履歴ファイルの最後にはデータの終了を示すサンプリング終了コード(全ビット‘1’)が挿入される。なお、これら要素の各ビットサイズは例示であって、本発明を適用するにあたって、異なるビット数で定義してもよい。
FIG. 3 shows an outline of a memory access history information file (hereinafter simply referred to as a history file) written to the
次に、本実施形態におけるシステム性能評価の実施環境を説明する。
システム性能評価ボードには、図1で示したシステムLSI100と各種の外部デバイスが搭載されている。ホストPC402は、シリアルケーブル403を介して、システム性能評価ボードのCPU110と通信を行う。システム性能評価処理の流れとしては、まず、ホストPC402の指示に従って、CPU110がROM101に内蔵された性能測定プログラムを実行する。性能測定プログラムの実行が完了した後、ホストPC402はメモリ105に書き出された履歴ファイルを参照し、メモリアクセス効率に関わる各種メモリアクセス指標データを算出する(後述の表1ないし6参照)。このメモリアクセス指標データを基に、メモリアクセス効率に関わるパラメータの設定値を調整することで、システム性能の最適化が図られる。
Next, an implementation environment for system performance evaluation in the present embodiment will be described.
The system performance evaluation board includes the
図4はCPU110が性能測定プログラムに従って実行する処理例を示すフローチャートである。CPU110はホストPC402からの指示によりROM101に内蔵された性能測定プログラムの実行を開始させる。
まず、S501でCPU110は、モニタ126によるメモリアクセス要求のサンプリング開始および終了条件を開始アドレス値および終了アドレス値としてそれぞれレジスタ130に設定する。続いてS502でCPU110は、データ書き出し回路128がトレース・キュー127の内容をメモリ105に書き出す際の開始アドレスの値をレジスタ130に設定する。S503でCPU110は、バスアービタ112の図示しない制御レジスタに、各バスマスタのデータ転送量に応じたアクセス権割り当ての優先度を設定する。S504でCPU110は、メモリ制御回路120のレジスタ130に、コマンド・キュー123のリオーダリング処理の動作モードを設定する。
以上のS501からS504の処理でCPU110が設定する値については、予めROM101に内蔵されたプログラムに記述して設定する方法と、ホストPC402から直接的に値を入力して設定する方法がある。
FIG. 4 is a flowchart showing an example of processing executed by the
First, in S501, the
As for the values set by the
S505でCPU110は、性能評価の対象となるデータ処理プログラムを実行し、データ処理プログラムの実行完了を待つ(S506)。S507でCPU110は、メモリ105に書き出された履歴ファイルの情報を参照して、サンプリング終了コードが書き出されたアドレス値を確認する。S508でCPU110は、ホストPC402の表示部の画面に、S503、S504で設定したパラメータの値を表示させる制御を行う。S509でCPU110は、ホストPC402の表示部の画面に、履歴ファイルが格納されているメモリのアドレス領域を表示させる制御を行う。該アドレス領域は、S502で設定したデータ書き出し先のアドレス値から開始し、サンプリング終了コードのアドレス値で終了する領域である。そして、処理が終了する。
In S505, the
次に、図5のフローチャートを用いて、モニタ126の動作概要を説明する。モニタ126は、CPU110からのサンプリング開始および終了設定(図4のS501参照)を受けて動作を開始する。ここでサンプリング開始条件および終了条件についてはCPU110からアドレス値を用いて指定される。
まずS601でモニタ126は、コマンド・キュー123の先頭に格納されたメモリアクセス要求を参照し、サンプリング開始条件に合致するか否かを判定する。取得したメモリアクセス要求がサンプリング開始条件に合致しない場合、モニタ126は次のメモリアクセス要求の更新まで待機するために、S601の判定処理を繰り返す。また、メモリアクセス要求がサンプリング開始条件に合致する場合、S602に処理を進め、モニタ126はメモリアクセス要求の情報(図2(A)参照)を取得する。S603でモニタ126は、次のメモリアクセス要求の更新までの実行サイクル数をカウントする。S604でモニタ126は、トレース・キュー127に取得したメモリアクセス要求の情報とカウント値(図2(B)参照)をメモリアクセス履歴として保存する。S605でモニタ126は、トレース・キュー127に保存したメモリアクセス履歴の情報がサンプリング終了条件に合致するか否かを判定する。サンプリング終了条件との合致が判定された場合、S606に処理を進め、トレース・キュー127にサンプリング終了コードを追加する処理が実行された後、一連の処理を終了する。S605でメモリアクセス履歴の情報がサンプリング終了条件に合致しない場合、モニタ126は次のメモリアクセス要求の更新まで待機し、S602に戻って処理を繰り返す。
Next, an outline of the operation of the
First, in S601, the
次に、図6のフローチャートを用いて、図1のデータ書き出し回路128の動作について概要を説明する。データ書き出し回路128はCPU110からのデータ書き出し先アドレスの設定(図4のS502参照)を受けて動作を開始する。
まずS701でデータ書き出し回路128は、メモリバス106を監視し、コマンド生成回路124からのメモリ105へのリフレッシュコマンド発行までの間、待機する。S702でデータ書き出し回路128はクロック生成回路113を制御して、データ書き出し回路128、トレース・キュー127、切り替え回路129およびメモリ105を除いた、各モジュールへのクロック信号の供給を停止させる。続くS703にて、切り替え回路129は、データ書き出し回路128からの入力信号を選択する状態に切り替え、データ書き出し回路128の出力をメモリ105に送出する。つまり、データ書き出し回路128はトレース・キュー127の内容を指定されたメモリアドレスの領域に書き出す。データ書き出し処理の完了後、S704でデータ書き出し回路128は、次回のデータ書き出し処理に備えて、メモリ105へのデータ書き出し先のアドレス値を更新する。S705でデータ書き出し回路128は、メモリ105にリフレッシュコマンドを発行し、切り替え回路129はコマンド生成回路124からの信号を選択する状態に戻す。S706でデータ書き出し回路128は、クロック生成回路113を制御してシステムLSI100の各部および外部デバイスへのクロック信号の供給を再開させる。
以上のS701からS705までの処理については、サンプリング終了コードがメモリ105に書き出されるまでの間、繰り返し実行される。
Next, an outline of the operation of the data write
First, in step S <b> 701, the
The processes from S701 to S705 are repeatedly executed until the sampling end code is written in the
上記のようにクロック信号の供給停止および再開を行う前には、データ書き出し回路128がメモリ105に対してリフレッシュコマンドを発行し、コマンド発行後のメモリバス106のアイドル期間中にクロック生成回路113を制御する。これにより、メモリ105へのデータ書き出しによってコマンド生成回路124とメモリ105と間でのステートの不一致が生じないように防止できる。
Before stopping and restarting the supply of the clock signal as described above, the data write
次に、図7に示すデータ処理を例にして、履歴ファイルからメモリアクセス効率に関わる各種メモリアクセス指標データを算出する処理について説明する。図7のデータ処理例では、画像データ1枚分について以下の3つの処理が並列に実行される。
(1)画像処理回路116からメモリ105のバンク1に画像データを書き込む処理(以下、処理1とする)。
(2)画像処理回路116がバンク1に書き込んだ画像データを、データ圧縮回路117がバンク1から読み出してデータ圧縮処理を施した後、メモリ105のバンク2へ書き出す処理(以下、処理2とする)。
(3)データ圧縮回路117がバンク2へ書き込んだ圧縮データを、メモリカード104に保存する為にメモリカード制御回路118がバンク2から読み出す処理(以下、処理3とする)。
このように、処理1ではバンク1への書き込みだけが行われ、処理2ではバンク1からの読み出しおよびバンク2への書き込みが行われ、処理3ではバンク2からの読み出しだけが行われる。
Next, processing for calculating various memory access index data related to memory access efficiency from a history file will be described using the data processing shown in FIG. 7 as an example. In the data processing example of FIG. 7, the following three processes are executed in parallel for one piece of image data.
(1) A process of writing image data from the
(2) The
(3) A process in which the memory
As described above, in
図8は図7のデータ処理にて性能測定プログラムを実行した場合にメモリ105に書き出される履歴ファイルの情報を例示する。図8には、メモリアドレス(Address)と前記のID,DIR,BANK,ROW,SIZE,CYCLEの各履歴情報を示す。ここでは各要素の値を識別し易くするため、バスマスタ識別子IDをアルファベット[A,B,C,D]で表記している。また、データ転送方向の指定子DIRについては[W,R]の記号で表記し、“W”は書き込みを示し、“R”は読み出しを示す。T0,T1,T2は、処理1、処理2、処理3の開始時刻をそれぞれ表し、T3,T4,T5は処理1、処理2、処理3の終了時刻をそれぞれ表す。各データ処理区間を“TX-TY”で表記し、“X”および“Y”は整数値を表す変数である。
FIG. 8 illustrates the history file information written to the
下表1から6は、履歴ファイルから算出されるメモリアクセス指標データを例示し、各データ処理区間(T0-T1,T1-T2,T2-T3,T3-T4,T4-T5)および全区間(T0-T5)についての算出結果を示す。下記に示す値は、各データ処理区間でのメモリアクセス履歴の情報を読み出して、所定の演算により集計することで得られる。 Tables 1 to 6 below illustrate memory access index data calculated from the history file. Each data processing section (T0-T1, T1-T2, T2-T3, T3-T4, T4-T5) and all sections ( The calculation results for T0-T5) are shown. The values shown below are obtained by reading out memory access history information in each data processing section and totaling it by a predetermined calculation.
以上のようにして得られた各種メモリアクセス指標データの集計結果から、ユーザは意図したデータ処理が目標性能に達したか否かについて、詳細に確認できる。例えば、表1に例示した実行サイクル数の算出結果より、全区間あるいはユーザの着目するデータ処理区間での実行サイクル数が目標とする範囲内に収まっているか否かについて判定できる。また、その他のメモリアクセス指標データと併せて詳細な解析を行うことで、メモリアクセス効率を含めたシステム性能の最適化を図ることができる。 From the total result of various memory access index data obtained as described above, the user can confirm in detail whether or not the intended data processing has reached the target performance. For example, from the calculation result of the number of execution cycles illustrated in Table 1, it can be determined whether or not the number of execution cycles in the entire section or the data processing section of interest of the user is within the target range. In addition, by performing detailed analysis together with other memory access index data, it is possible to optimize system performance including memory access efficiency.
図9は、表1に例示した実行サイクル数のデータと、表4に例示したバス帯域のデータに基づいて、データ処理毎の開始時刻および終了時刻と、バス帯域の時間的変化をグラフ化したものである。図9(A)は、横軸を時間軸として前記の処理1から3に要した処理時間を表した図である。図9(B)は、横軸に時間軸をとり、縦軸にバス帯域のデータをとって処理1から3の推移に伴う時間的変化を表した図である。これらのグラフは、ホストPC402の表示部の画面に表示され、ユーザはグラフを見て、メモリアクセス効率が低く、かつデータ処理時間の長い区間が“T2-T3”であることを特定できる。バスアービタ112の優先度設定やリオーダリング処理のモードについて、“T2-T3”の区間でのアクセスパターンやR/W遷移パターンを参照しながら最適化することで、メモリアクセス効率の向上によりシステム性能が改善される。図10(A)および(B)は、“T2-T3”の区間でメモリアクセス効率を改善した場合を示し、横軸および縦軸についてはそれぞれ図9(A)および(B)で説明した通りである。図9との比較から分かるように、処理1ないし3に要する時間が短縮され、“T2-T3”の区間でバス帯域のレベルが高くなっている。
FIG. 9 is a graph of the start time and end time for each data processing and the time variation of the bus bandwidth based on the data of the number of execution cycles exemplified in Table 1 and the data of the bus bandwidth exemplified in Table 4. Is. FIG. 9A is a diagram showing the processing time required for the
本実施形態では、システムLSIの実機評価にてメモリアクセスに関連する履歴情報を容易に取得でき、また取得したパラメータの解析により、メモリアクセス効率に関わるパラメータ設定の最適化が可能となる。すなわち、メモリアクセス効率について改善の余地があるデータ処理区間について、前記パラメータの調整により、システム全体の性能を向上させることができる。 In the present embodiment, history information related to memory access can be easily acquired by evaluating the actual device of the system LSI, and parameter settings related to memory access efficiency can be optimized by analyzing the acquired parameters. That is, the performance of the entire system can be improved by adjusting the parameters for the data processing section where there is room for improvement in memory access efficiency.
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
100 システムLSI
105 メモリ
106 メモリバス
110 CPU
112 バスアービタ
113 クロック生成回路
120 メモリ制御回路
124 コマンド生成回路
126 モニタ
127 トレース・キュー
128 データ書き出し回路
129 切り替え回路
100 system LSI
105
112
Claims (6)
前記バスマスタからシステムバスへのデータ転送を調停するバス調停手段と、
前記データ処理装置を構成する各モジュールへクロック信号を供給するクロック生成手段と、
前記バスマスタからのメモリアクセス要求を実行するために前記メモリバスを介して前記メモリに接続されたメモリ制御手段を備え、
前記メモリ制御手段は、
前記メモリアクセス要求からコマンドを生成するコマンド生成手段と、
前記メモリアクセス要求の実行履歴を示す情報を前記メモリへ書き出すデータ書き出し手段と、
前記コマンド生成手段の出力と前記データ書き出し手段の出力を切り替えて前記メモリに送出する切り替え手段を備えることを特徴とするデータ処理装置。 A data processing apparatus comprising a central processing means for controlling the entire system and a plurality of bus masters, and accessing a shared memory via a system bus and a memory bus,
Bus arbitration means for arbitrating data transfer from the bus master to the system bus;
Clock generation means for supplying a clock signal to each module constituting the data processing device;
Memory control means connected to the memory via the memory bus for executing a memory access request from the bus master;
The memory control means includes
Command generating means for generating a command from the memory access request;
Data writing means for writing information indicating an execution history of the memory access request to the memory;
A data processing apparatus comprising switching means for switching the output of the command generation means and the output of the data writing means and sending them to the memory.
前記メモリアクセス要求および実行サイクル数の情報を取得するモニタ手段と、
前記モニタ手段が取得したメモリアクセス要求および実行サイクル数の情報を、前記実行履歴を示す情報として格納する保持手段を備え、
前記切り替え手段によって選択された前記データ書き出し手段は、前記メモリバスを介して前記保持手段のデータを前記メモリへ出力することを特徴とする請求項1記載のデータ処理装置。 The memory control means includes
Monitoring means for obtaining information on the memory access request and the number of execution cycles;
Holding means for storing information on the memory access request and the number of execution cycles acquired by the monitoring means as information indicating the execution history;
2. The data processing apparatus according to claim 1, wherein the data writing unit selected by the switching unit outputs the data of the holding unit to the memory via the memory bus.
前記バスマスタからシステムバスへのデータ転送を調停するバス調停ステップと、
前記データ処理装置を構成する各モジュールへクロック信号を供給するクロック生成ステップと、
前記バスマスタからのメモリアクセス要求を実行するメモリ制御ステップを有し、
前記メモリ制御ステップは、
前記メモリアクセス要求からコマンドを生成し、切り替え手段によって選択された当該コマンドを、前記メモリバスを介して前記メモリに出力するコマンド生成ステップと、
前記メモリアクセス要求の実行履歴を示す情報を生成し、前記切り替え手段によって選択された当該情報を、前記メモリバスを介して前記メモリへ書き出すデータ書き出しステップを有することを特徴とするデータ処理装置の制御方法。 A control method that is executed in a data processing device that includes a central processing unit that controls the entire system and a plurality of bus masters, and that accesses a shared memory via a system bus and a memory bus,
A bus arbitration step for arbitrating data transfer from the bus master to the system bus;
A clock generation step of supplying a clock signal to each module constituting the data processing device;
A memory control step of executing a memory access request from the bus master;
The memory control step includes
A command generation step of generating a command from the memory access request and outputting the command selected by the switching means to the memory via the memory bus;
Control of a data processing apparatus comprising a data writing step of generating information indicating an execution history of the memory access request and writing the information selected by the switching means to the memory via the memory bus Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011264165A JP5850724B2 (en) | 2011-12-02 | 2011-12-02 | Data processing apparatus and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011264165A JP5850724B2 (en) | 2011-12-02 | 2011-12-02 | Data processing apparatus and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013117800A true JP2013117800A (en) | 2013-06-13 |
JP5850724B2 JP5850724B2 (en) | 2016-02-03 |
Family
ID=48712342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011264165A Expired - Fee Related JP5850724B2 (en) | 2011-12-02 | 2011-12-02 | Data processing apparatus and control method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5850724B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271288A (en) * | 2017-07-17 | 2019-01-25 | 展讯通信(上海)有限公司 | Performance estimating method before processor silicon |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11242637A (en) * | 1998-02-25 | 1999-09-07 | Matsushita Electric Ind Co Ltd | Lsi memory cell monitoring device |
JP2000132430A (en) * | 1998-10-20 | 2000-05-12 | Matsushita Electric Ind Co Ltd | Signal processor |
-
2011
- 2011-12-02 JP JP2011264165A patent/JP5850724B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11242637A (en) * | 1998-02-25 | 1999-09-07 | Matsushita Electric Ind Co Ltd | Lsi memory cell monitoring device |
JP2000132430A (en) * | 1998-10-20 | 2000-05-12 | Matsushita Electric Ind Co Ltd | Signal processor |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271288A (en) * | 2017-07-17 | 2019-01-25 | 展讯通信(上海)有限公司 | Performance estimating method before processor silicon |
CN109271288B (en) * | 2017-07-17 | 2021-09-21 | 展讯通信(上海)有限公司 | Method for evaluating performance of processor before silicon |
Also Published As
Publication number | Publication date |
---|---|
JP5850724B2 (en) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9824004B2 (en) | Methods and apparatuses for requesting ready status information from a memory | |
CN100592271C (en) | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine | |
JP2006195823A (en) | Dma device | |
JP4499008B2 (en) | DMA transfer system | |
KR20130065957A (en) | Control apparatus of memory and control method thereof, and recording medium storing program for executing method of the same in computer | |
JP5850724B2 (en) | Data processing apparatus and control method thereof | |
TWI474254B (en) | Method and apparatus for executing commands in a memory system and data storage system | |
JP5651622B2 (en) | Data transmission apparatus, data transmission method, and program | |
US9767054B2 (en) | Data transfer control device and memory-containing device | |
CN101939733A (en) | External device access apparatus, control method thereof, and system lsi | |
CN115599719A (en) | FIFO interface multichannel DMA controller based on FPGA | |
JP5505192B2 (en) | Competitive test equipment | |
JP5245620B2 (en) | Computer system | |
JP2015156196A (en) | microcomputer | |
JP2005165508A (en) | Direct memory access controller | |
JP6223637B2 (en) | Simulation apparatus, simulation method, and simulation program | |
JP6089492B2 (en) | SYSTEM CONTROL DEVICE, INFORMATION PROCESSING SYSTEM, SYSTEM CONTROL DEVICE CONTROL METHOD, AND SYSTEM CONTROL DEVICE CONTROL PROGRAM | |
KR101414453B1 (en) | Control apparatus of memory and control method thereof, and recording medium storing program for executing method of the same in computer | |
KR102668599B1 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
JP5632997B2 (en) | Image processing device | |
JP5123255B2 (en) | Architecture verification device | |
KR100748715B1 (en) | Hardware task management system | |
JP2014206951A (en) | Integrated circuit device | |
KR20210011451A (en) | Embedded scheduling of hardware resources for hardware acceleration | |
JP2018180966A (en) | Information processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151001 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151102 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151201 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5850724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |