JP5445385B2 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
JP5445385B2
JP5445385B2 JP2010173474A JP2010173474A JP5445385B2 JP 5445385 B2 JP5445385 B2 JP 5445385B2 JP 2010173474 A JP2010173474 A JP 2010173474A JP 2010173474 A JP2010173474 A JP 2010173474A JP 5445385 B2 JP5445385 B2 JP 5445385B2
Authority
JP
Japan
Prior art keywords
data
page
internal memory
read
write
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.)
Expired - Fee Related
Application number
JP2010173474A
Other languages
Japanese (ja)
Other versions
JP2012033085A (en
Inventor
哲夫 平木
晶人 片岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010173474A priority Critical patent/JP5445385B2/en
Publication of JP2012033085A publication Critical patent/JP2012033085A/en
Application granted granted Critical
Publication of JP5445385B2 publication Critical patent/JP5445385B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、CPUに加えて特定の処理を高速に実行するアクセラレータを含むデータ処理装置に関する。   The present invention relates to a data processing apparatus including an accelerator that executes specific processing at high speed in addition to a CPU.

CPU、ROM、RAMなどのモジュールを接続したデータ処理装置(コンピュータシステム)およびそれらの機能を1チップに搭載した大規模SoC(シリコン・オン・チップ)では、アクセラレータ(Accelerator)を組み合わせることが行われる。アクセラレータは、画像処理などの特定の処理を高速に実行するように設計された専用のプロセッサであり、CPUの負担を軽減して特定の処理を実行する場合の処理速度を向上する。   In a data processing apparatus (computer system) connected with modules such as a CPU, ROM, and RAM, and a large-scale SoC (silicon-on-chip) in which those functions are mounted on one chip, an accelerator is combined. . The accelerator is a dedicated processor designed to execute specific processing such as image processing at high speed, and reduces processing load on the CPU to improve processing speed when executing specific processing.

アクセラレータなどのマスタ動作を行うマスタ動作モジュールの記憶領域に対するアクセス方法(プロトコル)が、CPUなどの他の要素のアクセスプロトコルと相違する場合がある。このような場合、マスタ動作モジュールは、NAND ROMなどで構成される外部メモリなどの通常の記憶領域に直接アクセスすることができない。   An access method (protocol) for a storage area of a master operation module that performs a master operation such as an accelerator may be different from an access protocol of another element such as a CPU. In such a case, the master operation module cannot directly access a normal storage area such as an external memory constituted by a NAND ROM or the like.

このような場合、CPU(Central Processing Unit)やDMAC(Direct Memory Access Control)などの外部メモリに対してアクセスを行うことが可能なモジュールがマスタとなって対象データを外部メモリから、専用の内部メモリ領域に転送する方式が取られる。以下、アクセラレータをマスタ動作モジュールとして使用し、DMACがデータ転送を行う例を説明するが、これに限定されないのはいうまでもない。   In such a case, a module capable of accessing an external memory such as a CPU (Central Processing Unit) or DMAC (Direct Memory Access Control) serves as a master to transfer target data from the external memory to a dedicated internal memory. A method of transferring to an area is taken. Hereinafter, an example in which an accelerator is used as a master operation module and the DMAC performs data transfer will be described, but it is needless to say that the present invention is not limited to this.

図1は、このようなアクセス方式を実行するデータ処理装置の構成とデータのアクセス経路を示す図である。   FIG. 1 is a diagram showing a configuration of a data processing apparatus that executes such an access method and a data access path.

図1に示すように、データ処理装置10は、内部バス11と、CPU12と、DMAC13と、アクセラレータ(ACC)14と、内部メモリ15と、メモリコントローラ16と、を有する。データ処理装置10は、例えばSoCチップとして実現される。図1では、外部に設けられる動作用メモリ17がデータ処理装置10の内部バス11に接続されるが、動作用メモリ17をSoCチップ内に設けることもある。   As shown in FIG. 1, the data processing apparatus 10 includes an internal bus 11, a CPU 12, a DMAC 13, an accelerator (ACC) 14, an internal memory 15, and a memory controller 16. The data processing device 10 is realized as an SoC chip, for example. In FIG. 1, an operation memory 17 provided externally is connected to the internal bus 11 of the data processing apparatus 10, but the operation memory 17 may be provided in the SoC chip.

以下、データ処理装置10をSoCチップとして実現した例を説明する。しかし、データ処理装置10は、CPU12と、DMAC13と、アクセラレータ(ACC)14と、内部メモリ15と、メモリコントローラ16の各モジュールを内部バス11に対応する配線で接続する形で実現することも可能である。   Hereinafter, an example in which the data processing device 10 is realized as an SoC chip will be described. However, the data processing apparatus 10 can also be realized by connecting the modules of the CPU 12, the DMAC 13, the accelerator (ACC) 14, the internal memory 15, and the memory controller 16 with wiring corresponding to the internal bus 11. It is.

外部メモリ18は、ACC14で処理するデータを記憶したメモリであり、メモリコントローラ16に接続される。ACC14のアクセスプロトコルは、外部メモリ18のアクセスプロトコルと異なるため、ACC14は外部メモリ18に直接アクセスすることはできない。図1の例では、DMAC13がメモリコントローラ16を介して外部メモリ18からデータを読出し、内部メモリ15にシーケンシャルなアドレスで展開して、アクセラレータ14がアクセス可能な形で書き込む。ACC14は、内部メモリ15に記憶されたデータを読み取る。   The external memory 18 is a memory that stores data to be processed by the ACC 14 and is connected to the memory controller 16. Since the access protocol of the ACC 14 is different from the access protocol of the external memory 18, the ACC 14 cannot directly access the external memory 18. In the example of FIG. 1, the DMAC 13 reads data from the external memory 18 via the memory controller 16, expands the internal memory 15 with sequential addresses, and writes the data in a form accessible to the accelerator 14. The ACC 14 reads data stored in the internal memory 15.

しかし、この方式では、アクセラレータ(ACC)14の処理に必要なデータ全てを内部メモリ15に転送する必要があり、データ処理装置10に必要なメモリ容量が増加してしまう、という問題があった。   However, this method has a problem that it is necessary to transfer all data necessary for the processing of the accelerator (ACC) 14 to the internal memory 15 and the memory capacity necessary for the data processing device 10 increases.

そこで、内部メモリ15をFIFOメモリで構成することによって内部メモリ15の容量を削減するという手法が使用される。この場合、外部メモリ18から内部メモリ15へのデータ転送が順次行われ、ACC14は内部メモリ15からデータを読み取る。ACC14による読み取りが行われた領域は開放され、その領域に新たなデータ転送が行われる。これにより、転送されたデータは、常に転送順に読み取られ、内部メモリ15の空き容量を埋めるように順次データが転送される。   Therefore, a method of reducing the capacity of the internal memory 15 by configuring the internal memory 15 with a FIFO memory is used. In this case, data transfer from the external memory 18 to the internal memory 15 is sequentially performed, and the ACC 14 reads data from the internal memory 15. The area read by the ACC 14 is released, and new data is transferred to that area. Thereby, the transferred data is always read in the order of transfer, and the data is sequentially transferred so as to fill the free space in the internal memory 15.

しかし、このFIFOメモリを使用した方式では、アクセラレータは、転送されたデータをすべて順番にアクセスする必要があり、画像処理などで途中のデータを飛ばして必要なデータにアクセスすることができない。言い換えれば、アクセラレータが必要なデータのみを取得することができない、という問題があった。   However, in the method using the FIFO memory, the accelerator needs to access all the transferred data in order, and cannot access the necessary data by skipping intermediate data in image processing or the like. In other words, there is a problem that the accelerator cannot acquire only necessary data.

特開平11−167480号公報JP-A-11-167480 特開2001−92778号公報JP 2001-92778 A 特表2002−513955号公報JP 2002-513955 A 特開2005−44361号公報JP 2005-44361 A 特開平9−212661号公報JP-A-9-212661 特開平9−198301号公報JP-A-9-198301 特開平7−20833号公報Japanese Patent Laid-Open No. 7-20833

マスタ動作モジュールが、内部メモリにアクセスする場合のアクセス方法を多様化して必要なデータのみを読み取れるようにすると共に、内部メモリの容量を低減することが望まれていた。   It has been desired that the master operation module can read out only necessary data by diversifying the access method when accessing the internal memory and reduce the capacity of the internal memory.

発明の一観点によれば、CPUと、マスタ動作モジュールと、マスタ動作モジュールから直接アクセス可能な内部メモリと、マスタ動作モジュールから直接アクセスできない外部メモリへのアクセスを行い、内部メモリに前記外部メモリに記憶されたデータを転送するデータ転送部と、を備え、内部メモリは、ページ単位で論理的に分割した2以上のページ記憶領域と、データ転送部により外部メモリから転送されたデータを、内部メモリのアドレスに変換して、2以上のページ記憶領域に書き込む書き込みアドレス変換部と、マスタ動作モジュールの読み出し動作に応じて、マスタ動作モジュールの読み出しアドレスを内部メモリのアドレスに変換して、2以上のページ記憶領域に記憶されたデータを読み出す読み出しアドレス変換部と、2以上のページ記憶領域のそれぞれに対応した状態フラグを有する状態遷移制御部と、を備え、読み出しアドレス変換部が書き込みアドレス変換部による書き込みが行われたページ記憶領域に対して読み出し動作を行い、書き込みアドレス変換部が読み出しアドレス変換部による読み出し動作が終了したページ記憶領域に対して書き込み動作を行うように制御することを特徴とするデータ処理装置が提供される。   According to one aspect of the invention, the CPU, the master operation module, the internal memory directly accessible from the master operation module, and the external memory not directly accessible from the master operation module are accessed and stored in the external memory in the external memory. A data transfer unit that transfers the received data, and the internal memory has two or more page storage areas logically divided in units of pages, and the data transferred from the external memory by the data transfer unit is an address of the internal memory And a write address conversion unit for writing to two or more page storage areas, and a read address of the master operation module in accordance with a read operation of the master operation module, converting the read address of the master operation module into an address of the internal memory. A read address conversion unit for reading data stored in the area; A state transition control unit having a state flag corresponding to each of the above page storage areas, and the read address conversion unit performs a read operation on the page storage area written by the write address conversion unit, and performs writing There is provided a data processing device characterized in that the address conversion unit controls to perform a write operation on a page storage area for which the read operation by the read address conversion unit has been completed.

上記の観点によれば、マスタ動作モジュールがアクセスプロトコルの異なるメモリに記憶されたデータを読み取るための内部メモリを小さな容量で実現でき、マスタ動作モジュールアクセス方法を多様化できる。   According to the above aspect, the internal memory for the master operation module to read data stored in memories having different access protocols can be realized with a small capacity, and the master operation module access method can be diversified.

図1は、異なるプロトコルでのアクセスを可能にするために内部メモリを介してアクセスを実効するデータ処理装置の構成とデータのアクセス経路を示す図である。FIG. 1 is a diagram showing a configuration of a data processing apparatus that performs access via an internal memory and data access paths in order to enable access using different protocols. 図2は、第1実施形態のデータ処理装置の構成とデータのアクセス経路を示す図である。FIG. 2 is a diagram illustrating a configuration of the data processing apparatus according to the first embodiment and a data access path. 図3は、第1実施形態における内部メモリの構成を示す図である。FIG. 3 is a diagram showing the configuration of the internal memory in the first embodiment. 図4は、第1実施形態の内部メモリにおいて、DMACがメモリコントローラを介して外部メモリのデータを内部メモリに書き込み、ACCが内部メモリに転送されたデータを読み取るアクセス動作を説明する図である。FIG. 4 is a diagram illustrating an access operation in which the DMAC writes data in the external memory to the internal memory via the memory controller and the ACC reads the data transferred to the internal memory in the internal memory of the first embodiment. 図5は、第1実施形態において、内部メモリのアクセス動作における書き込みデータおよび読み出しデータの変化を示すタイムチャートである。FIG. 5 is a time chart showing changes in write data and read data in the access operation of the internal memory in the first embodiment. 図6は、第1実施形態において、内部メモリコアのページ領域の状態遷移を示す図である。FIG. 6 is a diagram showing a state transition of the page area of the internal memory core in the first embodiment. 図7は、第1実施形態において、DMACにより転送されたデータの内部メモリ(内部メモリコアのページ領域)への書き込み処理を示すフローチャートである。FIG. 7 is a flowchart showing a process of writing data transferred by the DMAC to the internal memory (page area of the internal memory core) in the first embodiment. 図8は、第1実施形態において、ACCにより内部メモリ(内部メモリコアのページ領域)からのデータの読み出し処理を示すフローチャートである。FIG. 8 is a flowchart showing a process of reading data from the internal memory (page area of the internal memory core) by ACC in the first embodiment. 図9は、第2実施形態のデータ処理装置の構成とデータのアクセス経路を示す図である。FIG. 9 is a diagram illustrating the configuration of the data processing apparatus and the data access path according to the second embodiment. 図10は、第2実施形態における内部メモリの構成を示す図である。FIG. 10 is a diagram showing a configuration of the internal memory in the second embodiment. 図11は、第2実施形態の内部メモリにおいて、2個のDMACが、メモリコントローラを介して2個の外部メモリのデータを内部メモリに書き込み、ACCが内部メモリに転送されたデータを読み取るアクセス動作を説明する図である。FIG. 11 shows an access operation in which two DMACs write data of two external memories to the internal memory via the memory controller and ACC reads the data transferred to the internal memory in the internal memory of the second embodiment. FIG. 図12は、第2実施形態において、内部メモリのアクセス動作における書き込みデータおよび読み出しデータの変化を示すタイムチャートである。FIG. 12 is a time chart showing changes in write data and read data in the access operation of the internal memory in the second embodiment. 図13は、第2実施形態において、転送されたデータの内部メモリ(内部メモリコアのページ領域)への書き込み処理を示すフローチャートである。FIG. 13 is a flowchart showing a process of writing the transferred data to the internal memory (page area of the internal memory core) in the second embodiment. 図14は、第3実施形態における内部メモリの構成を示す図である。FIG. 14 is a diagram showing the configuration of the internal memory in the third embodiment. 図15は、第3実施形態の内部メモリにおいて、2個のDMACが、メモリコントローラを介して2個の外部メモリのデータを内部メモリに書き込み、ACCが内部メモリに転送されたデータを読み取るアクセス動作を説明する図である。FIG. 15 shows an access operation in which two DMACs write data in two external memories to the internal memory via the memory controller and ACC reads the data transferred to the internal memory in the internal memory of the third embodiment. FIG. 図16は、第3実施形態において、転送されたデータの内部メモリ(内部メモリコアのページ領域)への書き込み処理を示すフローチャートである。FIG. 16 is a flowchart showing a process of writing transferred data to the internal memory (page area of the internal memory core) in the third embodiment. 図17は、第4実施形態のデータ処理装置の構成とデータのアクセス経路を示す図である。FIG. 17 is a diagram illustrating a configuration of a data processing device and a data access path according to the fourth embodiment. 図18は、第4実施形態における内部メモリの構成を示す図である。FIG. 18 is a diagram showing the configuration of the internal memory in the fourth embodiment. 図19は、第4実施形態の内部メモリにおいて、DMACが、メモリコントローラを介して外部メモリのデータを内部メモリに書き込み、2個のACCが内部メモリに転送されたデータを読み取るアクセス動作を説明する図である。FIG. 19 illustrates an access operation in which the DMAC writes the data in the external memory to the internal memory via the memory controller and the two ACCs read the data transferred to the internal memory in the internal memory of the fourth embodiment. FIG. 図20は、第4実施形態において、内部メモリのアクセス動作における書き込みデータおよび読み出しデータの変化を示すタイムチャートである。FIG. 20 is a time chart showing changes in write data and read data in the access operation of the internal memory in the fourth embodiment. 図21は、第4実施形態において、2個のACCにより内部メモリ(内部メモリコアのページ領域)からのデータの読み出し処理を示すフローチャートである。FIG. 21 is a flowchart showing a process of reading data from the internal memory (page area of the internal memory core) by two ACCs in the fourth embodiment. 図22は、第5実施形態における内部メモリの構成を示す図である。FIG. 22 is a diagram illustrating a configuration of the internal memory according to the fifth embodiment. 図23は、第5実施形態の内部メモリにおいて、DMACが、メモリコントローラを介して外部メモリのデータを内部メモリに書き込み、ACCが内部メモリに転送されたデータを読み取るアクセス動作を説明する図である。FIG. 23 is a diagram illustrating an access operation in which the DMAC writes data in the external memory to the internal memory via the memory controller and the ACC reads the data transferred to the internal memory in the internal memory of the fifth embodiment. . 図24は、第4実施形態において、ACCにより内部メモリ(内部メモリコアのページ領域)からのデータの読み出し処理を示すフローチャートである。FIG. 24 is a flowchart showing a process of reading data from the internal memory (page area of the internal memory core) by ACC in the fourth embodiment. 図20は、第4実施形態において、内部メモリに書き込まれたデータをすべて読み取らずに途中で読み取りを停止した場合も問題を説明するタイムチャートである。FIG. 20 is a time chart for explaining the problem even when reading is stopped halfway without reading all the data written in the internal memory in the fourth embodiment. 図26は、第6実施形態のデータ処理装置の構成とデータのアクセス経路を示す図である。FIG. 26 is a diagram illustrating a configuration of a data processing apparatus and a data access path according to the sixth embodiment. 図27は、第6実施形態における内部メモリの構成を示す図である。FIG. 27 is a diagram showing the configuration of the internal memory in the sixth embodiment. 図28は、第6実施形態において、内部メモリコアのページ領域の状態遷移を示す図である。FIG. 28 is a diagram illustrating state transition of the page area of the internal memory core in the sixth embodiment. 図29は、第6実施形態において、転送されたデータの内部メモリ(内部メモリコアのページ領域)への書き込み処理を示すフローチャートである。FIG. 29 is a flowchart showing a process of writing transferred data to the internal memory (page area of the internal memory core) in the sixth embodiment. 図30は、第6実施形態において、ACCにより内部メモリ(内部メモリコアのページ領域)からのデータの読み出し処理を示すフローチャートである。FIG. 30 is a flowchart showing a process of reading data from the internal memory (page area of the internal memory core) by ACC in the sixth embodiment. 図31は、第6実施形態において、ACCによる読み出し処理が完了した時に行う処理を示すフローチャートである。FIG. 31 is a flowchart illustrating processing performed when the read processing by ACC is completed in the sixth embodiment. 図32は、第7実施形態における内部メモリの構成を示す図である。FIG. 32 is a diagram showing the configuration of the internal memory in the seventh embodiment. 図33は、第7実施形態において、内部メモリコアのページ領域の状態遷移を示す図である。FIG. 33 is a diagram showing state transition of the page area of the internal memory core in the seventh embodiment. 図34は、第7実施形態において、内部メモリのアクセス動作における書き込みデータおよび読み出しデータの変化を示すタイムチャートである。FIG. 34 is a time chart showing changes in write data and read data in the access operation of the internal memory in the seventh embodiment. 図35は、第7実施形態において、ACCにより内部メモリ(内部メモリコアのページ領域)からのデータの読み出し処理を示すフローチャートである。FIG. 35 is a flowchart showing a process of reading data from the internal memory (page area of the internal memory core) by ACC in the seventh embodiment.

図2は、第1実施形態のデータ処理装置10Aの構成とデータのアクセス経路を示す図である。   FIG. 2 is a diagram illustrating a configuration of the data processing apparatus 10A according to the first embodiment and a data access path.

図2に示すように、データ処理装置10Aは、内部バス11と、CPU12と、DMAC13と、アクセラレータ(ACC)14と、メモリコントローラ16と、内部メモリ20Aと、を有する。データ処理装置10Aは、例えばSoCチップとして実現される。図2では、外部に設けられる動作用メモリ17がデータ処理装置10の内部バス11に接続されるが、動作用メモリ17をSoCチップ内に設けてもよい。また、第1実施形態では、データ処理装置10Aを、SoCチップとして実現した例を示したが、データ処理装置10Aは、CPU12と、DMAC13と、アクセラレータ(ACC)14と、メモリコントローラ16と、内部メモリ20Aの各モジュールを内部バス11に対応する配線で接続する形で実現してもよい。   As shown in FIG. 2, the data processing apparatus 10A includes an internal bus 11, a CPU 12, a DMAC 13, an accelerator (ACC) 14, a memory controller 16, and an internal memory 20A. The data processing apparatus 10A is realized as a SoC chip, for example. In FIG. 2, the operation memory 17 provided outside is connected to the internal bus 11 of the data processing apparatus 10, but the operation memory 17 may be provided in the SoC chip. In the first embodiment, the example in which the data processing device 10A is realized as an SoC chip has been described. However, the data processing device 10A includes a CPU 12, a DMAC 13, an accelerator (ACC) 14, a memory controller 16, an internal You may implement | achieve in the form which connects each module of the memory 20A with the wiring corresponding to the internal bus 11. FIG.

外部メモリ18は、ACC14で処理するデータを記憶したメモリであり、メモリコントローラ16に接続される。ACC14のアクセスプロトコルは、外部メモリ18のアクセスプロトコルと異なるため、ACC14は外部メモリ18に直接アクセスすることはできない。第1実施形態のデータ処理装置10Aでは、DMAC13がメモリコントローラ16を介して外部メモリ18からデータを読出し、内部メモリ20Aにシーケンシャルなアドレスで展開して、アクセラレータ14がアクセス可能な形で書き込む。ACC14は、内部メモリ20Aに記憶されたデータを読み取る。なお、DMAC13を使用せずに、CPU12が外部メモリ18のデータを読み出して、内部メモリ20A書き込むことも可能である。   The external memory 18 is a memory that stores data to be processed by the ACC 14 and is connected to the memory controller 16. Since the access protocol of the ACC 14 is different from the access protocol of the external memory 18, the ACC 14 cannot directly access the external memory 18. In the data processing apparatus 10A of the first embodiment, the DMAC 13 reads data from the external memory 18 via the memory controller 16, expands the internal memory 20A with sequential addresses, and writes the data in a form accessible to the accelerator 14. The ACC 14 reads data stored in the internal memory 20A. Note that the CPU 12 can read the data in the external memory 18 and write the data in the internal memory 20A without using the DMAC 13.

内部メモリ20Aは、図2に示すように、内部メモリコア21と、書き込みアドレス変換機構22と、読み出しアドレス変換機構23と、状態遷移制御部24と、を有する。書き込みアドレス変換機構22は、DMAC13が出力する書き込みアドレスを内部メモリコア21のアドレスに変換し、内部メモリコア21の変換したアドレスに、転送された書き込みデータを書き込む。読み出しアドレス変換機構23は、ACC14が出力する読み出しアドレスを内部メモリコア21のアドレスに変換し、内部メモリコア21の変換したアドレスからデータを読み出す。   As shown in FIG. 2, the internal memory 20 </ b> A includes an internal memory core 21, a write address conversion mechanism 22, a read address conversion mechanism 23, and a state transition control unit 24. The write address conversion mechanism 22 converts the write address output from the DMAC 13 into the address of the internal memory core 21 and writes the transferred write data to the converted address of the internal memory core 21. The read address conversion mechanism 23 converts the read address output from the ACC 14 into an address of the internal memory core 21 and reads data from the converted address of the internal memory core 21.

図3は、第1実施形態における内部メモリ20Aの構成を示す図である。   FIG. 3 is a diagram showing a configuration of the internal memory 20A in the first embodiment.

内部メモリコア21は、複数のページ31A〜31Dで構成され、書き込みアドレス変換機構22および読み出しアドレス変換機構23により内部メモリアドレスでアクセスされる。内部コアメモリ21は、後述するように複数(図3では4個)のページ領域31A〜31Dに分割される。各ページ領域は、外からは、独立してアクセス可能であり、あるページ領域に書き込みまたは読み出しを行っている時に、他のページ領域に書き込みまたは読み出しを行うことが可能であるように見える。このような動作が可能なメモリは、高速のアクセス可能なメモリを使用すればバス調停回路などを設けることで実現できるが、例えば、ダブルバッファ構成や2ポートメモリを使用して実現することも可能である。   The internal memory core 21 is composed of a plurality of pages 31 </ b> A to 31 </ b> D, and is accessed by the write address conversion mechanism 22 and the read address conversion mechanism 23 with the internal memory address. The internal core memory 21 is divided into a plurality (four in FIG. 3) of page areas 31A to 31D as will be described later. Each page area can be independently accessed from the outside, and when writing or reading to a certain page area, it seems that writing or reading to another page area is possible. A memory capable of such an operation can be realized by providing a bus arbitration circuit if a high-speed accessible memory is used. For example, a double buffer configuration or a two-port memory can be used. It is.

書き込みアドレス変換機構22は、書き込み動作制御部41と、内部メモリ容量レジスタ42と、ページ容量レジスタ43と、を有する。内部メモリ容量レジスタ42は、内部メモリコア21の全体容量の情報を記憶し、ページ容量レジスタ43は、ページごとの容量の情報を記憶する。例えば、CPU12は、ACC14が処理において使用する容量に応じて内部メモリコア21の値を、ACC14が処理におけるページの大きさに応じてページ容量レジスタ43の値を、決定して設定する。これにより、ハードウェアの再設計を行うこと無しに、ページの大きさやページ数を任意に設定できる。   The write address conversion mechanism 22 includes a write operation control unit 41, an internal memory capacity register 42, and a page capacity register 43. The internal memory capacity register 42 stores information on the entire capacity of the internal memory core 21, and the page capacity register 43 stores information on the capacity of each page. For example, the CPU 12 determines and sets the value of the internal memory core 21 according to the capacity used by the ACC 14 in the process, and the value of the page capacity register 43 according to the page size of the ACC 14 in the process. Thus, the page size and the number of pages can be arbitrarily set without redesigning the hardware.

書き込み動作制御部41は、DMAC13からの書き込みアドレス、内部メモリ容量レジスタ42とページ容量レジスタ43の値、および状態フラグに基づいて、内部メモリ書き込みアドレスを生成して内部メモリコア21に出力する。DMAC13からの書き込みデータは、内部メモリ書き込みアドレスに同期して内部メモリコア21に出力される。さらに、書き込み動作制御部41は、書き込みアドレス、内部メモリ容量レジスタ42とページ容量レジスタ43の値、および状態フラグに基づいて、書き込みページ指示信号、書き込み(Write)通知および書き込み(Write)完了通知を生成して、状態遷移制御部24に出力する。状態フラグは、状態遷移制御部24から出力される。   The write operation control unit 41 generates an internal memory write address based on the write address from the DMAC 13, the values of the internal memory capacity register 42 and the page capacity register 43, and the status flag, and outputs the internal memory write address to the internal memory core 21. Write data from the DMAC 13 is output to the internal memory core 21 in synchronization with the internal memory write address. Further, the write operation control unit 41 sends a write page instruction signal, a write notification and a write completion notification based on the write address, the values of the internal memory capacity register 42 and the page capacity register 43, and the status flag. Generate and output to the state transition control unit 24. The state flag is output from the state transition control unit 24.

読み出しアドレス変換機構23は、読み出し動作制御部51と、内部メモリ容量レジスタ52と、ページ容量レジスタ53と、を有する。内部メモリ容量レジスタ52およびページ容量レジスタ53は、内部メモリ容量レジスタ42およびページ容量レジスタ43と同じ値を記憶しており、省くことも可能である。また、内部メモリ容量レジスタ42と52およびページ容量レジスタ43と53の値が固定であれば、内部メモリ容量レジスタ42と52およびページ容量レジスタ43と53は、設ける必要がない。   The read address conversion mechanism 23 includes a read operation control unit 51, an internal memory capacity register 52, and a page capacity register 53. The internal memory capacity register 52 and the page capacity register 53 store the same values as the internal memory capacity register 42 and the page capacity register 43, and can be omitted. If the values of the internal memory capacity registers 42 and 52 and the page capacity registers 43 and 53 are fixed, the internal memory capacity registers 42 and 52 and the page capacity registers 43 and 53 need not be provided.

読み出し動作制御部41は、ACC14からの読み出しアドレス、内部メモリ容量レジスタ52とページ容量レジスタ53の値、および状態フラグに基づいて、内部メモリ読み出しアドレスを生成して内部メモリコア21に出力する。内部メモリ読み出しアドレスに応じて内部メモリコア21から読み出された読み出したデータは、ACC14へ送信される。さらに、読み出し動作制御部51は、読み出しアドレス、内部メモリ容量レジスタ52とページ容量レジスタ53の値、および状態フラグに基づいて、読み出しページ指示信号、読み出し (Read)通知および読み出し(Read)完了通知を生成して、状態遷移制御部24に出力する。   The read operation control unit 41 generates an internal memory read address based on the read address from the ACC 14, the values of the internal memory capacity register 52 and the page capacity register 53, and the status flag, and outputs the internal memory read address to the internal memory core 21. The read data read from the internal memory core 21 in accordance with the internal memory read address is transmitted to the ACC 14. Further, the read operation control unit 51 sends a read page instruction signal, a read (Read) notification, and a read (Read) completion notification based on the read address, the values of the internal memory capacity register 52 and the page capacity register 53, and the status flag. Generate and output to the state transition control unit 24.

状態遷移制御部24は、内部メモリコア21の複数のページ31A〜31Dに対応してページごとの状態フラグ61A〜61Dを有し、フラグに基づいて内部メモリコア21へのアクセスを制御する。   The state transition control unit 24 has state flags 61A to 61D for each page corresponding to the plurality of pages 31A to 31D of the internal memory core 21, and controls access to the internal memory core 21 based on the flags.

図4は、第1実施形態の内部メモリ20Aにおいて、DMAC13がメモリコントローラ16を介して外部メモリ18のデータを内部メモリ20Aに書き込み、ACC14が内部メモリ20Aに転送されたデータを読み取るアクセス動作を説明する図である。図4では、内部メモリコア21の2ページ分の領域31Aと31Bが使用される例を示している。   FIG. 4 illustrates an access operation in which the DMAC 13 writes the data in the external memory 18 to the internal memory 20A via the memory controller 16 and the ACC 14 reads the data transferred to the internal memory 20A in the internal memory 20A of the first embodiment. It is a figure to do. FIG. 4 shows an example in which the areas 31A and 31B for two pages of the internal memory core 21 are used.

まず、DMAC13による転送動作、すなわち内部メモリ20Aへの書き込み動作を説明する。図4に示すように、外部メモリ18は、ACC14が処理する複数ページ(ここでは8ページ分)のデータを記憶している。DMAC13は、外部メモリ18に記憶されているデータをメモリコントローラ16を介して1ページ目から順番に読み出し、内部メモリ20Aの書き込みアドレス変換機構22にダイレク・メモリ・アクセス(DMAC)で転送する。書き込みアドレス変換機構22は、DMAC13からの書き込みアドレス、内部メモリ容量レジスタ42とページ容量レジスタ43の値、および状態フラグに基づいて、内部メモリ書き込みアドレスに変換するアドレス変換を行う。さらに、書き込みアドレス変換機構22は、内部メモリ書き込みアドレスから、内部メモリコア21内で該当するページ領域を割り出し、そのページの状態フラグの確認を行い、書き込み不可の場合は可能になるまで待機し、書き込み可能な場合は書き込みデータの書き込みを行う。書き込みアドレス変換機構22は、内部メモリコア21の書き込みを行う時には、書き込み(Write)通知を状態遷移制御部24に出力する。さらに、書き込みアドレス変換機構22は、そのページの最終アドレスへの書き込みを行った場合は、書き込み(Write)完了通知を状態遷移制御部24に出力する。状態遷移制御部24は、Write完了通知を受信すると、そのページの状態フラグを”読み出し(Read)待ち”へと遷移させる。図4では、1ページ目の領域31Aの書き込みが完了すると、対応する状態フラグ61Aが、”読み出し(Read)待ち”に遷移する。   First, a transfer operation by the DMAC 13, that is, a write operation to the internal memory 20A will be described. As shown in FIG. 4, the external memory 18 stores data of a plurality of pages (eight pages here) processed by the ACC 14. The DMAC 13 reads the data stored in the external memory 18 in order from the first page via the memory controller 16, and transfers the data to the write address conversion mechanism 22 of the internal memory 20A by direct memory access (DMAC). The write address conversion mechanism 22 performs address conversion to convert to the internal memory write address based on the write address from the DMAC 13, the values of the internal memory capacity register 42 and the page capacity register 43, and the status flag. Further, the write address conversion mechanism 22 determines the corresponding page area in the internal memory core 21 from the internal memory write address, checks the status flag of the page, and waits until it becomes possible if writing is impossible. If writing is possible, write data is written. The write address conversion mechanism 22 outputs a write notification to the state transition control unit 24 when writing to the internal memory core 21. Further, the write address conversion mechanism 22 outputs a write completion notification to the state transition control unit 24 when writing to the final address of the page. When the state transition control unit 24 receives the write completion notification, the state transition control unit 24 transitions the status flag of the page to “waiting for reading”. In FIG. 4, when the writing of the area 31A of the first page is completed, the corresponding status flag 61A transitions to “Read wait”.

その後、DMAC13は、外部メモリ18に記憶されている2ページ目のデータを、メモリコントローラ16を介して読み出し、内部メモリ20Aの書き込みアドレス変換機構22に転送し、上記と同様の処理で内部メモリコア21に書き込む。   Thereafter, the DMAC 13 reads the second page data stored in the external memory 18 via the memory controller 16 and transfers it to the write address conversion mechanism 22 of the internal memory 20A. Write to 21.

一方、ACC14は、1ページ目のデータの内部メモリ20Aへの書き込みが完了すると、1ページ目のデータの内部メモリ20Aからの読み出し動作を開始する。この間、DMAC13は、2ページ目のデータの内部メモリ20Aの書き込みを並行に行う。   On the other hand, when the writing of the data for the first page to the internal memory 20A is completed, the ACC 14 starts the operation of reading the data for the first page from the internal memory 20A. During this time, the DMAC 13 writes the second page data in the internal memory 20A in parallel.

ACC14による内部メモリ20Aからのデータの読み出し動作を説明する。図4に示すように、まずACC14は、読み出しアドレス変換機構23に読み出しアドレスを出力する。読み出しアドレス変換機構23は、ACC14からの読み出しアドレス、内部メモリ容量レジスタ52とページ容量レジスタ53の値、および状態フラグに基づいて、内部メモリ読み出しアドレスに変換するアドレス変換を行う。さらに、読み出しアドレス変換機構23は、内部メモリ読み出しアドレスから、内部メモリコア21内で該当するページ領域を割り出し、そのページの状態フラグの確認を行い、読み出し不可の場合は可能になるまで待機し、読み出し可能な場合はデータの読み出しを行う。読み出しアドレス変換機構23は、内部メモリコア21からデータの読み出しを行う時には、読み出し(Read)通知を状態遷移制御部24に出力する。さらに、読み出しアドレス変換機構23は、そのページの最終アドレスからの読み出しを行った場合は、読み出し(Read)完了通知を状態遷移制御部24に出力する。状態遷移制御部24は、Read完了通知を受信すると、そのページの状態フラグを”書き込み(Write)待ち”へと遷移させる。図4では、1ページ目の領域31Aからのデータの読み出しが完了すると、対応する状態フラグ61Aが、”書き込み(Write)待ち”に遷移する。   A data read operation from the internal memory 20A by the ACC 14 will be described. As shown in FIG. 4, the ACC 14 first outputs a read address to the read address conversion mechanism 23. The read address conversion mechanism 23 performs address conversion for conversion into an internal memory read address based on the read address from the ACC 14, the values of the internal memory capacity register 52 and the page capacity register 53, and the status flag. Further, the read address conversion mechanism 23 determines the corresponding page area in the internal memory core 21 from the internal memory read address, checks the status flag of the page, and if it cannot be read, waits until it becomes possible, If data can be read, data is read. When reading data from the internal memory core 21, the read address conversion mechanism 23 outputs a read notification to the state transition control unit 24. Further, when reading from the final address of the page, the read address conversion mechanism 23 outputs a read completion notification to the state transition control unit 24. When the state transition control unit 24 receives the Read completion notification, the state transition control unit 24 causes the state flag of the page to transition to “Waiting for writing”. In FIG. 4, when the reading of data from the area 31A of the first page is completed, the corresponding status flag 61A transitions to “Waiting for writing”.

その後、ACC14は、内部メモリ20Aに記憶されている2ページ目のデータの読み出し動作を、同様の処理で行う。   Thereafter, the ACC 14 performs the same process for reading data of the second page stored in the internal memory 20A.

図5は、内部メモリ20Aのアクセス動作における書き込みデータおよび読み出しデータの変化を示すタイムチャートである。このタイムチャートは、DMAC13による外部メモリ18から内部メモリ20Aへのデータ転送速度と、ACC14による内部メモリ20Aからの読み出し速度がほぼ等しい場合の動作タイムチャートである。図5において、第1ページ領域および第2ページ領域の単線の四角形は、DMAC13による内部メモリ20Aへの転送データの書き込みを示し、両端が2重線の四角形は、ACC14による内部メモリ20Aからのデータの読み出しを示す。   FIG. 5 is a time chart showing changes in write data and read data in the access operation of the internal memory 20A. This time chart is an operation time chart when the data transfer speed from the external memory 18 to the internal memory 20A by the DMAC 13 and the read speed from the internal memory 20A by the ACC 14 are substantially equal. In FIG. 5, single-line rectangles in the first page area and the second page area indicate writing of transfer data to the internal memory 20A by the DMAC 13, and double-lined rectangles at both ends indicate data from the internal memory 20A by the ACC 14. Read of.

図5に示すように、DMAC13による1ページ目のデータ転送および第1ページ領域31Aへの転送したデータの書き込みが行われる。1ページ目のデータ転送が完了すると、続いてDMAC13による2ページ目のデータ転送および第2ページ領域31Bへの転送したデータの書き込みが行われる。1ページ目のデータ転送が完了した直後(ここでは、2ページ目のデータ転送が開始された後)ACC14による第1ページ領域31Aからの1ページ目のデータの読み出しが行われる。ACC14による1ページ目のデータの読み出しが完了する時には、DMAC13による2ページ目のデータ転送は完了しており、DMAC13による3ページ目のデータ転送および第1ページ領域31Aへの転送したデータの書き込みが開始されている。そこで、ACC14による第2ページ領域31Bからの2ページ目のデータの読み出しが開始される。以下、このような動作を繰り返す。これにより、第1ページ領域31Aへの第2ページ領域31Bへのデータ書き込みと読み出しが並行に交互に行われ、ACC14は、外部メモリ18に記憶されたアクセス方式が異なる形で記憶されたデータを高速で読み出すことができる。   As shown in FIG. 5, the data transfer of the first page by the DMAC 13 and the writing of the transferred data to the first page area 31A are performed. When the data transfer for the first page is completed, data transfer for the second page by the DMAC 13 and writing of the transferred data to the second page area 31B are subsequently performed. Immediately after the data transfer of the first page is completed (here, after the data transfer of the second page is started), the ACC 14 reads the data of the first page from the first page area 31A. When the reading of the first page data by the ACC 14 is completed, the data transfer of the second page by the DMAC 13 is completed, and the data transfer of the third page by the DMAC 13 and the writing of the transferred data to the first page area 31A are completed. Has been started. Therefore, reading of the second page data from the second page area 31B by the ACC 14 is started. Thereafter, such an operation is repeated. Thereby, data writing to and reading from the second page area 31B to the first page area 31A are alternately performed in parallel, and the ACC 14 stores the data stored in the external memory 18 in different forms. It can be read at high speed.

DMAC13による外部メモリ18から内部メモリ20Aへのデータ転送速度と、ACC14による内部メモリ20Aからの読み出し速度が、異なるのが一般的である。DMAC13によるデータ転送速度の方が、ACC14による読み出し速度より速い場合、読み出しを行っていないページ領域に新たに転送されたデータを書き込む場合が起こり得る。逆に、DMAC13によるデータ転送速度の方が、ACC14による読み出し速度より遅い場合、書き込みを行っていない(前のページのデータが書き込まれている)ページ領域からデータを読み出す場合が起こり得る。このような状態が発生すると、ACC14が正しいデータを読み取ることができない。   In general, the data transfer speed from the external memory 18 to the internal memory 20A by the DMAC 13 and the read speed from the internal memory 20A by the ACC 14 are different. When the data transfer rate by the DMAC 13 is faster than the read rate by the ACC 14, there may occur a case where newly transferred data is written in a page area where reading is not performed. On the contrary, when the data transfer rate by the DMAC 13 is slower than the read rate by the ACC 14, data may be read from a page area where writing is not performed (data of the previous page is written). When such a state occurs, the ACC 14 cannot read correct data.

そこで、第1実施形態のデータ処理装置10Aでは、読み出しアドレス変換機構23は、書き込みがまだ行われていないデータおよびページに対して読み出し動作が要求された場合には、その読み出し動作を待機させる。また、書き込みアドレス変換機構22は、読み出しがまだ行われていないデータおよびページに対して書き込み動作が要求された場合には、その書き込み動作を待機させる。   Therefore, in the data processing apparatus 10A of the first embodiment, when a read operation is requested for data and a page that have not yet been written, the read address conversion mechanism 23 waits for the read operation. In addition, when a write operation is requested for data and a page that have not yet been read, the write address conversion mechanism 22 waits for the write operation.

図6は、第1実施形態のデータ処理装置10Aにおいて、内部メモリコア21のページ領域31A〜31Dの状態遷移を示す図である。とり得る状態は、書き込み(Write)待ち(00)、書き込み(Write)中(01)、読み出し (Read)待ち(10)および読み出し (Read)中(11)の4つの状態であり、動作に応じて図6のように変化する。動作が開始されると書き込み(Write)待ち(00)になり、次の動作が行われるまで、その状態で待機する。書き込み(Write)が行われると、書き込み(Write)中(01)に変化し、書き込み (Write)が完了するまでその状態を維持し、書き込み(Write)が完了すると(Read)待ち(10)になる。(Read)待ち(10)で、次の動作が行われるまで、その状態で待機し、読み出し(Read)が行われると、読み出し (Read)中(11) に変化し、読み出し(Read)が完了するまでその状態を維持し、読み出し(Read)が完了すると書き込み(Write)待ち(00)になる。   FIG. 6 is a diagram illustrating state transitions of the page areas 31A to 31D of the internal memory core 21 in the data processing device 10A of the first embodiment. There are four possible states: Write Wait (00), Write (01), Read Wait (10) and Read (11), depending on the operation. Changes as shown in FIG. When the operation starts, the state waits for writing (00) and waits in that state until the next operation is performed. When writing (Write) is performed, it changes to (01) during writing (Write), the state is maintained until writing (Write) is completed, and when writing (Write) is completed, it waits for (Read) (10) Become. Wait for (Read) (10) and wait in that state until the next operation is performed.When reading (Read) is performed, it changes to (11) during reading (Read), and reading (Read) is completed This state is maintained until reading is completed, and when reading is completed, writing is waited for (00).

図7は、DMAC13により転送されたデータの内部メモリ20A(内部メモリコア21のページ領域31A〜31D)への書き込み処理を示すフローチャートである。   FIG. 7 is a flowchart showing a process of writing data transferred by the DMAC 13 to the internal memory 20A (page areas 31A to 31D of the internal memory core 21).

ステップS11では、DMAC13が、内部メモリ20Aの書き込みアドレス変換機構22への書き込み(Write)処理の発行を行う。   In step S11, the DMAC 13 issues a write process to the write address conversion mechanism 22 of the internal memory 20A.

ステップS12では、書き込みアドレス変換機構22が、設定したレジスタ情報を基にして、入力された書き込みアドレスから内部メモリ書き込みアドレスと書き込みページを算出する。   In step S12, the write address conversion mechanism 22 calculates an internal memory write address and a write page from the input write address based on the set register information.

ステップS13では、書き込みアドレス変換機構22が、書き込みページの状態がRead待ち(10)またはRead中(11)であるか判定する。書き込みページが、Read待ちまたはRead中である時には書き込みは行えないので、これらの状態が終了するまで待機し、これらの状態が終了したら次のステップに進む。   In step S13, the write address conversion mechanism 22 determines whether the state of the write page is waiting for reading (10) or reading (11). Since writing cannot be performed when the writing page is waiting for reading or reading, the process waits until these states are completed, and proceeds to the next step when these states are completed.

ステップS14では、書き込みアドレス変換機構22が、書き込みページの状態がWrite待ち(00)であるかを判定し、Write待ち(00)であればステップS15に進み、Write待ち(00)でなければステップS16に進む。   In step S14, the write address conversion mechanism 22 determines whether the state of the write page is Write wait (00). If it is Write wait (00), the process proceeds to Step S15. Proceed to S16.

ステップS15では、状態遷移制御部24が、書き込みページの状態フラグをWrite中(01)に遷移させる。   In step S15, the state transition control unit 24 causes the state flag of the write page to transition to “writing” (01).

ステップS16では、書き込みアドレス変換機構22が、内部メモリコア21の内部メモリ書き込みアドレスへの転送されたデータの書き込みを行う。   In step S <b> 16, the write address conversion mechanism 22 writes the transferred data to the internal memory write address of the internal memory core 21.

ステップS17では、書き込みアドレス変換機構22が、設定したレジスタ情報を基にして、内部メモリ書き込みアドレスが、書き込みページの最終アドレスであるかを判定し、最終アドレスであればステップS18に進み、最終アドレスでなければ終了する。この後、同じ書き込みページに対して、ステップS11からS17が繰り返される。   In step S17, the write address conversion mechanism 22 determines whether the internal memory write address is the final address of the write page based on the set register information. If it is the final address, the process proceeds to step S18. Otherwise it ends. Thereafter, steps S11 to S17 are repeated for the same written page.

ステップS18では、状態遷移制御部24が、書き込みページの状態フラグをRead待ち(10)に遷移させ、終了する。   In step S18, the state transition control unit 24 causes the state flag of the write page to transition to Read wait (10), and the process ends.

図8は、ACC14により内部メモリ20A(内部メモリコア21のページ領域31A〜31D)からのデータの読み出し処理を示すフローチャートである。   FIG. 8 is a flowchart showing a process of reading data from the internal memory 20A (page areas 31A to 31D of the internal memory core 21) by the ACC 14.

ステップS21では、ACC14が、内部メモリ20Aの読み出しアドレス変換機構23への読み出し(Read)処理の発行を行う。   In step S21, the ACC 14 issues a read process to the read address conversion mechanism 23 of the internal memory 20A.

ステップS22では、読み出しアドレス変換機構23が、設定したレジスタ情報を基にして、入力された読み出しアドレスから内部メモリ読み出しアドレスと読み出しページを算出する。   In step S22, the read address conversion mechanism 23 calculates an internal memory read address and a read page from the input read address based on the set register information.

ステップS23では、読み出しアドレス変換機構23が、読み出しページの状態がWrite待ち(010)またはWrite中(01)であるか判定する。読み出しページが、Write待ちまたはWrite中である時には読み出しは行えないので、これらの状態が終了するまで待機し、これらの状態が終了したら次のステップに進む。   In step S <b> 23, the read address translation mechanism 23 determines whether the state of the read page is waiting for writing (010) or writing (01). Since reading cannot be performed when the read page is waiting for writing or writing, the process waits until these states are completed, and proceeds to the next step when these states are completed.

ステップS24では、読み出しアドレス変換機構23が、読み出しページの状態がRead待ち(10)であるかを判定し、Read待ち(10)であればステップS25に進み、Read待ち(10)でなければステップS26に進む。   In step S24, the read address translation mechanism 23 determines whether or not the read page state is waiting for read (10). If the read page is waiting for read (10), the process proceeds to step S25. Proceed to S26.

ステップS25では、状態遷移制御部24が、読み出しページの状態フラグをRead中(11)に遷移させる。   In step S25, the state transition control unit 24 changes the state flag of the read page to “Reading” (11).

ステップS26では、読み出しアドレス変換機構23が、内部メモリコア21の内部メモリ読み出しアドレスからのデータの読み出しを行う。   In step S <b> 26, the read address conversion mechanism 23 reads data from the internal memory read address of the internal memory core 21.

ステップS27では、読み出しアドレス変換機構23が、設定したレジスタ情報を基にして、内部メモリ読み出しアドレスが、読み出しページの最終アドレスであるかを判定し、最終アドレスであればステップS28に進み、最終アドレスでなければ終了する。この後、同じ読み出しページに対して、ステップS21からS27が繰り返される。   In step S27, the read address conversion mechanism 23 determines whether the internal memory read address is the final address of the read page based on the set register information. If it is the final address, the process proceeds to step S28. Otherwise it ends. Thereafter, steps S21 to S27 are repeated for the same read page.

ステップS28では、状態遷移制御部24が、読み出しページの状態フラグをWrite待ち(00)に遷移させ、終了する。   In step S28, the state transition control unit 24 changes the status flag of the read page to wait for writing (00), and the process ends.

以上説明した事項をまとめると、第1実施形態のデータ処理装置10Aは、次のような構成を有する。   Summarizing the items described above, the data processing apparatus 10A of the first embodiment has the following configuration.

(1)内部メモリ20A(内部メモリコア21)を有するが、その容量はアクセラレータ(ACC)14の処理に必要なメモリ容量より小さくてよい。   (1) Although the internal memory 20A (internal memory core 21) is provided, the capacity thereof may be smaller than the memory capacity required for processing of the accelerator (ACC) 14.

(2)書き込み専用の領域と読み出し専用のメモリ空間を有する。   (2) It has a write-only area and a read-only memory space.

(3)書き込み/読み出し(WRITE/READ)アドレス変換機構は書き込み専用領域への書き込みアクセスおよび読み出し専用領域への読み出しアクセスのアドレスを、内部メモリのアドレスに変換する。   (3) The write / read (WRITE / READ) address conversion mechanism converts the address of the write access to the write-only area and the read access to the read-only area into the address of the internal memory.

(4)書き込み/読み出し(WRITE/READ)アドレス変換機構を有し、設定レジスタの情報によってアドレス変換の設定を行うことが可能である。   (4) A write / read (WRITE / READ) address conversion mechanism is provided, and address conversion can be set according to information in a setting register.

(5)読み出し(READ)アドレス変換機構は、書き込みがまだ行われていないページに対して読み込みが要求された場合、そのアクセスに対して読み込み待機をさせる。   (5) The read (READ) address conversion mechanism makes a read wait for the access when a read is requested for a page that has not been written yet.

(6)書き込み(WRITE)アドレス変換機構は、読み出しがまだ行われていないデータ(ページ)に対して書き込みが要求された場合、そのアクセスに対して書き込み待機をさせる。   (6) Write (WRITE) When a write request is made for data (page) that has not yet been read, the address conversion mechanism causes the access to wait for writing.

第1実施形態のデータ処理装置10Aは、外部メモリ18、DMAC13、ACC14などを使用しているが、内部メモリの書き込み/読み出しアドレス変換機構への書き込みと読み出しを行うことが可能なモジュールであればこれらに制限される必要はない。例えば、データの読み出しをCPUが行うような場合でも、同様の動作が成立する。これは、いかに説明するほかの実施形態でも同様である。   The data processing apparatus 10A of the first embodiment uses the external memory 18, the DMAC 13, the ACC 14, and the like, but any module that can perform writing to and reading from the write / read address conversion mechanism of the internal memory. There is no need to be limited to these. For example, the same operation is established even when the CPU reads data. The same applies to other embodiments described below.

図9は、第2実施形態のデータ処理装置10Bの構成とデータのアクセス経路を示す図である。第2実施形態のデータ処理装置10Bは、アクセラレータ(ACC)14がデータを処理する処理速度が、DMAC13がデータを転送する速度より速い場合の例である。このような場合、ACC14は、DMAC13が転送するデータを常時待つ状態になり、ACC14の処理効率が低下する。そこで、第2実施形態のデータ処理装置10Bでは、複数個のDACを使用して、DMACによるデータの転送速度を高める。   FIG. 9 is a diagram illustrating a configuration of the data processing device 10B according to the second embodiment and a data access path. The data processing device 10B of the second embodiment is an example in which the processing speed at which the accelerator (ACC) 14 processes data is faster than the speed at which the DMAC 13 transfers data. In such a case, the ACC 14 always waits for the data transferred by the DMAC 13, and the processing efficiency of the ACC 14 decreases. Therefore, in the data processing device 10B of the second embodiment, a plurality of DACs are used to increase the data transfer rate by the DMAC.

図9に示すように、第2実施形態のデータ処理装置10Bは、第1DMAC13Aおよび第2DMAC13Bを有し、2個の第1および第2外部メモリ18Aが接続されることが、第1実施形態と異なる。また、第2実施形態のデータ処理装置10Bの内部メモリ20Bも、第1実施形態のデータ処理装置10Aの内部メモリ20Aと異なるが、他の部分は同じである。なお、第2実施形態では2個のDMACを有し、2個の外部メモリを接続したが、それぞれ3個以上とすることも可能である。   As shown in FIG. 9, the data processing apparatus 10B of the second embodiment has a first DMAC 13A and a second DMAC 13B, and the two first and second external memories 18A are connected to the first embodiment. Different. The internal memory 20B of the data processing device 10B of the second embodiment is also different from the internal memory 20A of the data processing device 10A of the first embodiment, but the other parts are the same. In the second embodiment, two DMACs are provided and two external memories are connected. However, three or more can be used.

外部メモリ18Aおよび18Bは、ACC14で処理するデータを、ページ単位で記憶しており、例えば外部メモリ18Aが奇数番目のページのデータを、外部メモリ18Bが偶数番目のページのデータを記憶している。   The external memories 18A and 18B store data processed by the ACC 14 in units of pages. For example, the external memory 18A stores odd-numbered page data, and the external memory 18B stores even-numbered page data. .

図10は、第2実施形態における内部メモリ20Bの構成を示す図である。   FIG. 10 is a diagram showing a configuration of the internal memory 20B in the second embodiment.

図10に示すように、内部メモリ20Bは、第1書き込みアドレス変換機構22Aおよび第2書き込みアドレス変換機構22Bを有することが、第1実施形態の内部メモリ20Aと異なり、他の部分は第1実施形態と同じである。第1書き込みアドレス変換機構22Aおよび第2書き込みアドレス変換機構22Bは、ページ領域31A〜31Dに独立してアクセス可能である。また、第1書き込みアドレス変換機構22Aおよび第2書き込みアドレス変換機構22Bは、内部メモリ容量レジスタ42およびページ容量レジスタ43に加えて、ベースアドレスレジスタ44およびストライド量レジスタ45を有している。ベースアドレスレジスタ44は、各アドレス変換機構へ入力されたデータを内部メモリコア21に記憶する時に、内部メモリコア21の先頭からどの位置に書き込みを開始するかを指定するアドレス値を記憶する。ストライド量レジスタ45は、自分以外の全ての書き込みアドレス変換機構のページ容量の和を記憶する。この和の値から、次ページへの書き込み開始アドレスのオフセットを得ることが可能である。   As shown in FIG. 10, the internal memory 20B has a first write address conversion mechanism 22A and a second write address conversion mechanism 22B. Unlike the internal memory 20A of the first embodiment, the other parts are the first implementation. The form is the same. The first write address conversion mechanism 22A and the second write address conversion mechanism 22B can access the page areas 31A to 31D independently. The first write address conversion mechanism 22A and the second write address conversion mechanism 22B include a base address register 44 and a stride amount register 45 in addition to the internal memory capacity register 42 and the page capacity register 43. The base address register 44 stores an address value that designates where to start writing from the top of the internal memory core 21 when data input to each address conversion mechanism is stored in the internal memory core 21. The stride amount register 45 stores the sum of page capacities of all write address translation mechanisms other than itself. From this sum value, it is possible to obtain the offset of the write start address for the next page.

図11は、第2実施形態の内部メモリ20Bにおいて、第1および第2DMAC13A、13Bが、メモリコントローラ16を介して第1および第2外部メモリ18A、18Bのデータを内部メモリ20Bに書き込み、ACC14が内部メモリ20Bに転送されたデータを読み取るアクセス動作を説明する図である。   FIG. 11 shows that in the internal memory 20B of the second embodiment, the first and second DMACs 13A and 13B write the data of the first and second external memories 18A and 18B to the internal memory 20B via the memory controller 16, and the ACC 14 It is a figure explaining the access operation which reads the data transferred to the internal memory 20B.

前述のように、第1外部メモリ18Aは奇数番目のページのデータを、第2外部メモリ18Bが偶数番目のページのデータを記憶しているものとする。   As described above, it is assumed that the first external memory 18A stores odd-numbered page data, and the second external memory 18B stores even-numbered page data.

まず、第1DMAC13Aは、第1外部メモリ18Aに記憶されている1ページ目のデータを、メモリコントローラ16を介して読み出し、内部メモリ20Bの第1書き込みアドレス変換機構22Aに転送する。第1書き込みアドレス変換機構22Aは、第1DMAC13Aからの書き込みアドレス、内部メモリ容量レジスタ42の値、ページ容量レジスタ43の値、ベースアドレスレジスタ44の値、ストライド量レジスタ45の値および状態フラグに基づいて、内部メモリ書き込みアドレスに変換するアドレス変換を行う。さらに、書き込みアドレス変換機構22は、内部メモリ書き込みアドレスから、内部メモリコア21内で該当するページ領域を割り出し、そのページの状態フラグの確認を行い、書き込み不可の場合は可能になるまで待機し、書き込み可能な場合は書き込みデータの書き込みを行う。第1書き込みアドレス変換機構22Aは、内部メモリコア21の書き込みを行う時には、Write通知を状態遷移制御部24に出力する。さらに、第1書き込みアドレス変換機構22Aは、そのページの最終アドレスへの書き込みを行った場合は、Write完了通知を状態遷移制御部24に出力する。状態遷移制御部24は、Write完了通知を受信すると、そのページの状態フラグを”読み出し(Read)待ち”へと遷移させる。図11では、1ページ目の領域31Aの書き込みが完了すると、対応する状態フラグ61Aが、”読み出し(Read)待ち”に遷移する。   First, the first DMAC 13A reads the data of the first page stored in the first external memory 18A via the memory controller 16, and transfers it to the first write address conversion mechanism 22A of the internal memory 20B. The first write address conversion mechanism 22A is based on the write address from the first DMAC 13A, the value of the internal memory capacity register 42, the value of the page capacity register 43, the value of the base address register 44, the value of the stride amount register 45, and the status flag. Then, address conversion is performed to convert to an internal memory write address. Further, the write address conversion mechanism 22 determines the corresponding page area in the internal memory core 21 from the internal memory write address, checks the status flag of the page, and waits until it becomes possible if writing is impossible. If writing is possible, write data is written. The first write address conversion mechanism 22 </ b> A outputs a write notification to the state transition control unit 24 when writing to the internal memory core 21. Furthermore, the first write address conversion mechanism 22A outputs a write completion notification to the state transition control unit 24 when writing to the final address of the page. When the state transition control unit 24 receives the write completion notification, the state transition control unit 24 transitions the status flag of the page to “waiting for reading”. In FIG. 11, when the writing of the region 31A of the first page is completed, the corresponding status flag 61A transitions to “Read wait”.

一方、第2DMAC13Bは、上記の第1DMAC13Aの転送動作と並行して、第2外部メモリ18Bに記憶されている2ページ目のデータを、メモリコントローラ16を介して読み出し、内部メモリ20Bの第2書き込みアドレス変換機構22Bに転送する。第2書き込みアドレス変換機構22Bは、上記の第1書き込みアドレス変換機構22Aと同様の動作を行い、転送された2ページ目のデータを内部メモリコア21内の別のページ領域に書き込む。第2書き込みアドレス変換機構22BがWrite完了通知を状態遷移制御部24に出力すると、状態遷移制御部24はそのページの状態フラグを”読み出し(Read)待ち”へと遷移させる。   On the other hand, in parallel with the transfer operation of the first DMAC 13A, the second DMAC 13B reads the second page data stored in the second external memory 18B via the memory controller 16 and performs the second write in the internal memory 20B. Transfer to the address translation mechanism 22B. The second write address translation mechanism 22B performs the same operation as the first write address translation mechanism 22A, and writes the transferred second page data to another page area in the internal memory core 21. When the second write address translation mechanism 22B outputs a write completion notification to the state transition control unit 24, the state transition control unit 24 transitions the status flag of the page to “read (read) wait”.

その後、第1書き込みアドレス変換機構22Aおよび第2書き込みアドレス変換機構22Bは、ストライド量レジスタ45に記憶された値から3ページおよび4ページの書き込み開始アドレス(ページ領域)を算出する。そして、第1書き込みアドレス変換機構22Aおよび第2書き込みアドレス変換機構22Bは、そのページ領域が“書き込み(Write)待ち”であれば書き込みを同様に行い、”読み出し(Read)待ち”または ”読み出し(Read)中”であれば、“書き込み(Write)待ち”になるまで待機する。   Thereafter, the first write address conversion mechanism 22A and the second write address conversion mechanism 22B calculate the write start addresses (page areas) of the third page and the fourth page from the values stored in the stride amount register 45. Then, the first write address conversion mechanism 22A and the second write address conversion mechanism 22B perform the same writing if the page area is “Waiting for writing”, and perform “Reading waiting” or “Reading”. If “Read” is in progress, it waits until “Waiting for Write” is reached.

一方、ACC14は、1ページ目のデータの内部メモリ20Aへの書き込みが完了すると、読み出しアドレス変換機構23を介して、1ページ目のデータの内部メモリ20Aからの読み出し動作を開始する。読み出しアドレス変換機構23による読み出し動作は第1実施形態と同じであり、内部メモリコア21の第1ページ領域31Aに記憶された1ページ目のデータを読み取りが完了すると、第2ページ領域31Bにはすでに2ページ目のデータが記憶されているので、それを読み取る。   On the other hand, when the writing of the data of the first page to the internal memory 20A is completed, the ACC 14 starts the reading operation of the data of the first page from the internal memory 20A via the read address conversion mechanism 23. The read operation by the read address conversion mechanism 23 is the same as that of the first embodiment. When the reading of the first page data stored in the first page area 31A of the internal memory core 21 is completed, the second page area 31B Since the data for the second page is already stored, it is read.

図12は、内部メモリ20Bのアクセス動作における書き込みデータおよび読み出しデータの変化を示すタイムチャートである。このタイムチャートは、2個のDMAC13Aおよび13Bによる外部メモリ18から内部メモリ20Aへのデータ転送速度と、ACC14による内部メモリ20Aからの読み出し速度がほぼ等しい場合の動作タイムチャートである。言い換えれば、1個のDMAC13Aまたは13Bが所定時間に転送するデータを、ACC14は所定時間の約半分の時間で処理できる。   FIG. 12 is a time chart showing changes in write data and read data in the access operation of the internal memory 20B. This time chart is an operation time chart when the data transfer speed from the external memory 18 to the internal memory 20A by the two DMACs 13A and 13B and the read speed from the internal memory 20A by the ACC 14 are substantially equal. In other words, the ACC 14 can process data transferred by a single DMAC 13A or 13B at a predetermined time in about half the predetermined time.

図12において、第1ページ領域〜第4ページ領域の単線の四角形は、第1DMAC13Aおよび第2DMAC13Bによる内部メモリ20Bへの転送データの書き込みを示し、両端が2重線の四角形は、ACC14による内部メモリ20Bからのデータの読み出しを示す。   In FIG. 12, single-line rectangles in the first page area to the fourth page area indicate writing of transfer data to the internal memory 20B by the first DMAC 13A and the second DMAC 13B. Data reading from 20B is shown.

図12に示すように、第1DMA13Aによる1ページ目のデータ転送および第1ページ領域31Aへの転送したデータの書き込みと、第2DMA13Bによる2ページ目のデータ転送および第2ページ領域31Bへの転送したデータの書き込みが、並行して行われる。   As shown in FIG. 12, the data transfer of the first page by the first DMA 13A and the writing of the transferred data to the first page area 31A, the data transfer of the second page by the second DMA 13B and the transfer to the second page area 31B Data is written in parallel.

1ページ目および2ページ目のデータ転送が完了すると、第1DMAC13Aおよび第2DMAC13Bによる3ページ目および4ページ目のデータ転送および第3ページ領域31Cおよび第4ページ領域31Dへの書き込みが行われる。   When the data transfer of the first page and the second page is completed, the data transfer of the third page and the fourth page by the first DMAC 13A and the second DMAC 13B and the writing to the third page area 31C and the fourth page area 31D are performed.

一方、1ページ目のデータ転送および書込みが完了した直後、ACC14による第1ページ領域31Aからの1ページ目のデータの読み出しが行われる。そして、1ページ目のデータの読み出しが完了すると、ACC14による第2ページ領域31Bからの2ページ目のデータの読み出しが行われる。   On the other hand, immediately after the data transfer and writing of the first page are completed, the data of the first page is read from the first page area 31A by the ACC. When the reading of the first page of data is completed, the reading of the second page of data from the second page region 31B by the ACC 14 is performed.

第1DMAC13Aによる3ページ目のデータの第3ページ領域31Cへのデータ転送および書き込みが完了した時には、ACC14による第1ページ領域31Aからの1ページ目のデータの読み出しは完了している。したがって、第1ページ領域31Aはデータ書き込みが可能であり、第1DMAC13Aは新しいデータ転送動作を行うことが可能である。そこで、第1DMAC13Aによる5ページ目のデータ転送および第1ページ領域31Aへのデータの書き込みを開始する。   When the data transfer and writing of the third page data to the third page area 31C by the first DMAC 13A are completed, the reading of the first page data from the first page area 31A by the ACC 14 is completed. Therefore, data can be written in the first page area 31A, and the first DMAC 13A can perform a new data transfer operation. Therefore, data transfer of the fifth page by the first DMAC 13A and data writing to the first page area 31A are started.

第2DMAC13Bによる4ページ目のデータの第4ページ領域31Dへの転送および書き込みが完了した時には、ACC14による第2ページ領域31Bからの2ページ目のデータの読み出しは完了していない。この時、第1ページ領域31Aは5ページ目のデータ書き込みが行われており、第3および第4ページ領域31C、31Dは、3ページ目および4ページ目のデータの読み出しが行われていない状態であり、新たなデータを書き込むことはできない。したがって、第2DMAC13Bは、非動作状態であるがデータの転送は行えないので、ACC14による第2ページ領域31Bからの2ページ目のデータの読み出しが完了するまで待機する。そして、第2ページ領域31Bからの2ページ目のデータの読み出しが完了した後、第2DMAC13Bによる6ページ目のデータの第2ページ領域31Bへの転送および書き込みを開始する。   When the transfer and writing of the fourth page data to the fourth page area 31D by the second DMAC 13B is completed, the reading of the second page data from the second page area 31B by the ACC 14 is not completed. At this time, the first page area 31A has been written with data for the fifth page, and the third and fourth page areas 31C, 31D have not been read with data for the third and fourth pages. Therefore, new data cannot be written. Accordingly, the second DMAC 13B is in an inactive state but cannot transfer data, and therefore waits until the reading of the second page of data from the second page area 31B by the ACC 14 is completed. Then, after the reading of the second page data from the second page area 31B is completed, transfer and writing of the sixth page data to the second page area 31B by the second DMAC 13B is started.

以下、第1DMAC13Aと第2DMAC13Bを交互に使用して、書き込んだデータの読み出しが完了していずれかのページ領域が“書き込み(Write)待ち”状態になるまで待機し、“書き込み(Write)待ち”状態になったら、新たなデータの転送および書き込みを行う。このような動作を繰り返すことにより、ACC14は、外部メモリ18に記憶されたアクセス方式が異なる形で記憶されたデータを高速で読み出すことができる。   Thereafter, the first DMAC 13A and the second DMAC 13B are alternately used to wait until reading of the written data is completed and one of the page areas is in a “write wait” state, and “wait for write”. When the state is reached, new data is transferred and written. By repeating such an operation, the ACC 14 can read data stored in the external memory 18 in a different form of access at high speed.

図13は、第2実施形態において、転送されたデータの内部メモリ20B(内部メモリコア21のページ領域31A〜31D)への書き込み処理を示すフローチャートである。   FIG. 13 is a flowchart showing a process of writing transferred data to the internal memory 20B (page areas 31A to 31D of the internal memory core 21) in the second embodiment.

ステップS31では、第1DMAC13Aまたは第2DMAC13Bが、内部メモリ20Bの第1書き込みアドレス変換機構22Aまたは第2書き込みアドレス変換機構22Bへの書き込み(Write)処理の発行を行う。   In step S31, the first DMAC 13A or the second DMAC 13B issues a write process to the first write address conversion mechanism 22A or the second write address conversion mechanism 22B of the internal memory 20B.

ステップS32では、第1書き込みアドレス変換機構22Aまたは第2書き込みアドレス変換機構22Bが、設定したレジスタ情報を基にして、入力された書き込みアドレスから内部メモリ書き込みアドレスと書き込みページを算出する。   In step S32, the first write address conversion mechanism 22A or the second write address conversion mechanism 22B calculates an internal memory write address and a write page from the input write address based on the set register information.

ステップS33では、第1書き込みアドレス変換機構22Aまたは第2書き込みアドレス変換機構22Bが、データの書き込み先となる書き込みページの状態がRead待ち(10)またはRead中(11)であるか判定する。書き込みページが、Read待ちまたはRead中である時には書き込みは行えないので、これらの状態が終了するまで待機し、これらの状態が終了したら次のステップに進む。   In step S33, the first write address conversion mechanism 22A or the second write address conversion mechanism 22B determines whether the state of the write page that is the data write destination is “Read waiting” (10) or “Reading” (11). Since writing cannot be performed when the writing page is waiting for reading or reading, the process waits until these states are completed, and proceeds to the next step when these states are completed.

ステップS34では、第1書き込みアドレス変換機構22Aまたは第2書き込みアドレス変換機構22Bが、書き込みページの状態がWrite待ち(00)であるかを判定し、Write待ち(00)であればステップS35に進み、Write待ち(00)でなければステップS36に進む。   In step S34, the first write address conversion mechanism 22A or the second write address conversion mechanism 22B determines whether the state of the write page is Write wait (00). If it is Write wait (00), the process proceeds to step S35. If not Write wait (00), the process proceeds to step S36.

ステップS35では、状態遷移制御部24が、書き込みページの状態フラグをWrite中(01)に遷移させる。   In step S35, the state transition control unit 24 causes the state flag of the write page to transition to “being written” (01).

ステップS36では、第1書き込みアドレス変換機構22Aまたは第2書き込みアドレス変換機構22Bが、内部メモリコア21の内部メモリ書き込みアドレスへの転送されたデータの書き込みを行う。   In step S36, the first write address conversion mechanism 22A or the second write address conversion mechanism 22B writes the transferred data to the internal memory write address of the internal memory core 21.

ステップS37では、第1書き込みアドレス変換機構22Aまたは第2書き込みアドレス変換機構22Bが、設定したレジスタ情報を基にして、内部メモリ書き込みアドレスが、書き込みページの最終アドレスであるかを判定し、最終アドレスであればステップS38に進み、最終アドレスでなければ終了する。この後、同じ書き込みページに対して、ステップS31からS37が繰り返される。   In step S37, the first write address conversion mechanism 22A or the second write address conversion mechanism 22B determines whether the internal memory write address is the final address of the write page based on the set register information. If so, the process proceeds to step S38, and if not the final address, the process ends. Thereafter, steps S31 to S37 are repeated for the same written page.

ステップS38では、状態遷移制御部24が、書き込みページの状態フラグをRead待ち(10)に遷移させ、終了する。   In step S38, the state transition control unit 24 makes the state flag of the write page transition to Read wait (10), and ends.

ACC14による内部メモリ20B(内部メモリコア21のページ領域31A〜31D)からのデータの読み出し処理は、第1実施形態と同じであるので、説明は省略する。   Since the process of reading data from the internal memory 20B (page areas 31A to 31D of the internal memory core 21) by the ACC 14 is the same as that in the first embodiment, the description thereof is omitted.

図14は、第3実施形態のデータ処理装置10Cの内部メモリ20Cの構成を示す図である。   FIG. 14 is a diagram illustrating a configuration of the internal memory 20C of the data processing device 10C according to the third embodiment.

第2実施形態のデータ処理装置10Bは、内部メモリ20B内部に、2個のDMAC13Aおよび13Bに対応して、2個の書き込みアドレス変換機構22Aおよび22Bを設けた。しかし、書き込みアドレス変換機構による内部メモリコア21へのデータの書き込み速度が、1個のDMACによるデータ転送速度より十分に高速であれば、例えば2倍以上高速であれば、2個のDMAC13Aおよび13Bを使用しても、1個の書き込みアドレス変換機構22で転送されたデータを内部メモリコア21に書き込むことが可能である。   The data processing device 10B of the second embodiment is provided with two write address conversion mechanisms 22A and 22B corresponding to the two DMACs 13A and 13B in the internal memory 20B. However, if the data write speed to the internal memory core 21 by the write address conversion mechanism is sufficiently higher than the data transfer speed by one DMAC, for example, if it is twice or more, the two DMACs 13A and 13B Even if is used, the data transferred by one write address conversion mechanism 22 can be written to the internal memory core 21.

第3実施形態のデータ処理装置10Cは、図9に示した第2実施形態のデータ処理装置10Bと同様に、2個のDMAC13Aおよび13Bを有し、2個の外部メモリ13Aおよび13Bが接続される。内部メモリ20は、第1実施形態の内部メモリ20Aと同様の構成を有するが、動作速度が高速で、2個のDMAC13Aおよび13Bが所定時間に転送するデータを1個の書き込みアドレス変換機構22で内部メモリコア21に所定時間内で書き込むことが可能である。他の部分は、第1および第2実施形態と同じである。   Similarly to the data processing device 10B of the second embodiment shown in FIG. 9, the data processing device 10C of the third embodiment has two DMACs 13A and 13B, to which two external memories 13A and 13B are connected. The The internal memory 20 has the same configuration as the internal memory 20A of the first embodiment, but the operation speed is high, and the data transferred by the two DMACs 13A and 13B in a predetermined time is transmitted by one write address conversion mechanism 22. It is possible to write to the internal memory core 21 within a predetermined time. Other parts are the same as those in the first and second embodiments.

図14に示すように、第3実施形態のデータ処理装置10Cの内部メモリ20Cは、第1実施形態の内部メモリ20Aと同様の構成を有するが、書き込みアドレス変換機構22が外部メモリの個数(ここでは2個)分のアドレス範囲レジスタ46Aおよび46Bを有する。なお、図示していないが、第2実施形態と同様に内部メモリ容量レジスタ42および52とページ容量レジスタ43および53が、書き込みアドレス変換機構22および読み出しアドレス変換機構23にそれぞれ設けられている。さらに、書き込みアドレス変換機構22は、ベースアドレスレジスタ44とストライド量レジスタ45と、を有する。   As shown in FIG. 14, the internal memory 20C of the data processing apparatus 10C of the third embodiment has the same configuration as the internal memory 20A of the first embodiment, but the write address conversion mechanism 22 has the number of external memories (here 2) address range registers 46A and 46B. Although not shown, the internal memory capacity registers 42 and 52 and the page capacity registers 43 and 53 are provided in the write address conversion mechanism 22 and the read address conversion mechanism 23, respectively, as in the second embodiment. Further, the write address conversion mechanism 22 includes a base address register 44 and a stride amount register 45.

アドレス範囲レジスタ46Aおよび46Bは、外部メモリ18Aおよび18Bのアドレス範囲をそれぞれ記憶している。2個のDMAC13Aおよび13Bにより転送されたデータの書き込みアドレスに関する情報から、転送元の外部メモリを判定することができる。   Address range registers 46A and 46B store the address ranges of external memories 18A and 18B, respectively. The transfer source external memory can be determined from the information related to the write address of the data transferred by the two DMACs 13A and 13B.

図15は、第3実施形態の内部メモリ20Cにおいて、第1および第2DMAC13A、13Bが、メモリコントローラ16を介して第1および第2外部メモリ18A、18Bのデータを内部メモリ20Bに書き込み、ACC14が内部メモリ20Bに転送されたデータを読み取るアクセス動作を説明する図である。   15 shows that in the internal memory 20C of the third embodiment, the first and second DMACs 13A and 13B write the data of the first and second external memories 18A and 18B to the internal memory 20B via the memory controller 16, and the ACC 14 It is a figure explaining the access operation which reads the data transferred to the internal memory 20B.

前述のように、外部メモリ18Aは奇数番目のページのデータを、外部メモリ18Bが偶数番目のページのデータを記憶しているものとする。   As described above, it is assumed that the external memory 18A stores odd-numbered page data, and the external memory 18B stores even-numbered page data.

第1DMAC13Aおよび第2DMAC13Bは、バス調停しながら並行して第1外部メモリ18Aおよび第2外部メモリ18Bに記憶されている1ページ目および2ページ目のデータを、メモリコントローラ16を介して読み出し、内部メモリ20Cの書き込みアドレス変換機構22に転送する。書き込みアドレス変換機構22は、転送されたデータの書き込みアドレスと、アドレス範囲レジスタ46Aおよび46Bに記憶されたアドレス範囲と比較し、データの転送元の外部メモリを特定する。言い換えれば、書き込みアドレス変換機構22は、転送されたデータのページ領域を判定する。そして、書き込みアドレス変換機構22は、判定したページ領域に応じて、データを書き込むページ領域を選択する。そして、書き込みアドレス、各レジスタの値および状態フラグに基づいて、内部メモリ書き込みアドレスに変換するアドレス変換を行い、書き込み先のページの状態フラグに応じて、書き込みまたは待機を行う。   The first DMAC 13A and the second DMAC 13B read the data of the first page and the second page stored in the first external memory 18A and the second external memory 18B in parallel through the memory controller 16 while performing bus arbitration. Transfer to the write address conversion mechanism 22 of the memory 20C. The write address conversion mechanism 22 compares the write address of the transferred data with the address range stored in the address range registers 46A and 46B, and specifies the external memory from which the data is transferred. In other words, the write address conversion mechanism 22 determines the page area of the transferred data. Then, the write address conversion mechanism 22 selects a page area to which data is written according to the determined page area. Then, based on the write address, the value of each register, and the status flag, address conversion is performed to convert the address into the internal memory write address, and writing or standby is performed according to the status flag of the write destination page.

ACC14は、書き込みが完了して“書き込み(Write)待ち”になったページ領域から順番にデータの読み出しを行う。他の動作は、第2実施形態と同じである。したがって、第3実施形態における内部メモリ20Bのアクセス動作を示すタイムチャートは、図12に示した第2実施形態のタイムチャートと同じである。   The ACC 14 sequentially reads data from the page area in which writing is completed and “waiting for writing”. Other operations are the same as those in the second embodiment. Therefore, the time chart showing the access operation of the internal memory 20B in the third embodiment is the same as the time chart of the second embodiment shown in FIG.

図16は、第3実施形態において、転送されたデータの内部メモリ20C(内部メモリコア21のページ領域31A〜31D)への書き込み処理を示すフローチャートである。   FIG. 16 is a flowchart showing a process of writing transferred data to the internal memory 20C (page areas 31A to 31D of the internal memory core 21) in the third embodiment.

ステップS41では、第1DMAC13Aおよび第2DMAC13Bが、内部メモリ20Cの書き込みアドレス変換機構22への書き込み(Write)処理の発行を行う。   In step S41, the first DMAC 13A and the second DMAC 13B issue a write process to the write address conversion mechanism 22 of the internal memory 20C.

ステップS42では、書き込みアドレスとアドレス範囲レジスタ46Aおよび46Bに記憶されたアドレス範囲情報がマッチするかを判定し、マッチすればステップS44に進み、マッチしなければステップS43に進む。   In step S42, it is determined whether the write address matches the address range information stored in the address range registers 46A and 46B. If they match, the process proceeds to step S44, and if they do not match, the process proceeds to step S43.

ステップS43では、書き込みアドレスとアドレス範囲がマッチしないので、転送元の外部メモリを確認できないので、別のレジスタ情報を参照する。この処理は実施形態の処理に直接関係しないので、説明は省略する。   In step S43, since the write address does not match the address range, the transfer-source external memory cannot be confirmed, so another register information is referred to. Since this process is not directly related to the process of the embodiment, the description is omitted.

ステップS44では、書き込みアドレス変換機構22が、設定したレジスタ情報を基にして、入力された書き込みアドレスから内部メモリ書き込みアドレスと書き込みページを算出する。   In step S44, the write address conversion mechanism 22 calculates an internal memory write address and a write page from the input write address based on the set register information.

ステップS45からS50は、図13のステップS33からS38と同じ処理である。   Steps S45 to S50 are the same processes as steps S33 to S38 in FIG.

図17は、第4実施形態のデータ処理装置10Dの構成とデータのアクセス経路を示す図である。第4実施形態のデータ処理装置10Dは、DMAC13がデータを転送する速度が、アクセラレータ(ACC)14がデータを処理する処理速度よりより速い場合の例である。このような場合、DMAC13は、ACC14がデータを処理するまで常時データ転送を待つ状態になり、DMAC13の転送効率が低下する。そこで、第4実施形態のデータ処理装置10Dでは、複数個のACCを使用して、ACCによるデータ処理速度を高める。   FIG. 17 is a diagram illustrating a configuration of the data processing device 10D according to the fourth embodiment and a data access path. The data processing device 10D of the fourth embodiment is an example in which the speed at which the DMAC 13 transfers data is faster than the processing speed at which the accelerator (ACC) 14 processes data. In such a case, the DMAC 13 always waits for data transfer until the ACC 14 processes data, and the transfer efficiency of the DMAC 13 decreases. Therefore, in the data processing device 10D of the fourth embodiment, a plurality of ACCs are used to increase the data processing speed by ACC.

図17に示すように、第4実施形態のデータ処理装置10Dは、第1および第2ACC14Aおよび14Bを有することが、第1実施形態と異なる。また、第4実施形態のデータ処理装置10Dの内部メモリ20Dも、第1実施形態のデータ処理装置10Aの内部メモリ20Aと異なるが、他の部分は同じである。なお、第2実施形態では2個のACCを有するが、3個以上のACCを設けることも可能である。   As shown in FIG. 17, the data processing device 10 </ b> D of the fourth embodiment is different from the first embodiment in having first and second ACCs 14 </ b> A and 14 </ b> B. The internal memory 20D of the data processing device 10D of the fourth embodiment is also different from the internal memory 20A of the data processing device 10A of the first embodiment, but the other parts are the same. In the second embodiment, two ACCs are provided, but three or more ACCs may be provided.

図18は、内部メモリ20Dの構成を示す図である。   FIG. 18 is a diagram showing a configuration of the internal memory 20D.

図18に示すように、内部メモリ20Dは、第1読み出しアドレス変換機構23Aおよび第2読み出しアドレス変換機構23Bを有することが、第1実施形態の内部メモリ20Aと異なり、他の部分は第1実施形態と同じである。第1読み出しアドレス変換機構23Aおよび第2読み出しアドレス変換機構23Bは、ページ領域31A〜31Dに独立してアクセス可能である。また、第1読み出しアドレス変換機構23Aおよび第2読み出しアドレス変換機構23Bは、ベースアドレスレジスタ54およびストライド量レジスタ55を有している。なお、図示していないが、第1実施形態と同様に、第1読み出しアドレス変換機構23Aおよび第2読み出しアドレス変換機構23Bは、内部メモリ容量レジスタ52と、ページ容量レジスタ53と、を有する。さらに、書き込みアドレス変換機構22は、内部メモリ容量レジスタ42と、ページ容量レジスタ43と、を有する。   As shown in FIG. 18, the internal memory 20D has a first read address translation mechanism 23A and a second read address translation mechanism 23B. Unlike the internal memory 20A of the first embodiment, the other parts are the first implementation. The form is the same. The first read address conversion mechanism 23A and the second read address conversion mechanism 23B can independently access the page areas 31A to 31D. The first read address translation mechanism 23A and the second read address translation mechanism 23B have a base address register 54 and a stride amount register 55. Although not shown, the first read address translation mechanism 23A and the second read address translation mechanism 23B have an internal memory capacity register 52 and a page capacity register 53, as in the first embodiment. Further, the write address conversion mechanism 22 has an internal memory capacity register 42 and a page capacity register 43.

ベースアドレスレジスタ54は、内部メモリコア21からデータを読み出す時に、内部メモリコア21において先頭からどの位置で読み出しを開始するかを指定するアドレス値を記憶する。ストライド量レジスタ55は、自分以外の全ての書き込みアドレス変換機構のページ容量の和を記憶する。この和の値から、次ページの読み出し開始アドレスのオフセットを得ることが可能である。   When reading data from the internal memory core 21, the base address register 54 stores an address value that specifies at which position in the internal memory core 21 to start reading. The stride amount register 55 stores the sum of page capacities of all write address translation mechanisms other than itself. From this sum value, it is possible to obtain the offset of the read start address of the next page.

図19は、第4実施形態の内部メモリ20Dにおいて、DMAC13が、メモリコントローラ16を介して外部メモリ18のデータを内部メモリ20Dに書き込み、第1ACC14Aおよび第2ACC14Bが内部メモリ20Dからデータを読み取るアクセス動作を説明する図である。   FIG. 19 shows an access operation in which the DMAC 13 writes data in the external memory 18 to the internal memory 20D via the memory controller 16 and the first ACC 14A and the second ACC 14B read data from the internal memory 20D in the internal memory 20D of the fourth embodiment. FIG.

外部メモリ18は、第1ACC14Aが処理するデータ1−a,2−a,3−a,4−a,5−aと、第2ACC14Bが処理するデータ1−b,2−b,3−b,4−b,5−bと、交互に記憶している。   The external memory 18 includes data 1-a, 2-a, 3-a, 4-a, 5-a processed by the first ACC 14A and data 1-b, 2-b, 3-b, processed by the second ACC 14B. 4-b and 5-b are stored alternately.

まず、DMAC13は、メモリコントローラ16を介して、外部メモリ18に記憶されているデータ1−a,1−b,2−a,2−b,…を順番に読み出し、内部メモリ20Dの書き込みアドレス変換機構22に転送する。第1実施例と同様に、書き込みアドレス変換機構22は、転送されたデータを、ページ領域31A〜31Dに順番に書き込む。この際、各ページの状態フラグの確認を行い、書き込み不可の場合は可能になるまで待機し、書き込み可能な場合は書き込みデータの書き込みを行う。   First, the DMAC 13 sequentially reads data 1-a, 1-b, 2-a, 2-b,... Stored in the external memory 18 via the memory controller 16, and converts the write address of the internal memory 20D. Transfer to mechanism 22. As in the first embodiment, the write address conversion mechanism 22 writes the transferred data in the page areas 31A to 31D in order. At this time, the status flag of each page is checked, and if it is not writable, it waits until it becomes possible, and if it is writable, write data is written.

第1ACC14Aは、1ページ目のデータ1−aの内部メモリ20Dへの書き込みが完了すると、第1読み出しアドレス変換機構23Aを介して、1ページ目のデータ1−aの内部メモリ20Dからの読み出し動作を開始する。第1読み出しアドレス変換機構23Aは、第1ACC14Aからの読み出しアドレス、内部メモリ容量レジスタおよびページ容量レジスタの値、ベースアドレスレジスタ54の値、ストライド量レジスタ55の値および状態フラグに基づいて、内部メモリ読み出しアドレスに変換するアドレス変換を行う。さらに、第1読み出しアドレス変換機構23Aは、内部メモリ読み出しアドレスから、内部メモリコア21内で該当するページ領域を割り出し、そのページの状態フラグの確認を行い、読み出し不可の場合は可能になるまで待機し、読み出し可能な場合はデータの読み出しを行う。第1読み出しアドレス変換機構23Aは、内部メモリコア21からデータの読み出しを行う時には、Read通知を状態遷移制御部24に出力する。さらに、第1読み出しアドレス変換機構23Aは、そのページの最終アドレスからの読み出しを行った場合は、Read完了通知を状態遷移制御部24に出力する。状態遷移制御部24は、Read完了通知を受信すると、そのページの状態フラグを”書き込み待ち”へと遷移させる。   When the writing of the first page data 1-a to the internal memory 20D is completed, the first ACC 14A reads the first page data 1-a from the internal memory 20D via the first read address conversion mechanism 23A. To start. The first read address conversion mechanism 23A reads the internal memory based on the read address from the first ACC 14A, the values of the internal memory capacity register and the page capacity register, the value of the base address register 54, the value of the stride amount register 55, and the status flag. Perform address conversion to convert to address. Further, the first read address conversion mechanism 23A determines the corresponding page area in the internal memory core 21 from the internal memory read address, checks the status flag of the page, and waits until it becomes possible if the read is impossible. If data can be read, data is read. When reading data from the internal memory core 21, the first read address conversion mechanism 23 </ b> A outputs a Read notification to the state transition control unit 24. Further, the first read address conversion mechanism 23A outputs a read completion notification to the state transition control unit 24 when reading from the final address of the page. When the state transition control unit 24 receives the Read completion notification, the state transition control unit 24 transitions the status flag of the page to “Waiting for writing”.

一方、第2ACC14Bは、2ページ目のデータ1−bの内部メモリ20Dへの書き込みが完了すると、第2読み出しアドレス変換機構23Bを介して、2ページ目のデータ1−bの内部メモリ20Dからの読み出し動作を行う。この読み出し動作は、上記の第1読み出しアドレス変換機構23Aの動作と同じである。   On the other hand, when the writing of the data 1-b of the second page to the internal memory 20D is completed, the second ACC 14B completes the writing of the data 1-b of the second page from the internal memory 20D via the second read address conversion mechanism 23B. Read operation is performed. This read operation is the same as the operation of the first read address conversion mechanism 23A.

以下、DMAC13による外部メモリ18のデータの内部メモリ20Dへの転送が順番に行われ、第1ACC14Aおよび第2ACC14Bによる内部メモリ20Dからのデータの読み出しが並行して行われる。図19では、データ1−aは第1データ領域31Aに、データ1−bは第2データ領域31Bに、データ2−aは第3データ領域31Cに、データ2−bは第4データ領域31Dに、それぞれ記憶される。また、データ3−a,4−a,5−aは、第1データ領域31A,第3データ領域31C,第1データ領域31Aにそれぞれ記憶され、データ3−b,4−b,5−bは、第2データ領域31B,第4データ領域31D,第2データ領域31Bにそれぞれ記憶される。第1ACC14Aは、第1データ領域31Aと第3データ領域31Cから交互にデータを読み取り、データ1−a,2−a,3−a,4−a,5−aを取得して処理する。第2ACC14Bは、第2データ領域31Bと第4データ領域31Dから交互にデータを読み取り、データ1−b,2−b,3−b,4−b,5−bを取得して処理する。   Thereafter, the DMAC 13 sequentially transfers the data of the external memory 18 to the internal memory 20D, and the first ACC 14A and the second ACC 14B read the data from the internal memory 20D in parallel. In FIG. 19, data 1-a is in the first data area 31A, data 1-b is in the second data area 31B, data 2-a is in the third data area 31C, and data 2-b is in the fourth data area 31D. Are stored respectively. The data 3-a, 4-a, 5-a are stored in the first data area 31A, the third data area 31C, and the first data area 31A, respectively, and the data 3-b, 4-b, 5-b are stored. Are stored in the second data area 31B, the fourth data area 31D, and the second data area 31B, respectively. The first ACC 14A alternately reads data from the first data area 31A and the third data area 31C, and acquires and processes data 1-a, 2-a, 3-a, 4-a, and 5-a. The second ACC 14B alternately reads data from the second data area 31B and the fourth data area 31D, and acquires and processes data 1-b, 2-b, 3-b, 4-b, 5-b.

図20は、内部メモリ20Dのアクセス動作における書き込みデータおよび読み出しデータの変化を示すタイムチャートである。このタイムチャートは、1個のDMAC13による外部メモリ18から内部メモリ20Dへのデータ転送速度と、2個のACC14AおよびACC14Bによる内部メモリ20Dからの読み出し速度がほぼ等しい場合の動作タイムチャートである。言い換えれば、1個のDMAC13は、ACC14が所定時間に処理するデータを、所定時間の約半分の時間で転送する。   FIG. 20 is a time chart showing changes in write data and read data in the access operation of the internal memory 20D. This time chart is an operation time chart when the data transfer speed from the external memory 18 to the internal memory 20D by one DMAC 13 and the read speed from the internal memory 20D by the two ACCs 14A and ACC14B are substantially equal. In other words, one DMAC 13 transfers data to be processed by the ACC 14 at a predetermined time in about half the predetermined time.

図20において、第1ページ領域〜第4ページ領域の単線の四角形は、DMAC13による内部メモリ20Dへの転送データの書き込みを示し、両端が2重線の四角形は、第1ACC14Aおよび第2ACC14Bによる内部メモリ20Dからのデータの読み出しを示す。   In FIG. 20, a single-line rectangle in the first page area to the fourth page area indicates writing of transfer data to the internal memory 20D by the DMAC 13, and a double-line square at both ends indicates the internal memory by the first ACC 14A and the second ACC 14B. Data reading from 20D is shown.

図20に示すように、DMAC13によるデータ転送は、ページ順に行われ、第1ACC14Aおよび第2ACC14Bによるデータ読み出しは、一部が並行して行われる。   As shown in FIG. 20, data transfer by the DMAC 13 is performed in page order, and data reading by the first ACC 14A and the second ACC 14B is partially performed in parallel.

DMAC13は、1ページ目のデータ1−aの転送および書き込みが完了すると、2ページ目のデータ1−bの転送および書き込みを開始する。一方、1ページ目のデータ1−aの転送および書き込みが完了すると、第1ACC14Aは直ちにデータ1−aの読み取りを開始する。この時、2ページ目のデータ1−bの転送および書き込みが並行して行われる。そして、2ページ目のデータ1−bの転送および書き込みが完了すると、DMAC13は、3ページ目のデータ2−aの転送および書き込みを開始し、第2ACC14Bは、データ1−bの読み取りを開始する。この時、第1ACC14Aはまだデータ1−aの読み取りを行っている。以下、4ページ目以降のデータ2−aの書き込みおよび読み取りを行う。   When the transfer and writing of the data 1-a on the first page is completed, the DMAC 13 starts transferring and writing the data 1-b on the second page. On the other hand, when the transfer and writing of the data 1-a for the first page are completed, the first ACC 14A immediately starts reading the data 1-a. At this time, transfer and writing of the data 1-b of the second page are performed in parallel. When the transfer and writing of the data 1-b on the second page are completed, the DMAC 13 starts transferring and writing the data 2-a on the third page, and the second ACC 14B starts reading the data 1-b. . At this time, the first ACC 14A is still reading the data 1-a. Thereafter, the data 2-a on and after the fourth page is written and read.

DMAC13による4ページ目のデータ2−bの転送および書き込みが完了した時には、第1ページ領域31Aに書き込まれたデータ1−aは既に第1ACC14Aにより読み取られて“書き込み(Write)待ち”であるから、DMAC13は、5ページ目のデータ3−aの第1ページ領域31Aへの転送および書き込みが開始される。   When the transfer and writing of the data 2-b of the fourth page by the DMAC 13 are completed, the data 1-a written in the first page area 31A has already been read by the first ACC 14A and is “waiting for writing”. The DMAC 13 starts to transfer and write the data 3-a of the fifth page to the first page area 31A.

以下、第1ACC14Aと第2ACC14Bを交互に使用して、データの書き込みが完了していずれかのページ領域が“読み出し(Read)待ち”状態になるまで待機し、“読み出し(Read)”状態になったら、新たなデータの読み出しを行う。このような動作を繰り返すことにより、第1ACC14Aと第2ACC14Bは、外部メモリ18に記憶されたアクセス方式が異なる形で記憶されたデータを高速で処理することができる。   Thereafter, the first ACC 14A and the second ACC 14B are alternately used to wait until data writing is completed and one of the page areas is in a “read (read)” state, and then in a “read” state. Then, new data is read out. By repeating such an operation, the first ACC 14A and the second ACC 14B can process at high speed data stored in different forms stored in the external memory 18.

第4実施形態における転送されたデータの内部メモリ20D(内部メモリコア21のページ領域31A〜31D)への書き込み処理は、第1実施形態と同じである。   The process of writing the transferred data to the internal memory 20D (page areas 31A to 31D of the internal memory core 21) in the fourth embodiment is the same as in the first embodiment.

図21は、第4実施形態において、第1ACC14Aおよび第2ACC14Bにより内部メモリ20D(内部メモリコア21のページ領域31A〜31D)からのデータの読み出し処理を示すフローチャートである。   FIG. 21 is a flowchart showing a process of reading data from the internal memory 20D (page areas 31A to 31D of the internal memory core 21) by the first ACC 14A and the second ACC 14B in the fourth embodiment.

ステップS51では、第1ACC14Aまたは第2ACC14Bが、内部メモリ20Dの第1読み出しアドレス変換機構23Aまたは第2読み出しアドレス変換機構23Bへの読み出し(Read)処理の発行を行う。   In step S51, the first ACC 14A or the second ACC 14B issues a read process to the first read address conversion mechanism 23A or the second read address conversion mechanism 23B of the internal memory 20D.

ステップS52では、第1読み出しアドレス変換機構23Aまたは第2読み出しアドレス変換機構23Bが、内部メモリ容量レジスタおよびページ容量レジスタの値、ベースアドレスレジスタ54の値、ストライド量レジスタ55の値および状態フラグに基づいて、読み出しアドレスを内部メモリ読み出しアドレスと読み出しページを算出する。   In step S52, the first read address translation mechanism 23A or the second read address translation mechanism 23B is based on the values of the internal memory capacity register and the page capacity register, the value of the base address register 54, the value of the stride amount register 55, and the status flag. Thus, the internal memory read address and the read page are calculated as the read address.

ステップS53では、第1読み出しアドレス変換機構23Aまたは第2読み出しアドレス変換機構23Bが、読み出しページの状態がWrite待ち(010)またはWrite中(01)であるか判定する。読み出しページが、Write待ちまたはWrite中である時には読み出しは行えないので、これらの状態が終了するまで待機し、これらの状態が終了したら次のステップに進む。   In step S53, the first read address translation mechanism 23A or the second read address translation mechanism 23B determines whether the status of the read page is Write wait (010) or Write in progress (01). Since reading cannot be performed when the read page is waiting for writing or writing, the process waits until these states are completed, and proceeds to the next step when these states are completed.

ステップS54では、第1読み出しアドレス変換機構23Aまたは第2読み出しアドレス変換機構23Bが、読み出しページの状態がRead待ち(10)であるかを判定し、Read待ち(10)であればステップS55に進み、Read待ち(10)でなければステップS56に進む。   In step S54, the first read address translation mechanism 23A or the second read address translation mechanism 23B determines whether the status of the read page is Wait for Read (10), and if it is Wait for Read (10), the process proceeds to Step S55. If it is not Read waiting (10), the process proceeds to step S56.

ステップS55では、状態遷移制御部24が、読み出しページの状態フラグをRead中(11)に遷移させる。   In step S55, the state transition control unit 24 changes the state flag of the read page to “Reading” (11).

ステップS56では、第1読み出しアドレス変換機構23Aまたは第2読み出しアドレス変換機構23Bが、内部メモリコア21の内部メモリ読み出しアドレスからのデータの読み出しを行う。   In step S56, the first read address conversion mechanism 23A or the second read address conversion mechanism 23B reads data from the internal memory read address of the internal memory core 21.

ステップS57では、第1読み出しアドレス変換機構23Aまたは第2読み出しアドレス変換機構23Bが、設定したレジスタ情報を基にして、内部メモリ読み出しアドレスが、読み出しページの最終アドレスであるかを判定し、最終アドレスであればステップS58に進み、最終アドレスでなければ終了する。この後、同じ読み出しページに対して、ステップS51からS57が繰り返される。   In step S57, the first read address conversion mechanism 23A or the second read address conversion mechanism 23B determines whether the internal memory read address is the final address of the read page based on the set register information. If so, the process proceeds to step S58, and if not the final address, the process ends. Thereafter, steps S51 to S57 are repeated for the same read page.

ステップS58では、状態遷移制御部24が、読み出しページの状態フラグをWrite待ち(00)に遷移させ、終了する。   In step S58, the state transition control unit 24 changes the status flag of the read page to write wait (00), and the process ends.

図22は、第5実施形態のデータ処理装置10Eの内部メモリ20Eの構成を示す図である。   FIG. 22 is a diagram illustrating a configuration of the internal memory 20E of the data processing device 10E according to the fifth embodiment.

第4実施形態のデータ処理装置10Dは、内部メモリ20D内部に、2個のACC14Aおよび14Bに対応して、2個の読み出しアドレス変換機構23Aおよび23Bを設けた。しかし、読み出しアドレス変換機構による内部メモリコア21からのデータの読み出し速度が、1個のACCによるデータ処理速度より十分に高速であれば、例えば2倍以上高速であれば、2個のACC14Aおよび14Bを使用しても、1個の読み出しアドレス変換機構23で内部メモリコア21からデータを読み出すことが可能である。   In the data processing device 10D of the fourth embodiment, two read address conversion mechanisms 23A and 23B are provided in the internal memory 20D corresponding to the two ACCs 14A and 14B. However, if the read speed of the data from the internal memory core 21 by the read address conversion mechanism is sufficiently higher than the data processing speed by one ACC, for example, if it is twice or more, the two ACCs 14A and 14B Even when using, data can be read from the internal memory core 21 by one read address conversion mechanism 23.

第5実施形態のデータ処理装置10Eは、図17に示した第4実施形態のデータ処理装置10Bと同様に、2個のACC14Aおよび14Bを有する。内部メモリ20Eは、動作速度が高速で、2個のACC14Aおよび14Bが所定時間に処理するデータを1個の読み出しアドレス変換機構23で内部メモリコア21から所定時間内で読み出すことが可能である。他の部分は、第1および第4実施形態と同じである。   Similarly to the data processing device 10B of the fourth embodiment shown in FIG. 17, the data processing device 10E of the fifth embodiment has two ACCs 14A and 14B. The internal memory 20E has a high operating speed and can read data processed by the two ACCs 14A and 14B in a predetermined time from the internal memory core 21 by the single read address conversion mechanism 23 within a predetermined time. Other parts are the same as those in the first and fourth embodiments.

図22に示すように、第5実施形態のデータ処理装置1ECの内部メモリ20Eは、第1実施形態の内部メモリ20Aと同様の構成を有するが、読み出しアドレス変換機構23がACCの個数(ここでは2個)分のアドレス範囲レジスタ56Aおよび56Bを有する。なお、図示していないが、第4実施形態と同様に内部メモリ容量レジスタ42および52とページ容量レジスタ43および53が、書き込みアドレス変換機構22および読み出しアドレス変換機構23にそれぞれ設けられている。さらに、読み出しアドレス変換機構23は、ベースアドレスレジスタ54とストライド量レジスタ55と、を有する。   As shown in FIG. 22, the internal memory 20E of the data processing device 1EC of the fifth embodiment has the same configuration as the internal memory 20A of the first embodiment, but the read address conversion mechanism 23 has the number of ACCs (here, 2) address range registers 56A and 56B. Although not shown, the internal memory capacity registers 42 and 52 and the page capacity registers 43 and 53 are provided in the write address conversion mechanism 22 and the read address conversion mechanism 23, respectively, as in the fourth embodiment. Further, the read address conversion mechanism 23 includes a base address register 54 and a stride amount register 55.

アドレス範囲レジスタ56Aおよび56Bは、第1ACC18Aおよび第2ACC18Bのアドレス範囲をそれぞれ記憶している。2個の第1ACC18Aおよび第2ACC18Bからの読み出しアドレスに関する情報から、データ要求元のACCを判定することができる。   Address range registers 56A and 56B store the address ranges of first ACC 18A and second ACC 18B, respectively. The ACC of the data request source can be determined from the information regarding the read addresses from the two first ACCs 18A and the second ACCs 18B.

図23は、第5実施形態の内部メモリ20Eにおいて、DMAC13が、メモリコントローラ16を介して外部メモリ18のデータを内部メモリ20Eに書き込み、第1ACC14Aおよび第2ACC14Bが内部メモリ20Eに転送されたデータを読み取るアクセス動作を説明する図である。   In FIG. 23, in the internal memory 20E of the fifth embodiment, the DMAC 13 writes the data of the external memory 18 to the internal memory 20E via the memory controller 16, and the first ACC 14A and the second ACC 14B transfer the data transferred to the internal memory 20E. It is a figure explaining the access operation to read.

前述のように、外部メモリ18は、第1ACC14Aが処理するデータ1−a,2−a,3−a,4−a,5−aと、第2ACC14Bが処理するデータ1−b,2−b,3−b,4−b,5−bと、交互に記憶している。   As described above, the external memory 18 includes the data 1-a, 2-a, 3-a, 4-a, 5-a processed by the first ACC 14A and the data 1-b, 2-b processed by the second ACC 14B. , 3-b, 4-b, 5-b are stored alternately.

まず、DMAC13は、メモリコントローラ16を介して、外部メモリ18に記憶されているデータ1−a,1−b,2−a,2−b,…を順番に読み出し、内部メモリ20Eの書き込みアドレス変換機構22に転送する。第1実施例と同様に、書き込みアドレス変換機構22は、転送されたデータを、ページ領域31A〜31Dに順番に書き込む。この際、各ページの状態フラグの確認を行い、書き込み不可の場合は可能になるまで待機し、書き込み可能な場合は書き込みデータの書き込みを行う。   First, the DMAC 13 sequentially reads data 1-a, 1-b, 2-a, 2-b,... Stored in the external memory 18 via the memory controller 16 and converts the write address of the internal memory 20E. Transfer to mechanism 22. As in the first embodiment, the write address conversion mechanism 22 writes the transferred data in the page areas 31A to 31D in order. At this time, the status flag of each page is checked, and if it is not writable, it waits until it becomes possible, and if it is writable, write data is written.

第1ACC14Aまたは第2ACC14Bは、読み出しアドレス変換機構23に読み出しアドレスを出力する。読み出しアドレス変換機構23は、読み出しアドレスと、アドレス範囲レジスタ56Aおよび56Bに記憶されたアドレス範囲と比較し、データの要求元のACCを特定する。言い換えれば、読み出しアドレス変換機構23は、要求されたデータのページ領域を判定する。そして、読み出しアドレス変換機構23は、判定したページ領域に応じて、データを読み出すページ領域を選択する。そして、読み出しアドレス、各レジスタの値および状態フラグに基づいて、内部メモリ読み出しアドレスに変換するアドレス変換を行い、読み出しページの状態フラグに応じて、読み出しまたは待機を行う。   The first ACC 14A or the second ACC 14B outputs a read address to the read address conversion mechanism 23. The read address conversion mechanism 23 compares the read address with the address ranges stored in the address range registers 56A and 56B, and identifies the ACC that requested the data. In other words, the read address translation mechanism 23 determines the page area of the requested data. Then, the read address conversion mechanism 23 selects a page area from which data is read according to the determined page area. Then, based on the read address, the value of each register, and the status flag, address conversion is performed for conversion to an internal memory read address, and reading or waiting is performed according to the status flag of the read page.

読み出されたデータは、第1ACC14Aまたは第2ACC14Bに出力される。他の動作は、第4実施形態と同じである。したがって、第5実施形態における内部メモリ20Eのアクセス動作を示すタイムチャートは、図20に示した第4実施形態のタイムチャートと同じである。   The read data is output to the first ACC 14A or the second ACC 14B. Other operations are the same as those in the fourth embodiment. Therefore, the time chart showing the access operation of the internal memory 20E in the fifth embodiment is the same as the time chart of the fourth embodiment shown in FIG.

図24は、第5実施形態において、第1ACC14Aおよび第2ACC14Bにより内部メモリ20E(内部メモリコア21のページ領域31A〜31D)からのデータの読み出し処理を示すフローチャートである。   FIG. 24 is a flowchart showing a process of reading data from the internal memory 20E (page areas 31A to 31D of the internal memory core 21) by the first ACC 14A and the second ACC 14B in the fifth embodiment.

ステップS61では、第1ACC14Aまたは第2ACC14Bが、内部メモリ20Dの第1読み出しアドレス変換機構23Aまたは第2読み出しアドレス変換機構23Bへの読み出し(Read)処理の発行を行う。   In step S61, the first ACC 14A or the second ACC 14B issues a read process to the first read address conversion mechanism 23A or the second read address conversion mechanism 23B of the internal memory 20D.

ステップS62では、読み出しアドレスとアドレス範囲レジスタ56Aおよび56Bに記憶されたアドレス範囲情報がマッチするかを判定し、マッチすればステップS64に進み、マッチしなければステップS63に進む。   In step S62, it is determined whether the read address matches the address range information stored in the address range registers 56A and 56B. If they match, the process proceeds to step S64, and if they do not match, the process proceeds to step S63.

ステップS63では、読み出しアドレスとアドレス範囲がマッチしないので、要求元のACCを確認できないので、別のレジスタ情報を参照する。この処理は実施形態の処理に直接関係しないので、説明は省略する。   In step S63, since the read address and the address range do not match, the request source ACC cannot be confirmed, so another register information is referred to. Since this process is not directly related to the process of the embodiment, the description is omitted.

ステップS64では、読み出しアドレス変換機構23が、設定したレジスタ情報を基にして、入力された読み出しアドレスから内部メモリ読み出しアドレスと読み出しページを算出する。   In step S64, the read address conversion mechanism 23 calculates an internal memory read address and a read page from the input read address based on the set register information.

ステップS65からS51は、図21のステップS53からS58と同じ処理である。   Steps S65 to S51 are the same processes as steps S53 to S58 in FIG.

第1および第5実施形態においては、各ページ領域のデータは最後まで読み出されてACCに出力された。状態遷移制御部24は、最後までデータが読み出された各ページ領域を、“書き込み(Write)待ち(00)”に変化させる。しかし、ACCの処理において、各ページ領域の途中までのデータで処理が完了し、最後までデータを読み出す必要のない場合があり得る。このような場合、内部メモリへの新たなデータの書き込みができないというデッドロックが発生する場合がある。このデッドロックの発生を、第4実施形態を例として説明する。   In the first and fifth embodiments, the data in each page area is read to the end and output to the ACC. The state transition control unit 24 changes each page area from which data has been read to the end to “Waiting for Write (00)”. However, in the ACC process, there is a case where the process is completed with the data up to the middle of each page area and it is not necessary to read the data to the end. In such a case, there may be a deadlock that new data cannot be written to the internal memory. The occurrence of this deadlock will be described using the fourth embodiment as an example.

図25は、第4実施形態におけるデッドロックの発生を説明する図であり、図20のタイムチャートに対応する図である。   FIG. 25 is a diagram illustrating the occurrence of deadlock in the fourth embodiment, and corresponds to the time chart of FIG.

図25において、第1ACC14Aが、第1メモリ領域31Aに記憶されたデータ3−aを読み出すが、途中のデータまでしか必要としない場合を考える。この場合、第1ACC14Aは、データ3−aの最後まで読み出さないため、第1メモリ領域31Aの状態フラグは、“書き込み(Write)待ち(00)”にならず、“読み取り(Read)中(11)”のまま維持される。DMAC13による第4メモリ領域31Dへのデータ4−bの転送および書き込みが完了した後、DMAC13は第1メモリ領域31Aへのデータ5−aの転送および書き込みを行う。第1メモリ領域31Aは“読み取り(Read)中(11)”であり、DMAC13は、待機することになるが、第1メモリ領域31Aが“書き込み(Write)待ち(00)”になることはないので待機状態が続くことになる。そのため、データ5−a,5−bの内部メモリ20Dへの転送および書き込みが行われず、デッドロックが発生する。次に説明する第6実施形態のデータ処理装置では、デッドロックの発生を防止する。   In FIG. 25, consider a case where the first ACC 14A reads the data 3-a stored in the first memory area 31A, but only requires halfway data. In this case, since the first ACC 14A does not read until the end of the data 3-a, the status flag of the first memory area 31A does not become “Waiting for writing (00)”, but is “Reading” (11 ) ”. After the transfer and writing of the data 4-b to the fourth memory area 31D by the DMAC 13 is completed, the DMAC 13 transfers and writes the data 5-a to the first memory area 31A. The first memory area 31A is “Reading (11)” and the DMAC 13 waits, but the first memory area 31A does not become “Write wait (00)”. Therefore, the standby state will continue. Therefore, the data 5-a and 5-b are not transferred and written to the internal memory 20D, and a deadlock occurs. In the data processing apparatus according to the sixth embodiment described below, the occurrence of deadlock is prevented.

図26は、第6実施形態のデータ処理装置10Fの構成とデータのアクセス経路を示す図である。第6実施形態のデータ処理装置10Fは、第1および第2DMAC13Aおよび13Bと、第1および第2ACC14Aおよび14Bと、を有し、2個の第1および第2外部メモリ18Aが接続される。   FIG. 26 is a diagram illustrating a configuration of the data processing device 10F according to the sixth embodiment and a data access path. The data processing device 10F of the sixth embodiment includes first and second DMACs 13A and 13B, and first and second ACCs 14A and 14B, and two first and second external memories 18A are connected.

図27は、内部メモリ20Fの構成を示す図である。   FIG. 27 is a diagram showing the configuration of the internal memory 20F.

図27に示すように、第6実施形態のデータ処理装置10Fの内部メモリ20Fは、2個の書き込みアドレス変換機構22Aおよび22Bと、2個の読み出しアドレス変換機構23Aおよび23Bと、を有する。2個の書き込みアドレス変換機構22Aおよび22Bは、アドレス範囲レジスタ46Aおよび46Bを有し、2個の読み出しアドレス変換機構23Aおよび23Bは、アドレス範囲レジスタ56Aおよび56Bを有する。言い換えれば、第6実施形態のデータ処理装置10Fの内部メモリ20Fは、第3実施形態と第5実施形態を合わせた構成を有する。   As shown in FIG. 27, the internal memory 20F of the data processing device 10F according to the sixth embodiment includes two write address conversion mechanisms 22A and 22B and two read address conversion mechanisms 23A and 23B. The two write address translation mechanisms 22A and 22B have address range registers 46A and 46B, and the two read address translation mechanisms 23A and 23B have address range registers 56A and 56B. In other words, the internal memory 20F of the data processing device 10F according to the sixth embodiment has a configuration in which the third embodiment and the fifth embodiment are combined.

さらに、第6実施形態のデータ処理装置は、内部メモリ20Fの状態遷移制御部24のページごとの状態フラグに“ACC処理完了(100)”を追加したことが第4および第5実施形態のデータ処理装置と異なる。   Furthermore, the data processing apparatus according to the sixth embodiment adds “ACC processing completion (100)” to the status flag for each page of the state transition control unit 24 of the internal memory 20F. Different from processing equipment.

第1ACC14Aおよび第2ACC14Bは、ページの途中でデータの処理を完了する場合を含めて、処理を完了した時には第1読み出しアドレス変換機構23Aおよび第2読み出しアドレス変換機構23Bに“ACC処理完了”を通知する。これに応じて、第1読み出しアドレス変換機構23Aおよび第2読み出しアドレス変換機構23Bは、“ACC処理完了”を状態遷移制御部24に通知し、状態遷移制御部24は対応するページの状態フラグを“ACC処理完了”に変化させる。   The first ACC 14A and the second ACC 14B notify the first read address conversion mechanism 23A and the second read address conversion mechanism 23B of “ACC processing completion” when the processing is completed, including the case where the data processing is completed in the middle of the page. To do. In response to this, the first read address translation mechanism 23A and the second read address translation mechanism 23B notify the state transition control unit 24 of “ACC processing completion”, and the state transition control unit 24 displays the status flag of the corresponding page. Change to “ACC processing complete”.

図28は、第6実施形態における各ページの状態フラグの変化を示す図である。図6に示した書き込み(Write)待ち(00)、書き込み(Write)中(01)、読み出し (Read)待ち(10)および読み出し (Read)中(11)の4つの状態に、“ACC処理完了(100)”が加えられている。“ACC処理完了(100)”は、4つの状態のいずれからも遷移することがあり得る。また、読み出し (Read)待ち(10)から書き込み(Write)待ち(00)への遷移も起きる場合がある。   FIG. 28 is a diagram illustrating changes in the status flags of each page in the sixth embodiment. In the four states shown in FIG. 6, writing (00), writing (01), reading (10) and reading (11), “ACC processing complete” (100) ”is added. “ACC processing complete (100)” can transition from any of the four states. In addition, there may be a transition from waiting for reading (10) to waiting for writing (00).

図29は、第6実施形態において、転送されたデータの内部メモリ20F(内部メモリコア21のページ領域31A〜31D)への書き込み処理を示すフローチャートである。   FIG. 29 is a flowchart showing a process of writing transferred data to the internal memory 20F (page areas 31A to 31D of the internal memory core 21) in the sixth embodiment.

ステップS71では、DMAC13が、内部メモリ20Fの書き込みアドレス変換機構22への書き込み(Write)処理の発行を行う。   In step S71, the DMAC 13 issues a write process to the write address conversion mechanism 22 of the internal memory 20F.

ステップS72では、書き込みアドレスとアドレス範囲レジスタ46Aおよび46Bに記憶されたアドレス範囲情報がマッチするかを判定し、マッチすればステップS74に進み、マッチしなければステップS73に進む。   In step S72, it is determined whether the write address matches the address range information stored in the address range registers 46A and 46B. If they match, the process proceeds to step S74, and if not, the process proceeds to step S73.

ステップS73では、書き込みアドレスとアドレス範囲がマッチしないので、転送元の外部メモリを確認できないので、別のレジスタ情報を参照する。   In step S73, since the write address and the address range do not match, the transfer source external memory cannot be confirmed, so another register information is referred to.

ステップS74では、書き込みアドレス変換機構22が、設定したレジスタ情報を基にして、入力された書き込みアドレスから内部メモリ書き込みアドレスと書き込みページを算出する。   In step S74, the write address conversion mechanism 22 calculates an internal memory write address and a write page from the input write address based on the set register information.

ステップS75では、状態フラグが“ACC処理完了(100)”であるかを判定し、“ACC処理完了(100)”であればステップS76に進み、“ACC処理完了(100)”でなければステップS77に進む。   In step S75, it is determined whether or not the status flag is “ACC process complete (100)”. If “ACC process complete (100)”, the process proceeds to step S76. Proceed to S77.

ステップS76では、外部メモリからのデータの転送は行うが、内部メモリ20Fへの書き込みは行わずに終了する。   In step S76, data is transferred from the external memory, but the process ends without writing to the internal memory 20F.

ステップS77からS82は、図13のステップS33からS38と同じ処理である。   Steps S77 to S82 are the same processing as steps S33 to S38 in FIG.

図30は、第6実施形態において、第1ACC14Aおよび第2ACC14Bにより内部メモリ20F(内部メモリコア21のページ領域31A〜31D)からのデータの読み出し処理を示すフローチャートである。   FIG. 30 is a flowchart showing a process of reading data from the internal memory 20F (page areas 31A to 31D of the internal memory core 21) by the first ACC 14A and the second ACC 14B in the sixth embodiment.

ステップS91では、第1ACC14Aまたは第2ACC14Bが、内部メモリ20Dの第1読み出しアドレス変換機構23Aまたは第2読み出しアドレス変換機構23Bへの読み出し(Read)処理の発行を行う。   In step S91, the first ACC 14A or the second ACC 14B issues a read process to the first read address translation mechanism 23A or the second read address translation mechanism 23B of the internal memory 20D.

ステップS92では、読み出しアドレスとアドレス範囲レジスタ56Aおよび56Bに記憶されたアドレス範囲情報がマッチするかを判定し、マッチすればステップS94に進み、マッチしなければステップS93に進む。   In step S92, it is determined whether the read address matches the address range information stored in the address range registers 56A and 56B. If they match, the process proceeds to step S94, and if they do not match, the process proceeds to step S93.

ステップS93では、読み出しアドレスとアドレス範囲がマッチしないので、要求元のACCを確認できないので、別のレジスタ情報を参照する。この処理は実施形態の処理に直接関係しないので、説明は省略する。   In step S93, since the read address does not match the address range, the request source ACC cannot be confirmed, so another register information is referred to. Since this process is not directly related to the process of the embodiment, the description is omitted.

ステップS94では、読み出しアドレス変換機構23が、設定したレジスタ情報を基にして、入力された読み出しアドレスから内部メモリ読み出しアドレスと読み出しページを算出する。   In step S94, the read address conversion mechanism 23 calculates an internal memory read address and a read page from the input read address based on the set register information.

ステップS95では、算出した読み出しページと直前の処理で読み出したページが異なるか判定し、異なればステップS96に進み、同じであればステップS97に進む。   In step S95, it is determined whether the calculated read page is different from the page read in the immediately preceding process. If they are different, the process proceeds to step S96, and if they are the same, the process proceeds to step S97.

ステップ96では、内部メモリ20Fに保持されているページから算出した読み出しページの直前のページまでの状態フラグを“書き込み(Write)待ち(00)”に遷移させ、ステップS97に進む。   In step 96, the status flag from the page held in the internal memory 20F to the page immediately before the calculated read page is changed to “Waiting for write (00)”, and the process proceeds to step S97.

ステップS97からS102は、図21のステップS53からS58と同じ処理である。   Steps S97 to S102 are the same processing as steps S53 to S58 in FIG.

ステップS103では、読み出しアドレス変換機構23が行った処理における内部メモリ読み出しアドレスと読み出しページに関する情報をメモリに格納して終了する。   In step S103, the internal memory read address and information related to the read page in the process performed by the read address conversion mechanism 23 are stored in the memory, and the process is terminated.

図31は、第6実施形態において、第1ACC14Aおよび第2ACC14Bによる読み出し処理が完了した時に行う処理を示すフローチャートである。   FIG. 31 is a flowchart illustrating a process performed when the read process by the first ACC 14A and the second ACC 14B is completed in the sixth embodiment.

ステップS110では、第1ACC14Aまたは第2ACC14Bが、処理が完了したことを通知する。   In step S110, the first ACC 14A or the second ACC 14B notifies the completion of the process.

ステップS111では、読み出し制御部51が、処理が完了したのがどのACCであるかを確認する。   In step S111, the read control unit 51 confirms which ACC has completed the process.

ステップS112では、処理を完了したACCのレジスタ情報に基づいて、処理していたページを割り出す。   In step S112, the page that has been processed is determined based on the register information of the ACC that has completed the process.

ステップS113では、割り出したページの状態フラグの状態を“ACC処理完了(100)”に遷移させる。   In step S113, the status flag status of the determined page is changed to “ACC processing complete (100)”.

ステップS114では、処理完了したACCが複数のページについて処理を行っていた場合を考慮して、全ページの状態遷移を行ったかを判定し、ページが残っていればステップS112に戻り、ページが残っていなければ終了する。   In step S114, it is determined whether or not the state transition of all pages has been performed in consideration of the case where the completed ACC has performed processing for a plurality of pages. If pages remain, the process returns to step S112, and pages remain. If not, exit.

ACCの処理において、連続したページのデータを連続して処理せずに、途中のページのデータを使用せずに処理することがあり得る。このような場合、DMACによる外部メモリから内部メモリへのデータ転送および書き込みは連続したページで行われるため、データが書き込まれたページからのデータの読み出しが行われない、ページの読み飛ばしが発生する。第1から第5実施形態では、内部メモリコア21のページ領域は、データの読み出しが行われた後“書き込み(Write)待ち(00)”に遷移されるが、ページの読み飛ばしが発生すると、データの読み出しが行われないため“読み出し(Read)待ち(10)”が維持される。そのため、内部メモリへの新たなデータの書き込みができないというデッドロックが発生する場合がある。第7実施形態のデータ処理装置では、ページの読み飛ばしが発生しても、デッドロックが発生しない。   In the ACC process, it is possible that the data of consecutive pages is not processed continuously and the data of intermediate pages is not used. In such a case, since data transfer and writing from the external memory to the internal memory by the DMAC are performed in continuous pages, the data is not read from the page in which the data is written, and page skipping occurs. . In the first to fifth embodiments, the page area of the internal memory core 21 is shifted to “Waiting for writing (00)” after data is read, but when page skipping occurs, Since no data is read out, “Read (waiting for read) (10)” is maintained. Therefore, a deadlock that new data cannot be written to the internal memory may occur. In the data processing apparatus according to the seventh embodiment, even when page skipping occurs, deadlock does not occur.

図32は、内部メモリ20Gの構成を示す図である。   FIG. 32 is a diagram showing a configuration of the internal memory 20G.

図32に示すように、第7実施形態のデータ処理装置10Gの内部メモリ20Gは、読み出しアドレス変換機構23が、前回アドレスレジスタ57を有することが、第1実施形態と異なり、他の部分は第1実施形態と同じである。   As shown in FIG. 32, the internal memory 20G of the data processing device 10G of the seventh embodiment is different from the first embodiment in that the read address conversion mechanism 23 has a previous address register 57. The same as in the first embodiment.

図33は、第7実施形態における各ページの状態フラグの変化を示す図である。図6に示した第1実施形態の場合と同様に、書き込み(Write)待ち(00)、書き込み(Write)中(01)、読み出し (Read)待ち(10)および読み出し (Read)中(11)の4つの状態を有する。しかし、“読み取り(Read)待ち(10)”から“書き込み(Write)待ち(00)”への遷移することがあり得ることが、第1実施形態と異なる。“読み取り(Read)待ち(10)”から“書き込み(Write)待ち(00)”への遷移は、読み取り(Read)されずに、ページを跨れた時に発生する。   FIG. 33 is a diagram illustrating changes in the status flag of each page in the seventh embodiment. As in the case of the first embodiment shown in FIG. 6, writing (00), writing (01), reading (10) and reading (11) are in progress (11). There are four states. However, it is different from the first embodiment that a transition from “Read wait (10)” to “Write wait (00)” can occur. The transition from “Read wait (10)” to “Write wait (00)” occurs when a page is straddled without being read.

図34は、第7実施形態において、内部メモリ20Gのアクセス動作における書き込みデータおよび読み出しデータの変化を示すタイムチャートであり、図5に対応する。基本的な動作は第1実施形態と同じなので説明は省略する。   FIG. 34 is a time chart showing changes in write data and read data in the access operation of the internal memory 20G in the seventh embodiment, and corresponds to FIG. Since the basic operation is the same as that of the first embodiment, the description is omitted.

図34に示すように、DMAC13による3ページ目のデータ転送および第1ページ領域31Aへのデータの書き込みが行われ、さらに4ページ目のデータ転送および第2ページ領域31Bへのデータの書き込みが行われる。通常、ACC14は、第2ページ領域31Bに書き込まれた2ページ目のデータの読み取りが終了した後、第1ページ領域31Aに書き込まれた3ページ目のデータおよび第2ページ領域31Bに書き込まれた4ページ目のデータを読み取る。しかし、図34の例では、3ページ目および4ページ目のデータを読み飛ばす。そのため、DMAC13による4ページ目のデータ転送および第2ページ領域31Bへのデータの書き込みが行われた後、5ページ目および6ページ目のデータ転送および第1ページ領域31Aおよび第2ページ領域31Bへのデータの書き込みが行われる。しかし、第1ページ領域31Aおよび第2ページ領域31Bは、“読み取り(Read)待ち(10)”であり、データの書き込みが行えない。そこで、各ページ領域ごとに、読み取り(Read)されずに、後のページを書き込むページを跨れる処理が発生すると、ページ領域を“読み取り(Read)待ち(10)”から“書き込み(Write)待ち(00)”へ遷移させる。これにより、5ページ目および6ページ目のデータ転送および第1ページ領域31Aおよび第2ページ領域31Bへのデータの書き込みが行われ、以降第1実施形態と同様の処理が行われる。   As shown in FIG. 34, the DMAC 13 performs data transfer for the third page and data writing to the first page area 31A, and further performs data transfer for the fourth page and data writing to the second page area 31B. Is called. Normally, the ACC 14 finishes reading the second page data written in the second page area 31B, and then writes the third page data written in the first page area 31A and the second page area 31B. Read data on page 4. However, in the example of FIG. 34, the data on the third page and the fourth page are skipped. Therefore, after the DMAC 13 performs the data transfer of the fourth page and the data writing to the second page area 31B, the data transfer of the fifth page and the sixth page and the first page area 31A and the second page area 31B. The data is written. However, the first page area 31A and the second page area 31B are “read waiting (10)” and data cannot be written. Therefore, if a process that spans pages to which a subsequent page is written without being read (read) is performed for each page area, the page area is changed from “Read wait (10)” to “Write wait”. (00) ". Thereby, the data transfer of the fifth page and the sixth page and the writing of the data to the first page area 31A and the second page area 31B are performed, and the same processing as in the first embodiment is performed thereafter.

図35は、ACC14により内部メモリ20G(内部メモリコア21のページ領域31A〜31D)からのデータの読み出し処理を示すフローチャートである。   FIG. 35 is a flowchart showing a process of reading data from the internal memory 20G (page areas 31A to 31D of the internal memory core 21) by the ACC 14.

ステップS121では、ACC14が、内部メモリ20Gの読み出しアドレス変換機構23への読み出し(Read)処理の発行を行う。   In step S121, the ACC 14 issues a read process to the read address conversion mechanism 23 in the internal memory 20G.

ステップS122では、読み出しアドレス変換機構23が、設定したレジスタ情報を基にして、入力された読み出しアドレスから内部メモリ読み出しアドレスと読み出しページを算出する。   In step S122, the read address conversion mechanism 23 calculates an internal memory read address and a read page from the input read address based on the set register information.

ステップ123では、読み出しアドレス変換機構23が、算出した読み出しページと、前回アドレスレジスタ57に記憶された前回の内部メモリ読み出しアドレスに対応するページとが異なるか判定し、異なればステップS124に進み、同じならばステップS125に進む。   In step 123, the read address conversion mechanism 23 determines whether the calculated read page is different from the page corresponding to the previous internal memory read address stored in the previous address register 57. If they are different, the process proceeds to step S124. If so, the process proceeds to step S125.

ステップS124では、内部メモリに書き込まれて保持されているページのデータのうちで、算出した読み出しページの直前のページまでの状態フラグを“書き込み(Write)待ち(00)”に遷移させ、ステップS125に進む。   In step S124, among the data of the page written and held in the internal memory, the status flag up to the page immediately before the calculated read page is changed to “Waiting for write (00)”, and step S125. Proceed to

ステップS125からS130は、図21のステップS53からS58と同じ処理である。   Steps S125 to S130 are the same processing as steps S53 to S58 in FIG.

ステップS131では、読み出しアドレス変換機構23が行った処理における内部メモリ読み出しアドレスと読み出しページに関する情報をメモリに格納して終了する。   In step S131, the information related to the internal memory read address and the read page in the processing performed by the read address conversion mechanism 23 is stored in the memory, and the process ends.

以上、第1から第7実施形態を説明したが、各種の変形例が可能であり、例えば、第1から第7実施形態で説明した構成は適宜組み合わせることが可能である。   The first to seventh embodiments have been described above, but various modifications are possible. For example, the configurations described in the first to seventh embodiments can be appropriately combined.

以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。   Although the embodiment has been described above, all examples and conditions described herein are described for the purpose of helping understanding of the concept of the invention applied to the invention and the technology. It is not intended to limit the scope of the invention, and the construction of such examples in the specification does not indicate the advantages and disadvantages of the invention. Although embodiments of the invention have been described in detail, it should be understood that various changes, substitutions and modifications can be made without departing from the spirit and scope of the invention.

以下、実施形態に関し、更に以下の付記を開示する。
(付記1)
CPUと、
マスタ動作モジュールと、
前記マスタ動作モジュールから直接アクセス可能な内部メモリと、
前記マスタ動作モジュールから直接アクセスできない外部メモリへのアクセスを行い、前記内部メモリに前記外部メモリに記憶されたデータを転送するデータ転送部と、を備え、
前記内部メモリは、
ページ単位で論理的に分割した2以上のページ記憶領域と、
前記データ転送部により前記外部メモリから転送されたデータを、前記内部メモリのアドレスに変換して、前記2以上のページ記憶領域に書き込む書き込みアドレス変換部と、
前記マスタ動作モジュールの読み出し動作に応じて、前記マスタ動作モジュールの読み出しアドレスを前記内部メモリのアドレスに変換して、前記2以上のページ記憶領域に記憶されたデータを読み出す読み出しアドレス変換部と、
前記2以上のページ記憶領域のそれぞれに対応した状態フラグを有する状態遷移制御部と、を備え、
前記読み出しアドレス変換部が前記書き込みアドレス変換部による書き込みが行われたページ記憶領域に対して読み出し動作を行い、前記書き込みアドレス変換部が前記読み出しアドレス変換部による読み出し動作が終了したページ記憶領域に対して書き込み動作を行うように制御することを特徴とするデータ処理装置。(1)(図2−図9)
(付記2)
前記内部メモリは、
前記内部メモリの容量を規定する値を記憶する内部メモリ容量レジスタと、
前記ページ記憶領域の大きさを規定する値を記憶するページ容量レジスタと、を備え、
前記内部メモリ容量レジスタおよび前記ページ容量レジスタの値は、任意に設定可能である付記1記載のデータ処理装置。
(付記3)
前記データ転送部は、複数の前記外部メモリから並行してデータを転送する複数のデータ転送器を備え、
前記書き込みアドレス変換部は、前記複数のデータ転送器に対応した複数の書き込みアドレス変換機構を備える付記1または2記載のデータ処理装置。(2)(図9、図10)
(付記4)
各書き込みアドレス変換機構は、
前記内部メモリへのデータ書き込みの開始アドレス情報を記憶するベースアドレスレジスタと、
データを書き込むページ記憶領域が変化する時の変化量を記憶するストライド量レジスタと、を備える付記3記載のデータ処理装置。
(付記5)
前記データ転送部は、複数の前記外部メモリから並行してデータを転送する複数のデータ転送器を備え、
前記書き込みアドレス変換部は、前記複数のデータ転送器に対応した複数のアドレス範囲レジスタを備え、
各アドレス範囲レジスタは、対応するデータ転送器によりデータが転送される前記外部メモリのアドレス範囲を記憶し、
前記書き込みアドレス変換部は、前記アドレス範囲から前記外部メモリを特定する付記1または2記載のデータ処理装置。(3)(図14−図16)
(付記6)
前記マスタ動作モジュールは、前記内部メモリから並行してデータを読み取る複数のマスタ動作器を備え、
前記読み出しアドレス変換部は、前記複数のマスタ動作器に対応した複数の読み出しアドレス変換機構を備える付記1から5のいずれか記載のデータ処理装置。(4)(図17−図21)
(付記7)
各読み出しアドレス変換機構は、
前記内部メモリからのデータ読み出しの開始アドレス情報を記憶するベースアドレスレジスタと、
データを読み出すページ記憶領域が変化する時の変化量を記憶するストライド量レジスタと、を備える付記6記載のデータ処理装置。
(付記8)
前記マスタ動作モジュールは、前記内部メモリから並行してデータを読み取る複数のマスタ動作器を備え、
前記読み出しアドレス変換部は、前記複数のマスタ動作器に対応した複数のアドレス範囲レジスタを備え、
各アドレス範囲レジスタは、対応するマスタ動作器のアドレス範囲を記憶し、
前記読み出しアドレス変換部は、前記アドレス範囲から前記マスタ動作器を特定する付記1から5のいずれか記載のデータ処理装置。
(付記9)
前記マスタ動作モジュールは、前記内部メモリからのデータの読み取りが終了すると、前記読み出しアドレス変換部に読み取り完了を通知し、
前記読み出しアドレス変換部は、前記マスタ動作モジュールが、読み取り完了が通知された前記ページ記憶領域より後のページにアクセスしたことを検出した時には、読み取り完了が通知された前記ページ記憶領域を書き込み待ちの状態に遷移させる付記1から8のいずれか記載のデータ処理装置。
(付記10)
前記読み出しアドレス変換部は、前記マスタ動作モジュールが前回アクセスしたアドレス情報を記憶する前回アドレスレジスタを備え、
前記前回アクセスしたアドレス情報と前記マスタ動作モジュールによる読み出しアドレスを比較して、前記マスタ動作モジュールが前記内部メモリに書き込まれたデータを読み取らずに次のページにアクセスするページの読み飛ばしを行ったことを検出した時には、読み飛ばされたページを書き込み待ちの状態に遷移させる請求項1から8のいずれか記載のデータ処理装置。(5)(図32−図35)
Hereinafter, the following additional notes will be disclosed with respect to the embodiment.
(Appendix 1)
CPU,
A master operating module;
An internal memory accessible directly from the master operating module;
A data transfer unit that accesses an external memory that is not directly accessible from the master operation module, and that transfers data stored in the external memory to the internal memory; and
The internal memory is
Two or more page storage areas logically divided in units of pages;
A write address conversion unit that converts the data transferred from the external memory by the data transfer unit into an address of the internal memory and writes the address to the two or more page storage areas;
A read address conversion unit that converts a read address of the master operation module into an address of the internal memory in accordance with a read operation of the master operation module, and reads data stored in the two or more page storage areas;
A state transition control unit having a state flag corresponding to each of the two or more page storage areas,
The read address conversion unit performs a read operation on the page storage area where writing by the write address conversion unit is performed, and the write address conversion unit performs read operation on the page storage area where the read operation by the read address conversion unit is completed. And a data processing apparatus that controls to perform a writing operation. (1) (Figs. 2-9)
(Appendix 2)
The internal memory is
An internal memory capacity register for storing a value defining the capacity of the internal memory;
A page capacity register for storing a value defining the size of the page storage area,
The data processing device according to appendix 1, wherein values of the internal memory capacity register and the page capacity register can be arbitrarily set.
(Appendix 3)
The data transfer unit includes a plurality of data transfer units that transfer data in parallel from the plurality of external memories,
The data processing apparatus according to appendix 1 or 2, wherein the write address conversion unit includes a plurality of write address conversion mechanisms corresponding to the plurality of data transfer units. (2) (FIGS. 9 and 10)
(Appendix 4)
Each write address translation mechanism
A base address register for storing start address information of data writing to the internal memory;
The data processing apparatus according to appendix 3, further comprising: a stride amount register that stores a change amount when a page storage area to which data is written changes.
(Appendix 5)
The data transfer unit includes a plurality of data transfer units that transfer data in parallel from the plurality of external memories,
The write address conversion unit includes a plurality of address range registers corresponding to the plurality of data transfer units,
Each address range register stores an address range of the external memory to which data is transferred by a corresponding data transfer unit,
The data processing device according to appendix 1 or 2, wherein the write address conversion unit specifies the external memory from the address range. (3) (FIGS. 14-16)
(Appendix 6)
The master operation module includes a plurality of master operation units that read data in parallel from the internal memory,
The data processing device according to any one of appendices 1 to 5, wherein the read address conversion unit includes a plurality of read address conversion mechanisms corresponding to the plurality of master operating units. (4) (FIGS. 17 to 21)
(Appendix 7)
Each read address translation mechanism
A base address register for storing start address information of data reading from the internal memory;
The data processing apparatus according to appendix 6, further comprising: a stride amount register that stores a change amount when a page storage area from which data is read is changed.
(Appendix 8)
The master operation module includes a plurality of master operation units that read data in parallel from the internal memory,
The read address conversion unit includes a plurality of address range registers corresponding to the plurality of master operating units,
Each address range register stores the address range of the corresponding master actuator,
The data processing device according to any one of appendices 1 to 5, wherein the read address conversion unit identifies the master operating unit from the address range.
(Appendix 9)
When the master operation module finishes reading the data from the internal memory, the master operation module notifies the read address conversion unit of the completion of reading,
When the master operation module detects that the master operation module has accessed a page after the page storage area notified of the read completion, the read address conversion unit waits for writing the page storage area notified of the read completion. 9. The data processing device according to any one of appendices 1 to 8, wherein the data processing device is changed to a state.
(Appendix 10)
The read address conversion unit includes a previous address register for storing address information accessed by the master operation module last time,
The address information accessed last time is compared with the read address by the master operation module, and the master operation module skips the page that accesses the next page without reading the data written in the internal memory. The data processing apparatus according to claim 1, wherein when the data is detected, the page skipped is shifted to a state of waiting for writing. (5) (FIGS. 32-35)

10 10A データ処理装置(SoC)
11 バス
12 CPU
13 DMAC
13 電源制御ユニット(PMU)
14 アクセラレータ(ACC)
16 メモリコントローラ
17 制御用メモリ
18 外部メモリ
20A 内部メモリ
21 内部メモリコア
22 書き込みアドレス変換機構
23 読み出しアドレス変換機構
24 状態遷移制御部
31A−31D ページ領域
41 書き込み動作制御部
51 読み出し動作制御部
61A−61D 状態フラグ
10 10A Data processing device (SoC)
11 Bus 12 CPU
13 DMAC
13 Power supply control unit (PMU)
14 Accelerator (ACC)
16 memory controller 17 control memory 18 external memory 20A internal memory 21 internal memory core 22 write address conversion mechanism 23 read address conversion mechanism 24 state transition control unit 31A-31D page area 41 write operation control unit 51 read operation control unit 61A-61D Status flag

Claims (5)

CPUと、
マスタ動作モジュールと、
前記マスタ動作モジュールから直接アクセス可能な内部メモリと、
前記マスタ動作モジュールから直接アクセスできない外部メモリへのアクセスを行い、前記内部メモリに前記外部メモリに記憶されたデータを転送するデータ転送部と、を備え、
前記内部メモリは、
ページ単位で論理的に分割した2以上のページ記憶領域と、
前記データ転送部により前記外部メモリから転送されたデータを、前記内部メモリのアドレスに変換して、前記2以上のページ記憶領域に書き込む書き込みアドレス変換部と、
前記マスタ動作モジュールの読み出し動作に応じて、前記マスタ動作モジュールの読み出しアドレスを前記内部メモリのアドレスに変換して、前記2以上のページ記憶領域に記憶されたデータを読み出す読み出しアドレス変換部と、
前記2以上のページ記憶領域のそれぞれに対応した状態フラグを有する状態遷移制御部と、を備え、
前記読み出しアドレス変換部が前記書き込みアドレス変換部による書き込みが行われたページ記憶領域に対して読み出し動作を行い、前記書き込みアドレス変換部が前記読み出しアドレス変換部による読み出し動作が終了したページ記憶領域に対して書き込み動作を行うように制御することを特徴とするデータ処理装置。
CPU,
A master operating module;
An internal memory accessible directly from the master operating module;
A data transfer unit that accesses an external memory that is not directly accessible from the master operation module, and that transfers data stored in the external memory to the internal memory; and
The internal memory is
Two or more page storage areas logically divided in units of pages;
A write address conversion unit that converts the data transferred from the external memory by the data transfer unit into an address of the internal memory and writes the address to the two or more page storage areas;
A read address conversion unit that converts a read address of the master operation module into an address of the internal memory in accordance with a read operation of the master operation module, and reads data stored in the two or more page storage areas;
A state transition control unit having a state flag corresponding to each of the two or more page storage areas,
The read address conversion unit performs a read operation on the page storage area where writing by the write address conversion unit is performed, and the write address conversion unit performs read operation on the page storage area where the read operation by the read address conversion unit is completed. And a data processing apparatus that controls to perform a writing operation.
前記データ転送部は、複数の前記外部メモリから並行してデータを転送する複数のデータ転送器を備え、
前記書き込みアドレス変換部は、前記複数のデータ転送器に対応した複数の書き込みアドレス変換機構を備える請求項1記載のデータ処理装置。
The data transfer unit includes a plurality of data transfer units that transfer data in parallel from the plurality of external memories,
The data processing apparatus according to claim 1, wherein the write address conversion unit includes a plurality of write address conversion mechanisms corresponding to the plurality of data transfer units.
前記データ転送部は、複数の前記外部メモリから並行してデータを転送する複数のデータ転送器を備え、
前記書き込みアドレス変換部は、前記複数のデータ転送器に対応した複数のアドレス範囲レジスタを備え、
各アドレス範囲レジスタは、対応するデータ転送器によりデータが転送される前記外部メモリのアドレス範囲を記憶し、
前記書き込みアドレス変換部は、前記アドレス範囲から前記外部メモリを特定する請求項1記載のデータ処理装置。
The data transfer unit includes a plurality of data transfer units that transfer data in parallel from the plurality of external memories,
The write address conversion unit includes a plurality of address range registers corresponding to the plurality of data transfer units,
Each address range register stores an address range of the external memory to which data is transferred by a corresponding data transfer unit,
The data processing apparatus according to claim 1, wherein the write address conversion unit specifies the external memory from the address range.
前記マスタ動作モジュールは、前記内部メモリから並行してデータを読み取る複数のマスタ動作器を備え、
前記読み出しアドレス変換部は、前記複数のマスタ動作器に対応した複数の読み出しアドレス変換機構を備える請求項1から3のいずれか記載のデータ処理装置。
The master operation module includes a plurality of master operation units that read data in parallel from the internal memory,
The data processing apparatus according to claim 1, wherein the read address conversion unit includes a plurality of read address conversion mechanisms corresponding to the plurality of master operating units.
前記読み出しアドレス変換部は、前記マスタ動作モジュールが前回アクセスしたアドレス情報を記憶する前回アドレスレジスタを備え、
前記前回アクセスしたアドレス情報と前記マスタ動作モジュールによる読み出しアドレスを比較して、前記マスタ動作モジュールが前記内部メモリに書き込まれたデータを読み取らずに次のページにアクセスするページの読み飛ばしを行ったことを検出した時には、読み飛ばされたページを書き込み待ちの状態に遷移させる請求項1から4のいずれか記載のデータ処理装置。
The read address conversion unit includes a previous address register for storing address information accessed by the master operation module last time,
The address information accessed last time is compared with the read address by the master operation module, and the master operation module skips the page that accesses the next page without reading the data written in the internal memory. 5. The data processing apparatus according to claim 1, wherein when the data is detected, the page skipped is shifted to a write wait state.
JP2010173474A 2010-08-02 2010-08-02 Data processing device Expired - Fee Related JP5445385B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010173474A JP5445385B2 (en) 2010-08-02 2010-08-02 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010173474A JP5445385B2 (en) 2010-08-02 2010-08-02 Data processing device

Publications (2)

Publication Number Publication Date
JP2012033085A JP2012033085A (en) 2012-02-16
JP5445385B2 true JP5445385B2 (en) 2014-03-19

Family

ID=45846390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010173474A Expired - Fee Related JP5445385B2 (en) 2010-08-02 2010-08-02 Data processing device

Country Status (1)

Country Link
JP (1) JP5445385B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001184191A (en) * 1999-12-22 2001-07-06 Alps Electric Co Ltd Data processor
JP2003288268A (en) * 2002-03-28 2003-10-10 Fujitsu Ltd Memory device
JP2005073004A (en) * 2003-08-26 2005-03-17 Konica Minolta Business Technologies Inc Method and device for managing frame buffer
JP2005267148A (en) * 2004-03-18 2005-09-29 Konica Minolta Business Technologies Inc Memory controller
JP2007034643A (en) * 2005-07-27 2007-02-08 Fujitsu Ltd Memory unit
JP2007233707A (en) * 2006-03-01 2007-09-13 Seiko Epson Corp Buffer device and integrated circuit device

Also Published As

Publication number Publication date
JP2012033085A (en) 2012-02-16

Similar Documents

Publication Publication Date Title
JP2012064021A (en) Communication system, master device and slave device, and communication method
JP2004252960A (en) Memory controller
JP2003296267A (en) Bus system and information processing system including bus system
JP4945125B2 (en) Memory control device
JP2006040276A (en) Bus arbitration system for saving on power consumption based on selective clock control and method thereof
US8180990B2 (en) Integrated circuit including a plurality of master circuits transmitting access requests to an external device and integrated circuit system including first and second interated circuits each including a plurality of master circuits transmitting access requests
US7913013B2 (en) Semiconductor integrated circuit
US8799699B2 (en) Data processing system
JP5445385B2 (en) Data processing device
JP4193746B2 (en) Matrix bus connection system
JPH0793274A (en) System and device for transferring data
JP5528939B2 (en) Microcomputer
US8127108B2 (en) Apparatus, system and method for prefetching data in bus system
JP2011034214A (en) Memory controller
JP3610029B2 (en) Data processing system
JP4633334B2 (en) Information processing apparatus and memory access arbitration method
JP2003208399A (en) Data processing apparatus
JP5489871B2 (en) Image processing device
JP2012168773A (en) Bus system and access control method
JP4249741B2 (en) Bus system and information processing system including bus system
JP2008305215A (en) Bus system
JPH1185673A (en) Method and device for controlling shared bus
JP4437386B2 (en) Signal processing system
JP6725970B2 (en) Multiprocessor system
JP2002236606A (en) Memory control circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131120

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: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees