JP6234213B2 - Data transfer control device, data transfer control method, and data processing device - Google Patents
Data transfer control device, data transfer control method, and data processing device Download PDFInfo
- Publication number
- JP6234213B2 JP6234213B2 JP2013264565A JP2013264565A JP6234213B2 JP 6234213 B2 JP6234213 B2 JP 6234213B2 JP 2013264565 A JP2013264565 A JP 2013264565A JP 2013264565 A JP2013264565 A JP 2013264565A JP 6234213 B2 JP6234213 B2 JP 6234213B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data
- unit
- buffer
- control
- 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
Links
- 238000012546 transfer Methods 0.000 title claims description 2827
- 238000012545 processing Methods 0.000 title claims description 164
- 238000000034 method Methods 0.000 title claims description 137
- 239000000872 buffer Substances 0.000 claims description 509
- 238000012544 monitoring process Methods 0.000 claims description 205
- 230000015654 memory Effects 0.000 description 63
- 239000003999 initiator Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 239000000470 constituent Substances 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
本発明は、データ転送制御装置、データ転送制御方法、およびデータ処理装置に関する。 The present invention relates to a data transfer control device, a data transfer control method, and a data processing device.
デジタルカメラなどの撮像装置に搭載され、画像処理を行うシステムLSIなどのデータ処理装置では、撮像装置内に備えられ、データ処理装置に接続された1つのDRAM(Dynamic Random Access Memory)を、データ処理装置に内蔵する複数の処理ブロック(以下、「イニシエータ」という)が共有している。多くのデータ処理装置では、内蔵している複数のイニシエータが、データ処理装置の内部のデータバス(以下、「インターコネクトバス」という)に接続され、インターコネクトバスに接続されたそれぞれのイニシエータは、DMA(Direct Memory Access)によって、DRAMに対するアクセスを行う。 In a data processing apparatus such as a system LSI that is mounted on an imaging apparatus such as a digital camera and performs image processing, a single DRAM (Dynamic Random Access Memory) that is provided in the imaging apparatus and connected to the data processing apparatus is subjected to data processing. A plurality of processing blocks (hereinafter referred to as “initiator”) built in the apparatus are shared. In many data processing apparatuses, a plurality of built-in initiators are connected to a data bus (hereinafter referred to as an “interconnect bus”) inside the data processing apparatus, and each initiator connected to the interconnect bus has a DMA ( The DRAM is accessed by Direct Memory Access).
近年、デジタルカメラの高性能化と多機能化が進み、データ処理装置の処理性能が、飛躍的に向上している。このため、数多くの動作モードを備えるデータ処理装置では、動作モードに応じた処理を実行する際に、アクセスするDRAMのバス帯域を確保することが困難になってきている。特に、静止画像と動画像とを同時に撮影するなど、多くの画像データを高速で処理し続ける必要がある画像処理のケースでは、その動作モードに応じて複数のイニシエータが異なる動作を行うため、動作が異なる複数のイニシエータからのDRAMへのアクセス要求を調停してDRAMのバス帯域を確保しながら、イメージセンサから入力された画像データをリアルタイムにDRAMに転送する必要がある。 In recent years, digital cameras have become more sophisticated and multifunctional, and the processing performance of data processing devices has been dramatically improved. For this reason, in a data processing apparatus having a large number of operation modes, it has become difficult to ensure the bus bandwidth of the DRAM to be accessed when executing processing according to the operation modes. In particular, in the case of image processing that needs to continue processing a large amount of image data at high speed, such as shooting still images and moving images simultaneously, multiple initiators perform different operations depending on the operation mode. It is necessary to transfer image data input from the image sensor to the DRAM in real time while arbitrating access requests to the DRAM from a plurality of different initiators to secure the DRAM bus bandwidth.
一般的に、データ処理装置では、内蔵したバス調停部(例えば、バスアービタなど)によって、それぞれのイニシエータから発せられるDRAMへのアクセス要求の適切な調停と、DRAMへのアクセスの最適化とを行って、DRAMのバス帯域を確保している。しかしながら、DRAMには、あるメモリアドレスに対して1回アクセスをした後、このメモリアドレスを含む同一のメモリバンクには、一定時間の間アクセスすることができないという動作的な制約がある。つまり、同一のメモリバンクに対して連続してアクセスする場合、アクセスを受け付けられない期間が存在してしまう。このため、DRAMに対するアクセスの総負荷が高い状況では、あるイニシエータがDRAMにアクセスしようとすると、DRAMの動作的な制約(以下、「バンク衝突」という)によって、DRAMにアクセスすることができない待ち時間が発生してしまうことがある。 In general, in a data processing apparatus, a built-in bus arbitration unit (for example, a bus arbiter) performs appropriate arbitration of access requests to DRAMs issued from respective initiators and optimization of access to DRAMs. DRAM bus bandwidth is secured. However, the DRAM has an operational restriction that, after a certain memory address is accessed once, the same memory bank including this memory address cannot be accessed for a certain period of time. That is, when accessing the same memory bank continuously, there is a period during which access cannot be accepted. Therefore, in a situation where the total load of access to the DRAM is high, when a certain initiator tries to access the DRAM, a waiting time during which the DRAM cannot be accessed due to operational restrictions of the DRAM (hereinafter referred to as “bank collision”). May occur.
そこで、従来から、発生した待ち時間を有効利用する技術が開示されている。例えば、特許文献1に開示された技術では、DRAMに対するリフレッシュ動作を、この待ち時間のときに実行することによって、同一のメモリバンクに対して連続してアクセスする場合に発生する待ち時間を有効利用している。
Therefore, conventionally, a technique for effectively using the generated waiting time has been disclosed. For example, in the technique disclosed in
しかしながら、特許文献1に開示された技術では、同一のメモリバンクに対して連続してアクセスする場合に発生する待ち時間中に他の動作を行うことによって、DRAMに対するアクセスを有効に活用することはできるが、DRAMとの間でデータをやり取りするためのバス帯域を確保することはできない。従って、この技術をデータ処理装置に適用した場合でも、DRAMに対するアクセスの総負荷が高い状況においてリアルタイムに画像データを転送するなどのリアルタイム処理を実行するイニシエータが、DRAMのバス帯域を確保することが困難である、という問題は依然として残ってしまう。
However, in the technique disclosed in
このため、DRAMに対するアクセスの総負荷が高くなることが想定されるシステムにおいて、それぞれのイニシエータから発せられるDRAMへのアクセス要求とDRAMに転送する転送データとを一旦バッファなどの内蔵メモリに蓄積する、データ転送制御装置の技術もある。この技術をデータ処理装置に適用すると、蓄積した転送データをDRAMに転送する際に、同一のメモリバンクに対する連続したアクセスを回避するように、DRAMへのアクセス要求と転送データとの順序を組み替えることができる。このDRAMへのアクセス要求と転送データとの順序の組み替えによって、同一のメモリバンクに対する連続したアクセスをなくし、バンク衝突によって発生する待ち時間を回避することができる。 For this reason, in a system in which the total load of access to the DRAM is assumed to be high, an access request to the DRAM issued from each initiator and transfer data transferred to the DRAM are temporarily stored in a built-in memory such as a buffer. There is also a technology for data transfer control devices. When this technology is applied to a data processing device, when transferring the stored transfer data to the DRAM, the order of the access request to the DRAM and the transfer data is rearranged so as to avoid continuous access to the same memory bank. Can do. By rearranging the order of the access request to the DRAM and the transfer data, it is possible to eliminate the continuous access to the same memory bank and avoid the waiting time caused by the bank collision.
しかしながら、データ処理装置に備えた複数のイニシエータから発せられるDRAMへのアクセス要求とDRAMに転送する転送データとを一旦蓄積するためには、データ転送制御装置内に大容量の内蔵メモリを備える必要がある。これは、例えば、内蔵するイニシエータの数が多く(例えば、数十個など)、動作モードによってそれぞれのイニシエータがDRAMにアクセスする状況が大きく異なるシステムでは、それぞれのイニシエータに、バンク衝突によって発生する待ち時間を吸収するために必要な容量分の内蔵メモリを備える必要があるからである。 However, in order to temporarily store access requests to the DRAM issued from a plurality of initiators provided in the data processing device and transfer data transferred to the DRAM, it is necessary to provide a large-capacity built-in memory in the data transfer control device. is there. For example, in a system in which the number of built-in initiators is large (for example, several tens), and the situation in which each initiator accesses the DRAM varies greatly depending on the operation mode, each initiator has to wait for a bank collision. This is because it is necessary to provide a built-in memory having a capacity necessary for absorbing time.
このため、それぞれのイニシエータに多くの内蔵メモリを備えると、データ処理装置の回路規模が増大し、コストも増加してしまう、という問題がある。また、ハードウェアに搭載可能なメモリ容量にも制約がある場合もあり、この場合には、データ転送制御装置に必要な容量の内蔵メモリを備えることができないこともある。 For this reason, if each of the initiators includes a large number of built-in memories, there is a problem that the circuit scale of the data processing device increases and the cost also increases. In some cases, the memory capacity that can be mounted on the hardware is limited, and in this case, the data transfer control device may not be provided with a built-in memory that is necessary for the data transfer control apparatus.
本発明は、上記の課題認識に基づいてなされたものであり、回路規模の増大を抑えた上で、DRAMのバス帯域を確保し、DMAによる転送データの転送を円滑に行うことができるデータ転送制御装置、データ転送制御方法、およびデータ処理装置を提供することを目的としている。 The present invention has been made on the basis of the above-mentioned problem recognition, and is capable of ensuring the DRAM bus bandwidth and smoothly transferring transfer data by DMA while suppressing an increase in circuit scale. It is an object to provide a control device, a data transfer control method, and a data processing device.
上記の課題を解決するため、本発明のデータ転送制御装置は、共通バスを介してデータを転送する複数のデータ転送部のそれぞれに、前記共通バスを介して転送する転送データを出力するデータ転送制御装置であって、それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御部と、前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御部における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視部と、を備え、複数の前記転送制御部の内、少なくとも1つの前記転送制御部は、対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、前記転送データが振り分けられた、少なくとも1つの他の前記転送制御部は、振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力し、複数の前記転送制御部のそれぞれは、対応する前記データ転送部が対応する前記データ入力部から入力された前記転送データを一時的に記憶する転送バッファ部と、前記転送制御情報に基づいて、前記転送バッファ部に記憶された前記転送データを読み出して出力するバッファ制御部と、を備え、前記転送データを振り分ける前記転送制御部である第1の転送制御部に備えた前記転送バッファ部である第1の転送バッファ部は、当該第1の転送制御部が対応する前記データ転送部である第1のデータ転送部によって転送する前記転送データである第1の転送データを一時的に記憶し、当該第1の転送制御部に備えたバッファ制御部である第1のバッファ制御部は、前記第1のデータ転送部の前記転送制御情報である第1の転送制御情報に基づいて、前記第1の転送バッファ部から読み出した前記第1の転送データを、前記第1のデータ転送部によって転送する前記第1の転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記第1の転送データとに振り分けて出力し、前記第1の転送データが振り分けられた他の前記転送制御部である第2の転送制御部に備えた前記転送バッファ部である第2の転送バッファ部は、当該第2の転送制御部が対応する前記データ転送部である第2のデータ転送部によって転送する前記転送データである第2の転送データを一時的に記憶し、当該第2の転送制御部に備えたバッファ制御部である第2のバッファ制御部は、前記第1のバッファ制御部から前記第1の転送データが入力されていない場合には、前記第2のデータ転送部の前記転送制御情報である第2の転送制御情報に基づいて、前記第2の転送バッファ部から読み出した前記第2の転送データを前記第2のデータ転送部に出力し、前記第1のバッファ制御部から前記第1の転送データが入力された場合には、前記第2の転送制御情報に基づいて、該第1の転送データを前記第2のデータ転送部に出力し、
前記データ転送状態監視部は、前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送待ち時間を監視し、該監視した前記第1の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視部と、前記第1のデータ転送部が前記第1の転送データを転送する際の信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送履歴と、前記第2のデータ転送部が前記第1の転送データまたは前記第2の転送データを転送する際の信号に基づいて、該第2のデータ転送部における前記第1の転送データまたは前記第2の転送データの転送履歴とを収集するアクセス履歴収集部と、を備え、前記アクセス履歴収集部は、前記データ転送待ち時間監視部が前記タイムアウト信号を出力した際に、収集した前記第1の転送データの転送履歴と前記第2の転送データの転送履歴とに基づいて、前記第1の転送データと前記第2の転送データとによって前記転送データを転送するための転送情報を前記第1のバッファ制御部に出力し、前記第1のバッファ制御部は、前記アクセス履歴収集部から出力された前記転送情報に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、ことを特徴とする。
In order to solve the above-described problem, the data transfer control device of the present invention provides a data transfer that outputs transfer data transferred via the common bus to each of a plurality of data transfer units that transfer data via the common bus. A plurality of transfer controls corresponding to each of the data transfer units and outputting the transfer data input from a data input unit corresponding to each of the data transfer units to the corresponding data transfer unit Each of the data transfer unit and the data transfer unit monitor the status of transferring the transfer data, and based on the transfer status of the transfer data of the monitored data transfer unit, A data transfer state monitoring unit that outputs transfer control information for controlling output of the transfer data to the corresponding data transfer unit, and a plurality of the transfers The at least one transfer control unit among the control units transfers the transfer data transferred by the data transfer unit based on the transfer control information of the corresponding data transfer unit by the data transfer unit. At least one other transfer control unit to which the data is distributed and output to the transfer data transferred by another data transfer unit corresponding to the other transfer control unit, and the transfer data is distributed, is distributed The transferred data is output to the corresponding data transfer unit based on the transfer control information of the corresponding data transfer unit, and each of the plurality of transfer control units includes a corresponding data transfer unit. Based on the transfer control information, a transfer buffer unit that temporarily stores the transfer data input from the corresponding data input unit, A buffer control unit that reads and outputs the transfer data stored in the transmission buffer unit, and is a transfer buffer unit included in the first transfer control unit that is the transfer control unit that distributes the transfer data. The first transfer buffer unit temporarily stores the first transfer data that is the transfer data transferred by the first data transfer unit that is the data transfer unit to which the first transfer control unit corresponds, and The first buffer control unit, which is a buffer control unit provided in the first transfer control unit, is configured based on the first transfer control information that is the transfer control information of the first data transfer unit. The first transfer data read from the transfer buffer unit is transferred by the first data transfer unit transferred by the first data transfer unit and another data transfer unit corresponding to another transfer control unit. The transfer buffer unit included in the second transfer control unit, which is the other transfer control unit to which the first transfer data is distributed, is distributed and output to the first transfer data to be transferred. The second transfer buffer unit temporarily stores the second transfer data that is the transfer data transferred by the second data transfer unit that is the data transfer unit to which the second transfer control unit corresponds, and The second buffer control unit, which is a buffer control unit included in the second transfer control unit, is configured to receive the second data when the first transfer data is not input from the first buffer control unit. Based on the second transfer control information that is the transfer control information of the transfer unit, the second transfer data read from the second transfer buffer unit is output to the second data transfer unit, and the first data transfer unit Buffer control part of Wherein when the first transfer data is input, based on said second transfer control information, and outputs the transfer data of the first to the second data transfer unit,
The data transfer state monitoring unit waits for the transfer of the first transfer data in the first data transfer unit based on a control signal when the first data transfer unit transfers the first transfer data. Data for monitoring time and outputting a time-out signal indicating that the transfer waiting time exceeds a predetermined time when the transfer waiting time of the monitored first transfer data exceeds a predetermined time Based on a signal when the transfer waiting time monitoring unit and the first data transfer unit transfer the first transfer data, a transfer history of the first transfer data in the first data transfer unit, Based on a signal when the second data transfer unit transfers the first transfer data or the second transfer data, the first transfer data or the second transfer data in the second data transfer unit Transfer An access history collection unit that collects the transfer history of the data, and the access history collection unit collects the first transfer data collected when the data transfer wait time monitoring unit outputs the timeout signal. Based on the transfer history and the transfer history of the second transfer data, transfer information for transferring the transfer data by the first transfer data and the second transfer data is transferred to the first buffer control unit. The first buffer control unit outputs the first transfer data to the first data transfer unit and the second buffer based on the transfer information output from the access history collection unit. The output is distributed to the control unit .
また、本発明の前記データ転送状態監視部は、前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送の負荷を監視し、該監視した前記第1の転送データの転送負荷と予め定めた負荷の大きさとを比較することによって負荷の分散を行うか否かを判定し、該判定した結果に基づいて前記第1のデータ転送部における転送負荷を分散するための負荷分散指示を出力する転送負荷状態監視部、を備え、前記第1のバッファ制御部は、前記転送負荷状態監視部から出力された前記負荷分散指示に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、ことを特徴とする。 Further, the data transfer state monitoring unit according to the present invention is configured so that the first data transfer unit includes the first data transfer unit based on a control signal when the first data transfer unit transfers the first transfer data. The transfer load of the transfer data is monitored, and it is determined whether or not to distribute the load by comparing the monitored transfer load of the first transfer data with a predetermined load size. A transfer load state monitoring unit that outputs a load distribution instruction for distributing a transfer load in the first data transfer unit based on a result, and the first buffer control unit includes: Based on the output load distribution instruction, the first transfer data is distributed and output to the first data transfer unit and the second buffer control unit.
また、本発明の前記データ転送状態監視部は、前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、前記第1の転送バッファ部の記憶容量の残量を監視し、該監視した記憶容量の残量に応じて、前記第1のデータ転送部における転送負荷を分散するための負荷分散指示を出力する転送バッファ残量監視部、を備え、前記第1のバッファ制御部は、前記転送バッファ残量監視部から出力された前記負荷分散指示に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、ことを特徴とする。 Further, the data transfer state monitoring unit of the present invention is configured to store the remaining storage capacity of the first transfer buffer unit based on a control signal when the first data transfer unit transfers the first transfer data. A transfer buffer remaining amount monitoring unit that monitors the amount and outputs a load distribution instruction for distributing the transfer load in the first data transfer unit according to the monitored remaining capacity of the storage capacity, The first buffer control unit sends the first transfer data to the first data transfer unit and the second buffer control unit based on the load distribution instruction output from the transfer buffer remaining amount monitoring unit. It is characterized in that it is sorted and output.
また、本発明の前記データ転送状態監視部は、設定された動作モードに応じて、前記第1の転送データを転送する際の前記第1の転送データの経路を決定し、該決定した結果に基づいて前記第1の転送データを転送する経路を表す経路選択指示を出力するモード設定部、を備え、前記第1のバッファ制御部は、前記モード設定部から出力された前記経路選択指示に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、ことを特徴とする。 Further, the data transfer state monitoring unit of the present invention determines a path of the first transfer data when transferring the first transfer data according to a set operation mode, and determines the result of the determination. Based on the route selection instruction output from the mode setting unit. The mode setting unit outputs a route selection instruction representing a route for transferring the first transfer data based on the mode setting unit. The first transfer data is distributed and output to the first data transfer unit and the second buffer control unit.
また、本発明のデータ転送制御方法は、それぞれが転送バッファ部及びバッファ制御部を有する複数の転送制御部と、データ転送待ち時間監視部及びアクセス履歴収集部を有するデータ転送状態監視部とを備え、共通バスを介してデータを転送する複数のデータ転送部のそれぞれに、前記共通バスを介して転送する転送データを出力するデータ転送制御装置におけるデータ転送制御方法であって、複数の転送制御部が、それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御手順と、データ転送状態監視部が、前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御手順における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視手順と、を含み、複数の前記転送制御手順の内、少なくとも1つの前記転送制御手順は、対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御手順が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、前記転送データが振り分けられた、少なくとも1つの他の前記転送制御手順は、振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力し、複数の前記転送制御手順のそれぞれは、前記転送制御部が、対応する転送バッファ部に、対応する前記データ転送部が対応する前記データ入力部から入力された前記転送データを一時的に記憶させる転送バッファ手順と、対応するバッファ制御部が、前記転送制御情報に基づいて、対応する前記転送バッファ部に記憶された前記転送データを読み出して出力するバッファ制御手順と、を含み、前記転送データを振り分ける前記転送制御手順である第1の転送制御手順に含まれる前記転送バッファ手順である第1の転送バッファ手順は、当該第1の転送制御手順が対応する前記データ転送部である第1のデータ転送部によって転送する前記転送データである第1の転送データを対応する前記転送バッファ部に一時的に記憶させ、当該第1の転送制御手順に含まれるバッファ制御手順である第1のバッファ制御手順は、前記第1のデータ転送部の前記転送制御情報である第1の転送制御情報に基づいて、前記第1の転送バッファ手順に対応する前記転送バッファ部から読み出した前記第1の転送データを、前記第1のデータ転送部によって転送する前記第1の転送データと他の前記転送制御手順が対応する他の前記データ転送部によって転送する前記第1の転送データとに振り分けて出力し、前記第1の転送データが振り分けられた他の前記転送制御手順である第2の転送制御手順に含まれる前記転送バッファ手順である第2の転送バッファ手順は、当該第2の転送制御手順が対応する前記データ転送部である第2のデータ転送部によって転送する前記転送データである第2の転送データを対応する前記転送バッファ部に一時的に記憶させ、当該第2の転送制御手順に含まれるバッファ制御手順である第2のバッファ制御手順は、前記第1のバッファ制御手順によって前記第1の転送データが入力されていない場合には、前記第2のデータ転送部の前記転送制御情報である第2の転送制御情報に基づいて、前記第2の転送バッファ手順に対応する前記転送バッファ部から読み出した前記第2の転送データを前記第2のデータ転送部に出力し、前記第1のバッファ制御手順によって前記第1の転送データが入力された場合には、前記第2の転送制御情報に基づいて、該第1の転送データを前記第2のデータ転送部に出力し、前記データ転送状態監視手順は、データ転送待ち時間監視部が、前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送待ち時間を監視し、該監視した前記第1の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視手順と、アクセス履歴収集部が、前記第1のデータ転送部が前記第1の転送データを転送する際の信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送履歴と、前記第2のデータ転送部が前記第1の転送データまたは前記第2の転送データを転送する際の信号に基づいて、該第2のデータ転送部における前記第1の転送データまたは前記第2の転送データの転送履歴とを収集するアクセス履歴収集手順と、を含み、前記アクセス履歴収集手順は、前記データ転送待ち時間監視手順によって前記タイムアウト信号を出力した際に、収集した前記第1の転送データの転送履歴と前記第2の転送データの転送履歴とに基づいて、前記第1の転送データと前記第2の転送データとによって前記転送データを転送するための転送情報を前記第1のバッファ制御手順に対応する前記転送制御部に出力し、前記第1のバッファ制御手順は、前記アクセス履歴収集手順によって出力された前記転送情報に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御手順に対応する前記バッファ制御部とに振り分けて出力する、ことを特徴とする。 The data transfer control method of the present invention includes a plurality of transfer control units each having a transfer buffer unit and a buffer control unit, and a data transfer state monitoring unit having a data transfer waiting time monitoring unit and an access history collection unit. each of the plurality of data transfer unit for transferring data via a common bus, the common bus a data transfer control method in the data transfer control device for outputting the transfer data to be transferred via a plurality of transfer control unit Corresponding to each of the data transfer units, a plurality of transfer control procedures for outputting the transfer data input from the data input unit corresponding to each of the data transfer units to the corresponding data transfer unit, and data The transfer status monitoring unit monitors the status of each of the data transfer units transferring the transfer data, and the monitored data transfer unit A data transfer status monitoring procedure for outputting transfer control information for controlling the output of the transfer data to the corresponding data transfer unit in each of the transfer control procedures based on the transfer status of each of the transfer data. And at least one of the plurality of transfer control procedures includes transferring the transfer data transferred by the data transfer unit based on the transfer control information of the corresponding data transfer unit to the data transfer unit. At least one other transfer to which the transfer data is distributed and output to the transfer data to be transferred by the other data transfer unit corresponding to the other transfer control procedure. The control procedure is based on the transfer control information of the data transfer unit corresponding to the transferred data. Output to the data transfer unit to which the corresponding, each of the plurality of the transfer control procedure, the transfer control unit, the transfer buffer unit corresponding, input from the data input portion to which the data transfer unit corresponding the corresponding A transfer buffer procedure for temporarily storing the transfer data, and a buffer control for the corresponding buffer control unit to read out and output the transfer data stored in the corresponding transfer buffer unit based on the transfer control information The first transfer control procedure corresponds to the first transfer buffer procedure that is the transfer buffer procedure included in the first transfer control procedure that is the transfer control procedure that distributes the transfer data. The transfer buffer corresponding to the first transfer data which is the transfer data transferred by the first data transfer unit which is the data transfer unit A first buffer control procedure that is temporarily stored in the first transfer control procedure and that is a buffer control procedure included in the first transfer control procedure is a first transfer control that is the transfer control information of the first data transfer unit. Based on the information, the first transfer data read from the transfer buffer unit corresponding to the first transfer buffer procedure is transferred by the first data transfer unit and the other transfer data. The second transfer, which is another transfer control procedure to which the first transfer data is distributed, and is output after being distributed to the first transfer data transferred by another data transfer unit corresponding to the transfer control procedure. The second transfer buffer procedure which is the transfer buffer procedure included in the control procedure is transferred by the second data transfer unit which is the data transfer unit corresponding to the second transfer control procedure. The second transfer data which is the transfer data is temporarily stored in the corresponding transfer buffer unit, and the second buffer control procedure which is a buffer control procedure included in the second transfer control procedure is the first buffer control procedure. When the first transfer data is not input by the buffer control procedure, the second transfer buffer is based on the second transfer control information which is the transfer control information of the second data transfer unit. When the second transfer data read from the transfer buffer unit corresponding to the procedure is output to the second data transfer unit, and the first transfer data is input by the first buffer control procedure , Based on the second transfer control information, outputting the first transfer data to the second data transfer unit, the data transfer state monitoring procedure, the data transfer waiting time monitoring unit, The first data transfer unit monitors the transfer waiting time of the first transfer data in the first data transfer unit based on a control signal when the first transfer data is transferred, and the monitoring is performed. A data transfer waiting time monitoring procedure for outputting a time-out signal indicating that the transfer waiting time exceeds a predetermined time when the transfer waiting time of the first transfer data exceeds a predetermined time; A history collection unit configured to transfer a transfer history of the first transfer data in the first data transfer unit based on a signal when the first data transfer unit transfers the first transfer data; Based on a signal when the second data transfer unit transfers the first transfer data or the second transfer data, the first transfer data or the second transfer data in the second data transfer unit of An access history collecting procedure for collecting a transfer history, wherein the access history collecting procedure is configured to transfer a transfer history of the first transfer data collected when the timeout signal is output by the data transfer waiting time monitoring procedure. And transfer information for transferring the transfer data by the first transfer data and the second transfer data on the basis of the transfer history of the second transfer data and the second transfer data corresponding to the first buffer control procedure and outputs to the transfer control unit, the first buffer control procedure, based on the transfer information outputted by said access history collection procedure, the first transfer data, said first data transfer unit for It distributes and outputs to the said buffer control part corresponding to a said 2nd buffer control procedure, It is characterized by the above-mentioned.
また、本発明のデータ処理装置は、共通バスを介してデータを転送する複数のデータ転送部と、前記データ転送部のそれぞれに対応し、前記共通バスを介して転送する転送データを出力する複数のデータ入力部と、それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御部と、前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御部における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視部と、を具備したデータ転送制御装置と、を備え、前記データ転送制御装置に備えた複数の前記転送制御部の内、少なくとも1つの前記転送制御部は、対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、前記データ転送制御装置に備えた複数の前記転送制御部の内、前記転送データが振り分けられた、少なくとも1つの他の前記転送制御部は、振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力し、前記データ転送制御装置に備えた複数の前記転送制御部のそれぞれは、対応する前記データ転送部が対応する前記データ入力部から入力された前記転送データを一時的に記憶する転送バッファ部と、前記転送制御情報に基づいて、前記転送バッファ部に記憶された前記転送データを読み出して出力するバッファ制御部と、を備え、前記転送データを振り分ける前記転送制御部である第1の転送制御部に備えた前記転送バッファ部である第1の転送バッファ部は、当該第1の転送制御部が対応する前記データ転送部である第1のデータ転送部によって転送する前記転送データである第1の転送データを一時的に記憶し、当該第1の転送制御部に備えたバッファ制御部である第1のバッファ制御部は、前記第1のデータ転送部の前記転送制御情報である第1の転送制御情報に基づいて、前記第1の転送バッファ部から読み出した前記第1の転送データを、前記第1のデータ転送部によって転送する前記第1の転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記第1の転送データとに振り分けて出力し、前記第1の転送データが振り分けられた他の前記転送制御部である第2の転送制御部に備えた前記転送バッファ部である第2の転送バッファ部は、当該第2の転送制御部が対応する前記データ転送部である第2のデータ転送部によって転送する前記転送データである第2の転送データを一時的に記憶し、当該第2の転送制御部に備えたバッファ制御部である第2のバッファ制御部は、前記第1のバッファ制御部から前記第1の転送データが入力されていない場合には、前記第2のデータ転送部の前記転送制御情報である第2の転送制御情報に基づいて、前記第2の転送バッファ部から読み出した前記第2の転送データを前記第2のデータ転送部に出力し、前記第1のバッファ制御部から前記第1の転送データが入力された場合には、前記第2の転送制御情報に基づいて、該第1の転送データを前記第2のデータ転送部に出力し、前記データ転送制御装置に備えた前記データ転送状態監視部は、前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送待ち時間を監視し、該監視した前記第1の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視部と、前記第1のデータ転送部が前記第1の転送データを転送する際の信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送履歴と、前記第2のデータ転送部が前記第1の転送データまたは前記第2の転送データを転送する際の信号に基づいて、該第2のデータ転送部における前記第1の転送データまたは前記第2の転送データの転送履歴とを収集するアクセス履歴収集部と、を備え、前記アクセス履歴収集部は、前記データ転送待ち時間監視部が前記タイムアウト信号を出力した際に、収集した前記第1の転送データの転送履歴と前記第2の転送データの転送履歴とに基づいて、前記第1の転送データと前記第2の転送データとによって前記転送データを転送するための転送情報を前記第1のバッファ制御部に出力し、前記第1のバッファ制御部は、前記アクセス履歴収集部から出力された前記転送情報に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、ことを特徴とする。 The data processing apparatus of the present invention includes a plurality of data transfer units that transfer data via a common bus, and a plurality of data that correspond to each of the data transfer units and that output transfer data transferred via the common bus. A plurality of transfer controls corresponding to the data transfer units and outputting the transfer data input from the data input units corresponding to the data transfer units to the corresponding data transfer units. Each of the data transfer unit and the data transfer unit monitor the status of transferring the transfer data, and based on the transfer status of the transfer data of the monitored data transfer unit, A data transfer state monitoring unit that outputs transfer control information for controlling the output of the transfer data to the corresponding data transfer unit. And at least one of the plurality of transfer control units included in the data transfer control device is based on the transfer control information of the corresponding data transfer unit. The transfer data transferred by the data transfer unit is divided into the transfer data transferred by the data transfer unit and the transfer data transferred by another data transfer unit corresponding to the other transfer control unit, and the data transfer Among the plurality of transfer control units provided in the control device, at least one other transfer control unit to which the transfer data is distributed is configured to transfer the transferred data to the corresponding transfer unit. based on the control information, the corresponding output to the data transfer unit, wherein each of the plurality of the transfer control unit provided in the data transfer control device, pairs A transfer buffer unit that temporarily stores the transfer data input from the data input unit to which the data transfer unit corresponds, and the transfer data stored in the transfer buffer unit based on the transfer control information. A first transfer buffer unit that is the transfer buffer unit included in the first transfer control unit that is the transfer control unit that distributes the transfer data. Buffer control provided in the first transfer control unit temporarily stores the first transfer data that is the transfer data transferred by the first data transfer unit that is the data transfer unit to which the transfer control unit corresponds. The first buffer control unit that is a read unit reads from the first transfer buffer unit based on the first transfer control information that is the transfer control information of the first data transfer unit. The first transfer data transferred by the first data transfer unit corresponding to the first transfer data transferred by the first data transfer unit and the other data transfer unit corresponding to the other transfer control unit. The second transfer buffer unit that is the transfer buffer unit included in the second transfer control unit that is the other transfer control unit to which the first transfer data is distributed is The second transfer control unit temporarily stores the second transfer data which is the transfer data transferred by the second data transfer unit which is the corresponding data transfer unit, and is provided in the second transfer control unit. The second buffer control unit, which is a buffer control unit, uses the transfer control information of the second data transfer unit when the first transfer data is not input from the first buffer control unit. A second Based on the transfer control information, the second transfer data read from the second transfer buffer unit is output to the second data transfer unit, and the first transfer data is output from the first buffer control unit. When input, based on the second transfer control information, the first transfer data is output to the second data transfer unit, and the data transfer state monitoring unit provided in the data transfer control device Monitoring a transfer waiting time of the first transfer data in the first data transfer unit based on a control signal when the first data transfer unit transfers the first transfer data, A data transfer waiting time monitoring unit for outputting a time-out signal indicating that the transfer waiting time exceeds a predetermined time when the transfer waiting time of the monitored first transfer data exceeds a predetermined time; ,Previous Based on a signal when the first data transfer unit transfers the first transfer data, the transfer history of the first transfer data in the first data transfer unit, and the second data transfer unit Collecting the transfer history of the first transfer data or the second transfer data in the second data transfer unit based on a signal when transferring the first transfer data or the second transfer data An access history collection unit that performs the transfer history of the first transfer data collected when the data transfer waiting time monitoring unit outputs the timeout signal, and the second transfer history collection unit. Based on the transfer history of the transfer data, the transfer information for transferring the transfer data by the first transfer data and the second transfer data is output to the first buffer control unit, The first buffer control unit distributes the first transfer data to the first data transfer unit and the second buffer control unit based on the transfer information output from the access history collection unit. Output .
また、本発明のデータ処理装置は、前記データ転送制御装置を、前記データ転送部と、前記データ入力部との数に応じて数珠つなぎにし、それぞれのデータ転送制御装置に備えたデータ転送状態監視部は、対応する前記データ転送部のそれぞれの前記転送データの転送状態を監視して、当該データ転送制御装置に備えたそれぞれの前記転送制御部に前記転送制御情報を出力し、それぞれのデータ転送制御装置に備えた少なくとも1つの前記転送制御部は、前記転送制御情報に基づいて、対応する前記データ入力部から入力された前記転送データを、当該データ転送制御装置が対応する少なくとも1つの前記データ転送部に振り分ける、ことを特徴とする。 Further, the data processing device of the present invention is configured to connect the data transfer control devices in a daisy chain according to the number of the data transfer units and the data input units, and monitor the data transfer state provided in each data transfer control device. Each of the corresponding data transfer units monitors the transfer state of the transfer data, and outputs the transfer control information to each of the transfer control units provided in the data transfer control device. At least one of the transfer control units provided in the control device, based on the transfer control information, the transfer data input from the corresponding data input unit, and at least one of the data corresponding to the data transfer control device It is characterized by allocating to the transfer unit.
本発明によれば、回路規模の増大を抑えた上で、DRAMのバス帯域を確保し、DMAによる転送データの転送を円滑に行うことができるという効果が得られる。 According to the present invention, it is possible to obtain an effect of ensuring a DRAM bus band and smoothly transferring transfer data by DMA while suppressing an increase in circuit scale.
以下、本発明の実施形態について、図面を参照して説明する。本実施形態においては、本発明のデータ処理装置を、例えば、デジタルカメラなどの撮像装置に搭載され、画像処理を行うシステムLSIなどのデータ処理装置とし、このデータ処理装置に、本発明のデータ転送制御装置を適用した場合の一例について説明する。図1は、本実施形態におけるデータ転送制御装置を備えたデータ処理装置の概略構成の一例を示したブロック図である。図1に示したデータ処理装置1は、第1の画像データ入力部100と、第1のデータ転送部101と、第2の画像データ入力部200と、第2のデータ転送部201と、データ転送制御装置10と、を備えている。また、データ処理装置1内のデータ転送制御装置10は、第1の転送制御部110と、第2の転送制御部210と、データ転送状態監視部130と、を備えている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this embodiment, the data processing device of the present invention is a data processing device such as a system LSI that is mounted on an imaging device such as a digital camera and performs image processing, and the data transfer device of the present invention is transferred to this data processing device. An example when the control device is applied will be described. FIG. 1 is a block diagram illustrating an example of a schematic configuration of a data processing device including a data transfer control device according to the present embodiment. The
図1に示したように、データ処理装置1に備えた第1のデータ転送部101と第2のデータ転送部201とのそれぞれは、データ処理装置1の内部のインターコネクトバス700に接続されている。そして、データ処理装置1は、第1のデータ転送部101と第2のデータ転送部201とのそれぞれが、データ処理装置1に備えた第1の画像データ入力部100および第2の画像データ入力部200から入力された画像データを、インターコネクトバス700を介して、例えば、DRAMなどの不図示のメモリに転送する。
As shown in FIG. 1, each of the first
このとき、データ転送制御装置10は、データ処理装置1が第1のデータ転送部101および第2のデータ転送部201によってメモリに転送する画像データを制御する。以下の説明においては、データ処理装置1に接続されたメモリがDRAMであるものとして説明を行う。
At this time, the data
第1の画像データ入力部100および第2の画像データ入力部200のそれぞれは、インターコネクトバス700を介してDRAMに転送する画像データの供給源である。なお、以下の説明においては、第1の画像データ入力部100が、例えば、不図示のイメージセンサから入力された画像データを、リアルタイムにDRAMに転送する画像データの供給源であり、第2の画像データ入力部200が、不図示のイメージセンサから入力された画像データに応じて処理した画像データを、DRAMに転送する画像データの供給源であるものとして説明を行う。ここで、第2の画像データ入力部200が行う、不図示のイメージセンサから入力された画像データに応じた処理としては、例えば、黒レベル補正を施す前処理や、縮小画像を生成する画像生成処理や、自動露出(Auto Exposure:AE)、オートホワイトバランス(Auto White Balance:AWB)、自動焦点(Auto Focus:AF)などを制御するための評価値を生成する処理などが考えられる。
Each of the first image
以下の説明においては、第1の画像データ入力部100が供給する画像データ、すなわち、DRAMに転送する画像データを、「第1の転送データ」といい、第2の画像データ入力部200が供給する画像データを、「第2の転送データ」という。なお、第1の転送データと第2の転送データとを区別せずに表す場合には、単に「転送データ」という。
In the following description, the image data supplied by the first image
なお、図1に示したデータ処理装置1においては、第1の画像データ入力部100が第1のデータ転送部101に対応し、第2の画像データ入力部200が第2のデータ転送部201に対応している。つまり、図1には、1つのデータ転送部に対して1つ転送データの供給源が存在しているデータ処理装置の構成を示している。しかし、データ処理装置においては、1つのデータ転送部に対して複数の転送データの供給源が対応する構成であってもよい。
In the
第1のデータ転送部101および第2のデータ転送部201のそれぞれは、対応する第1の画像データ入力部100または第2の画像データ入力部200から入力された転送データをインターコネクトバス700に出力することによって、それぞれの転送データをDMAによってDRAMに転送するイニシエータである。
Each of the first
ただし、データ処理装置1では、データ転送制御装置10が、第1のデータ転送部101および第2のデータ転送部201によってDRAMに転送する転送データを制御する。従って、データ処理装置1では、第1のデータ転送部101および第2のデータ転送部201のそれぞれがDMAによってDRAMに転送する転送データが、データ転送制御装置10を介して入力される。なお、以下の説明においては、第1のデータ転送部101の方が、第2のデータ転送部201よりも優先度が高いイニシエータであるものとして説明を行う。
However, in the
なお、それぞれのイニシエータが転送データをDMAによってDRAMに転送する際、イニシエータは、まず、DMAによるDRAMへのアクセスを要求するリクエスト信号をインターコネクトバス700に出力し、その後、DRAMに転送する転送データをインターコネクトバス700に出力する。
When each initiator transfers the transfer data to the DRAM by DMA, the initiator first outputs a request signal for requesting access to the DRAM by DMA to the
より具体的には、DRAMへのアクセス要求を行うイニシエータが、リクエスト信号をインターコネクトバス700に出力すると、インターコネクトバス700に接続された、例えば、バスアービタなどの不図示のバス調停部に、インターコネクトバス700を介してリクエスト信号が入力される。これにより、不図示のバス調停部は、入力されたリクエスト信号に応じて、DRAMへのアクセス要求を調停する。そして、不図示のバス調停部は、DRAMのへのアクセス要求を受け付ける状態となったときに、アクセス要求を許可するアクノリッジ信号を、インターコネクトバス700に出力し、リクエスト信号を出力したイニシエータに、アクノリッジ信号を返す(出力する)。これにより、リクエスト信号を出力したイニシエータは、入力されたアクノリッジ信号に応じて、DRAMに転送する転送データを、不図示のバス調停部に、インターコネクトバス700を介して出力する。そして、不図示のバス調停部は、適切なタイミングでDRAMにアクセスを行い、入力された転送データをDRAMに転送する。なお、以下の説明においては、それぞれのイニシエータが、DMAによって転送データをDRAMに転送する、上述したような動作を、「DMA転送」という。
More specifically, when an initiator requesting access to the DRAM outputs a request signal to the
データ転送制御装置10は、第1のデータ転送部101および第2のデータ転送部201のそれぞれにおけるDMA転送の状態を監視し、監視した結果に応じて、第1のデータ転送部101または第2のデータ転送部201のいずれのデータ転送部によって転送データをDMA転送するかを決定する。そして、データ転送制御装置10は、決定した第1のデータ転送部101または第2のデータ転送部201のいずれかのデータ転送部に転送データを出力して、DMA転送を行わせる。
The data
データ転送状態監視部130は、第1のデータ転送部101および第2のデータ転送部201のそれぞれにおいて行われているDMA転送の状態を監視する。なお、データ転送状態監視部130がDMA転送の状態を監視する際には、例えば、DRAMのバンク衝突などによる、DMA転送の待ち時間や、DRAMへのアクセス履歴や、転送データのDRAMへの転送数などの付加情報も収集する。
The data transfer
そして、データ転送状態監視部130は、監視した第1のデータ転送部101のDMA転送の状態に応じた第1の転送制御情報を、第1の転送制御部110に出力する。また、データ転送状態監視部130は、監視した第2のデータ転送部201のDMA転送の状態に応じた第2の転送制御情報を、第2の転送制御部210に出力する。なお、第1の転送制御情報および第2の転送制御情報には、対応する第1のデータ転送部101および第2のデータ転送部201に転送データを出力する順序や、第1のデータ転送部101と第2のデータ転送部201とのタイミングを調停するための制御情報なども含まれる。
Then, the data transfer
なお、データ転送状態監視部130におけるDMA転送の状態監視や、第1のデータ転送部101と第2のデータ転送部201との制御方法に関する詳細な説明は、後述する。
A detailed description of the DMA transfer status monitoring in the data transfer
第1の転送制御部110は、第1の画像データ入力部100から入力されたDMA転送する第1の転送データを、データ転送状態監視部130から入力された第1の転送制御情報に基づいて、第1のデータ転送部101と第2のデータ転送部201とに振り分ける。なお、第1の転送制御部110は、基本的には、第1の画像データ入力部100から入力された第1の転送データを第1のデータ転送部101に出力する。しかし、第1の転送制御部110は、データ転送状態監視部130から入力された第1の転送制御情報が、例えば、第1のデータ転送部101がDMA転送を行う際の待ち時間が多いなど、第1のデータ転送部101による第1の転送データのDMA転送が円滑に行われていないことを表している場合には、第1のデータ転送部101に出力する第1の転送データを、第2の転送制御部210に出力し、第2のデータ転送部201によって転送させる。
The first
なお、第1の転送制御部110による第1の転送データの第1のデータ転送部101と第2のデータ転送部201とに振り分け方法に関する詳細な説明は、後述する。
A detailed description of a method for distributing the first transfer data to the first
第2の転送制御部210は、第2の画像データ入力部200から入力されたDMA転送する第2の転送データを、第2のデータ転送部201に出力する。ただし、第2の転送制御部210は、第1の転送制御部110によって振り分けられた、第1の画像データ入力部100がDMA転送する第1の転送データが入力された場合には、データ転送状態監視部130から入力された第2の転送制御情報に基づいて、第1の転送制御部110から入力された第1の転送データを選択して、第2のデータ転送部201に出力する。
The second
これにより、第1の画像データ入力部100が出力した第1の転送データは、第1のデータ転送部101に加えて、第2のデータ転送部201によってもDMA転送され、第1の画像データ入力部100が出力した第1の転送データをDMA転送する際のバス帯域を確保することができる。このことにより、第1の画像データ入力部100が出力する第1の転送データのDMA転送のリアルタイム性を確保することができる。
Accordingly, the first transfer data output from the first image
なお、第2の転送制御部210による、第2の画像データ入力部200から入力された第2の転送データ、または第1の転送制御部110から入力された第1の転送データの選択方法に関する詳細な説明は、後述する。
Note that the second
<第1の実施形態>
次に、本実施形態のデータ転送制御装置10の構成および動作について、さらに詳細に説明する。図2は、本第1の実施形態におけるデータ転送制御装置10を備えたデータ処理装置1の構成の一例を示したブロック図である。図2には、DMA転送の待ち時間とDRAMへのアクセス履歴とに基づいて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分ける制御を行うデータ転送制御装置10の構成を示している。なお、図2に示したデータ処理装置1のブロック図は、図1に示したデータ処理装置1内のデータ転送制御装置10の構成要素をより詳細に示したのみであるため、データ転送制御装置10以外の構成要素に関する詳細な説明は省略する。
<First Embodiment>
Next, the configuration and operation of the data
データ転送制御装置10内の第1の転送制御部110は、第1の転送バッファ部111と第1のバッファ制御部112とを備えている。また、データ転送制御装置10内の第2の転送制御部210は、第2の転送バッファ部211と第2のバッファ制御部212とを備えている。また、データ転送制御装置10内のデータ転送状態監視部130は、データ転送待ち時間監視部131とメモリアクセス履歴収集部132とを備えている。
The first
第1の転送バッファ部111は、第1の画像データ入力部100から出力された第1の転送データを一旦格納する、例えば、SRAM(Static Random Access Memory)などのメモリで構成された、第1の転送データの一時記憶バッファである。第1の転送バッファ部111は、第1のバッファ制御部112からの制御に応じて、格納した第1の転送データを、第1のバッファ制御部112に出力する。
The first
第1のバッファ制御部112は、データ転送状態監視部130から入力された第1の転送制御情報に含まれる空きバンク情報に基づいて、次に転送する第1の転送データの出力先を、第1のデータ転送部101または第2の転送制御部210内の第2のバッファ制御部212のいずれか一方に決定する。そして、第1のバッファ制御部112は、第1の転送バッファ部111に格納されている第1の転送データを読み出し、読み出した第1の転送データを、決定した出力先に出力する。つまり、第1のバッファ制御部112は、データ転送状態監視部130から入力された第1の転送制御情報に基づいて、第1の転送バッファ部111から読み出した第1の転送データを、第1のデータ転送部101または第2のバッファ制御部212のいずれか一方に振り分ける。
The first
第2の転送バッファ部211は、第2の画像データ入力部200から出力された第2の転送データを一旦格納する、例えば、SRAMなどのメモリで構成された、第2の転送データの一時記憶バッファである。第2の転送バッファ部211は、第2のバッファ制御部212からの制御に応じて、格納した第2の転送データを、第2のバッファ制御部212に出力する。
The second
第2のバッファ制御部212は、データ転送状態監視部130から入力された第2の転送制御情報に基づいて、次に転送する転送データを、第2のデータ転送部201に出力する。なお、第2のバッファ制御部212は、第1のバッファ制御部112から第1の転送データが入力された場合には、第1のバッファ制御部112から入力された第1の転送データを、第2のデータ転送部201に出力する。また、第2のバッファ制御部212は、第1のバッファ制御部112から第1の転送データが入力されていない場合には、第2の転送バッファ部211に格納されている第2の転送データを読み出し、読み出した第2の転送データを、第2のデータ転送部201に出力する。
The second
なお、第2のバッファ制御部212は、第1のバッファ制御部112から入力された第1の転送データの第2のデータ転送部201への出力と、第2の転送データの第2のデータ転送部201への出力とが競合した場合には、第1の転送データの第2のデータ転送部201への出力を優先する。このため、第2のバッファ制御部212は、競合した第2の転送データの第2のデータ転送部201への出力を待ち合わせる。つまり、第2のバッファ制御部212は、第1のバッファ制御部112から第1の転送データが入力されていないときに、第2の転送データの第2のデータ転送部201への出力を行う。
The second
データ転送待ち時間監視部131は、第1のデータ転送部101がDMA転送を行う際の制御信号(例えば、リクエスト信号やアクノリッジ信号など)に基づいて、第1のデータ転送部101によるDMA転送の待ち時間を監視する。そして、データ転送待ち時間監視部131は、第1のデータ転送部101によるDMA転送の待ち時間が、予め定めた時間を超過した場合、すなわち、第1のデータ転送部101による第1の転送データのDMA転送が円滑に行われずに滞っている場合に、このことを表すタイムアウト信号を、メモリアクセス履歴収集部132に通知(出力)する。
The data transfer waiting
メモリアクセス履歴収集部132は、第1のデータ転送部101がDMA転送を行う際の制御信号(例えば、リクエスト信号やアクノリッジ信号など)や、DRAMのメモリアドレスから得られるバンク情報に基づいて、第1のデータ転送部101によるDRAMへのアクセス履歴を収集する。また、メモリアクセス履歴収集部132は、第2のデータ転送部201がDMA転送を行う際の制御信号(例えば、リクエスト信号やアクノリッジ信号など)や、DRAMのメモリアドレスから得られるバンク情報に基づいて、第2のデータ転送部201によるDRAMへのアクセス履歴を収集する。
The memory access
そして、メモリアクセス履歴収集部132は、データ転送待ち時間監視部131からタイムアウト信号が入力された場合、収集した第1のデータ転送部101と第2のデータ転送部201とのそれぞれによるDRAMへのアクセス履歴に基づいて、第1のデータ転送部101と第2のデータ転送部201とのそれぞれがアクセスすることができるDRAMのメモリバンクを判定する。そして、メモリアクセス履歴収集部132は、判定したメモリバンクの情報に基づいて、第2のデータ転送部201が次に転送することができるメモリバンクを表す空きバンク情報を、第1のバッファ制御部112に出力する。
When the time-out signal is input from the data transfer wait
この空きバンク情報に基づいて、第1のバッファ制御部112は、次に転送する第1の転送データの出力先を第2のデータ転送部201に決定し、第1の転送バッファ部111から読み出した第1の転送データを第2のバッファ制御部212に出力することによって、第1の転送データを第2のデータ転送部201にDMA転送させる。このように、データ転送制御装置10では、第1の転送データのDMA転送を、第1のデータ転送部101と第2のデータ転送部201とによって並列に行わせることによって、第1の転送データのDMA転送のリアルタイム性を確保する。
Based on this empty bank information, the first
なお、第1のバッファ制御部112による第1の転送データの出力先の決定は、DRAMのバンク衝突が発生しないデータ転送部に決定することが望ましい。従って、第1のバッファ制御部112は、次に転送する第1の転送データを第2のデータ転送部201によってDMA転送させることによってバンク衝突が発生する場合には、第1の転送データを第1の転送バッファ部111から読み出す順序を変更し、第2のデータ転送部201によってDMA転送させてもバンク衝突が発生しない、例えば、2番目に転送する第1の転送データを先に読み出して、第2のバッファ制御部212に出力してもよい。
It should be noted that the output destination of the first transfer data by the first
次に、データ転送制御装置10の動作について説明する。図3は、本第1の実施形態のデータ転送制御装置10によるデータ転送動作の処理手順を示したフローチャートである。第1の画像データ入力部100から第1の転送データが入力されると、データ転送制御装置10は、ステップS100から、第1のデータ転送部101および第2のデータ転送部201がDMA転送を行う際の制御信号やメモリアドレスなど、DRAMに対するアクセスの情報(以下、「メモリアクセス情報」という)の収集を開始する。なお、メモリアクセス情報の収集は、以降の処理手順を実行しているときにも、常に継続して行われる。
Next, the operation of the data
そして、データ転送待ち時間監視部131は、収集したメモリアクセス情報に基づいて、第1のデータ転送部101によるDMA転送の待ち時間を監視する。より具体的には、第1のデータ転送部101がリクエスト信号をインターコネクトバス700に出力してから、アクノリッジ信号が返ってくるまでの時間を計測することによって、DMA転送の待ち時間を監視する。
Then, the data transfer wait
また、メモリアクセス履歴収集部132は、収集したメモリアクセス情報に基づいて、第1のデータ転送部101および第2のデータ転送部201によるDRAMへのアクセス履歴を収集する。より具体的には、例えば、第1のデータ転送部101がリクエスト信号をインターコネクトバス700に出力するときに指定するDRAMのメモリアドレスや、アクノリッジ信号が返ってきたときに指定されたDRAMのメモリアドレスに基づいて、第1のデータ転送部101が第1の転送データをDMA転送するDRAMのメモリバンクを判別する。そして、判別したDRAMのメモリバンクの情報を、第1のデータ転送部101によるDRAMへのアクセス履歴として収集する。
Further, the memory access
その後、データ転送待ち時間監視部131は、監視している第1のデータ転送部101によるDMA転送の待ち時間が予め定めた時間を超過した場合(ステップS110の“YES”)、すなわち、第1のデータ転送部101のDMA転送のタイムアウトを検出した場合、タイムアウト信号をメモリアクセス履歴収集部132に出力する。メモリアクセス履歴収集部132は、データ転送待ち時間監視部131からタイムアウト信号が入力されると、収集したDRAMへのアクセス履歴に基づいて判定した空きバンク情報を、第1のバッファ制御部112に出力する。
Thereafter, the data transfer waiting
なお、データ転送待ち時間監視部131は、監視しているDMA転送の待ち時間が予め定めた時間を超過していない場合(ステップS110の“NO”)、すなわち、タイムアウトを検出していない場合には、ステップS100に戻って、DMA転送の待ち時間の監視を継続する。
The data transfer wait
メモリアクセス履歴収集部132から空きバンク情報が入力されると、ステップS120において、第1のバッファ制御部112は、第1の転送データの出力先を振り分けて、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの並列転送を開始する。そして、第1のバッファ制御部112は、第2のデータ転送部201によってDMA転送させる次の第1の転送データを、第2のバッファ制御部212に出力する。
When empty bank information is input from the memory access
続いて、ステップS130において、第2のバッファ制御部212は、第2のデータ転送部201に出力する転送データの出力順序を変更し、次に第2のデータ転送部201に出力する第2の転送データの代わりに、第1のバッファ制御部112から入力された第1の転送データを、第2のデータ転送部201に出力する。
Subsequently, in step S130, the second
続いて、ステップS140において、第1のバッファ制御部112は、第1のデータ転送部101に出力する第1の転送データの出力順序を変更、つまり、第2のデータ転送部201によってDMA転送させる次の第1の転送データは出力したものとして、その次に第1のデータ転送部101に出力する第1の転送データを、第1のデータ転送部101に出力する。
Subsequently, in step S140, the first
これにより、ステップS130で第2のデータ転送部201に出力された第1の転送データと、ステップS140で第1のデータ転送部101に出力された第1の転送データとが、それぞれ並列にDMA転送される。
As a result, the first transfer data output to the second
その後、ステップS150において、メモリアクセス履歴収集部132が、収集したメモリアクセス情報に基づいて、第2のデータ転送部201による第1の転送データのDMA転送が完了したことを認識すると、ステップS160において、第1のバッファ制御部112は、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの1回目の並列転送を終了する。なお、ステップS140からステップS160までの間に、メモリアクセス履歴収集部132が、第1のデータ転送部101による第1の転送データのDMA転送の完了を、収集したメモリアクセス情報に基づいて認識することもあると考えられる。
Thereafter, in step S150, when the memory access
以降、データ転送制御装置10は、図3に示したデータ転送動作のフローチャートの処理手順を繰り返して、第1の画像データ入力部100から入力された全ての第1の転送データのDMA転送を行う。
Thereafter, the data
本第1の実施形態によれば、共通バス(インターコネクトバス700)を介してデータを転送する複数のデータ転送部(第1のデータ転送部101および第2のデータ転送部201)のそれぞれに、インターコネクトバス700を介して転送する転送データを出力するデータ転送制御装置(データ転送制御装置10)であって、第1のデータ転送部101および第2のデータ転送部201のそれぞれに対応し、この第1のデータ転送部101および第2のデータ転送部201のそれぞれに対応するデータ入力部(第1の画像データ入力部100および第2の画像データ入力部200)から入力された転送データを、対応する第1のデータ転送部101または第2のデータ転送部201に出力する複数の転送制御部(第1の転送制御部110および第2の転送制御部210)と、第1のデータ転送部101および第2のデータ転送部201のそれぞれが転送データを転送している状態を監視し、ここで監視した第1のデータ転送部101および第2のデータ転送部201のそれぞれの転送データの転送状態に基づいて、それぞれの第1の転送制御部110および第2の転送制御部210における転送データの対応する第1のデータ転送部101または第2のデータ転送部201への出力を制御する転送制御情報(第1の転送制御情報および第2の転送制御情報)を出力するデータ転送状態監視部(データ転送状態監視部130)と、を備え、複数の第1の転送制御部110および第2の転送制御部210の内、少なくとも1つの転送制御部(第1の転送制御部110)は、対応する第1のデータ転送部101の第1の転送制御情報に基づいて、この第1のデータ転送部101によって転送する転送データ(第1の転送データ)を、この第1のデータ転送部101によって転送する第1の転送データと他の転送制御部(第2の転送制御部210)が対応する他の第2のデータ転送部201によって転送する第1の転送データとに振り分けて出力し、転送データが振り分けられた、少なくとも1つの他の転送制御部(第2の転送制御部210)は、振り分けられた第1の転送データを、対応する第2のデータ転送部201の第2の転送制御情報に基づいて、この対応する第2のデータ転送部201に出力する、データ転送制御装置10が構成される。
According to the first embodiment, each of the plurality of data transfer units (the first
また、本第1の実施形態によれば、共通バス(インターコネクトバス700)を介してデータを転送する複数のデータ転送部(第1のデータ転送部101および第2のデータ転送部201)のそれぞれに、インターコネクトバス700を介して転送する転送データを出力するデータ転送制御装置(データ転送制御装置10)におけるデータ転送制御方法であって、第1のデータ転送部101および第2のデータ転送部201のそれぞれに対応し、この第1のデータ転送部101および第2のデータ転送部201のそれぞれに対応するデータ入力部(第1の画像データ入力部100および第2の画像データ入力部200)から入力された転送データを、対応する第1のデータ転送部101または第2のデータ転送部201に出力する複数の転送制御手順(第1の転送制御部110および第2の転送制御部210における処理手順)と、第1のデータ転送部101および第2のデータ転送部201のそれぞれが転送データを転送している状態を監視し、ここで監視した第1のデータ転送部101および第2のデータ転送部201のそれぞれの転送データの転送状態に基づいて、それぞれの第1の転送制御部110および第2の転送制御部210における転送データの対応する第1のデータ転送部101または第2のデータ転送部201への出力を制御する転送制御情報(第1の転送制御情報および第2の転送制御情報)を出力するデータ転送状態監視手順(データ転送状態監視部130における処理手順)と、を含み、複数の第1の転送制御部110および第2の転送制御部210における処理手順の内、少なくとも1つの転送制御手順(第1の転送制御部110における処理手順)は、対応する第1のデータ転送部101の第1の転送制御情報に基づいて、この第1のデータ転送部101によって転送する転送データ(第1の転送データ)を、この第1のデータ転送部101によって転送する第1の転送データと他の転送制御手順(第2の転送制御部210における処理手順)が対応する他の第2のデータ転送部201によって転送する第1の転送データとに振り分けて出力し、転送データが振り分けられた、少なくとも1つの他の転送制御手順(第2の転送制御部210における処理手順)は、振り分けられた第1の転送データを、対応する第2のデータ転送部201の第2の転送制御情報に基づいて、この対応する第2のデータ転送部201に出力する、データ転送制御方法が構成される。
Further, according to the first embodiment, each of the plurality of data transfer units (the first
また、本第1の実施形態によれば、共通バス(インターコネクトバス700)を介してデータを転送する複数のデータ転送部(第1のデータ転送部101および第2のデータ転送部201)と、第1のデータ転送部101および第2のデータ転送部201のそれぞれに対応し、インターコネクトバス700を介して転送する転送データを出力する複数のデータ入力部(第1の画像データ入力部100および第2の画像データ入力部200)と、第1のデータ転送部101および第2のデータ転送部201のそれぞれに対応し、この第1のデータ転送部101および第2のデータ転送部201のそれぞれに対応する第1の画像データ入力部100または第2の画像データ入力部200から入力された転送データを、対応する第1のデータ転送部101または第2のデータ転送部201に出力する複数の転送制御部(第1の転送制御部110および第2の転送制御部210)と、第1のデータ転送部101および第2のデータ転送部201のそれぞれが転送データを転送している状態を監視し、ここで監視した第1のデータ転送部101および第2のデータ転送部201のそれぞれの転送データの転送状態に基づいて、それぞれの第1の転送制御部110および第2の転送制御部210における転送データの対応する第1のデータ転送部101または第2のデータ転送部201への出力を制御する転送制御情報(第1の転送制御情報および第2の転送制御情報)を出力するデータ転送状態監視部(データ転送状態監視部130)と、を具備したデータ転送制御装置(データ転送制御装置10)と、を備え、データ転送制御装置10に備えた複数の第1の転送制御部110および第2の転送制御部210の内、少なくとも1つの転送制御部(第1の転送制御部110)は、対応する第1のデータ転送部101の第1の転送制御情報に基づいて、この第1のデータ転送部101によって転送する転送データ(第1の転送データ)を、この第1のデータ転送部101によって転送する第1の転送データと他の転送制御部(第2の転送制御部210)が対応する他の第2のデータ転送部201によって転送する第1の転送データとに振り分けて出力し、データ転送制御装置10に備えた複数の第1の転送制御部110および第2の転送制御部210の内、転送データが振り分けられた、少なくとも1つの他の転送制御部(第2の転送制御部210)は、振り分けられた第1の転送データを、対応する第2のデータ転送部201の第2の転送制御情報に基づいて、この対応する第2のデータ転送部201に出力する、データ処理装置(データ処理装置1)が構成される。
Further, according to the first embodiment, a plurality of data transfer units (the first
また、本第1の実施形態によれば、複数の第1の転送制御部110および第2の転送制御部210のそれぞれは、対応する第1のデータ転送部101または第2のデータ転送部201が対応する第1の画像データ入力部100または第2の画像データ入力部200から入力された転送データを一時的に記憶する転送バッファ部(第1の転送バッファ部111または第2の転送バッファ部211)と、転送制御情報に基づいて、第1の転送バッファ部111または第2の転送バッファ部211に記憶された転送データを読み出して出力するバッファ制御部(第1のバッファ制御部112または第2のバッファ制御部212)と、を備え、第1の転送データを振り分ける転送制御部である第1の転送制御部110に備えた転送バッファ部である第1の転送バッファ部111は、この第1の転送制御部110が対応するデータ転送部である第1のデータ転送部101によって転送する転送データである第1の転送データを一時的に記憶し、この第1の転送制御部110に備えたバッファ制御部である第1のバッファ制御部112は、第1のデータ転送部101の転送制御情報である第1の転送制御情報に基づいて、第1の転送バッファ部111から読み出した第1の転送データを、第1のデータ転送部101によって転送する第1の転送データと他の転送制御部(第2の転送制御部210)が対応する他のデータ転送部(第2のデータ転送部201)によって転送する第1の転送データとに振り分けて出力し、第1の転送データが振り分けられた他の転送制御部である第2の転送制御部210に備えた転送バッファ部である第2の転送バッファ部211は、この第2の転送制御部210が対応するデータ転送部である第2のデータ転送部201によって転送する転送データである第2の転送データを一時的に記憶し、この第2の転送制御部210に備えたバッファ制御部である第2のバッファ制御部212は、第1のバッファ制御部112から第1の転送データが入力されていない場合には、第2のデータ転送部201の転送制御情報である第2の転送制御情報に基づいて、第2の転送バッファ部211から読み出した第2の転送データを第2のデータ転送部201に出力し、第1のバッファ制御部112から第1の転送データが入力された場合には、第2の転送制御情報に基づいて、この第1の転送データを第2のデータ転送部201に出力する、データ転送制御装置10が構成される。
Further, according to the first embodiment, each of the plurality of first
また、本第1の実施形態によれば、データ転送状態監視部130は、第1のデータ転送部101が第1の転送データを転送する際の制御信号(例えば、リクエスト信号やアクノリッジ信号など)に基づいて、この第1のデータ転送部101における第1の転送データの転送待ち時間を監視し、ここで監視した第1の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視部(データ転送待ち時間監視部131)と、第1のデータ転送部101が第1の転送データを転送する際の信号(例えば、リクエスト信号やアクノリッジ信号などや、DRAMのメモリアドレス)に基づいて、この第1のデータ転送部101における第1の転送データの転送履歴と、第2のデータ転送部201が第1の転送データまたは第2の転送データを転送する際の信号(例えば、リクエスト信号やアクノリッジ信号などや、DRAMのメモリアドレス)に基づいて、この第2のデータ転送部201における第1の転送データまたは第2の転送データの転送履歴とを収集するアクセス履歴収集部(メモリアクセス履歴収集部132)と、を備え、メモリアクセス履歴収集部132は、データ転送待ち時間監視部131がタイムアウト信号を出力した際に、収集した第1の転送データの転送履歴と第2の転送データの転送履歴とに基づいて、第1の転送データと第2の転送データとによって転送データを転送するための転送情報(空きバンク情報)を第1のバッファ制御部112に出力し、第1のバッファ制御部112は、メモリアクセス履歴収集部132から出力された空きバンク情報に基づいて、第1の転送データを、第1のデータ転送部101と第2のバッファ制御部212とに振り分けて出力する、データ転送制御装置10が構成される。
In addition, according to the first embodiment, the data transfer
このようにして、データ転送制御装置10では、DMA転送の待ち時間とDRAMへのアクセス履歴とに基づいて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分けて、それぞれ並列にDMA転送する。これにより、データ転送制御装置10では、第1の画像データ入力部100が出力した第1の転送データをDMA転送する際のバス帯域が確保されて、DMA転送が円滑に行われ、第1の転送データのDMA転送のリアルタイム性を確保することができる。
In this manner, the data
なお、第1のデータ転送部101と第2のデータ転送部201とによる転送データのDMA転送は、DRAMのバンク衝突が発生しないデータ転送部に決定することが望ましい。このため、第1のバッファ制御部112と第2のバッファ制御部212とのそれぞれは、通常のDMA転送においても、対応するデータ転送部に転送データを出力する際に、それぞれのデータ転送部がDRAMの異なるメモリバンクにDMA転送するように、転送データの出力順序を並び替えていることが考えられる。従って、ステップS120において第1のバッファ制御部112が第2のバッファ制御部212に出力する第1の転送データは、上述したように、次の第1の転送データ、すなわち、現在DMA転送している第1の転送データに連続している第1の転送データに限定されるものではない。
Note that the DMA transfer of the transfer data by the first
なお、本第1の実施形態では、データ転送待ち時間監視部131が、DMA転送の待ち時間のタイムアウトを検出する構成について説明したが、例えば、第1のデータ転送部101におけるDMA転送の待ち時間と、第2のデータ転送部201におけるDMA転送の待ち時間とのそれぞれを監視する構成であってもよい。また、例えば、データ転送待ち時間監視部131が、第1のデータ転送部101におけるDMA転送の待ち時間の平均時間と、第2のデータ転送部201におけるDMA転送の待ち時間の平均時間とのそれぞれを監視する構成であってもよい。この場合、メモリアクセス履歴収集部132は、データ転送待ち時間監視部131が監視した第1のデータ転送部101と第2のデータ転送部201とにおけるDMA転送の待ち時間や待ち時間の平均時間の割合に基づいて、例えば、第1のバッファ制御部112が第1の転送データの出力先を振り分ける割合を表す情報を、第1のバッファ制御部112に出力する構成にすることもできる。このような構成であっても、データ転送制御装置10は、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とのそれぞれで並列にDMA転送することができる。
In the first embodiment, the configuration in which the data transfer wait
<第2の実施形態>
次に、本実施形態のデータ転送制御装置10の別の構成および動作について説明する。なお、以下の説明においては、本実施形態のデータ転送制御装置10を、第1の実施形態のデータ転送制御装置10と区別するため、本第2の実施形態のデータ転送制御装置を、「データ転送制御装置20」という。そして、データ転送制御装置20を備えたデータ処理装置を、「データ処理装置2」という。図4は、本第2の実施形態におけるデータ転送制御装置20を備えたデータ処理装置2の構成の一例を示したブロック図である。図4には、DMA転送の負荷状態に基づいて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分ける制御を行うデータ転送制御装置20の構成を示している。
<Second Embodiment>
Next, another configuration and operation of the data
図4に示したデータ処理装置2は、図2に示したデータ処理装置1内のデータ転送制御装置10がデータ転送制御装置20に代わった構成であり、このデータ転送制御装置20の構成要素をより詳細に示している。なお、図4に示したデータ処理装置2内の構成要素およびデータ転送制御装置20内の構成要素には、図1および図2に示したデータ処理装置1内の構成要素およびデータ転送制御装置10内の構成要素と同様の構成要素も含まれている。従って、図4に示したデータ処理装置2およびデータ転送制御装置20の構成要素において、図1および図2に示したデータ処理装置1およびデータ転送制御装置10の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
The data processing device 2 shown in FIG. 4 has a configuration in which the data
データ転送制御装置20は、第1の実施形態のデータ転送制御装置10と同様に、データ処理装置2が第1のデータ転送部101および第2のデータ転送部201によってDRAMにDMA転送する転送データを制御する。従って、データ処理装置2でも、第1の実施形態のデータ転送制御装置10と同様に、第1のデータ転送部101および第2のデータ転送部201のそれぞれがDMA転送する転送データが、データ転送制御装置20を介して入力される。なお、以下の説明においても、第1の実施形態のデータ処理装置1と同様に、第1のデータ転送部101の方が、第2のデータ転送部201よりも優先度が高いイニシエータであるものとして説明を行う。
Similar to the data
データ転送制御装置20は、第1のデータ転送部101および第2のデータ転送部201のそれぞれにおけるDMA転送の状態を監視し、監視した結果に応じて、第1のデータ転送部101または第2のデータ転送部201のいずれのデータ転送部によって転送データをDMA転送するかを決定し、決定した第1のデータ転送部101または第2のデータ転送部201のいずれかのデータ転送部に転送データを出力して、DMA転送を行わせる。データ転送制御装置20は、第1の転送制御部140と、第2の転送制御部210と、データ転送状態監視部150と、を備えている。
The data
第1の転送制御部140は、第1の実施形態の第1の転送制御部110と同様に、第1の画像データ入力部100から入力されたDMA転送する第1の転送データを、データ転送状態監視部150から入力された第1の転送制御情報に基づいて、第1のデータ転送部101と第2のデータ転送部201とに振り分ける。第1の転送制御部140は、第1の転送バッファ部111と第1のバッファ制御部142とを備えている。
Similar to the first
第1の転送バッファ部111は、第1の画像データ入力部100から出力された第1の転送データを格納し、第1のバッファ制御部142からの制御に応じて、格納した第1の転送データを、第1のバッファ制御部142に出力する。
The first
第1のバッファ制御部142は、データ転送状態監視部150から入力された第1の転送制御情報に含まれる負荷分散指示に応じて、次に転送する第1の転送データの出力先を、第1のデータ転送部101または第2の転送制御部210内の第2のバッファ制御部212のいずれか一方に決定する。そして、第1のバッファ制御部142は、第1の転送バッファ部111に格納されている第1の転送データを読み出し、読み出した第1の転送データを、決定した出力先に出力する。つまり、第1のバッファ制御部142は、データ転送状態監視部150から入力された負荷分散指示に応じて、第1の実施形態の第1のバッファ制御部112と同様に、第1の転送バッファ部111から読み出した第1の転送データを、第1のデータ転送部101または第2のバッファ制御部212のいずれか一方に振り分ける。
The first
そして、第2のバッファ制御部212は、第1のバッファ制御部142から第1の転送データが入力された場合には、第1のバッファ制御部142から入力された第1の転送データを、第2のバッファ制御部212に出力する。これにより、第1の画像データ入力部100が出力した第1の転送データは、第1の実施形態のデータ転送制御装置10と同様に、第1のデータ転送部101に加えて、第2のデータ転送部201によってもDMA転送される。
Then, when the first transfer data is input from the first
データ転送状態監視部150は、第1の実施形態のデータ転送状態監視部130と同様に、第1のデータ転送部101および第2のデータ転送部201のそれぞれにおいて行われているDMA転送の状態を監視する。このとき、データ転送状態監視部150は、DRAMのバンク衝突などによる、DMA転送の待ち時間や、転送データのDRAMへの転送数などの転送負荷の情報を収集する。そして、データ転送状態監視部150は、監視した第1のデータ転送部101のDMA転送の負荷状態に応じた負荷分散指示を、第1の転送制御情報として第1の転送制御部140内の第1のバッファ制御部142に出力する。
The data transfer
なお、データ転送状態監視部150が監視した第2のデータ転送部201のDMA転送の状態に応じて第2の転送制御部210に出力する第2の転送制御情報は、第1の実施形態のデータ転送状態監視部130と同様である。また、第1の転送制御情報および第2の転送制御情報には、第1の実施形態のデータ転送状態監視部130が出力する第1の転送制御情報および第2の転送制御情報と同様に、対応する第1のデータ転送部101および第2のデータ転送部201に転送データを出力する順序や、第1のデータ転送部101と第2のデータ転送部201とのタイミングを調停するための制御情報なども含まれる。データ転送状態監視部150は、転送負荷状態監視部151を備えている。
Note that the second transfer control information output to the second
転送負荷状態監視部151は、第1のデータ転送部101がDMA転送を行う際の制御信号(例えば、リクエスト信号やアクノリッジ信号など)に基づいて、第1のデータ転送部101によるDMA転送の負荷を監視する。そして、転送負荷状態監視部151は、監視した第1のデータ転送部101におけるDMA転送の負荷が、予め定めた負荷よりも大きいか否かによって、負荷の分散を行うか否かを判定する。そして、転送負荷状態監視部151は、判定した結果に基づいて、第1のデータ転送部101がDMA転送する際の負荷を分散するための負荷分散指示を、第1のバッファ制御部142に出力する。
The transfer load
この負荷分散指示に応じて、第1のバッファ制御部142は、次に転送する第1の転送データの出力先を第2のデータ転送部201に決定し、第1の転送バッファ部111から読み出した第1の転送データを第2のバッファ制御部212に出力することによって、第1の転送データを第2のデータ転送部201にDMA転送させる。このように、データ転送制御装置20では、第1の転送データのDMA転送を、第1のデータ転送部101と第2のデータ転送部201とによって並列に行わせることによって、第1のデータ転送部101がDMA転送する際の負荷を分散し、第1の転送データのDMA転送のリアルタイム性を確保する。
In response to this load distribution instruction, the first
また、転送負荷状態監視部151は、第2のデータ転送部201がDMA転送を行う際の制御信号(例えば、リクエスト信号やアクノリッジ信号など)や、DRAMのメモリアドレスから得られるバンク情報に基づいて、第2のデータ転送部201によるDMA転送の状態を監視する。
Further, the transfer load
なお、第1のバッファ制御部142が第1のデータ転送部101がDMA転送する際の負荷を分散する際にも、DRAMのバンク衝突が発生しないことが望ましい。従って、第1のバッファ制御部142は、第1の実施形態の第1のバッファ制御部112と同様に、第1の転送データを第1の転送バッファ部111から読み出す順序を変更するなどによって、第2のバッファ制御部212に出力する第1の転送データを選択するようにしてもよい。
Even when the first
次に、データ転送制御装置20の動作について説明する。図5は、本第2の実施形態のデータ転送制御装置20によるデータ転送動作の処理手順を示したフローチャートである。第1の画像データ入力部100から第1の転送データが入力されると、データ転送制御装置20は、ステップS200から、第1のデータ転送部101および第2のデータ転送部201におけるDMA転送の転送負荷の情報(以下「転送負荷情報」という)の収集を開始する。なお、転送負荷情報の収集は、以降の処理手順を実行しているときにも、常に継続して行われる。
Next, the operation of the data
そして、転送負荷状態監視部151は、収集した転送負荷情報に基づいて、第1のデータ転送部101におけるDMA転送の負荷状態を監視する。より具体的には、第1のデータ転送部101がリクエスト信号をインターコネクトバス700に出力してから、アクノリッジ信号が返ってくるまでのDMA転送の待ち時間や、第1のデータ転送部101がリクエスト信号を出力した回数などを計測することによって、DMA転送の負荷状態を監視する。
Then, the transfer load
また、転送負荷状態監視部151は、収集した転送負荷情報に基づいて、第2のデータ転送部201によるDMA転送の状態を監視する。より具体的には、第2のデータ転送部201がリクエスト信号をインターコネクトバス700に出力するときに指定するDRAMのメモリアドレスや、アクノリッジ信号が返ってきたときに指定されたDRAMのメモリアドレスに基づいて、第2のデータ転送部201がDMA転送するDRAMのメモリバンクを監視する。
Further, the transfer load
その後、転送負荷状態監視部151は、監視している第1のデータ転送部101によるDMA転送の負荷状態が予め定めた負荷よりも大きい場合(ステップS210の“YES”)、第1のデータ転送部101の負荷の分散を行うと判定し、負荷分散指示を第1のバッファ制御部142に出力する。
Thereafter, when the load state of the DMA transfer by the monitored first
なお、転送負荷状態監視部151は、監視している第1のデータ転送部101によるDMA転送の負荷状態が予め定めた負荷よりも大きくない場合(ステップS210の“NO”)には、ステップS200に戻って、第1のデータ転送部101におけるDMA転送の負荷状態の監視を継続する。
The transfer load
転送負荷状態監視部151から負荷分散指示が入力されると、ステップS220において、第1のバッファ制御部142は、第1の転送データの出力先の振り分け、すなわち、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの並列転送を開始する。そして、第1のバッファ制御部142は、第2のデータ転送部201によってDMA転送させる次の第1の転送データを、第2のバッファ制御部212に出力する。
When a load distribution instruction is input from the transfer load
続いて、ステップS230において、第2のバッファ制御部212は、第2のデータ転送部201に出力する転送データの出力順序を変更し、次に第2のデータ転送部201に出力する第2の転送データの代わりに、第1のバッファ制御部142から入力された第1の転送データを、第2のデータ転送部201に出力する。
Subsequently, in step S230, the second
続いて、ステップS240において、第1のバッファ制御部142は、第1のデータ転送部101に出力する第1の転送データの出力順序を変更、つまり、第2のデータ転送部201によってDMA転送させる次の第1の転送データは出力したものとして、その次に第1のデータ転送部101に出力する第1の転送データを、第1のデータ転送部101に出力する。
Subsequently, in step S240, the first
これにより、ステップS230で第2のデータ転送部201に出力された第1の転送データと、ステップS240で第1のデータ転送部101に出力された第1の転送データとが、それぞれ並列にDMA転送される。
As a result, the first transfer data output to the second
その後、ステップS250において、転送負荷状態監視部151が、収集した転送負荷情報に基づいて、第2のデータ転送部201による第1の転送データのDMA転送が完了したことを認識すると、ステップS260において、第1のバッファ制御部142は、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの1回目の並列転送を終了する。なお、ステップS240からステップS260までの間に、転送負荷状態監視部151が、第1のデータ転送部101による第1の転送データのDMA転送の完了を、収集した転送負荷情報に基づいて認識することもあると考えられる。
Thereafter, in step S250, when the transfer load
以降、データ転送制御装置20は、図5に示したデータ転送動作のフローチャートの処理手順を繰り返して、第1の画像データ入力部100から入力された全ての第1の転送データのDMA転送を行う。
Thereafter, the data
本第2の実施形態によれば、データ転送状態監視部(データ転送状態監視部150)は、第1のデータ転送部101が第1の転送データを転送する際の制御信号(例えば、リクエスト信号やアクノリッジ信号など)に基づいて、この第1のデータ転送部101における第1の転送データの転送の負荷を監視し、ここで監視した第1の転送データの転送負荷と予め定めた負荷の大きさとを比較することによって負荷の分散を行うか否かを判定し、ここで判定した結果に基づいて第1のデータ転送部101における転送負荷を分散するための負荷分散指示を出力する転送負荷状態監視部(転送負荷状態監視部151)、を備え、第1のバッファ制御部(第1のバッファ制御部142)は、転送負荷状態監視部151から出力された負荷分散指示に基づいて、第1の転送データを、第1のデータ転送部101と第2のバッファ制御部212とに振り分けて出力する、データ転送制御装置(データ転送制御装置20)が構成される。
According to the second embodiment, the data transfer state monitoring unit (data transfer state monitoring unit 150) controls the control signal (eg, request signal) when the first
このようにして、データ転送制御装置20では、第1のデータ転送部101におけるDMA転送の負荷状態に基づいて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分けて、それぞれ並列にDMA転送する。これにより、データ転送制御装置20でも、第1の実施形態のデータ転送制御装置10と同様に、第1の画像データ入力部100が出力した第1の転送データをDMA転送する際のバス帯域が確保されて、DMA転送が円滑に行われ、第1の転送データのDMA転送のリアルタイム性を確保することができる。
In this way, the data
なお、データ転送制御装置20でも、第1の実施形態のデータ転送制御装置10と同様に、第1のデータ転送部101と第2のデータ転送部201とによる転送データのDMA転送においてDRAMのバンク衝突が発生しないように、第1のバッファ制御部142が第2のバッファ制御部212に振り分ける第1の転送データを決定することが望ましい。従って、ステップS220において第1のバッファ制御部142が第2のバッファ制御部212に出力する第1の転送データは、上述したように、次の第1の転送データに限定されるものではない。
In the data
<第3の実施形態>
次に、本実施形態のデータ転送制御装置10のさらに別の構成および動作について説明する。なお、以下の説明においては、本実施形態のデータ転送制御装置10を、第1の実施形態のデータ転送制御装置10と区別するため、本第3の実施形態のデータ転送制御装置を、「データ転送制御装置30」という。そして、データ転送制御装置30を備えたデータ処理装置を、「データ処理装置3」という。図6は、本第3の実施形態におけるデータ転送制御装置30を備えたデータ処理装置3の構成の一例を示したブロック図である。図6には、DMA転送する第1の転送データを格納する第1の転送バッファ部の記憶容量の残量(以下、「バッファ残量」という)に基づいて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分ける制御を行うデータ転送制御装置30の構成を示している。
<Third Embodiment>
Next, still another configuration and operation of the data
図6に示したデータ処理装置3は、図2に示したデータ処理装置1内のデータ転送制御装置10がデータ転送制御装置30に代わった構成であり、このデータ転送制御装置30の構成要素をより詳細に示している。なお、図6に示したデータ処理装置3内の構成要素およびデータ転送制御装置30内の構成要素には、図1および図2に示したデータ処理装置1内の構成要素およびデータ転送制御装置10内の構成要素と同様の構成要素も含まれている。従って、図6に示したデータ処理装置3およびデータ転送制御装置30の構成要素において、図1および図2に示したデータ処理装置1およびデータ転送制御装置10の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
The
データ転送制御装置30は、第1の実施形態のデータ転送制御装置10と同様に、データ処理装置3が第1のデータ転送部101および第2のデータ転送部201によってDRAMにDMA転送する転送データを制御する。従って、データ処理装置3でも、第1の実施形態のデータ転送制御装置10と同様に、第1のデータ転送部101および第2のデータ転送部201のそれぞれがDMA転送する転送データが、データ転送制御装置30を介して入力される。なお、以下の説明においても、第1の実施形態のデータ処理装置1と同様に、第1のデータ転送部101の方が、第2のデータ転送部201よりも優先度が高いイニシエータであるものとして説明を行う。
Similarly to the data
データ転送制御装置30は、第1のデータ転送部101がDMA転送する際のメモリアクセス情報に基づいて、データ転送制御装置30自身に備えた、DMA転送する第1の転送データを格納する第1の転送バッファ部のバッファ残量を監視し、監視したバッファ残量に応じて、第1のデータ転送部101または第2のデータ転送部201のいずれのデータ転送部によって転送データをDMA転送するかを決定する。そして、データ転送制御装置30は、第1の実施形態のデータ転送制御装置10と同様に、決定した第1のデータ転送部101または第2のデータ転送部201のいずれかのデータ転送部に転送データを出力して、DMA転送を行わせる。データ転送制御装置30は、第1の転送制御部160と、第2の転送制御部210と、データ転送状態監視部170と、を備えている。
The data
第1の転送制御部160は、第1の実施形態の第1の転送制御部110と同様に、第1の画像データ入力部100から入力されたDMA転送する第1の転送データを、データ転送状態監視部170から入力された第1の転送制御情報に基づいて、第1のデータ転送部101と第2のデータ転送部201とに振り分ける。第1の転送制御部160は、第1の転送バッファ部111と第1のバッファ制御部162とを備えている。
Similar to the first
第1の転送バッファ部111は、第1の画像データ入力部100から出力された第1の転送データを格納し、第1のバッファ制御部162からの制御に応じて、格納した第1の転送データを、第1のバッファ制御部162に出力する。
The first
第1のバッファ制御部162は、データ転送状態監視部170から入力された第1の転送制御情報に含まれる負荷分散指示に応じて、次に転送する第1の転送データの出力先を、第1のデータ転送部101または第2の転送制御部210内の第2のバッファ制御部212のいずれか一方に決定し、第1の転送バッファ部111に格納されている第1の転送データを読み出して、決定した出力先に出力する。つまり、第1のバッファ制御部162は、データ転送状態監視部170から入力された負荷分散指示に応じて、第1の実施形態の第1のバッファ制御部112と同様に、第1の転送バッファ部111から読み出した第1の転送データを、第1のデータ転送部101または第2のバッファ制御部212のいずれか一方に振り分ける。
The first
そして、第2のバッファ制御部212は、第1のバッファ制御部162から第1の転送データが入力された場合には、第1のバッファ制御部162から入力された第1の転送データを、第2のバッファ制御部212に出力する。これにより、第1の画像データ入力部100が出力した第1の転送データは、第1の実施形態のデータ転送制御装置10と同様に、第1のデータ転送部101に加えて、第2のデータ転送部201によってもDMA転送される。
The second
データ転送状態監視部170は、第1の実施形態のデータ転送状態監視部130と同様に、第1のデータ転送部101および第2のデータ転送部201のそれぞれにおいて行われているDMA転送の状態を監視する。このとき、データ転送状態監視部170は、第1のデータ転送部101がDMA転送する際の制御信号に基づいて、第1の転送バッファ部111のバッファ残量を監視する。そして、データ転送状態監視部170は、監視した第1の転送バッファ部111のバッファ残量に応じた負荷分散指示を、第1の転送制御情報として第1の転送制御部160内の第1のバッファ制御部162に出力する。
Similarly to the data transfer
なお、データ転送状態監視部170が監視した第2のデータ転送部201のDMA転送の状態に応じて第2の転送制御部210に出力する第2の転送制御情報は、第1の実施形態のデータ転送状態監視部130と同様である。また、第1の転送制御情報および第2の転送制御情報には、第1の実施形態のデータ転送状態監視部130が出力する第1の転送制御情報および第2の転送制御情報と同様に、対応する第1のデータ転送部101および第2のデータ転送部201に転送データを出力する順序や、第1のデータ転送部101と第2のデータ転送部201とのタイミングを調停するための制御情報なども含まれる。データ転送状態監視部170は、転送バッファ残量監視部171を備えている。
Note that the second transfer control information output to the second
転送バッファ残量監視部171は、第1のデータ転送部101がDMA転送を行う際の制御信号(例えば、リクエスト信号やアクノリッジ信号など)に基づいて、第1の転送バッファ部111のバッファ残量を監視する。そして、転送バッファ残量監視部171は、監視した第1の転送バッファ部111のバッファ残量が、予め定めた記憶容量よりも少ないか否かによって、負荷の分散を行うか否かを判定する。そして、転送バッファ残量監視部171は、判定した結果に基づいて、第1のデータ転送部101がDMA転送する際の負荷を分散するための負荷分散指示を、第1のバッファ制御部162に出力する。
The transfer buffer remaining
この負荷分散指示に応じて、第1のバッファ制御部162は、次に転送する第1の転送データの出力先を第2のデータ転送部201に決定し、第1の転送バッファ部111から読み出した第1の転送データを第2のバッファ制御部212に出力することによって、第1の転送データを第2のデータ転送部201にDMA転送させる。このように、データ転送制御装置30でも、第1の転送データのDMA転送を、第1のデータ転送部101と第2のデータ転送部201とによって並列に行わせることによって、第1のデータ転送部101がDMA転送する際の負荷を分散し、第1の転送データのDMA転送のリアルタイム性を確保する。
In response to this load distribution instruction, the first
なお、第1のバッファ制御部162が第1のデータ転送部101がDMA転送する際の負荷を分散する際にも、DRAMのバンク衝突が発生しないことが望ましい。従って、第1のバッファ制御部162は、第1の実施形態の第1のバッファ制御部112と同様に、第1の転送データを第1の転送バッファ部111から読み出す順序を変更するなどによって、第2のバッファ制御部212に出力する第1の転送データを選択するようにしてもよい。
Even when the first
また、転送バッファ残量監視部171は、第1のデータ転送部101がDMA転送を行う際の制御信号以外の情報に基づいて、第1の転送バッファ部111のバッファ残量を監視する構成にすることもできる。例えば、第1の画像データ入力部100が第1の転送バッファ部111に第1の転送データを格納(書き込む)際のライト信号と、第1のバッファ制御部162が第1の転送バッファ部111から第1の転送データを読み出す際のリード信号とに基づいて、第1の転送バッファ部111のバッファ残量を監視する構成にすることもできる。
Also, the transfer buffer remaining
次に、データ転送制御装置30の動作について説明する。図7は、本第3の実施形態のデータ転送制御装置30によるデータ転送動作の処理手順を示したフローチャートである。第1の画像データ入力部100から第1の転送データが入力されると、データ転送制御装置30に備えたデータ転送状態監視部170内の転送バッファ残量監視部171は、第1のデータ転送部101がDMA転送を行う際の制御信号の情報に基づいて、第1の転送バッファ部111のバッファ残量を監視する。より具体的には、第1のデータ転送部101がリクエスト信号をインターコネクトバス700に出力した回数と、アクノリッジ信号が返ってきた回数との差分によって、第1の転送バッファ部111に記憶され、DMA転送されていない第1の転送データのデータ量を算出する。なお、第1のデータ転送部101が1回のDMA転送によってDRAMに転送するデータ量は一定であるものとする。そして、第1の転送バッファ部111の記憶容量から、算出した第1の転送データのデータ量を減算することによって、第1の転送バッファ部111のバッファ残量を監視する。なお、第1の転送バッファ部111のバッファ残量の監視は、以降の処理手順を実行しているときにも、常に継続して行われる。
Next, the operation of the data
その後、転送バッファ残量監視部171は、監視している第1の転送バッファ部111のバッファ残量が予め定めた記憶容量よりも少ない場合(ステップS300の“YES”)、すなわち、第1の転送バッファ部111の記憶容量の残量不足を検出した場合、第1のデータ転送部101の負荷の分散を行うと判定し、負荷分散指示を第1のバッファ制御部162に出力する。
Thereafter, the transfer buffer remaining
なお、転送バッファ残量監視部171は、監視している第1の転送バッファ部111のバッファ残量が予め定めた記憶容量よりも少なくない場合(ステップS300の“NO”)、すなわち、第1の転送バッファ部111の記憶容量が十分にある場合には、ステップS300における第1の転送バッファ部111のバッファ残量の監視を継続する。
The transfer buffer remaining
転送バッファ残量監視部171から負荷分散指示が入力されると、ステップS310において、第1のバッファ制御部162は、第1の転送データの出力先の振り分け、すなわち、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの並列転送を開始する。
When a load distribution instruction is input from the transfer buffer remaining
なお、第1のバッファ制御部162における第1の転送データの並列転送の処理手順は、第1の実施形態の第1のバッファ制御部112と同様における第1の転送データの並列転送の処理手順と同様である。より具体的には、図3に示したデータ転送制御装置10によるデータ転送動作の処理手順におけるステップS120〜ステップS150と同様である。従って、第1のバッファ制御部162における第1の転送データの並列転送の処理手順の詳細な説明は省略する。
Note that the parallel transfer processing procedure of the first transfer data in the first
その後、第1のバッファ制御部162は、第1の転送バッファ部111の記憶容量の残量不足が解消された場合(ステップS320の“YES”)、すなわち、転送バッファ残量監視部171からの負荷分散指示が解除された場合、ステップS330において、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの1回の並列転送を終了する。
Thereafter, the first
なお、第1のバッファ制御部162は、第1の転送バッファ部111の記憶容量の残量不足が解消されていない場合(ステップS320の“NO”)、すなわち、転送バッファ残量監視部171からの負荷分散指示が入力された状態である場合には、ステップS310に戻って、次の第1の転送データの第2のデータ転送部201による並列転送を、第1の転送バッファ部111の記憶容量の残量不足が解消されるまで繰り返す。
Note that the first
以降、データ転送制御装置30は、図7に示したデータ転送動作のフローチャートの処理手順を繰り返して、第1の画像データ入力部100から入力された全ての第1の転送データのDMA転送を行う。
Thereafter, the data
本第3の実施形態によれば、データ転送状態監視部(データ転送状態監視部170)は、第1のデータ転送部101が第1の転送データを転送する際の制御信号(例えば、リクエスト信号やアクノリッジ信号など)に基づいて、第1の転送バッファ部111の記憶容量の残量を監視し、ここで監視した記憶容量の残量に応じて、第1のデータ転送部101における転送負荷を分散するための負荷分散指示を出力する転送バッファ残量監視部(転送バッファ残量監視部171)、を備え、第1のバッファ制御部(第1のバッファ制御部162)は、転送バッファ残量監視部171から出力された負荷分散指示に基づいて、第1の転送データを、第1のデータ転送部101と第2のバッファ制御部212とに振り分けて出力する、データ転送制御装置(データ転送制御装置30)が構成される。
According to the third embodiment, the data transfer state monitoring unit (data transfer state monitoring unit 170) controls the control signal (for example, a request signal) when the first
このようにして、データ転送制御装置30では、第1の転送データをDMA転送する際に使用する第1の転送バッファ部111のバッファ残量に基づいて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分けて、それぞれ並列にDMA転送する。これにより、データ転送制御装置30でも、第1の実施形態のデータ転送制御装置10と同様に、第1の画像データ入力部100が出力した第1の転送データをDMA転送する際のバス帯域が確保されて、DMA転送が円滑に行われ、第1の転送データのDMA転送のリアルタイム性を確保することができる。
In this way, the data
なお、データ転送制御装置30でも、第1の実施形態のデータ転送制御装置10と同様に、第1のデータ転送部101と第2のデータ転送部201とによる転送データのDMA転送においてDRAMのバンク衝突が発生しないように、第1のバッファ制御部162が第2のバッファ制御部212に振り分ける第1の転送データを決定することが望ましい。従って、第1の転送バッファ部111の記憶容量の残量不足が解消されていない場合に、ステップS310において第1のバッファ制御部162が第2のバッファ制御部212に出力する第1の転送データは、上述したように、次の第1の転送データに限定されるものではない。
In the data
<第4の実施形態>
次に、本実施形態のデータ転送制御装置10のさらに別の構成および動作について説明する。なお、以下の説明においては、本実施形態のデータ転送制御装置10を、第1の実施形態のデータ転送制御装置10と区別するため、本第4の実施形態のデータ転送制御装置を、「データ転送制御装置40」という。そして、データ転送制御装置40を備えたデータ処理装置を、「データ処理装置4」という。図8は、本第4の実施形態におけるデータ転送制御装置40を備えたデータ処理装置4の構成の一例を示したブロック図である。図8には、データ処理装置4の動作モードに応じて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分ける制御を行うデータ転送制御装置40の構成を示している。
<Fourth Embodiment>
Next, still another configuration and operation of the data
なお、データ処理装置4の動作モードは、データ処理装置4全体を制御する、例えば、CPU(Central Processing Unit)などの不図示の制御部によって設定される。データ処理装置4の動作モードには、例えば、静止画像と動画像とを同時に撮影する動作モードや、静止画像を連続で撮影する動作モード、動画像のみを撮影する動作モードなどがある。
The operation mode of the
図8に示したデータ処理装置4は、図2に示したデータ処理装置1内のデータ転送制御装置10がデータ転送制御装置40に代わった構成であり、このデータ転送制御装置40の構成要素をより詳細に示している。なお、図8に示したデータ処理装置4内の構成要素およびデータ転送制御装置40内の構成要素には、図1および図2に示したデータ処理装置1内の構成要素およびデータ転送制御装置10内の構成要素と同様の構成要素も含まれている。従って、図8に示したデータ処理装置4およびデータ転送制御装置40の構成要素において、図1および図2に示したデータ処理装置1およびデータ転送制御装置10の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
The
データ転送制御装置40は、第1の実施形態のデータ転送制御装置10と同様に、データ処理装置4が第1のデータ転送部101および第2のデータ転送部201によってDRAMにDMA転送する転送データを制御する。従って、データ処理装置4でも、第1の実施形態のデータ転送制御装置10と同様に、第1のデータ転送部101および第2のデータ転送部201のそれぞれがDMA転送する転送データが、データ転送制御装置40を介して入力される。なお、以下の説明においても、第1の実施形態のデータ処理装置1と同様に、第1のデータ転送部101の方が、第2のデータ転送部201よりも優先度が高いイニシエータであるものとして説明を行う。
Similar to the data
データ転送制御装置40は、設定された動作モードに応じて、第1のデータ転送部101または第2のデータ転送部201のいずれのデータ転送部によって転送データをDMA転送するかを決定する。そして、データ転送制御装置40は、第1の実施形態のデータ転送制御装置10と同様に、決定した第1のデータ転送部101または第2のデータ転送部201のいずれかのデータ転送部に転送データを出力して、DMA転送を行わせる。データ転送制御装置40は、第1の転送制御部180と、第2の転送制御部210と、データ転送状態監視部190と、を備えている。
The data
第1の転送制御部180は、第1の実施形態の第1の転送制御部110と同様に、第1の画像データ入力部100から入力されたDMA転送する第1の転送データを、データ転送状態監視部190から入力された第1の転送制御情報に基づいて、第1のデータ転送部101と第2のデータ転送部201とに振り分ける。第1の転送制御部180は、第1の転送バッファ部111と第1のバッファ制御部182とを備えている。
Similar to the first
第1の転送バッファ部111は、第1の画像データ入力部100から出力された第1の転送データを格納し、第1のバッファ制御部182からの制御に応じて、格納した第1の転送データを、第1のバッファ制御部182に出力する。
The first
第1のバッファ制御部182は、データ転送状態監視部190から入力された第1の転送制御情報に含まれる経路選択指示に応じて、転送する第1の転送データの出力先を、第1のデータ転送部101または第2の転送制御部210内の第2のバッファ制御部212のいずれか一方に決定し、第1の転送バッファ部111に格納されている第1の転送データを読み出して、決定した出力先に出力する。つまり、第1のバッファ制御部182は、データ転送状態監視部190から入力された経路選択指示に応じて、第1の実施形態の第1のバッファ制御部112と同様に、第1の転送バッファ部111から読み出した第1の転送データを、第1のデータ転送部101または第2のバッファ制御部212のいずれか一方に振り分ける。
The first
そして、第2のバッファ制御部212は、第1のバッファ制御部182から第1の転送データが入力された場合には、第1のバッファ制御部182から入力された第1の転送データを、第2のバッファ制御部212に出力する。これにより、第1の画像データ入力部100が出力した第1の転送データは、第1の実施形態のデータ転送制御装置10と同様に、第1のデータ転送部101に加えて、第2のデータ転送部201によってもDMA転送される。
Then, when the first transfer data is input from the first
データ転送状態監視部190は、第1の実施形態のデータ転送状態監視部130と同様に、第1のデータ転送部101および第2のデータ転送部201のそれぞれにおいて行われているDMA転送の状態を監視する。また、データ転送状態監視部190は、設定された動作モードに応じて、第1の転送データをDRAMに転送する経路を指示する経路選択指示を、第1の転送制御情報として第1の転送制御部180内の第1のバッファ制御部182に出力する。
The data transfer
なお、データ転送状態監視部190が監視した第2のデータ転送部201のDMA転送の状態に応じて第2の転送制御部210に出力する第2の転送制御情報は、第1の実施形態のデータ転送状態監視部130と同様である。また、第1の転送制御情報および第2の転送制御情報には、第1の実施形態のデータ転送状態監視部130が出力する第1の転送制御情報および第2の転送制御情報と同様に、対応する第1のデータ転送部101および第2のデータ転送部201に転送データを出力する順序や、第1のデータ転送部101と第2のデータ転送部201とのタイミングを調停するための制御情報なども含まれる。データ転送状態監視部190は、モード設定部191を備えている。
Note that the second transfer control information output to the second
モード設定部191は、例えば、不図示のCPUによって設定された動作モードに応じて、第1の転送データをDRAMにDMA転送する際の第1の転送データの経路を決定する。そして、モード設定部191は、決定した結果に基づいて、第1の転送データをDMA転送する経路を表す経路選択指示を、第1のバッファ制御部182に出力する。例えば、静止画像を連続で撮影する動作モードが設定されている場合には、奇数枚目の静止画像の第1の転送データを第1のデータ転送部101がDMA転送し、偶数枚目の静止画像の第1の転送データを第2のデータ転送部201がDMA転送するように指示する並列転送の経路選択指示を、第1のバッファ制御部182に出力する。また、例えば、第1の転送データをDMA転送するDRAMを2つ備えている場合には、静止画像の奇数行の第1の転送データを第1のデータ転送部101が一方のDRAMにDMA転送し、静止画像の偶数行の第1の転送データを第2のデータ転送部201が他方のDRAMにDMA転送するように指示する並列転送の経路選択指示を、第1のバッファ制御部182に出力する。
The
この並列転送の経路選択指示に応じて、第1のバッファ制御部182は、転送する第1の転送データ毎に、第1の転送データの出力先を第1のデータ転送部101または第2のデータ転送部201のいずれか一方に決定し、決定した出力先に第1の転送バッファ部111から読み出した第1の転送データを出力することによって、第1の転送データを第1のデータ転送部101と第2のデータ転送部201とで並列にDMA転送させる。このように、データ転送制御装置40でも、第1の転送データのDMA転送を、第1のデータ転送部101と第2のデータ転送部201とによって並列に行わせることによって、第1のデータ転送部101がDMA転送する際の負荷を分散し、第1の転送データのDMA転送のリアルタイム性を確保する。
In response to the parallel transfer path selection instruction, the first
なお、第1のバッファ制御部182が第1のデータ転送部101がDMA転送する際の負荷を分散する際にも、DRAMのバンク衝突が発生しないことが望ましい。従って、第1のバッファ制御部182は、第1の実施形態の第1のバッファ制御部112と同様に、第1の転送データを第1の転送バッファ部111から読み出す順序を変更するなどによって、第2のバッファ制御部212に出力する第1の転送データを選択するようにしてもよい。
Even when the first
次に、データ転送制御装置40の動作について説明する。図9は、本第4の実施形態のデータ転送制御装置40によるデータ転送動作の処理手順を示したフローチャートである。モード設定部191に動作モードが設定されると、ステップS400において、モード設定部191は、設定された動作モードが、第1の転送データの並列転送を行う動作モードであるか否かを判定する。なお、モード設定部191における動作モードの判定は、以降の処理手順を実行しているときにも、常に継続して行われる。
Next, the operation of the data
ステップS400における判定において、設定された動作モードが、第1の転送データの並列転送を行う動作モードでない場合(ステップS400の“NO”)、モード設定部191は、第1の転送データを通常の経路、すなわち、第1の転送データを第1のデータ転送部101のみでDMA転送する経路選択指示を第1のバッファ制御部182に出力し、処理を終了する。その後、第1の画像データ入力部100から第1の転送データが入力されると、第1のバッファ制御部182は、第1の転送バッファ部111から第1の転送データを読み出し、読み出した第1の転送データを第1のデータ転送部101によってDMA転送させる。
In the determination in step S400, when the set operation mode is not an operation mode in which the first transfer data is transferred in parallel (“NO” in step S400), the
一方、ステップS400における判定において、設定された動作モードが、第1の転送データの並列転送を行う動作モードである場合(ステップS400の“YES”)、モード設定部191は、第1の転送データを第1のデータ転送部101と第2のデータ転送部201とによってDMA転送する並列転送の経路選択指示を、第1のバッファ制御部182に出力する。
On the other hand, in the determination in step S400, when the set operation mode is an operation mode in which the first transfer data is transferred in parallel (“YES” in step S400), the
モード設定部191から並列転送の経路選択指示が入力され、第1の画像データ入力部100から第1の転送データが入力されると、ステップS410において、第1のバッファ制御部182は、第1の転送データの出力先の振り分け、すなわち、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの並列転送を開始する。
When the parallel transfer path selection instruction is input from the
なお、第1のバッファ制御部182における第1の転送データの並列転送の処理手順は、図3に示した第1の実施形態のデータ転送制御装置10における第1のバッファ制御部112によるデータ転送動作の処理手順におけるステップS120〜ステップS150と同様である。従って、第1のバッファ制御部182における第1の転送データの並列転送の処理手順の詳細な説明は省略する。
The processing procedure of the parallel transfer of the first transfer data in the first
その後、第1のバッファ制御部182は、第1の転送データの並列転送を行う動作モードが解除された場合(ステップS420の“YES”)、すなわち、モード設定部191からの並列転送の経路選択指示が解除された場合、ステップS430において、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの並列転送を終了する。
Thereafter, the first
なお、第1のバッファ制御部182は、第1の転送データの並列転送を行う動作モードが解除されていない場合(ステップS420の“NO”)、すなわち、モード設定部191からの並列転送の経路選択指示が入力された状態である場合には、ステップS410に戻って、第1の転送データの第2のデータ転送部201による並列転送を、第1の転送データの並列転送を行う動作モードが解除されるまで繰り返す。
Note that the first
以降、データ転送制御装置40は、図9に示したデータ転送動作のフローチャートの処理手順を繰り返して、第1の画像データ入力部100から入力された全ての第1の転送データのDMA転送を行う。
Thereafter, the data
本第4の実施形態によれば、データ転送状態監視部(データ転送状態監視部190)は、設定された動作モードに応じて、第1の転送データを転送する際の第1の転送データの経路を決定し、ここで決定した結果に基づいて第1の転送データを転送する経路を表す経路選択指示を出力するモード設定部(モード設定部191)、を備え、第1のバッファ制御部(第1のバッファ制御部182)は、モード設定部191から出力された経路選択指示に基づいて、第1の転送データを、第1のデータ転送部101と第2のバッファ制御部212とに振り分けて出力する、データ転送制御装置(データ転送制御装置40)が構成される。
According to the fourth embodiment, the data transfer state monitoring unit (data transfer state monitoring unit 190) determines the first transfer data when transferring the first transfer data according to the set operation mode. A mode setting unit (mode setting unit 191) for determining a route and outputting a route selection instruction representing a route for transferring the first transfer data based on the result determined here, and the first buffer control unit ( The first buffer control unit 182) distributes the first transfer data to the first
このようにして、データ転送制御装置40では、モード設定部191に設定された動作モードに応じて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分けて、それぞれ並列にDMA転送する。これにより、データ転送制御装置40でも、第1の実施形態のデータ転送制御装置10と同様に、第1の画像データ入力部100が出力した第1の転送データをDMA転送する際のバス帯域が確保されて、DMA転送が円滑に行われ、第1の転送データのDMA転送のリアルタイム性を確保することができる。
In this way, in the data
なお、データ転送制御装置40でも、第1の実施形態のデータ転送制御装置10と同様に、第1のデータ転送部101と第2のデータ転送部201とによる転送データのDMA転送においてDRAMのバンク衝突が発生しないように、第1のバッファ制御部182が第2のバッファ制御部212に振り分ける第1の転送データを決定することが望ましい。
In the data
上記に述べたとおり、本発明のデータ転送制御装置では、転送データをDMA転送する際の様々な条件(より具体的には、DMA転送の待ち時間およびDRAMへのアクセス履歴、DMA転送の負荷状態、第1の転送バッファ部111のバッファ残量、データ処理装置の動作モードなど)に応じて、第1の転送データのDMA転送を、第1のデータ転送部101と第2のデータ転送部201とによって並列に行わせることができる。これにより、第1の画像データ入力部100が出力した第1の転送データをDMA転送する際のバス帯域を確保し、第1の転送データのDMA転送のリアルタイム性を確保することができる。
As described above, in the data transfer control device of the present invention, various conditions (more specifically, DMA transfer waiting time, DRAM access history, DMA transfer load status) when transfer data is DMA transferred. DMA transfer of the first transfer data in accordance with the remaining buffer capacity of the first
なお、本実施形態においては、第1の実施形態〜第4の実施形態において、転送データをDMA転送する際の異なるそれぞれの条件に対応した構成および動作について説明した。しかし、転送データをDMA転送する際の複数の条件の組み合わせに対応する構成および動作にすることもできる。これは、データ転送制御装置を、複数の条件の組み合わせに対応する第1の実施形態〜第4の実施形態で示した構成、動作、または機能を同時に備える構成にすることによって実現することができる。例えば、第1の実施形態〜第4の実施形態で示した構成を全て備えたデータ転送制御装置を構成することによって、DMA転送の待ち時間およびDRAMへのアクセス履歴、DMA転送の負荷状態、第1の転送バッファ部111のバッファ残量、データ処理装置の動作モードなどの全ての条件に応じた動作を行うデータ転送制御装置を実現することができる。
In the present embodiment, the configurations and operations corresponding to the different conditions when the transfer data is DMA-transferred in the first to fourth embodiments have been described. However, it is also possible to adopt a configuration and operation corresponding to a combination of a plurality of conditions when transferring transfer data by DMA. This can be realized by configuring the data transfer control device to have the configurations, operations, or functions shown in the first to fourth embodiments corresponding to a combination of a plurality of conditions at the same time. . For example, by configuring the data transfer control device having all the configurations shown in the first to fourth embodiments, the DMA transfer waiting time, access history to the DRAM, DMA transfer load state, It is possible to realize a data transfer control device that performs an operation according to all conditions such as the remaining buffer capacity of one
なお、第1の実施形態〜第4の実施形態においては、画像データ入力部から入力された転送データを転送バッファ部に一旦格納した後に、バッファ制御部が読み出してそれぞれのデータ転送部に出力する構成、つまり、DRAMに転送する転送データが、転送バッファ部、バッファ制御部の順番に転送される配置の転送制御部について説明した。例えば、第1の実施形態における第1の転送制御部110では、第1の転送データが、第1の転送バッファ部111、第1のバッファ制御部112の順番で転送される配置について説明した。しかし、転送制御部内の転送バッファ部とバッファ制御部との配置は、第1の実施形態〜第4の実施形態において示した配置の順番に限定されるものではない。
In the first to fourth embodiments, after the transfer data input from the image data input unit is temporarily stored in the transfer buffer unit, the buffer control unit reads it and outputs it to each data transfer unit. The configuration, that is, the transfer control unit in which the transfer data transferred to the DRAM is transferred in the order of the transfer buffer unit and the buffer control unit has been described. For example, in the first
<第3の実施形態の変形例>
ここで、転送制御部内の転送バッファ部とバッファ制御部との配置が異なる場合の一例として、第3の実施形態において示した、第1の転送バッファ部111のバッファ残量に基づいて第1の転送データを並列転送するデータ転送制御装置30の変形例の構成および動作について説明する。なお、以下の説明においては、本変形例のデータ転送制御装置を、第3の実施形態のデータ転送制御装置30と区別するため、本変形例のデータ転送制御装置を、「データ転送制御装置50」という。そして、データ転送制御装置50を備えたデータ処理装置を、「データ処理装置5」という。図10は、本第3の実施形態の変形例のデータ転送制御装置50を備えたデータ処理装置5の構成の一例を示したブロック図である。図10に示したデータ転送制御装置50も、第3の実施形態のデータ転送制御装置30と同様に、DMA転送する第1の転送データを格納する第1の転送バッファ部111のバッファ残量に基づいて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分ける制御を行う構成である。
<Modification of Third Embodiment>
Here, as an example of the case where the arrangement of the transfer buffer unit and the buffer control unit in the transfer control unit is different, the first buffer based on the remaining buffer capacity of the first
図10に示したデータ処理装置5は、図6に示したデータ処理装置3内のデータ転送制御装置30がデータ転送制御装置50に代わった構成であり、このデータ転送制御装置50の構成要素をより詳細に示している。なお、図10に示したデータ処理装置5内の構成要素およびデータ転送制御装置50内の構成要素には、図6に示したデータ処理装置3内の構成要素およびデータ転送制御装置30内の構成要素と同様の構成要素も含まれている。従って、図10に示したデータ処理装置5およびデータ転送制御装置50の構成要素において、図6に示したデータ処理装置3およびデータ転送制御装置30の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
The
データ転送制御装置50も、第3の実施形態のデータ転送制御装置30と同様に、データ処理装置5が第1のデータ転送部101および第2のデータ転送部201によってDRAMにDMA転送する転送データを制御する。従って、データ処理装置5でも、第3の実施形態のデータ転送制御装置30と同様に、第1のデータ転送部101および第2のデータ転送部201のそれぞれがDMA転送する転送データが、データ転送制御装置50を介して入力される。なお、以下の説明においても、第3の実施形態のデータ処理装置3と同様に、第1のデータ転送部101の方が、第2のデータ転送部201よりも優先度が高いイニシエータであるものとして説明を行う。
Similarly to the data
データ転送制御装置50は、第3の実施形態のデータ転送制御装置30と同様に、第1のデータ転送部101がDMA転送する際のメモリアクセス情報に基づいて、データ転送制御装置50自身に備えた、DMA転送する第1の転送データを格納する第1の転送バッファ部のバッファ残量を監視し、監視したバッファ残量に応じて、第1のデータ転送部101または第2のデータ転送部201のいずれのデータ転送部によって転送データをDMA転送するかを決定する。そして、データ転送制御装置50は、第3の実施形態のデータ転送制御装置30と同様に、決定した第1のデータ転送部101または第2のデータ転送部201のいずれかのデータ転送部に転送データを出力して、DMA転送を行わせる。データ転送制御装置50は、第1の転送制御部260と、第2の転送制御部220と、データ転送状態監視部170と、を備えている。
Similar to the data
第1の転送制御部260は、第3の実施形態の第1の転送制御部160と同様に、第1の画像データ入力部100から入力されたDMA転送する第1の転送データを、データ転送状態監視部170から入力された第1の転送制御情報に基づいて、第1のデータ転送部101と第2のデータ転送部201とに振り分ける。第1の転送制御部260は、第1の転送バッファ部261と第1のバッファ制御部262とを備えている。
Similar to the first
第2の転送制御部220は、第3の実施形態の第2の転送制御部210と同様に、第2の画像データ入力部200から入力されたDMA転送する第2の転送データ、または第1の転送制御部260によって振り分けられた、第1の画像データ入力部100がDMA転送する第1の転送データのいずれかの転送データを、データ転送状態監視部170から入力された第2の転送制御情報に基づいて、第2のデータ転送部201に出力する。第2の転送制御部220は、第2の転送バッファ部221と第2のバッファ制御部222とを備えている。
Similarly to the second
なお、第1の転送制御部260に備えた第1の転送バッファ部261と第1のバッファ制御部262とのそれぞれは、第3の実施形態の第1の転送制御部160に備えた第1の転送バッファ部111と第1のバッファ制御部162とのそれぞれと同様の機能を持っている。また、第2の転送制御部220に備えた第2の転送バッファ部221と第2のバッファ制御部222とのそれぞれは、第3の実施形態の第2の転送制御部210に備えた第2の転送バッファ部211と第2のバッファ制御部212とのそれぞれと同様の機能を持っている。
Note that each of the first
ただし、図6に示した第1の転送制御部160と図10に示した第1の転送制御部260とを比べてわかるように、第1の転送制御部260内の第1の転送バッファ部261と第1のバッファ制御部262との配置は、第1の転送制御部160とは逆の配置になっている。また、図6に示した第2の転送制御部210と図10に示した第2の転送制御部220とを比べてわかるように、第2の転送制御部220内の第2の転送バッファ部221と第2のバッファ制御部222との配置も、第2の転送制御部210とは逆の配置になっている。
However, as can be seen by comparing the first
第1のバッファ制御部262は、データ転送状態監視部170から入力された第1の転送制御情報に含まれる負荷分散指示に応じて、第1の転送データの出力先を、第1の転送バッファ部261または第2の転送制御部220内の第2のバッファ制御部212のいずれか一方に決定し、第1の画像データ入力部100から入力された第1の転送データを、決定した出力先に出力する。つまり、第1のバッファ制御部262は、データ転送状態監視部170から入力された負荷分散指示に応じて、第1の画像データ入力部100から出力された第1の転送データが第1のバッファ制御部262自身に入力された段階で分岐させ、第1のデータ転送部101または第2のバッファ制御部212のいずれか一方に振り分ける。
In response to the load distribution instruction included in the first transfer control information input from the data transfer
第1の転送バッファ部261は、第1のバッファ制御部262から入力された第1の転送データを一旦格納し、その後、格納した第1の転送データを第1のデータ転送部101に出力する。これにより、第1のバッファ制御部262によって第1の転送バッファ部261に振り分けられた第1の転送データが、第1のデータ転送部101によってDMA転送される。
The first
第2のバッファ制御部222は、データ転送状態監視部170から入力された第2の転送制御情報に基づいて、第2の画像データ入力部200から入力された第2の転送データを、第2の転送バッファ部221に出力する。なお、第2のバッファ制御部222は、第1のバッファ制御部262から第1の転送データが入力された場合には、第1のバッファ制御部262から入力された第1の転送データを、第2の転送バッファ部221に出力する。
The second
第2の転送バッファ部221は、第2のバッファ制御部222から入力された転送データを一旦格納し、その後、格納した転送データを第2のデータ転送部201に出力する。これにより、第2の画像データ入力部200から出力された第2の転送データ、または第1のバッファ制御部262によって第2のバッファ制御部222に振り分けられた第1の転送データが、第2のデータ転送部201によってDMA転送される。
The second
このような構成によって、データ転送制御装置50は、第1の画像データ入力部100が出力した第1の転送データのDMA転送を、第1のデータ転送部101と第2のデータ転送部201とによって並列に行わせる。これにより、データ転送制御装置50でも、第3の実施形態のデータ転送制御装置30と同様に、第1のデータ転送部101がDMA転送する際の負荷を分散し、第1の転送データのDMA転送のリアルタイム性を確保する。
With this configuration, the data
なお、第1のバッファ制御部262が第1のデータ転送部101がDMA転送する際の負荷を分散する際にも、DRAMのバンク衝突が発生しないことが望ましい。従って、第1のバッファ制御部262は、第1の画像データ入力部100から入力された第1の転送データの出力先を変更するようにしてもよい。
Even when the first
次に、データ転送制御装置50の動作について説明する。図11は、本第3の実施形態の変形例のデータ転送制御装置50によるデータ転送動作の処理手順を示したフローチャートである。データ転送制御装置50が動作を開始すると、データ転送制御装置50に備えたデータ転送状態監視部170内の転送バッファ残量監視部171は、第1のデータ転送部101がDMA転送を行う際の制御信号の情報に基づいて、第1の転送バッファ部261のバッファ残量を監視する。なお、第1の転送バッファ部261のバッファ残量の監視は、以降の処理手順を実行しているときにも、常に継続して行われる。
Next, the operation of the data
その後、転送バッファ残量監視部171は、監視している第1の転送バッファ部261のバッファ残量が予め定めた記憶容量よりも少ない場合(ステップS500の“YES”)、すなわち、第1の転送バッファ部261の記憶容量の残量不足を検出した場合、第1のデータ転送部101の負荷の分散を行うと判定し、負荷分散指示を第1のバッファ制御部262に出力する。
Thereafter, the transfer buffer remaining
なお、転送バッファ残量監視部171は、監視している第1の転送バッファ部261のバッファ残量が予め定めた記憶容量よりも少なくない場合(ステップS500の“NO”)、すなわち、第1の転送バッファ部261の記憶容量が十分にある場合には、ステップS500における第1の転送バッファ部261のバッファ残量の監視を継続する。
The transfer buffer remaining
転送バッファ残量監視部171から負荷分散指示が入力されると、ステップS510において、第1のバッファ制御部262は、第1の転送データが第1の画像データ入力部100から入力された段階で分岐させ、第1のデータ転送部101または第2のバッファ制御部212のいずれか一方に出力する。すなわち、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの並列転送を開始する。これにより、第1の画像データ入力部100から入力された第1の転送データが、第1の転送バッファ部261または第2の転送バッファ部221のいずれか一方に一旦格納され、その後、第1のデータ転送部101または第2のデータ転送部201によってDMA転送される。
When a load distribution instruction is input from the transfer buffer remaining
その後、第1のバッファ制御部262は、第1の転送バッファ部261の記憶容量の残量不足が解消された場合(ステップS520の“YES”)、すなわち、転送バッファ残量監視部171からの負荷分散指示が解除された場合、ステップS530において、第1のデータ転送部101と第2のデータ転送部201とによる第1の転送データの1回の並列転送を終了する。
Thereafter, the first
なお、第1のバッファ制御部262は、第1の転送バッファ部261の記憶容量の残量不足が解消されていない場合(ステップS520の“NO”)、すなわち、転送バッファ残量監視部171からの負荷分散指示が入力された状態である場合には、ステップS510に戻って、第1の画像データ入力部100から入力された第1の転送データの第2のデータ転送部201による並列転送を、第1の転送バッファ部261の記憶容量の残量不足が解消されるまで繰り返す。
Note that the first
以降、データ転送制御装置50は、図11に示したデータ転送動作のフローチャートの処理手順を繰り返して、第1の画像データ入力部100からの第1の転送データの入力が終了するまで、第1の転送データのDMA転送を行う。
Thereafter, the data
なお、データ転送制御装置50でも、第1のデータ転送部101と第2のデータ転送部201とによる転送データのDMA転送においてDRAMのバンク衝突が発生しないようにDMA転送することが望ましい。この場合、第1の転送バッファ部261と第2の転送バッファ部221とのそれぞれが、対応するデータ転送部に転送データを出力する際に、それぞれのデータ転送部がDRAMの異なるメモリバンクにDMA転送するように、転送データの出力順序を並び替えていることが考えられる。このため、ステップS510において第1のバッファ制御部262が、入力された第1の転送データを第2のバッファ制御部222に分岐させる際に、DRAMのバンク衝突が発生しないように、第1の転送データを第2のバッファ制御部222に分岐させるタイミングを変更する構成にしてもよい。
In the data
このように、データ転送制御装置50でも、第1の転送データをDMA転送する際に使用する第1の転送バッファ部261のバッファ残量に基づいて、第1の画像データ入力部100から入力された第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに振り分けて、それぞれ並列にDMA転送することができる。これにより、データ転送制御装置50でも、第3の実施形態のデータ転送制御装置30と同様に、第1の画像データ入力部100が出力した第1の転送データをDMA転送する際のバス帯域が確保されて、DMA転送が円滑に行われ、第1の転送データのDMA転送のリアルタイム性を確保することができる。
As described above, the data
なお、本実施形態においては、第1の実施形態〜第4の実施形態および変形例のデータ処理装置において、2つの画像データ入力部(第1の画像データ入力部100および第2の画像データ入力部200)を備え、それぞれの画像データ入力部に対応する2つのデータ転送部(第1のデータ転送部101と第2のデータ転送部201)がそれぞれ、転送データをインターコネクトバス700に出力することによってDMA転送する構成について説明した。しかし、データ処理装置に備える画像データ入力部およびデータ転送部の数は、第1の実施形態〜第4の実施形態および変形例で示した数に限定されるものではなく、さらに多くの画像データ入力部およびデータ転送部を備える構成であることも考えられる。
In the present embodiment, two image data input units (first image
ここで、データ処理装置にさらに多くの画像データ入力部およびデータ転送部を備えた構成の一例について説明する。図12は、本実施形態におけるデータ転送制御装置を備えたデータ処理装置の概略構成の一例を示したブロック図である。図12に示したデータ処理装置6は、第1の画像データ入力部100と、第1のデータ転送部101と、第2の画像データ入力部200と、第2のデータ転送部201と、データ転送制御装置10と、第3の画像データ入力部300と、第3のデータ転送部301と、データ転送制御装置11と、第4の画像データ入力部400と、第4のデータ転送部401と、データ転送制御装置12と、を備えている。また、データ転送制御装置10〜12のそれぞれは、2つの転送制御部と1つのデータ転送状態監視部とを備えている。ただし、図12を見てわかるように、データ転送制御装置10は、第1の転送制御部110と、第2の転送制御部210と、データ転送状態監視部130と、で構成される。また、データ転送制御装置11は、第2の転送制御部210と、第3の転送制御部310と、データ転送状態監視部230と、で構成される。また、データ転送制御装置12は、第3の転送制御部310と、第4の転送制御部410と、データ転送状態監視部330と、で構成される。
Here, an example of a configuration in which the data processing apparatus includes more image data input units and data transfer units will be described. FIG. 12 is a block diagram illustrating an example of a schematic configuration of a data processing device including the data transfer control device according to the present embodiment. The
図12に示したデータ処理装置6は、図1に示したデータ処理装置1に備えた画像データ入力部が4つになり、データ転送部が4つになった構成である。また、画像データ入力部およびデータ転送部が4つになったことに伴って、データ転送制御装置が3つになっている。なお、データ処理装置6内の構成要素およびデータ転送制御装置内の構成要素は、図1に示したデータ処理装置1内の構成要素およびデータ転送制御装置10内の構成要素と同様の構成要素である。より具体的には、第1の画像データ入力部100〜第4の画像データ入力部400のそれぞれは、図1に示した第1の画像データ入力部100や第2の画像データ入力部200と同様の、インターコネクトバス700を介してDRAMに転送する画像データの供給源である。また、第1のデータ転送部101〜第4のデータ転送部401のそれぞれは、図1に示した第1のデータ転送部101や第2のデータ転送部201と同様の、対応する画像データ入力部から入力された転送データをインターコネクトバス700に出力することによって、それぞれの転送データをDMA転送するイニシエータである。
The
そして、データ処理装置6では、データ転送制御装置10〜データ転送制御装置12のそれぞれが、図1に示したデータ転送制御装置10と同様に、それぞれのデータ転送部によってDMA転送する転送データを振り分ける。このとき、データ転送制御装置10〜データ転送制御装置12のそれぞれに備えたデータ転送状態監視部130〜データ転送状態監視部330のそれぞれは、図1に示したデータ転送状態監視部130と同様に、対応する2つのデータ転送部のそれぞれにおいて行われているDMA転送の状態を監視する。なお、図12を見てわかるように、データ処理装置6では、データ転送制御装置10〜データ転送制御装置12において、1つの転送制御部が、2つのデータ転送制御装置に重複して含まれている。このため、2つのデータ転送制御装置に重複して含まれている1つの転送制御部は、対応する画像データ入力部から入力された転送データを振り分ける機能と、振り分けられた転送データをDMA転送する機能との両方を備えることとなる。
In the
より具体的には、第2の転送制御部210は、データ転送制御装置10とデータ転送制御装置11とに重複して含まれている。このため、第2の転送制御部210は、図1に示したデータ処理装置1に備えた第2の転送制御部210と同様に、第1の転送制御部110によって振り分けられた第1の転送データをDMA転送する機能に加えて、図1に示したデータ処理装置1に備えた第1の転送制御部110と同様に、第2の画像データ入力部200から入力された第2の転送データを、第2のデータ転送部201と第3のデータ転送部301(第3の転送制御部310)とに振り分ける機能とを備える。また、第3の転送制御部310は、データ転送制御装置11とデータ転送制御装置12とに重複して含まれている。このため、第3の転送制御部310は、図1に示したデータ処理装置1に備えた第2の転送制御部210と同様に、第2の転送制御部210によって振り分けられた第2の転送データをDMA転送する機能に加えて、図1に示したデータ処理装置1に備えた第1の転送制御部110と同様に、第3の画像データ入力部300から入力された第3の転送データを、第3のデータ転送部301と第4のデータ転送部401(第4の転送制御部410)とに振り分ける機能とを備える。
More specifically, the second
本実施形態によれば、データ転送制御装置(データ転送制御装置10〜12)を、データ転送部(第1のデータ転送部101、第2のデータ転送部201、第3のデータ転送部301、および第4のデータ転送部401)と、データ入力部(第1の画像データ入力部100、第2の画像データ入力部200、第3の画像データ入力部300、および第4の画像データ入力部400)との数(ここでは4つ)に応じて数珠つなぎにし、データ転送制御装置10〜12のそれぞれに備えたデータ転送状態監視部(データ転送状態監視部130、データ転送状態監視部230、およびデータ転送状態監視部330)は、対応する第1のデータ転送部101、第2のデータ転送部201、第3のデータ転送部301、および第4のデータ転送部401のそれぞれの転送データの転送状態を監視して、このデータ転送制御装置10〜12に備えたそれぞれの転送制御部(第1の転送制御部110、第2の転送制御部210、第3の転送制御部310、または第4の転送制御部410)に転送制御情報を出力し、それぞれのデータ転送制御装置10〜12に備えた少なくとも1つの転送制御部(第1の転送制御部110、第2の転送制御部210、および第3の転送制御部310)は、転送制御情報に基づいて、対応するデータ入力部(第1の画像データ入力部100、第2の画像データ入力部200、または第3の画像データ入力部300)から入力された転送データを、このデータ転送制御装置10〜12が対応する少なくとも1つのデータ転送部(第2のデータ転送部201、第3のデータ転送部301、および第4のデータ転送部401)に振り分ける、データ処理装置(データ処理装置6)が構成される。
According to the present embodiment, the data transfer control device (data
このように、データ処理装置に備えた画像データ入力部およびデータ転送部の数に応じた数のデータ転送制御装置を数珠つなぎの形態で備えることによって、1つの画像データ入力部から入力されたそれぞれの転送データのDMA転送を、2つのデータ転送部によって並列に行わせることができる。これにより、それぞれのデータ転送制御装置において、対応する画像データ入力部が出力した転送データをDMA転送する際のバス帯域が確保されて、DMA転送が円滑に行われ、それぞれの転送データのDMA転送のリアルタイム性を確保することができる。 As described above, by providing the data transfer control devices corresponding to the number of image data input units and data transfer units provided in the data processing device in the form of a daisy chain, each input from one image data input unit. The DMA transfer of the transfer data can be performed in parallel by the two data transfer units. As a result, in each data transfer control device, a bus band for DMA transfer of the transfer data output from the corresponding image data input unit is secured, DMA transfer is performed smoothly, and DMA transfer of each transfer data is performed. Real-time performance can be ensured.
上記に述べたとおり、本発明を実施するための形態によれば、画像データ入力部に対応するデータ転送部によるDMA転送の状態を監視することによって、転送データのDMA転送が円滑に行われているか否かを判定する。そして、データ転送部による転送データのDMA転送が円滑に行われていない場合には、現在転送データをDMA転送しているデータ転送部と異なるデータ転送部によっても、転送データのDMA転送を行うように、転送データをそれぞれのデータ転送部に振り分ける。これにより、これにより、本発明を実施するための形態では、それぞれのデータ転送部で転送データを並列にDMA転送することができ、画像データ入力部から入力された転送データをDMA転送する際のバス帯域を確保することができる。このことにより、本発明を実施するための形態では、画像データ入力部が出力した転送データをDMA転送する際のスループットの低下を抑えることができ、転送データのリアルタイム性を確保することができる。 As described above, according to the embodiment for carrying out the present invention, the DMA transfer of the transfer data is smoothly performed by monitoring the state of the DMA transfer by the data transfer unit corresponding to the image data input unit. It is determined whether or not. If the DMA transfer of the transfer data by the data transfer unit is not performed smoothly, the transfer of the transfer data is also performed by a data transfer unit different from the data transfer unit currently transferring the transfer data. The transfer data is distributed to each data transfer unit. Thereby, in the embodiment for carrying out the present invention, the transfer data can be DMA-transferred in parallel in each data transfer unit, and the transfer data input from the image data input unit can be DMA-transferred. Bus bandwidth can be secured. As a result, in the embodiment for carrying out the present invention, it is possible to suppress a decrease in throughput when the transfer data output from the image data input unit is DMA-transferred, and it is possible to ensure the real-time property of the transfer data.
また、本発明を実施するための形態によれば、データ転送制御装置内のそれぞれの転送制御部が対応するデータ転送部に転送データを出力する際に、転送データの出力順序の並び替えを行うことができる。これにより、本発明を実施するための形態では、転送データをDMA転送する際に、DRAMのバンク衝突が発生する確率を低減し、DRAMのバンク衝突による待ち時間を低減することができる。このとき、本発明を実施するための形態では、通常のDMA転送において使用されるそれぞれの転送バッファ部を用いて転送データの出力順序の並び替えを行うことができるため、少ないハードウェアリソースでDRAMのバンク衝突を回避することができる。 According to the embodiment for carrying out the present invention, when each transfer control unit in the data transfer control device outputs the transfer data to the corresponding data transfer unit, the transfer data output order is rearranged. be able to. As a result, in the embodiment for carrying out the present invention, it is possible to reduce the probability of occurrence of DRAM bank collision when DMA transfer of transfer data, and to reduce waiting time due to DRAM bank collision. At this time, in the mode for carrying out the present invention, the order of output of the transfer data can be rearranged using the respective transfer buffer units used in the normal DMA transfer. Bank conflicts can be avoided.
これらにより、本発明を実施するための形態では、データ処理装置を備えたシステムの性能を向上させることができる。 As a result, in the mode for carrying out the present invention, the performance of the system including the data processing device can be improved.
なお、本実施形態においては、それぞれの画像データ入力部から出力された転送データをDRAMに転送する、すなわち、データ処理装置がDRAMに転送データを出力するライト転送の場合について説明した。しかし、転送データの転送方向は、本発明を実施するための形態に示したデータ処理装置からDRAMへの方向に限定されるものではない。例えば、DRAMに格納されている転送データをデータ処理装置が読み出すリード転送においても、本実施形態において説明した転送データの流れを逆方向にすることによって、同様に、本発明の考え方を適用することができる。また、例えば、ライト転送とリード転送とが組み合わされた構成であっても同様に、本発明の考え方を適用することができる。 In the present embodiment, the transfer data output from each image data input unit is transferred to the DRAM, that is, the write transfer in which the data processing apparatus outputs the transfer data to the DRAM has been described. However, the transfer direction of the transfer data is not limited to the direction from the data processing apparatus shown in the embodiment for carrying out the present invention to the DRAM. For example, in the read transfer in which the data processing device reads the transfer data stored in the DRAM, the concept of the present invention is similarly applied by reversing the flow of the transfer data described in this embodiment. Can do. Further, for example, the concept of the present invention can be similarly applied to a configuration in which write transfer and read transfer are combined.
また、本実施形態においては、図12に示した、多くの画像データ入力部および転送部を備えた構成のデータ処理装置において、それぞれのデータ転送制御装置が、2つの転送制御部と1つのデータ転送状態監視部とで構成される場合について説明した。しかし、1つのデータ転送制御装置に備える転送制御部の数は、本発明を実施するための形態に示した数に限定されるものではなく、例えば、1つのデータ転送制御装置が、3つの転送制御部と1つのデータ転送状態監視部とで構成されてもよい。より具体的には、図12に示した一例を参照すると、データ転送制御装置10が、第1の転送制御部110と、第2の転送制御部210と、第3の転送制御部310と、データ転送状態監視部130と、で構成されてもよい。この構成の場合、データ転送状態監視部130は、第1の転送制御部110、第2の転送制御部210、および第3の転送制御部310のそれぞれにおいて行われているDMA転送の状態を監視する。そして、第1の転送制御部110は、第1の画像データ入力部100から入力された第1の転送データを、第2の転送制御部210に加えて、第3の転送制御部310にも振り分ける。これにより、第1の転送データを、第1のデータ転送部101と第2のデータ転送部201とに加えて、第3のデータ転送部301によっても並列にDMA転送することができる。
Further, in the present embodiment, in the data processing apparatus having a configuration including many image data input units and transfer units shown in FIG. 12, each data transfer control device includes two transfer control units and one data. The case where the transfer state monitoring unit is configured has been described. However, the number of transfer control units included in one data transfer control device is not limited to the number shown in the embodiment for carrying out the present invention. For example, one data transfer control device includes three transfer control units. It may be configured by a control unit and one data transfer state monitoring unit. More specifically, referring to the example shown in FIG. 12, the data
なお、本実施形態においては、デジタルカメラなどの撮像装置に搭載され、画像処理を行うシステムLSIを本発明のデータ処理装置とし、このシステムLSIに本発明のデータ転送制御装置を適用した場合について説明した。そして、データ転送制御装置によって転送する転送データが、画像データである場合について説明した。しかし、本実施形態のデータ転送制御装置を適用することができるデータ処理装置のシステムは、本発明を実施するための形態に示したデータ処理装置のシステムに限定されるものではなく、入力された転送データをDMA転送するデータ処理装置のシステムであれば、どのようなシステムにも同様に、本発明のデータ転送制御装置の考え方を適用することができる。従って、データ転送制御装置によって転送する転送データは、必ずしも画像データに限定されるものではない。 In this embodiment, a system LSI mounted on an imaging apparatus such as a digital camera and performing image processing is used as the data processing apparatus of the present invention, and the data transfer control apparatus of the present invention is applied to this system LSI. did. The case where the transfer data transferred by the data transfer control device is image data has been described. However, the system of the data processing apparatus to which the data transfer control apparatus of the present embodiment can be applied is not limited to the data processing apparatus system shown in the embodiment for carrying out the present invention. The system of the data transfer control device of the present invention can be similarly applied to any system as long as it is a data processing device system that transfers transfer data by DMA. Therefore, transfer data transferred by the data transfer control device is not necessarily limited to image data.
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。 The embodiment of the present invention has been described above with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes various modifications within the scope of the present invention. It is.
1,2,3,4,5,6・・・データ処理装置
100・・・第1の画像データ入力部(データ入力部)
101・・・第1のデータ転送部(データ転送部,第1のデータ転送部)
200・・・第2の画像データ入力部(データ入力部)
201・・・第2のデータ転送部(データ転送部,第2のデータ転送部)
10,20,30,40,50,11,12・・・データ転送制御装置
110,140,160,180,260・・・第1の転送制御部(転送制御部,第1の転送制御部)
111,261・・・第1の転送バッファ部(転送制御部,転送バッファ部,第1の転送バッファ部)
112,142,162,182,262・・・第1のバッファ制御部(転送制御部,バッファ制御部,第1のバッファ制御部)
210,220・・・第2の転送制御部(転送制御部,第2の転送制御部)
211,221・・・第2の転送バッファ部(転送制御部,転送バッファ部,第2の転送バッファ部)
212,222・・・第2のバッファ制御部(転送制御部,バッファ制御部,第2のバッファ制御部)
130,150,170,190,230,330・・・データ転送状態監視部
131・・・データ転送待ち時間監視部(データ転送状態監視部,データ転送待ち時間監視部)
132・・・メモリアクセス履歴収集部(データ転送状態監視部,アクセス履歴収集部)
151・・・転送負荷状態監視部(データ転送状態監視部,転送負荷状態監視部)
171・・・転送バッファ残量監視部(データ転送状態監視部,転送バッファ残量監視部)
191・・・モード設定部(データ転送状態監視部,モード設定部)
300・・・第3の画像データ入力部(データ入力部)
301・・・第3のデータ転送部(データ転送部)
400・・・第4の画像データ入力部(データ入力部)
401・・・第4のデータ転送部(データ転送部)
310・・・第3の転送制御部(転送制御部)
410・・・第4の転送制御部(転送制御部)
1, 2, 3, 4, 5, 6...
101... First data transfer unit (data transfer unit, first data transfer unit)
200: Second image data input unit (data input unit)
201: second data transfer unit (data transfer unit, second data transfer unit)
10, 20, 30, 40, 50, 11, 12... Data
111, 261 ... first transfer buffer unit (transfer control unit, transfer buffer unit, first transfer buffer unit)
112, 142, 162, 182, 262... First buffer control unit (transfer control unit, buffer control unit, first buffer control unit)
210, 220 ... second transfer control unit (transfer control unit, second transfer control unit)
211, 221 ... second transfer buffer unit (transfer control unit, transfer buffer unit, second transfer buffer unit)
212, 222 ... second buffer control unit (transfer control unit, buffer control unit, second buffer control unit)
130, 150, 170, 190, 230, 330... Data transfer
132: Memory access history collection unit (data transfer status monitoring unit, access history collection unit)
151: Transfer load status monitoring unit (data transfer status monitoring unit, transfer load status monitoring unit)
171... Transfer buffer remaining amount monitoring unit (data transfer state monitoring unit, transfer buffer remaining amount monitoring unit)
191: Mode setting unit (data transfer state monitoring unit, mode setting unit)
300: Third image data input unit (data input unit)
301: Third data transfer unit (data transfer unit)
400: Fourth image data input unit (data input unit)
401: Fourth data transfer unit (data transfer unit)
310: Third transfer control unit (transfer control unit)
410: Fourth transfer control unit (transfer control unit)
Claims (7)
それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御部と、
前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御部における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視部と、
を備え、
複数の前記転送制御部の内、少なくとも1つの前記転送制御部は、
対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、
前記転送データが振り分けられた、少なくとも1つの他の前記転送制御部は、
振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力し、
複数の前記転送制御部のそれぞれは、
対応する前記データ転送部が対応する前記データ入力部から入力された前記転送データを一時的に記憶する転送バッファ部と、
前記転送制御情報に基づいて、前記転送バッファ部に記憶された前記転送データを読み出して出力するバッファ制御部と、
を備え、
前記転送データを振り分ける前記転送制御部である第1の転送制御部に備えた前記転送バッファ部である第1の転送バッファ部は、
当該第1の転送制御部が対応する前記データ転送部である第1のデータ転送部によって転送する前記転送データである第1の転送データを一時的に記憶し、
当該第1の転送制御部に備えたバッファ制御部である第1のバッファ制御部は、
前記第1のデータ転送部の前記転送制御情報である第1の転送制御情報に基づいて、前記第1の転送バッファ部から読み出した前記第1の転送データを、前記第1のデータ転送部によって転送する前記第1の転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記第1の転送データとに振り分けて出力し、
前記第1の転送データが振り分けられた他の前記転送制御部である第2の転送制御部に備えた前記転送バッファ部である第2の転送バッファ部は、
当該第2の転送制御部が対応する前記データ転送部である第2のデータ転送部によって転送する前記転送データである第2の転送データを一時的に記憶し、
当該第2の転送制御部に備えたバッファ制御部である第2のバッファ制御部は、
前記第1のバッファ制御部から前記第1の転送データが入力されていない場合には、前記第2のデータ転送部の前記転送制御情報である第2の転送制御情報に基づいて、前記第2の転送バッファ部から読み出した前記第2の転送データを前記第2のデータ転送部に出力し、
前記第1のバッファ制御部から前記第1の転送データが入力された場合には、前記第2の転送制御情報に基づいて、該第1の転送データを前記第2のデータ転送部に出力し、
前記データ転送状態監視部は、
前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送待ち時間を監視し、該監視した前記第1の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視部と、
前記第1のデータ転送部が前記第1の転送データを転送する際の信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送履歴と、前記第2のデータ転送部が前記第1の転送データまたは前記第2の転送データを転送する際の信号に基づいて、該第2のデータ転送部における前記第1の転送データまたは前記第2の転送データの転送履歴とを収集するアクセス履歴収集部と、
を備え、
前記アクセス履歴収集部は、前記データ転送待ち時間監視部が前記タイムアウト信号を出力した際に、収集した前記第1の転送データの転送履歴と前記第2の転送データの転送履歴とに基づいて、前記第1の転送データと前記第2の転送データとによって前記転送データを転送するための転送情報を前記第1のバッファ制御部に出力し、
前記第1のバッファ制御部は、
前記アクセス履歴収集部から出力された前記転送情報に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、
ことを特徴とするデータ転送制御装置。 A data transfer control device that outputs transfer data to be transferred via the common bus to each of a plurality of data transfer units that transfer data via a common bus,
A plurality of transfer control units that correspond to the respective data transfer units and that output the transfer data input from the data input units corresponding to the respective data transfer units to the corresponding data transfer units;
Each of the data transfer units monitors a state of transferring the transfer data, and the transfer data in each of the transfer control units is based on the transfer state of each of the transfer data of the monitored data transfer unit A data transfer state monitoring unit that outputs transfer control information for controlling output to the corresponding data transfer unit;
With
Among the plurality of transfer control units, at least one transfer control unit includes:
Based on the transfer control information of the corresponding data transfer unit, the transfer data transferred by the data transfer unit is transferred to the other transfer control unit corresponding to the transfer data transferred by the data transfer unit. Output by sorting to the transfer data transferred by the data transfer unit,
At least one other transfer control unit to which the transfer data is distributed,
The sorted transfer data is output to the corresponding data transfer unit based on the transfer control information of the corresponding data transfer unit,
Each of the plurality of transfer control units includes:
A transfer buffer unit for temporarily storing the transfer data input from the data input unit corresponding to the corresponding data transfer unit;
A buffer control unit that reads out and outputs the transfer data stored in the transfer buffer unit based on the transfer control information;
With
The first transfer buffer unit that is the transfer buffer unit provided in the first transfer control unit that is the transfer control unit that distributes the transfer data,
Temporarily storing the first transfer data that is the transfer data transferred by the first data transfer unit that is the data transfer unit to which the first transfer control unit corresponds;
The first buffer control unit, which is a buffer control unit provided in the first transfer control unit,
Based on the first transfer control information that is the transfer control information of the first data transfer unit, the first transfer data read from the first transfer buffer unit is transferred by the first data transfer unit. The first transfer data to be transferred and the first transfer data to be transferred by the other data transfer unit corresponding to the other transfer control unit are distributed and output,
The second transfer buffer unit which is the transfer buffer unit provided in the second transfer control unit which is the other transfer control unit to which the first transfer data is distributed,
Temporarily storing the second transfer data that is the transfer data transferred by the second data transfer unit that is the data transfer unit to which the second transfer control unit corresponds;
The second buffer control unit, which is a buffer control unit provided in the second transfer control unit,
When the first transfer data is not input from the first buffer control unit, the second transfer control information based on the second transfer control information that is the transfer control information of the second data transfer unit is used. Output the second transfer data read from the transfer buffer unit to the second data transfer unit,
When the first transfer data is input from the first buffer control unit, the first transfer data is output to the second data transfer unit based on the second transfer control information. ,
The data transfer state monitoring unit
Based on a control signal when the first data transfer unit transfers the first transfer data, the transfer waiting time of the first transfer data in the first data transfer unit is monitored and monitored. A data transfer waiting time monitoring unit that outputs a timeout signal indicating that the transfer waiting time exceeds a predetermined time when the transfer waiting time of the first transfer data exceeds a predetermined time;
Based on a signal when the first data transfer unit transfers the first transfer data, the transfer history of the first transfer data in the first data transfer unit and the second data transfer unit , Based on a signal when transferring the first transfer data or the second transfer data, the transfer history of the first transfer data or the second transfer data in the second data transfer unit An access history collection unit to collect;
With
The access history collection unit is based on the collected transfer history of the first transfer data and the transfer history of the second transfer data when the data transfer waiting time monitoring unit outputs the timeout signal. Outputting transfer information for transferring the transfer data by the first transfer data and the second transfer data to the first buffer control unit;
The first buffer control unit includes:
Based on the transfer information output from the access history collection unit, the first transfer data is distributed and output to the first data transfer unit and the second buffer control unit,
A data transfer control device.
前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送の負荷を監視し、該監視した前記第1の転送データの転送負荷と予め定めた負荷の大きさとを比較することによって負荷の分散を行うか否かを判定し、該判定した結果に基づいて前記第1のデータ転送部における転送負荷を分散するための負荷分散指示を出力する転送負荷状態監視部、
を備え、
前記第1のバッファ制御部は、
前記転送負荷状態監視部から出力された前記負荷分散指示に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、
ことを特徴とする請求項1に記載のデータ転送制御装置。 The data transfer state monitoring unit
Based on a control signal when the first data transfer unit transfers the first transfer data, the load of the transfer of the first transfer data in the first data transfer unit is monitored and monitored It is determined whether or not to distribute the load by comparing the transfer load of the first transfer data with a predetermined load size, and the transfer in the first data transfer unit based on the determined result A transfer load state monitoring unit for outputting a load distribution instruction for distributing the load,
With
The first buffer control unit includes:
Based on the load distribution instruction output from the transfer load state monitoring unit, the first transfer data is distributed and output to the first data transfer unit and the second buffer control unit,
The data transfer control device according to claim 1.
前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、前記第1の転送バッファ部の記憶容量の残量を監視し、該監視した記憶容量の残量に応じて、前記第1のデータ転送部における転送負荷を分散するための負荷分散指示を出力する転送バッファ残量監視部、
を備え、
前記第1のバッファ制御部は、
前記転送バッファ残量監視部から出力された前記負荷分散指示に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、
ことを特徴とする請求項1または請求項2に記載のデータ転送制御装置。 The data transfer state monitoring unit
Based on a control signal when the first data transfer unit transfers the first transfer data, the remaining storage capacity of the first transfer buffer unit is monitored, and the monitored remaining storage capacity And a transfer buffer remaining amount monitoring unit that outputs a load distribution instruction for distributing the transfer load in the first data transfer unit,
With
The first buffer control unit includes:
Based on the load distribution instruction output from the transfer buffer remaining amount monitoring unit, the first transfer data is distributed and output to the first data transfer unit and the second buffer control unit.
The data transfer control device according to claim 1 or 2, characterized by the above.
設定された動作モードに応じて、前記第1の転送データを転送する際の前記第1の転送データの経路を決定し、該決定した結果に基づいて前記第1の転送データを転送する経路を表す経路選択指示を出力するモード設定部、
を備え、
前記第1のバッファ制御部は、
前記モード設定部から出力された前記経路選択指示に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、
ことを特徴とする請求項1から請求項3のいずれか1の項に記載のデータ転送制御装置。 The data transfer state monitoring unit
In accordance with a set operation mode, a path of the first transfer data when transferring the first transfer data is determined, and a path for transferring the first transfer data is determined based on the determined result. A mode setting unit for outputting a route selection instruction to represent,
With
The first buffer control unit includes:
Based on the path selection instruction output from the mode setting unit, the first transfer data is distributed and output to the first data transfer unit and the second buffer control unit,
The data transfer control device according to any one of claims 1 to 3, wherein:
複数の転送制御部が、それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御手順と、
データ転送状態監視部が、前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御手順における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視手順と、
を含み、
複数の前記転送制御手順の内、少なくとも1つの前記転送制御手順は、
対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御手順が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、
前記転送データが振り分けられた、少なくとも1つの他の前記転送制御手順は、
振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力し、
複数の前記転送制御手順のそれぞれは、
前記転送制御部が、対応する転送バッファ部に、対応する前記データ転送部が対応する前記データ入力部から入力された前記転送データを一時的に記憶させる転送バッファ手順と、
対応するバッファ制御部が、前記転送制御情報に基づいて、対応する前記転送バッファ部に記憶された前記転送データを読み出して出力するバッファ制御手順と、
を含み、
前記転送データを振り分ける前記転送制御手順である第1の転送制御手順に含まれる前記転送バッファ手順である第1の転送バッファ手順は、
当該第1の転送制御手順が対応する前記データ転送部である第1のデータ転送部によって転送する前記転送データである第1の転送データを対応する前記転送バッファ部に一時的に記憶させ、
当該第1の転送制御手順に含まれるバッファ制御手順である第1のバッファ制御手順は、
前記第1のデータ転送部の前記転送制御情報である第1の転送制御情報に基づいて、前記第1の転送バッファ手順に対応する前記転送バッファ部から読み出した前記第1の転送データを、前記第1のデータ転送部によって転送する前記第1の転送データと他の前記転送制御手順が対応する他の前記データ転送部によって転送する前記第1の転送データとに振り分けて出力し、
前記第1の転送データが振り分けられた他の前記転送制御手順である第2の転送制御手順に含まれる前記転送バッファ手順である第2の転送バッファ手順は、
当該第2の転送制御手順が対応する前記データ転送部である第2のデータ転送部によって転送する前記転送データである第2の転送データを対応する前記転送バッファ部に一時的に記憶させ、
当該第2の転送制御手順に含まれるバッファ制御手順である第2のバッファ制御手順は、
前記第1のバッファ制御手順によって前記第1の転送データが入力されていない場合には、前記第2のデータ転送部の前記転送制御情報である第2の転送制御情報に基づいて、前記第2の転送バッファ手順に対応する前記転送バッファ部から読み出した前記第2の転送データを前記第2のデータ転送部に出力し、
前記第1のバッファ制御手順によって前記第1の転送データが入力された場合には、前記第2の転送制御情報に基づいて、該第1の転送データを前記第2のデータ転送部に出力し、
前記データ転送状態監視手順は、
データ転送待ち時間監視部が、前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送待ち時間を監視し、該監視した前記第1の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視手順と、
アクセス履歴収集部が、前記第1のデータ転送部が前記第1の転送データを転送する際の信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送履歴と、前記第2のデータ転送部が前記第1の転送データまたは前記第2の転送データを転送する際の信号に基づいて、該第2のデータ転送部における前記第1の転送データまたは前記第2の転送データの転送履歴とを収集するアクセス履歴収集手順と、
を含み、
前記アクセス履歴収集手順は、
前記データ転送待ち時間監視手順によって前記タイムアウト信号を出力した際に、収集した前記第1の転送データの転送履歴と前記第2の転送データの転送履歴とに基づいて、前記第1の転送データと前記第2の転送データとによって前記転送データを転送するための転送情報を前記第1のバッファ制御手順に対応する前記転送制御部に出力し、
前記第1のバッファ制御手順は、
前記アクセス履歴収集手順によって出力された前記転送情報に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御手順に対応する前記バッファ制御部とに振り分けて出力する、
ことを特徴とするデータ転送制御方法。 A plurality of transfer controllers each having a transfer buffer unit and a buffer control unit, and a data transfer state monitoring unit having a data transfer waiting time monitoring unit and an access history collection unit, and transferring a plurality of data via a common bus A data transfer control method in a data transfer control device for outputting transfer data transferred via the common bus to each of the data transfer units,
A plurality of transfer control units correspond to each of the data transfer units, and a plurality of transfers that output the transfer data input from the data input unit corresponding to each of the data transfer units to the corresponding data transfer unit Control procedures;
A data transfer state monitoring unit monitors a state in which each of the data transfer units is transferring the transfer data, and based on the transfer state of the transfer data of each of the monitored data transfer units, A data transfer state monitoring procedure for outputting transfer control information for controlling the output of the transfer data to the corresponding data transfer unit in the transfer control procedure;
Including
Among the plurality of transfer control procedures, at least one of the transfer control procedures is:
Based on the transfer control information of the corresponding data transfer unit, the transfer data transferred by the data transfer unit is transferred to the other transfer control procedure corresponding to the transfer data transferred by the data transfer unit. Output by sorting to the transfer data transferred by the data transfer unit,
At least one other transfer control procedure to which the transfer data is distributed is:
The sorted transfer data is output to the corresponding data transfer unit based on the transfer control information of the corresponding data transfer unit,
Each of the plurality of transfer control procedures includes:
A transfer buffer procedure in which the transfer control unit temporarily stores the transfer data input from the data input unit corresponding to the corresponding data transfer unit in the corresponding transfer buffer unit;
A corresponding buffer control unit reads out and outputs the transfer data stored in the corresponding transfer buffer unit based on the transfer control information; and
Including
The first transfer buffer procedure that is the transfer buffer procedure included in the first transfer control procedure that is the transfer control procedure that distributes the transfer data is:
Temporarily storing the first transfer data, which is the transfer data transferred by the first data transfer unit, which is the data transfer unit corresponding to the first transfer control procedure, in the corresponding transfer buffer unit;
The first buffer control procedure that is a buffer control procedure included in the first transfer control procedure is:
Based on the first transfer control information that is the transfer control information of the first data transfer unit, the first transfer data read from the transfer buffer unit corresponding to the first transfer buffer procedure, The first transfer data transferred by the first data transfer unit and the first transfer data transferred by the other data transfer unit corresponding to another transfer control procedure are distributed and output,
The second transfer buffer procedure which is the transfer buffer procedure included in the second transfer control procedure which is the other transfer control procedure to which the first transfer data is distributed,
Temporarily storing the second transfer data, which is the transfer data transferred by the second data transfer unit, which is the data transfer unit corresponding to the second transfer control procedure, in the corresponding transfer buffer unit;
The second buffer control procedure that is a buffer control procedure included in the second transfer control procedure is:
When the first transfer data is not input by the first buffer control procedure, the second transfer control information based on the second transfer control information that is the transfer control information of the second data transfer unit is used. Output the second transfer data read from the transfer buffer unit corresponding to the transfer buffer procedure to the second data transfer unit;
When the first transfer data is input by the first buffer control procedure, the first transfer data is output to the second data transfer unit based on the second transfer control information. ,
The data transfer state monitoring procedure includes:
A data transfer waiting time monitoring unit waits for transfer of the first transfer data in the first data transfer unit based on a control signal when the first data transfer unit transfers the first transfer data. Data for monitoring time and outputting a time-out signal indicating that the transfer waiting time exceeds a predetermined time when the transfer waiting time of the monitored first transfer data exceeds a predetermined time Transfer waiting time monitoring procedure,
An access history collection unit, based on a signal when the first data transfer unit transfers the first transfer data, a transfer history of the first transfer data in the first data transfer unit; and Based on a signal when the second data transfer unit transfers the first transfer data or the second transfer data, the first transfer data or the second transfer in the second data transfer unit Access history collection procedure for collecting data transfer history,
Including
The access history collection procedure includes:
Based on the transfer history of the first transfer data and the transfer history of the second transfer data collected when the time-out signal is output by the data transfer waiting time monitoring procedure, Outputting transfer information for transferring the transfer data by the second transfer data to the transfer control unit corresponding to the first buffer control procedure;
The first buffer control procedure includes:
Based on the transfer information output by the access history collection procedure, the first transfer data is distributed to the first data transfer unit and the buffer control unit corresponding to the second buffer control procedure. Output,
A data transfer control method.
前記データ転送部のそれぞれに対応し、前記共通バスを介して転送する転送データを出力する複数のデータ入力部と、
それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御部と、前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御部における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視部と、を具備したデータ転送制御装置と、
を備え、
前記データ転送制御装置に備えた複数の前記転送制御部の内、少なくとも1つの前記転送制御部は、
対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、
前記データ転送制御装置に備えた複数の前記転送制御部の内、前記転送データが振り分けられた、少なくとも1つの他の前記転送制御部は、
振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力し、
前記データ転送制御装置に備えた複数の前記転送制御部のそれぞれは、
対応する前記データ転送部が対応する前記データ入力部から入力された前記転送データを一時的に記憶する転送バッファ部と、
前記転送制御情報に基づいて、前記転送バッファ部に記憶された前記転送データを読み出して出力するバッファ制御部と、
を備え、
前記転送データを振り分ける前記転送制御部である第1の転送制御部に備えた前記転送バッファ部である第1の転送バッファ部は、
当該第1の転送制御部が対応する前記データ転送部である第1のデータ転送部によって転送する前記転送データである第1の転送データを一時的に記憶し、
当該第1の転送制御部に備えたバッファ制御部である第1のバッファ制御部は、
前記第1のデータ転送部の前記転送制御情報である第1の転送制御情報に基づいて、前記第1の転送バッファ部から読み出した前記第1の転送データを、前記第1のデータ転送部によって転送する前記第1の転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記第1の転送データとに振り分けて出力し、
前記第1の転送データが振り分けられた他の前記転送制御部である第2の転送制御部に備えた前記転送バッファ部である第2の転送バッファ部は、
当該第2の転送制御部が対応する前記データ転送部である第2のデータ転送部によって転送する前記転送データである第2の転送データを一時的に記憶し、
当該第2の転送制御部に備えたバッファ制御部である第2のバッファ制御部は、
前記第1のバッファ制御部から前記第1の転送データが入力されていない場合には、前記第2のデータ転送部の前記転送制御情報である第2の転送制御情報に基づいて、前記第2の転送バッファ部から読み出した前記第2の転送データを前記第2のデータ転送部に出力し、
前記第1のバッファ制御部から前記第1の転送データが入力された場合には、前記第2の転送制御情報に基づいて、該第1の転送データを前記第2のデータ転送部に出力し、
前記データ転送制御装置に備えた前記データ転送状態監視部は、
前記第1のデータ転送部が前記第1の転送データを転送する際の制御信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送待ち時間を監視し、該監視した前記第1の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視部と、
前記第1のデータ転送部が前記第1の転送データを転送する際の信号に基づいて、該第1のデータ転送部における前記第1の転送データの転送履歴と、前記第2のデータ転送部が前記第1の転送データまたは前記第2の転送データを転送する際の信号に基づいて、該第2のデータ転送部における前記第1の転送データまたは前記第2の転送データの転送履歴とを収集するアクセス履歴収集部と、
を備え、
前記アクセス履歴収集部は、前記データ転送待ち時間監視部が前記タイムアウト信号を出力した際に、収集した前記第1の転送データの転送履歴と前記第2の転送データの転送履歴とに基づいて、前記第1の転送データと前記第2の転送データとによって前記転送データを転送するための転送情報を前記第1のバッファ制御部に出力し、
前記第1のバッファ制御部は、
前記アクセス履歴収集部から出力された前記転送情報に基づいて、前記第1の転送データを、前記第1のデータ転送部と前記第2のバッファ制御部とに振り分けて出力する、
ことを特徴とするデータ処理装置。 A plurality of data transfer units for transferring data via a common bus;
A plurality of data input units corresponding to each of the data transfer units and outputting transfer data to be transferred via the common bus;
A plurality of transfer control units that correspond to the respective data transfer units and that output the transfer data input from the data input units corresponding to the respective data transfer units to the corresponding data transfer units; and the data transfer Each of the units monitors the state of transferring the transfer data, and the transfer data corresponding to the transfer data in each of the transfer control units is based on the transfer state of the transfer data of each of the monitored data transfer units A data transfer state monitoring unit that outputs transfer control information for controlling output to the data transfer unit, and a data transfer control device comprising:
With
Among the plurality of transfer control units provided in the data transfer control device, at least one of the transfer control units is:
Based on the transfer control information of the corresponding data transfer unit, the transfer data transferred by the data transfer unit is transferred to the other transfer control unit corresponding to the transfer data transferred by the data transfer unit. Output by sorting to the transfer data transferred by the data transfer unit,
Among the plurality of transfer control units provided in the data transfer control device, at least one other transfer control unit to which the transfer data is distributed,
The sorted transfer data is output to the corresponding data transfer unit based on the transfer control information of the corresponding data transfer unit,
Each of the plurality of transfer control units provided in the data transfer control device,
A transfer buffer unit for temporarily storing the transfer data input from the data input unit corresponding to the corresponding data transfer unit;
A buffer control unit that reads out and outputs the transfer data stored in the transfer buffer unit based on the transfer control information;
With
The first transfer buffer unit that is the transfer buffer unit provided in the first transfer control unit that is the transfer control unit that distributes the transfer data,
Temporarily storing the first transfer data that is the transfer data transferred by the first data transfer unit that is the data transfer unit to which the first transfer control unit corresponds;
The first buffer control unit, which is a buffer control unit provided in the first transfer control unit,
Based on the first transfer control information that is the transfer control information of the first data transfer unit, the first transfer data read from the first transfer buffer unit is transferred by the first data transfer unit. The first transfer data to be transferred and the first transfer data to be transferred by the other data transfer unit corresponding to the other transfer control unit are distributed and output,
The second transfer buffer unit which is the transfer buffer unit provided in the second transfer control unit which is the other transfer control unit to which the first transfer data is distributed,
Temporarily storing the second transfer data that is the transfer data transferred by the second data transfer unit that is the data transfer unit to which the second transfer control unit corresponds;
The second buffer control unit, which is a buffer control unit provided in the second transfer control unit,
When the first transfer data is not input from the first buffer control unit, the second transfer control information based on the second transfer control information that is the transfer control information of the second data transfer unit is used. Output the second transfer data read from the transfer buffer unit to the second data transfer unit,
When the first transfer data is input from the first buffer control unit, the first transfer data is output to the second data transfer unit based on the second transfer control information. ,
The data transfer state monitoring unit provided in the data transfer control device,
Based on a control signal when the first data transfer unit transfers the first transfer data, the transfer waiting time of the first transfer data in the first data transfer unit is monitored and monitored. A data transfer waiting time monitoring unit that outputs a timeout signal indicating that the transfer waiting time exceeds a predetermined time when the transfer waiting time of the first transfer data exceeds a predetermined time;
Based on a signal when the first data transfer unit transfers the first transfer data, the transfer history of the first transfer data in the first data transfer unit and the second data transfer unit , Based on a signal when transferring the first transfer data or the second transfer data, the transfer history of the first transfer data or the second transfer data in the second data transfer unit An access history collection unit to collect;
With
The access history collection unit is based on the collected transfer history of the first transfer data and the transfer history of the second transfer data when the data transfer waiting time monitoring unit outputs the timeout signal. Outputting transfer information for transferring the transfer data by the first transfer data and the second transfer data to the first buffer control unit;
The first buffer control unit includes:
Based on the transfer information output from the access history collection unit, the first transfer data is distributed and output to the first data transfer unit and the second buffer control unit,
A data processing apparatus.
それぞれのデータ転送制御装置に備えたデータ転送状態監視部は、
対応する前記データ転送部のそれぞれの前記転送データの転送状態を監視して、当該データ転送制御装置に備えたそれぞれの前記転送制御部に前記転送制御情報を出力し、
それぞれのデータ転送制御装置に備えた少なくとも1つの前記転送制御部は、
前記転送制御情報に基づいて、対応する前記データ入力部から入力された前記転送データを、当該データ転送制御装置が対応する少なくとも1つの前記データ転送部に振り分ける、
ことを特徴とする請求項6に記載のデータ処理装置。 The data transfer control device is connected in a daisy chain according to the number of the data transfer unit and the data input unit,
The data transfer state monitoring unit provided in each data transfer control device is
Monitoring the transfer state of each transfer data of the corresponding data transfer unit, and outputting the transfer control information to each transfer control unit provided in the data transfer control device,
At least one of the transfer control units included in each data transfer control device,
Based on the transfer control information, the transfer data input from the corresponding data input unit is distributed to at least one data transfer unit corresponding to the data transfer control device,
The data processing apparatus according to claim 6.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013264565A JP6234213B2 (en) | 2013-12-20 | 2013-12-20 | Data transfer control device, data transfer control method, and data processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013264565A JP6234213B2 (en) | 2013-12-20 | 2013-12-20 | Data transfer control device, data transfer control method, and data processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015121893A JP2015121893A (en) | 2015-07-02 |
| JP6234213B2 true JP6234213B2 (en) | 2017-11-22 |
Family
ID=53533465
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013264565A Expired - Fee Related JP6234213B2 (en) | 2013-12-20 | 2013-12-20 | Data transfer control device, data transfer control method, and data processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6234213B2 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3957696B2 (en) * | 2004-03-17 | 2007-08-15 | 埼玉日本電気株式会社 | IP network terminal device |
| JP4909839B2 (en) * | 2007-08-20 | 2012-04-04 | 株式会社リコー | Image processing apparatus and image processing method |
| JP5891877B2 (en) * | 2012-03-19 | 2016-03-23 | 富士通株式会社 | Relay device and relay method |
-
2013
- 2013-12-20 JP JP2013264565A patent/JP6234213B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015121893A (en) | 2015-07-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10241721B2 (en) | Image processing device and image processing method | |
| US20060161694A1 (en) | DMA apparatus | |
| WO2014156282A1 (en) | Bus master, bus system, and bus control method | |
| JP5591022B2 (en) | Bus bandwidth monitoring device and bus bandwidth monitoring method | |
| JP2020109641A (en) | Memory control device, memory control method, and image forming apparatus | |
| JP4845522B2 (en) | System bus control device, integrated circuit and data processing system | |
| JP4416694B2 (en) | Data transfer arbitration device and data transfer arbitration method | |
| JP5993267B2 (en) | Image processing device | |
| JP5056668B2 (en) | Data transfer apparatus and data transfer method | |
| US20250298755A1 (en) | Multichannel memory arbitration and interleaving scheme | |
| JP6234213B2 (en) | Data transfer control device, data transfer control method, and data processing device | |
| JP5382113B2 (en) | Storage control device and control method thereof | |
| CN111033476B (en) | Memory access device, image processing device and camera device | |
| JP4846482B2 (en) | Bus arbitration device | |
| JP4839155B2 (en) | Access arbitration device and access arbitration method | |
| JP6210742B2 (en) | Data processing device and data transfer control device | |
| JP5623150B2 (en) | Electronic device and control method thereof | |
| JP4882116B2 (en) | Buffer control device and buffer control method | |
| JP2006189919A (en) | Electronic device, control method, and computer program | |
| JP2012043053A (en) | Bus band monitoring device and bus band monitoring method | |
| JP2007172112A (en) | Memory controller | |
| JP4335327B2 (en) | Arbitration apparatus and method | |
| JP2012108617A (en) | Information processor | |
| JP2015075778A (en) | Load balancing control apparatus | |
| JP2003228512A (en) | Data transfer device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160801 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170529 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170606 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170801 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20170802 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170829 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170925 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20170926 |
|
| 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: 20171017 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171024 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 6234213 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| LAPS | Cancellation because of no payment of annual fees |