JP2014048955A - Data transfer device, and data transfer method - Google Patents

Data transfer device, and data transfer method Download PDF

Info

Publication number
JP2014048955A
JP2014048955A JP2012192288A JP2012192288A JP2014048955A JP 2014048955 A JP2014048955 A JP 2014048955A JP 2012192288 A JP2012192288 A JP 2012192288A JP 2012192288 A JP2012192288 A JP 2012192288A JP 2014048955 A JP2014048955 A JP 2014048955A
Authority
JP
Japan
Prior art keywords
data transfer
data
dma
dma device
counter
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.)
Pending
Application number
JP2012192288A
Other languages
Japanese (ja)
Inventor
Hiroshi Ichimura
啓 市村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012192288A priority Critical patent/JP2014048955A/en
Publication of JP2014048955A publication Critical patent/JP2014048955A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a data transfer device in which DMA data transfer by a plurality of programs is made possible with an appropriate buffer capacity.SOLUTION: Data transfer from a memory storing data to a DMA device, having a buffer and a plurality of registers each storing a maximum beat number corresponding to each program, by a plurality of programs is performed as follows: A transfer command is read out by using a storage address set in a counter on the basis of a data transfer request from the DMA device, and DMA data transfer from a memory to a DMA device is performed. At this occasion, data, a counter identifier of a counter, in which a storage address for an executed transfer command, and a maximum beat number of a program executing the transfer command are output to a DMA device. On the other hand, the DMA device controls allocation of the buffer and DMA data transfer in accordance with a maximum beat number corresponding to the counter identifier.

Description

本発明はデータ転送装置及びデータ転送方法に関し、特に、DMAデータ転送を行うデータ転送装置及びデータ転送方法に関する。   The present invention relates to a data transfer apparatus and a data transfer method, and more particularly to a data transfer apparatus and a data transfer method for performing DMA data transfer.

CPUに負荷をかけることなくデータを転送するために、従来、ダイレクトメモリアクセス(DMA)を採用した装置が提案されている。例えば、特許文献1に開示されているデータ転送装置には、図7に示すように3つのプログラムカウンタ(PC)3−1、3−2、3−3とこれらに格納された3つのアドレスのいずれかを選択するPC選択部4が備えられている。そして、PC選択部4で選択されたアドレスに格納されている命令は一度、命令メモリ5に格納され、命令デコード部6でその命令がデコードされる。その命令に基づいて、データ転送実行部7がDMAポート7−1もしくは7−2を介してDMAデバイス1−1もしくは1−2にデータを転送する。   In order to transfer data without imposing a load on the CPU, a device employing direct memory access (DMA) has been proposed. For example, the data transfer device disclosed in Patent Document 1 includes three program counters (PC) 3-1, 3-2, and 3-3 and three addresses stored in these as shown in FIG. A PC selection unit 4 for selecting either one is provided. The instruction stored at the address selected by the PC selection unit 4 is once stored in the instruction memory 5, and the instruction decoding unit 6 decodes the instruction. Based on the command, the data transfer execution unit 7 transfers data to the DMA device 1-1 or 1-2 via the DMA port 7-1 or 7-2.

特開2005−352594号公報JP 2005-352594 A

DMAデータ転送において高速転送を実行する場合、DMAデバイスのデータ処理性能の関係からデータ受信用バッファを設けることがある。複数の処理モードを持つ装置の場合、1つのDMAデバイスに対して、そのモードによって連続転送量(以降、ビート数)が異なる場合がある。この場合は、DMAデバイスごとに、いずれのモードが選択されてもバッファ不足を生じさせない容量にする必要がある。   When performing high-speed transfer in DMA data transfer, a data reception buffer may be provided due to the data processing performance of the DMA device. In the case of an apparatus having a plurality of processing modes, the continuous transfer amount (hereinafter, the number of beats) may differ depending on the mode for one DMA device. In this case, each DMA device needs to have a capacity that does not cause a buffer shortage regardless of which mode is selected.

しかしながら、特許文献1に開示された従来例では、DMA転送におけるビート数が分からないため、安全のためバッファ容量を多めに確保しておく必要がある。従って、限られた容量のバッファを有効に使用することができず、非効率であった。   However, in the conventional example disclosed in Patent Document 1, since the number of beats in DMA transfer is not known, it is necessary to secure a large buffer capacity for safety. Therefore, a buffer with a limited capacity cannot be used effectively, which is inefficient.

本発明は上記従来例に鑑みてなされたもので、適切なバッファ容量で複数のプログラムによるDMAデータ転送が可能なデータ転送装置及びデータ転送方法を提供することを目的としている。   The present invention has been made in view of the above conventional example, and an object thereof is to provide a data transfer apparatus and a data transfer method capable of transferring DMA data by a plurality of programs with an appropriate buffer capacity.

上記目的を達成するために本発明のデータ転送装置は、次のような構成を有する。   In order to achieve the above object, a data transfer apparatus of the present invention has the following configuration.

即ち、複数のプログラムによりDMAデータ転送を制御するデータ転送装置であって、データを格納するメモリと、CPUから指示されたデータ転送命令を格納する格納手段と、前記複数のプログラムそれぞれに対応するデータ転送命令が格納された前記格納手段のアドレスがセットされた複数のカウンタと、前記複数のプログラムそれぞれに対応する最大ビート数を示す情報を格納する複数の第1のレジスタと、バッファとを備えたDMAデバイスと、前記DMAデバイスからのデータ転送要求に基いて、前記複数のカウンタにセットされたアドレスを用いて前記格納手段にアクセスして格納されたデータ転送命令を読み出し、前記メモリから前記DMAデバイスへのDMAデータ転送を実行する際に、前記データと実行する前記データ転送命令のアドレスを格納するカウンタのカウンタ識別子を前記DMAデバイスに出力するデータ転送手段とを有し、前記DMAデバイスは、前記カウンタ識別子に対応したプログラムの最大ビート数に従って前記バッファの割り当て及びDMAデータ転送を制御することを特徴とする。   That is, a data transfer device for controlling DMA data transfer by a plurality of programs, a memory for storing data, storage means for storing a data transfer instruction instructed by the CPU, and data corresponding to each of the plurality of programs A plurality of counters in which addresses of the storage means storing transfer instructions are set; a plurality of first registers for storing information indicating the maximum number of beats corresponding to each of the plurality of programs; and a buffer. Based on a data transfer request from the DMA device and the DMA device, the storage unit is accessed by using the addresses set in the plurality of counters, and the stored data transfer instruction is read out from the memory. When executing DMA data transfer to the data, the data and the data transfer to be executed are performed. Data transfer means for outputting a counter identifier of a counter for storing an instruction address to the DMA device, the DMA device assigning the buffer and transferring the DMA data according to the maximum number of beats of a program corresponding to the counter identifier It is characterized by controlling.

従って本発明によれば、複数のプログラムに従ってデータ転送する場合に、各プログラムごとの最大ビート数を格納し、この最大ビート数に基いてバッファの割り当て及びDMAデータ転送を制御することができる。これにより、例えば、複数の処理モードを持ち、モード毎のビート数がプログラムごとに異なる場合においてもバッファ容量に適切に管理することができ、不必要にバッファ容量を増大させることはなくなる。   Therefore, according to the present invention, when data is transferred according to a plurality of programs, the maximum number of beats for each program can be stored, and buffer allocation and DMA data transfer can be controlled based on the maximum number of beats. Thus, for example, even when there are a plurality of processing modes and the number of beats for each mode differs for each program, the buffer capacity can be appropriately managed, and the buffer capacity is not increased unnecessarily.

本発明の実施形態であるデータ転送部を含んだデータ処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data processing apparatus containing the data transfer part which is embodiment of this invention. データ転送部の詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of a data transfer part. データ転送部の動作概要を示すフローチャートである。It is a flowchart which shows the operation | movement outline | summary of a data transfer part. DMAデバイスの構成と動作を説明する図である。It is a figure explaining a structure and operation | movement of a DMA device. データ転送部とDMAデバイス間の信号プロトコルを示すタイミングチャートである。It is a timing chart which shows the signal protocol between a data transfer part and a DMA device. DMAデータポートからの転送データフォーマットを示す図である。It is a figure which shows the transfer data format from a DMA data port. 従来技術に従うデータ転送装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data transfer apparatus according to a prior art.

以下添付図面を参照して本発明の実施形態の一例について詳細に説明する。   Hereinafter, an example of an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

なお、この明細書において、「記録」(以下、「プリント」とも称する)とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、広く記録媒体上に画像、模様、パターン等を形成する、又は媒体の加工を行う場合も表すものとする。また、人間が視覚で知覚し得るように顕在化したものであるか否かを問わない。   In this specification, “recording” (hereinafter also referred to as “printing”) is not only for forming significant information such as characters and figures, but also for images on a wide range of recording media, regardless of significance. A case where a pattern, a pattern, or the like is formed or a medium is processed is also expressed. It does not matter whether it has been made obvious so that humans can perceive it visually.

また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。   “Recording medium” refers not only to paper used in general recording apparatuses but also widely to cloth, plastic film, metal plate, glass, ceramics, wood, leather, and the like that can accept ink. Shall.

図1は、本発明の実施形態であるデータ転送部を含んだデータ処理装置101のブロック図である。   FIG. 1 is a block diagram of a data processing apparatus 101 including a data transfer unit according to an embodiment of the present invention.

図1において、CPU102は内蔵ROM(不図示)に格納されたプログラムに従ってデータ処理を行う演算回路として動作する。データ転送部105は内蔵されたメモリ(不図示)に記憶されたプログラムに従って、メモリ104とDMAデバイス106との間のDMAデータ転送を制御する。CPU102はデータ転送部105にも接続され、データ転送の開始や終了などのメッセージとデータ転送部105へのプログラムの転送を行う。   In FIG. 1, a CPU 102 operates as an arithmetic circuit that performs data processing according to a program stored in a built-in ROM (not shown). The data transfer unit 105 controls DMA data transfer between the memory 104 and the DMA device 106 according to a program stored in a built-in memory (not shown). The CPU 102 is also connected to the data transfer unit 105, and transfers messages such as data transfer start and end and a program to the data transfer unit 105.

データ転送部105はプログラム(スレッド)を所定の単位で切り替えながら異なるデータを転送する。これにより見かけ上、複数の異なるデータが同時並行的に処理されることになる。データ転送部105は処理対象のデータを転送する際、当該データの転送に同期させて、当該データに対応したプログラム(スレッド)を識別する情報(PGNum)を転送する。   The data transfer unit 105 transfers different data while switching programs (threads) in predetermined units. As a result, a plurality of different data are apparently processed in parallel. When transferring data to be processed, the data transfer unit 105 transfers information (PGNum) for identifying a program (thread) corresponding to the data in synchronization with the transfer of the data.

DMAデバイス106はデータ転送部105と2つのDMAポート105a、105bを介して接続されている。DMAデバイス106はデータ転送部105からデータとコマンドを受信し、そのコマンド情報に基いて受信したデータをIP_A107、IP_B108、IP_C109に転送する機能を有している。   The DMA device 106 is connected to the data transfer unit 105 via two DMA ports 105a and 105b. The DMA device 106 has a function of receiving data and a command from the data transfer unit 105 and transferring the received data to the IP_A 107, IP_B 108, and IP_C 109 based on the command information.

IP_A107、IP_B108、IP_C109は所定の画像処理を実行するプロセッサ(Image Processor)であり、それぞれ異なる画像処理を実行可能な機能ブロック(処理ユニット)である。DMAデバイス106は処理対象のデータとともに送られてくるPGNumによって受信したデータがどのプログラムに対応したものであるかが分かるので、それに従ったIPにデータを転送する。また、DMAデバイス106はPGNumとともに送られてくるビート数コマンドによってプログラム毎の最大ビート数に応じたデータ転送及びバッファ制御を行う。   IP_A 107, IP_B 108, and IP_C 109 are processors (Image Processors) that execute predetermined image processing, and are functional blocks (processing units) that can execute different image processing. The DMA device 106 knows which program corresponds to the received data by the PGNum sent together with the data to be processed, and transfers the data to the corresponding IP. Further, the DMA device 106 performs data transfer and buffer control according to the maximum number of beats for each program by a beat number command transmitted together with PGNum.

2つのDMAポートとは処理対象のデータを送信するポートがDMAデータポート105aであり、ビート数を示すコマンドを送信するポートがDMAコマンドポート105bである。   The two DMA ports are a DMA data port 105a that transmits data to be processed and a DMA command port 105b that transmits a command indicating the number of beats.

データ処理装置101は、例えば、インクジェット記録ヘッドを搭載した記録装置に適用される。この記録装置は、インクジェット記録ヘッドを搭載したキャリッジを往復走査して記録媒体にインクを吐出するエンジン部と、ホストと接続して画像データを受信し、画像処理や記録制御を行う印刷制御部と備える。この印刷制御部は、CPUやメモリやホストとのインタフェースを備えるが、このメモリへのデータの入出力にDMA転送が用いられ処理の高速化が図られている。この印刷制御部にデータ処理装置101が組み込まれ、データ転送の高速化を図っているものである。特に、記録媒体のサイズがA0、B0サイズなどの大判の記録用紙を用いる場合、この記録装置が扱う画像データ量も膨大になり、ここで説明するようなDMA転送を実行するデータ処理装置を適用することにより処理の高速化の点で効果は著しい。記録媒体のサイズがA4、B4サイズのオフィス用、個人用のインクジェット記録装置にも、このデータ処理装置が適用可能である。   The data processing apparatus 101 is applied to, for example, a recording apparatus equipped with an inkjet recording head. The recording apparatus includes an engine unit that reciprocally scans a carriage on which an inkjet recording head is mounted and ejects ink onto a recording medium; a print control unit that receives image data by connecting to a host and performs image processing and recording control; Prepare. The print control unit includes an interface with a CPU, a memory, and a host. However, DMA transfer is used for inputting / outputting data to / from the memory to increase the processing speed. A data processing apparatus 101 is incorporated in the print control unit to speed up data transfer. In particular, when a large-sized recording sheet having a recording medium size of A0, B0 or the like is used, the amount of image data handled by the recording apparatus becomes enormous, and a data processing apparatus that executes DMA transfer as described here is applied. By doing so, the effect is remarkable in terms of speeding up the processing. This data processing apparatus can also be applied to office and personal inkjet recording apparatuses having a recording medium size of A4 or B4.

なお、適用される記録装置は、上記構成のインクジェット記録装置のみならず、電子写真方式、昇華方式、熱転写方式など、他の記録方式を適用した多くの種類の記録装置に及ぶ。   Note that the recording apparatus to be applied covers not only the ink jet recording apparatus having the above-described configuration, but also a wide variety of recording apparatuses to which other recording systems such as an electrophotographic system, a sublimation system, and a thermal transfer system are applied.

図2はデータ転送部105の詳細な構成を示すブロック図である。ここでは、特に、DMAデバイス106への出力転送を例に図示している。   FIG. 2 is a block diagram showing a detailed configuration of the data transfer unit 105. Here, in particular, output transfer to the DMA device 106 is illustrated as an example.

図2において、プログラムカウンタ(PC)更新部200によりプログラムカウンタ(PC)201、202、203にセットされたアドレスは、メモリ206に格納された転送命令のアドレスを示すものである。プログラムカウンタ(PC)選択部204はプログラムカウンタ201、202、203のいずれか値をデータ転送実行部208からの制御信号に基づいて選択する。   In FIG. 2, the addresses set in the program counters (PC) 201, 202, 203 by the program counter (PC) update unit 200 indicate the addresses of transfer instructions stored in the memory 206. A program counter (PC) selection unit 204 selects any one of the program counters 201, 202, and 203 based on a control signal from the data transfer execution unit 208.

アドレス(adr)選択部205はメモリ206へのアクセスアドレスを切り替える。CPU102からライトアクセスがある場合、CPU102からのアドレスを選択するとともに、メモリ206にデータをライトするシーケンスを発生させ(不図示)、所望のアドレスにデータをライトする。命令デコード部207はメモリ206から読み込んだデータ転送命令を解読し、データ転送方向、データ転送先、データ転送元などを判定する。   An address (adr) selection unit 205 switches an access address to the memory 206. When there is a write access from the CPU 102, an address from the CPU 102 is selected, a sequence for writing data to the memory 206 is generated (not shown), and the data is written to a desired address. The instruction decoding unit 207 decodes the data transfer instruction read from the memory 206 and determines the data transfer direction, the data transfer destination, the data transfer source, and the like.

データ転送実行部208は、命令デコード部207で解読したデータ転送命令に従ってDMAデータポート105aもしくはCPUバス210を駆動してメモリ104とDMAデバイス106とのデータ転送を実行する。DMAコマンドポート105bは、各プログラムのビート数をDMAデバイス106に通知する。また、データ転送実行部208はデータ転送部105のプログラムカウンタ番号の管理も担っている。DMAデバイス106がデータ転送要求(DMA_Req)信号をアサートすることで、2つのDMAポート105a、105bとDMAデバイス106との間のデータ転送が開始される。   The data transfer execution unit 208 drives the DMA data port 105 a or the CPU bus 210 in accordance with the data transfer instruction decoded by the instruction decoding unit 207 and executes data transfer between the memory 104 and the DMA device 106. The DMA command port 105b notifies the DMA device 106 of the number of beats of each program. The data transfer execution unit 208 also manages the program counter number of the data transfer unit 105. When the DMA device 106 asserts a data transfer request (DMA_Req) signal, data transfer between the two DMA ports 105 a and 105 b and the DMA device 106 is started.

次にデータ転送部の実際の動作をフローチャートを参照して説明する。   Next, the actual operation of the data transfer unit will be described with reference to a flowchart.

図3はデータ転送部105の動作概要を示すフローチャートである。   FIG. 3 is a flowchart showing an outline of the operation of the data transfer unit 105.

まず、ステップS301では、CPU102がデータ転送部105のメモリ206に、3種類のデータ転送用のプログラムを書き込む。さらに、ステップS302では、CPU102がデータ転送実行部208にプログラムを起動するように設定する。   First, in step S301, the CPU 102 writes three types of data transfer programs in the memory 206 of the data transfer unit 105. In step S302, the CPU 102 sets the data transfer execution unit 208 to start the program.

ステップS303では、データ転送実行部208はプログラムカウンタ選択部204に対して制御信号を発行し、プログラムカウンタ201を選択するよう指示する。これにより、プログラムカウンタ201の値が示すメモリ206のアドレスに格納されている命令データが読み出され、命令デコード部207へ渡される。ステップS304では、受信したデータをデコードし、データ転送命令としてデータ転送実行部208へ伝達する。   In step S303, the data transfer execution unit 208 issues a control signal to the program counter selection unit 204 to instruct the program counter 201 to be selected. As a result, the instruction data stored at the address of the memory 206 indicated by the value of the program counter 201 is read and passed to the instruction decoding unit 207. In step S304, the received data is decoded and transmitted to the data transfer execution unit 208 as a data transfer command.

ステップS305では受信したデータ転送命令に従って、データ転送実行部208は、メモリ104にリード要求を行う。ステップS306では、これに応じて、メモリ104から読み込んだ処理対象のデータを、どのプログラムに従ったデータかを識別するためのPGNumの情報とともにDMAデータポート105aを経てDMAデバイス106へ転送する。或いは、メモリ104から読み込んだ処理対象のデータを、PGNumの情報とともにビート数コマンドをDMAコマンドポート105bを経てDMAデバイス106へ転送する。   In step S305, the data transfer execution unit 208 makes a read request to the memory 104 in accordance with the received data transfer command. In step S306, in response to this, the processing target data read from the memory 104 is transferred to the DMA device 106 via the DMA data port 105a together with PGNum information for identifying which program the data conforms to. Alternatively, the processing target data read from the memory 104 is transferred to the DMA device 106 via the DMA command port 105b along with the PGNum information and the beat number command.

なお、ステップS303〜S306はパイプライン動作により実行される。例えば、ステップS303は、最初にプログラムカウンタ201を選択、次にプログラムカウンタ202を選択、その次はプログラムカウンタ203を選択というように、実行中のプログラムカウンタを順次選択していく。そして、所定単位毎に処理対象のプログラムを切り替えながら処理を進める。プログラムが最後まで実行されると、当該プログラムカウンタを除いたプログラムカウンタを順次選択し、すべてのプログラムが最後まで実行されるまで継続する。   Note that steps S303 to S306 are executed by a pipeline operation. For example, in step S303, the currently executed program counter is sequentially selected such that the program counter 201 is first selected, the program counter 202 is then selected, and then the program counter 203 is selected. Then, the process proceeds while switching the program to be processed for each predetermined unit. When the program is executed to the end, program counters excluding the program counter are sequentially selected and continued until all programs are executed to the end.

ステップS304の命令デコードについても同様にステップS303で選択されたプログラムカウンタのアドレスに格納されている命令を順次デコードする。ステップS303やステップS304はデータ転送実行部208の動作状況に応じて一時停止することが可能である。即ち、ステップS303とステップS304がパイプライン動作することで、ステップS305において命令実行のための待ち時間を少なくすることが可能である。   Similarly for the instruction decoding in step S304, the instructions stored at the address of the program counter selected in step S303 are sequentially decoded. Steps S303 and S304 can be temporarily stopped according to the operation status of the data transfer execution unit 208. That is, by performing pipeline operations in step S303 and step S304, it is possible to reduce the waiting time for instruction execution in step S305.

ステップS307ではすべてのプログラムが実行されデータが転送されたかどうかを確認する。そして、転送未完了であれば、処理はステップS303に戻るが、転送終了と判断されれば、CPU102へ割り込みをアサートし、データ転送が完了したことを通知して処理を終了する。   In step S307, it is confirmed whether all programs have been executed and data has been transferred. If the transfer is not completed, the process returns to step S303. If it is determined that the transfer is completed, an interrupt is asserted to the CPU 102 to notify that the data transfer is completed and the process ends.

ここで、DMAデバイス106の構成と動作について詳細に説明する。   Here, the configuration and operation of the DMA device 106 will be described in detail.

図4はDMAデバイス106の構成と動作を説明する図である。   FIG. 4 is a diagram for explaining the configuration and operation of the DMA device 106.

DMAデバイス106は、図1から分かるように、IP_A107、IP_B108、IP_C109と接続されており、IP107〜109のアドレス空間は分離するようにマッピングされている。   As can be seen from FIG. 1, the DMA device 106 is connected to the IP_A 107, IP_B 108, and IP_C 109, and the address spaces of the IPs 107 to 109 are mapped so as to be separated.

さて、DMAデバイス106は、図4(a)に示すように、プログラムカウンタ番号ごとにアドレスを管理するレジスタ(第2のレジスタ)110、111、112と最大ビート数を管理するレジスタ(第1のレジスタ)115、116、117を備えている。そして、CPU102或いはDMAコマンドポート105bより各IP107〜109に対応したアドレス値と最大ビート数が書き込まれる。レジスタ110、111、112には夫々、アドレスA、アドレスB、アドレスCがセットされ、レジスタ115、116、117には最大ビート数A、最大ビート数B、最大ビート数Cがセットされる。   As shown in FIG. 4A, the DMA device 106 has registers (second registers) 110, 111, and 112 that manage addresses for each program counter number and registers (first registers) that manage the maximum number of beats. Register) 115, 116, 117. Then, the address value and the maximum number of beats corresponding to each IP 107 to 109 are written from the CPU 102 or the DMA command port 105b. Addresses A, B, and C are set in the registers 110, 111, and 112, respectively, and the maximum beat number A, the maximum beat number B, and the maximum beat number C are set in the registers 115, 116, and 117, respectively.

なお、プログラムカウンタ201〜203の値(PGNum=#1、PGNum=#2、PGNum=#3)とレジスタ110〜112にセットされたアドレス(アドレスA、アドレスB、アドレスC)とは対応づけられている。また、プログラムカウンタ201〜203の値(PGNum=#1、PGNum=#2、PGNum=#3)はレジスタ115〜117にセットされた最大ビート数A、最大ビート数B、最大ビート数Cとも対応付けられている。   The values of the program counters 201 to 203 (PGNum = # 1, PGNum = # 2, PGNum = # 3) are associated with the addresses (address A, address B, address C) set in the registers 110 to 112. ing. The values of the program counters 201 to 203 (PGNum = # 1, PGNum = # 2, PGNum = # 3) also correspond to the maximum beat number A, the maximum beat number B, and the maximum beat number C set in the registers 115 to 117. It is attached.

また、DMAデバイス106は8個の格納領域に区分されたバッファ118を備え、DMAデータポート105aから受信したデータを8回の受信分保持する。制御部119は、バッファ118の容量とレジスタ115〜117に格納された最大ビート数A、B、Cの情報をもとにデータポート105aへのDMA_Req信号を制御する。さらに、制御部119はデータポート105aから受信したデータとプログラムカウンタ番号の値をバッファ118へ格納する。データ出力部120は、バッファ118に格納されたデータ402とプログラムカウンタ番号に基づいて対応づけられたレジスタ110〜112に格納されたアドレスの値を参照し、各IPへの出力を実行する。DMAデバイス106は、前記アドレス値とデータ転送部から受信したデータをIP107〜109に接続されたバス(IPバス)へ出力する。このデータ転送で使用したアドレス値は次のアドレスを示すようにインクリメントし、次のデータ転送時に使用する。   The DMA device 106 includes a buffer 118 divided into eight storage areas, and holds data received from the DMA data port 105a for eight receptions. The control unit 119 controls the DMA_Req signal to the data port 105a based on the capacity of the buffer 118 and information on the maximum number of beats A, B, and C stored in the registers 115 to 117. Further, the control unit 119 stores the data received from the data port 105 a and the value of the program counter number in the buffer 118. The data output unit 120 refers to the value of the address stored in the registers 110 to 112 associated with the data 402 stored in the buffer 118 based on the program counter number, and executes output to each IP. The DMA device 106 outputs the address value and the data received from the data transfer unit to a bus (IP bus) connected to the IPs 107 to 109. The address value used in this data transfer is incremented to indicate the next address and used at the next data transfer.

図4(b)はDMAコマンドポート105bから転送されるコマンドのデータフォーマットを示している。図4(b)に示されるように、この転送コマンドは、上位にDMAデバイス106に存在するレジスタのアドレス(address)、下位にそのアドレスに格納するデータ(data)を指定する。このようなフォーマットを用いて、DMAデバイス106のレジスタにコマンドは書き込まれる。   FIG. 4B shows a data format of a command transferred from the DMA command port 105b. As shown in FIG. 4B, this transfer command designates an address (address) of a register existing in the DMA device 106 at the upper level and data (data) to be stored at that address at the lower level. Commands are written to the registers of the DMA device 106 using such a format.

図4(c)はPGNum#1〜3のビート数を設定した状態のレジスタとレジスタ値を示している。   FIG. 4C shows registers and register values in a state where the number of beats of PGNum # 1 to # 3 is set.

DMAデバイス106は、下記の条件を満たした場合にDMAデータポート105aのDMA_Req信号をアサートする。その条件とは、最大ビート数が2以上の値を最大ビート数a、最大ビート数b、最大ビート数cとすると、バッファ空き容量>最大ビート数a+最大ビート数b+最大ビート数cとなる条件である。即ち、バッファ空き容量を監視し、その結果、バッファ空き容量が全ての最大ビート数の和より大きい場合に、DMA_Req信号をアサートする。   The DMA device 106 asserts the DMA_Req signal of the DMA data port 105a when the following condition is satisfied. The condition is that if the maximum number of beats is 2 or more and the maximum number of beats a, the maximum number of beats b, and the maximum number of beats c, buffer free space> maximum number of beats a + maximum number of beats b + maximum number of beats c It is. That is, the buffer free capacity is monitored, and as a result, if the buffer free capacity is larger than the sum of all the maximum beat numbers, the DMA_Req signal is asserted.

図5は、データ転送実行部208のDMAデータポート105a及びDMAコマンドポート105bとDMAデバイス106との間のプロトコルを説明するタイミングチャートである。   FIG. 5 is a timing chart for explaining a protocol between the DMA data port 105 a and the DMA command port 105 b of the data transfer execution unit 208 and the DMA device 106.

図5において、CLK401はデータ転送実行部208とDMAデバイス106で使用するクロック信号であり、立ち上がりエッジを利用した同期回路で構成されている。Data402はデータ転送実行部208がデータ転送のために使用するデータ、PGNum403はプログラムカウンタ201〜203のどのプログラムによってデータを転送されているかを示すプログラムカウンタ番号である。DMA_Req404はDMAデバイス106のデータ転送部105に対するデータ要求信号、DMA_Ack405はデータ転送実行部208がDMAデータポート105aにデータを出力していることを示すデータ出力確定信号である。さらに、BUF406はバッファ118の状態、つまり、バッファ118の空き容量を示す。   In FIG. 5, CLK 401 is a clock signal used by the data transfer execution unit 208 and the DMA device 106, and is composed of a synchronous circuit using a rising edge. Data 402 is data used by the data transfer execution unit 208 for data transfer, and PGNum 403 is a program counter number indicating which program of the program counters 201 to 203 is used for data transfer. DMA_Req 404 is a data request signal for the data transfer unit 105 of the DMA device 106, and DMA_Ack 405 is a data output confirmation signal indicating that the data transfer execution unit 208 is outputting data to the DMA data port 105a. Further, the BUF 406 indicates the state of the buffer 118, that is, the free capacity of the buffer 118.

ここで、バッファ118の空き容量に応じたデータ転送要求信号404(DMA_Req信号)の制御について説明する。   Here, the control of the data transfer request signal 404 (DMA_Req signal) according to the free space of the buffer 118 will be described.

図5に示す例は3つのプログラムが同時動作している例である。各プログラムのビート数は、PGNum#1=1、PGNum#2=1、PGNum#3=4で、PGNum#1とPGNum#2は2回転送、PGNum#3は4ビート転送を1回実行する場合を示している。各プログラムはデータ転送を開始する前に、これから送信できる最大ビート数をDMAコマンドポート105bのデータ(Data)信号としてDMAデバイス106に通知する。これらのデータはDMAデバイスのレジスタ115〜117に最大ビート数A、最大ビート数B、最大ビート数Cとして格納される。   The example shown in FIG. 5 is an example in which three programs are operating simultaneously. The number of beats of each program is PGNum # 1 = 1, PGNum # 2 = 1, PGNum # 3 = 4, PGNum # 1 and PGNum # 2 are transferred twice, and PGNum # 3 is executed four beats once. Shows the case. Before starting the data transfer, each program notifies the DMA device 106 of the maximum number of beats that can be transmitted from now on as a data (Data) signal of the DMA command port 105b. These data are stored in the registers 115 to 117 of the DMA device as the maximum beat number A, the maximum beat number B, and the maximum beat number C.

さらに続いて、図5に示すタイミングチャートを参照して、DMA処理フローを説明する。   Next, the DMA processing flow will be described with reference to the timing chart shown in FIG.

クロックサイクル2(CLK2)でDMAデバイス106が、DMA_Req404(データ要求信号)をアサートする。データ転送実行部208は、次のサイクル以降(CLK3以降)で転送データの出力を試みる。図5によれば、クロックサイクル3、4(CLK3、4)では出力データの準備ができていないため、DMA_Ack405(データ出力確定信号)はディアサートの状態を出力している。クロックサイクル5(CLK5)で出力データの準備が完了したので、DMA_Ack405(データ出力確定信号)をアサートする。これとともに、Data402(データ)とData402(データ)のPGNum403(プログラムカウンタ番号)に#1を出力する。   In clock cycle 2 (CLK2), the DMA device 106 asserts DMA_Req 404 (data request signal). The data transfer execution unit 208 attempts to output transfer data after the next cycle (after CLK3). According to FIG. 5, since the output data is not ready in clock cycles 3 and 4 (CLK3 and 4), DMA_Ack 405 (data output confirmation signal) outputs a deasserted state. Since the preparation of output data is completed in clock cycle 5 (CLK5), DMA_Ack405 (data output confirmation signal) is asserted. At the same time, # 1 is output to Data 402 (data) and PGNum 403 (program counter number) of Data 402 (data).

この実施形態では、プログラムカウンタ201〜203の値として、プログラムカウンタ番号#1、#2、#3が、それぞれ対応している。   In this embodiment, program counter numbers # 1, # 2, and # 3 correspond to the values of the program counters 201 to 203, respectively.

クロックサイクル6(CLK6)でDMAデバイス106はDMA_Ack(データ出力確定信号)がアサートされていることを確認する。これとともにData402(データ)とPGNum403(プログラムカウンタ番号)を受信し、データはバッファ118に格納する。このタイミングでバッファ118の空き容量は1受信分のデータを格納したので、“8”から1つ減り、“7”となる。   In clock cycle 6 (CLK6), the DMA device 106 confirms that DMA_Ack (data output confirmation signal) is asserted. At the same time, Data 402 (data) and PGNum 403 (program counter number) are received, and the data is stored in the buffer 118. At this timing, the free capacity of the buffer 118 stores data for one reception, so it decreases by one from “8” to “7”.

このようにDMA_Req404(データ要求信号)とDMA_Ack405(データ出力確定信号)とが同時アサートされたクロックサイクルのData402(データ)とPGNum403(プログラムカウンタ番号)を有効データとして扱うことができる。   In this way, Data 402 (data) and PGNum 403 (program counter number) in the clock cycle in which DMA_Req 404 (data request signal) and DMA_Ack 405 (data output confirmation signal) are simultaneously asserted can be handled as valid data.

以降同様にクロックサイクル10(CLK10)まで処理を行う。クロックサイクル8(CLK8)では、PGNum#3の4ビート転送が開始される。図3で示した通り、データ転送はプログラムが実行中の場合は順番に実行されるため、4ビート転送の1ビート目(#3−1)を転送している。クロックサイクル9(CLK9)では、次のプログラムの転送を開始する。   Thereafter, processing is similarly performed until clock cycle 10 (CLK10). In clock cycle 8 (CLK8), 4-beat transfer of PGNum # 3 is started. As shown in FIG. 3, since the data transfer is executed sequentially when the program is being executed, the first beat (# 3-1) of the 4-beat transfer is transferred. In clock cycle 9 (CLK9), transfer of the next program is started.

クロックサイクル11(CLK11)では、DMA_Req404とDMA_Ack405がアサートされた状態でかつBUF406の値が3である。このため、クロックサイクル11(CLK11)ではBUF406の値がPGNum#3の最大ビート数より小さくなる。この時点では、PGNum#3の転送は1〜4ビートの可能性があるので、4ビート転送の場合を考慮してDMA_Req404をネゲートする。クロックサイクル12(CLK12)ではDMA_Req404はネゲートされているが、クロックサイクル8(CLK8)において、既にPGNum#3の4ビート転送の開始が許可されているため、2ビート目(#3−2)の転送を実行する。クロックサイクル13、14(CLK13、14)でもPGNum#3の3ビート目(#3−3)、4ビート目(#3−4)の転送を行う。   In clock cycle 11 (CLK11), DMA_Req 404 and DMA_Ack 405 are asserted and the value of BUF 406 is 3. For this reason, in clock cycle 11 (CLK11), the value of BUF 406 becomes smaller than the maximum number of beats of PGNum # 3. At this point in time, there is a possibility that the transfer of PGNum # 3 is 1 to 4 beats, so DMA_Req 404 is negated in consideration of the case of 4-beat transfer. DMA_Req 404 is negated in clock cycle 12 (CLK12), but since the start of 4-beat transfer of PGNum # 3 is already permitted in clock cycle 8 (CLK8), the second beat (# 3-2) Perform the transfer. Also in clock cycles 13 and 14 (CLK13 and 14), the third beat (# 3-3) and fourth beat (# 3-4) of PGNum # 3 are transferred.

以上のようにこの実施形態によれば、単一のDMAポートを複数のプログラムが共有する場合であっても、プログラムごとの最大ビート数をDMAデバイスが随時認識しバッファを制御することができる。これにより、最大ビート数以下の任意のビート数で、任意のタイミングにデータ転送を実施することができる。   As described above, according to this embodiment, even when a plurality of programs share a single DMA port, the DMA device can recognize the maximum number of beats for each program at any time and control the buffer. Thus, data transfer can be performed at an arbitrary timing with an arbitrary number of beats equal to or less than the maximum number of beats.

なお、以上説明した実施形態において、ビート数が1の場合(シングル転送モード)とビート数が2以上(複数ビート転送モード)の場合で、DMAデータポート105aから転送データフォーマットを変更しても良い。   In the embodiment described above, the transfer data format may be changed from the DMA data port 105a when the number of beats is 1 (single transfer mode) and when the number of beats is 2 or more (multiple beat transfer mode). .

図6は、DMAデータポートからの転送データフォーマットを示す図である。   FIG. 6 is a diagram showing a transfer data format from the DMA data port.

高速データ転送を行うプログラムはビート数を2以上に設定し、図6に示すように、DMAデータポート105aはデータのみを転送する。これに対して、1ビート(シングル転送)のプログラムは、図6に示すように、上位をアドレス、下位をデータとしてビットを割り当てる。   A program for performing high-speed data transfer sets the number of beats to 2 or more, and the DMA data port 105a transfers only data as shown in FIG. On the other hand, as shown in FIG. 6, the 1-beat (single transfer) program assigns bits with the upper address as the address and the lower address as the data.

DMAデバイス106は、データ402を受信した際、同時受信するPGNum403と事前設定された最大ビート数を参照し、受信データフォーマットが複数ビート転送かシングル転送を判断することができる。このような構成にすることで、プログラムによるレジスタ設定を頻繁に送信するプログラムと大量データを高速転送するプログラムの作成が容易になる。   When the DMA device 106 receives the data 402, the DMA device 106 can determine whether the received data format is a multi-beat transfer or a single transfer by referring to the PGNum 403 to be simultaneously received and the preset maximum number of beats. With such a configuration, it is easy to create a program that frequently transmits register settings by a program and a program that transfers a large amount of data at high speed.

以上のように、データ転送部からプログラムカウンタ番号をデータと同期してDMAデバイスへ転送するとともに、プログラム毎のビート数情報とDMAデバイスのバッファ容量をもとにデータ要求信号を制御することができる。これにより、DMAデバイスはオーバヘッドなしにデータ転送を行ったプログラムを判断することができる。   As described above, the program counter number is transferred from the data transfer unit to the DMA device in synchronization with the data, and the data request signal can be controlled based on the beat number information for each program and the buffer capacity of the DMA device. . As a result, the DMA device can determine the program that performed the data transfer without overhead.

なお、以上説明した実施形態では、3つのプログラムを同時動作する場合を例として説明したが、同じ構成で2つのプログラムが同時動作するにも適用可能である。この場合、DMAデバイスのバッファ数が8であるため、例えば、各プログラムビート数を4ビートに設定することが可能となる。   In the embodiment described above, the case where three programs are operated simultaneously has been described as an example. However, the present invention can be applied to the case where two programs operate simultaneously with the same configuration. In this case, since the number of buffers of the DMA device is 8, for example, the number of program beats can be set to 4 beats.

また、複数のプログラムを並行動作させるのではなく、1つずつ順次動作させるものであっても動作させるプログラムに応じたバッファの設定が可能である。このとき使用しないバッファ領域を他の用途で使用することによって処理の効率化が図れる。なお、本実施形態ではプログラムに従った転送先をIPとしたが、これに限らず他の処理ユニットに置き換えることも可能である。このように同じ構成であっても、単一のDMAポートでプログラムごとに任意の転送ができるため、バッファ容量の最適設定や高速で自由度の高いデータ転送が実現可能となる。   In addition, even if a plurality of programs are not operated in parallel but are sequentially operated one by one, it is possible to set a buffer according to the program to be operated. At this time, the processing efficiency can be improved by using the buffer area not used for other purposes. In the present embodiment, the transfer destination according to the program is set to IP. However, the transfer destination is not limited to this, and can be replaced with another processing unit. In this way, even with the same configuration, arbitrary transfer can be performed for each program using a single DMA port, so that it is possible to realize optimum setting of the buffer capacity and high-speed and high-flexibility data transfer.

また、以上説明した実施形態ではプログラムカウンタが3つの例を用いて説明したが、本発明はこれによって限定されるものではない。他の数のプログラムカウンタを備えていても良い。また、プログラムの識別には数字以外の識別子(例えば、カウンタ識別子)を用いても構わない。さらに、データ転送部とDMAデバイスとの間でやりとりする信号についても上記説明した例は1例に過ぎず、これ以外のプロトコルも本発明に適用可能である。   In the above-described embodiment, the program counter is described using three examples, but the present invention is not limited to this. Other numbers of program counters may be provided. Further, identifiers other than numerals (for example, counter identifiers) may be used for program identification. Further, the above-described example is only one example of signals exchanged between the data transfer unit and the DMA device, and other protocols can be applied to the present invention.

Claims (7)

複数のプログラムによりDMAデータ転送を制御するデータ転送装置であって、
データを格納するメモリと、
CPUから指示されたデータ転送命令を格納する格納手段と、
前記複数のプログラムそれぞれに対応するデータ転送命令が格納された前記格納手段のアドレスがセットされた複数のカウンタと、
前記複数のプログラムそれぞれに対応する最大ビート数を示す情報を格納する複数の第1のレジスタと、バッファとを備えたDMAデバイスと、
前記DMAデバイスからのデータ転送要求に基いて、前記複数のカウンタにセットされたアドレスを用いて前記格納手段にアクセスして格納されたデータ転送命令を読み出し、前記メモリから前記DMAデバイスへのDMAデータ転送を実行する際に、前記データと実行する前記データ転送命令のアドレスを格納するカウンタのカウンタ識別子を前記DMAデバイスに出力するデータ転送手段とを有し、
前記DMAデバイスは、前記カウンタ識別子に対応したプログラムの最大ビート数に従って前記バッファの割り当て及びDMAデータ転送を制御することを特徴とするデータ転送装置。
A data transfer apparatus for controlling DMA data transfer by a plurality of programs,
Memory to store data,
Storage means for storing a data transfer instruction instructed by the CPU;
A plurality of counters set with addresses of the storage means storing data transfer instructions corresponding to the plurality of programs;
A DMA device comprising a plurality of first registers for storing information indicating the maximum number of beats corresponding to each of the plurality of programs, and a buffer;
Based on the data transfer request from the DMA device, the storage unit is accessed by using the addresses set in the plurality of counters to read the stored data transfer command, and the DMA data from the memory to the DMA device is read. Data transfer means for outputting to the DMA device a counter identifier of a counter that stores the data and the address of the data transfer instruction to be executed when executing the transfer;
The DMA device controls the buffer allocation and DMA data transfer according to the maximum number of beats of a program corresponding to the counter identifier.
前記DMAデバイスは、前記バッファの空き容量を監視し、前記空き容量が前記出力されたカウンタ識別子に対応した最大ビート数の和より大きい場合に前記データ転送要求を送信することを特徴とする請求項1に記載のデータ転送装置。   The DMA device monitors the free capacity of the buffer, and transmits the data transfer request when the free capacity is larger than the sum of the maximum number of beats corresponding to the output counter identifier. The data transfer apparatus according to 1. 前記DMAデバイスは、前記複数のカウンタのカウンタ識別子それぞれに対応させた、アドレスを格納する複数の第2のレジスタをさらに備え、
前記DMAデバイスは、前記出力されたカウンタ識別子に対応する第2のレジスタに格納されたアドレスを参照して前記受信したデータを前記アドレスに対応する処理ユニットに出力することを特徴とする請求項1又は2に記載のデータ転送装置。
The DMA device further includes a plurality of second registers for storing addresses corresponding to the counter identifiers of the plurality of counters,
The DMA device refers to an address stored in a second register corresponding to the output counter identifier and outputs the received data to a processing unit corresponding to the address. Or the data transfer apparatus of 2.
前記データ転送手段からの制御信号に従って、前記複数のカウンタのいずれかを選択する選択手段と、
前記選択手段により選択されたカウンタにセットされたアドレスを用いて前記格納手段にアクセスして格納されたデータ転送命令を読み出してデコードするデコード手段とをさらに有することを特徴とする請求項1乃至3のいずれか1項に記載のデータ転送装置。
Selection means for selecting any of the plurality of counters according to a control signal from the data transfer means;
4. The apparatus according to claim 1, further comprising decoding means for accessing the storage means using an address set in the counter selected by the selection means and reading and decoding the stored data transfer instruction. The data transfer device according to any one of the above.
前記データ転送手段は、前記複数のプログラムそれぞれに対応して、前記選択手段は前記複数のカウンタの1つを順次、選択し、該選択されたカウンタにセットされたアドレスを用いて前記格納手段にアクセスして格納されたデータ転送命令を順次、実行することを特徴とする請求項1乃至4のいずれか1項に記載のデータ転送装置。   The data transfer means corresponds to each of the plurality of programs, the selection means sequentially selects one of the plurality of counters, and uses the address set in the selected counter to store in the storage means. 5. The data transfer apparatus according to claim 1, wherein the data transfer instructions accessed and stored are sequentially executed. 前記最大ビート数が1であるか、2以上であるかに従って、前記DMAデバイスへのデータ転送のデータフォーマットを変更することを特徴とする請求項1乃至5のいずれか1項に記載のデータ転送装置。   6. The data transfer according to claim 1, wherein a data format of data transfer to the DMA device is changed according to whether the maximum beat number is 1 or 2 or more. apparatus. 複数のプログラムにより、データを格納するメモリからのDMAデバイスへのデータ転送を制御するデータ転送方法であって、
前記DMAデバイスは、前記複数のプログラムそれぞれに対応する最大ビート数を格納する複数のレジスタと、バッファとを備えており、
CPUから指示されたデータ転送命令を格納手段に格納する格納工程と、
前記複数のプログラムそれぞれに対応するデータ転送命令が格納された前記格納手段のアドレスを複数のカウンタにセットする設定工程と、
前記DMAデバイスからのデータ転送要求に基いて、前記複数のカウンタにセットされたアドレスを用いて前記格納手段にアクセスして格納されたデータ転送命令を読み出し、前記メモリから前記DMAデバイスへのDMAデータ転送を実行する際に、前記データと実行する前記データ転送命令のアドレスを格納するカウンタのカウンタ識別子を前記DMAデバイスに出力するデータ転送工程とを有し、
前記DMAデバイスは、前記カウンタ識別子に対応したプログラムの最大ビート数に従って前記バッファの割り当て及びDMAデータ転送を制御することを特徴とするデータ転送方法。
A data transfer method for controlling data transfer from a memory storing data to a DMA device by a plurality of programs,
The DMA device includes a plurality of registers for storing a maximum number of beats corresponding to each of the plurality of programs, and a buffer.
A storage step of storing in the storage means a data transfer instruction instructed by the CPU;
A setting step of setting addresses of the storage means in which data transfer instructions corresponding to the plurality of programs are stored in a plurality of counters;
Based on the data transfer request from the DMA device, the storage unit is accessed by using the addresses set in the plurality of counters to read the stored data transfer command, and the DMA data from the memory to the DMA device is read. A data transfer step of outputting to the DMA device a counter identifier of a counter that stores the data and the address of the data transfer instruction to be executed when executing the transfer;
The data transfer method, wherein the DMA device controls allocation of the buffer and DMA data transfer according to a maximum number of beats of a program corresponding to the counter identifier.
JP2012192288A 2012-08-31 2012-08-31 Data transfer device, and data transfer method Pending JP2014048955A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012192288A JP2014048955A (en) 2012-08-31 2012-08-31 Data transfer device, and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012192288A JP2014048955A (en) 2012-08-31 2012-08-31 Data transfer device, and data transfer method

Publications (1)

Publication Number Publication Date
JP2014048955A true JP2014048955A (en) 2014-03-17

Family

ID=50608545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012192288A Pending JP2014048955A (en) 2012-08-31 2012-08-31 Data transfer device, and data transfer method

Country Status (1)

Country Link
JP (1) JP2014048955A (en)

Similar Documents

Publication Publication Date Title
CN114662136A (en) PCIE channel-based high-speed encryption and decryption system and method for multi-algorithm IP core
JP4014876B2 (en) Multifunctional electronic peripheral card
JP4408840B2 (en) HDD controller and system equipped with the same
JP2010267259A (en) Memory device and unit for controlling the same
JP5718305B2 (en) Image forming apparatus
JP2014048955A (en) Data transfer device, and data transfer method
JP2006202271A (en) Stream processor and information processor
JP2021027435A (en) Network control device, image forming apparatus, method for controlling network control device, and program for controlling network control device
JP2001186328A (en) Picture processor, its control method and picture processing system
JP2011015093A (en) Image forming apparatus, control method thereof and program
JP2014048954A (en) Data transfer device, and data transfer method
JP2001341363A (en) Blank page printing method for printer controller
US8671251B2 (en) Information processing apparatus that executes response process to received information, control method therefor, and storage medium storing control program therefor
US7272680B2 (en) Method of transferring data between computer peripherals
JP4472402B2 (en) Bus equipment
KR20070081981A (en) Interface method and apparatus in cpuless system
JP2003308289A (en) Data processor
JP5630715B2 (en) Multiple memory card system
JPH11203059A (en) Image input and output device and its memory access method, and storage medium storing computer readable program
JP2007004314A (en) Pci controller and system mounted with the same
JP2003122701A (en) Interface and input/output device
JP2007328647A (en) Data transfer method between cpus
JP2007334835A (en) Memory controller and control method thereof
JP2011008824A (en) Information memory device, information transmission method, information transmission system, information processor, and program
JP2003186666A (en) Microcomputer and dma control circuit