JP2002244993A - Dma transfer control device - Google Patents

Dma transfer control device

Info

Publication number
JP2002244993A
JP2002244993A JP2001036268A JP2001036268A JP2002244993A JP 2002244993 A JP2002244993 A JP 2002244993A JP 2001036268 A JP2001036268 A JP 2001036268A JP 2001036268 A JP2001036268 A JP 2001036268A JP 2002244993 A JP2002244993 A JP 2002244993A
Authority
JP
Japan
Prior art keywords
dma
signal
channel
priority
cpu
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
JP2001036268A
Other languages
Japanese (ja)
Inventor
Naohiro Hosokawa
直洋 細川
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 JP2001036268A priority Critical patent/JP2002244993A/en
Publication of JP2002244993A publication Critical patent/JP2002244993A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To manage the priority order of a memory access on the DMA(Direct Memory Access) controller side, optimize the memory access, and enhance the throughput of the data transfer of the whole system. SOLUTION: Using a DMA controller 320, the DMA transfer is controlled between a DRAM 204, a plurality of CPU1 and CPU2 (201 and 202), and a plurality of DMA channels (310, 311, 312) corresponding to the respective peripheral circuits as specified. The DMA controller 320 is equipped with a priority order deciding circuit 133, which decides the priority order concerning the data input/output for not only the DMA channels of the peripheral circuits but also a plurality of CPU memories in accordance with the conditions of the control lines between the DMA channels.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、メモリ、およびそ
れぞれ所定の周辺回路に対応した複数のDMAチャネル
の間でDMA転送を行なうDMA転送制御装置に関する
ものである。
[0001] 1. Field of the Invention [0002] The present invention relates to a memory and a DMA transfer control device for performing a DMA transfer between a plurality of DMA channels respectively corresponding to predetermined peripheral circuits.

【0002】[0002]

【従来の技術】従来より、プリンタ、複写機、コンピュ
ータなど種々の情報処理装置において、DMAコントロ
ーラを用いてデータ転送を行なういわゆるDMA転送技
術が知られている。DMA転送では、CPUの制御を経
ずにDMAコントローラがバスの調停(アービトレーシ
ョン)を行なうため、一般にCPUの能力や負荷に関係
なく高速なデータ転送を行なうことができる。
2. Description of the Related Art Hitherto, a so-called DMA transfer technique for performing data transfer using a DMA controller has been known in various information processing apparatuses such as printers, copiers, and computers. In the DMA transfer, the DMA controller performs arbitration (arbitration) of the bus without the control of the CPU. Therefore, generally, high-speed data transfer can be performed regardless of the capacity and load of the CPU.

【0003】従来のDMAコントローラは、自らのコン
トロールする多チャネルの制御を行なうのみで、CPU
のアクセスに関しては、その優先順位を自由に決定する
手段を有していなかった。通常は、CPUのアクセスが
優先されており、CPUが使用していない期間、DMA
コントローラがバスを占有し、そのとき、DMAコント
ローラが管理する複数のDMAチャネルのうち、優先順
位が最も高いものがアクセスの権利を得るようになって
いる。
A conventional DMA controller only controls the multi-channels controlled by the DMA controller itself.
As for the access, the user did not have a means for freely determining the priority. Normally, CPU access is prioritized, and during periods when the CPU is not using DMA access,
The controller occupies the bus. At this time, among the plurality of DMA channels managed by the DMA controller, the DMA channel having the highest priority acquires the right to access.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記従
来例で複数のCPUを使用するシステムにおいて、上記
のようにメモリアクセスヘの優先順位を、CPUに対し
て常に高めておくことは、システムのスループット向上
に限界をもたらす結果となった。
However, in a system using a plurality of CPUs in the above-mentioned conventional example, it is necessary to always increase the priority of memory access with respect to the CPU as described above. The result was a limit to improvement.

【0005】たとえば、インクジェットプリンタにおい
て、プリントヘッドヘのデータ転送にDMAコントロー
ラによるメモリアクセスを利用する場合は、正確な画像
形成を行なうためにこのDMAコントローラによるデー
タ転送は遅延を許されない。一方で、コストダウンのた
め、複数のCPUの使用するメモリを前記DMAコント
ローラと共有するような構造が考えられるが、このよう
な構成において、CPUのメモリアクセスを優先させる
従来構成を採用すると、DMAコントローラがアクセス
の権利を得る回数が減ってしまい、プリントヘッドヘの
データ転送が遅延する最悪のケースが生じてしまう可能
性がある。
For example, in a case where a memory access by a DMA controller is used for data transfer to a print head in an ink jet printer, the data transfer by the DMA controller is not allowed to be delayed in order to form an accurate image. On the other hand, for cost reduction, a structure in which the memory used by a plurality of CPUs is shared with the DMA controller is conceivable. The worst case may occur where the controller gains access rights less often, delaying data transfer to the printhead.

【0006】しかしながら、単純にCPUの優先順位を
DMAコントローラで落とすだけでは、CPUのウエイ
ト状態が長くなり、スループットが低下してしまう可能
性がある。
However, simply lowering the priority of the CPU by the DMA controller may increase the wait state of the CPU and reduce the throughput.

【0007】本発明の課題は、メモリアクセスの優先順
位を、DMAコントローラ側で管理し、メモリアクセス
を最適化し、システム全体のデータ転送のスループット
を向上することにある。
An object of the present invention is to manage the priority of memory access on the DMA controller side, optimize memory access, and improve the data transfer throughput of the entire system.

【0008】[0008]

【課題を解決するための手段】上記の課題を解決するた
め、本発明によれば、メモリ、およびそれぞれ所定の周
辺回路に対応した複数のDMAチャネルの間でDMA転
送を行なうDMA転送制御装置において、前記メモリに
対してデータ入出力を行なう複数のCPUと、前記複数
のCPUの前記メモリに対する入出力要求をそれぞれの
CPUに対応したDMAチャネルのDMA転送要求とし
て検出し、前記周辺回路に対応した複数のDMAチャネ
ル、および前記CPUに対応したDMAチャネルのDM
A転送要求のうちいずれかが同時に発生した場合、あら
かじめ定められた所定の優先順位に基づき、発生したD
MA転送要求に該当するDMA転送を行なうDMAコン
トローラを有する構成を採用した。
According to the present invention, there is provided a DMA transfer control apparatus for performing a DMA transfer between a plurality of DMA channels each corresponding to a predetermined peripheral circuit. A plurality of CPUs for inputting / outputting data to / from the memory; and detecting input / output requests to / from the memory of the plurality of CPUs as DMA transfer requests of DMA channels corresponding to the respective CPUs. A plurality of DMA channels, and a DM of a DMA channel corresponding to the CPU.
If any one of the A transfer requests occurs at the same time, the generated D
A configuration having a DMA controller that performs a DMA transfer corresponding to an MA transfer request is employed.

【0009】[0009]

【発明の実施の形態】以下添付図面を参照して本発明の
実施形態を詳細に説明する。
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.

【0010】(第1実施形態)図2は、本発明を採用し
た機器、特に複数のCPU(CPU1およびCPU2。
あるいはこれ以上の数のCPUが設けられていてもよ
い)、複数のDMAチャンネル(CH1、CH2…)を
介してDMA転送によるメモリアクセスを行なう周辺回
路を含むシステムの全体構成を示している。このような
構成は、プリンタ(たとえば従来例で触れたようなイン
クジェットプリンタなど)、複写機、コンピュータなど
種々の情報処理装置に共通するものである。
(First Embodiment) FIG. 2 shows a device employing the present invention, in particular, a plurality of CPUs (CPU1 and CPU2).
Alternatively, the overall configuration of a system including peripheral circuits for performing memory access by DMA transfer via a plurality of DMA channels (CH1, CH2,...) May be shown. Such a configuration is common to various information processing apparatuses such as a printer (for example, an ink jet printer described in the related art), a copying machine, and a computer.

【0011】図2は本DMAコントローラが内蔵された
カスタムIC(以下ASICという)がシステム全体に
どのように配置されているかを示している。
FIG. 2 shows how a custom IC (hereinafter referred to as an ASIC) incorporating the DMA controller is arranged in the entire system.

【0012】図2において符号201はCPU1、20
2はCPU2、203はASlC、204はDRAM、
205はROMである。204のDRAMはアドレスバ
ス、データバス、コントロールバスをすべて、ASIC
203を介して接続されており、ASIC203はDR
AM204に対する制御権を内部のDMAコントローラ
にすべて委ねる構成となっている。
In FIG. 2, reference numeral 201 denotes CPUs 1 and 20.
2 is CPU2, 203 is ASIC, 204 is DRAM,
205 is a ROM. The DRAM of 204 has an address bus, a data bus and a control bus,
ASIC 203 is connected via DR
The configuration is such that control of the AM 204 is completely delegated to an internal DMA controller.

【0013】図3は図2のASlC203の構造を中心
に示している。図3において、符号310は、DMAコ
ントローラにメモリアクセスを要求する周辺回路ブロッ
クであるチャネル1(CH1)、311はDMAコント
ローラにメモリアクセスを要求する周辺回路ブロックで
あるチャネル2(CH2)、312はDMAコントロー
ラにメモリアクセスを要求する周辺回路ブロックである
チャネル3(CH3)である。
FIG. 3 mainly shows the structure of the ASIC 203 of FIG. In FIG. 3, reference numeral 310 denotes a channel 1 (CH1) which is a peripheral circuit block for requesting memory access to the DMA controller, 311 denotes a channel 2 (CH2) which is a peripheral circuit block for requesting memory access to the DMA controller, and 312 Channel 3 (CH3), which is a peripheral circuit block that requests a memory access to the DMA controller.

【0014】上記の周辺回路には、ネットワークI/F
や各種データ入出力回路(プリンタの場合はプリンタI
/Fや印刷ハードウェアの制御回路など)など、DRA
M204に対して入出力を行なう必要がある種々の各種
入出力回路が含まれる。
The above peripheral circuits include a network I / F.
And various data input / output circuits (printer I
/ F and control circuit of printing hardware)
Various various input / output circuits that need to input / output to / from M204 are included.

【0015】CPU1(201)と、CPU2 (20
2) は、周辺回路ブロック310〜312と全く並列の
関係で、DMAコントローラ320と接続されている。
したがって、DMAコントローラ320は、内部に設定
された接続されたチャネルの優先順位に基いてのみ、D
RAM204に関するアクセス制御を行なう。
CPU1 (201) and CPU2 (20)
2) is connected to the DMA controller 320 in a completely parallel relationship with the peripheral circuit blocks 310 to 312.
Therefore, the DMA controller 320 only uses the D channel based on the priority of the internally set connected channel.
The access control for the RAM 204 is performed.

【0016】図1は本発明を採用したDMAコントロー
ラ320の内部構成を示している。図1において、周辺
回路のメモリアクセスを制御する複数のDMAチャンネ
ル(CH1、CH2…)のアドレスを制御するためにセ
レクタ105、106が設けられている。
FIG. 1 shows the internal configuration of a DMA controller 320 employing the present invention. In FIG. 1, selectors 105 and 106 are provided for controlling addresses of a plurality of DMA channels (CH1, CH2,...) For controlling memory access of peripheral circuits.

【0017】すなわち、図1において、符号100は、
チャネル1(CH1)のアドレス生成回路、101は、
チャネル2(CH1)のアドレス生成回路、102は、
チャネル3(CH1)のアドレス生成回路、103は、
CPU1のアドレスバス、104は、CPU2のアドレ
スバスである。
That is, in FIG. 1, reference numeral 100 denotes
The address generation circuit for channel 1 (CH1) 101
The address generation circuit for channel 2 (CH1), 102
The address generation circuit for channel 3 (CH1) 103
An address bus 104 of the CPU 1 is an address bus of the CPU 2.

【0018】上記の101〜104から出力されたアド
レス線は、セレクタ105に接続されている。このセレ
クタ105は、DMA優先順位決定回路133で決定さ
れたチャネルもしくはCPUのアドレスを選択出力し
て、セレクタ106に入力する。ここで、セレクタ10
5は、ローアドレスイネーブル信号151を用いてDR
AM204のローアドレスとカラムアドレスを生成し、
アドレスバス107に出力される。
The address lines output from 101 to 104 are connected to a selector 105. The selector 105 selects and outputs the channel or CPU address determined by the DMA priority determination circuit 133 and inputs the selected address to the selector 106. Here, the selector 10
5 is DR using the row address enable signal 151.
Generate the row address and column address of AM204,
Output to the address bus 107.

【0019】また、2つのCPU1、CPU2のメモリ
アクセスを制御するために、タイミングコントローラ回
路115が設けられている。
A timing controller circuit 115 is provided for controlling memory access of the two CPUs 1 and 2.

【0020】すなわち、符号110は、CPU1のDR
AM204に対するチップセレクト信号、111はリー
ド信号(RD)、112はライト信号(WR)、113
はCPU1のバスサイクルを延長するためのウエイト信
号(WAIT)、114はCPU1からDRAM204
へのアクセスが終了した際に出力されるアクノレッジ信
号(DACK4)である。
That is, reference numeral 110 denotes the DR of the CPU 1.
A chip select signal for the AM 204, 111 is a read signal (RD), 112 is a write signal (WR), 113
Is a wait signal (WAIT) for extending the bus cycle of the CPU 1;
Acknowledgment signal (DACK4) output when access to is completed.

【0021】符号115は、チップセレクト信号(C
S)110およびアクノレッジ信号(DACK4)11
4に基づき、DMAリクエスト信号(DREQ4)11
6およびアウトプットイネーブル信号(OE)117を
生成するタイミングコントローラ回路である。
Reference numeral 115 denotes a chip select signal (C
S) 110 and acknowledge signal (DACK4) 11
4, a DMA request signal (DREQ4) 11
6 and an output enable signal (OE) 117.

【0022】符号120は、CPU2のDRAM204
に対するチップセレクト信号(CS)、121はリード
信号(RD)、122はライト信号(WR)、123は
CPU2のバスサイクルを延長するためのウエイト信号
(WAIT)、124はCPU2からDRAM204に
対するアクセスが終了した際に出力されるアクノレッジ
信号(DACK5)である。
Reference numeral 120 denotes a DRAM 204 of the CPU 2.
Select signal (CS), 121 is a read signal (RD), 122 is a write signal (WR), 123 is a wait signal (WAIT) for extending the bus cycle of the CPU 2, and 124 is an end of access from the CPU 2 to the DRAM 204. This is an acknowledge signal (DACK5) that is output when this is done.

【0023】符号125は、チップセレクト信号(C
S)120およびアクノレッジ信号(DACK4)12
4に基づき、DMAリクエスト信号(DREQ5)12
6と、アウトプットイネーブル信号(OE)127を作
り出すためのタイミング作成回路である。
Reference numeral 125 denotes a chip select signal (C
S) 120 and acknowledge signal (DACK4) 12
4, the DMA request signal (DREQ5) 12
6 and a timing generation circuit for generating an output enable signal (OE) 127.

【0024】符号130は、DMAチャネル1(CH
1)のDMAリクエスト信号(DREQ1)、131は
DMAチャネル2(CH1)のDMAリクエスト信号
(DREQ2)、132はDMAチャネル3(CH1)
のDMAリクエスト信号(DREQ3)である。
Reference numeral 130 denotes a DMA channel 1 (CH
1) DMA request signal (DREQ1), 131 is a DMA request signal (DREQ2) of DMA channel 2 (CH1), 132 is DMA channel 3 (CH1)
DMA request signal (DREQ3).

【0025】優先順位決定回路133は、リクエスト信
号(DREQ1〜DREQ3)130〜132に加えC
PU1および2からのリクエスト信号(DREQ4、D
REQ5)116、117を入力し、これらのDMA要
求のうち、最も優先順位の高いリクエスト信号を選択
し、その結果を符号134で示すように、バス形式でR
ESULT[5:1]のように出力する。このRESU
LT信号134は、選ばれたリクエスト信号のみに
“1”を出力する信号である。
The priority determining circuit 133 receives the request signals (DREQ1 to DREQ3) 130 to 132 and outputs
Request signals (DREQ4, DREQ4) from PU1 and PU2
REQ5) 116, 117, and selects the request signal with the highest priority among these DMA requests.
Output as ESULT [5: 1]. This RESU
The LT signal 134 is a signal that outputs “1” only to the selected request signal.

【0026】優先順位決定回路133は、発生したDM
Aリクエストの優先順位決定を次のようにして行なう。
The priority determining circuit 133 generates the generated DM.
The priority of the A request is determined as follows.

【0027】本実施形態では、従来のように単にCPU
のアクセスの無い期間において周辺回路チャンネルのD
MA転送を実施するのではなく、CPU1(201)
と、CPU2 (202) は、周辺回路ブロック310〜
312と全く並列の関係で、DMAコントローラ320
に接続した点に特徴があり、優先順位決定回路133は
優先順位の高いCPUに関しては最優先のDMAチャネ
ルとして扱い、また、優先順位の低いCPUに対して
は、DMAコントローラの優先順位の低く設定された一
つのチャネルとして扱う。
In the present embodiment, the CPU is simply used as in the prior art.
Of the peripheral circuit channel during the period when there is no access
Instead of performing MA transfer, CPU1 (201)
And the CPU 2 (202)
DMA controller 320 in a completely parallel relationship with 312
The priority order determination circuit 133 treats a CPU with a higher priority as a DMA channel with the highest priority, and sets a lower priority with a DMA controller for a CPU with a lower priority. Treated as one channel.

【0028】このような優先順位設定は、優先順位決定
回路133内部に設けたレジスタなどによりCPU1、
CPU2も含む各チャネルの優先順位設定を格納してお
き、同時に複数のDMAリクエストが発生した場合にこ
のレジスタの設定情報を用いて優先度の高いチャネルの
DMA要求を優先して実行することで行なえる。
Such a priority setting is performed by a register provided inside the priority determining circuit 133, etc.
The priority setting of each channel including the CPU 2 is stored, and when a plurality of DMA requests occur at the same time, the DMA request of the higher priority channel is preferentially executed using the setting information of this register. You.

【0029】たとえば、CPU1、CPU2(201、
202)の2つのうち、1つが従来例で述べたようなイ
ンクジェットプリンタのプリントヘッドへのデータ入力
などリアルタイム性が必要な処理を担当しているような
場合、このCPUの優先度を優先順位決定回路133で
高めておくことが考えられる。このように、CPU1、
CPU2も含め、リアルタイム性が必要なDMAチャネ
ルの優先順位を高めることにより、システムのスループ
ットを向上させるとともに、リアルタイム性が必要な処
理を遅延させるのを防止し、プリンタにおいては出力画
像の品質の低下などを未然に防止できる。
For example, CPU1, CPU2 (201,
202), if one of them is in charge of processing that requires real-time processing, such as inputting data to the print head of an ink jet printer as described in the conventional example, the CPU priority is determined. It is conceivable that the value is increased by the circuit 133. Thus, CPU1,
By increasing the priority of DMA channels that require real-time performance, including the CPU 2, the throughput of the system is improved, and the processing that requires real-time performance is prevented from being delayed. Can be prevented beforehand.

【0030】さらに、図1において、符号150は、D
RAM204への出力信号を生成するタイミング作成回
路である。符号151はローアドレスイネーブル信号
(RAE)であり、セレクタ106で最終的に選択され
たアドレスのうちローアドレスの出力をイネーブルす
る。そして、ローアドレスイネーブル信号(RAE)1
51がディスエーブルの時はカラムアドレスが出力され
る。
Further, in FIG.
This is a timing generation circuit that generates an output signal to the RAM 204. Reference numeral 151 denotes a row address enable signal (RAE), which enables the output of the row address among the addresses finally selected by the selector 106. Then, a row address enable signal (RAE) 1
When 51 is disabled, a column address is output.

【0031】また、符号152はRAS信号、153は
CAS信号、154はライトイネーブル信号(WE)、
155はDRAM204に対するアウトプットイネーブ
ル信号(OE)、156はDMAコントローラ320か
らの要求に対して、アクセスが終了したことを知らせる
ACK信号(ACK)である。157はDRAM204
ヘのデータ出力をイネーブルするアウトプットバッファ
ーイネーブル信号(OBE)である。
Reference numeral 152 denotes a RAS signal, 153 denotes a CAS signal, 154 denotes a write enable signal (WE),
Reference numeral 155 denotes an output enable signal (OE) for the DRAM 204, and reference numeral 156 denotes an ACK signal (ACK) for notifying that the access has been completed in response to a request from the DMA controller 320. 157 is a DRAM 204
This is an output buffer enable signal (OBE) for enabling data output to the output buffer.

【0032】符号160はロジック回路であり、優先順
位決定回路133が出力するRESULT[5:1]信
号134に基づき、ACK信号(ACK)156を符号
161〜165のいずれかのアクノレッジ信号に振り分
ける。符号161〜165のアクノレッジ信号は次のよ
うなものである。
Reference numeral 160 denotes a logic circuit, which distributes an ACK signal (ACK) 156 to any one of the acknowledgment signals 161 to 165 based on the RESULT [5: 1] signal 134 output from the priority determination circuit 133. The acknowledge signals denoted by reference numerals 161 to 165 are as follows.

【0033】符号161はチャネル1のブロック回路
(310)に接続されるDACK1信号、162はチャ
ネル2のブロック回路(311)に接続されるDACK
2信号、163はチャネル3のブロック回路(312)
に接続されるDACK3信号である。また、符号164
はCPU1(201)に接続されるDACK4信号、1
65はCPU2(202)に接続されるDACK5信号
である。
Reference numeral 161 denotes a DACK1 signal connected to the channel 1 block circuit (310), and reference numeral 162 denotes a DACK signal connected to the channel 2 block circuit (311).
2 signals, 163 is a block circuit of channel 3 (312)
Is a DACK3 signal connected to. Reference numeral 164
Are the DACK4 signals connected to the CPU 1 (201),
65 is a DACK5 signal connected to the CPU2 (202).

【0034】データバスの制御は次のような回路により
行なわれる。
The control of the data bus is performed by the following circuit.

【0035】符号140は、チャネル1からのライトデ
ータ、141はチャネル2からのライトデータ、142
はチャネル3からのライトデータ、144はCPU1に
接続されたデータバス、145はCPU2に接続された
データバスである。
Reference numeral 140 denotes write data from channel 1; 141, write data from channel 2;
Is a write data from channel 3, 144 is a data bus connected to CPU1, and 145 is a data bus connected to CPU2.

【0036】また、符号146は、上記のライトデータ
140〜142に基づき優先順位決定回路133が出力
する優先順位に基いてライトデータを選択するセレクタ
である。このセレクタ146により選択されたライトデ
ータは、タイミング作成回路150から出力されるアウ
トプットバッファーイネーブル信号157に基づき、D
RAM204へ出力される。
Reference numeral 146 denotes a selector for selecting write data based on the priority output from the priority determining circuit 133 based on the write data 140 to 142 described above. The write data selected by the selector 146 is based on an output buffer enable signal 157 output from the timing creation circuit 150,
Output to RAM 204.

【0037】次に上記構成における動作につき説明す
る。
Next, the operation of the above configuration will be described.

【0038】図4は本発明の制御回路の動作を示したス
テートマシンである。電源立ち上げ後501のリセット
状態から動作は開始する。図4には示していないが、こ
の時点で、アドレス生成回路100〜102では、どの
ようなアドレスを発生させるかのイニシャルセッティン
グが終了しており、また、優先順位決定回路133で
は、どのリクエストを優先させるかの設定(たとえば、
前述の優先順位決定回路133の内蔵レジスタによる優
先度プログラミング)が終了しているものとする。
FIG. 4 is a state machine showing the operation of the control circuit of the present invention. The operation starts from the reset state of 501 after the power is turned on. Although not shown in FIG. 4, at this point, the address generation circuits 100 to 102 have completed the initial setting of what address to generate, and the priority determination circuit 133 determines which request Set priority (for example,
It is assumed that the above-described priority programming by the built-in register of the priority order determination circuit 133 has been completed.

【0039】リセット直後に、符号502のスタンバイ
状態へと動作は移行する。このスタンバイ状態は、DM
Aコントローラ320が周辺回路からのリクエスト待ち
となった状態である。
Immediately after the reset, the operation shifts to the standby state denoted by reference numeral 502. This standby state is
The A controller 320 is in a state of waiting for a request from a peripheral circuit.

【0040】ここで、CPU1からDRAM204に対
してアクセス要求が生じた場合、CPU1アクセスステ
ート510に移行する。この移行の条件は、優先順位決
定回路133によりCPU1のアクセスが認められたと
きである。同様に、CPU2からDRAM204に対し
てアクセス要求が生じた場合、CPU2アクセスステー
ト511に移行する。この移行の条件は、上記同様優先
順位決定回路133によりCPU2のアクセスが認めら
れたときである。
Here, when an access request is issued from the CPU 1 to the DRAM 204, the processing shifts to the CPU 1 access state 510. The condition for this transition is when the access of the CPU 1 is recognized by the priority order determination circuit 133. Similarly, when an access request is issued from the CPU 2 to the DRAM 204, the processing shifts to the CPU 2 access state 511. The condition for this transition is when the access of the CPU 2 is recognized by the priority order determination circuit 133 as described above.

【0041】また、DMAチャネル1からDRAM20
4に対してアクセス要求が生じた場合、DMAチャネル
1アクセスステート520に移行する。この移行の条件
は、優先順位決定回路133によりDMAチャネル1の
アクセスが認められたときである。同様にDMAチャネ
ル2からDRAM204に対してアクセス要求が生じた
場合、DMAチャネル2アクセスステート521に移行
する。この移行の条件は、優先順位決定回路133によ
りDMAチャネル2のアクセスが認められたときであ
る。同様にさらにDMAチャネル3からDRAM204
に対してアクセス要求が生じた場合は、DMAチャネル
3アクセスステート522に移行する。この移行の条件
は、優先順位決定回路133によりDMAチャネル3の
アクセスが認められたときである。
The DMA channel 1 to the DRAM 20
When an access request is issued to the DMA channel No. 4, the state shifts to the DMA channel 1 access state 520. The condition for this transition is when the access to the DMA channel 1 is recognized by the priority order determination circuit 133. Similarly, when an access request is issued from the DMA channel 2 to the DRAM 204, the state shifts to the DMA channel 2 access state 521. The condition for this transition is when the access to the DMA channel 2 is recognized by the priority order determination circuit 133. Similarly, the DMA channel 3 to the DRAM 204
When an access request is issued to the DMA channel 3, the state shifts to the DMA channel 3 access state 522. The condition for this transition is when the access to the DMA channel 3 is recognized by the priority order determination circuit 133.

【0042】優先順位決定回路133は、前述のよう
に、複数のアクセス要求が同時に生じた場合は予め決め
られた優先順位に基づきいずれのアクセス要求を優先し
て許可するかを決定する。
As described above, when a plurality of access requests occur simultaneously, the priority order determination circuit 133 determines which access request is to be given priority and permitted based on a predetermined priority order.

【0043】以上のようにして、本実施形態によれば、
複数のCPU、CPU1(201)と、CPU2 (20
2) を周辺回路ブロック310〜312と全く並列の関
係で、DMAコントローラ320に接続し、DMAアク
セスの優先順位をCPUのDMA要求も含めてDMAコ
ントローラにより一元管理し、優先順位の高いCPUに
関しては最優先のDMAチャネルとして扱い、また、優
先順位の低いCPUに対しては、DMAコントローラの
優先順位の低く設定された一つのチャネルとして扱うこ
とができる。このような構成により、本実施形態によれ
ば、リアルタイム性が必要なDMAチャネルの優先順位
を高めることで、メモリアクセスを最適化することがで
き、システム全体のデータ転送のスループットを向上す
ることができる。
As described above, according to the present embodiment,
A plurality of CPUs, CPU1 (201) and CPU2 (20
2) is connected to the DMA controller 320 in a completely parallel relationship with the peripheral circuit blocks 310 to 312, and the DMA access priority including the DMA request of the CPU is unitarily managed by the DMA controller. It can be treated as a DMA channel with the highest priority, and a CPU with a lower priority can be treated as one channel with a lower priority set by the DMA controller. With this configuration, according to the present embodiment, it is possible to optimize the memory access by increasing the priority of the DMA channels that require real-time properties, and to improve the data transfer throughput of the entire system. it can.

【0044】(第2実施形態)図5に図1の第一の実施
形態を拡張した異なる実施形態を示す。図5は図1のD
MAコントローラ320の一部を変形した回路例であ
り、その他の構成は上述と同様であるものとする。図5
において符号600は、CPU2がDRAM204をア
クセスする時のアドレスを自動設定させるためのアドレ
ス発生回路である。620はCPU2からのDRAM2
04へのライトデータを一次格納するためのFIFO、
610はFIFO620のチップセレクト信号、631
は620のFIFOがフル状態であることを示すビジー
信号、632は620のFIFOが空であることを示す
エンプティ信号であり、FIFOにデータがある時に、
優先順位決定回路133に対して、DMAリクエスト信
号126が発生する。
(Second Embodiment) FIG. 5 shows a different embodiment obtained by expanding the first embodiment of FIG. FIG. 5 shows D in FIG.
This is a circuit example in which a part of the MA controller 320 is modified, and the other configuration is the same as that described above. FIG.
Reference numeral 600 denotes an address generation circuit for automatically setting an address when the CPU 2 accesses the DRAM 204. 620 is DRAM2 from CPU2
A FIFO for temporarily storing write data to the C.04,
610 is a chip select signal of the FIFO 620, 631
Is a busy signal indicating that the FIFO 620 is full, 632 is an empty signal indicating that the FIFO 620 is empty, and when there is data in the FIFO,
A DMA request signal 126 is generated for the priority determining circuit 133.

【0045】以上のように、CPU2側のライトデータ
をFIFO620経由で入力し、そのDMAリクエスト
信号126を利用してDMA要求を検出する構成におい
ても、優先順位決定回路133を用いて上述同様の動作
を行ない、メモリアクセスの優先順位を制御することが
でき、メモリアクセスを最適化することができ、システ
ム全体のデータ転送のスループットを向上することがで
きる。
As described above, even in a configuration in which write data on the CPU 2 side is input via the FIFO 620 and a DMA request is detected using the DMA request signal 126, the same operation as described above is performed using the priority order determination circuit 133. , The priority of memory access can be controlled, the memory access can be optimized, and the data transfer throughput of the entire system can be improved.

【0046】[0046]

【発明の効果】以上の説明から明らかなように、本発明
によれば、メモリ、およびそれぞれ所定の周辺回路に対
応した複数のDMAチャネルの間でDMA転送を行なう
DMA転送制御装置において、前記メモリに対してデー
タ入出力を行なう複数のCPUと、前記複数のCPUの
前記メモリに対する入出力要求をそれぞれのCPUに対
応したDMAチャネルのDMA転送要求として検出し、
前記周辺回路に対応した複数のDMAチャネル、および
前記CPUに対応したDMAチャネルのDMA転送要求
のうちいずれかが同時に発生した場合、あらかじめ定め
られた所定の優先順位に基づき、発生したDMA転送要
求に該当するDMA転送を行なうDMAコントローラを
有する構成を採用しているので、DMAアクセスの優先
順位をCPUのDMA要求も含めてDMAコントローラ
により、一元管理し、たとえば、優先順位の高いCPU
に関しては最優先のDMAチャネルとして扱い、また、
優先順位の低いCPUに対しては、DMAコントローラ
の優先順位の低く設定された一つのチャネルとして扱う
ことにより、リアルタイム性が必要なDMAチャネルの
優先順位を高めることで、メモリアクセスを最適化する
ことができ、システム全体のデータ転送のスループット
を向上することができる、という優れた効果が得られ
る。
As is apparent from the above description, according to the present invention, in a memory and a DMA transfer control device for performing DMA transfer between a plurality of DMA channels respectively corresponding to predetermined peripheral circuits, A plurality of CPUs for inputting and outputting data to and from the memory, and detecting input / output requests to the memory of the plurality of CPUs as DMA transfer requests of DMA channels corresponding to the respective CPUs;
When any one of the DMA transfer requests of the plurality of DMA channels corresponding to the peripheral circuit and the DMA channel corresponding to the CPU occurs at the same time, the generated DMA transfer request is performed based on a predetermined priority order. Since a configuration having a DMA controller for performing the corresponding DMA transfer is employed, the priority order of the DMA access including the DMA request of the CPU is centrally managed by the DMA controller.
Is treated as the highest priority DMA channel, and
Optimize memory access by increasing the priority of DMA channels that require real-time processing by treating low priority CPUs as one channel with a low priority set by the DMA controller. And the data transfer throughput of the entire system can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施形態におけるDMAコント
ローラの構成を示したブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a DMA controller according to a first embodiment of the present invention.

【図2】図1のDMAコントローラを使用するシステム
全体の構成を示したブロック図である。
FIG. 2 is a block diagram showing a configuration of an entire system using the DMA controller of FIG. 1;

【図3】図1のDMAコントローラを含むASIC部分
のブロック図である。
FIG. 3 is a block diagram of an ASIC portion including the DMA controller of FIG. 1;

【図4】本発明の第1の実施形態におけるDMA転送制
御の様子を示した状態遷移図である。
FIG. 4 is a state transition diagram showing a state of DMA transfer control according to the first embodiment of the present invention.

【図5】本発明の第2の実施形態におけるDMAコント
ローラの構成を示したブロック図である。
FIG. 5 is a block diagram illustrating a configuration of a DMA controller according to a second embodiment of the present invention.

【符号の説明】[Explanation of symbols]

100 アドレス生成回路(チャネル1) 101 アドレス生成回路(チャネル2) 102 アドレス生成回路(チャネル3) 103 CPU1のアドレスバス 104 CPU1のアドレスバス 105 セレクタ 106 セレクタ(ローアドレス/カラムアドレス) 107 DRAMアドレスバス 110 DRAMチップセレクト信号(CPU1) 111 リード信号(CPU1) 112 ライト信号(CPU1) 113 ウエイト信号(CPU1) 114 DMAアクノレッジ信号4 115 タイミングコントローラ 116 DMAリクエスト信号4 117 アウトプットイネーブル信号(CPU1) 120 DRAMチップセレクト信号(CPU2) 121 リード信号(CPU2) 122 ライト信号(CPU2) 123 ウエイト信号(CPU2) 124 DMAアクノレッジ信号5 125 タイミングコントローラ 126 DMAリクエスト信号4 127 アウトプットイネーブル信号(CPU2) 133 優先順位決定回路 134 RESULT信号 140 ライトデータ(チャネル1) 141 ライトデータ(チャネル2) 142 ライトデータ(チャネル3) 143 データバス(CPU1) 144 データバス(CPU2) 145 ASIC内部データバス 146 セレクタ 148 DRAMデータバス 150 タイミング発生回路 151 ローアドレスイネーブル信号 152 RAS信号 153 CAS信号 154 ライトイネーブル信号 155 アウトプットイネーブル信号 156 DMAアクノレッジ信号 157 アウトプットバッファイネーブル信号 160 ロジック回路 161 DACK1信号 162 DACK2信号 163 DACK3信号 164 DACK4信号 165 DACK5信号 201 CPU1 202 CPU2 203 ASIC 204 DRAM 205 ROM 310 DMAチャネル1回路ブロック 311 DMAチャネル2回路ブロック 312 DMAチャネル3回路ブロック 320 DMAコントローラ 501 リセット状態 502 スタンバイ状態 510 アクセスステート(CPU1) 511 アクセスステート(CPU2) 520 DMAチャネル1アクセスステート 521 DMAチャネル2アクセスステート 522 DMAチャネル3アクセスステート 600 CPU2アドレス発生回路 610 FIFOチップセレクト信号(CPU2) 620 FIFO 631 ビジー信号 632 エンプティ信号 Reference Signs List 100 address generation circuit (channel 1) 101 address generation circuit (channel 2) 102 address generation circuit (channel 3) 103 address bus of CPU1 104 address bus of CPU1 105 selector 106 selector (row address / column address) 107 DRAM address bus 110 DRAM chip select signal (CPU1) 111 Read signal (CPU1) 112 Write signal (CPU1) 113 Wait signal (CPU1) 114 DMA acknowledge signal 4 115 Timing controller 116 DMA request signal 4 117 Output enable signal (CPU1) 120 DRAM chip select Signal (CPU2) 121 Read signal (CPU2) 122 Write signal (CPU2) 123 Weight signal (CPU2) 124 DMA acknowledge signal 5 125 Timing controller 126 DMA request signal 4 127 Output enable signal (CPU2) 133 Priority determination circuit 134 RESULT signal 140 Write data (channel 1) 141 Write data (channel 2) 142 Write data (channel 3) 143 Data bus (CPU1) 144 Data bus (CPU2) 145 ASIC internal data bus 146 Selector 148 DRAM data bus 150 Timing generation circuit 151 Row address enable signal 152 RAS signal 153 CAS signal 154 Write enable signal 155 Output enable signal 156 DMA acknowledge Signal 157 Output buffer enable signal 160 Logic circuit 161 DA K1 signal 162 DACK2 signal 163 DACK3 signal 164 DACK4 signal 165 DACK5 signal 201 CPU1 202 CPU2 203 ASIC 204 DRAM 205 ROM ROM 310 DMA channel 1 circuit block 311 DMA channel 2 circuit block 312 DMA channel 3 circuit block 320 DMA controller 502 State 510 Access state (CPU1) 511 Access state (CPU2) 520 DMA channel 1 access state 521 DMA channel 2 access state 522 DMA channel 3 access state 600 CPU2 address generation circuit 610 FIFO chip select signal (CPU2) 620 FIFO 631 Busy signal 632 Empty signal

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 メモリ、およびそれぞれ所定の周辺回路
に対応した複数のDMAチャネルの間でDMA転送を行
なうDMA転送制御装置において、 前記メモリに対してデータ入出力を行なう複数のCPU
と、 前記複数のCPUの前記メモリに対する入出力要求をそ
れぞれのCPUに対応したDMAチャネルのDMA転送
要求として検出し、前記周辺回路に対応した複数のDM
Aチャネル、および前記CPUに対応したDMAチャネ
ルのDMA転送要求のうちいずれかが同時に発生した場
合、あらかじめ定められた所定の優先順位に基づき、発
生したDMA転送要求に該当するDMA転送を行なうD
MAコントローラを有することを特徴とするDMA転送
制御装置。
1. A DMA transfer control device for performing a DMA transfer between a memory and a plurality of DMA channels respectively corresponding to predetermined peripheral circuits, comprising: a plurality of CPUs for inputting and outputting data to and from the memory;
And detecting input / output requests to the memory of the plurality of CPUs as DMA transfer requests of DMA channels corresponding to the respective CPUs, and detecting a plurality of DMs corresponding to the peripheral circuits.
When any one of the A channel and the DMA transfer request of the DMA channel corresponding to the CPU occurs at the same time, a DMA transfer corresponding to the generated DMA transfer request is performed based on a predetermined priority.
A DMA transfer control device comprising an MA controller.
JP2001036268A 2001-02-14 2001-02-14 Dma transfer control device Withdrawn JP2002244993A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001036268A JP2002244993A (en) 2001-02-14 2001-02-14 Dma transfer control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001036268A JP2002244993A (en) 2001-02-14 2001-02-14 Dma transfer control device

Publications (1)

Publication Number Publication Date
JP2002244993A true JP2002244993A (en) 2002-08-30

Family

ID=18899564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001036268A Withdrawn JP2002244993A (en) 2001-02-14 2001-02-14 Dma transfer control device

Country Status (1)

Country Link
JP (1) JP2002244993A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995789A (en) * 2014-06-04 2014-08-20 上海斐讯数据通信技术有限公司 Direct memory access achievement system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103995789A (en) * 2014-06-04 2014-08-20 上海斐讯数据通信技术有限公司 Direct memory access achievement system and method

Similar Documents

Publication Publication Date Title
US20120110230A1 (en) Device for arbitrating bus accesses and method for controlling same
JP4715801B2 (en) Memory access control device
US9330025B2 (en) Information processing apparatus, memory control apparatus, and control method thereof
JP2001356961A (en) Arbitration device
JP4902640B2 (en) Integrated circuit and integrated circuit system
JP5718305B2 (en) Image forming apparatus
JP3532318B2 (en) Programmable arbiter
JP2005293596A (en) Arbitration of data request
US6622210B2 (en) Microcontroller with improved access efficiency of instructions
KR19990017082A (en) Serial Parallel Cache Device
US20070143534A1 (en) Nonvolatile-memory-access control apparatus and nonvolatile-memory control system
JP2002244993A (en) Dma transfer control device
US6122699A (en) Data processing apparatus with bus intervention means for controlling interconnection of plural busses
US20060047866A1 (en) Computer system having direct memory access controller
JP4175974B2 (en) Image data transfer control device
JP2005004563A (en) Dma transfer controller
JP3820831B2 (en) Memory control method and apparatus
JP2005107873A (en) Semiconductor integrated circuit
JP2006277363A (en) Information transfer system, and image forming device
JP4039302B2 (en) Memory controller and printer
JP2000099391A (en) Printer, printer controlling method and storage medium
JP2005316621A (en) Bus arbitration device and image processor
JP3674670B2 (en) Bus control device and semiconductor device
JP4496923B2 (en) Shared memory system
JP2001167049A (en) Bus arbitrating device

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070209

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080513