JP2013117800A - Data processing device and control method thereof - Google Patents

Data processing device and control method thereof Download PDF

Info

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
Application number
JP2011264165A
Other languages
Japanese (ja)
Other versions
JP5850724B2 (en
Inventor
Masato Uchihara
正人 内原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011264165A priority Critical patent/JP5850724B2/en
Publication of JP2013117800A publication Critical patent/JP2013117800A/en
Application granted granted Critical
Publication of JP5850724B2 publication Critical patent/JP5850724B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable easy obtainment of information on memory access needed for evaluating performance of a data processing device such as a system LSI, at actual machine evaluation.SOLUTION: A CPU 110 controls a whole system. Access to common memory 105 is performed from a plurality of bus masters through a system bus 111. A bus arbiter 112 arbitrates data transfer from each bus master to the system bus 111. A clock generation circuit 113 supplies a clock signal to each part. A memory control circuit 120 has a command generation circuit 124 for executing a memory access request from a bus master. A monitor 126 acquires the memory access request and information on an execution cycle, and the information is held by a trace-cue 127, and written in the memory 105 as execution history information by a data writing circuit 128. A changeover circuit 129 switches the output of the command generation circuit 124 and the output of the data writing circuit 128, and outputs to the memory 105.

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 Patent Literature 1 and Patent Literature 2, access time information is acquired together with the data processing access amount of each bus master, and software is modified to optimize system performance, thereby avoiding performance degradation due to system load. A method is disclosed.

特開2009−193093号公報JP 2009-193093 A 特開2010−033496号公報JP 2010-033496 A

しかしながら、従来の技術ではメモリバスのデータ転送効率まで含めたシステム性能の最適化が難しいという問題がある。通常、複数のバスマスタからのメモリアクセス要求が頻繁に発生する状況では、メモリアクセス要求のアドレスやデータ転送方向の前後関係に依存してメモリバス上でのオーバーヘッドが発生し得る。このようなメモリバス上でのオーバーヘッドを低減するためには、バスアービタの優先度設定やリオーダリング処理の動作モード設定といった、メモリアクセス効率に関わるパラメータの調整が必要である。   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.

図2ないし10と併せて本発明の実施形態を説明するために、システムLSIおよび周辺デバイスの概要を例示した図である。FIG. 11 is a diagram illustrating an outline of a system LSI and peripheral devices in order to describe an embodiment of the present invention in conjunction with FIGS. メモリアクセス要求の概要(A)とメモリアクセス履歴の概要(B)を説明する図である。It is a figure explaining the outline | summary (A) of a memory access request, and the outline | summary (B) of a memory access history. メモリアクセス履歴ファイルの概要を説明する図である。It is a figure explaining the outline | summary of a memory access history file. システム性能測定処理の流れを例示するフローチャートである。It is a flowchart which illustrates the flow of a system performance measurement process. モニタ動作の概要を例示するフローチャートである。It is a flowchart which illustrates the outline | summary of a monitor operation | movement. データ書き出し処理の概要を例示するフローチャートである。It is a flowchart which illustrates the outline | summary of a data write-out process. 性能評価対象となるデータ処理に関与する回路部とメモリを示した図である。It is the figure which showed the circuit part and memory which are concerned in the data processing used as performance evaluation object. メモリアクセス履歴ファイルの説明図である。It is explanatory drawing of a memory access history file. メモリアクセス指標データから得られる、各データ処理の起動および終了時間とバス帯域の推移を例示した図である。It is the figure which illustrated transition of the starting and ending time of each data processing and bus band obtained from memory access index data. メモリアクセス効率を改善した場合における、各データ処理の起動および終了時間とバス帯域の推移を例示した図である。It is the figure which illustrated transition of the starting and end time of each data processing, and a bus band when memory access efficiency is improved.

以下に、本発明の実施形態に係るデータ処理装置を、添付図面に基づいて詳細に説明する。
図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 system LSI 100 is connected to various devices (see reference numerals 101 to 104) via an I / O (input / output) port 107. A ROM (read only memory) 101 is a storage means for storing a control program, and is connected to a ROM control circuit 114. A serial port 102 for communicating with a host PC (personal computer) 402 is connected to an interface (hereinafter abbreviated as IF) control circuit 115. The image data generation device 103 is a device that supplies image data to the system LSI 100, and is connected to the image processing circuit 116. The memory card 104 is a storage device that stores image data and the like, and is connected to the memory card control circuit 118. Further, the system LSI 100 is connected to an external shared memory (hereinafter simply referred to as a memory) 105 via a memory bus 106.

システムLSI100は、システム全体を制御するCPU(中央演算処理装置)110を備える。CPU110は、システムバス111を介して、バスアービタ112、クロック生成回路113、メモリ制御回路120に接続されている。クロック生成回路113はシステムLSI100の各モジュールおよび外部デバイスにクロック信号を供給するモジュールである。   The system LSI 100 includes a CPU (Central Processing Unit) 110 that controls the entire system. The CPU 110 is connected to the bus arbiter 112, the clock generation circuit 113, and the memory control circuit 120 via the system bus 111. The clock generation circuit 113 is a module that supplies a clock signal to each module of the system LSI 100 and an external device.

複数のバスマスタとして、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 IF control circuit 115, an image processing circuit 116, a data compression circuit 117, and a memory card control circuit 118 are connected to the system bus 111. The ROM control circuit 114 is a module that controls data transfer between the CPU 110 and the ROM 101. The IF control circuit 115 is a module that controls data transfer between the CPU 110 and the serial port 102. The image processing circuit 116 is a module that processes image data input from the image data generation device 103. The data compression circuit 117 is a module that compresses the size of the image data processed by the image processing circuit 116. The memory card control circuit 118 is a module that controls data transfer to the memory card 104. Note that these bus masters incorporate a DMA (Direct Memory Access) controller, and can issue a memory access request to the memory control circuit 120 without intervention of the CPU 110. The bus arbiter 112 is a bus arbitration unit that arbitrates data transfer from the bus master to the system bus 111, and can change the priority of access right issuance to each bus master under the control of the CPU 110.

メモリ制御回路120は、メモリアクセス要求を実行するためのモジュールとして、バスIF121、アドレスデコーダ122、コマンド・キュー123、コマンド生成回路124、データ・キュー125を内蔵する。バスIF121はシステムバス111との間でデータ転送を制御する。アドレスデコーダ122はバスIF121から取得したメモリアクセス要求のアドレスを、メモリ105のバンク、ロウ、カラムアドレスの構成に応じてデコード処理する。コマンド・キュー123はアドレスデコーダ122から取得したメモリアクセス要求をメモリアクセス実行まで保持し、保持しているメモリアクセス要求の実行順序を変更するリオーダリング処理の機能を備える。コマンド生成回路124はコマンド・キュー123の先頭に保持されているメモリアクセス要求をDRAMコマンドに変換し、メモリバス106上でのデータ転送を実行する。データ・キュー125はバスIF121から取得したデータをメモリアクセスの実行時点まで一時的に保持する。コマンド生成回路124はデータ・キュー125に保持されたデータの転送処理を行う。   The memory control circuit 120 includes a bus IF 121, an address decoder 122, a command queue 123, a command generation circuit 124, and a data queue 125 as modules for executing a memory access request. The bus IF 121 controls data transfer with the system bus 111. The address decoder 122 decodes the address of the memory access request acquired from the bus IF 121 according to the configuration of the bank, row, and column addresses of the memory 105. The command queue 123 has a function of a reordering process that holds the memory access request acquired from the address decoder 122 until the memory access is executed and changes the execution order of the held memory access request. The command generation circuit 124 converts a memory access request held at the head of the command queue 123 into a DRAM command, and executes data transfer on the memory bus 106. The data queue 125 temporarily holds the data acquired from the bus IF 121 until the memory access execution time. The command generation circuit 124 performs transfer processing of data held in the data queue 125.

さらに、メモリ制御回路120は、メモリアクセス要求の実行履歴を示す情報をメモリ105に書き出すためのモジュールとして、モニタ126、トレース・キュー127、データ書き出し回路128を内蔵する。モニタ126はコマンド・キュー123の先頭に保持されているメモリアクセス要求の情報をサンプリングによって抽出するとともに、メモリアクセスの実行サイクルをカウントする。トレース・キュー127はモニタ126がサンプリングで抽出したメモリアクセス要求の情報と、実行サイクルのカウント値を保持する。データ書き出し回路128はトレース・キュー127に保持されたメモリアクセス要求の実行履歴情報を、定期的にメモリ105に書き出す処理を実行する。切り替え回路129は、コマンド生成回路124およびデータ書き出し回路128とメモリバス106との間で信号入出力制御を排他的に切り替える。レジスタ130はメモリ制御回路120内の各モジュールの動作モードやステータスを管理する。   Furthermore, the memory control circuit 120 includes a monitor 126, a trace queue 127, and a data write circuit 128 as modules for writing information indicating the execution history of the memory access request to the memory 105. The monitor 126 extracts memory access request information held at the head of the command queue 123 by sampling and counts memory access execution cycles. The trace queue 127 holds memory access request information extracted by sampling by the monitor 126 and the count value of the execution cycle. The data write circuit 128 executes a process of periodically writing the memory access request execution history information held in the trace queue 127 to the memory 105. The switching circuit 129 exclusively switches signal input / output control among the command generation circuit 124, the data writing circuit 128, and the memory bus 106. The register 130 manages the operation mode and status of each module in the memory control circuit 120.

図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 command queue 123 according to this embodiment.
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 memory 105
・ 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 trace queue 127 according to this embodiment.
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 memory 105
・ 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 memory 105 by the data writing circuit 128. FIG. 3 shows the history information about the memory address (Address) and the ID, DIR, BANK, ROW, SIZE, and CYCLE. The bit size of each element of the file is ID: 2 bits, DIR: 1 bit, BANK: 2 bits, ROW: 10 bits, SIZE: 8 bits, CYCLE: 9 bits in total, and the history information is address 0x10000 Are stored every 4 bytes. A sampling end code (all bits “1”) indicating the end of data is inserted at the end of the history file. Note that the bit sizes of these elements are merely examples, and may be defined with different numbers of bits when applying the present invention.

次に、本実施形態におけるシステム性能評価の実施環境を説明する。
システム性能評価ボードには、図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 system LSI 100 shown in FIG. 1 and various external devices. The host PC 402 communicates with the CPU 110 of the system performance evaluation board via the serial cable 403. As a flow of the system performance evaluation process, first, the CPU 110 executes a performance measurement program built in the ROM 101 in accordance with an instruction from the host PC 402. After execution of the performance measurement program is completed, the host PC 402 refers to the history file written to the memory 105 and calculates various memory access index data related to memory access efficiency (see Tables 1 to 6 described later). Based on the memory access index data, the system performance can be optimized by adjusting the setting values of the parameters related to the memory access efficiency.

図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 CPU 110 in accordance with the performance measurement program. The CPU 110 starts execution of the performance measurement program built in the ROM 101 in response to an instruction from the host PC 402.
First, in S501, the CPU 110 sets the sampling start and end conditions of the memory access request by the monitor 126 in the register 130 as a start address value and an end address value, respectively. In step S <b> 502, the CPU 110 sets the value of the start address when the data writing circuit 128 writes the contents of the trace queue 127 to the memory 105 in the register 130. In S <b> 503, the CPU 110 sets an access right assignment priority in accordance with the data transfer amount of each bus master in a control register (not shown) of the bus arbiter 112. In step S <b> 504, the CPU 110 sets the operation mode of the reordering process of the command queue 123 in the register 130 of the memory control circuit 120.
As for the values set by the CPU 110 in the processing of S501 to S504 described above, there are a method of setting by describing in a program built in the ROM 101 in advance and a method of setting by directly inputting values from the host PC 402.

S505でCPU110は、性能評価の対象となるデータ処理プログラムを実行し、データ処理プログラムの実行完了を待つ(S506)。S507でCPU110は、メモリ105に書き出された履歴ファイルの情報を参照して、サンプリング終了コードが書き出されたアドレス値を確認する。S508でCPU110は、ホストPC402の表示部の画面に、S503、S504で設定したパラメータの値を表示させる制御を行う。S509でCPU110は、ホストPC402の表示部の画面に、履歴ファイルが格納されているメモリのアドレス領域を表示させる制御を行う。該アドレス領域は、S502で設定したデータ書き出し先のアドレス値から開始し、サンプリング終了コードのアドレス値で終了する領域である。そして、処理が終了する。   In S505, the CPU 110 executes a data processing program to be performance evaluation target and waits for completion of the data processing program (S506). In S507, the CPU 110 refers to the history file information written in the memory 105, and confirms the address value where the sampling end code is written. In step S508, the CPU 110 performs control to display the parameter values set in steps S503 and S504 on the screen of the display unit of the host PC 402. In step S509, the CPU 110 performs control to display the address area of the memory in which the history file is stored on the screen of the display unit of the host PC 402. The address area starts from the address value of the data write destination set in S502 and ends with the address value of the sampling end code. Then, the process ends.

次に、図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 monitor 126 will be described using the flowchart of FIG. The monitor 126 starts operation in response to sampling start and end settings (see S501 in FIG. 4) from the CPU 110. Here, the sampling start condition and the end condition are specified by the CPU 110 using address values.
First, in S601, the monitor 126 refers to the memory access request stored at the head of the command queue 123, and determines whether or not the sampling start condition is met. If the acquired memory access request does not meet the sampling start condition, the monitor 126 repeats the determination process of S601 in order to wait until the next memory access request is updated. If the memory access request matches the sampling start condition, the process proceeds to S602, and the monitor 126 acquires information on the memory access request (see FIG. 2A). In S603, the monitor 126 counts the number of execution cycles until the next memory access request is updated. In S604, the monitor 126 stores the memory access request information and the count value (see FIG. 2B) acquired in the trace queue 127 as a memory access history. In step S <b> 605, the monitor 126 determines whether the memory access history information stored in the trace queue 127 matches the sampling end condition. If it is determined that the sampling end condition is met, the process proceeds to S606, a process for adding a sampling end code to the trace queue 127 is executed, and then the series of processes is ended. If the memory access history information does not match the sampling end condition in S605, the monitor 126 waits until the next memory access request is updated, and returns to S602 to repeat the processing.

次に、図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 circuit 128 of FIG. 1 will be described using the flowchart of FIG. The data write circuit 128 receives the setting of the data write destination address from the CPU 110 (see S502 in FIG. 4) and starts its operation.
First, in step S <b> 701, the data writing circuit 128 monitors the memory bus 106 and waits until the command generation circuit 124 issues a refresh command to the memory 105. In step S <b> 702, the data writing circuit 128 controls the clock generation circuit 113 to stop supplying the clock signal to each module except for the data writing circuit 128, the trace queue 127, the switching circuit 129, and the memory 105. In subsequent S 703, the switching circuit 129 switches to a state in which the input signal from the data writing circuit 128 is selected, and sends the output of the data writing circuit 128 to the memory 105. That is, the data write circuit 128 writes the contents of the trace queue 127 to the area of the designated memory address. After completion of the data writing process, in step S704, the data writing circuit 128 updates the address value of the data writing destination to the memory 105 in preparation for the next data writing process. In step S <b> 705, the data writing circuit 128 issues a refresh command to the memory 105, and the switching circuit 129 returns to a state in which the signal from the command generation circuit 124 is selected. In S706, the data writing circuit 128 controls the clock generation circuit 113 to restart the supply of the clock signal to each part of the system LSI 100 and the external device.
The processes from S701 to S705 are repeatedly executed until the sampling end code is written in the memory 105.

上記のようにクロック信号の供給停止および再開を行う前には、データ書き出し回路128がメモリ105に対してリフレッシュコマンドを発行し、コマンド発行後のメモリバス106のアイドル期間中にクロック生成回路113を制御する。これにより、メモリ105へのデータ書き出しによってコマンド生成回路124とメモリ105と間でのステートの不一致が生じないように防止できる。   Before stopping and restarting the supply of the clock signal as described above, the data write circuit 128 issues a refresh command to the memory 105, and the clock generation circuit 113 is activated during the idle period of the memory bus 106 after the command is issued. Control. As a result, it is possible to prevent a state mismatch between the command generation circuit 124 and the memory 105 due to data writing to the memory 105.

次に、図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 image processing circuit 116 to the bank 1 of the memory 105 (hereinafter referred to as process 1).
(2) The image compression circuit 117 reads the image data written in the bank 1 from the bank 1, performs the data compression process, and then writes the data to the bank 2 of the memory 105 (hereinafter referred to as process 2). ).
(3) A process in which the memory card control circuit 118 reads the compressed data written in the bank 2 by the data compression circuit 117 from the bank 2 in order to save it in the memory card 104 (hereinafter referred to as process 3).
As described above, in processing 1, only writing to bank 1 is performed, in processing 2, reading from bank 1 and writing to bank 2 are performed, and in processing 3, only reading from bank 2 is performed.

図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 memory 105 when the performance measurement program is executed in the data processing of FIG. FIG. 8 shows memory address (Address) and history information of the ID, DIR, BANK, ROW, SIZE, and CYCLE. Here, in order to make it easy to identify the value of each element, the bus master identifier ID is represented by alphabets [A, B, C, D]. The data transfer direction specifier DIR is represented by the symbol [W, R], “W” indicates writing, and “R” indicates reading. T0, T1, and T2 represent the start times of process 1, process 2, and process 3, respectively. T3, T4, and T5 represent the end times of process 1, process 2, and process 3, respectively. Each data processing section is represented by “TX-TY”, and “X” and “Y” are variables representing integer values.

下表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.

Figure 2013117800
表1は、各データ処理区間および全区間における実行サイクル数を示す。これらの値は、データ転送方向(リード/ライト)別に全てのバスマスタ分のCYCLE値を積算することによって算出される。
Figure 2013117800
Table 1 shows the number of execution cycles in each data processing section and all sections. These values are calculated by accumulating CYCLE values for all bus masters for each data transfer direction (read / write).

Figure 2013117800
表2は、各データ処理区間および全区間における各バスマスタのデータ転送方向(リード/ライト)別のメモリアクセス回数を示す。これらの値は、前記のIDとDIRのパターンを積算することにより算出される。
Figure 2013117800
Table 2 shows the number of memory accesses by data transfer direction (read / write) of each bus master in each data processing section and in all sections. These values are calculated by integrating the ID and DIR patterns.

Figure 2013117800
表3は、各データ処理区間および全区間における各バスマスタのデータ転送量を示す。これらの値は、データ転送方向(リード/ライト)別にバスマスタ毎のSIZE値を積算することにより算出される。
Figure 2013117800
Table 3 shows the data transfer amount of each bus master in each data processing section and all sections. These values are calculated by integrating the SIZE values for each bus master for each data transfer direction (read / write).

Figure 2013117800
表4は、各データ処理区間および全区間におけるバスマスタ毎に割り当てられたバス帯域を示す。これらの値は、データ転送方向(リード/ライト)別にバスマスタ毎のデータ転送量をアクセス回数で除算することにより算出される。
Figure 2013117800
Table 4 shows the bus bandwidth assigned to each data processing section and for each bus master in all sections. These values are calculated by dividing the data transfer amount for each bus master by the number of accesses for each data transfer direction (read / write).

Figure 2013117800
表5は、各データ処理区間および全区間におけるメモリアクセス要求のアクセスパターン(バンク、ロウアドレスの遷移)を示す。これらの値は、読み出した前後のメモリアクセス履歴からBANK、ROWの値についての遷移パターンを積算することにより算出される。
Figure 2013117800
Table 5 shows access patterns (transitions of banks and row addresses) of memory access requests in each data processing section and all sections. These values are calculated by accumulating the transition patterns for the BANK and ROW values from the memory access history before and after reading.

Figure 2013117800
表6は、各データ処理区間および全区間におけるメモリアクセス要求のデータ転送方向(リード/ライト)の遷移パターンを示す。これらの値は、読み出した前後のメモリアクセス履歴からDIRの値についての遷移パターンを積算することにより算出される。
Figure 2013117800
Table 6 shows transition patterns in the data transfer direction (read / write) of memory access requests in each data processing section and in all sections. These values are calculated by accumulating transition patterns for DIR values from the memory access history before and after reading.

以上のようにして得られた各種メモリアクセス指標データの集計結果から、ユーザは意図したデータ処理が目標性能に達したか否かについて、詳細に確認できる。例えば、表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 processes 1 to 3 with the horizontal axis as the time axis. FIG. 9B is a diagram showing a temporal change accompanying the transition from processing 1 to 3 with the horizontal axis representing the time axis and the vertical axis representing the bus bandwidth data. These graphs are displayed on the screen of the display unit of the host PC 402, and the user can identify that the section with low memory access efficiency and long data processing time is “T2-T3” by looking at the graph. By optimizing the bus arbiter 112 priority setting and reordering processing mode while referring to the access pattern and R / W transition pattern in the section “T2-T3”, the system performance is improved by improving the memory access efficiency. Improved. FIGS. 10A and 10B show a case where the memory access efficiency is improved in the section “T2-T3”, and the horizontal axis and the vertical axis are as described in FIGS. 9A and 9B, respectively. It is. As can be seen from the comparison with FIG. 9, the time required for the processing 1 to 3 is shortened, and the level of the bus band is increased in the section “T2-T3”.

本実施形態では、システム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 memory 106 memory bus 110 CPU
112 Bus Arbiter 113 Clock Generation Circuit 120 Memory Control Circuit 124 Command Generation Circuit 126 Monitor 127 Trace Queue 128 Data Write Circuit 129 Switching Circuit

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.
前記モニタ手段は、前記中央演算処理手段からアドレス値を用いて指定される、メモリアクセス要求の取得に係る開始条件および終了条件に従って、前記メモリアクセス要求の情報を取得し、前記保持手段に前記実行履歴を示す情報を出力することを特徴とする請求項2記載のデータ処理装置。   The monitoring unit acquires the memory access request information according to a start condition and an end condition related to acquisition of the memory access request specified by using an address value from the central processing unit, and executes the execution to the holding unit 3. The data processing apparatus according to claim 2, wherein information indicating a history is output. 前記データ書き出し手段は、前記中央演算処理手段から指定されるデータ書き出しの開始アドレスに従って前記メモリへの書き出し処理を行うことを特徴とする請求項2または3記載のデータ処理装置。   4. The data processing apparatus according to claim 2, wherein the data writing unit performs a writing process to the memory in accordance with a data writing start address designated by the central processing unit. 前記データ書き出し手段は、前記メモリへのリフレッシュコマンドの発行後における前記メモリバスのアイドル期間中に、前記クロック生成手段を制御して前記モジュールへのクロック信号の供給停止を指示した後で前記メモリへのデータ書き出し処理を行うことを特徴とする請求項2から4のいずれか1項記載のデータ処理装置。   The data writing means controls the clock generation means during the idle period of the memory bus after issuing a refresh command to the memory and instructs the module to stop supplying a clock signal to the memory. 5. The data processing apparatus according to claim 2, wherein the data writing process is performed. システム全体の制御を行う中央演算処理手段と複数のバスマスタを備え、システムバスおよびメモリバスを介して共有のメモリにアクセスするデータ処理装置にて実行される制御方法であって、
前記バスマスタからシステムバスへのデータ転送を調停するバス調停ステップと、
前記データ処理装置を構成する各モジュールへクロック信号を供給するクロック生成ステップと、
前記バスマスタからのメモリアクセス要求を実行するメモリ制御ステップを有し、
前記メモリ制御ステップは、
前記メモリアクセス要求からコマンドを生成し、切り替え手段によって選択された当該コマンドを、前記メモリバスを介して前記メモリに出力するコマンド生成ステップと、
前記メモリアクセス要求の実行履歴を示す情報を生成し、前記切り替え手段によって選択された当該情報を、前記メモリバスを介して前記メモリへ書き出すデータ書き出しステップを有することを特徴とするデータ処理装置の制御方法。
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.
JP2011264165A 2011-12-02 2011-12-02 Data processing apparatus and control method thereof Expired - Fee Related JP5850724B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271288A (en) * 2017-07-17 2019-01-25 展讯通信(上海)有限公司 Performance estimating method before processor silicon

Citations (2)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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