JPH0261746A - Dma control system - Google Patents

Dma control system

Info

Publication number
JPH0261746A
JPH0261746A JP63213152A JP21315288A JPH0261746A JP H0261746 A JPH0261746 A JP H0261746A JP 63213152 A JP63213152 A JP 63213152A JP 21315288 A JP21315288 A JP 21315288A JP H0261746 A JPH0261746 A JP H0261746A
Authority
JP
Japan
Prior art keywords
dma
control unit
data
memory
dma control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63213152A
Other languages
Japanese (ja)
Other versions
JP2537541B2 (en
Inventor
Toshiaki Ii
俊明 井比
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63213152A priority Critical patent/JP2537541B2/en
Publication of JPH0261746A publication Critical patent/JPH0261746A/en
Application granted granted Critical
Publication of JP2537541B2 publication Critical patent/JP2537541B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

PURPOSE:To efficiently perform DMA data transfer regardless of a small capacity by easily performing DMA data transfer between memories existing in different spaces through a data buffer while monitoring the status cycle. CONSTITUTION:A data buffer 18 is provided between a first memory (local memory) 10 and a second memory (main storage) 14, and the data buffer 18 is directly accessed by a control part 20 having a first space (adapter space), and a cycle status 22 of a second DMA control part (common bus DMA control part) 16 is monitored. The first DMA control part (local bus DMA control part) 12 is not used but only the second DMA control part 16 is used to directly transfer data between the first memory 10 and the second memory 14 through the data buffer 18 by the control part 20.

Description

【発明の詳細な説明】 [N要] 物理的に異なる空間に存在するメモリ間でデータ転送を
行なうDMA制御方式に関し、短いデータ長であっても
効率良くデータ転送できることを目的とし、 第1空間に存在するメモリと第2空間に存在するメモリ
との中間に位置するデータバッファを設け、第1空間を
所有する制御部によりデータバッファを直接アクセス可
能にすると共に第2空間メモリとの間でデータ転送を行
なうDMA制御部のスティタスサイクルを監視可能とし
、第1空間内のデータ転送を行なうDMA制御部を使用
することなく第2空間用のDMA制御部のみの使用によ
りデータバッファを経由して第1空間メモリと第2空間
メモリ間で直接データ転送するように構成する。
[Detailed description of the invention] [N required] Regarding a DMA control method that transfers data between memories that physically exist in different spaces, the purpose is to efficiently transfer data even if the data length is short. A data buffer located between the memory existing in the first space and the memory existing in the second space is provided, and the data buffer can be directly accessed by the control unit that owns the first space, and data can be transferred between the memory and the second space memory. It is possible to monitor the status cycle of the DMA control unit that transfers data in the first space, without using the DMA control unit that transfers data in the first space, and by using only the DMA control unit for the second space, data is transferred to the first The configuration is configured to directly transfer data between the spatial memory and the second spatial memory.

[産業上の利用分野] 本発明は、物理的に異なる空間に存在するメモリ間でD
MAデータ転送を行なうD M A I11御方一方 近年、回線又はI10群等の高速化及び大容量化に伴い
、各種アダプタとシステムメモリ間でのデータ転送手段
であるDMA転送t、IJ御(特にMemory to
  Memory )も高速化、大容量化の傾向におる
[Industrial Application Field] The present invention provides D
DMA transfer t, IJ control (especially Memory to
Memory) is also trending towards faster speeds and larger capacities.

このためDMA制御方式についても高速化、大容量転送
を実現するため、アドレス幅及びデータ幅の拡張、ブロ
ック転送の採用等が行なわれ、更にハード的にはLSI
の採用による低コスト化が図られており、回路構成及び
制御方法を複雑化している。
For this reason, in order to achieve faster speeds and larger-capacity transfers for DMA control methods, the address width and data width have been expanded, block transfers have been adopted, and in terms of hardware, LSI
In order to reduce costs, the circuit configuration and control method are becoming more complex.

このようなりMA転送制御方式の高速大容量化は、大容
量(レングス量大)のデータ転送には効果を発揮する一
方、小言]のデータ転送に対しては逆効果となる場合が
多く、小容量のデータ転送についても効率の良い転送制
御が望まれる。
While increasing the speed and capacity of the MA transfer control method is effective for large-capacity (large-length) data transfers, it often has the opposite effect on small-sized data transfers. Efficient transfer control is also desired for capacity data transfer.

[従来の技術] 第4図は従来のDMA制御方式を示した構成図である。[Conventional technology] FIG. 4 is a block diagram showing a conventional DMA control method.

第4図はホスト側のメインメモリ(MM)14とアダプ
タ100側のローカルメモリ(LM)10との間のDM
A転送制御を示したもので、アダプタ100内には、同
一空間に存在する複数のローカルメモリ10間でデータ
転送を行なうためのローカルバスDMA制御部(L−B
us−DMA制御部)12、アダプタ100に対し共通
バスを介して接続されたメインメモリ14との間でデー
タ転送を行なう共通バスDMA制御部(C−BUS−D
MA制御部)16、ローカルメモリ10とメインメモリ
14の中間に存在するデータバッファ18、更にアダプ
タ空間の制御を所有する主制御部(MPtJ)20が設
けられる。
FIG. 4 shows the DM between the main memory (MM) 14 on the host side and the local memory (LM) 10 on the adapter 100 side.
A transfer control is shown, and the adapter 100 includes a local bus DMA control unit (L-B
A common bus DMA control unit (C-BUS-D
MA control unit) 16, a data buffer 18 existing between the local memory 10 and the main memory 14, and a main control unit (MPtJ) 20 that controls the adapter space.

このような従来のDMA制御方式によるデータ転送制御
を、まずメインメモリ14からローカルメモリ10にデ
ータを転送するDMAリード制御について説明すると次
のようになる。
Data transfer control based on such a conventional DMA control method will be described first with respect to DMA read control for transferring data from the main memory 14 to the local memory 10.

(1”)DMAリード(MMl 4  to  LMl
 0)[ステップ1] 主制御部20はデータバッファをローカルメモリ10内
に確保する。但し、DMA転送モードが16バイトバウ
ンダリ(ブロック転送)等の制限がある場合には、16
の倍数分の領域を確保する。
(1”) DMA read (MMl 4 to LMl
0) [Step 1] The main control unit 20 reserves a data buffer in the local memory 10. However, if the DMA transfer mode has restrictions such as 16-byte boundary (block transfer), 16-byte boundary (block transfer), etc.
Secure an area that is a multiple of .

[ステップ2] ローカルバスDMA制御部12を初期設定する。[Step 2] The local bus DMA control unit 12 is initialized.

・アドレス空間を示す全てのレジスタにローカルメモリ
10内に確保したデータバッファの先頭アドレスを設定
; ・転送レングスの設定(このレジスタは共通バスDMA
制御部16側に存在しても良い〉:・ライト、リード、
データ幅、サイクルタイプ等の転送モードの設定; [ステップ3] 共通バスDMA制御部16を設定する。
・Set the start address of the data buffer secured in the local memory 10 in all registers indicating the address space; ・Set the transfer length (this register uses the common bus DMA
May exist on the control unit 16 side>: ・Write, read,
Setting of transfer mode such as data width and cycle type; [Step 3] Set the common bus DMA control unit 16.

・アドレス空間を示す全てのレジスタにメインメモリ1
4内に確保したデータバッファの先頭アドレスの設定; ・リード、ライト、データ幅、サイクルタイプ等の転送
モードの設定: [ステップ4] DMA転送制御を起動する。
・Main memory 1 for all registers indicating address space
Setting the start address of the data buffer secured in step 4; - Setting the transfer mode such as read, write, data width, cycle type: [Step 4] Start DMA transfer control.

・ハードウェアで定められたモード及び方向に従い指定
レングス分のデータを転送: ・起動ビットは共通バスDMA制御部16及びローカル
バスDMA制御部12の両方又はいずれが一方に存在し
ても良い: [ステップ5コ 完了通知を発行する(割込み)。
・Transfer a specified length of data according to the mode and direction determined by the hardware: ・The activation bit may be present in both or either of the common bus DMA control unit 16 and the local bus DMA control unit 12: [ Issue a step 5 completion notification (interruption).

・割込み発生によ゛り転送完了を知る:[ステップ6] 完了状態をチエツクする。・Know the completion of transfer by interrupt occurrence: [Step 6] Check completion status.

・DMA異常スティタスレジスタ、アドレスレジスタ及
びレングスレジスタ(H,Lの両方)の正当性をチエツ
ク: [ステップ7] バッファ内容を解析する。
- Check the validity of the DMA abnormal status register, address register, and length register (both H and L): [Step 7] Analyze the buffer contents.

・もしDMA転送モードが16バイトバウンダリ等の制
限がおる場合には、不要データが余分に入る可能性がお
り、この場合には必要データのみを使用する。
- If the DMA transfer mode has restrictions such as a 16-byte boundary, there is a possibility that unnecessary data may be added, and in this case, only necessary data is used.

次に従来方式においてローカルメモリ10からメインメ
モリ14にデータを転送するDMAライトを説明する。
Next, a DMA write for transferring data from the local memory 10 to the main memory 14 in the conventional method will be explained.

(2)DMAライト(LMlo  to  MM14)
[ステップ1] 主制御部20は転送データをローカルメモリ1O上にフ
ォーマツティングする。但し、DMA転送モードが16
バイトバウンダリ等の制限がある場合には、先頭アドレ
スの補正またはパッティングが必要な場合がある。
(2) DMA light (LMlo to MM14)
[Step 1] The main control unit 20 formats the transfer data onto the local memory 1O. However, if the DMA transfer mode is 16
If there are restrictions such as byte boundaries, it may be necessary to correct or pad the start address.

[ステップ2〕 ローカルバスDMA制御部12を初期設定する。[Step 2] The local bus DMA control unit 12 is initialized.

・DMAリードのステップ2と同じ; [ステップ3] 共通バスDMA制御部16を設定する。・Same as step 2 of DMA read; [Step 3] The common bus DMA control section 16 is set.

・DMAリードのステップ3と同じ; [ステップ4] DMAデータ転送制御を起動する。・Same as step 3 of DMA read; [Step 4] Activate DMA data transfer control.

・DMAリードのステップ4と同じ; [ステップ5] 完了を割込により通知する。・Same as step 4 of DMA read; [Step 5] Notify completion by interrupt.

[ステップ6] 完了状態をチエツクする。[Step 6] Check completion status.

・DMAリードのステップ6と同じ; 第5図は第4図のローカルバスDMA制御部12及び共
通バスDMA制御部16に設けられたアドレスレジスタ
、レングスレジスタ、モードレジスタ、起動レジスタ及
びスティタスレジスタの内容を示す。
・Same as step 6 of DMA read; FIG. 5 shows the contents of the address register, length register, mode register, start register, and status register provided in the local bus DMA control unit 12 and common bus DMA control unit 16 in FIG. 4. shows.

[発明が解決しようとする課題] しかしながら、このような従来のDMA制御方式にあっ
ては、レングス量が大きい人容最のデータ転送について
は効果を発揮するが、小容量のデータ転送においては、
制御プログラムの複雑化及び多ステップ化に伴うオーバ
ーヘッドによりデータ転送に時間がかかってしまう問題
がある。
[Problems to be Solved by the Invention] However, although such conventional DMA control methods are effective for data transfers of large length and maximum capacity, they are not effective for data transfers of small capacity.
There is a problem in that data transfer takes time due to overhead associated with the complexity and multi-step control program.

即ち、小容量のデータ転送にあっては、DMA転送時間
よりDMA転送制御を起動させるだめの制御プログラム
の走行時間の方が長くなってしまう問題がある。
That is, in the case of small-capacity data transfer, there is a problem in that the running time of the control program for starting the DMA transfer control is longer than the DMA transfer time.

このような小容量データ転送時により生ずるオーバーヘ
ッドは次の場合に問題となる。
The overhead caused by such small-capacity data transfer becomes a problem in the following cases.

第1に、システムメモリとアダプタ内口−カルメモリ間
で受は渡される一般データを除くコマンドレベルの情報
、即ちコマンド及びスティタス情報は、一般に数バイト
程度であり、且つ時間的にも早い応答性が要求される。
First, command-level information other than general data, that is, command and status information that is passed between the system memory and the adapter internal port and local memory, is generally about a few bytes, and has a fast response time. required.

第2に、一般データにおいても全てのデータ長が大容洛
とは限らない。即ち、回線ではデータ長が固定されてお
らず、短いデータを転送する場合も多い。
Second, even in general data, not all data lengths are long. That is, the data length is not fixed on the line, and short data is often transferred.

本発明は、このような従来の問題点に鑑みてなされたも
ので、小容量であっても効率良<DMAデータ転送がで
きるDMA制御方式を提供することを目的とする。
The present invention has been made in view of these conventional problems, and an object of the present invention is to provide a DMA control method that allows efficient DMA data transfer even with a small capacity.

[課題を解決するための手段] 第1図は本発明の原理説明図でおる。[Means to solve the problem] FIG. 1 is a diagram explaining the principle of the present invention.

第1図において、まず本発明は、第1空間(アダプタ空
間)に存在する複数の第1メモリ(ローカルメモリ>1
0間でDMAデータ転送を行なう第1のDMA制御部(
ローカルバスDMA制御部)12と、物理的に異なる第
2空間(ホスト側)に存在する第2メモリ(主記憶)1
4と前記第1のDMA制御部(ローカルバスDMA制御
部)12との間でDMAデータ転送を行なう第2のDM
Aυ[面部(共通バスDMA制御部)16とを備えたD
MA制御方式を対象とする。
In FIG. 1, the present invention first describes a plurality of first memories (local memory>1
A first DMA control unit (which performs DMA data transfer between
local bus DMA control unit) 12 and a second memory (main memory) 1 that exists in a physically different second space (host side)
4 and the first DMA control unit (local bus DMA control unit) 12;
Aυ [D with surface section (common bus DMA control section) 16
Targets MA control method.

このようなりMA制御方式について本発明にあっては、
第1メモリ(ローカルメモリ>10と第2メモリ(主記
憶)との中間に位置するデータバッファ18を設け、第
1空間(アダプタ空間)を所有する制御部20によりデ
ータバッファ18を直接アクセス可能にすると共に第2
のDMA制御部(共通バス制御部)16のサイクルステ
ィタス22を監視可能とし、第1のDMA制御部(ロー
カルバスDMA制御部)12を使用することなく第2の
DMA制御部(共通バスDMA制御部)のみの使用によ
りデータバッファ18を経由して第1メモリ(ローカル
メモリ)10と第2メモリ(主記憶)14との間で制御
部20により直接データ転送を行なうよう構成する。
Regarding this MA control method, in the present invention,
A data buffer 18 is provided between the first memory (local memory>10) and the second memory (main memory), and the data buffer 18 can be directly accessed by the control unit 20 that owns the first space (adapter space). with second
The cycle status 22 of the DMA control unit (common bus control unit) 16 can be monitored without using the first DMA control unit (local bus DMA control unit) 12. The control unit 20 is configured to directly transfer data between the first memory (local memory) 10 and the second memory (main memory) 14 via the data buffer 18 by using only the second memory (main memory).

[作用] このような構成を備えた本発明のDMA制御方式にあっ
ては、物理的に異なる空間に存在するメモリ間のDMA
データ転送において、小容量のデータ転送については、
同一空間内でDMAデータ転送を行なうDMA制御部を
使用せずに異なる空間のDMAデータ転送を行なうDM
A制御部のみを使用し、そのスティタスサイクルを監視
しつつデータバッファを介して異なる空間に存在するメ
モリ間で簡易的にDMAデータ転送を行なうことかでき
、転送データか小言けであっても転送データ長に見合っ
たDMA制御を行なってレスポンスタイム及びバッファ
使用効率を向上することができる。
[Operation] In the DMA control method of the present invention having such a configuration, DMA control between memories existing in physically different spaces is possible.
Regarding data transfer, for small data transfer,
A DM that transfers DMA data in different spaces without using a DMA control unit that transfers DMA data within the same space.
By using only the A control unit and monitoring the status cycle, it is possible to easily transfer DMA data between memories located in different spaces via the data buffer, and even if the transfer data is small, it can be transferred. Response time and buffer usage efficiency can be improved by performing DMA control commensurate with the data length.

具体的には、本発明のDMA制御方式により次の点でメ
リットが得られる。
Specifically, the DMA control method of the present invention provides the following advantages.

(1)ローカルバスDMA制御部の設定が不要;・アド
レス設定 ・レングス設定 ・転送モード設定 ・起動設定 (2)ローカルバスDMA制御部の完了状態チエックが
不要: ・異常スティタスチエツク ・アドレスレジスタチエツク ・レンゲレジスタチエツク (3)バッファ処理か簡単になると共に効率的使用が可
能; ・先頭アドレスのバウンダリ化、ダミーデータの挿入又
は削除等のバウンダリ制限が不要・直接制御部がデータ
を処理するため、バッファ使用効率が向上 (4)割込み及びバスアービトレーション時間が不要; ・直接、制御部が共通バスDMAサイクルスティタスを
毎回監視しているため、割込は不要この結果、短いデー
タ長でおっても効率が良く且つバッファ利用効率の高い
DMAデータ転送かできる。
(1) No need to set the local bus DMA control unit; - Address setting, length setting, transfer mode setting, startup setting (2) No need to check the completion status of the local bus DMA control unit: - Abnormal status check, address register check, Range register check (3) Buffer processing becomes simple and can be used efficiently; - Boundary restrictions such as starting address boundary, insertion or deletion of dummy data, etc. are not required. - Direct control unit processes data, so buffer Improved usage efficiency (4) No need for interrupts or bus arbitration time; ・Since the control unit directly monitors the common bus DMA cycle status every time, no interrupts are required.As a result, efficiency is improved even with short data lengths. DMA data transfer can be performed with good efficiency and high buffer utilization efficiency.

[実施例] 第2図は本発明の一実施例をアダプタ内に設けられたロ
ーカルバスDMA制御部、共通バスDMA制御部、更に
データバッファの部分について取り出して示した実施例
構成図である。
[Embodiment] FIG. 2 is a configuration diagram of an embodiment of the present invention, showing a local bus DMA control section, a common bus DMA control section, and a data buffer provided in an adapter.

第2図において、12はローカルバスDMA御部であり
、データバス24、アドレスバス26、更に制御線28
を介してアダプタ空間の制御を所有する不図示の主制御
部(MPU)20及びローカルメモリ(LM)10に接
続される。尚、アドレスバス26にはアドレスバスドラ
イバ30が設けられ、また制御線28にはドライバ/レ
シーバ32が設けられている。
In FIG. 2, 12 is a local bus DMA control section, which includes a data bus 24, an address bus 26, and a control line 28.
It is connected to a main control unit (MPU) 20 (not shown) and a local memory (LM) 10 (not shown) that control the adapter space through the adapter. Note that the address bus 26 is provided with an address bus driver 30, and the control line 28 is provided with a driver/receiver 32.

ローカルバスDMA制御部12内にはアダプタ内となる
同一空間に存在する複数のローカルメモリ間でDMAデ
ータ転送を行なうためアドレスレジスタ34−1、レン
グスレジスタ36−1、モードレジスタ38−1、起動
レジスタ40−1及びスティタスレジスタ42−1が設
けられている。
The local bus DMA control unit 12 includes an address register 34-1, a length register 36-1, a mode register 38-1, and a start register in order to transfer DMA data between multiple local memories existing in the same space within the adapter. 40-1 and a status register 42-1 are provided.

16は共通バスDMA制御部であり、共通バスDMA制
御部16はアダプタ内のデータバス24を介して不図示
の主制御部(MPU)20及び口−カルメモリ(LM)
10に接続され、一方、異なる空間に存在する不図示の
主記憶(MM)14との間でデータ転送を行なうためア
ドレスドライバ44を介してアドレス線46を、またド
ライバ/レシーバ4Bを介して制御線50を、更にアダ
プタ内専用データバス214をデータ送受信部52を介
してデータバス54によって共通バス(不図示)に接続
している。
16 is a common bus DMA control unit, and the common bus DMA control unit 16 is connected to a main control unit (MPU) 20 (not shown) and a local memory (LM) via a data bus 24 in the adapter.
10, and on the other hand, it controls an address line 46 via an address driver 44 and a driver/receiver 4B to transfer data between it and a main memory (MM) 14 (not shown) existing in a different space. The line 50 is further connected to a common bus (not shown) by a data bus 54, and an adapter-specific data bus 214 is connected via a data transmitting/receiving section 52.

この共通バスDMA制御部16にもローカルバスDMA
制御部12と同様、アドレスレジスタ34−2、レング
スレジスタ36−2、モードレジスタ38−2、起動レ
ジスタ40−2、ステータスレジスタ42−2が設けら
れている。
This common bus DMA control unit 16 also has a local bus DMA.
Similar to the control unit 12, an address register 34-2, a length register 36-2, a mode register 38-2, a start register 40-2, and a status register 42-2 are provided.

更にアダプタ内には、アダプタ内に存在するローカルメ
モリ(LM)10と異なる外部空間に存在する不図示の
主記憶(MM)14との中間に存在するバッファとして
、リード用のデータバッファ18−1とライ1〜用のデ
ータバッファ18−2を設けている。
Furthermore, within the adapter, a read data buffer 18-1 is provided as a buffer existing between the local memory (LM) 10 existing within the adapter and a main memory (MM) 14 (not shown) existing in a different external space. A data buffer 18-2 is provided for RIE 1 to RIE 1.

リード用のデータバッファ’18 1は共通バスを介し
て接続された外部空間に存在する不図示の主記憶(MM
)14からアダプタ内のローカルメモリ(LM)10に
データを転送するDMAリードの際に使用される。また
、ライ1へ用のデータバッフ118−2はアダプタ内の
ローカルメモリ(LM)10から外部空間に存在する不
図示の主記憶(MM)14に対しデータを転送するDM
Aライトの際に使用される。
The data buffer '18 1 for reading is a main memory (MM
) 14 to the local memory (LM) 10 in the adapter. In addition, the data buffer 118-2 for the drive 1 is a DM that transfers data from the local memory (LM) 10 in the adapter to the main memory (MM) 14 (not shown) existing in an external space.
Used for A-light.

更に、リード用のデータバッファ18−1.18−2に
対応してFF56とFF58か設けられる。
Furthermore, FF56 and FF58 are provided corresponding to the read data buffers 18-1 and 18-2.

[[56はDMAリードの際に共通バスDMA制御部1
6によりセットされ、このFF56のセットによるセラ
1〜出力を共通バスD M A !ill u11部1
6はリード要求(RQR)として読込み、後の説明で明
らかにするようにFF56がセットされている間、次の
DMAサイクルを禁止状態とする。
[[56 is the common bus DMA control unit 1 at the time of DMA read.
6, and the outputs from Sera 1 through the setting of this FF56 are sent to the common bus DMA! ill u11 part 1
6 is read as a read request (RQR), and the next DMA cycle is prohibited while the FF 56 is set, as will be explained later.

また1度セットされたFF56はデータバッフ118−
1を介してアダプタ内の主制御部(MPU)20でデー
タ読取が判別された際に制御線60による主制御部(M
PU)20からのリード信号によりORゲート62を介
してリセットされる。
Also, once set FF56 is data buffer 118-
When data reading is determined by the main control unit (MPU) 20 in the adapter via the control line 60, the main control unit (MPU) 20 in the adapter
It is reset via the OR gate 62 by a read signal from the PU) 20.

一方、ライト用のデータバッファ18−2側に設けられ
たFF58は、DM、Aライトの際にアダプタ内の主制
御部(MPU)20から制彷v線64及びORゲート6
6を介してセット信号を受けてセットされ、FF58の
セット出力は共通バスDMA制御部16にライト要求(
RQW)として取り込まれ、FF58がセット状態とな
っている間、c−susに対するDMAサイクルの要求
状態とする。1度セットされたFF58はデータバッフ
ァ18−2を経由したDMAライトのためのデータ転送
が完了したときに共通バスDMA制御部16からのリセ
ット信号によりリセットされる。
On the other hand, the FF 58 provided on the data buffer 18-2 side for writing is connected to the limiting V line 64 and the OR gate 6 from the main control unit (MPU) 20 in the adapter during DM and A writing.
The set output of the FF 58 sends a write request to the common bus DMA control unit 16 (
RQW), and while the FF 58 is in the set state, it is in the DMA cycle request state for c-sus. Once set, the FF 58 is reset by a reset signal from the common bus DMA control unit 16 when data transfer for DMA write via the data buffer 18-2 is completed.

ここで本発明の制御対象とする短いデータ長のDMA転
送にあっては、第2図に破線で示すようにローカルバス
DMA制御部12側は使用されず、実線のパスライン又
は制御線で示す共通バスDMA制御部16側のみを使用
してDMAリード又はDMAライトのデータ転送を行な
うようになる。
In the case of short data length DMA transfer which is controlled by the present invention, the local bus DMA control unit 12 side is not used, as shown by the broken line in FIG. 2, and is shown by the solid path line or control line. Only the common bus DMA control section 16 side is used to perform data transfer for DMA read or DMA write.

次に、第2図の実施例におけるDMAデータ転送の制御
処理を説明する。
Next, the control processing of DMA data transfer in the embodiment shown in FIG. 2 will be explained.

まず、外部空間に存在する主記゛臣(MM)14からア
ダプタ内のローカルメモリ(LM)に対しデータ転送を
行なうDMAリードの制御処理を説明する。
First, a DMA read control process for transferring data from the master memory (MM) 14 existing in the external space to the local memory (LM) within the adapter will be described.

(1)DMAリード(MM14  ℃OLMI○)[ス
テップ1] アダプタ内の主制御部(MPU)20は、データバッフ
ァをローカルメモリ(LM)10内に確保する。但し、
このローカルメモ1ノ(LM)10内に対するデータバ
ッファ領域の確保は必ずしも必要ではない。
(1) DMA read (MM14 °C OLMI○) [Step 1] The main control unit (MPU) 20 in the adapter secures a data buffer in the local memory (LM) 10. however,
It is not always necessary to secure a data buffer area within the local memory 1 (LM) 10.

(ステップ2] 共通バスDMA制御部16を設定する。(Step 2) The common bus DMA control section 16 is set.

・主記憶(MM)14内のデータバッファの先頭アドレ
スをアドレスレジスタ34−2に設定:・転送モードを
モードレジスタ38−2に設定:・起動レジスタ40−
2にDMAスターl〜を設定;[ステップ31 DMA転送制御を開始する。
- Set the start address of the data buffer in the main memory (MM) 14 to the address register 34-2: - Set the transfer mode to the mode register 38-2: - Start register 40-
Set DMA star l~ to 2; [Step 31 Start DMA transfer control.

・共通バスDMA制御部16は1バイト又は1ワードの
データを共通バスを介して主記憶(MM”)14より読
取り、リード用のデータバッファ18−1にセットする
と同時にFF56をセットする;・このサイクルの間の
みスティタスレジスタ42−2の5usyビツトが「1
」となっている;・FF56がセットされている間、次
のDMAサイクルは禁止状態にある: [ステップ4] リード用データバッファ18−1からのデータの読取り
- The common bus DMA control unit 16 reads 1 byte or 1 word of data from the main memory (MM") 14 via the common bus, sets it in the data buffer 18-1 for reading, and simultaneously sets the FF 56; - This The 5usy bit of the status register 42-2 is set to “1” only during the cycle.
”; While the FF 56 is set, the next DMA cycle is prohibited: [Step 4] Read data from the read data buffer 18-1.

・アダプタ内の主制御部(MPU)20は共通バスDM
A制御部16のスティタスレジスタ42−2のBUSY
ビットがrOJとなったことによりDMAサイクルの完
了を知る; ・続いて主制御部(MPU)20はスティタスレジスタ
42〜2を参照し、DMA異常が発生していないことを
確認する: ・続いて主制御部(MPU)20はデータバッファ18
−1からデータを読取り、解析処理を行なつ。
・The main control unit (MPU) 20 in the adapter is a common bus DM
BUSY of status register 42-2 of A control unit 16
The completion of the DMA cycle is known when the bit becomes rOJ; - Next, the main control unit (MPU) 20 refers to the status registers 42 to 2 and confirms that no DMA abnormality has occurred: - Next The main control unit (MPU) 20 is a data buffer 18
-1 reads data and performs analysis processing.

・共通バスDMA制御部16は主制御部(MPU>20
によりデータバッファ18−1からデー台を読取ったこ
とにより制御線60及びORゲート62を介してFF5
6をリセットし、再びステップ3の処理に戻る; [ステップ5] 主制御部(MPU)によりDMAリードの終了を確認す
る。
・The common bus DMA control unit 16 is a main control unit (MPU>20
By reading the data base from the data buffer 18-1, FF5 is sent via the control line 60 and the OR gate 62.
6 and returns to the process of step 3 again; [Step 5] The main control unit (MPU) confirms that the DMA read is completed.

・主制御部(MPU)20は最終データと判断すると共
通バスDMA制御部16の起動レジスタ40−2のDM
A  5TARTビツトをオフしてデータを読取る; ・起動レジスタ40−2のDMA  5TARTヒツト
がオフとなることで以後のDMAサイクルは停止される
; 尚、上記のステップ1〜5のDMAライトにあっては、
第2図に破線で示すように共通バスDMA制御部16に
レングスレジスタ36−2が存在する場合は、レングス
レジスタ36−2を利用しても良い。即ち、レングスレ
ジスタ36−2を使用することにより、転送データのレ
ングスがレングスレジスタ36−2のセット値に一致し
たとき起動レジスタ40−2のDMA  5TARTビ
ツトが自動的にオフとなり、同時にスティタスレジスタ
42−2のDMA  ENDビットがオンすることにな
る。
- When the main control unit (MPU) 20 determines that the data is the final data, it sends the DM of the start register 40-2 of the common bus DMA control unit 16.
A: Turn off the 5TART bit and read the data; ・The DMA 5TART bit of the startup register 40-2 turns off, and the subsequent DMA cycle is stopped; teeth,
If the length register 36-2 exists in the common bus DMA control unit 16 as shown by the broken line in FIG. 2, the length register 36-2 may be used. That is, by using the length register 36-2, when the length of the transfer data matches the set value of the length register 36-2, the DMA 5TART bit of the activation register 40-2 is automatically turned off, and at the same time, the status register 42 is turned off. -2 DMA END bit will be turned on.

更に、スティタスレジスタ42−2のBUSYビットの
確認は、もし共通バスDMAサイクルが主制御部(MP
U>20の処理速度より充分に早ければ不要である。
Furthermore, the BUSY bit of the status register 42-2 is checked if the common bus DMA cycle is
It is not necessary if the processing speed is sufficiently faster than U>20.

第3図は前述したステップ1〜5で使用される共通バス
DMA制御部16に設けられたアドレスレジスタ34−
2、レングスレジスタ36−2、モードレジスタ38−
2、起動レジスタ40〜2、更にスティタスレジスタ4
2−2の内容を示したレジスタ説明図であり、第3図の
レジスタ説明図を参照することにより前述したステップ
1〜5の処理が更に明確となる。
FIG. 3 shows the address register 34-- provided in the common bus DMA control unit 16 used in steps 1 to 5 described above.
2. Length register 36-2, mode register 38-
2. Starting registers 40 to 2, and status register 4
2-2 is a register explanatory diagram showing the contents of step 2-2. By referring to the register explanatory diagram of FIG. 3, the processing of steps 1 to 5 described above will become more clear.

次に、第2図においてアダプタ内のローカルメモリ(L
M)10から外部空間に設けた1記・鷹(MM)14に
対しデータ転送を行なうDMAライトの制御処理を説明
する。
Next, in Figure 2, the local memory (L
A DMA write control process for transferring data from M) 10 to MM 14 provided in an external space will be explained.

(2)DMAライト(LMlo  tQ  MM14)
しステップ1] アダプタ内の主制御部(MPU)20はローカルメモリ
(LM)10上に転送データを準備する。
(2) DMA write (LMlo tQ MM14)
Step 1] The main control unit (MPU) 20 in the adapter prepares transfer data on the local memory (LM) 10.

尚、このデータl(L備は1バイト又は1ワードの転送
データが発生した時点でも良く、特別にローカルメモリ
(LM>10上に用意しなくても良い。
Note that this data L may be prepared at the time when transfer data of 1 byte or 1 word is generated, and does not need to be specially prepared on the local memory (LM>10).

[ステップ2] 共通バスDMA制御部16の設定を行なう。[Step 2] Settings for the common bus DMA control section 16 are performed.

・アドレスレジスタ34−2に主記憶(MM)14内の
データバッファの先頭アドレスを設定:・モードレジス
タ38−2に転送モードを設定;・起動レジスタ40−
2にDMA  5TARTを設定; [ステップ3] 主制御部(MPtJ)20が制御線64及びORゲート
66を介してデータバッファ18−2にライトアクセス
を行なうことによりローカルメモリ(LM)10から転
送されたデータがセットされ、同時にFF58もセット
され、FF58のセット出力によるライト要求(RQW
)を受けて共通バスDMA制御部16が動作を開始する
。尚、FF58がセット状態となっている間、スティタ
スレジスタ42−2のBUSYビットが11」となり、
次のDMAサイクルはMPUにより禁止状態となる。
- Set the start address of the data buffer in the main memory (MM) 14 in the address register 34-2; - Set the transfer mode in the mode register 38-2; - Start register 40-
Set DMA 5TART to 2; [Step 3] The main control unit (MPtJ) 20 performs write access to the data buffer 18-2 via the control line 64 and the OR gate 66, so that the data is transferred from the local memory (LM) 10. At the same time, FF58 is also set, and a write request (RQW) is issued by the set output of FF58.
), the common bus DMA control unit 16 starts operating. Note that while the FF 58 is in the set state, the BUSY bit of the status register 42-2 becomes 11.
The next DMA cycle is inhibited by the MPU.

共通バスDMA制御部16のDMAサイクルが1バイト
又は1ワードのデータ転送を完了するとFF58がリセ
ットされる。このDMAサイクルの間スティタスレジス
タ42−2のBUSYビットは「1」となっている。
When the DMA cycle of the common bus DMA control unit 16 completes data transfer of 1 byte or 1 word, the FF 58 is reset. During this DMA cycle, the BUSY bit of the status register 42-2 is "1".

[ステップ4] アダプタ内の主制御部(MPU)20がスティタスを確
認する。即ち、主制御部(MPU)20は共通バスDM
A制御部16内のスティタスレジスタ42−2を読取り
、BUSYビット−〇で且つDMA異常が発生していな
いことを確認する。
[Step 4] The main control unit (MPU) 20 in the adapter checks the status. That is, the main control unit (MPU) 20 uses the common bus DM.
Read the status register 42-2 in the A control unit 16 and confirm that the BUSY bit is -0 and that no DMA abnormality has occurred.

[ステップ5] DMAライト要求の終了を確認する。[Step 5] Confirm the completion of the DMA write request.

・次に続くデータが存在する場合にはステップ3に戻る
: ・次に続くデータが存在しない場合には起動レジスタ4
0−2のDMA  5TARTビツトをオフとする。勿
論、転送モードを変更するまでは起動レジスタ40−2
をそのままとしても良い;このステップ1〜5に示すD
MAライトにあっても第2図に破線で示すように共通バ
スDMA制御部16内にレングスレジスタ36−2が存
在する場合には、レングスレジスタ36−2を利用する
ことで起動レジスタ40−2のDMA  5TARTビ
ツトは自動的にオフとなり、またスティタスレジスタ4
0−2のDMA  ENDビットも自動的にオンするこ
とができる。
・If the next data exists, return to step 3. ・If the next data does not exist, start register 4.
Turn off the DMA 5TART bits of 0-2. Of course, until the transfer mode is changed, the activation register 40-2
may be left as is; D shown in steps 1 to 5
Even in MA write, if the length register 36-2 exists in the common bus DMA control unit 16 as shown by the broken line in FIG. The DMA 5TART bit is automatically turned off, and the status register 4
The DMA END bits 0-2 can also be turned on automatically.

また、スティタスレジスタ42−2のBUSYビットの
確認は、もし共通バスDMA制御部16のDMAサイク
ルが主制御部(MPU>20の処理速度より充分早けれ
ば不要である。
Further, checking the BUSY bit of the status register 42-2 is not necessary if the DMA cycle of the common bus DMA control section 16 is sufficiently faster than the processing speed of the main control section (MPU>20).

このような本発明のDMA制御方式におけるDMAリー
ド又はDMAライトにあっては従来方式に比べ次の利点
が得られる。
The DMA read or DMA write in the DMA control method of the present invention has the following advantages over the conventional method.

第1に、ローカルバスDMA制御部12に対するアドレ
ス設定、レングス設定、転送モードの設定、起動設定か
不要である。
First, address setting, length setting, transfer mode setting, and startup setting for the local bus DMA control unit 12 are not necessary.

第2に、ローカルバスDMA制御部12における完了状
態のチエツク、即ち異常スティタスチエツク、アドレス
レジスタチエツク、レングスレジスタチエツクが一切不
要となる。
Second, there is no need to check the completion status in the local bus DMA control unit 12, ie, abnormality status check, address register check, and length register check.

第3に、バッファ処理が簡単になり、且つバッファの効
率的使用が可能となる。即ち、先頭アドレスのバウンダ
リ化、ダミーデータの挿入又は削除処理等のバウンダリ
制限が不要となり、更に直接主制御部(MPU)20が
データを処理するためバッファ使用効率が向上する。
Third, buffer processing becomes simpler and buffers can be used more efficiently. That is, there is no need for boundary restrictions such as making the start address into a boundary or inserting or deleting dummy data, and furthermore, since the main control unit (MPU) 20 directly processes data, buffer usage efficiency is improved.

第4に、直接アダプタ内の主制御部(MPtJ)20が
共通バスDMAサイクルスティタスを毎回監視している
ため、ローカルバスアービタに対する要求及び許可応答
を行なう主制御部(MPU>20に対する割込が不要と
なり、バスアービトレーション時間(要求/許可時間)
を不要にできる。
Fourthly, since the main control unit (MPtJ) 20 in the direct adapter monitors the common bus DMA cycle status every time, there is no interruption to the main control unit (MPU>20) that makes requests and permission responses to the local bus arbiter. No longer required, bus arbitration time (request/grant time)
can be made unnecessary.

[発明の効果] 以上説明してきたように本発明によれば、短いデータ艮
であっても転送データ艮に児合ったDMA制御が可能と
なり、最適なレスポンスタイムが得られると共にバッフ
ァ使用効率を向上することができる。
[Effects of the Invention] As explained above, according to the present invention, it is possible to perform DMA control that matches the transfer data size even for short data periods, thereby obtaining an optimal response time and improving buffer usage efficiency. can do.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の原理説明図: 第2図は本発明の実施例構成図: 第3図は本発明による共通バスDMA制御部のレジスタ
説明図; 第4図は従来方式の構成図; 第5図は従来方式のDMA制御部レジスタの説明図でお
る。 図中、 10:第1メモリ(ローカルメモリLM)12:第1の
DMA制御部 (ローカルバスDMA制御部) 14:第2メモリ(主記憶MM) 16:第2のDMA制御部 (共通バスDMA制御部) 18:データバッフ? 18−1:リード用のデータバッファ 18−2ニライト用のデータバッファ 20:制御部(主制御部MPU) 22:スティタスサイクル 24.54:データバス 26.46:アドレスバス 28.50:制御線 30.44ニアドレスドライバ 32.48:ドライバ/レシーバ 34−1.34−2ニアドレスレジスタ36−1.36
−2:レングスレジスタ38−1.38−2:モードレ
ジスタ 56゜ 62゜ 1.40−2:起動レジスタ 1.42−2:スティタスレジスタ 58 : FF 66:ORゲート
Fig. 1 is a diagram explaining the principle of the present invention; Fig. 2 is a block diagram of an embodiment of the present invention; Fig. 3 is a diagram explaining the registers of the common bus DMA control unit according to the present invention; Fig. 4 is a block diagram of the conventional system; FIG. 5 is an explanatory diagram of a conventional DMA control unit register. In the figure, 10: first memory (local memory LM) 12: first DMA control section (local bus DMA control section) 14: second memory (main memory MM) 16: second DMA control section (common bus DMA control section) Control unit) 18: Data buffer? 18-1: Data buffer for reading 18-2 Data buffer for writing 20: Control unit (main control unit MPU) 22: Status cycle 24.54: Data bus 26.46: Address bus 28.50: Control line 30 .44 Near address driver 32.48: Driver/receiver 34-1.34-2 Near address register 36-1.36
-2: Length register 38-1.38-2: Mode register 56゜62゜1.40-2: Start register 1.42-2: Status register 58: FF 66: OR gate

Claims (2)

【特許請求の範囲】[Claims] (1)第1空間に存在する複数の第1メモリ(10)間
でDMAデータ転送を行なう第1のDMA制御部(12
)と、物理的に異なる第2空間に存在する第2メモリ(
14)と前記第1のDMA制御部(12)との間でDM
Aデータ転送を行なう第2のDMA制御部(16)とを
備えたDMA制御方式に於いて、前記第1メモリ(10
)と第2メモリ(14)の中間に位置するデータバッフ
ァ(18)を設け、前記第1空間を所有する制御部(2
0)により前記データバッファ(18)を直接アクセス
可能にすると共に前記第2のDMA制御部(16)のサ
イクルステイタス(22)を監視可能とし、前記第1の
DMA制御部(12)を使用することなく前記第2のD
MA制御部(16)のみの使用により前記データバッフ
ァ(18)を経由して前記第1メモリ(10)と第2メ
モリ(14)間で前記制御部(20)により直接データ
転送を行なうことを特徴とするDMA制御方式。
(1) A first DMA control unit (12) that performs DMA data transfer between a plurality of first memories (10) existing in the first space.
) and a second memory (
14) and the first DMA control unit (12).
In a DMA control method including a second DMA control unit (16) that performs A data transfer, the first memory (10
) and a second memory (14), and a control unit (2) that owns the first space.
0), the data buffer (18) can be directly accessed and the cycle status (22) of the second DMA control unit (16) can be monitored, and the first DMA control unit (12) is used. without the second D
Direct data transfer is performed by the control unit (20) between the first memory (10) and the second memory (14) via the data buffer (18) by using only the MA control unit (16). Features DMA control method.
(2)前記第1メモリ(10)はアダプタ空間に設けら
れたローカルメモリであり、前記第1のDMA制御部(
12)は前記アダプタ内のローカルバスDMA制御部で
あり、前記第2メモリ(14)は前記アダプタに対し共
通バスを介して接続された主記憶であり、更に前記第2
のDMA制御部(16)は前記アダプタ内に設けた共通
バスDMA制御部であることを特徴とする請求項1記載
のDMA制御方式。
(2) The first memory (10) is a local memory provided in the adapter space, and the first DMA control unit (10) is a local memory provided in the adapter space.
12) is a local bus DMA control unit in the adapter; the second memory (14) is a main memory connected to the adapter via a common bus;
2. The DMA control system according to claim 1, wherein the DMA control section (16) is a common bus DMA control section provided within the adapter.
JP63213152A 1988-08-26 1988-08-26 DMA control system Expired - Lifetime JP2537541B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63213152A JP2537541B2 (en) 1988-08-26 1988-08-26 DMA control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63213152A JP2537541B2 (en) 1988-08-26 1988-08-26 DMA control system

Publications (2)

Publication Number Publication Date
JPH0261746A true JPH0261746A (en) 1990-03-01
JP2537541B2 JP2537541B2 (en) 1996-09-25

Family

ID=16634430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63213152A Expired - Lifetime JP2537541B2 (en) 1988-08-26 1988-08-26 DMA control system

Country Status (1)

Country Link
JP (1) JP2537541B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04230558A (en) * 1990-10-01 1992-08-19 Internatl Business Mach Corp <Ibm> Direct-memory access apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04230558A (en) * 1990-10-01 1992-08-19 Internatl Business Mach Corp <Ibm> Direct-memory access apparatus

Also Published As

Publication number Publication date
JP2537541B2 (en) 1996-09-25

Similar Documents

Publication Publication Date Title
US5524268A (en) Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases
KR101035225B1 (en) Controller apparatus and method for improved data transfer
US6324597B2 (en) Host controller interface descriptor fetching unit
US5467295A (en) Bus arbitration with master unit controlling bus and locking a slave unit that can relinquish bus for other masters while maintaining lock on slave unit
KR100295074B1 (en) Application Custom Integrated Circuits Error Correction Code Memory Controller
US7263572B2 (en) Bus bridge and data transfer method
US6173353B1 (en) Method and apparatus for dual bus memory transactions
US6697906B1 (en) Semiconductor device supporting integrated data transfer bridging between CPU memory and I/O device
JPH0661075B2 (en) Data transfer method within the computer system
JPS6122333B2 (en)
JPH0330045A (en) Logic circuit for microprocessor
US6496878B1 (en) Transfer progress alert module
US20080052423A1 (en) Storage controller and methods for using the same
JP3600536B2 (en) Method and system for limiting corruption of write data and PCI bus system
US20060277326A1 (en) Data transfer system and method
JPH0261746A (en) Dma control system
US5809534A (en) Performing a write cycle to memory in a multi-processor system
JP2000105736A (en) Streaming memory controller for pci bus
JPS6331806B2 (en)
JP3261665B2 (en) Data transfer method and data processing system
JPH076117A (en) Data transfer system and data transfer equipment
JPS6041145A (en) Disc cache device
JP2003345515A (en) Disk controller, storage system, and method for controlling the same
JP2732951B2 (en) Data transfer control method
JPS6174045A (en) Channel control system in multi-processor system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080708

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 13