JPH0877099A - Dma controller - Google Patents

Dma controller

Info

Publication number
JPH0877099A
JPH0877099A JP23244494A JP23244494A JPH0877099A JP H0877099 A JPH0877099 A JP H0877099A JP 23244494 A JP23244494 A JP 23244494A JP 23244494 A JP23244494 A JP 23244494A JP H0877099 A JPH0877099 A JP H0877099A
Authority
JP
Japan
Prior art keywords
register
parameter
address
transfer
dma
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
JP23244494A
Other languages
Japanese (ja)
Inventor
Harunobu Miyashita
晴信 宮下
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP23244494A priority Critical patent/JPH0877099A/en
Publication of JPH0877099A publication Critical patent/JPH0877099A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To provide the DMA controller which lightens the load on a CPU. CONSTITUTION: The DMA controller is equipped with an address register 4 which stores address information of a main memory 33 stored with parameters used for transfer, a 1st parameter register 42 which stores parameters used for current transfer, a 2nd parameter register 48 which stores parameters used for next-time transfer, a DMA address read-in control part 45 which reads the parameters out of the main memory 33 according to the address information in the address register 44 and registers them in the 2nd parameter register 48, and a DMA transfer control part 47 which controls DMA transfer on the basis of the parameters moved from the 2nd parameter register 48 to the 1st parameter register 42.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、周辺機器相互間、主記
憶装置相互間、または主記憶装置と周辺装置との間で、
CPUを介さずにデータ転送を直接的に行うDMAコン
トローラに係り、特に、CPUの負担を軽減したDMA
コントローラに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a peripheral device, a main memory device, or a main memory device and a peripheral device.
The present invention relates to a DMA controller that directly transfers data without going through the CPU, and particularly, a DMA that reduces the load on the CPU.
Regarding the controller.

【0002】[0002]

【従来の技術】図10は、従来のDMAコントローラ3
の主要部の構成を示したブロック図であり、これまで
は、DMA転送に関するパラメータを保持するパラメー
タレジスタ12が1組しか設けられておらず、CPU1
は転送パラメータをパラメータレジスタ12に登録し、
制御部6は、パラメータレジスタ12に登録された転送
パラメータに基づいてDMA転送を実行していた。
2. Description of the Related Art FIG. 10 shows a conventional DMA controller 3
3 is a block diagram showing the configuration of the main part of the CPU 1. Until now, only one set of parameter registers 12 for holding parameters related to DMA transfer is provided, and the CPU 1
Registers the transfer parameters in the parameter register 12,
The control unit 6 has executed the DMA transfer based on the transfer parameter registered in the parameter register 12.

【0003】図11は、パラメータレジスタ12の構成
を模式的に示した図である。パラメータレジスタ12
は、転送開始アドレスを保持するアドレスレジスタ2
0、転送語数を保持するレングスレジスタ21、および
コマンドレジスタ22から構成されている。コマンドレ
ジスタ22には、現在の転送後に次の転送があるか否か
を示す情報が保持される。
FIG. 11 is a diagram schematically showing the structure of the parameter register 12. Parameter register 12
Is an address register 2 that holds the transfer start address
0, a length register 21 for holding the number of transfer words, and a command register 22. The command register 22 holds information indicating whether there is a next transfer after the current transfer.

【0004】このような構成のDMAコントローラ3で
は、DMAデータの転送範囲を保持するパラメータレジ
スタが1組であったため、メモリアドレスの連続しない
複数のDMA転送がある場合、CPU1はDMA転送に
関するパラメータを各DMA転送ごとにパラメータレジ
スタ12に設定し、その後にDMA転送を起動しなけれ
ばならないので、CPUの負担が重くなるという問題が
あった。
In the DMA controller 3 having such a configuration, since there is one set of parameter registers for holding the transfer range of the DMA data, when there are a plurality of DMA transfers in which the memory addresses are not continuous, the CPU 1 sets the parameters related to the DMA transfer. Since it is necessary to set the parameter register 12 for each DMA transfer and then activate the DMA transfer, there is a problem that the load on the CPU becomes heavy.

【0005】このような問題点を解決するために、例え
ば特開平4−264652号公報では、図12に示した
ように2組のパラメータレジスタ4、5を設ける方式が
提案されている。このような方式では、CPU1によっ
て第2のパラメータレジスタ4にパラメータが設定され
てデータ転送の開始が指示されると、第2のパラメータ
レジスタ4の内容が第1のパラメータレジスタ5に移動
される。制御部6は、第1のパラメータレジスタ5に移
動された転送パラメータに基づいてI/O装置7との間
でデータ転送を開始する。
In order to solve such a problem, for example, Japanese Unexamined Patent Publication No. 4-264652 proposes a method of providing two sets of parameter registers 4 and 5 as shown in FIG. In such a system, when the CPU 1 sets parameters in the second parameter register 4 and instructs the start of data transfer, the contents of the second parameter register 4 are moved to the first parameter register 5. The control unit 6 starts data transfer with the I / O device 7 based on the transfer parameter moved to the first parameter register 5.

【0006】現在の転送の後に次の転送がある場合は、
第2のパラメータが空であることを示すステータスをセ
ットするとともに、CPU1に対して割り込みを発生す
る。割り込みによって、CPU1は次の転送パラメータ
を第2のパラメータレジスタにセットする。上記のよう
にパラメータレジスタを2段階構成とし、パラメータの
セットを通知するステータスを有することにより、不連
続なメモリアドレス(物理アドレス)に対して連続した
DMA転送が可能になる。
If there is a next transfer after the current transfer,
A status indicating that the second parameter is empty is set and an interrupt is issued to the CPU 1. By the interruption, the CPU 1 sets the next transfer parameter in the second parameter register. As described above, the parameter register has the two-stage configuration and has the status for notifying the setting of the parameter, which enables continuous DMA transfer to discontinuous memory addresses (physical addresses).

【0007】[0007]

【発明が解決しようとする課題】上記した従来技術で
は、これまでと同様に1つの連続する領域のDMA転送
が終了するたびにCPUへ割り込みをかけ、CPUが第
2のパラメータレジスタにパラメータを設定しなければ
ならないので、CPUの負荷は依然として重いままであ
るという問題があった。
In the above-mentioned conventional technique, an interrupt is issued to the CPU each time the DMA transfer of one continuous area is completed, and the CPU sets the parameter in the second parameter register, as before. However, there is a problem that the load on the CPU still remains heavy.

【0008】本発明の目的は、上記した従来技術の問題
点を解決し、CPUの負荷を軽くしたDMAコントロー
ラを提供することにある。
An object of the present invention is to solve the above-mentioned problems of the prior art and to provide a DMA controller which reduces the load on the CPU.

【0009】[0009]

【課題を解決するための手段】上記した目的を達成する
ために、本発明では、DMA転送に使用するパラメータ
が記憶された主記憶装置のアドレス情報を記憶するアド
レスレジスタと、現在の転送に使用するパラメータを記
憶する第1のパラメータレジスタと、次回の転送に使用
するパラメータを記憶する第2のパラメータレジスタ
と、アドレスレジスタのアドレス情報に基づいて主記憶
装置からパラメータを読み出し、第2のパラメータレジ
スタに登録するパラメータ登録手段と、第2のパラメー
タレジスタに記憶されているパラメータを第1のパラメ
ータレジスタに移動するパラメータ移動手段と、前記第
1のパラメータレジスタに移動されたパラメータに基づ
いてDMA転送を制御する制御手段とを設けた点に特徴
がある。
In order to achieve the above object, according to the present invention, an address register for storing address information of a main memory device in which a parameter used for a DMA transfer is stored and a current register used for the current transfer. The first parameter register for storing the parameters to be stored, the second parameter register for storing the parameters to be used for the next transfer, and the second parameter register for reading the parameters from the main storage device based on the address information of the address register. Parameter registration means for registering to the first parameter register, parameter moving means for moving the parameter stored in the second parameter register to the first parameter register, and DMA transfer based on the parameter moved to the first parameter register. It is characterized in that a control means for controlling is provided.

【0010】[0010]

【作用】上記した構成によれば、DMA転送に使用する
パラメータの、主記憶装置上でのアドレス情報がアドレ
スレジスタに記憶されており、パラメータ登録手段は、
当該アドレスレジスタに記憶されているアドレス情報に
基づいてDMA転送のためのパラメータを主記憶装置か
ら読み出し、これを第2のパラメータレジスタに登録す
る。したがって、これまで主記憶装置に登録されている
パラメータを第2のパラメータレジスタに登録するため
に、DMA転送ごとに行われていたCPUへの割り込み
が不要となってCPUの負担が軽減される。
According to the above construction, the address information of the parameters used in the DMA transfer on the main memory is stored in the address register, and the parameter registration means is
A parameter for DMA transfer is read from the main storage device based on the address information stored in the address register, and is registered in the second parameter register. Therefore, since the parameter registered in the main storage device until now is registered in the second parameter register, the interrupt to the CPU, which has been performed every DMA transfer, becomes unnecessary, and the load on the CPU is reduced.

【0011】[0011]

【実施例】図1は、本発明の一実施例であるDMAコン
トローラ30の構成を示したブロック図である。I/O
装置31には、DMAコントローラ30によってデータ
の読み込み/書き込みが行われる。CPU32は、DM
Aコントローラ30の内部レジスタへの書き込み/読み
込み等を行う。メインメモリ33には、I/O装置31
へ出力するデータ、またはI/O装置31から入力され
たデータが記憶される。また、メインメモリ33には、
後に図7に関して説明するように、DMA転送のパラメ
ータとなる転送アドレスおよび転送サイズ数(以下、こ
れらを総称してアドレスエントリと表現する場合もあ
る)を保持するアドレステーブル60が記憶されてい
る。アドレス/データ線34は、アドレス信号およびデ
ータ信号用の外部バスであり、制御線35は制御信号用
の外部バスである。
1 is a block diagram showing the structure of a DMA controller 30 which is an embodiment of the present invention. I / O
Data is read from and written into the device 31 by the DMA controller 30. CPU32 is DM
Writing / reading to / from the internal register of the A controller 30 is performed. In the main memory 33, the I / O device 31
The data output to or the data input from the I / O device 31 is stored. In addition, in the main memory 33,
As will be described later with reference to FIG. 7, an address table 60 holding a transfer address and a transfer size number (hereinafter, these may be collectively referred to as an address entry) that are parameters of the DMA transfer is stored. The address / data line 34 is an external bus for address signals and data signals, and the control line 35 is an external bus for control signals.

【0012】デコーダ部40は、DMAコントローラ3
0の内部レジスタへのセレクト信号を生成する。アービ
タ部41は、DMAコントローラ30の内部バスの調停
を行う。テーブルアドレスレジスタ44には、メインメ
モリ33上での前記アドレステーブル60の記憶アドレ
スが保持される。第1および第2のパラメータレジスタ
42、48には、DMA転送に必要な転送アドレスおよ
び転送サイズ数等の転送パラメータが記憶される。
The decoder unit 40 includes a DMA controller 3
Generates a select signal to the 0 internal register. The arbiter unit 41 arbitrates the internal bus of the DMA controller 30. The table address register 44 holds the storage address of the address table 60 on the main memory 33. The first and second parameter registers 42 and 48 store transfer parameters such as a transfer address and a transfer size number required for DMA transfer.

【0013】DMAアドレス読み込み制御部45は、テ
ーブルアドレスレジスタ44に保持されているアドレス
情報に基づいて、DMA転送のためのアドレスエントリ
(転送アドレスおよび転送サイズ数)をメインメモリ3
3上のアドレステーブル60から読み出して第2のパラ
メータレジスタ48に書き込むための制御を行う。DM
A転送制御部47は、第1のパラメータレジスタ42に
書き込まれたアドレスエントリに基づいてDMA転送の
制御を行う。コントロールレジスタ46には、DMAコ
ントローラ30の内部の状態等が保持される。データバ
ッファ43には、メインメモリ33からI/O装置31
へ出力されるデータまたは、I/O装置31から入力さ
れたデータが保持される。
The DMA address read control unit 45 creates an address entry (transfer address and transfer size number) for the DMA transfer based on the address information held in the table address register 44.
The control for reading from the address table 60 on the third layer and writing to the second parameter register 48 is performed. DM
The A transfer control unit 47 controls the DMA transfer based on the address entry written in the first parameter register 42. The control register 46 holds the internal state of the DMA controller 30. The data buffer 43 includes the main memory 33 to the I / O device 31.
The data output to or the data input from the I / O device 31 is held.

【0014】図2は、前記コントロールレジスタ46の
構成を模式的に示した図であり、メインメモリ33上の
アドレステーブル60(図7参照)のサイズを保持する
テーブルサイズフィールド(Table Size)5
1、アドレステーブル60から第2のパラメータレジス
タ48へのアドレスエントリの転送が開始されたことを
示す情報を保持するスタートフィールド52(STAR
T)、メインメモリ33およびI/O装置31間でのD
MA転送の方向を示す情報を保持するリードフィールド
(RD)53、前記アドレスエントリの転送時にエラー
が発生したことを示す情報を保持するアドレス転送エラ
ーフィールド(AERR)54、メインメモリ33およ
びI/O装置31間でのDMA転送中にエラーが発生し
たことを示す情報を保持するDMA転送エラーフィール
ド(TERR)55、ならびに全ての転送が終了したこ
とを示す情報を保持する転送終了フィールド(COM
P)56によって構成されている。
FIG. 2 is a diagram schematically showing the configuration of the control register 46. A table size field (Table Size) 5 for holding the size of the address table 60 (see FIG. 7) in the main memory 33.
1, a start field 52 (STAR) holding information indicating that the transfer of the address entry from the address table 60 to the second parameter register 48 has started.
T), D between main memory 33 and I / O device 31
A read field (RD) 53 holding information indicating the MA transfer direction, an address transfer error field (AERR) 54 holding information indicating that an error occurred during the transfer of the address entry, the main memory 33 and the I / O. A DMA transfer error field (TERR) 55 that holds information indicating that an error has occurred during DMA transfer between the devices 31, and a transfer end field (COM that holds information that all transfers have ended).
P) 56.

【0015】図3は、第1のパラメータレジスタ42の
構成を示したブロック図であり、トライステートバッフ
ァ81、82、コンパレータ83、レジスタ84、8
5、マルチプレクサ86、87、加算器88および減算
器89から構成されている。
FIG. 3 is a block diagram showing the configuration of the first parameter register 42. The tristate buffers 81 and 82, the comparator 83, and the registers 84 and 8 are shown.
5, multiplexers 86 and 87, an adder 88 and a subtractor 89.

【0016】レジスタ84には転送アドレスが保持され
る。転送アドレスは、入力信号ADRINからマルチプ
レクサ86を経由してレジスタ84に読み込まれる。転
送アドレスは、1回分のDMAデータが終了するごとに
加算器88によってインクリメントされる。レジスタ8
5には転送サイズ数が保持される。転送サイズ数は、入
力信号SIZINからマルチプレクサ87を経由してレ
ジスタ85に読み込まれる。転送サイズ数は、1回分の
DMAデータが終了するごとに減算器89によってデク
リメントされる。
The transfer address is held in the register 84. The transfer address is read from the input signal ADRIN into the register 84 via the multiplexer 86. The transfer address is incremented by the adder 88 each time one DMA data is completed. Register 8
The number of transfer sizes is held in 5. The transfer size number is read from the input signal SIZIN into the register 85 via the multiplexer 87. The transfer size number is decremented by the subtractor 89 each time one DMA data is completed.

【0017】トライステートバッファ81は、DMA転
送制御部47から出力されるOE1信号が“1”の時、
転送アドレスを内部バスへ出力し、トライステートバッ
ファ82は、DMA転送制御部47から出力されるOE
2信号が“1”の時、転送サイズ数を内部バスへ出力す
る。OE1信号およびOE2信号は同時には“1”にな
らない。コンパレータ83は、転送サイズ数が“0”の
ときにEND信号として“1”を出力する。
The tri-state buffer 81, when the OE1 signal output from the DMA transfer control unit 47 is "1",
The transfer address is output to the internal bus, and the tri-state buffer 82 outputs the OE output from the DMA transfer control unit 47.
When the two signals are "1", the transfer size number is output to the internal bus. The OE1 signal and the OE2 signal do not become "1" at the same time. The comparator 83 outputs "1" as the END signal when the transfer size number is "0".

【0018】図4は、第2のパラメータレジスタ48の
構成を示したブロック図であり、2つのレジスタ90、
91から構成されている。レジスタ90には転送アドレ
スが保持され、レジスタ91には転送サイズ数が保持さ
れる。
FIG. 4 is a block diagram showing the configuration of the second parameter register 48, which includes two registers 90,
It is composed of 91. The register 90 holds the transfer address, and the register 91 holds the transfer size number.

【0019】図5は、テーブルアドレスレジスタ44の
構成を示したブロック図であり、トライステトバッファ
92、レジスタ93、マルチプレクサ94、および加算
器95によって構成されている。レジスタ93には、次
のDMA転送で使用するアドレスエントリの、メインメ
モリ33上での記憶アドレスが保持される。この転送ア
ドレスは、1回のDMAデータ転送が終了するごとに加
算器95によってインクリメントされる。
FIG. 5 is a block diagram showing the structure of the table address register 44, which is composed of a tri-state buffer 92, a register 93, a multiplexer 94, and an adder 95. The register 93 holds the storage address on the main memory 33 of the address entry used in the next DMA transfer. This transfer address is incremented by the adder 95 each time one DMA data transfer is completed.

【0020】図6は、メインメモリ33に記憶されてい
るデータの一例を示した図であり、黒の領域のみがI/
O装置31にDMA転送される。図7は、図6の転送デ
ータに関するアドレスエントリを保持したアドレステー
ブル60の構成を模式的に示しており、不連続な領域の
転送アドレスおよび転送サイズ数を記憶した複数のアド
レスエントリ61〜66によって構成されている。アド
レスエントリ61のアドレスが当該アドレステーブル6
0の先頭アドレスになる。
FIG. 6 is a diagram showing an example of the data stored in the main memory 33. Only the black area is I / I.
DMA transfer is performed to the O device 31. FIG. 7 schematically shows the configuration of the address table 60 that holds the address entries relating to the transfer data of FIG. 6, and is composed of a plurality of address entries 61 to 66 that store transfer addresses and transfer size numbers of discontinuous areas. It is configured. The address of the address entry 61 is the address table 6 concerned.
The start address is 0.

【0021】図8は、DMAコントローラ30がメイン
メモリ33とI/O装置31との間でDMA転送する際
のDMAアドレス読み込み制御部45の動作を示したフ
ローチャート、図9はDMA転送制御部47の動作を示
したフローチャートである。以下、図6ないし図9を用
いて、DMAコントローラ30がメインメモリ33上の
不連続なアドレス範囲のデータをI/O装置31に書き
込む時の動作を説明する。
FIG. 8 is a flowchart showing the operation of the DMA address read control unit 45 when the DMA controller 30 makes a DMA transfer between the main memory 33 and the I / O device 31, and FIG. 9 is a DMA transfer control unit 47. 3 is a flowchart showing the operation of FIG. The operation when the DMA controller 30 writes data in the discontinuous address range on the main memory 33 to the I / O device 31 will be described below with reference to FIGS. 6 to 9.

【0022】まず最初に、CPU32はメインメモリ3
3上のアドレステーブル60の先頭アドレス(例えば
“20300”)をテーブルアドレスレジスタ44に書
き込むと共に、コントロールレジスタ46のテーブルサ
イズフィールド51には、アドレステーブル60のサイ
ズとして“6”、スタートフィールド52には、転送開
始を示す“1”、リードフィールド53には、転送方向
がメインメモリ33からI/O装置31であることを示
す“1”を書き込む。
First, the CPU 32 uses the main memory 3
The top address (for example, “20300”) of the address table 60 of 3 is written in the table address register 44, the table size field 51 of the control register 46 is set to “6” as the size of the address table 60, and the start field 52 is set to , "1" indicating the start of transfer, and "1" indicating that the transfer direction is from the main memory 33 to the I / O device 31 is written in the read field 53.

【0023】CPU32によってコントロールレジスタ
46のスタートフィールド52に“1”が書き込まれる
と、DMAアドレス読み込み制御部45が起動される
(ステップA1)。DMAアドレス読み込み制御部45
は、内部バス要求信号BR0をアサートする(ステップ
A2)。アービタ部41は、DMAアドレス読み込み制
御部45とDMA転送制御部47との間での内部バスの
使用に関して調停を行う。このとき、DMA転送制御部
47は内部バスを要求していないので、アービタ部41
はDMAアドレス読み込み制御部45に対する内部バス
許可信号BG0をアサートする(ステップA3)。内部
バス許可信号BG0を受け取ったDMAアドレス読み込
み制御部45は、内部バス要求信号BR0をネゲートす
ると共に、外部バスの制御線35に対してバス要求を行
い(ステップA4)、外部バスの使用権を獲得する(ス
テップA5)。
When "1" is written in the start field 52 of the control register 46 by the CPU 32, the DMA address read control unit 45 is activated (step A1). DMA address read control unit 45
Asserts the internal bus request signal BR0 (step A2). The arbiter unit 41 arbitrates the use of the internal bus between the DMA address read control unit 45 and the DMA transfer control unit 47. At this time, since the DMA transfer control unit 47 has not requested the internal bus, the arbiter unit 41
Asserts the internal bus permission signal BG0 to the DMA address read control unit 45 (step A3). Upon receiving the internal bus permission signal BG0, the DMA address read control unit 45 negates the internal bus request signal BR0 and makes a bus request to the control line 35 of the external bus (step A4) to grant the right to use the external bus. Acquire (step A5).

【0024】外部バスの使用権を獲得したDMAアドレ
ス読み込み制御部45は、テーブルアドレスレジスタ4
4のデータをアドレスデータとしてアドレス/データ線
34に出力する(ステップA6)。これにより、メイン
メモリ33のアドレステーブル60の最初のデータであ
るアドレスエントリ61のデータが第2のパラメータレ
ジスタ48に読み込まれる(ステップA10)。アドレ
スエントリ61の読み込み中にエラーが発生すると(ス
テップA7)、コントロールレジスタ46に対してAE
RRがアサートされる(ステップA8)。コントロール
レジスタ46は、CPU32に対して割り込み信号IN
TRQをアサートし、エラーが発生したことをCPU3
2に通知する(ステップA9)。
The DMA address read control unit 45 which has acquired the right to use the external bus operates the table address register 4
The data of No. 4 is output to the address / data line 34 as address data (step A6). As a result, the data of the address entry 61 which is the first data of the address table 60 of the main memory 33 is read into the second parameter register 48 (step A10). If an error occurs while reading the address entry 61 (step A7), the control register 46 is sent to the AE
RR is asserted (step A8). The control register 46 sends an interrupt signal IN to the CPU 32.
CPU3 asserts that TRQ is asserted and an error has occurred.
2 is notified (step A9).

【0025】一方、エラーが発生することなくアドレス
エントリ61のデータの第2のパラメータレジスタ48
への読み込みが終了すると、第2のパラメータレジスタ
48はデータが有効であることを示すV信号を“1”に
する。それと同時に、DMAアドレス読み込み制御部4
5は、NEXT信号を“1”にする。NEXT信号が
“1”になると、コントロールレジスタ46ではテーブ
ルサイズフィールド51の値が1だけ減ぜられる。
On the other hand, the second parameter register 48 of the data of the address entry 61 does not generate an error.
When the reading to the end is completed, the second parameter register 48 sets the V signal indicating that the data is valid to "1". At the same time, the DMA address read control unit 4
5 sets the NEXT signal to "1". When the NEXT signal becomes "1", the value of the table size field 51 is decremented by 1 in the control register 46.

【0026】DMAアドレス読み込み制御部45は、第
2のパラメータレジスタ48から出力されるV信号が
“0”になるまで次のアドレスエントリ62の読み込み
を停止する。V信号が“0”になると、DMAアドレス
制御部45は次のアドレスエントリ62のデータを第2
のパラメータレジスタ48に書き込む。DMAアドレス
読み込み制御部45は、コントロールレジスタ46のテ
ーブルサイズフィールド51が“0”になるまで、アド
レステーブル60のアドレスエントリを第2のパラメー
タレジスタ48に書き込み続ける(ステップA11、1
2)。
The DMA address read control unit 45 stops reading the next address entry 62 until the V signal output from the second parameter register 48 becomes "0". When the V signal becomes “0”, the DMA address control unit 45 sets the data of the next address entry 62 to the second data.
Parameter register 48. The DMA address read control unit 45 continues to write the address entry of the address table 60 to the second parameter register 48 until the table size field 51 of the control register 46 becomes "0" (steps A11, 1).
2).

【0027】このときDMA転送制御部47は、図9の
フローチャートに示したように、第2のパラメータレジ
スタ48から出力されるV信号が“1”になる(ステッ
プB1)と、第2のパラメータレジスタ48のデータ
(アドレスエントリ)を第1のパラメータレジスタ42
にコピーしてCLR信号を“1”にする(ステップB
2)。第2のパラメータレジスタ48は、DMA転送制
御部47から出力されるCLR信号が“1”になると、
V信号を“0”にする。
At this time, the DMA transfer control unit 47 receives the second parameter when the V signal output from the second parameter register 48 becomes "1" (step B1), as shown in the flowchart of FIG. The data (address entry) of the register 48 is transferred to the first parameter register 42.
And set the CLR signal to "1" (step B
2). The second parameter register 48, when the CLR signal output from the DMA transfer control unit 47 becomes “1”,
The V signal is set to "0".

【0028】DMA転送制御部47は、第2のパラメー
タレジスタ48から第1のパラメータレジスタ42へ書
き込まれたアドレスエントリに基づいて、メインメモリ
33からI/O装置31へのDMA転送を開始する。D
MA転送制御部47は、内部バス要求信号BR1をアサ
ートする(ステップB3)。アービタ部41は、DMA
アドレス読み込み制御部45とDMA転送制御部47と
の間での内部バスの使用を調停する。アービタ部41は
調停後、内部バス許可信号BG1をアサートする(ステ
ップB4)。内部バス許可信号BG1を受け取ったDM
A転送制御部47は、内部バス要求信号BR1をネゲー
トする(ステップB5)。
The DMA transfer control unit 47 starts the DMA transfer from the main memory 33 to the I / O device 31, based on the address entry written from the second parameter register 48 to the first parameter register 42. D
The MA transfer control unit 47 asserts the internal bus request signal BR1 (step B3). The arbiter unit 41 is DMA
The use of the internal bus is arbitrated between the address read control unit 45 and the DMA transfer control unit 47. After arbitration, the arbiter unit 41 asserts the internal bus permission signal BG1 (step B4). DM receiving the internal bus permission signal BG1
The A transfer control unit 47 negates the internal bus request signal BR1 (step B5).

【0029】DMA転送制御部47は、外部バスの制御
線35に対してバス要求を行い(ステップB6)、外部
バスの使用権を獲得する(ステップB6)。外部バスの
使用権を獲得したDMA転送制御部47は、第1のパラ
メータレジスタ42のレジスタ84(アドレスフィール
ド)のデータをアドレスとしてアドレス/データ線34
に出力し(ステップB7)、メインメモリ33のデータ
をデータバッファ43に読み込む(ステップB11)。
このデータ読み込み中にエラーが発生したら(ステップ
B8)、コントロールレジスタ46のTERRをアサー
トする(ステップB9)。コントロールレジスタ46は
CPU32に対して割り込み信号INTRQをアサート
し、エラーが発生したことをCPU32に通知する(ス
テップB10)。
The DMA transfer control unit 47 makes a bus request to the control line 35 of the external bus (step B6) and acquires the right to use the external bus (step B6). The DMA transfer control unit 47, which has acquired the right to use the external bus, uses the data in the register 84 (address field) of the first parameter register 42 as an address and sets the address / data line 34.
To the data buffer 43 (step B11).
If an error occurs during this data reading (step B8), TERR of the control register 46 is asserted (step B9). The control register 46 asserts the interrupt signal INTRQ to the CPU 32 and notifies the CPU 32 that an error has occurred (step B10).

【0030】エラーが発生することなくデータバッファ
43に読み込まれたデータはI/O装置31に送られ
る。DMA転送制御部47は、第1のパラメータレジス
タ42のレジスタ84(アドレスフィールド)をインク
リメントし、レジスタ85(サイズフィールド)をデク
リメントする。第1のパラメータレジスタ42は、レジ
スタ85が“0”になると、END信号を“1”にして
転送が終了したことをDMA転送制御部47に通知す
る。DMA転送制御部47は、END信号が“1”にな
るか、あるいはエラーが発生するまでDMA転送を続け
る。
The data read into the data buffer 43 without any error is sent to the I / O device 31. The DMA transfer control unit 47 increments the register 84 (address field) of the first parameter register 42 and decrements the register 85 (size field). When the register 85 becomes “0”, the first parameter register 42 sets the END signal to “1” to notify the DMA transfer control unit 47 that the transfer is completed. The DMA transfer control unit 47 continues the DMA transfer until the END signal becomes "1" or an error occurs.

【0031】DMA転送が正常に終了すると、DMA転
送制御部47は次の転送を行う必要があるか否かを第2
のパラメータレジスタ48から出力されるV信号に基づ
いて判断し、“1”の時は上記した方法でDMA転送を
行い、“0”の時はV信号が“1”になるまで待機する
(ステップB12)。
When the DMA transfer ends normally, the DMA transfer control unit 47 determines whether or not the next transfer needs to be performed.
Judgment is made based on the V signal output from the parameter register 48 of No. 1, and when it is "1", the DMA transfer is performed by the above method, and when it is "0", it waits until the V signal becomes "1" (step B12).

【0032】全てのデータ転送がエラーなしに終了する
と、コントロールレジスタ46のテーブルサイズフィー
ルド51が“0”、第2のパラメータレジスタ48から
のV信号が“0”、第1のパラメータレジスタ42から
のEND信号が“1”になるので、これによりコントロ
ールレジスタ46は転送終了フィールド(COMP)5
6を“1”にすると共に、INTRQをアサートしてC
PU32にデータの転送が終了したことを通知する。
When all data transfer is completed without error, the table size field 51 of the control register 46 is "0", the V signal from the second parameter register 48 is "0", and the V signal from the first parameter register 42 is. Since the END signal becomes "1", this causes the control register 46 to transfer end field (COMP) 5
Set 6 to “1” and assert INTRQ to C
The PU 32 is notified that the data transfer is completed.

【0033】本実施例によれば、DMA転送のアドレス
エントリ(転送アドレスおよび転送サイズ数:転送パラ
メータ)を保持するためにメインメモリ33上に設けら
れているアドレステーブル60の記憶アドレスが、テー
ブルアドレスレジスタ44に記憶されており、DMAア
ドレス読み込み制御部45が、当該テーブルアドレスレ
ジスタ44に記憶されているアドレス情報に基づいて、
DMA転送のためのアドレスエントリをメインメモリ3
3上のアドレステーブル60から読み出して第2のパラ
メータレジスタ48に書き込むので、これまでDMA転
送ごとに行われていたCPU32への割り込みが不要と
なってCPUの負担が軽減される。
According to the present embodiment, the storage address of the address table 60 provided on the main memory 33 for holding the address entry (transfer address and transfer size number: transfer parameter) of the DMA transfer is the table address. The DMA address read control unit 45 stored in the register 44, based on the address information stored in the table address register 44,
Address entry for DMA transfer to main memory 3
3 is read from the address table 60 and written in the second parameter register 48, interrupts to the CPU 32, which have been performed for each DMA transfer so far, are unnecessary, and the load on the CPU is reduced.

【0034】[0034]

【発明の効果】上記したように、本発明によれば、これ
までは、主記憶装置に登録されている転送パラメータ
(アドレスエントリ)を第2のパラメータレジスタに登
録するために、DMA転送ごとに行われていたCPUへ
の割り込みが不要となるので、CPUの負担が軽減され
る。
As described above, according to the present invention, in order to register the transfer parameter (address entry) registered in the main storage device in the second parameter register, the DMA transfer is performed for each DMA transfer. Since the interrupt to the CPU that has been performed is unnecessary, the load on the CPU is reduced.

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

【図1】 本発明の一実施例の構成を示したブロック図
である。
FIG. 1 is a block diagram showing a configuration of an exemplary embodiment of the present invention.

【図2】 コントロールレジスタの構成を模式的に示し
た図である。
FIG. 2 is a diagram schematically showing a configuration of a control register.

【図3】 第1のパラメータレジスタの構成を示したブ
ロック図である。
FIG. 3 is a block diagram showing a configuration of a first parameter register.

【図4】 第2のパラメータレジスタの構成を示したブ
ロック図である。
FIG. 4 is a block diagram showing a configuration of a second parameter register.

【図5】 テーブルアドレスレジスタの構成を示したブ
ロック図である。
FIG. 5 is a block diagram showing a configuration of a table address register.

【図6】 メインメモリに記憶されているたデータを示
した図である。
FIG. 6 is a diagram showing data stored in a main memory.

【図7】 アドレステーブルの構成を模式的に示した図
である。
FIG. 7 is a diagram schematically showing a configuration of an address table.

【図8】 DMAアドレス読み込み制御部の動作を示し
たフローチャートである。
FIG. 8 is a flowchart showing an operation of a DMA address read control unit.

【図9】 DMA転送制御部の動作を示したフローチャ
ートである。
FIG. 9 is a flowchart showing an operation of a DMA transfer control unit.

【図10】 従来のDMAコントローラのブロック図で
ある。
FIG. 10 is a block diagram of a conventional DMA controller.

【図11】 パラメータレジスタ12の構成を模式的に
示した図である。
FIG. 11 is a diagram schematically showing a configuration of a parameter register 12.

【図12】 従来のDMAコントローラのブロック図で
ある。
FIG. 12 is a block diagram of a conventional DMA controller.

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

30…DMAコントローラ、31…I/O装置、32…
CPU、33…メインメモリ、34…アドレス/データ
線、35…制御線、42…第1のパラメータレジスタ、
44…テーブルアドレスレジスタ、45…DMAアドレ
ス読み込み制御部、46…コントロールレジスタ、47
…DMA転送制御部、48…第2のパラメータレジス
タ、60…アドレステーブル
30 ... DMA controller, 31 ... I / O device, 32 ...
CPU, 33 ... Main memory, 34 ... Address / data line, 35 ... Control line, 42 ... First parameter register,
44 ... Table address register, 45 ... DMA address read control unit, 46 ... Control register, 47
... DMA transfer control unit, 48 ... Second parameter register, 60 ... Address table

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 DMA転送に使用するパラメータが記憶
された主記憶装置のアドレス情報を記憶するアドレスレ
ジスタと、 現在の転送に使用するパラメータを記憶する第1のパラ
メータレジスタと、 次回の転送に使用するパラメータを記憶する第2のパラ
メータレジスタと、 前記アドレスレジスタのアドレス情報に基づいて主記憶
装置からパラメータを読み出し、第2のパラメータレジ
スタに登録するパラメータ登録手段と、 第2のパラメータレジスタに記憶されているパラメータ
を第1のパラメータレジスタに移動するパラメータ移動
手段と、 前記第1のパラメータレジスタに移動されたパラメータ
に基づいてDMA転送を制御する制御手段とを具備し、 前記パラメータ登録手段は、第2のパラメータレジスタ
に記憶されているパラメータが第1のパラメータレジス
タに移動されると、主記憶装置に記憶されている次のパ
ラメータを第2のパラメータレジスタに登録することを
特徴とするDMAコントローラ。
1. An address register for storing address information of a main memory device in which a parameter used for a DMA transfer is stored, a first parameter register for storing a parameter used for a current transfer, and a next parameter used for the next transfer. A second parameter register for storing the parameter to be stored, parameter registration means for reading the parameter from the main memory based on the address information of the address register, and registering the parameter in the second parameter register; A parameter moving means for moving the stored parameter to the first parameter register, and a control means for controlling the DMA transfer based on the parameter moved to the first parameter register. Parameter stored in parameter register 2 A DMA controller characterized in that, when the data is moved to the first parameter register, the next parameter stored in the main memory is registered in the second parameter register.
JP23244494A 1994-09-02 1994-09-02 Dma controller Pending JPH0877099A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23244494A JPH0877099A (en) 1994-09-02 1994-09-02 Dma controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23244494A JPH0877099A (en) 1994-09-02 1994-09-02 Dma controller

Publications (1)

Publication Number Publication Date
JPH0877099A true JPH0877099A (en) 1996-03-22

Family

ID=16939376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23244494A Pending JPH0877099A (en) 1994-09-02 1994-09-02 Dma controller

Country Status (1)

Country Link
JP (1) JPH0877099A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007087086A (en) * 2005-09-21 2007-04-05 Nec Electronics Corp Dma transfer system
JP2009026301A (en) * 2007-07-19 2009-02-05 Samsung Electronics Co Ltd Solid state disk controller and data processing method thereof
WO2011154986A1 (en) 2010-06-07 2011-12-15 Hitachi, Ltd. Data transfer device and data transfer method
WO2011161722A1 (en) 2010-06-24 2011-12-29 Hitachi, Ltd. Data transfer system and data transfer method
JP2014119930A (en) * 2012-12-14 2014-06-30 Nec Computertechno Ltd Computer device, data transfer method, and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007087086A (en) * 2005-09-21 2007-04-05 Nec Electronics Corp Dma transfer system
JP2009026301A (en) * 2007-07-19 2009-02-05 Samsung Electronics Co Ltd Solid state disk controller and data processing method thereof
WO2011154986A1 (en) 2010-06-07 2011-12-15 Hitachi, Ltd. Data transfer device and data transfer method
US8495164B2 (en) 2010-06-07 2013-07-23 Hitachi, Ltd. Data transfer device and data transfer method
WO2011161722A1 (en) 2010-06-24 2011-12-29 Hitachi, Ltd. Data transfer system and data transfer method
US8296478B2 (en) 2010-06-24 2012-10-23 Hitachi, Ltd. Data transfer system and data transfer method
JP2014119930A (en) * 2012-12-14 2014-06-30 Nec Computertechno Ltd Computer device, data transfer method, and program

Similar Documents

Publication Publication Date Title
JP4408263B2 (en) Data transfer system and data transfer method
JP3514477B2 (en) Input / output device and data transfer method
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
JPH0877099A (en) Dma controller
JPH0556548B2 (en)
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JP4335327B2 (en) Arbitration apparatus and method
JPH06250970A (en) Memory controller
JP2001273248A (en) Device and method for controlling bus
JP2003281083A (en) Bus control circuit
JP2010140440A (en) Bus arbitration device
JP2001184301A (en) Method and device for transferring image data
JP2000207354A (en) Bus arbiter and inter-bus controller
JP3019323B2 (en) Direct access to image memory
JPH05189311A (en) Cache memory system
JPH05151143A (en) Interruption processing system for computer containing dma controller
JP2765531B2 (en) Bus bridge mechanism
JPH04264652A (en) Dma control system
JP2005215953A (en) Information processor
JP4432268B2 (en) Bus arbitration system and interrupt processing method for a device serving as a bus master in this system
JPH05151147A (en) Computer system
JP2003085125A (en) Memory controller and memory control method
JPH07121475A (en) Mediation device
JPS60123954A (en) Stack processing system
JPH034349A (en) Dma transfer system