JP2010152604A - Information processor, and image data recording system - Google Patents

Information processor, and image data recording system Download PDF

Info

Publication number
JP2010152604A
JP2010152604A JP2008329448A JP2008329448A JP2010152604A JP 2010152604 A JP2010152604 A JP 2010152604A JP 2008329448 A JP2008329448 A JP 2008329448A JP 2008329448 A JP2008329448 A JP 2008329448A JP 2010152604 A JP2010152604 A JP 2010152604A
Authority
JP
Japan
Prior art keywords
data
transfer
dma
controller
control unit
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.)
Withdrawn
Application number
JP2008329448A
Other languages
Japanese (ja)
Inventor
Tatsuhiro Hasu
達弘 蓮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008329448A priority Critical patent/JP2010152604A/en
Publication of JP2010152604A publication Critical patent/JP2010152604A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor capable of quickening DMA transfer to an I/O buffer, and an image data recording system. <P>SOLUTION: This information processor 1 includes an internal bus 40, a DMA controller 20 for transferring a data from a transferring side resource to a transferred side resource, and an I/O controller 30 including an FIFO 320 (I/O buffer), and for transferring a data between the FIFO 320 and an external device 100. The DMA controller selects either of continuous reading-out of a plurality of data from the FIFO 320, or reading-out of one piece of data therefrom, in one data transfer request from the I/O controller, when the transferring side resource is the I/O controller, and selects either of continuous writing-in of a plurality of data into the FIFO 320, or writing-in of one piece of data thereinto, in the one data transfer request from the I/O controller, when the transferred side resource is the I/O controller. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、情報処理装置及び画像データ記録システム等に関する。   The present invention relates to an information processing apparatus, an image data recording system, and the like.

自動車の走行中の画像データを一定時間間隔でSDRAM等の1次記憶装置に記録し、事故等のイベントが発生した時に、そのイベントの前後の一定時間の画像データをSDRAM等の1次記憶装置からCFメモリーカードやSDメモリーカード等の2次記憶装置に転送して記録するドライブレコーダーが利用されている。ドライブレコーダーを使用すれば、2次記憶装置に記録された画像データを解析することにより事故等のイベントが発生した時の状況を把握することができる。   When image data during driving of a car is recorded in a primary storage device such as SDRAM at regular time intervals, and an event such as an accident occurs, image data for a predetermined time before and after the event is stored in a primary storage device such as SDRAM. Drive recorders that transfer data to a secondary storage device such as a CF memory card or an SD memory card. If a drive recorder is used, it is possible to grasp the situation when an event such as an accident occurs by analyzing the image data recorded in the secondary storage device.

ドライブレコーダーでは事故等のイベントが発生した時の画像データを2次記憶装置に確実に記録することが要求されるため、ドライブレコーダーに使用される情報処理装置は1次記憶装置から2次記憶装置への画像データの転送をCPUを介さないDMA転送により高速化する。
特開2008−245070号公報
Since the drive recorder is required to reliably record image data when an event such as an accident occurs in the secondary storage device, the information processing device used for the drive recorder is changed from the primary storage device to the secondary storage device. The image data is transferred at a high speed by DMA transfer without using a CPU.
JP 2008-2405070 A

2次記憶装置としてCFメモリーカードやSDメモリーカードが使用される場合、これらのメモリーカードにはバースト書き込みができないため、I/Oバッファが使用される。すなわち、情報処理装置において、DMAコントローラーにより1次記憶装置からI/Oバッファに画像データがDMA転送され、I/Oバッファに格納された画像データがI/Oコントローラーにより2次記憶装置に転送される。ここで、1次記憶装置からI/Oバッファへの転送タイミングと2次記憶装置への転送タイミングが異なるため、従来、DMAコントローラーとI/Oコントローラーの間で1データ毎にハンドシェイクによりDMA転送を行っていた。従って、1データ毎にハンドシェイクによるオーバーヘッドが生じるため、DMA転送による高速化が十分に達成できない場合もあった。   When a CF memory card or an SD memory card is used as a secondary storage device, an I / O buffer is used because burst writing cannot be performed on these memory cards. That is, in the information processing apparatus, image data is DMA-transferred from the primary storage device to the I / O buffer by the DMA controller, and image data stored in the I / O buffer is transferred to the secondary storage device by the I / O controller. The Here, because the transfer timing from the primary storage device to the I / O buffer and the transfer timing to the secondary storage device are different, conventionally, DMA transfer is performed by handshake for each data between the DMA controller and the I / O controller. Had gone. Therefore, there is an overhead due to handshaking for each data, and there is a case where speeding up by DMA transfer cannot be sufficiently achieved.

本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、I/Oバッファに対するDMA転送を高速化することができる情報処理装置及び画像データ記録システムを提供することができる。   The present invention has been made in view of the above problems, and according to some aspects of the present invention, an information processing apparatus and image data capable of speeding up DMA transfer to an I / O buffer. A recording system can be provided.

(1)本発明は、内部バスと、前記内部バスを介して転送元リソースからデータを読み出し、読み出したデータを、前記内部バスを介して転送先リソースに書き込むことにより、前記転送元リソースから前記転送先リソースにデータ転送を行うDMA転送制御部と、I/Oバッファを含み、前記I/Oバッファと外部デバイスの間のデータ転送を行うI/O制御部と、前記転送元リソースと前記転送先リソースを特定する情報及び前記転送元リソースから前記転送先リソースへのデータ転送の対象となるデータのサイズを特定する情報を設定する転送情報設定部と、を含み、前記DMA転送制御部は、前記転送元リソースが前記I/O制御部である場合は、前記I/O制御部からの1回のデータ転送要求に対して、前記I/Oバッファから複数のデータを連続して読み出すか1つのデータを読み出すかを選択し、前記転送先リソースが前記I/O制御部である場合は、前記I/O制御部からの1回のデータ転送要求に対して、前記I/Oバッファに複数のデータを連続して書き込むか1つのデータを書き込むかを選択することを特徴とする情報処理装置である。   (1) The present invention reads the data from the transfer source resource via the internal bus and the internal bus, and writes the read data to the transfer destination resource via the internal bus. A DMA transfer control unit that performs data transfer to a transfer destination resource, an I / O buffer that includes data transfer between the I / O buffer and an external device, the transfer source resource, and the transfer A transfer information setting unit that sets information for specifying a destination resource and information for specifying a size of data to be transferred from the transfer source resource to the transfer destination resource, and the DMA transfer control unit includes: When the transfer source resource is the I / O control unit, a single data transfer request from the I / O control unit is duplicated from the I / O buffer. If the data of the transfer destination is the I / O control unit, a response to a single data transfer request from the I / O control unit is selected. Thus, the information processing apparatus selects whether to write a plurality of data continuously or to write one data in the I / O buffer.

外部デバイスは、例えば、SD(Secure Digital)メモリーカードやCF(Compact Flash)メモリーカード、USB(Universal Serial Bus)デバイス、PC(Personal Computer)である。   The external device is, for example, an SD (Secure Digital) memory card, a CF (Compact Flash) memory card, a USB (Universal Serial Bus) device, or a PC (Personal Computer).

転送情報設定部は、例えば、CPU(Central Processing Unit)である。   The transfer information setting unit is, for example, a CPU (Central Processing Unit).

本発明の情報処理装置によれば、I/O制御部からの1回のデータ転送要求に対して、DMA転送制御部が内部バスを介してI/Oバッファに対して複数のデータの連続転送を行うことにより、I/Oバッファに対するDMA転送を高速化することができる。   According to the information processing apparatus of the present invention, in response to a single data transfer request from the I / O control unit, the DMA transfer control unit continuously transfers a plurality of data to the I / O buffer via the internal bus. By performing the above, it is possible to speed up the DMA transfer to the I / O buffer.

また、本発明の情報処理装置によれば、I/O制御部からの1回のデータ転送要求に対して連続転送が困難な場合でも、CPUを介さずにDMA転送により1回のデータ転送要求毎に1つのデータを転送することができるので、CPUの負荷を低減することができる。   Further, according to the information processing apparatus of the present invention, even when continuous transfer is difficult for one data transfer request from the I / O control unit, one data transfer request is performed by DMA transfer without using the CPU. Since one data can be transferred every time, the load on the CPU can be reduced.

このように、本発明の情報処理装置によれば、1回のデータ転送要求に対して複数のデータを連続転送するか1つのデータを転送するかを、外部デバイスの種類やI/Oバッファのサイズ等に応じて適切に選択することにより、I/Oバッファに対するDMA転送速度を最適化することができる。   As described above, according to the information processing apparatus of the present invention, it is determined whether a plurality of data is continuously transferred or one data is transferred in response to one data transfer request, the type of external device or the I / O buffer. The DMA transfer rate for the I / O buffer can be optimized by appropriately selecting according to the size and the like.

(2)本発明の情報処理装置において、前記転送情報設定部は、前記DMA転送制御部が前記I/Oバッファに対して読み出し又は書き込みを連続して行うデータ数を特定する情報を設定するようにしてもよい。   (2) In the information processing apparatus of the present invention, the transfer information setting unit sets information for specifying the number of data that the DMA transfer control unit continuously reads or writes to the I / O buffer. It may be.

本発明の情報処理装置によれば、I/Oバッファに対する連続転送のデータサイズを可変に設定することができるので、I/Oバッファに対するDMA転送速度をより最適化することができる。   According to the information processing apparatus of the present invention, the data size of continuous transfer to the I / O buffer can be variably set, so that the DMA transfer rate for the I / O buffer can be further optimized.

(3)本発明の情報処理装置において、前記DMA転送制御部は、前記I/Oバッファに対して前記複数のデータの読み出し又は書き込みを連続して行う場合は、読み出し又は書き込みを開始してから終了するまで前記内部バスのバス権を占有するか否かを選択するようにしてもよい。   (3) In the information processing apparatus according to the present invention, when the DMA transfer control unit continuously reads or writes the plurality of data with respect to the I / O buffer, the DMA transfer control unit starts reading or writing. It may be selected whether to occupy the bus right of the internal bus until the end.

本発明の情報処理装置によれば、I/Oバッファに対する連続転送の優先度が高い場合は内部バスを占有し、優先度が低い場合は内部バスを占有しないようにすることができるので、内部バスを効率的に使用することができる。   According to the information processing apparatus of the present invention, the internal bus can be occupied when the priority of continuous transfer to the I / O buffer is high, and the internal bus can be prevented from being occupied when the priority is low. The bus can be used efficiently.

(4)本発明の情報処理装置において、前記転送情報設定部は、前記転送元リソースから前記転送先リソースへのデータ転送の転送モードを設定し、前記DMA転送制御部は、前記転送モードに基づいて、1回の前記データ転送要求に対して、前記I/Oバッファに対して前記複数のデータの読み出し又は書き込みを連続して行うか1つのデータの読み出し又は書き込みを行うかを選択するようにしてもよい。   (4) In the information processing apparatus of the present invention, the transfer information setting unit sets a transfer mode of data transfer from the transfer source resource to the transfer destination resource, and the DMA transfer control unit is based on the transfer mode. In response to one data transfer request, it is selected whether to read or write the plurality of pieces of data to the I / O buffer continuously or to read or write one piece of data. May be.

(5)本発明の情報処理装置において、前記I/O制御部は、前記転送先リソースになる場合は前記I/Oバッファの空き領域のサイズと前記I/Oバッファに連続して書き込まれる前記複数のデータのサイズを比較し、前記転送元リソースになる場合は前記I/Oバッファに格納されているデータのサイズと前記I/Oバッファから連続して読み出される前記複数のデータのサイズを比較し、比較結果に基づいて前記DMA転送制御部に対して連続転送要求信号又は単位転送要求信号を送出し、前記DMA転送制御部は、前記連続転送要求信号を受け取った時は前記I/Oバッファに対して前記複数のデータの読み出し又は書き込みを連続して行い、前記単位転送要求信号を受け取った時は前記I/Oバッファに対して1つのデータの読み出し又は書き込みを行うようにしてもよい。   (5) In the information processing apparatus according to the present invention, when the I / O control unit becomes the transfer destination resource, the size of the free area of the I / O buffer and the I / O buffer written continuously Compare the size of multiple data, and if it becomes the source resource, compare the size of the data stored in the I / O buffer and the size of the multiple data read from the I / O buffer continuously Then, a continuous transfer request signal or a unit transfer request signal is sent to the DMA transfer control unit based on the comparison result, and when the DMA transfer control unit receives the continuous transfer request signal, the I / O buffer When the unit transfer request signal is received, the plurality of data is continuously read or written to the I / O buffer. It may be or be written.

本発明の情報処理装置によれば、I/O制御部が、I/Oバッファの状態に基づいて、I/Oバッファに対する連続転送が可能か否かを判断するので、I/Oバッファに対するDMA転送をより効率的に行うことができる。   According to the information processing apparatus of the present invention, the I / O control unit determines whether continuous transfer to the I / O buffer is possible based on the state of the I / O buffer. Transfer can be performed more efficiently.

(6)本発明の情報処理装置において、前記I/O制御部は、前記DMA転送制御部が前記I/Oバッファから連続して読み出し又は書き込みを行うデータのサイズが、前記データ転送の対象となるデータのサイズよりも小さい場合には、前記DMA転送制御部に対して複数回に分けてデータ転送要求を行うようにしてもよい。   (6) In the information processing apparatus according to the present invention, the I / O control unit may determine that the size of data that the DMA transfer control unit continuously reads or writes from the I / O buffer is the data transfer target. If the data size is smaller than the data size, the data transfer request may be made to the DMA transfer control unit in a plurality of times.

(7)本発明の情報処理装置は、第1の前記I/Oバッファを含む第1の前記I/O制御部と、第2の前記I/Oバッファを含む第2の前記I/O制御部と、を含み、前記DMA転送制御部は、前記転送元リソースが前記第1のI/O制御部であり、かつ、前記転送先リソースが前記第2のI/O制御部である場合は、前記第1のI/O制御部からの1回のデータ転送要求に対して、前記第1のI/Oバッファから複数のデータを連続して読み出すか1つのデータを読み出すかを選択し、前記第2のI/O制御部からの1回のデータ転送要求に対して、前記第2のI/Oバッファに複数のデータを連続して書き込むか1つのデータを書き込むかを選択するようにしてもよい。   (7) The information processing apparatus according to the present invention includes the first I / O control unit including the first I / O buffer and the second I / O control including the second I / O buffer. The DMA transfer control unit is configured such that the transfer source resource is the first I / O control unit and the transfer destination resource is the second I / O control unit. In response to a single data transfer request from the first I / O control unit, a selection is made as to whether to read a plurality of data from the first I / O buffer or to read one data. In response to a single data transfer request from the second I / O control unit, it is selected whether to write a plurality of data continuously or to write one data in the second I / O buffer. May be.

本発明の情報処理装置によれば、2つのI/Oバッファの間でもDMA転送を行うことができる。また、本発明の情報処理装置によれば、I/Oバッファ間のDMA転送においても、1回のデータ転送要求に対して複数のデータを連続転送するか1つのデータを転送するかを選択することができるので、DMA転送速度を最適化することができる。   According to the information processing apparatus of the present invention, DMA transfer can be performed between two I / O buffers. Further, according to the information processing apparatus of the present invention, in DMA transfer between I / O buffers, it is selected whether to transfer a plurality of data continuously or to transfer one data in response to a single data transfer request. The DMA transfer rate can be optimized.

(8)本発明は、上記のいずれかの情報処理装置と、少なくとも1つのカメラモジュールと、前記カメラモジュールが所定間隔で撮像した複数の画像データを一時的に記憶する第1の記憶装置と、前記情報処理装置の前記I/O制御部の前記I/Oバッファとデータ転送を行う不揮発性の第2の記憶装置と、を含み、前記情報処理装置は、所定のイベントの発生に基づいて、前記DMA転送制御部が前記第1の記憶装置に記憶されている前記画像データを前記I/Oバッファに転送し、前記I/O制御部が前記I/Oバッファに転送された前記画像データを前記第2の記憶装置に転送することを特徴とする画像データ記録システムである。   (8) The present invention provides any one of the information processing apparatuses described above, at least one camera module, a first storage device that temporarily stores a plurality of image data captured by the camera module at a predetermined interval, A non-volatile second storage device that performs data transfer with the I / O buffer of the I / O control unit of the information processing device, the information processing device based on occurrence of a predetermined event, The DMA transfer control unit transfers the image data stored in the first storage device to the I / O buffer, and the I / O control unit transfers the image data transferred to the I / O buffer. An image data recording system for transferring to the second storage device.

以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. The embodiments described below do not unduly limit the contents of the present invention described in the claims. Also, not all of the configurations described below are essential constituent requirements of the present invention.

1.情報処理装置
1−1.第1実施形態
[情報処理装置の構成]
図1は、第1実施形態の情報処理装置の構成について説明するための図である。
1. Information processing apparatus 1-1. First Embodiment [Configuration of Information Processing Apparatus]
FIG. 1 is a diagram for explaining the configuration of the information processing apparatus according to the first embodiment.

第1実施形態の情報処理装置1は、CPU10、内部メモリー12、外部メモリーコントローラー14、DMA(Direct Memory Access)コントローラー20、I/Oコントローラー30及びこれらが接続された内部バス40を含んで構成されている。   The information processing apparatus 1 according to the first embodiment includes a CPU 10, an internal memory 12, an external memory controller 14, a DMA (Direct Memory Access) controller 20, an I / O controller 30, and an internal bus 40 to which these are connected. ing.

CPU10は、内部メモリー12及び外部メモリー110の両方もしくは片方を作業領域として、データ処理や割り込み処理等の種々の情報処理を行う。   The CPU 10 performs various information processing such as data processing and interrupt processing using both or one of the internal memory 12 and the external memory 110 as a work area.

外部メモリーコントローラー14は、SRAM(Static Random Access Memory)やSDRAM(Synchronous Dynamic Random Access Memory)等の外部メモリー110と接続されており、外部メモリー110に対するアクセスを制御する。   The external memory controller 14 is connected to an external memory 110 such as an SRAM (Static Random Access Memory) or an SDRAM (Synchronous Dynamic Random Access Memory), and controls access to the external memory 110.

I/Oコントローラー30は、SDメモリーカードやCFメモリーカード、USBデバイス、PC等の外部デバイス100と接続されており、外部デバイス100に対するアクセスを制御する。   The I / O controller 30 is connected to an external device 100 such as an SD memory card, a CF memory card, a USB device, or a PC, and controls access to the external device 100.

DMAコントローラー20は、内部バス40を介して、内部メモリー12、外部メモリー110、I/Oコントローラー30の任意の2つのリソース間のデータ転送を制御する。具体的には、DMAコントローラー20は、内部バス40を介して転送対象となるデータを転送元リソースから読み出し、読み出した転送対象データを内部バス40を介して転送先リソースに書き込むことにより、DMA転送を実現する。すなわち、DMAコントローラー20はバスマスターとして機能し、内部メモリー12、外部メモリー110、I/Oコントローラー30はバススレーブとして機能する。DMAコントローラー20により、CPU10が介在することなくこれらのリソース間でデータ転送処理を行うことができるので、CPUの負荷を大幅に削減することができる。   The DMA controller 20 controls data transfer between any two resources of the internal memory 12, the external memory 110, and the I / O controller 30 via the internal bus 40. Specifically, the DMA controller 20 reads the data to be transferred from the transfer source resource via the internal bus 40 and writes the read transfer target data to the transfer destination resource via the internal bus 40 to perform the DMA transfer. To realize. That is, the DMA controller 20 functions as a bus master, and the internal memory 12, the external memory 110, and the I / O controller 30 function as bus slaves. Since the DMA controller 20 can perform data transfer processing between these resources without intervention of the CPU 10, the load on the CPU can be greatly reduced.

内部バス40は、例えば、32ビットのリードデータ(HRDATA[31:0])及びライトデータ(HWDATA[31:0])、32ビットのアドレス信号(HADDR[31:0])、1ビットのライト信号(HWRITE)、1ビットのバス要求信号(HBUSREQ)、1ビットのバス認可信号(HGRANT)等とバスアービターで構成されている。このような内部バスとして、例えば、AHB(Advanced High-performance Bus)が知られている。   The internal bus 40 has, for example, 32-bit read data (HRDATA [31: 0]) and write data (HWDATA [31: 0]), 32-bit address signal (HADDR [31: 0]), and 1-bit write. The bus arbiter is composed of a signal (HWRITE), a 1-bit bus request signal (HBUSREQ), a 1-bit bus grant signal (HGRANT), and the like. As such an internal bus, for example, AHB (Advanced High-performance Bus) is known.

なお、DMAコントローラー20及びI/Oコントローラー30は、それぞれ本発明におけるDMA転送制御部及びI/O制御部として機能する。   The DMA controller 20 and the I / O controller 30 function as a DMA transfer control unit and an I / O control unit in the present invention, respectively.

[DMAコントローラー]
図2は、第1実施形態におけるDMAコントローラーの構成について説明するための図である。
[DMA controller]
FIG. 2 is a diagram for explaining the configuration of the DMA controller according to the first embodiment.

DMAコントローラー20は、レジスタ部200、制御部210、FIFO(First In First Out)220及びバスマスターインターフェース部230を含んで構成されている。   The DMA controller 20 includes a register unit 200, a control unit 210, a FIFO (First In First Out) 220, and a bus master interface unit 230.

レジスタ部200には、転送元アドレスレジスタ202、転送先アドレスレジスタ204、転送サイズカウンタ206、制御レジスタ208等のDMA転送を制御するための各種の設定レジスタが備えられており、CPU10により設定される。すなわち、CPU10は、本発明おける転送情報設定部として機能する。   The register unit 200 includes various setting registers for controlling DMA transfer, such as a transfer source address register 202, a transfer destination address register 204, a transfer size counter 206, and a control register 208, which are set by the CPU 10. . That is, the CPU 10 functions as a transfer information setting unit in the present invention.

転送元アドレスレジスタ202及び転送先アドレスレジスタ204には、それぞれDMA転送の対象となる転送元リソースの読み出し開始アドレス及び転送先リソースの書き込み開始アドレスが設定される。また、転送サイズカウンタ206には、DMA転送の対象となるデータのサイズが設定される。   In the transfer source address register 202 and the transfer destination address register 204, a read start address of a transfer source resource and a write start address of a transfer destination resource that are targets of DMA transfer are set, respectively. The transfer size counter 206 is set with the size of data to be subjected to DMA transfer.

そして、制御レジスタ208の設定値により、転送元リソースや転送先リソースの選択、転送元のデータや転送先のデータの単位サイズの選択、転送禁止又は転送許可の選択等が行えるようになっている。転送許可が選択された場合は、DMAイネーブル信号212がアクティブとなる。   Depending on the set value of the control register 208, it is possible to select a transfer source resource or transfer destination resource, select a unit size of transfer source data or transfer destination data, select transfer prohibition or transfer permission, and the like. . When transfer permission is selected, the DMA enable signal 212 becomes active.

また、転送元リソースや転送先リソースがI/Oコントローラー30である場合は、制御レジスタ208の設定値により、I/Oコントローラー30からDMAコントローラー20への転送モード(以下、「I/O読み出し転送モード」という)の選択やDMAコントローラー20からI/Oコントローラー30への転送モード(以下、「I/O書き込み転送モード」という)の選択が行えるようになっている。例えば、I/O読み出し転送モードやI/O書き込み転送モードとして、I/Oコントローラー30からの1回の転送要求に対して、単位サイズのデータを転送するモード(以下、「シングル転送モード」という)又は単位サイズのデータを複数個連続して転送するモード(以下、「連続転送モード」という)が選択できるようになっている。さらに、連続転送モードにおいて連続して転送するデータ数を可変にするために、例えば、連続転送するデータサイズ(以下、「連続転送サイズ」という)を設定するためのレジスタを設けてもよい。   When the transfer source resource or transfer destination resource is the I / O controller 30, the transfer mode from the I / O controller 30 to the DMA controller 20 (hereinafter referred to as “I / O read transfer”) is set according to the set value of the control register 208. Mode) and a transfer mode from the DMA controller 20 to the I / O controller 30 (hereinafter referred to as “I / O write transfer mode”). For example, as an I / O read transfer mode or I / O write transfer mode, a unit size data transfer mode (hereinafter referred to as “single transfer mode”) in response to a single transfer request from the I / O controller 30. ) Or a mode in which a plurality of unit-size data are continuously transferred (hereinafter referred to as “continuous transfer mode”) can be selected. Furthermore, in order to change the number of data continuously transferred in the continuous transfer mode, for example, a register for setting a data size for continuous transfer (hereinafter referred to as “continuous transfer size”) may be provided.

制御部210は、DMAイネーブル信号212がアクティブになると、転送元アドレスレジスタ202、転送先アドレスレジスタ204、転送サイズカウンタ206、制御レジスタ208等の設定値に基づいて、DMA転送制御を開始する。   When the DMA enable signal 212 becomes active, the controller 210 starts DMA transfer control based on the set values of the transfer source address register 202, transfer destination address register 204, transfer size counter 206, control register 208, and the like.

まず、制御部210は、内部バス40を介して転送元リソースから転送対象データを読み出すために、バスマスターインターフェース部230を介して、内部バス40に対してバス要求信号45を送出する。内部バス40のバスアービターは、内部バス40が未使用の状態であればDMAコントローラー20に対してバス認可信号46を送出し、CPU10等の他のバスマスターが内部バス40を使用中であれば、内部バス40が開放されるまで待ってDMAコントローラー20に対してバス認可信号46を送出する。そして、制御部210は、バスマスターインターフェース部230を介してバス認可信号46を受けることによりバス権を獲得し、転送元リソースから転送対象データを読み出す処理を開始する。   First, the control unit 210 sends a bus request signal 45 to the internal bus 40 via the bus master interface unit 230 in order to read transfer target data from the transfer source resource via the internal bus 40. The bus arbiter of the internal bus 40 sends a bus authorization signal 46 to the DMA controller 20 if the internal bus 40 is unused, and if another bus master such as the CPU 10 is using the internal bus 40. After waiting until the internal bus 40 is released, a bus authorization signal 46 is sent to the DMA controller 20. Then, the control unit 210 acquires the bus right by receiving the bus authorization signal 46 via the bus master interface unit 230, and starts the process of reading the transfer target data from the transfer source resource.

次に、制御部210は、転送元アドレスレジスタ202に設定されたアドレスをアドレス信号43にセットし、ライト信号44を読み出し方向にセットし、バスマスターインターフェース部230を介して内部バス40に送出する。内部バス40にはアドレス信号43にセットされたアドレスからリードデータ42が読み出され、制御部210は、バスマスターインターフェース部230を介してリードデータ42をFIFO220に書き込む。   Next, the control unit 210 sets the address set in the transfer source address register 202 to the address signal 43, sets the write signal 44 in the reading direction, and sends it to the internal bus 40 via the bus master interface unit 230. . Read data 42 is read from the address set in the address signal 43 to the internal bus 40, and the control unit 210 writes the read data 42 into the FIFO 220 via the bus master interface unit 230.

制御部210は、リードデータ42をFIFO220に書き込む毎に、制御レジスタ208により選択された単位サイズ分だけ転送サイズカウンタ206をデクリメントし、アドレス信号43を次のアドレスにセットする。そして、制御部210は、転送サイズカウンタ206の値が0になるまで、リードデータ42をFIFO220に書き込む処理を繰り返す。   Each time the controller 210 writes the read data 42 to the FIFO 220, the controller 210 decrements the transfer size counter 206 by the unit size selected by the control register 208, and sets the address signal 43 to the next address. Then, the control unit 210 repeats the process of writing the read data 42 into the FIFO 220 until the value of the transfer size counter 206 becomes zero.

ここで、転送元リソースが内部メモリー12又は外部メモリー110である場合、内部メモリー12又は外部メモリー110には転送対象データが必ず存在するため、制御部210は、バス権を獲得したらすぐにリードデータ42の読み出しを開始することができる。   Here, when the transfer source resource is the internal memory 12 or the external memory 110, since the transfer target data always exists in the internal memory 12 or the external memory 110, the control unit 210 reads the read data immediately after acquiring the bus right. 42 reading can be started.

一方、転送元リソースがI/Oコントローラー30である場合、制御部210は、バス権を獲得しても、外部デバイス100からI/Oコントローラー30に転送対象のデータが転送されていなければリードデータ42の読み出しを開始することができない。そのため、I/Oコントローラー30は、外部デバイス100から転送対象のデータを受け取った後にDMAコントローラー20に対してDMAリクエスト信号32を送出し、制御部210は、DMAリクエスト信号32を受け取るまでは読み出し処理を開始しない。制御部210は、DMAリクエスト信号32を受け取ると、I/Oコントローラー30に対してDMAアクノリッジ信号22を送出して読み出し処理を開始する。   On the other hand, when the transfer source resource is the I / O controller 30, the control unit 210 obtains the bus right, and if the transfer target data is not transferred from the external device 100 to the I / O controller 30, the read data 42 reading cannot be started. Therefore, the I / O controller 30 sends the DMA request signal 32 to the DMA controller 20 after receiving the transfer target data from the external device 100, and the control unit 210 performs the read processing until the DMA request signal 32 is received. Do not start. When the control unit 210 receives the DMA request signal 32, the control unit 210 transmits a DMA acknowledge signal 22 to the I / O controller 30 and starts a reading process.

I/O読み出し転送モードがシングル転送モードに設定されていれば、制御部210は、転送対象データの読み出しが終了するまで、DMAリクエスト信号32を受け取る毎に、1つのリードデータ42を読み出してFIFO220に書き込むとともにI/Oコントローラー30に対してDMAアクノリッジ信号22を送出する処理を繰り返す。   If the I / O read transfer mode is set to the single transfer mode, the control unit 210 reads one read data 42 and receives the FIFO 220 every time the DMA request signal 32 is received until reading of the transfer target data is completed. And the process of sending the DMA acknowledge signal 22 to the I / O controller 30 is repeated.

I/O読み出し転送モードが連続転送モードに設定されていれば、制御部210は、転送対象データの読み出しが終了するまで、DMAリクエスト信号32を受け取る毎に、連続転送サイズ分のリードデータ42を連続して読み出してFIFO220に書き込むとともにI/Oコントローラー30に対してDMAアクノリッジ信号22を送出する処理を繰り返す。   If the I / O read transfer mode is set to the continuous transfer mode, the control unit 210 receives the read data 42 corresponding to the continuous transfer size every time the DMA request signal 32 is received until reading of the transfer target data is completed. The process of continuously reading and writing to the FIFO 220 and sending the DMA acknowledge signal 22 to the I / O controller 30 is repeated.

次に、制御部210は、内部バス40を介して転送先リソースに転送対象のデータを書き込むために、バスマスターインターフェース部230を介して、内部バス40に対してバス要求信号45を送出する。制御部210は、バスマスターインターフェース部230を介してバス認可信号46を受けることによりバス権を獲得し、転送先リソースに対して転送対象データの書き込み処理を開始する。   Next, the control unit 210 sends a bus request signal 45 to the internal bus 40 via the bus master interface unit 230 in order to write data to be transferred to the transfer destination resource via the internal bus 40. The control unit 210 acquires the bus right by receiving the bus authorization signal 46 via the bus master interface unit 230, and starts the process of writing the transfer target data to the transfer destination resource.

次に、制御部210は、FIFO220に格納されているデータを読み出してライトデータ41にセットし、転送先アドレスレジスタ204に設定されたアドレスをアドレス信号43にセットし、ライト信号44を書き込み方向にセットし、バスマスターインターフェース部230を介して内部バス40に送出する。そして、転送先リソースは、アドレス信号43にセットされたアドレスにライトデータ41にセットされたデータを書き込む。   Next, the control unit 210 reads the data stored in the FIFO 220 and sets it in the write data 41, sets the address set in the transfer destination address register 204 in the address signal 43, and sets the write signal 44 in the writing direction. It is set and sent to the internal bus 40 via the bus master interface unit 230. Then, the transfer destination resource writes the data set in the write data 41 to the address set in the address signal 43.

制御部210は、FIFO220が空になるまで、FIFO220からデータを読み出してライトデータ41にセットし、ライトデータ41を書き込むべきアドレスをアドレス信号43にセットする処理を繰り返す。   The controller 210 reads data from the FIFO 220 and sets it in the write data 41 until the FIFO 220 becomes empty, and repeats the process of setting the address where the write data 41 is to be written in the address signal 43.

ここで、転送先リソースが内部メモリー12又は外部メモリー110である場合、内部メモリー12又は外部メモリー110には転送対象データを書き込む領域が確保されているため、制御部210は、バス権を獲得したらすぐにライトデータ41の書き込みを開始することができる。   Here, when the transfer destination resource is the internal memory 12 or the external memory 110, since the area for writing the transfer target data is secured in the internal memory 12 or the external memory 110, the control unit 210 acquires the bus right. The writing of the write data 41 can be started immediately.

一方、転送先リソースがI/Oコントローラー30である場合、制御部210は、バス権を獲得しても、I/Oコントローラー30に転送対象データを書き込む領域が確保されていなければライトデータ41の書き込みを開始することができない。そのため、I/Oコントローラー30は、転送対象データを書き込む領域が空いている場合にのみDMAコントローラー20に対してDMAリクエスト信号32を送出し、制御部210は、DMAリクエスト信号32を受け取るまでは書き込み処理を開始しない。制御部210は、DMAリクエスト信号32を受け取ると、I/Oコントローラー30に対してDMAアクノリッジ信号22を送出して書き込み処理を開始する。   On the other hand, when the transfer destination resource is the I / O controller 30, the control unit 210 acquires the bus right, but if the area for writing the transfer target data is not secured in the I / O controller 30, the write data 41 Cannot start writing. Therefore, the I / O controller 30 sends the DMA request signal 32 to the DMA controller 20 only when the area to which the transfer target data is written is empty, and the control unit 210 writes until the DMA request signal 32 is received. Do not start processing. When the control unit 210 receives the DMA request signal 32, it sends a DMA acknowledge signal 22 to the I / O controller 30 and starts a writing process.

I/O書き込み転送モードがシングル転送モードに設定されていれば、制御部210は、転送対象データの書き込みが終了するまで、DMAリクエスト信号32を受け取る毎に、1つのデータをFIFO220から読み出してライトデータ41にセットするとともにI/Oコントローラー30に対してDMAアクノリッジ信号22を送出する処理を繰り返す。   If the I / O write transfer mode is set to the single transfer mode, the controller 210 reads one data from the FIFO 220 and writes it every time it receives the DMA request signal 32 until writing of the transfer target data is completed. The process of setting the data 41 and sending the DMA acknowledge signal 22 to the I / O controller 30 is repeated.

I/O書き込み転送モードが連続転送モードに設定されていれば、制御部210は、転送対象データの書き込みが終了するまで、DMAリクエスト信号32を受け取る毎に、連続転送サイズ分のデータをFIFO220から連続して読み出してライトデータ41にセットするとともにI/Oコントローラー30に対してDMAアクノリッジ信号22を送出する処理を繰り返す。   If the I / O write transfer mode is set to the continuous transfer mode, the control unit 210 receives data for the continuous transfer size from the FIFO 220 every time it receives the DMA request signal 32 until the writing of the transfer target data is completed. The process of continuously reading and setting the write data 41 and sending the DMA acknowledge signal 22 to the I / O controller 30 is repeated.

なお、制御部210は、転送対象データの読み出し処理(又は書き込み処理)を開始してから終了するまでバス要求信号45を送出し続けて内部バス40のバス権を占有するようにしてもよいし、各ライトデータ41の読み出し(又は書き込み)開始時にバス要求信号45を送出し、読み出し(又は書き込み)終了時にバス要求信号45の送出を停止することにより、各ライトデータ41の読み出し(又は書き込み)毎にバス権を獲得するようにしてもよい。   Note that the control unit 210 may continuously send out the bus request signal 45 from the start of the read process (or write process) of the transfer target data until it is completed, and occupy the bus right of the internal bus 40. The bus request signal 45 is transmitted at the start of reading (or writing) of each write data 41, and the transmission of the bus request signal 45 is stopped at the end of reading (or writing), thereby reading (or writing) each write data 41. You may make it acquire a bus right every time.

制御部210は、例えば、I/O読み出し転送モード(又はI/O書き込み転送モード)の設定(シングル転送モード又は連続転送モード)に応じてバス権を占有するか否かを決定するようにしてもよいし、読み出し処理(又は書き込み処理)においてバス権を占有するか否かの選択ビットを制御レジスタ208に設け、当該選択ビットの設定値に応じてバス権を占有するか否かを決定するようにしてもよい。   For example, the control unit 210 determines whether to occupy the bus right according to the setting (single transfer mode or continuous transfer mode) of the I / O read transfer mode (or I / O write transfer mode). Alternatively, in the read process (or write process), a selection bit for determining whether to occupy the bus right is provided in the control register 208, and it is determined whether to occupy the bus right according to the set value of the selection bit. You may do it.

[I/Oコントローラー]
図3は、第1実施形態におけるI/Oコントローラーの構成について説明するための図である。
[I / O controller]
FIG. 3 is a diagram for explaining the configuration of the I / O controller according to the first embodiment.

I/Oコントローラー30は、レジスタ部300、DMA制御部310、FIFO320、バススレーブインターフェース部330及びI/Oインターフェース部340を含んで構成されている。   The I / O controller 30 includes a register unit 300, a DMA control unit 310, a FIFO 320, a bus slave interface unit 330, and an I / O interface unit 340.

レジスタ部300には、DMA転送を制御するためのDMA制御レジスタ302及び外部デバイス100に対するデータ転送を制御するためのI/O制御レジスタ304等が備えられており、CPU10により設定される。   The register unit 300 includes a DMA control register 302 for controlling DMA transfer, an I / O control register 304 for controlling data transfer to the external device 100, and the like, which are set by the CPU 10.

I/Oインターフェース部340は、I/O制御レジスタ304の設定値に従い、I/O100の種類に応じたデータ転送フォーマットで、外部デバイス100とデータ転送を行う。すなわち、I/Oインターフェース部340は、外部デバイス100から受け取ったデータをFIFO320に格納し、又は、FIFO320に格納されたデータを外部デバイス100に送出する処理を行う。FIFO320は、例えば、RAM(Random Access Memory)の所定の領域やシフトレジスタを用いて構成することができ、本発明におけるI/Oバッファとして機能する。   The I / O interface unit 340 performs data transfer with the external device 100 in a data transfer format corresponding to the type of the I / O 100 according to the set value of the I / O control register 304. That is, the I / O interface unit 340 stores the data received from the external device 100 in the FIFO 320 or performs processing for sending the data stored in the FIFO 320 to the external device 100. The FIFO 320 can be configured using a predetermined area of RAM (Random Access Memory) or a shift register, for example, and functions as an I / O buffer in the present invention.

I/Oインターフェース部340は、外部デバイス100(SDメモリーカード、CFメモリーカード、USBデバイス、PC等)の種類に応じて既知のインターフェース回路により実現することができる。   The I / O interface unit 340 can be realized by a known interface circuit according to the type of the external device 100 (SD memory card, CF memory card, USB device, PC, etc.).

また、DMA制御レジスタ302の設定値により、DMA転送モードの選択(シングル転送モード又は連続転送モード)が行えるようになっており、制御部310は転送モード信号312によりDMA転送モードを認識することができる。   The DMA transfer mode can be selected (single transfer mode or continuous transfer mode) according to the set value of the DMA control register 302, and the control unit 310 can recognize the DMA transfer mode by the transfer mode signal 312. it can.

また、DMA制御レジスタ302の設定値により、DMA転送開始の条件となるFIFO320の空き領域のサイズやFIFO320に格納されているデータサイズの閾値の指定が行えるようになっている。CPU10は、転送対象のデータサイズに対応させてこの閾値を設定する。   The setting value of the DMA control register 302 can specify the size of the empty area of the FIFO 320 that is a condition for starting DMA transfer and the threshold value of the data size stored in the FIFO 320. The CPU 10 sets this threshold value corresponding to the data size to be transferred.

さらに、DMA制御レジスタ302にはDMA転送開始を指示するためのビットが設けられており、CPU10によりDMA転送開始が指示されると、DMA制御部310は、バススレーブインターフェース部330を介してアドレス信号43を受け取り、アドレス信号43がFIFO320のアドレスであるか確認する(FIFO320が複数ある場合は、どのFIFOのアドレスであるかを特定する)。また、DMA制御部310は、バススレーブインターフェース部330を介してライト信号44を受け取り、I/Oコントローラー30が転送元リソースになるのか転送先リソースになるのかを判断する。   Further, the DMA control register 302 is provided with a bit for instructing the start of DMA transfer. When the CPU 10 instructs to start DMA transfer, the DMA control unit 310 sends an address signal via the bus slave interface unit 330. 43 and confirms whether the address signal 43 is the address of the FIFO 320 (if there are a plurality of FIFOs 320, which FIFO address is specified). The DMA control unit 310 receives the write signal 44 via the bus slave interface unit 330 and determines whether the I / O controller 30 is a transfer source resource or a transfer destination resource.

I/Oコントローラー30が転送元リソースになる場合、DMA制御部310は、FIFO320に格納されているデータサイズが閾値以上であるか否かを判断し、閾値以上であればすぐに、閾値よりも小さければ閾値以上になるまで待ってから、DMAコントローラー20に対してDMAリクエスト信号32を送出する。   When the I / O controller 30 becomes a transfer source resource, the DMA control unit 310 determines whether or not the data size stored in the FIFO 320 is equal to or larger than the threshold value. If it is smaller, the DMA request signal 32 is sent to the DMA controller 20 after waiting until the threshold is exceeded.

前述したように、DMAコントローラー20はDMAリクエスト信号32を受け取るとDMAアクノリッジ信号22を送出するので、DMA制御部310は、DMAアクノリッジ信号22を受け取ると、FIFO320に格納されているデータを読み出してリードデータ42にセットし、バススレーブインターフェース部330を介して内部バス40に送出する。   As described above, when the DMA controller 20 receives the DMA request signal 32, it sends the DMA acknowledge signal 22. Therefore, when the DMA controller 310 receives the DMA acknowledge signal 22, the DMA controller 310 reads and reads the data stored in the FIFO 320. Data 42 is set and sent to the internal bus 40 via the bus slave interface unit 330.

DMA転送モードがシングル転送モードに設定されていれば、制御部310は、最初にDMAリクエスト信号を送出した後、DMAアクノリッジ信号22を受け取る毎に、1つのデータ(単位サイズのデータ)をFIFO320から読み出してリードデータ42にセットするとともにDMAコントローラー20に対して次のDMAリクエスト信号32を送出する処理を繰り返す。   If the DMA transfer mode is set to the single transfer mode, the control unit 310 first transmits a DMA request signal and then receives one data (unit size data) from the FIFO 320 every time the DMA acknowledge signal 22 is received. The process of reading and setting to the read data 42 and sending the next DMA request signal 32 to the DMA controller 20 is repeated.

DMA転送モードが連続転送モードに設定されていれば、制御部310は、最初にDMAリクエスト信号32を送出した後、連続転送サイズ分のデータ(単位サイズのデータ)をFIFO320から連続して読み出してリードデータ42にセットする処理を行う。   If the DMA transfer mode is set to the continuous transfer mode, the control unit 310 first transmits the DMA request signal 32, and then continuously reads data for the continuous transfer size (unit size data) from the FIFO 320. Processing to set the read data 42 is performed.

一方、I/Oコントローラー30が転送先リソースになる場合、DMA制御部310は、FIFO320の空き領域のサイズが閾値以上であるか否かを判断し、閾値以上であればすぐに、閾値よりも小さければ閾値以上になるまで待ってから、DMAコントローラー20に対してDMAリクエスト信号32を送出する。   On the other hand, when the I / O controller 30 becomes a transfer destination resource, the DMA control unit 310 determines whether the size of the free area of the FIFO 320 is equal to or larger than the threshold value. If it is smaller, the DMA request signal 32 is sent to the DMA controller 20 after waiting until the threshold is exceeded.

前述したように、DMAコントローラー20はDMAリクエスト信号32を受け取るとライトデータ41とともにDMAアクノリッジ信号22を送出するので、DMA制御部310は、DMAアクノリッジ信号22を受け取ると、バススレーブインターフェース部330を介してライトデータ41をFIFO320に書き込む。   As described above, when the DMA controller 20 receives the DMA request signal 32, it sends the DMA acknowledge signal 22 together with the write data 41. Therefore, when the DMA controller 310 receives the DMA acknowledge signal 22, the DMA controller 310 passes through the bus slave interface unit 330. Write data 41 to the FIFO 320.

DMA転送モードがシングル転送モードに設定されていれば、制御部310は、DMAアクノリッジ信号22を受け取る毎に、1つのライトデータ41(単位サイズのデータ)をFIFO320に書き込むとともにDMAコントローラー20に対して次のDMAリクエスト信号32を送出する処理を繰り返す。   If the DMA transfer mode is set to the single transfer mode, the control unit 310 writes one write data 41 (unit size data) to the FIFO 320 and receives data from the DMA controller 20 every time the DMA acknowledge signal 22 is received. The process of sending the next DMA request signal 32 is repeated.

DMA転送モードが連続転送モードに設定されていれば、制御部310は、DMAアクノリッジ信号22とともに連続転送サイズ分のライトデータ41(単位サイズのデータ)を連続して受け取り、FIFO320に書き込む処理を行う。   If the DMA transfer mode is set to the continuous transfer mode, the control unit 310 continuously receives the write data 41 (unit size data) corresponding to the continuous transfer size together with the DMA acknowledge signal 22 and writes the write data 41 into the FIFO 320. .

[タイミングチャート]
図4〜図9に、第1実施形態の情報処理装置におけるデータ転送のタイミングチャートの一例を示す。
[Timing chart]
4 to 9 show examples of timing charts for data transfer in the information processing apparatus according to the first embodiment.

図4〜図6は、転送元リソース及び転送先リソースがそれぞれ外部メモリー110及びI/Oコントローラー30であり、32バイト(32ビット(4バイト)×8)のデータを転送する場合のタイミングチャートである(転送元リソースは内部メモリー12であってもよい)。図4〜図6において、時刻T以前に、転送元アドレスレジスタ202には転送対象の最初のデータが記憶されている外部メモリー110のアドレスRA0が設定されている。また、転送先アドレスレジスタ204にはI/Oコントローラー30のFIFO320のアドレスWA0が設定されている。また、転送サイズカウンタ206には転送対象のデータサイズである32バイトが設定されている。また、単位サイズは32ビット(4バイト)である。 4 to 6 are timing charts when the transfer source resource and the transfer destination resource are the external memory 110 and the I / O controller 30, respectively, and 32 bytes (32 bits (4 bytes) × 8) of data are transferred. Yes (the transfer source resource may be the internal memory 12). 4 to 6, before the time T 0 , the address RA 0 of the external memory 110 in which the first data to be transferred is stored is set in the transfer source address register 202. The transfer destination address register 204 is set with the address WA0 of the FIFO 320 of the I / O controller 30. The transfer size counter 206 is set with 32 bytes, which is the data size to be transferred. The unit size is 32 bits (4 bytes).

図4は、I/Oコントローラー30からの1回の転送要求に対して、DMAコントローラー20が単位サイズのデータを転送する場合のタイミングチャートの一例を示す図である。すなわち、DMAコントローラー20の制御レジスタ208においてI/O書き込み転送モードがシングル転送モードに設定されている。また、I/Oコントローラー30のDMA制御レジスタ302においてDMA転送モードがシングル転送モードに設定されている。以下、図4のタイミングチャートについて説明する。   FIG. 4 is a diagram illustrating an example of a timing chart when the DMA controller 20 transfers unit size data in response to a single transfer request from the I / O controller 30. That is, the I / O write transfer mode is set to the single transfer mode in the control register 208 of the DMA controller 20. Also, the DMA transfer mode is set to the single transfer mode in the DMA control register 302 of the I / O controller 30. Hereinafter, the timing chart of FIG. 4 will be described.

時刻Tにおいて、CPU10が制御レジスタ208の設定を転送禁止から転送許可に変更することによりDMAイネーブル信号212(DE)がアクティブになると、DMAコントローラー20はレジスタ部200の各レジスタの設定値に従い、外部メモリー110からI/Oコントローラー30のFIFO320へのデータ転送処理を開始する。 When the DMA enable signal 212 (DE) becomes active when the CPU 10 changes the setting of the control register 208 from the transfer prohibition to the transfer permission at the time T 0 , the DMA controller 20 follows the setting values of the registers of the register unit 200. Data transfer processing from the external memory 110 to the FIFO 320 of the I / O controller 30 is started.

時刻Tにおいて、DMAコントローラー20は、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出し、内部バス40が未使用の状態であれば内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得し、外部メモリー110から転送対象データの読み出しを開始する。 At time T 1, DMA controller 20 sends a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter), the internal bus 40 from the internal bus 40 if unused state (bus arbiter) The bus authorization signal 46 (HGRANT) is received to acquire the bus right, and reading of the transfer target data from the external memory 110 is started.

時刻T〜Tにおいて、DMAコントローラー20は、外部メモリーから転送対象データをバーストリードするためにバス要求信号45(HBUSREQ)を送出し続けてバス権を占有する。 At times T 1 to T 3 , the DMA controller 20 occupies the bus right by continuously sending the bus request signal 45 (HBUSREQ) to burst-read the transfer target data from the external memory.

転送元アドレスレジスタ202には転送対象の最初のデータが記憶されている外部メモリー110のアドレスRA0が設定されているので、DMAコントローラー20は、時刻T〜Tにおいて、アドレスRA0から順にインクリメントしながらアドレスRA0〜RA7をアドレス信号43(HADDR[31:0])として内部バス40に送出する。 Since the transfer source address register 202 addresses RA0 external memory 110 the first data to be transferred is stored is set, DMA controller 20 at time T 1 through T 4, is incremented from address RA0 sequentially The addresses RA0 to RA7 are sent to the internal bus 40 as the address signal 43 (HADDR [31: 0]).

外部メモリー110のアドレスRA0〜RA7には転送対象の32バイト(32ビット(4バイト)×8)分のデータD0〜D7が記憶されており、時刻T〜Tにおいて、データD0〜D7が外部メモリーコントローラー14を介してリードデータ42(HRDATA[31:0])として内部バス40に読み出され、DMAコントローラー20は、データD0〜D7を順にFIFO220に格納する。 Outside the memory 110 of the address RA0~RA7 are stored is 32 bytes (32 bits (4 bytes) × 8) of data D0~D7 to be transferred, at time T 2 through T 4, data D0~D7 is The read data 42 (HRDATA [31: 0]) is read to the internal bus 40 via the external memory controller 14, and the DMA controller 20 stores the data D0 to D7 in the FIFO 220 in order.

I/Oコントローラー30は、時刻Tにおいて、FIFO320の空き領域のサイズがDMA制御レジスタ302に設定されている閾値(例えば、32バイト)以上になったため、DMAコントローラー20にDMAリクエスト信号32(DREQ)を送出する。 At time T 4 , the I / O controller 30 sends the DMA request signal 32 (DREQ) to the DMA controller 20 because the size of the empty area of the FIFO 320 becomes equal to or larger than the threshold (for example, 32 bytes) set in the DMA control register 302. ).

DMAコントローラー20は、DMAリクエスト信号32(DREQ)を受け取ると、FIFO320に格納された先頭データD0をI/Oコントローラー30のFIFO320に転送するために、時刻T〜Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出する。 DMA controller 20 receives a DMA request signal 32 (DREQ), to transfer the first data D0 stored in FIFO320 in FIFO320 the I / O controller 30, at time T 5 through T 6, an internal bus 40 ( A bus request signal 45 (HBUSREQ) is sent to the bus arbiter.

転送先アドレスレジスタ204にはFIFO320のアドレスWA0が設定されているので、DMAコントローラー20は、アドレスWA0をアドレス信号43(HADDR[31:0])として内部バス40に送出する。   Since the address WA0 of the FIFO 320 is set in the transfer destination address register 204, the DMA controller 20 sends the address WA0 to the internal bus 40 as the address signal 43 (HADDR [31: 0]).

DMAコントローラー20は、時刻T〜Tにおいて、内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得すると、時刻T〜Tにおいて、ライト信号44(HWRITE)を書き込み方向(ハイレベル)にして内部バス40に送出する。 When the DMA controller 20 receives the bus authorization signal 46 (HGRANT) from the internal bus 40 (bus arbiter) at time T 5 to T 6 and acquires the bus right, the write signal 44 (HWRITE) is obtained at time T 6 to T 7 . ) In the writing direction (high level) and sent to the internal bus 40.

I/Oコントローラー30は、時刻T〜Tにおいて、ライト信号44(HWRITE)が書き込み方向(ハイレベル)であることを認識し、FIFO320に対する書き込みの準備をする。 The I / O controller 30 recognizes that the write signal 44 (HWRITE) is in the writing direction (high level) at time T 5 to T 6 and prepares for writing to the FIFO 320.

時刻T〜Tにおいて、DMAコントローラー20は、DMAアクノリッジ信号22(DACK)をI/Oコントローラー30に送出するとともに、データD0をFIFO220から読み出してライトデータ41(HWDATA[31:0])として内部バス40に送出し、I/Oコントローラー30は、データD0をFIFO320に格納する。 At times T 7 to T 8 , the DMA controller 20 sends a DMA acknowledge signal 22 (DACK) to the I / O controller 30 and reads the data D0 from the FIFO 220 as write data 41 (HWDATA [31: 0]). The data is sent to the internal bus 40, and the I / O controller 30 stores the data D 0 in the FIFO 320.

DMA制御レジスタ302においてDMA転送モードがシングル転送モードに設定されているので、I/Oコントローラー30は、時刻Tにおいて、DMAコントローラー20に次のDMAリクエスト信号32(DREQ)を送出する。 Since the DMA transfer mode is set to single transfer mode in the DMA control register 302, I / O controller 30, at time T 8, and sends the next DMA request signal 32 (DREQ) to the DMA controller 20.

DMAコントローラー20は、DMAリクエスト信号32(DREQ)を受け取ると、時刻T〜T10において、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出し、内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得し、FIFO220に格納された次のデータD1をI/Oコントローラー30のFIFO320に転送する処理を開始する。 Upon receiving the DMA request signal 32 (DREQ), the DMA controller 20 sends a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter) at times T 9 to T 10 , and the internal bus 40 (bus The bus grant signal 46 (HGRANT) is received from the arbiter), the bus right is acquired, and the process of transferring the next data D1 stored in the FIFO 220 to the FIFO 320 of the I / O controller 30 is started.

時刻T10〜T11において、DMAコントローラー20は、ライト信号44(HWRITE)を書き込み方向(ハイレベル)にして内部バス40に送出する。 From time T 10 to T 11 , the DMA controller 20 sends the write signal 44 (HWRITE) to the internal bus 40 in the writing direction (high level).

時刻T11〜T12において、DMAコントローラー20は、DMAアクノリッジ信号22(DACK)をI/Oコントローラー30に送出するとともに、データD1をFIFO220から読み出してライトデータ41(HWDATA[31:0])として内部バス40に送出し、I/Oコントローラー30は、データD1をFIFO320に格納する。 At times T 11 to T 12 , the DMA controller 20 sends a DMA acknowledge signal 22 (DACK) to the I / O controller 30 and reads the data D1 from the FIFO 220 as write data 41 (HWDATA [31: 0]). The data is sent to the internal bus 40, and the I / O controller 30 stores the data D1 in the FIFO 320.

以下、同様に、時刻T12〜T13において、データD2〜D7がDMAコントローラー20のFIFO220からI/Oコントローラー30のFIFO320に転送される。 Similarly, at times T 12 to T 13 , data D 2 to D 7 are transferred from the FIFO 220 of the DMA controller 20 to the FIFO 320 of the I / O controller 30.

時刻T13〜T14において、DMAコントローラー20はDMA終了割り込み信号24(DMAINT)を発生させ、CPU10は転送処理が終了したことを認識することができる。また、転送処理が終了すると、制御レジスタ208の設定が転送許可から転送禁止に自動的に変更され、時刻T14において、DMAイネーブル信号212(DE)が非アクティブになりDMAコントローラー20が停止する。 At times T 13 to T 14 , the DMA controller 20 generates a DMA end interrupt signal 24 (DMAINT), and the CPU 10 can recognize that the transfer process has ended. Moreover, the transfer processing is completed, setting of the control register 208 is automatically changed to a transfer prohibited from transfer permission, at time T 14, DMA enable signal 212 (DE) is DMA controller 20 deactivates stops.

このように、図4のケースでは、制御レジスタ208においてI/O書き込み転送モードがシングル転送モードに設定されているので、DMAコントローラー20は、D0〜D7の各データを転送する毎にDMAアクノリッジ信号22(DACK)をI/Oコントローラー30に送出し、I/Oコントローラー30は、DMAアクノリッジ信号22(DACK)を受ける毎に次のDMAリクエスト信号32(DREQ)をDMAコントローラー20に送出している。すなわち、DMAコントローラー20とI/Oコントローラー30は32ビット(4バイト)のデータ転送毎にハンドシェイク処理をしているので、32バイト分のデータ転送に時間がかかる。   As described above, in the case of FIG. 4, since the I / O write transfer mode is set to the single transfer mode in the control register 208, the DMA controller 20 transfers the DMA acknowledge signal every time data of D0 to D7 is transferred. 22 (DACK) is sent to the I / O controller 30, and the I / O controller 30 sends the next DMA request signal 32 (DREQ) to the DMA controller 20 every time the DMA acknowledge signal 22 (DACK) is received. . That is, since the DMA controller 20 and the I / O controller 30 perform handshake processing for every 32 bits (4 bytes) of data transfer, it takes time to transfer data of 32 bytes.

図5は、I/Oコントローラー30からの1回の転送要求に対して、DMAコントローラー20がバス権を占有せずに単位サイズのデータを複数個連続して転送する場合のタイミングチャートの一例を示す図である。すなわち、DMAコントローラー20の制御レジスタ208においてI/O書き込み転送モードが連続転送モードに設定されている。また、I/Oコントローラー30のDMA制御レジスタ302においてDMA転送モードが連続転送モードに設定されている。以下、図5のタイミングチャートについて説明する。   FIG. 5 shows an example of a timing chart when the DMA controller 20 continuously transfers a plurality of unit size data without occupying the bus right in response to a single transfer request from the I / O controller 30. FIG. That is, the I / O write transfer mode is set to the continuous transfer mode in the control register 208 of the DMA controller 20. Further, the DMA transfer mode is set to the continuous transfer mode in the DMA control register 302 of the I / O controller 30. Hereinafter, the timing chart of FIG. 5 will be described.

時刻T〜Tにおける外部メモリー110から転送対象データを読み出す処理については、図4と同じであるため、その説明を省略する。 The process of reading the transfer target data from the external memory 110 at times T 0 to T 4 is the same as that in FIG.

I/Oコントローラー30は、時刻Tにおいて、DMAコントローラー20にDMAリクエスト信号32(DREQ)を送出し、DMAコントローラー20は、DMAリクエスト信号32(DREQ)を受け取ると、FIFO320に格納された先頭データD0をI/Oコントローラー30のFIFO320に転送するために、時刻T〜Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出する。 At time T 4 , the I / O controller 30 sends a DMA request signal 32 (DREQ) to the DMA controller 20. When the DMA controller 20 receives the DMA request signal 32 (DREQ), the head data stored in the FIFO 320 is transmitted. the D0 for transfer to FIFO320 the I / O controller 30, at time T 5 through T 6, sends a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter).

転送先アドレスレジスタ204にはFIFO320のアドレスWA0が設定されているので、DMAコントローラー20は、アドレスWA0をアドレス信号43(HADDR[31:0])として内部バス40に送出し、時刻Tにおいて、ライト信号44(HWRITE)を書き込み方向(ハイレベル)にして内部バス40に送出する。 Since the addresses are set WA0 of FIFO320 the transfer destination address register 204, DMA controller 20, the address signal 43 to the address WA0 (HADDR [31: 0] ) is sent to the internal bus 40 as at time T 5, A write signal 44 (HWRITE) is sent to the internal bus 40 in the writing direction (high level).

時刻T〜Tにおいて、DMAコントローラー20は、内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得し、I/Oコントローラー30は、ライト信号44(HWRITE)が書き込み方向(ハイレベル)であることを認識し、FIFO320に対する書き込みの準備をする。 At times T 5 to T 6 , the DMA controller 20 receives the bus grant signal 46 (HGRANT) from the internal bus 40 (bus arbiter) and acquires the bus right, and the I / O controller 30 receives the write signal 44 (HWRITE). Is in the writing direction (high level), and prepares for writing to the FIFO 320.

時刻T〜Tにおいて、DMAコントローラー20は、データD0をFIFO220から読み出してライトデータ41(HWDATA[31:0])として内部バス40に送出し、I/Oコントローラー30は、データD0をFIFO320に格納する。 At times T 7 to T 8 , the DMA controller 20 reads the data D0 from the FIFO 220 and sends it as write data 41 (HWDATA [31: 0]) to the internal bus 40. The I / O controller 30 sends the data D0 to the FIFO 320. To store.

DMA制御レジスタ302においてDMA転送モードが連続転送モードに設定されているので、DMAコントローラー20は、FIFO220に格納された次のデータD1をI/Oコントローラー30のFIFO320に転送するために、時刻T〜Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出する。 Since the DMA transfer mode is set to the continuous transfer mode in the DMA control register 302, the DMA controller 20 transfers the next data D1 stored in the FIFO 220 to the FIFO 320 of the I / O controller 30 at time T 7. in through T 8, it sends a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter).

時刻T〜Tにおいて、DMAコントローラー20は内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得して次のデータD1をライトデータ41(HWDATA[31:0])として内部バス40に送出し、I/Oコントローラー30はデータD1をFIFO320に格納する。 At times T 8 to T 9 , the DMA controller 20 receives the bus grant signal 46 (HGRANT) from the internal bus 40 (bus arbiter), acquires the bus right, and writes the next data D1 to the write data 41 (HWDATA [31: 0]. ] To the internal bus 40, and the I / O controller 30 stores the data D1 in the FIFO 320.

以下、同様に、時刻T〜T10において、データD2〜D7がDMAコントローラー20のFIFO220からI/Oコントローラー30のFIFO320に転送される。 Similarly, at times T 9 to T 10 , data D 2 to D 7 are transferred from the FIFO 220 of the DMA controller 20 to the FIFO 320 of the I / O controller 30.

時刻T11〜T12の処理は、図4における時刻T13〜T14の処理と同じであるため説明を省略する。 The processing at times T 11 to T 12 is the same as the processing at times T 13 to T 14 in FIG.

このように、図5のケースでは、制御レジスタ208においてI/O書き込み転送モードが連続転送モードに設定され、かつ、連続転送サイズが32バイトであるので、DMAコントローラー20は、時刻T〜TにおいてDMAリクエスト信号32(DREQ)を1回受け取ると、時刻T〜T11においてD0〜D7の32バイト分のデータを連続して転送している。また、DMA制御レジスタ302においてDMA転送モードが連続転送モードに設定されているので、I/Oコントローラー30は、DMAアクノリッジ信号22(DACK)を確認せずにD0〜D7の32バイト分のデータを順にFIFO320に書き込むことができる。すなわち、DMAコントローラー20とI/Oコントローラー30は32ビット(4バイト)のデータ転送毎にハンドシェイク処理をする必要がないので、図4のケースと比較して32バイト分のデータ転送にかかる時間を短縮することができる。 In this way, in the case of FIG. 5, since the I / O write transfer mode is set to the continuous transfer mode in the control register 208 and the continuous transfer size is 32 bytes, the DMA controller 20 performs the time T 4 to T Upon receiving once DMA request signal 32 (DREQ) at 5, and transferred at time T 7 through T 11 to 32 bytes of data D0~D7 continuously. In addition, since the DMA transfer mode is set to the continuous transfer mode in the DMA control register 302, the I / O controller 30 does not confirm the DMA acknowledge signal 22 (DACK), but the data of 32 bytes of D0 to D7. The FIFO 320 can be written in order. That is, the DMA controller 20 and the I / O controller 30 do not need to perform handshake processing for every 32 bits (4 bytes) of data transfer. Therefore, the time required to transfer 32 bytes of data compared to the case of FIG. Can be shortened.

図6は、I/Oコントローラー30からの1回の転送要求に対して、DMAコントローラー20がバス権を占有して単位サイズのデータを複数個連続して転送する場合のタイミングチャートの一例を示す図である。すなわち、DMAコントローラー20の制御レジスタ208においてI/O書き込み転送モードが連続転送モードに設定され、I/Oコントローラー30のDMA制御レジスタ302においてDMA転送モードが連続転送モードに設定されている。以下、図6のタイミングチャートについて説明する。   FIG. 6 shows an example of a timing chart when the DMA controller 20 occupies the bus right and transfers a plurality of unit size data continuously in response to a single transfer request from the I / O controller 30. FIG. That is, the I / O write transfer mode is set to the continuous transfer mode in the control register 208 of the DMA controller 20, and the DMA transfer mode is set to the continuous transfer mode in the DMA control register 302 of the I / O controller 30. Hereinafter, the timing chart of FIG. 6 will be described.

時刻T〜Tにおける外部メモリー110から転送対象データを読み出す処理については、図4と同じであるため、その説明を省略する。 The process of reading the transfer target data from the external memory 110 at times T 0 to T 4 is the same as that in FIG.

時刻Tにおいて、I/Oコントローラー30は、DMAコントローラー20にDMAリクエスト信号32(DREQ)を送出し、DMAコントローラー20は、DMAリクエスト信号32(DREQ)を受け取り、時刻Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出する。 At time T 4, I / O controller 30 sends a DMA request signal 32 (DREQ) to the DMA controller 20, DMA controller 20 receives a DMA request signal 32 (DREQ), at time T 5, the internal bus 40 A bus request signal 45 (HBUSREQ) is sent to (bus arbiter).

DMAコントローラー20は、時刻Tにおいて、内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得すると、時刻T〜Tにおいて、バス要求信号45(HBUSREQ)を送出し続けてバス権を占有する。 DMA controller 20 at time T 5, and get the bus from the internal bus 40 (bus arbiter) receives a bus grant signal 46 (HGRANT), at time T 2 through T 7, the bus request signal 45 (HBUSREQ) Continue sending and occupy the bus right.

そして、時刻T〜Tにおいて、DMAコントローラー20はデータD0〜D7をFIFO220から連続して読み出してライトデータ41(HWDATA[31:0])として内部バス40に送出し、I/Oコントローラー30はデータD0〜D7をFIFO320に格納する。 At times T 6 to T 8 , the DMA controller 20 continuously reads the data D 0 to D 7 from the FIFO 220 and sends them to the internal bus 40 as write data 41 (HWDATA [31: 0]). Stores the data D0 to D7 in the FIFO 320.

時刻T〜Tの処理は、図4における時刻T13〜T14の処理と同じであるため説明を省略する。 Processing time T 8 through T 9 is omitted because it is same as the processing time T 13 through T 14 in Figure 4.

このように、図6のケースでは、DMAコントローラー20がバス権を占有して32バイト分の転送対象データをI/Oコントローラー30へ連続して転送するので、図5のケースよりもさらに転送時間を短縮することができる。   As described above, in the case of FIG. 6, the DMA controller 20 occupies the bus right and transfers the transfer target data for 32 bytes to the I / O controller 30 continuously. Can be shortened.

図7〜図9は、転送元リソース及び転送先リソースがそれぞれI/Oコントローラー30及び外部メモリー110あり、32バイト(32ビット(4バイト)×8)のデータを転送する場合のタイミングチャートである(転送先リソースは内部メモリー12であってもよい)。図7〜図9において、時刻T以前に、転送元アドレスレジスタ202にはI/Oコントローラー30のFIFO320のアドレスRA0が設定されている。また、転送先アドレスレジスタ204には転送対象の最初のデータが記憶される外部メモリー110のアドレスWA0が設定されている。また、転送サイズカウンタ206には転送対象のデータサイズである32バイトが設定されている。また、単位サイズは32ビット(4バイト)である。 7 to 9 are timing charts in the case where the transfer source resource and the transfer destination resource are the I / O controller 30 and the external memory 110, respectively, and 32 bytes (32 bits (4 bytes) × 8) of data are transferred. (The transfer destination resource may be the internal memory 12). In Figure 7-9, the time T 0 previously, addresses RA0 of FIFO320 the I / O controller 30 is set in the transfer source address register 202. The transfer destination address register 204 is set with the address WA0 of the external memory 110 in which the first data to be transferred is stored. The transfer size counter 206 is set with 32 bytes, which is the data size to be transferred. The unit size is 32 bits (4 bytes).

図7は、I/Oコントローラー30からの1回の転送要求に対して、DMAコントローラー20が単位サイズのデータを転送する場合のタイミングチャートの一例を示す図である。すなわち、DMAコントローラー20の制御レジスタ208においてI/O読み出し転送モードがシングル転送モードに設定されている。また、I/Oコントローラー30のDMA制御レジスタ302においてDMA転送モードがシングル転送モードに設定されている。以下、図7のタイミングチャートについて説明する。   FIG. 7 is a diagram illustrating an example of a timing chart when the DMA controller 20 transfers unit size data in response to a single transfer request from the I / O controller 30. That is, the I / O read transfer mode is set to the single transfer mode in the control register 208 of the DMA controller 20. Also, the DMA transfer mode is set to the single transfer mode in the DMA control register 302 of the I / O controller 30. Hereinafter, the timing chart of FIG. 7 will be described.

時刻Tにおいて、CPU10が制御レジスタ208の設定を転送禁止から転送許可に変更することによりDMAイネーブル信号212(DE)がアクティブになると、DMAコントローラー20は、I/Oコントローラー30からDMAリクエスト信号32(DREQ)を受け取るまで待機する。 When the DMA enable signal 212 (DE) becomes active when the CPU 10 changes the setting of the control register 208 from transfer prohibition to transfer permission at time T 0 , the DMA controller 20 receives the DMA request signal 32 from the I / O controller 30. Wait until (DREQ) is received.

I/Oコントローラー30は、時刻Tにおいて、FIFO320に格納されているデータサイズがDMA制御レジスタ302に設定されている閾値(例えば、32バイト)以上になったため、DMAコントローラー20にDMAリクエスト信号32(DREQ)を送出する。 Since the data size stored in the FIFO 320 becomes equal to or larger than the threshold (for example, 32 bytes) set in the DMA control register 302 at the time T 1 , the I / O controller 30 sends a DMA request signal 32 to the DMA controller 20. (DREQ) is sent out.

DMAコントローラー20は、DMAリクエスト信号32(DREQ)を受け取り、時刻T〜Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出する。 The DMA controller 20 receives the DMA request signal 32 (DREQ), and transmits a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter) at times T 2 to T 3 .

転送元アドレスレジスタ202にはFIFO320のアドレスRA0が設定されているので、DMAコントローラー20は、アドレスRA0をアドレス信号43(HADDR[31:0])として内部バス40に送出する。   Since the address RA0 of the FIFO 320 is set in the transfer source address register 202, the DMA controller 20 sends the address RA0 to the internal bus 40 as the address signal 43 (HADDR [31: 0]).

DMAコントローラー20は、内部バス40が未使用の状態であれば、時刻T〜Tにおいて、内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得し、I/Oコントローラー30のFIFO320から転送対象データの読み出しを開始する。 If the internal bus 40 is in an unused state, the DMA controller 20 receives the bus grant signal 46 (HGRANT) from the internal bus 40 (bus arbiter) and acquires the bus right at times T 2 to T 3 . The reading of the transfer target data from the FIFO 320 of the / O controller 30 is started.

時刻T〜Tにおいて、DMAコントローラー20がDMAアクノリッジ信号22(DACK)をI/Oコントローラー30に送出すると、I/Oコントローラー30はDMAアクノリッジ信号22(DACK)を受け取り、ライト信号44(HWRITE)が読み出し方向(ハイレベル)であることを認識し、FIFO320から最初のデータD0を読み出してリードデータ42(HRDATA[31:0])として内部バス40に送出し、DMAコントローラー20は、データD0をFIFO220に格納する。 When the DMA controller 20 sends a DMA acknowledge signal 22 (DACK) to the I / O controller 30 at times T 4 to T 5 , the I / O controller 30 receives the DMA acknowledge signal 22 (DACK) and receives a write signal 44 (HWRITE). ) Is in the reading direction (high level), the first data D0 is read from the FIFO 320 and sent to the internal bus 40 as read data 42 (HRDATA [31: 0]), and the DMA controller 20 receives the data D0. Is stored in the FIFO 220.

DMA制御レジスタ302においてDMA転送モードがシングル転送モードに設定されているので、I/Oコントローラー30は、時刻Tにおいて、DMAコントローラー20に次のDMAリクエスト信号32(DREQ)を送出する。 Since the DMA transfer mode is set to single transfer mode in the DMA control register 302, I / O controller 30 at time T 5, and sends the next DMA request signal 32 (DREQ) to the DMA controller 20.

DMAコントローラー20は、DMAリクエスト信号32(DREQ)を受け取ると、時刻T〜Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出し、内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得し、FIFO320に格納された次のデータD1をFIFO220に読み出す処理を開始する。 Upon receiving the DMA request signal 32 (DREQ), the DMA controller 20 sends a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter) at times T 6 to T 7 , and the internal bus 40 (bus The bus grant signal 46 (HGRANT) is received from the arbiter), the bus right is acquired, and the process of reading the next data D1 stored in the FIFO 320 into the FIFO 220 is started.

DMAコントローラー20が時刻T〜TにおいてDMAアクノリッジ信号22(DACK)をI/Oコントローラー30に送出すると、I/Oコントローラー30はDMAアクノリッジ信号22(DACK)を受け取り、FIFO320から次のデータD0を読み出してリードデータ42(HRDATA[31:0])として内部バス40に送出する。 When the DMA controller 20 sends a DMA acknowledge signal 22 (DACK) to the I / O controller 30 at times T 8 to T 9 , the I / O controller 30 receives the DMA acknowledge signal 22 (DACK) and receives the next data D 0 from the FIFO 320. Is read out as read data 42 (HRDATA [31: 0]) to the internal bus 40.

DMAコントローラー20は、データD1をFIFO220に格納する。   The DMA controller 20 stores the data D1 in the FIFO 220.

以下、同様に、時刻T〜T10において、データD2〜D7がI/Oコントローラー30のFIFO320からDMAコントローラー20のFIFO220に転送される。 Similarly, at times T 9 to T 10 , data D 2 to D 7 are transferred from the FIFO 320 of the I / O controller 30 to the FIFO 220 of the DMA controller 20.

転送先アドレスレジスタ204には外部メモリー110のアドレスWA0が設定されているので、DMAコントローラー20は、時刻T11においてアドレスWA0をアドレス信号43(HADDR[31:0])として内部バス40に送出するとともにライト信号44(HWRITE)を書き込み方向(ハイレベル)にして内部バス40に送出する。 Since the transfer destination address register 204 are set address WA0 external memory 110, DMA controller 20, the address signal 43 to the address WA0 at time T 11 (HADDR [31: 0 ]) is sent to the internal bus 40 as At the same time, the write signal 44 (HWRITE) is sent to the internal bus 40 in the write direction (high level).

時刻T12において、DMAコントローラー20は、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出し、内部バス40が未使用の状態であれば内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得し、外部メモリー110への転送対象データの書き込みを開始する。 At time T 12, DMA controller 20 sends a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter), the internal bus 40 from the internal bus 40 if unused state (bus arbiter) The bus authorization signal 46 (HGRANT) is received, the bus right is acquired, and writing of the transfer target data to the external memory 110 is started.

時刻T12〜T14において、DMAコントローラー20は、外部メモリーに転送対象データをバーストライトするためにバス要求信号45(HBUSREQ)を送出し続けてバス権を占有する。 At times T 12 to T 14 , the DMA controller 20 occupies the bus right by continuously sending the bus request signal 45 (HBUSREQ) to burst write the transfer target data to the external memory.

転送先アドレスレジスタ204には転送対象の最初のデータが記憶される外部メモリー110のアドレスWA0が設定されているので、DMAコントローラー20は、時刻T12〜T15において、アドレスWA0から順にインクリメントしながらアドレスWA0〜WA7をアドレス信号43(HADDR[31:0])として内部バス40に送出する。 Since the transfer destination address register 204 address WA0 external memory 110 the first data to be transferred is stored is set, DMA controller 20 at time T 12 through T 15, while incrementing the address WA0 in order Addresses WA0 to WA7 are sent to the internal bus 40 as an address signal 43 (HADDR [31: 0]).

時刻T13〜T15において、DMAコントローラー20は、データD0〜D7をFIFO220から読み出してライトデータ41(HWDATA[31:0])42として内部バス40に送出し、データD0〜D7が外部メモリーコントローラー14を介して外部メモリーのアドレスWA0〜WA7に書き込まれる。 At times T 13 to T 15 , the DMA controller 20 reads the data D0 to D7 from the FIFO 220 and sends them as write data 41 (HWDATA [31: 0]) 42 to the internal bus 40, and the data D0 to D7 are external memory controllers. 14 to the addresses WA0 to WA7 of the external memory.

時刻T16〜T17において、DMAコントローラー20はDMA終了割り込み信号24(DMAINT)を発生させ、CPU10は転送処理が終了したことを認識することができる。また、転送処理が終了すると、制御レジスタ208の設定が転送許可から転送禁止に自動的に変更され、時刻T17において、DMAイネーブル信号212(DE)が非アクティブになりDMAコントローラー20が停止する。 At times T 16 to T 17 , the DMA controller 20 generates a DMA end interrupt signal 24 (DMAINT), and the CPU 10 can recognize that the transfer process has ended. Moreover, the transfer processing is completed, setting of the control register 208 is automatically changed to a transfer prohibited from transfer permission, at time T 17, DMA enable signal 212 (DE) is DMA controller 20 deactivates stops.

このように、図7のケースでは、制御レジスタ208においてI/O読み出し転送モードがシングル転送モードに設定されているので、DMAコントローラー20は、D0〜D7の各データを転送する毎にDMAアクノリッジ信号22(DACK)をI/Oコントローラー30に送出し、I/Oコントローラー30は、DMAアクノリッジ信号22(DACK)を受ける毎に次のDMAリクエスト信号32(DREQ)をDMAコントローラー20に送出している。すなわち、DMAコントローラー20とI/Oコントローラー30は32ビット(4バイト)のデータ転送毎にハンドシェイク処理をしているので、32バイト分のデータ転送に時間がかかる。   In this way, in the case of FIG. 7, the I / O read transfer mode is set to the single transfer mode in the control register 208, so that the DMA controller 20 transfers the DMA acknowledge signal every time each data of D0 to D7 is transferred. 22 (DACK) is sent to the I / O controller 30, and the I / O controller 30 sends the next DMA request signal 32 (DREQ) to the DMA controller 20 every time the DMA acknowledge signal 22 (DACK) is received. . That is, since the DMA controller 20 and the I / O controller 30 perform handshake processing for every 32 bits (4 bytes) of data transfer, it takes time to transfer data of 32 bytes.

図8は、I/Oコントローラー30からの1回の転送要求に対して、DMAコントローラー20がバス権を占有せずに単位サイズのデータを複数個連続して転送する場合のタイミングチャートの一例を示す図である。すなわち、DMAコントローラー20の制御レジスタ208においてI/O読み出し転送モードが連続転送モードに設定されている。また、I/Oコントローラー30のDMA制御レジスタ302においてDMA転送モードが連続転送モードに設定されている。以下、図8のタイミングチャートについて説明する。   FIG. 8 shows an example of a timing chart when the DMA controller 20 continuously transfers a plurality of unit size data without occupying the bus right in response to one transfer request from the I / O controller 30. FIG. That is, the I / O read transfer mode is set to the continuous transfer mode in the control register 208 of the DMA controller 20. Further, the DMA transfer mode is set to the continuous transfer mode in the DMA control register 302 of the I / O controller 30. Hereinafter, the timing chart of FIG. 8 will be described.

時刻TにおいてDMAイネーブル信号212(DE)がアクティブになり、時刻TにおいてI/Oコントローラー30がDMAリクエスト信号32(DREQ)を送出する。 DMA enable signal 212 (DE) is activated at time T 0, I / O controller 30 at time T 1 is sent to DMA request signal 32 (DREQ).

DMAコントローラー20は、DMAリクエスト信号32(DREQ)を受け取り、時刻T〜Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出し、内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得し、I/Oコントローラー30のFIFO320から転送対象データの読み出しを開始する。 The DMA controller 20 receives the DMA request signal 32 (DREQ), sends a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter) at times T 2 to T 3 , and the internal bus 40 (bus arbiter). ) From the FIFO 320 of the I / O controller 30 and starts reading data to be transferred.

時刻Tにおいて、I/Oコントローラー30はライト信号44(HWRITE)が読み出し方向(ハイレベル)であることを認識し、FIFO320から最初のデータD0を読み出してリードデータ42(HRDATA[31:0])として内部バス40に送出し、DMAコントローラー20は、データD0をFIFO220に格納する。 At time T 4, recognizes that I / O controller 30 write signal 44 (HWRITE) is a read direction (high level), the read data 42 reads the first data D0 from FIFO320 (HRDATA [31: 0] ) To the internal bus 40, and the DMA controller 20 stores the data D0 in the FIFO 220.

DMA制御レジスタ302においてDMA転送モードが連続転送モードに設定されているので、DMAコントローラー20は、I/Oコントローラー30のFIFO320に格納された次のデータD1をFIFO220に転送するために、時刻T〜Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出する。 Since the DMA transfer mode is set to the continuous transfer mode in the DMA control register 302, the DMA controller 20 transfers the next data D1 stored in the FIFO 320 of the I / O controller 30 to the FIFO 220 at time T 5. in through T 6, it sends a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter).

時刻T〜Tにおいて、DMAコントローラー20は内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得し、時刻Tにおいて、I/Oコントローラー30は次のデータD1をリードデータ42(HRDATA[31:0])として内部バス40に送出し、DMAコントローラー20はデータD1をFIFO220に格納する。 At time T 5 ~T 6, DMA controller 20 acquires the bus right to receive the internal bus 40 bus grant signal 46 from the (bus arbiter) (HGRANT), at time T 7, I / O controller 30 next data D1 is sent to the internal bus 40 as read data 42 (HRDATA [31: 0]), and the DMA controller 20 stores the data D1 in the FIFO 220.

以下、同様に、時刻T〜Tにおいて、データD2〜D7がI/Oコントローラー30のFIFO320からDMAコントローラー20のFIFO220に転送される。 Similarly, at times T 7 to T 8 , data D 2 to D 7 are transferred from the FIFO 320 of the I / O controller 30 to the FIFO 220 of the DMA controller 20.

時刻T〜T14の処理は、図7における時刻T11〜T17の処理と同じであるため説明を省略する。 Processing time T 8 through T 14 is omitted because it is same as the processing time T 11 through T 17 in FIG.

このように、図8のケースでは、制御レジスタ208においてI/O読み出し転送モードが連続転送モードに設定され、かつ、連続転送サイズが32バイトであるので、DMAコントローラー20は、時刻T〜TにおいてDMAリクエスト信号32(DREQ)を1回受け取ると、時刻T〜TにおいてD0〜D7の32バイト分のデータを連続して転送している。また、DMA制御レジスタ302においてDMA転送モードが連続転送モードに設定されているので、I/Oコントローラー30は、DMAアクノリッジ信号22(DACK)を確認せずにD0〜D7の32バイト分のデータを順にFIFO320から読み出すことができる。すなわち、DMAコントローラー20とI/Oコントローラー30は32ビット(4バイト)のデータ転送毎にハンドシェイク処理をする必要がないので、図7のケースと比較して32バイト分のデータ転送にかかる時間を短縮することができる。 Thus, in the case of FIG. 8, in the control register 208 I / O read transfer mode is set to the continuous transfer mode, and the size continuous transfer is 32 bytes, DMA controller 20, the time T 1 through T Upon receiving once DMA request signal 32 (DREQ) at 2, it is transferred at time T 4 through T 2 and 32 bytes of data D0~D7 continuously. In addition, since the DMA transfer mode is set to the continuous transfer mode in the DMA control register 302, the I / O controller 30 does not confirm the DMA acknowledge signal 22 (DACK), but the data of 32 bytes of D0 to D7. The data can be read from the FIFO 320 in order. That is, the DMA controller 20 and the I / O controller 30 do not need to perform handshake processing for every 32 bits (4 bytes) of data transfer. Therefore, the time required to transfer 32 bytes of data compared to the case of FIG. Can be shortened.

図9は、I/Oコントローラー30からの1回の転送要求に対して、DMAコントローラー20がバス権を占有して単位サイズのデータを複数個連続して転送する場合のタイミングチャートの一例を示す図である。すなわち、DMAコントローラー20の制御レジスタ208においてI/O読み出し転送モードが連続転送モードに設定され、I/Oコントローラー30のDMA制御レジスタ302においてDMA転送モードが連続転送モードに設定されている。以下、図9のタイミングチャートについて説明する。   FIG. 9 shows an example of a timing chart when the DMA controller 20 occupies the bus right and continuously transfers a plurality of unit size data in response to a single transfer request from the I / O controller 30. FIG. That is, the I / O read transfer mode is set to the continuous transfer mode in the control register 208 of the DMA controller 20, and the DMA transfer mode is set to the continuous transfer mode in the DMA control register 302 of the I / O controller 30. Hereinafter, the timing chart of FIG. 9 will be described.

時刻TにおいてDMAイネーブル信号212(DE)がアクティブになり、時刻TにおいてI/Oコントローラー30がDMAリクエスト信号32(DREQ)を送出する。 DMA enable signal 212 (DE) is activated at time T 0, I / O controller 30 at time T 1 is sent to DMA request signal 32 (DREQ).

DMAコントローラー20は、DMAリクエスト信号32(DREQ)を受け取り、時刻Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出する。 DMA controller 20 receives a DMA request signal 32 (DREQ), at time T 2, sends a bus request signal 45 (HBUSREQ) to the internal bus 40 (bus arbiter).

DMAコントローラー20は、時刻Tにおいて、内部バス40(バスアービター)からバス認可信号46(HGRANT)を受け取ってバス権を獲得すると、時刻T〜Tにおいて、バス要求信号45(HBUSREQ)を送出し続けてバス権を占有する。 DMA controller 20, at time T 2, when acquires the bus from the internal bus 40 (bus arbiter) receives a bus grant signal 46 (HGRANT), at time T 2 through T 4, the bus request signal 45 (HBUSREQ) Continue sending and occupy the bus right.

I/Oコントローラー30は、時刻T〜Tにおいて、データD0〜D7をFIFO320から連続して読み出してリードデータ42(HRDATA[31:0])として内部バス40に送出し、DMAコントローラー20はデータD0〜D7をFIFO220に格納する。 The I / O controller 30 continuously reads the data D0 to D7 from the FIFO 320 and sends them to the internal bus 40 as read data 42 (HRDATA [31: 0]) at times T 3 to T 5. The DMA controller 20 Data D0 to D7 are stored in the FIFO 220.

時刻T〜T11の処理は、図7における時刻T11〜T17以降の処理と同じであるため説明を省略する。 The processing at times T 5 to T 11 is the same as the processing after times T 11 to T 17 in FIG.

このように、図9のケースでは、DMAコントローラー20がバス権を占有して32バイト分の転送対象データをI/Oコントローラー30から連続して転送するので、図8のケースよりもさらに転送時間を短縮することができる。   As described above, in the case of FIG. 9, the DMA controller 20 occupies the bus right and transfers the transfer target data for 32 bytes from the I / O controller 30 continuously. Can be shortened.

[第1実施形態の効果]
第1実施形態の情報処理装置1によれば、I/Oコントローラー30からの1回のデータ転送要求に対して、DMAコントローラー20が内部バス40を介してFIFO320に対して複数のデータの連続転送を行うことにより、FIFO320に対するDMA転送を高速化することができる。
[Effect of the first embodiment]
According to the information processing apparatus 1 of the first embodiment, in response to a single data transfer request from the I / O controller 30, the DMA controller 20 continuously transfers a plurality of data to the FIFO 320 via the internal bus 40. As a result, the DMA transfer to the FIFO 320 can be speeded up.

また、第1実施形態の情報処理装置1によれば、I/Oコントローラー30からの1回のデータ転送要求に対して連続転送が困難な場合でも、CPU10を介さずにDMA転送により1回のデータ転送要求毎に1つのデータを転送することができるので、CPU10の負荷を低減することができる。   Further, according to the information processing apparatus 1 of the first embodiment, even when continuous transfer is difficult in response to a single data transfer request from the I / O controller 30, it is performed once by DMA transfer without using the CPU 10. Since one data can be transferred for each data transfer request, the load on the CPU 10 can be reduced.

このように、第1実施形態の情報処理装置1によれば、1回のデータ転送要求に対して複数のデータを連続転送するか1つのデータを転送するかを、外部デバイス100の種類やFIFO320のサイズ等に応じて適切に選択することにより、FIFO320に対するDMA転送速度を最適化することができる。   As described above, according to the information processing apparatus 1 of the first embodiment, the type of the external device 100 or the FIFO 320 determines whether a plurality of data is continuously transferred or one data is transferred in response to one data transfer request. The DMA transfer rate for the FIFO 320 can be optimized by appropriately selecting according to the size of the file.

また、第1実施形態の情報処理装置1によれば、FIFO320に対する連続転送のデータサイズを可変に設定することができるので、FIFO320に対するDMA転送速度をより最適化することができる。   Further, according to the information processing apparatus 1 of the first embodiment, the data size of continuous transfer to the FIFO 320 can be variably set, so that the DMA transfer rate for the FIFO 320 can be further optimized.

また、第1実施形態の情報処理装置1によれば、FIFO320に対する連続転送の優先度が高い場合は内部バス40を占有し、優先度が低い場合は内部バス40を占有しないようにすることができるので、内部バス40を効率的に使用することができる。   Further, according to the information processing apparatus 1 of the first embodiment, the internal bus 40 is occupied when the priority of continuous transfer to the FIFO 320 is high, and the internal bus 40 is not occupied when the priority is low. Therefore, the internal bus 40 can be used efficiently.

1−2.第2実施形態
第2実施形態の情報処理装置1の構成はDMAコントローラー20及びI/Oコントローラー30を除いて、第1実施形態と同じであるため、以下、第2実施形態におけるDMAコントローラー20及びI/Oコントローラー30の構成についてのみ説明する。
1-2. Second Embodiment Since the configuration of the information processing apparatus 1 of the second embodiment is the same as that of the first embodiment except for the DMA controller 20 and the I / O controller 30, the DMA controller 20 and the second embodiment in the second embodiment will be described below. Only the configuration of the I / O controller 30 will be described.

図10及び図11は、それぞれ第2実施形態におけるDMAコントローラー及びI/Oコントローラーの構成について説明するための図である。   10 and 11 are diagrams for explaining the configurations of the DMA controller and the I / O controller in the second embodiment, respectively.

第1実施形態では、DMAコントローラー20が、1回のDMAリクエスト信号32を受け取る毎に、I/Oコントローラー30のFIFO320に対して、単位サイズのデータの読み出し又は書き込みを行うか連続転送サイズ分のデータの読み出し又は書き込みを連続して行うかは、制御レジスタ202及びDMA制御レジスタ302に設定されるモード(シングル転送モード又は連続転送モード)に従って選択される。   In the first embodiment, every time the DMA controller 20 receives one DMA request signal 32, the unit 320 reads or writes unit size data to the FIFO 320 of the I / O controller 30, or the continuous transfer size. Whether to read or write data continuously is selected according to a mode (single transfer mode or continuous transfer mode) set in the control register 202 and the DMA control register 302.

これに対して、第2実施形態では、図10及び図11に示すように、I/Oコントローラー20は、単位サイズのデータの転送を要求する場合はDMAリクエスト信号34を送出し、連続転送サイズ分のデータの連続転送を要求する場合はDMAリクエスト信号36を送出する。   On the other hand, in the second embodiment, as shown in FIG. 10 and FIG. 11, the I / O controller 20 sends out a DMA request signal 34 when requesting transfer of unit size data, and the continuous transfer size. A DMA request signal 36 is sent out when requesting continuous transfer of data for a minute.

DMAコントローラー20は、DMAリクエスト信号34を受け取ると、I/Oコントローラー20にDMAアクノリッジ信号22を送出してFIFO320に対して1つのデータの読み出し又は書き込みを行い、DMAリクエスト信号36を受け取ると、I/Oコントローラー20にDMAアクノリッジ信号22を送出してFIFO320に対して連続転送サイズ分のデータの読み出し又は書き込みを連続して行う。   When the DMA controller 20 receives the DMA request signal 34, it sends a DMA acknowledge signal 22 to the I / O controller 20 to read or write one data to the FIFO 320, and when it receives the DMA request signal 36, The DMA acknowledge signal 22 is sent to the / O controller 20 to continuously read or write data corresponding to the continuous transfer size to the FIFO 320.

そして、I/Oコントローラー20は、転送元リソースになる場合はFIFO320に格納されているデータサイズが連続転送サイズ以上であるか否かを判断し、転送先リソースになる場合はFIFO320の空き領域のサイズが連続転送サイズ以上であるか否かを判断し、連続転送サイズ以上であればDMAリクエスト信号36を送出し、連続転送サイズよりも小さければDMAリクエスト信号34を送出する。ただし、I/Oコントローラー20は、FIFO320に格納されているデータサイズ又はFIFO320の空き領域のサイズが単位サイズよりも小さい場合は単位サイズになるまで待ってからDMAリクエスト信号34を送出する。   The I / O controller 20 determines whether or not the data size stored in the FIFO 320 is equal to or larger than the continuous transfer size when it becomes a transfer source resource. It is determined whether or not the size is equal to or larger than the continuous transfer size. If the size is equal to or larger than the continuous transfer size, the DMA request signal 36 is transmitted. If the size is smaller than the continuous transfer size, the DMA request signal 34 is transmitted. However, if the data size stored in the FIFO 320 or the size of the empty area of the FIFO 320 is smaller than the unit size, the I / O controller 20 waits until the unit size is reached before sending the DMA request signal 34.

すなわち、第2実施形態では、I/Oコントローラー20がFIFO320の状態に基づいて連続転送が可能か否かを判断するので、第1実施形態では必要であったモード設定が不要になる。   That is, in the second embodiment, since the I / O controller 20 determines whether or not continuous transfer is possible based on the state of the FIFO 320, the mode setting required in the first embodiment is not necessary.

さらに、第1実施形態では、連続転送モードでは、FIFO320に格納されているデータサイズ又はFIFO320の空き領域のサイズが閾値以上になるまでデータ転送が待たされるため、FIFO320の状態によってはデータ転送時間が長くなるが、第2実施形態では、FIFO320の状態に応じてより適切な転送方式が選択されるのでデータ転送時間を最適化することができる。   Furthermore, in the first embodiment, in the continuous transfer mode, data transfer is waited until the data size stored in the FIFO 320 or the size of the free area of the FIFO 320 becomes equal to or larger than the threshold value. Therefore, depending on the state of the FIFO 320, the data transfer time In the second embodiment, a more appropriate transfer method is selected according to the state of the FIFO 320, so that the data transfer time can be optimized.

第2実施形態におけるDMAコントローラー20及びI/Oコントローラー30のその他の構成は第1実施形態と同様であるため、説明を省略する。   Since other configurations of the DMA controller 20 and the I / O controller 30 in the second embodiment are the same as those in the first embodiment, the description thereof is omitted.

図12〜図15に、第2実施形態の情報処理装置におけるデータ転送のタイミングチャートの一例を示す。   12 to 15 show examples of timing charts for data transfer in the information processing apparatus according to the second embodiment.

図12及び図13は、転送元リソース及び転送先リソースがそれぞれ外部メモリー110及びI/Oコントローラー30であり、32バイト(32ビット(4バイト)×8)のデータを転送する場合のタイミングチャートである(転送元リソースは内部メモリー12であってもよい)。図12及び図13において、時刻T以前に、転送元アドレスレジスタ202には転送対象の最初のデータが記憶されている外部メモリー110のアドレスRA0が設定されている。また、転送先アドレスレジスタ204にはI/Oコントローラー30のFIFO320のアドレスWA0が設定されている。また、転送サイズカウンタ206には転送対象のデータサイズである32バイトが設定されている。また、単位サイズは32ビット(4バイト)である。 FIGS. 12 and 13 are timing charts in the case where the transfer source resource and the transfer destination resource are the external memory 110 and the I / O controller 30, respectively, and 32 bytes (32 bits (4 bytes) × 8) of data are transferred. Yes (the transfer source resource may be the internal memory 12). 12 and 13, before the time T 0 , the address RA 0 of the external memory 110 in which the first data to be transferred is stored is set in the transfer source address register 202. The transfer destination address register 204 is set with the address WA0 of the FIFO 320 of the I / O controller 30. The transfer size counter 206 is set with 32 bytes, which is the data size to be transferred. The unit size is 32 bits (4 bytes).

図12は、DMAコントローラー20が、DMAリクエスト信号34(DREQ1)に対して単位サイズのデータを転送する場合のタイミングチャートの一例を示す図である。図12では、FIFO320に格納されているデータサイズが連続転送サイズよりも小さいため、DMAリクエスト信号34(DREQ1)が発生し、DMAリクエスト信号36(DREQ2)は発生していない。その他の信号波形は図4と同じであるので、説明を省略する。   FIG. 12 is a diagram illustrating an example of a timing chart when the DMA controller 20 transfers unit size data to the DMA request signal 34 (DREQ1). In FIG. 12, since the data size stored in the FIFO 320 is smaller than the continuous transfer size, the DMA request signal 34 (DREQ1) is generated and the DMA request signal 36 (DREQ2) is not generated. The other signal waveforms are the same as those in FIG.

図13は、DMAコントローラー20が、DMAリクエスト信号36(DREQ2)に対して連続転送サイズ分のデータを連続転送する場合のタイミングチャートの一例を示す図である。図13では、FIFO320に格納されているデータサイズが連続転送サイズ以上であるため、DMAリクエスト信号36(DREQ2)が発生し、DMAリクエスト信号34(DREQ1)は発生していない。その他の信号波形は図5と同じであるので、説明を省略する。   FIG. 13 is a diagram illustrating an example of a timing chart when the DMA controller 20 continuously transfers data corresponding to the continuous transfer size with respect to the DMA request signal 36 (DREQ2). In FIG. 13, since the data size stored in the FIFO 320 is equal to or larger than the continuous transfer size, the DMA request signal 36 (DREQ2) is generated and the DMA request signal 34 (DREQ1) is not generated. The other signal waveforms are the same as those in FIG.

図14及び図15は、転送元リソース及び転送先リソースがそれぞれI/Oコントローラー30及び外部メモリー110あり、32バイト(32ビット(4バイト)×8)のデータを転送する場合のタイミングチャートである(転送先リソースは内部メモリー12であってもよい)。図14及び図15において、時刻T以前に、転送元アドレスレジスタ202にはI/Oコントローラー30のFIFO320のアドレスRA0が設定されている。また、転送先アドレスレジスタ204には転送対象の最初のデータが記憶される外部メモリー110のアドレスWA0が設定されている。また、転送サイズカウンタ206には転送対象のデータサイズである32バイトが設定されている。また、単位サイズは32ビット(4バイト)である。 FIGS. 14 and 15 are timing charts in the case where the transfer source resource and the transfer destination resource are the I / O controller 30 and the external memory 110, respectively, and 32 bytes (32 bits (4 bytes) × 8) of data are transferred. (The transfer destination resource may be the internal memory 12). 14 and 15, at time T 0 previously, addresses RA0 of FIFO320 the I / O controller 30 is set in the transfer source address register 202. The transfer destination address register 204 is set with the address WA0 of the external memory 110 in which the first data to be transferred is stored. The transfer size counter 206 is set with 32 bytes, which is the data size to be transferred. The unit size is 32 bits (4 bytes).

図14は、DMAコントローラー20が、DMAリクエスト信号34(DREQ1)に対して単位サイズのデータを転送する場合のタイミングチャートの一例を示す図である。図14では、FIFO320の空き領域のサイズが連続転送サイズよりも小さいため、DMAリクエスト信号34(DREQ1)が発生し、DMAリクエスト信号36(DREQ2)は発生していない。その他の信号波形は図7と同じであるので、説明を省略する。   FIG. 14 is a diagram illustrating an example of a timing chart when the DMA controller 20 transfers unit size data to the DMA request signal 34 (DREQ1). In FIG. 14, since the size of the empty area of the FIFO 320 is smaller than the continuous transfer size, the DMA request signal 34 (DREQ1) is generated and the DMA request signal 36 (DREQ2) is not generated. The other signal waveforms are the same as those in FIG.

図15は、DMAコントローラー20が、DMAリクエスト信号36(DREQ2)に対して連続転送サイズ分のデータを連続転送する場合のタイミングチャートの一例を示す図である。図15では、FIFO320の空き領域のサイズが連続転送サイズ以上であるため、DMAリクエスト信号36(DREQ2)が発生し、DMAリクエスト信号34(DREQ1)は発生していない。その他の信号波形は図8と同じであるので、説明を省略する。   FIG. 15 is a diagram illustrating an example of a timing chart when the DMA controller 20 continuously transfers data corresponding to the continuous transfer size with respect to the DMA request signal 36 (DREQ2). In FIG. 15, since the size of the empty area of the FIFO 320 is equal to or larger than the continuous transfer size, the DMA request signal 36 (DREQ2) is generated and the DMA request signal 34 (DREQ1) is not generated. The other signal waveforms are the same as those in FIG.

[第2実施形態の効果]
第2実施形態によれば、第1実施形態と同様の効果に加えて、以下の効果を奏する。
[Effects of Second Embodiment]
According to 2nd Embodiment, in addition to the effect similar to 1st Embodiment, there exist the following effects.

すなわち、第2実施形態の情報処理装置1によれば、I/Oコントローラー30が、FIFO320の状態に基づいて、FIFO320に対する連続転送が可能か否かを判断するので、FIFO320に対するDMA転送をより効率的に行うことができる。   That is, according to the information processing apparatus 1 of the second embodiment, the I / O controller 30 determines whether continuous transfer to the FIFO 320 is possible based on the state of the FIFO 320, so that the DMA transfer to the FIFO 320 is more efficient. Can be done automatically.

1−3.第3実施形態
図16は、第3実施形態の情報処理装置の構成について説明するための図である。
1-3. Third Embodiment FIG. 16 is a diagram for explaining a configuration of an information processing apparatus according to a third embodiment.

第1実施形態では、内部バス40に1つのI/Oコントローラー30が接続されているが、第3実施形態では、内部バス40に2つのI/Oコントローラー30a及び30bが接続されている。I/Oコントローラー30a及び30bは、SDメモリーカードやCFメモリーカード、USBデバイス、PC等の外部デバイス100a及び100bとそれぞれ接続されており、外部デバイス100a及び100bに対するアクセスをそれぞれ制御する。   In the first embodiment, one I / O controller 30 is connected to the internal bus 40, but in the third embodiment, two I / O controllers 30 a and 30 b are connected to the internal bus 40. The I / O controllers 30a and 30b are connected to external devices 100a and 100b such as an SD memory card, a CF memory card, a USB device, and a PC, respectively, and control access to the external devices 100a and 100b, respectively.

第3実施形態におけるDMAコントローラー20は、内部バス40を介して、内部メモリー12、外部メモリー110、I/Oコントローラー30a及び30bの任意の2つのリソース間のデータ転送を制御する。すなわち、第3実施形態の情報処理装置1では、DMAコントローラー20により、I/Oコントローラー30aと30bの間で内部バス40を介してデータ転送を行うことができる。   The DMA controller 20 in the third embodiment controls data transfer between any two resources of the internal memory 12, the external memory 110, and the I / O controllers 30a and 30b via the internal bus 40. That is, in the information processing apparatus 1 of the third embodiment, the DMA controller 20 can perform data transfer between the I / O controllers 30a and 30b via the internal bus 40.

I/Oコントローラー30a及び30bの構成は、図3に示したI/Oコントローラー30の構成と同様であるため、説明を省略する。また、第3実施形態におけるI/Oコントローラー30a及び30b以外の他の構成は第1実施形態と同様であるため、説明を省略する。   The configuration of the I / O controllers 30a and 30b is the same as the configuration of the I / O controller 30 shown in FIG. In addition, since the configuration other than the I / O controllers 30a and 30b in the third embodiment is the same as that of the first embodiment, description thereof is omitted.

図17及び図18に、第3実施形態の情報処理装置におけるI/Oコントローラー30aと30bの間で32バイト(32ビット(4バイト)×8)のデータを転送する時のタイミングチャートの一例を示す。図17及び図18において、I/Oコントローラー30a又は30bからの1回の転送要求に対して、DMAコントローラー20がバス権を占有して単位サイズのデータを複数個連続して転送する。すなわち、DMAコントローラー20の制御レジスタ208においてI/O読み出し転送モード及びI/O書き込み転送モードがともに連続転送モードに設定され、I/Oコントローラー30a及び30bにおいてDMA転送モードが連続転送モードに設定されている。また、外部デバイス100a及び100bのビット幅はそれぞれ32ビット及び16ビットであり、そのため、I/Oコントローラー30a及び30bに対するデータ転送の単位サイズはそれぞれ32ビット(4バイト)及び16ビット(2バイト)であるものとする。さらに、I/Oコントローラー30a及び30bに対するデータ転送の連続転送サイズはそれぞれ32バイト及び16バイトであるものとする。すなわち、DMAコントローラー20は、I/Oコントローラー30aからのDMAリクエスト信号32a(DREQ)に対しては32バイト分のデータを連続転送し、I/Oコントローラー30bからのDMAリクエスト信号32b(DREQ)に対しては16バイト分のデータを連続転送する。   17 and 18, an example of a timing chart when transferring 32 bytes (32 bits (4 bytes) × 8) of data between the I / O controllers 30 a and 30 b in the information processing apparatus according to the third embodiment. Show. 17 and 18, in response to a single transfer request from the I / O controller 30a or 30b, the DMA controller 20 occupies the bus right and continuously transfers a plurality of unit size data. That is, both the I / O read transfer mode and the I / O write transfer mode are set to the continuous transfer mode in the control register 208 of the DMA controller 20, and the DMA transfer mode is set to the continuous transfer mode in the I / O controllers 30a and 30b. ing. Further, the bit widths of the external devices 100a and 100b are 32 bits and 16 bits, respectively. Therefore, the unit size of data transfer to the I / O controllers 30a and 30b is 32 bits (4 bytes) and 16 bits (2 bytes), respectively. Suppose that Further, it is assumed that the continuous transfer size of data transfer to the I / O controllers 30a and 30b is 32 bytes and 16 bytes, respectively. That is, the DMA controller 20 continuously transfers 32 bytes of data to the DMA request signal 32a (DREQ) from the I / O controller 30a, and transfers it to the DMA request signal 32b (DREQ) from the I / O controller 30b. On the other hand, 16 bytes of data are continuously transferred.

図17は、転送元リソース及び転送先リソースがそれぞれI/Oコントローラー30a及びI/Oコントローラー30bである場合のタイミングチャートである。図17において、時刻T以前に、転送元アドレスレジスタ202にはI/Oコントローラー30aのFIFO320のアドレスRA0が設定されている。また、転送先アドレスレジスタ204にはI/Oコントローラー30bのFIFO320のアドレスWA0が設定されている。また、転送サイズカウンタ206には転送対象のデータサイズである32バイトが設定されている。以下、図17のタイミングチャートについて説明する。 FIG. 17 is a timing chart when the transfer source resource and the transfer destination resource are the I / O controller 30a and the I / O controller 30b, respectively. 17, at time T 0 previously, addresses RA0 of FIFO320 the I / O controller 30a is set in the transfer source address register 202. In addition, the address WA0 of the FIFO 320 of the I / O controller 30b is set in the transfer destination address register 204. The transfer size counter 206 is set with 32 bytes, which is the data size to be transferred. Hereinafter, the timing chart of FIG. 17 will be described.

時刻TにおいてDMAイネーブル信号212(DE)がアクティブになり、時刻TにおいてI/Oコントローラー30aがDMAリクエスト信号32a(DREQ)を送出すると、DMAコントローラー20は、DMAリクエスト信号32a(DREQ)を受け取り、時刻T〜Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出し続けてバス権を占有する。 When the DMA enable signal 212 (DE) becomes active at time T 0 and the I / O controller 30 a sends the DMA request signal 32 a (DREQ) at time T 1 , the DMA controller 20 sends the DMA request signal 32 a (DREQ). At time T 2 to T 4 , the bus request signal 45 (HBUSREQ) is continuously sent to the internal bus 40 (bus arbiter) to occupy the bus right.

時刻T〜Tにおいて、DMAコントローラー20がDMAアクノリッジ信号22a(DACK)を送出すると、I/Oコントローラー30aは、32ビットデータD0〜D7をFIFO320から連続して読み出してリードデータ42(HRDATA[31:0])として内部バス40に送出し、DMAコントローラー20は32ビットデータD0〜D7をFIFO220に格納する。 At time T 3 through T 5, when the DMA controller 20 sends out a DMA acknowledge signal 22a (DACK), I / O controller 30a is read data 42 is read out in succession 32-bit data D0~D7 from FIFO 320 (HRDATA [ 31: 0]) to the internal bus 40, and the DMA controller 20 stores the 32-bit data D0 to D7 in the FIFO 220.

時刻TにおいてI/Oコントローラー30bがDMAリクエスト信号32b(DREQ)を送出すると、DMAコントローラー20は、DMAリクエスト信号32b(DREQ)を受け取り、時刻T〜T14において、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出し続けてバス権を占有する。 When I / O controller 30b sends out a DMA request signal 32 b (DREQ) at time T 6, DMA controller 20 receives a DMA request signal 32 b (DREQ), at time T 7 through T 14, internal bus 40 (bus arbiter ) Continues to send the bus request signal 45 (HBUSREQ) to occupy the bus right.

DMAコントローラー20は、32ビットデータD0をFIFO220から読み出し、時刻T〜Tと時刻T〜T10において、それぞれ32ビットデータD0の上位16ビットデータD0及び下位16ビットデータD0をライトデータ41(HWDATA[15:0])として内部バス40に送出する。 DMA controller 20 reads the 32-bit data D0 from the FIFO 220, the time T 8 through T 9 and the time T 9 in through T 10, the upper 16-bit data D0 H and Write the lower 16-bit data D0 L of 32-bit data D0 Data 41 (HWDATA [15: 0]) is sent to the internal bus 40.

以下、同様に、時刻T10〜T11において、32ビットデータD1〜D3がそれぞれ上位16ビットデータD1〜D3と下位16ビットデータD1〜D3に分けられてDMAコントローラー20のFIFO220からI/Oコントローラー30bのFIFO320に転送される。 Similarly, at times T 10 to T 11 , 32-bit data D1 to D3 are divided into upper 16-bit data D1 H to D3 H and lower 16-bit data D1 L to D3 L , respectively, from the FIFO 220 of the DMA controller 20. The data is transferred to the FIFO 320 of the I / O controller 30b.

ここで、I/Oコントローラー30bに対する連続転送サイズは16バイトであるので、1回のDMAリクエスト信号32b(DREQ)に対して、時刻T〜T11において、16バイト分のデータD0〜D3が転送されている。 Since continuous transfer size for I / O controller 30b is a 16-byte, with respect to one DMA request signal 32 b (DREQ), at time T 8 through T 11, it is 16-byte data D0~D3 Has been transferred.

転送対象のデータサイズは32バイトであるので、I/Oコントローラー30bは残りの16バイト分のデータD4〜D7の転送を要求するために、時刻T12において、2回目のDMAリクエスト信号32b(DREQ)を送出する。 Since the data size to be transferred is 32 bytes, I / O controller 30b in order to request the transfer of the remaining 16 bytes of the data D4 to D7, at time T 12, 2 nd DMA request signal 32 b (DREQ ).

そして、時刻T13〜T15において、32ビットデータD4〜D7がそれぞれ上位16ビットデータD4〜D7と下位16ビットデータD4〜D7に分けられてDMAコントローラー20のFIFO220からI/Oコントローラー30bのFIFO320に転送される。 Then, at time T 13 through T 15, 32-bit data D4~D7 is upper 16-bit data, respectively D4 H -D7 H and FIFO220 from the I / O of the lower 16-bit data D4 L -D7 DMA controller 20 is divided into L The data is transferred to the FIFO 320 of the controller 30b.

時刻T16〜T17において、DMAコントローラー20はDMA終了割り込み信号24(DMAINT)を発生させ、CPU10は転送処理が終了したことを認識することができる。また、転送処理が終了すると、制御レジスタ208の設定が転送許可から転送禁止に自動的に変更され、時刻T17において、DMAイネーブル信号212(DE)が非アクティブになりDMAコントローラー20が停止する。 At times T 16 to T 17 , the DMA controller 20 generates a DMA end interrupt signal 24 (DMAINT), and the CPU 10 can recognize that the transfer process has ended. Moreover, the transfer processing is completed, setting of the control register 208 is automatically changed to a transfer prohibited from transfer permission, at time T 17, DMA enable signal 212 (DE) is DMA controller 20 deactivates stops.

このように、図17のケースでは、I/Oコントローラー30aに対するデータ転送の連続転送サイズは32バイトであり、転送対象のデータサイズ(32バイト)と同じであるため、1回のDMAリクエスト信号32a(DREQ)によって、I/Oコントローラー30aのFIFO320からDMAコントローラーのFIFO220に32バイト分のデータが連続転送されている。一方、I/Oコントローラー30bに対するデータ転送の連続転送サイズは16バイトであり、転送対象のデータサイズ(32バイト)よりも小さいため、2回のDMAリクエスト信号32b(DREQ)によって、DMAコントローラーのFIFO220からI/Oコントローラー30bのFIFO320に32バイト分のデータが16バイトずつ連続転送されている。従って、例えば、I/Oコントローラー30bのFIFO320のサイズが転送対象データのサイズよりも小さいような場合でも、DMAコントローラー20は、複数回に分けて連続転送するので、転送対象のすべてのデータをできるだけ短い時間で確実に転送することができる。   In this way, in the case of FIG. 17, the continuous transfer size of data transfer to the I / O controller 30a is 32 bytes, which is the same as the transfer target data size (32 bytes). Due to (DREQ), 32 bytes of data are continuously transferred from the FIFO 320 of the I / O controller 30a to the FIFO 220 of the DMA controller. On the other hand, the continuous transfer size of data transfer to the I / O controller 30b is 16 bytes, which is smaller than the data size to be transferred (32 bytes), so that the DMA controller FIFO 220 is generated by two DMA request signals 32b (DREQ). 32 bytes of data are continuously transferred 16 bytes at a time to the FIFO 320 of the I / O controller 30b. Therefore, for example, even when the size of the FIFO 320 of the I / O controller 30b is smaller than the size of the data to be transferred, the DMA controller 20 performs continuous transfer in multiple times, so that all data to be transferred can be transferred as much as possible. It can be transferred reliably in a short time.

図18は、転送元リソース及び転送先リソースがそれぞれI/Oコントローラー30b及びI/Oコントローラー30aである場合のタイミングチャートである。図18において、時刻T以前に、転送元アドレスレジスタ202にはI/Oコントローラー30bのFIFO320のアドレスRA0が設定されている。また、転送先アドレスレジスタ204にはI/Oコントローラー30aのFIFO320のアドレスWA0が設定されている。また、転送サイズカウンタ206には転送対象のデータサイズである32バイトが設定されている。以下、図18のタイミングチャートについて説明する。 FIG. 18 is a timing chart when the transfer source resource and the transfer destination resource are the I / O controller 30b and the I / O controller 30a, respectively. 18, at time T 0 previously, addresses RA0 of FIFO320 the I / O controller 30b is set in the transfer source address register 202. The transfer destination address register 204 is set with the address WA0 of the FIFO 320 of the I / O controller 30a. The transfer size counter 206 is set with 32 bytes, which is the data size to be transferred. Hereinafter, the timing chart of FIG. 18 will be described.

時刻TにおいてDMAイネーブル信号212(DE)がアクティブになり、時刻TにおいてI/Oコントローラー30bがDMAリクエスト信号32b(DREQ)を送出すると、DMAコントローラー20は、DMAリクエスト信号32b(DREQ)を受け取り、時刻T〜Tにおいて、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出し続けてバス権を占有する。 When the DMA enable signal 212 (DE) becomes active at time T 0 and the I / O controller 30 b sends the DMA request signal 32 b (DREQ) at time T 1 , the DMA controller 20 sends the DMA request signal 32 b (DREQ). At time T 2 to T 9 , the bus request signal 45 (HBUSREQ) is continuously sent to the internal bus 40 (bus arbiter) to occupy the bus right.

時刻T〜Tにおいて、DMAコントローラー20がDMAアクノリッジ信号22b(DACK)を送出すると、I/Oコントローラー30bは、時刻T〜Tと時刻T〜Tにおいて、それぞれ16ビットデータD0及びD0をFIFO320から連続して読み出してリードデータ42(HRDATA[15:0])として内部バス40に送出し、DMAコントローラー20は、16ビットデータD0及びD0をそれぞれ上位16ビット及び下位16ビットとする32ビットデータD0をFIFO220に格納する。 At time T 3 through T 6, the DMA controller 20 sends out a DMA acknowledge signal 22b (DACK), I / O controller 30b, the time T 3 in the through T 4 and time T 4 through T 5, respectively 16-bit data D0 H and D0 H are successively read from the FIFO 320 and sent to the internal bus 40 as read data 42 (HRDATA [15: 0]). The DMA controller 20 sends 16-bit data D0 H and D0 H to the upper 16 bits and The 32-bit data D0 having the lower 16 bits is stored in the FIFO 220.

以下、同様に、時刻T〜Tにおいて、32ビットデータD1〜D3の各上位16ビットデータD1〜D3と各下位16ビットデータD1〜D3がI/Oコントローラー30bのFIFO320からDMAコントローラー20に転送され、データD1〜D3がFIFO220に格納される。 Hereinafter, similarly, at time T 5 through T 6, 32 each upper 16-bit data D1 H to D3 H and the low-order 16-bit data D1 L to D3 L bits data D1~D3 from FIFO320 the I / O controller 30b The data is transferred to the DMA controller 20 and the data D1 to D3 are stored in the FIFO 220.

ここで、I/Oコントローラー30bに対する連続転送サイズは16バイトであるので、1回のDMAリクエスト信号32b(DREQ)に対して、時刻T〜Tにおいて、16バイト分のデータD0〜D3が転送されている。 Since continuous transfer size for I / O controller 30b is a 16-byte, with respect to one DMA request signal 32 b (DREQ), at time T 3 through T 6, 16 bytes of data D0~D3 Has been transferred.

転送対象のデータサイズは32バイトであるので、I/Oコントローラー30bは残りの16バイト分のデータD4〜D7の転送を要求するために、時刻Tにおいて、2回目のDMAリクエスト信号32b(DREQ)を送出する。 Since the data size to be transferred is 32 bytes, I / O controller 30b in order to request the transfer of the remaining 16 bytes of the data D4 to D7, at time T 7, 2 nd DMA request signal 32 b (DREQ ).

そして、時刻T〜T10において、32ビットデータD4〜D7の各上位16ビットデータD4〜D7と各下位16ビットデータD4〜D7がI/Oコントローラー30bのFIFO320からDMAコントローラー20に転送され、データD4〜D7がFIFO220に格納される。 Then, at time T 8 through T 10, 32-bit data DMA controller 20 from FIFO320 of each upper 16-bit data D4 H -D7 H and the low-order 16-bit data D4 L -D7 L is I / O controller 30b of D4~D7 The data D4 to D7 are stored in the FIFO 220.

時刻T11においてI/Oコントローラー30aがDMAリクエスト信号32a(DREQ)を送出すると、DMAコントローラー20は、DMAリクエスト信号32a(DREQ)を受け取り、時刻T12〜T14において、内部バス40(バスアービター)に対してバス要求信号45(HBUSREQ)を送出し続けてバス権を占有する。 When I / O controller 30a sends out a DMA request signal 32a (DREQ) at time T 11, DMA controller 20 receives a DMA request signal 32a (DREQ), at time T 12 through T 14, internal bus 40 (bus arbiter ) Continues to send the bus request signal 45 (HBUSREQ) to occupy the bus right.

そして、時刻T13〜T15において、DMAコントローラー20はデータD0〜D7をFIFO220から連続して読み出してライトデータ41(HWDATA[31:0])として内部バス40に送出し、I/Oコントローラー30aはデータD0〜D7をFIFO320に格納する。 At times T 13 to T 15 , the DMA controller 20 continuously reads the data D0 to D7 from the FIFO 220 and sends the data as write data 41 (HWDATA [31: 0]) to the internal bus 40, and the I / O controller 30a. Stores the data D0 to D7 in the FIFO 320.

時刻T16〜T17の処理は、図4における時刻T16〜T17の処理と同じであるため説明を省略する。 Processing time T 16 through T 17 is omitted because it is same as the processing time T 16 through T 17 in Figure 4.

このように、図18のケースでは、I/Oコントローラー30aに対するデータ転送の連続転送サイズは32バイトであり、転送対象のデータサイズ(32バイト)と同じであるため、1回のDMAリクエスト信号32a(DREQ)によって、DMAコントローラーのFIFO220からI/Oコントローラー30aのFIFO320に32バイト分のデータが連続転送されている。一方、I/Oコントローラー30bに対するデータ転送の連続転送サイズは16バイトであり、転送対象のデータサイズ(32バイト)よりも小さいため、2回のDMAリクエスト信号32b(DREQ)によって、I/Oコントローラー30bのFIFO320からDMAコントローラーのFIFO220に32バイト分のデータが16バイトずつ連続転送されている。従って、例えば、I/Oコントローラー30bのFIFO320のサイズが転送対象データのサイズよりも小さいような場合でも、DMAコントローラー20は、複数回に分けて連続転送するので、転送対象のすべてのデータをできるだけ短い時間で確実に転送することができる。   As described above, in the case of FIG. 18, the continuous transfer size of the data transfer to the I / O controller 30a is 32 bytes, which is the same as the transfer target data size (32 bytes). By (DREQ), 32 bytes of data are continuously transferred from the FIFO 220 of the DMA controller to the FIFO 320 of the I / O controller 30a. On the other hand, since the continuous transfer size of data transfer to the I / O controller 30b is 16 bytes, which is smaller than the data size to be transferred (32 bytes), the I / O controller is determined by two DMA request signals 32b (DREQ). 32 bytes of data are continuously transferred 16 bytes at a time from the FIFO 320 of the 30b to the FIFO 220 of the DMA controller. Therefore, for example, even when the size of the FIFO 320 of the I / O controller 30b is smaller than the size of the data to be transferred, the DMA controller 20 continuously transfers the data in a plurality of times. It can be transferred reliably in a short time.

[第3実施形態の効果]
第3実施形態によれば、第1実施形態と同様の効果に加えて、以下の効果を奏する。
[Effect of the third embodiment]
According to 3rd Embodiment, in addition to the effect similar to 1st Embodiment, there exist the following effects.

すなわち、第3実施形態の情報処理装置1によれば、外部メモリー110(又は内部メモリー)とI/Oコントローラー30a又は30bの間でDMA転送が可能であるだけでなく、I/Oコントローラー30aと30bの間でもDMA転送が可能である。   That is, according to the information processing apparatus 1 of the third embodiment, not only DMA transfer is possible between the external memory 110 (or internal memory) and the I / O controller 30a or 30b, but also the I / O controller 30a and DMA transfer is also possible between 30b.

また、第3実施形態の情報処理装置1によれば、I/Oコントローラー30aと30bの間のDMA転送においても、1回のデータ転送要求に対して複数のデータを連続転送するか1つのデータを転送するかを選択することができるので、DMA転送速度を最適化することができる。   Further, according to the information processing apparatus 1 of the third embodiment, even in the DMA transfer between the I / O controllers 30a and 30b, a plurality of data is continuously transferred in response to one data transfer request or one data Can be selected, so that the DMA transfer rate can be optimized.

2.画像データ記録システム
図19は、本実施形態の画像データ記録システムの構成について説明するための図である。
2. Image Data Recording System FIG. 19 is a diagram for explaining the configuration of the image data recording system of this embodiment.

画像データ記録システム700は、情報処理装置500、2次記憶装置600、1次記憶装置610、カメラモジュール620、センサー630を含んで構成されている。   The image data recording system 700 includes an information processing device 500, a secondary storage device 600, a primary storage device 610, a camera module 620, and a sensor 630.

情報処理装置500は、CPU510、RAM(Random Access Memory)512、外部メモリーコントローラー514、ROM(Read Only Memory)516、DMAコントローラー520、I/Oコントローラー530、I/Oコントローラー532、内部バス540、カメラインターフェース回路550、画像処理回路560、センサーインターフェース回路570を含んで構成されている。   The information processing apparatus 500 includes a CPU 510, a RAM (Random Access Memory) 512, an external memory controller 514, a ROM (Read Only Memory) 516, a DMA controller 520, an I / O controller 530, an I / O controller 532, an internal bus 540, a camera. An interface circuit 550, an image processing circuit 560, and a sensor interface circuit 570 are included.

情報処理装置500は、SDRAM等の1次記憶装置610と接続可能であり、外部メモリーコントローラー514を介して1次記憶装置610に対してデータ転送を行うことができる。   The information processing apparatus 500 can be connected to a primary storage device 610 such as an SDRAM, and can transfer data to the primary storage device 610 via an external memory controller 514.

また、情報処理装置500は、SDメモリーカードやCFメモリーカード等の2次記憶装置600と接続可能であり、I/Oコントローラー530を介して2次記憶装置610に対してデータ転送を行うことができる。   The information processing apparatus 500 can be connected to a secondary storage device 600 such as an SD memory card or a CF memory card, and can transfer data to the secondary storage device 610 via the I / O controller 530. it can.

また、情報処理装置500は、PCやUSBデバイス等の外部デバイス602と接続可能であり、I/Oコントローラー532を介して外部デバイス602に対してデータ転送を行うことができる。   The information processing apparatus 500 can be connected to an external device 602 such as a PC or a USB device, and can transfer data to the external device 602 via the I / O controller 532.

カメラモジュール620が撮影した画像データは、カメラインターフェース回路550を介して画像処理回路560に送られる。   Image data captured by the camera module 620 is sent to the image processing circuit 560 via the camera interface circuit 550.

画像処理回路560は、カメラインターフェース回路550を介して受け取った画像データに対してリサイズ(切り取り)、JPEG(Joint Photographic Experts Group)圧縮等の画像処理を行い、記録用フォーマットの画像データを生成する。   The image processing circuit 560 performs image processing such as resizing (cutting) and JPEG (Joint Photographic Experts Group) compression on the image data received via the camera interface circuit 550 to generate image data in a recording format.

画像処理回路560が生成した記録用フォーマットの画像データは、DMAコントローラー530により、外部メモリーコントローラー514を介して1次記憶装置610に順次転送され、1次記憶装置610に格納される。   The recording format image data generated by the image processing circuit 560 is sequentially transferred to the primary storage device 610 by the DMA controller 530 via the external memory controller 514 and stored in the primary storage device 610.

CPU510は、ROM516に格納されているプログラムを読み出し、RAM512を作業領域として、各種のデータ処理や割り込み処理等の情報処理を行う。   The CPU 510 reads out a program stored in the ROM 516 and performs information processing such as various data processing and interrupt processing using the RAM 512 as a work area.

また、CPU510は、センサーインターフェース回路570を介してセンサー630の検出信号を受け取り、所定のイベントが発生したか否かを判断する。   Further, the CPU 510 receives a detection signal of the sensor 630 via the sensor interface circuit 570, and determines whether or not a predetermined event has occurred.

そして、CPU510は所定のイベントが発生したと判断した場合は、1次記憶装置610に格納されている画像データを2次記憶装置600に転送して記録する処理を行う。具体的には、CPU510がDMAコントローラー530に画像データの転送を指示し、DMAコントローラー530が内部バス40を介して1次記憶装置610からI/Oコントローラー530のFIFOに所定の画像データをDMA転送し、I/Oコントローラー530がFIFOに書き込まれた画像データを順次2次記憶装置に記録する。   When the CPU 510 determines that a predetermined event has occurred, the CPU 510 performs processing for transferring the image data stored in the primary storage device 610 to the secondary storage device 600 and recording it. Specifically, the CPU 510 instructs the DMA controller 530 to transfer image data, and the DMA controller 530 DMA-transfers predetermined image data from the primary storage device 610 to the FIFO of the I / O controller 530 via the internal bus 40. Then, the I / O controller 530 sequentially records the image data written in the FIFO in the secondary storage device.

また、DMAコントローラー530は、内部バス40を介して1次記憶装置610やI/Oコントローラー530のFIFOからI/Oコントローラー532のFIFOに画像データをDMA転送することができる。I/Oコントローラー532は、FIFOに書き込まれた画像データを順次外部デバイス602に転送する。   The DMA controller 530 can DMA transfer image data from the FIFO of the primary storage device 610 or the I / O controller 530 to the FIFO of the I / O controller 532 via the internal bus 40. The I / O controller 532 sequentially transfers the image data written in the FIFO to the external device 602.

例えば、外部デバイス602としてディスプレイを接続すれば、1次記憶装置610や2次記憶装置600に記録されている画像データをディスプレイに表示させることができる。また、外部デバイス602としてPCを接続すれば、1次記憶装置610や2次記憶装置600に記録されている画像データをPC上で詳細に解析することができる。   For example, if a display is connected as the external device 602, the image data recorded in the primary storage device 610 or the secondary storage device 600 can be displayed on the display. If a PC is connected as the external device 602, image data recorded in the primary storage device 610 or the secondary storage device 600 can be analyzed in detail on the PC.

画像データシステム700をドライブレコーダーとして機能させる場合、カメラモジュール620は車体前方に設置されて前方の画像を一定の時間間隔で撮影し、一定時間(たとえば30秒間)の画像データが1次記憶装置610に繰り返し記録される。センサー630は車体に加わった衝撃を検出し、CPU510は、センサー630の検出信号のレベルが閾値以上であれば事故が発生したと判断する。そして、事故が発生した時は、1次記憶装置610に記録された一定期間(例えば、事故発生前の15秒間と事故発生後の15秒間)の画像データが2次記憶装置600に転送されて記録される。   When functioning the image data system 700 as a drive recorder, the camera module 620 is installed in front of the vehicle body and takes images of the front at regular time intervals. Are repeatedly recorded. The sensor 630 detects an impact applied to the vehicle body, and the CPU 510 determines that an accident has occurred if the level of the detection signal of the sensor 630 is equal to or greater than a threshold value. When an accident occurs, image data for a certain period (for example, 15 seconds before the accident and 15 seconds after the accident) recorded in the primary storage device 610 is transferred to the secondary storage device 600. To be recorded.

本実施形態の情報処理装置1を情報処理装置500として画像データ記録システム700に組み込むことにより、1次記憶装置610から2次記憶装置600への画像データの転送時間や1次記憶装置610又は2次記憶装置600から外部デバイス602への画像データの転送時間を短縮することができる。従って、より確実に画像データを保存することができるとともに、画像データの解析時間も短縮することができる。   By incorporating the information processing apparatus 1 of this embodiment into the image data recording system 700 as the information processing apparatus 500, the transfer time of the image data from the primary storage device 610 to the secondary storage device 600, the primary storage device 610 or 2 The transfer time of image data from the next storage device 600 to the external device 602 can be shortened. Therefore, the image data can be stored more reliably and the analysis time of the image data can be shortened.

なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。   In addition, this invention is not limited to this embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention.

例えば、第1実施形態の情報処理装置1では、CPU10、内部メモリー12、外部メモリーコントローラー14、DMAコントローラー20、I/Oコントローラー30が内部バス40に接続されているが、これに限られない。例えば、CPU10と内蔵メモリー12が第1の内部バスに接続され、DMAコントローラー20が第2の内部バスに接続され、外部メモリーコントローラー14及びI/Oコントローラー30がバス選択回路を介して第1の内部バス及び第2の内部バスのいずれかに接続できるように構成してもよい。   For example, in the information processing apparatus 1 according to the first embodiment, the CPU 10, the internal memory 12, the external memory controller 14, the DMA controller 20, and the I / O controller 30 are connected to the internal bus 40. For example, the CPU 10 and the built-in memory 12 are connected to the first internal bus, the DMA controller 20 is connected to the second internal bus, and the external memory controller 14 and the I / O controller 30 are connected to the first internal bus via the bus selection circuit. You may comprise so that it can connect to either an internal bus and a 2nd internal bus.

また、本実施形態のデータ記録システム700では、DMAコントローラーが1つしかないが、複数個設けてもよい。例えば、画像処理回路560から外部メモリーコントローラー514への画像データの転送制御を専用に行うDMAコントローラーとその他のデータ転送を制御するDMAコントローラーをそれぞれ別個に設けるようにしてもよい。   In the data recording system 700 of this embodiment, there is only one DMA controller, but a plurality of DMA controllers may be provided. For example, a DMA controller that exclusively controls the transfer of image data from the image processing circuit 560 to the external memory controller 514 and a DMA controller that controls other data transfers may be provided separately.

本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。   The present invention includes configurations that are substantially the same as the configurations described in the embodiments (for example, configurations that have the same functions, methods, and results, or configurations that have the same objects and effects). In addition, the invention includes a configuration in which a non-essential part of the configuration described in the embodiment is replaced. In addition, the present invention includes a configuration that exhibits the same operational effects as the configuration described in the embodiment or a configuration that can achieve the same object. Further, the invention includes a configuration in which a known technique is added to the configuration described in the embodiment.

第1実施形態の情報処理装置の構成について説明するための図。The figure for demonstrating the structure of the information processing apparatus of 1st Embodiment. 第1実施形態におけるDMAコントローラーの構成について説明するための図。The figure for demonstrating the structure of the DMA controller in 1st Embodiment. 第1実施形態におけるI/Oコントローラーの構成について説明するための図。The figure for demonstrating the structure of the I / O controller in 1st Embodiment. 第1実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 1st Embodiment. 第1実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 1st Embodiment. 第1実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 1st Embodiment. 第1実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 1st Embodiment. 第1実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 1st Embodiment. 第1実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 1st Embodiment. 第2実施形態におけるDMAコントローラーの構成について説明するための図。The figure for demonstrating the structure of the DMA controller in 2nd Embodiment. 第2実施形態におけるI/Oコントローラーの構成について説明するための図。The figure for demonstrating the structure of the I / O controller in 2nd Embodiment. 第2実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 2nd Embodiment. 第2実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 2nd Embodiment. 第2実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 2nd Embodiment. 第2実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 2nd Embodiment. 第3実施形態の情報処理装置の構成について説明するための図。The figure for demonstrating the structure of the information processing apparatus of 3rd Embodiment. 第3実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 3rd Embodiment. 第3実施形態におけるデータ転送のタイミングチャートの一例を示す図。The figure which shows an example of the timing chart of the data transfer in 3rd Embodiment. 本実施形態の画像データ記録システムの構成について説明するための図。The figure for demonstrating the structure of the image data recording system of this embodiment.

符号の説明Explanation of symbols

1 情報処理装置、10 CPU、12 内部メモリー、14 外部メモリーコントローラー、20 DMAコントローラー、22 DMAアクノリッジ信号、24 DMA終了割り込み信号、30 I/Oコントローラー、30a I/Oコントローラー、30b I/Oコントローラー、32 DMAリクエスト信号、34 DMAリクエスト信号、36 DMAリクエスト信号、40 内部バス、41 ライトデータ、42 リードデータ、43 アドレス信号、44 ライト信号、45 バス要求信号、46 バス認可信号、
100 外部デバイス、100a 外部デバイス、100b 外部デバイス、110 外部メモリー、200 レジスタ部、202 転送元アドレスレジスタ、204 転送先アドレスレジスタ、206 転送サイズカウンタ、208 制御レジスタ、210 制御部、212 DMAイネーブル信号、220 FIFO、230 バスマスターインターフェース部、300 レジスタ部、302 DMA制御レジスタ、304 I/O制御レジスタ、310 DMA制御部、312 転送モード信号、320 FIFO、330 バススレーブインターフェース部、340 I/Oインターフェース部、500 情報処理装置、510 CPU、512 RAM、514 外部メモリーコントローラー、516 ROM、520 DMAコントローラー、530 I/Oコントローラー、532 I/Oコントローラー、540 内部バス、550 カメラインターフェース回路、560 画像処理回路、570 センサーインターフェース回路、600 2次記憶装置、602 外部デバイス、610 1次記憶装置、620 カメラモジュール、630 センサー、700 画像データ記録システム
1 Information processing device, 10 CPU, 12 internal memory, 14 external memory controller, 20 DMA controller, 22 DMA acknowledge signal, 24 DMA end interrupt signal, 30 I / O controller, 30a I / O controller, 30b I / O controller, 32 DMA request signal, 34 DMA request signal, 36 DMA request signal, 40 internal bus, 41 write data, 42 read data, 43 address signal, 44 write signal, 45 bus request signal, 46 bus grant signal,
100 external device, 100a external device, 100b external device, 110 external memory, 200 register unit, 202 transfer source address register, 204 transfer destination address register, 206 transfer size counter, 208 control register, 210 control unit, 212 DMA enable signal, 220 FIFO, 230 bus master interface unit, 300 register unit, 302 DMA control register, 304 I / O control register, 310 DMA control unit, 312 transfer mode signal, 320 FIFO, 330 bus slave interface unit, 340 I / O interface unit , 500 Information processing device, 510 CPU, 512 RAM, 514 External memory controller, 516 ROM, 520 DMA controller, 530 I / O controller 532 I / O controller, 540 internal bus, 550 camera interface circuit, 560 image processing circuit, 570 sensor interface circuit, 600 secondary storage device, 602 external device, 610 primary storage device, 620 camera module, 630 sensor, 700 Image data recording system

Claims (8)

内部バスと、
前記内部バスを介して転送元リソースからデータを読み出し、読み出したデータを、前記内部バスを介して転送先リソースに書き込むことにより、前記転送元リソースから前記転送先リソースにデータ転送を行うDMA転送制御部と、
I/Oバッファを含み、前記I/Oバッファと外部デバイスの間のデータ転送を行うI/O制御部と、
前記転送元リソースと前記転送先リソースを特定する情報及び前記転送元リソースから前記転送先リソースへのデータ転送の対象となるデータのサイズを特定する情報を設定する転送情報設定部と、を含み、
前記DMA転送制御部は、
前記転送元リソースが前記I/O制御部である場合は、前記I/O制御部からの1回のデータ転送要求に対して、前記I/Oバッファから複数のデータを連続して読み出すか1つのデータを読み出すかを選択し、前記転送先リソースが前記I/O制御部である場合は、前記I/O制御部からの1回のデータ転送要求に対して、前記I/Oバッファに複数のデータを連続して書き込むか1つのデータを書き込むかを選択することを特徴とする情報処理装置。
An internal bus,
DMA transfer control for transferring data from the transfer source resource to the transfer destination resource by reading data from the transfer source resource via the internal bus and writing the read data to the transfer destination resource via the internal bus And
An I / O control unit that includes an I / O buffer and performs data transfer between the I / O buffer and an external device;
A transfer information setting unit configured to set information for specifying the transfer source resource and the transfer destination resource and information for specifying a size of data to be transferred from the transfer source resource to the transfer destination resource,
The DMA transfer control unit
When the transfer source resource is the I / O control unit, whether or not a plurality of data is continuously read from the I / O buffer in response to a single data transfer request from the I / O control unit. When the data to be read is selected and the transfer destination resource is the I / O control unit, a plurality of data is requested in the I / O buffer in response to one data transfer request from the I / O control unit. The information processing apparatus is characterized by selecting whether to continuously write the data or to write one data.
請求項1において、
前記転送情報設定部は、
前記DMA転送制御部が前記I/Oバッファに対して読み出し又は書き込みを連続して行うデータ数を特定する情報を設定することを特徴とする情報処理装置。
In claim 1,
The transfer information setting unit
An information processing apparatus, wherein the DMA transfer control unit sets information for specifying the number of data to be continuously read from or written to the I / O buffer.
請求項1又は2において、
前記DMA転送制御部は、
前記I/Oバッファに対して前記複数のデータの読み出し又は書き込みを連続して行う場合は、読み出し又は書き込みを開始してから終了するまで前記内部バスのバス権を占有するか否かを選択することを特徴とする情報処理装置。
In claim 1 or 2,
The DMA transfer control unit
When continuously reading or writing the plurality of data to or from the I / O buffer, a selection is made as to whether or not to occupy the bus right of the internal bus from the start to the end of the read or write. An information processing apparatus characterized by that.
請求項1乃至3のいずれかにおいて、
前記転送情報設定部は、
前記転送元リソースから前記転送先リソースへのデータ転送の転送モードを設定し、
前記DMA転送制御部は、
前記転送モードに基づいて、1回の前記データ転送要求に対して、前記I/Oバッファに対して前記複数のデータの読み出し又は書き込みを連続して行うか1つのデータの読み出し又は書き込みを行うかを選択することを特徴とする情報処理装置。
In any one of Claims 1 thru | or 3,
The transfer information setting unit
Set the transfer mode of data transfer from the transfer source resource to the transfer destination resource,
The DMA transfer control unit
Based on the transfer mode, in response to one data transfer request, whether to read or write the plurality of data to the I / O buffer continuously or to read or write one data An information processing apparatus characterized by selecting.
請求項1乃至3のいずれかにおいて、
前記I/O制御部は、
前記転送先リソースになる場合は前記I/Oバッファの空き領域のサイズと前記I/Oバッファに連続して書き込まれる前記複数のデータのサイズを比較し、前記転送元リソースになる場合は前記I/Oバッファに格納されているデータのサイズと前記I/Oバッファから連続して読み出される前記複数のデータのサイズを比較し、比較結果に基づいて前記DMA転送制御部に対して連続転送要求信号又は単位転送要求信号を送出し、
前記DMA転送制御部は、
前記連続転送要求信号を受け取った時は前記I/Oバッファに対して前記複数のデータの読み出し又は書き込みを連続して行い、前記単位転送要求信号を受け取った時は前記I/Oバッファに対して1つのデータの読み出し又は書き込みを行うことを特徴とする情報処理装置。
In any one of Claims 1 thru | or 3,
The I / O control unit
When the resource becomes the transfer destination resource, the size of the free area of the I / O buffer is compared with the size of the plurality of data continuously written to the I / O buffer. The size of the data stored in the / O buffer is compared with the size of the plurality of data continuously read from the I / O buffer, and a continuous transfer request signal is sent to the DMA transfer control unit based on the comparison result Or send a unit transfer request signal,
The DMA transfer control unit
When the continuous transfer request signal is received, the plurality of data is continuously read or written to the I / O buffer, and when the unit transfer request signal is received, the I / O buffer is read. An information processing apparatus that reads or writes one piece of data.
請求項1乃至5のいずれかにおいて、
前記I/O制御部は、
前記DMA転送制御部が前記I/Oバッファから連続して読み出し又は書き込みを行うデータのサイズが、前記データ転送の対象となるデータのサイズよりも小さい場合には、前記DMA転送制御部に対して複数回に分けてデータ転送要求を行うことを特徴とする情報処理装置。
In any one of Claims 1 thru | or 5,
The I / O control unit
If the size of the data that the DMA transfer control unit continuously reads or writes from the I / O buffer is smaller than the size of the data to be transferred, the DMA transfer control unit An information processing apparatus characterized in that a data transfer request is made in a plurality of times.
請求項1乃至6のいずれかにおいて、
第1の前記I/Oバッファを含む第1の前記I/O制御部と、
第2の前記I/Oバッファを含む第2の前記I/O制御部と、を含み、
前記DMA転送制御部は、
前記転送元リソースが前記第1のI/O制御部であり、かつ、前記転送先リソースが前記第2のI/O制御部である場合は、前記第1のI/O制御部からの1回のデータ転送要求に対して、前記第1のI/Oバッファから複数のデータを連続して読み出すか1つのデータを読み出すかを選択し、前記第2のI/O制御部からの1回のデータ転送要求に対して、前記第2のI/Oバッファに複数のデータを連続して書き込むか1つのデータを書き込むかを選択することを特徴とする情報処理装置。
In any one of Claims 1 thru | or 6.
A first I / O controller including the first I / O buffer;
A second I / O control unit including a second I / O buffer;
The DMA transfer control unit
When the transfer source resource is the first I / O control unit and the transfer destination resource is the second I / O control unit, 1 from the first I / O control unit In response to one data transfer request, it is selected whether to read a plurality of data continuously from the first I / O buffer or to read one data, and once from the second I / O control unit. In response to the data transfer request, the information processing apparatus selects whether to write a plurality of data continuously or to write one data in the second I / O buffer.
請求項1乃至7に記載の情報処理装置と、
少なくとも1つのカメラモジュールと、
前記カメラモジュールが所定間隔で撮像した複数の画像データを一時的に記憶する第1の記憶装置と、
前記情報処理装置の前記I/O制御部の前記I/Oバッファとデータ転送を行う不揮発性の第2の記憶装置と、を含み、
前記情報処理装置は、
所定のイベントの発生に基づいて、前記DMA転送制御部が前記第1の記憶装置に記憶されている前記画像データを前記I/Oバッファに転送し、前記I/O制御部が前記I/Oバッファに転送された前記画像データを前記第2の記憶装置に転送することを特徴とする画像データ記録システム。
An information processing apparatus according to claim 1;
At least one camera module;
A first storage device that temporarily stores a plurality of image data captured by the camera module at predetermined intervals;
A non-volatile second storage device that performs data transfer with the I / O buffer of the I / O control unit of the information processing device,
The information processing apparatus includes:
Based on the occurrence of a predetermined event, the DMA transfer control unit transfers the image data stored in the first storage device to the I / O buffer, and the I / O control unit transfers the I / O control unit. An image data recording system, wherein the image data transferred to a buffer is transferred to the second storage device.
JP2008329448A 2008-12-25 2008-12-25 Information processor, and image data recording system Withdrawn JP2010152604A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008329448A JP2010152604A (en) 2008-12-25 2008-12-25 Information processor, and image data recording system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008329448A JP2010152604A (en) 2008-12-25 2008-12-25 Information processor, and image data recording system

Publications (1)

Publication Number Publication Date
JP2010152604A true JP2010152604A (en) 2010-07-08

Family

ID=42571631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008329448A Withdrawn JP2010152604A (en) 2008-12-25 2008-12-25 Information processor, and image data recording system

Country Status (1)

Country Link
JP (1) JP2010152604A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049705A (en) * 2015-08-31 2017-03-09 キヤノン株式会社 Data processing apparatus, information processing apparatus, control method thereof, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049705A (en) * 2015-08-31 2017-03-09 キヤノン株式会社 Data processing apparatus, information processing apparatus, control method thereof, and program

Similar Documents

Publication Publication Date Title
US7478189B2 (en) Deadlock avoidance in a bus fabric
US20130198432A1 (en) Interrupt handling systems and methods for pcie bridges with multiple buses
US7340544B2 (en) Method of using bus and bus interface
JP4198376B2 (en) Bus system and information processing system including bus system
US20060236001A1 (en) Direct memory access controller
JP7001001B2 (en) Control device, image forming device, control method and control program
US7774513B2 (en) DMA circuit and computer system
JP4408840B2 (en) HDD controller and system equipped with the same
JP4748641B2 (en) Information processing system
JP2010152604A (en) Information processor, and image data recording system
US20060224806A1 (en) Multi CPU system
JP2010140440A (en) Bus arbitration device
KR100441996B1 (en) Direct Memory Access(DMA) Controller and control method
US20060101173A1 (en) Pin sharing system
JP5648472B2 (en) Semiconductor device and control method
JP4249741B2 (en) Bus system and information processing system including bus system
JP5229922B2 (en) Information processing system
JP2005301714A (en) Multi-cpu system, its data transfer method, and its program
JP2007249667A (en) Data transfer device, and data transfer system
JP4743110B2 (en) Data processing device
JP2006092077A (en) Bus system
JP4538054B2 (en) Data transfer apparatus and method
JP2003085125A (en) Memory controller and memory control method
JPH07334453A (en) Memory access system
JPH1141595A (en) Video decoder lsi

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120306