JPH0261746A - Dma制御方式 - Google Patents
Dma制御方式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
Links
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[N要]
物理的に異なる空間に存在するメモリ間でデータ転送を
行なうDMA制御方式に関し、短いデータ長であっても
効率良くデータ転送できることを目的とし、 第1空間に存在するメモリと第2空間に存在するメモリ
との中間に位置するデータバッファを設け、第1空間を
所有する制御部によりデータバッファを直接アクセス可
能にすると共に第2空間メモリとの間でデータ転送を行
なうDMA制御部のスティタスサイクルを監視可能とし
、第1空間内のデータ転送を行なうDMA制御部を使用
することなく第2空間用のDMA制御部のみの使用によ
りデータバッファを経由して第1空間メモリと第2空間
メモリ間で直接データ転送するように構成する。
行なうDMA制御方式に関し、短いデータ長であっても
効率良くデータ転送できることを目的とし、 第1空間に存在するメモリと第2空間に存在するメモリ
との中間に位置するデータバッファを設け、第1空間を
所有する制御部によりデータバッファを直接アクセス可
能にすると共に第2空間メモリとの間でデータ転送を行
なうDMA制御部のスティタスサイクルを監視可能とし
、第1空間内のデータ転送を行なうDMA制御部を使用
することなく第2空間用のDMA制御部のみの使用によ
りデータバッファを経由して第1空間メモリと第2空間
メモリ間で直接データ転送するように構成する。
[産業上の利用分野]
本発明は、物理的に異なる空間に存在するメモリ間でD
MAデータ転送を行なうD M A I11御方一方 近年、回線又はI10群等の高速化及び大容量化に伴い
、各種アダプタとシステムメモリ間でのデータ転送手段
であるDMA転送t、IJ御(特にMemory to
Memory )も高速化、大容量化の傾向におる
。
MAデータ転送を行なうD M A I11御方一方 近年、回線又はI10群等の高速化及び大容量化に伴い
、各種アダプタとシステムメモリ間でのデータ転送手段
であるDMA転送t、IJ御(特にMemory to
Memory )も高速化、大容量化の傾向におる
。
このためDMA制御方式についても高速化、大容量転送
を実現するため、アドレス幅及びデータ幅の拡張、ブロ
ック転送の採用等が行なわれ、更にハード的にはLSI
の採用による低コスト化が図られており、回路構成及び
制御方法を複雑化している。
を実現するため、アドレス幅及びデータ幅の拡張、ブロ
ック転送の採用等が行なわれ、更にハード的にはLSI
の採用による低コスト化が図られており、回路構成及び
制御方法を複雑化している。
このようなりMA転送制御方式の高速大容量化は、大容
量(レングス量大)のデータ転送には効果を発揮する一
方、小言]のデータ転送に対しては逆効果となる場合が
多く、小容量のデータ転送についても効率の良い転送制
御が望まれる。
量(レングス量大)のデータ転送には効果を発揮する一
方、小言]のデータ転送に対しては逆効果となる場合が
多く、小容量のデータ転送についても効率の良い転送制
御が望まれる。
[従来の技術]
第4図は従来のDMA制御方式を示した構成図である。
第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が設
けられる。
タ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が設
けられる。
このような従来のDMA制御方式によるデータ転送制御
を、まずメインメモリ14からローカルメモリ10にデ
ータを転送するDMAリード制御について説明すると次
のようになる。
を、まずメインメモリ14からローカルメモリ10にデ
ータを転送するDMAリード制御について説明すると次
のようになる。
(1”)DMAリード(MMl 4 to LMl
0)[ステップ1] 主制御部20はデータバッファをローカルメモリ10内
に確保する。但し、DMA転送モードが16バイトバウ
ンダリ(ブロック転送)等の制限がある場合には、16
の倍数分の領域を確保する。
0)[ステップ1] 主制御部20はデータバッファをローカルメモリ10内
に確保する。但し、DMA転送モードが16バイトバウ
ンダリ(ブロック転送)等の制限がある場合には、16
の倍数分の領域を確保する。
[ステップ2]
ローカルバスDMA制御部12を初期設定する。
・アドレス空間を示す全てのレジスタにローカルメモリ
10内に確保したデータバッファの先頭アドレスを設定
; ・転送レングスの設定(このレジスタは共通バスDMA
制御部16側に存在しても良い〉:・ライト、リード、
データ幅、サイクルタイプ等の転送モードの設定; [ステップ3] 共通バスDMA制御部16を設定する。
10内に確保したデータバッファの先頭アドレスを設定
; ・転送レングスの設定(このレジスタは共通バスDMA
制御部16側に存在しても良い〉:・ライト、リード、
データ幅、サイクルタイプ等の転送モードの設定; [ステップ3] 共通バスDMA制御部16を設定する。
・アドレス空間を示す全てのレジスタにメインメモリ1
4内に確保したデータバッファの先頭アドレスの設定; ・リード、ライト、データ幅、サイクルタイプ等の転送
モードの設定: [ステップ4] DMA転送制御を起動する。
4内に確保したデータバッファの先頭アドレスの設定; ・リード、ライト、データ幅、サイクルタイプ等の転送
モードの設定: [ステップ4] DMA転送制御を起動する。
・ハードウェアで定められたモード及び方向に従い指定
レングス分のデータを転送: ・起動ビットは共通バスDMA制御部16及びローカル
バスDMA制御部12の両方又はいずれが一方に存在し
ても良い: [ステップ5コ 完了通知を発行する(割込み)。
レングス分のデータを転送: ・起動ビットは共通バスDMA制御部16及びローカル
バスDMA制御部12の両方又はいずれが一方に存在し
ても良い: [ステップ5コ 完了通知を発行する(割込み)。
・割込み発生によ゛り転送完了を知る:[ステップ6]
完了状態をチエツクする。
・DMA異常スティタスレジスタ、アドレスレジスタ及
びレングスレジスタ(H,Lの両方)の正当性をチエツ
ク: [ステップ7] バッファ内容を解析する。
びレングスレジスタ(H,Lの両方)の正当性をチエツ
ク: [ステップ7] バッファ内容を解析する。
・もしDMA転送モードが16バイトバウンダリ等の制
限がおる場合には、不要データが余分に入る可能性がお
り、この場合には必要データのみを使用する。
限がおる場合には、不要データが余分に入る可能性がお
り、この場合には必要データのみを使用する。
次に従来方式においてローカルメモリ10からメインメ
モリ14にデータを転送するDMAライトを説明する。
モリ14にデータを転送するDMAライトを説明する。
(2)DMAライト(LMlo to MM14)
[ステップ1] 主制御部20は転送データをローカルメモリ1O上にフ
ォーマツティングする。但し、DMA転送モードが16
バイトバウンダリ等の制限がある場合には、先頭アドレ
スの補正またはパッティングが必要な場合がある。
[ステップ1] 主制御部20は転送データをローカルメモリ1O上にフ
ォーマツティングする。但し、DMA転送モードが16
バイトバウンダリ等の制限がある場合には、先頭アドレ
スの補正またはパッティングが必要な場合がある。
[ステップ2〕
ローカルバスDMA制御部12を初期設定する。
・DMAリードのステップ2と同じ;
[ステップ3]
共通バスDMA制御部16を設定する。
・DMAリードのステップ3と同じ;
[ステップ4]
DMAデータ転送制御を起動する。
・DMAリードのステップ4と同じ;
[ステップ5]
完了を割込により通知する。
[ステップ6]
完了状態をチエツクする。
・DMAリードのステップ6と同じ;
第5図は第4図のローカルバスDMA制御部12及び共
通バスDMA制御部16に設けられたアドレスレジスタ
、レングスレジスタ、モードレジスタ、起動レジスタ及
びスティタスレジスタの内容を示す。
通バスDMA制御部16に設けられたアドレスレジスタ
、レングスレジスタ、モードレジスタ、起動レジスタ及
びスティタスレジスタの内容を示す。
[発明が解決しようとする課題]
しかしながら、このような従来のDMA制御方式にあっ
ては、レングス量が大きい人容最のデータ転送について
は効果を発揮するが、小容量のデータ転送においては、
制御プログラムの複雑化及び多ステップ化に伴うオーバ
ーヘッドによりデータ転送に時間がかかってしまう問題
がある。
ては、レングス量が大きい人容最のデータ転送について
は効果を発揮するが、小容量のデータ転送においては、
制御プログラムの複雑化及び多ステップ化に伴うオーバ
ーヘッドによりデータ転送に時間がかかってしまう問題
がある。
即ち、小容量のデータ転送にあっては、DMA転送時間
よりDMA転送制御を起動させるだめの制御プログラム
の走行時間の方が長くなってしまう問題がある。
よりDMA転送制御を起動させるだめの制御プログラム
の走行時間の方が長くなってしまう問題がある。
このような小容量データ転送時により生ずるオーバーヘ
ッドは次の場合に問題となる。
ッドは次の場合に問題となる。
第1に、システムメモリとアダプタ内口−カルメモリ間
で受は渡される一般データを除くコマンドレベルの情報
、即ちコマンド及びスティタス情報は、一般に数バイト
程度であり、且つ時間的にも早い応答性が要求される。
で受は渡される一般データを除くコマンドレベルの情報
、即ちコマンド及びスティタス情報は、一般に数バイト
程度であり、且つ時間的にも早い応答性が要求される。
第2に、一般データにおいても全てのデータ長が大容洛
とは限らない。即ち、回線ではデータ長が固定されてお
らず、短いデータを転送する場合も多い。
とは限らない。即ち、回線ではデータ長が固定されてお
らず、短いデータを転送する場合も多い。
本発明は、このような従来の問題点に鑑みてなされたも
ので、小容量であっても効率良<DMAデータ転送がで
きるDMA制御方式を提供することを目的とする。
ので、小容量であっても効率良<DMAデータ転送がで
きるDMA制御方式を提供することを目的とする。
[課題を解決するための手段]
第1図は本発明の原理説明図でおる。
第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制御方式を対象とする。
間)に存在する複数の第1メモリ(ローカルメモリ>1
0間でDMAデータ転送を行なう第1のDMA制御部(
ローカルバスDMA制御部)12と、物理的に異なる第
2空間(ホスト側)に存在する第2メモリ(主記憶)1
4と前記第1のDMA制御部(ローカルバスDMA制御
部)12との間でDMAデータ転送を行なう第2のDM
Aυ[面部(共通バスDMA制御部)16とを備えたD
MA制御方式を対象とする。
このようなり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により直接データ転送を行なうよう構成する。
第1メモリ(ローカルメモリ>10と第2メモリ(主記
憶)との中間に位置するデータバッファ18を設け、第
1空間(アダプタ空間)を所有する制御部20によりデ
ータバッファ18を直接アクセス可能にすると共に第2
のDMA制御部(共通バス制御部)16のサイクルステ
ィタス22を監視可能とし、第1のDMA制御部(ロー
カルバスDMA制御部)12を使用することなく第2の
DMA制御部(共通バスDMA制御部)のみの使用によ
りデータバッファ18を経由して第1メモリ(ローカル
メモリ)10と第2メモリ(主記憶)14との間で制御
部20により直接データ転送を行なうよう構成する。
[作用]
このような構成を備えた本発明のDMA制御方式にあっ
ては、物理的に異なる空間に存在するメモリ間のDMA
データ転送において、小容量のデータ転送については、
同一空間内でDMAデータ転送を行なうDMA制御部を
使用せずに異なる空間のDMAデータ転送を行なうDM
A制御部のみを使用し、そのスティタスサイクルを監視
しつつデータバッファを介して異なる空間に存在するメ
モリ間で簡易的にDMAデータ転送を行なうことかでき
、転送データか小言けであっても転送データ長に見合っ
たDMA制御を行なってレスポンスタイム及びバッファ
使用効率を向上することができる。
ては、物理的に異なる空間に存在するメモリ間のDMA
データ転送において、小容量のデータ転送については、
同一空間内でDMAデータ転送を行なうDMA制御部を
使用せずに異なる空間のDMAデータ転送を行なうDM
A制御部のみを使用し、そのスティタスサイクルを監視
しつつデータバッファを介して異なる空間に存在するメ
モリ間で簡易的にDMAデータ転送を行なうことかでき
、転送データか小言けであっても転送データ長に見合っ
たDMA制御を行なってレスポンスタイム及びバッファ
使用効率を向上することができる。
具体的には、本発明のDMA制御方式により次の点でメ
リットが得られる。
リットが得られる。
(1)ローカルバスDMA制御部の設定が不要;・アド
レス設定 ・レングス設定 ・転送モード設定 ・起動設定 (2)ローカルバスDMA制御部の完了状態チエックが
不要: ・異常スティタスチエツク ・アドレスレジスタチエツク ・レンゲレジスタチエツク (3)バッファ処理か簡単になると共に効率的使用が可
能; ・先頭アドレスのバウンダリ化、ダミーデータの挿入又
は削除等のバウンダリ制限が不要・直接制御部がデータ
を処理するため、バッファ使用効率が向上 (4)割込み及びバスアービトレーション時間が不要; ・直接、制御部が共通バスDMAサイクルスティタスを
毎回監視しているため、割込は不要この結果、短いデー
タ長でおっても効率が良く且つバッファ利用効率の高い
DMAデータ転送かできる。
レス設定 ・レングス設定 ・転送モード設定 ・起動設定 (2)ローカルバスDMA制御部の完了状態チエックが
不要: ・異常スティタスチエツク ・アドレスレジスタチエツク ・レンゲレジスタチエツク (3)バッファ処理か簡単になると共に効率的使用が可
能; ・先頭アドレスのバウンダリ化、ダミーデータの挿入又
は削除等のバウンダリ制限が不要・直接制御部がデータ
を処理するため、バッファ使用効率が向上 (4)割込み及びバスアービトレーション時間が不要; ・直接、制御部が共通バスDMAサイクルスティタスを
毎回監視しているため、割込は不要この結果、短いデー
タ長でおっても効率が良く且つバッファ利用効率の高い
DMAデータ転送かできる。
[実施例]
第2図は本発明の一実施例をアダプタ内に設けられたロ
ーカルバスDMA制御部、共通バスDMA制御部、更に
データバッファの部分について取り出して示した実施例
構成図である。
ーカルバスDMA制御部、共通バスDMA制御部、更に
データバッファの部分について取り出して示した実施例
構成図である。
第2図において、12はローカルバスDMA御部であり
、データバス24、アドレスバス26、更に制御線28
を介してアダプタ空間の制御を所有する不図示の主制御
部(MPU)20及びローカルメモリ(LM)10に接
続される。尚、アドレスバス26にはアドレスバスドラ
イバ30が設けられ、また制御線28にはドライバ/レ
シーバ32が設けられている。
、データバス24、アドレスバス26、更に制御線28
を介してアダプタ空間の制御を所有する不図示の主制御
部(MPU)20及びローカルメモリ(LM)10に接
続される。尚、アドレスバス26にはアドレスバスドラ
イバ30が設けられ、また制御線28にはドライバ/レ
シーバ32が設けられている。
ローカルバスDMA制御部12内にはアダプタ内となる
同一空間に存在する複数のローカルメモリ間でDMAデ
ータ転送を行なうためアドレスレジスタ34−1、レン
グスレジスタ36−1、モードレジスタ38−1、起動
レジスタ40−1及びスティタスレジスタ42−1が設
けられている。
同一空間に存在する複数のローカルメモリ間でDMAデ
ータ転送を行なうためアドレスレジスタ34−1、レン
グスレジスタ36−1、モードレジスタ38−1、起動
レジスタ40−1及びスティタスレジスタ42−1が設
けられている。
16は共通バスDMA制御部であり、共通バスDMA制
御部16はアダプタ内のデータバス24を介して不図示
の主制御部(MPU)20及び口−カルメモリ(LM)
10に接続され、一方、異なる空間に存在する不図示の
主記憶(MM)14との間でデータ転送を行なうためア
ドレスドライバ44を介してアドレス線46を、またド
ライバ/レシーバ4Bを介して制御線50を、更にアダ
プタ内専用データバス214をデータ送受信部52を介
してデータバス54によって共通バス(不図示)に接続
している。
御部16はアダプタ内のデータバス24を介して不図示
の主制御部(MPU)20及び口−カルメモリ(LM)
10に接続され、一方、異なる空間に存在する不図示の
主記憶(MM)14との間でデータ転送を行なうためア
ドレスドライバ44を介してアドレス線46を、またド
ライバ/レシーバ4Bを介して制御線50を、更にアダ
プタ内専用データバス214をデータ送受信部52を介
してデータバス54によって共通バス(不図示)に接続
している。
この共通バスDMA制御部16にもローカルバスDMA
制御部12と同様、アドレスレジスタ34−2、レング
スレジスタ36−2、モードレジスタ38−2、起動レ
ジスタ40−2、ステータスレジスタ42−2が設けら
れている。
制御部12と同様、アドレスレジスタ34−2、レング
スレジスタ36−2、モードレジスタ38−2、起動レ
ジスタ40−2、ステータスレジスタ42−2が設けら
れている。
更にアダプタ内には、アダプタ内に存在するローカルメ
モリ(LM)10と異なる外部空間に存在する不図示の
主記憶(MM)14との中間に存在するバッファとして
、リード用のデータバッファ18−1とライ1〜用のデ
ータバッファ18−2を設けている。
モリ(LM)10と異なる外部空間に存在する不図示の
主記憶(MM)14との中間に存在するバッファとして
、リード用のデータバッファ18−1とライ1〜用のデ
ータバッファ18−2を設けている。
リード用のデータバッファ’18 1は共通バスを介し
て接続された外部空間に存在する不図示の主記憶(MM
)14からアダプタ内のローカルメモリ(LM)10に
データを転送するDMAリードの際に使用される。また
、ライ1へ用のデータバッフ118−2はアダプタ内の
ローカルメモリ(LM)10から外部空間に存在する不
図示の主記憶(MM)14に対しデータを転送するDM
Aライトの際に使用される。
て接続された外部空間に存在する不図示の主記憶(MM
)14からアダプタ内のローカルメモリ(LM)10に
データを転送するDMAリードの際に使用される。また
、ライ1へ用のデータバッフ118−2はアダプタ内の
ローカルメモリ(LM)10から外部空間に存在する不
図示の主記憶(MM)14に対しデータを転送するDM
Aライトの際に使用される。
更に、リード用のデータバッファ18−1.18−2に
対応してFF56とFF58か設けられる。
対応してFF56とFF58か設けられる。
[[56はDMAリードの際に共通バスDMA制御部1
6によりセットされ、このFF56のセットによるセラ
1〜出力を共通バスD M A !ill u11部1
6はリード要求(RQR)として読込み、後の説明で明
らかにするようにFF56がセットされている間、次の
DMAサイクルを禁止状態とする。
6によりセットされ、このFF56のセットによるセラ
1〜出力を共通バスD M A !ill u11部1
6はリード要求(RQR)として読込み、後の説明で明
らかにするようにFF56がセットされている間、次の
DMAサイクルを禁止状態とする。
また1度セットされたFF56はデータバッフ118−
1を介してアダプタ内の主制御部(MPU)20でデー
タ読取が判別された際に制御線60による主制御部(M
PU)20からのリード信号によりORゲート62を介
してリセットされる。
1を介してアダプタ内の主制御部(MPU)20でデー
タ読取が判別された際に制御線60による主制御部(M
PU)20からのリード信号によりORゲート62を介
してリセットされる。
一方、ライト用のデータバッファ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からのリセ
ット信号によりリセットされる。
た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からのリセ
ット信号によりリセットされる。
ここで本発明の制御対象とする短いデータ長のDMA転
送にあっては、第2図に破線で示すようにローカルバス
DMA制御部12側は使用されず、実線のパスライン又
は制御線で示す共通バスDMA制御部16側のみを使用
してDMAリード又はDMAライトのデータ転送を行な
うようになる。
送にあっては、第2図に破線で示すようにローカルバス
DMA制御部12側は使用されず、実線のパスライン又
は制御線で示す共通バスDMA制御部16側のみを使用
してDMAリード又はDMAライトのデータ転送を行な
うようになる。
次に、第2図の実施例におけるDMAデータ転送の制御
処理を説明する。
処理を説明する。
まず、外部空間に存在する主記゛臣(MM)14からア
ダプタ内のローカルメモリ(LM)に対しデータ転送を
行なうDMAリードの制御処理を説明する。
ダプタ内のローカルメモリ(LM)に対しデータ転送を
行なうDMAリードの制御処理を説明する。
(1)DMAリード(MM14 ℃OLMI○)[ス
テップ1] アダプタ内の主制御部(MPU)20は、データバッフ
ァをローカルメモリ(LM)10内に確保する。但し、
このローカルメモ1ノ(LM)10内に対するデータバ
ッファ領域の確保は必ずしも必要ではない。
テップ1] アダプタ内の主制御部(MPU)20は、データバッフ
ァをローカルメモリ(LM)10内に確保する。但し、
このローカルメモ1ノ(LM)10内に対するデータバ
ッファ領域の確保は必ずしも必要ではない。
(ステップ2]
共通バスDMA制御部16を設定する。
・主記憶(MM)14内のデータバッファの先頭アドレ
スをアドレスレジスタ34−2に設定:・転送モードを
モードレジスタ38−2に設定:・起動レジスタ40−
2にDMAスターl〜を設定;[ステップ31 DMA転送制御を開始する。
スをアドレスレジスタ34−2に設定:・転送モードを
モードレジスタ38−2に設定:・起動レジスタ40−
2にDMAスターl〜を設定;[ステップ31 DMA転送制御を開始する。
・共通バスDMA制御部16は1バイト又は1ワードの
データを共通バスを介して主記憶(MM”)14より読
取り、リード用のデータバッファ18−1にセットする
と同時にFF56をセットする;・このサイクルの間の
みスティタスレジスタ42−2の5usyビツトが「1
」となっている;・FF56がセットされている間、次
のDMAサイクルは禁止状態にある: [ステップ4] リード用データバッファ18−1からのデータの読取り
。
データを共通バスを介して主記憶(MM”)14より読
取り、リード用のデータバッファ18−1にセットする
と同時にFF56をセットする;・このサイクルの間の
みスティタスレジスタ42−2の5usyビツトが「1
」となっている;・FF56がセットされている間、次
のDMAサイクルは禁止状態にある: [ステップ4] リード用データバッファ18−1からのデータの読取り
。
・アダプタ内の主制御部(MPU)20は共通バスDM
A制御部16のスティタスレジスタ42−2のBUSY
ビットがrOJとなったことによりDMAサイクルの完
了を知る; ・続いて主制御部(MPU)20はスティタスレジスタ
42〜2を参照し、DMA異常が発生していないことを
確認する: ・続いて主制御部(MPU)20はデータバッファ18
−1からデータを読取り、解析処理を行なつ。
A制御部16のスティタスレジスタ42−2のBUSY
ビットがrOJとなったことによりDMAサイクルの完
了を知る; ・続いて主制御部(MPU)20はスティタスレジスタ
42〜2を参照し、DMA異常が発生していないことを
確認する: ・続いて主制御部(MPU)20はデータバッファ18
−1からデータを読取り、解析処理を行なつ。
・共通バスDMA制御部16は主制御部(MPU>20
によりデータバッファ18−1からデー台を読取ったこ
とにより制御線60及びORゲート62を介してFF5
6をリセットし、再びステップ3の処理に戻る; [ステップ5] 主制御部(MPU)によりDMAリードの終了を確認す
る。
によりデータバッファ18−1からデー台を読取ったこ
とにより制御線60及びORゲート62を介してFF5
6をリセットし、再びステップ3の処理に戻る; [ステップ5] 主制御部(MPU)によりDMAリードの終了を確認す
る。
・主制御部(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ビットがオンすることにな
る。
通バス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ビットがオンすることにな
る。
更に、スティタスレジスタ42−2のBUSYビットの
確認は、もし共通バスDMAサイクルが主制御部(MP
U>20の処理速度より充分に早ければ不要である。
確認は、もし共通バスDMAサイクルが主制御部(MP
U>20の処理速度より充分に早ければ不要である。
第3図は前述したステップ1〜5で使用される共通バス
DMA制御部16に設けられたアドレスレジスタ34−
2、レングスレジスタ36−2、モードレジスタ38−
2、起動レジスタ40〜2、更にスティタスレジスタ4
2−2の内容を示したレジスタ説明図であり、第3図の
レジスタ説明図を参照することにより前述したステップ
1〜5の処理が更に明確となる。
DMA制御部16に設けられたアドレスレジスタ34−
2、レングスレジスタ36−2、モードレジスタ38−
2、起動レジスタ40〜2、更にスティタスレジスタ4
2−2の内容を示したレジスタ説明図であり、第3図の
レジスタ説明図を参照することにより前述したステップ
1〜5の処理が更に明確となる。
次に、第2図においてアダプタ内のローカルメモリ(L
M)10から外部空間に設けた1記・鷹(MM)14に
対しデータ転送を行なうDMAライトの制御処理を説明
する。
M)10から外部空間に設けた1記・鷹(MM)14に
対しデータ転送を行なうDMAライトの制御処理を説明
する。
(2)DMAライト(LMlo tQ MM14)
しステップ1] アダプタ内の主制御部(MPU)20はローカルメモリ
(LM)10上に転送データを準備する。
しステップ1] アダプタ内の主制御部(MPU)20はローカルメモリ
(LM)10上に転送データを準備する。
尚、このデータl(L備は1バイト又は1ワードの転送
データが発生した時点でも良く、特別にローカルメモリ
(LM>10上に用意しなくても良い。
データが発生した時点でも良く、特別にローカルメモリ
(LM>10上に用意しなくても良い。
[ステップ2]
共通バスDMA制御部16の設定を行なう。
・アドレスレジスタ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により禁止状態となる。
データバッファの先頭アドレスを設定:・モードレジス
タ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により禁止状態となる。
共通バスDMA制御部16のDMAサイクルが1バイト
又は1ワードのデータ転送を完了するとFF58がリセ
ットされる。このDMAサイクルの間スティタスレジス
タ42−2のBUSYビットは「1」となっている。
又は1ワードのデータ転送を完了するとFF58がリセ
ットされる。このDMAサイクルの間スティタスレジス
タ42−2のBUSYビットは「1」となっている。
[ステップ4]
アダプタ内の主制御部(MPU)20がスティタスを確
認する。即ち、主制御部(MPU)20は共通バスDM
A制御部16内のスティタスレジスタ42−2を読取り
、BUSYビット−〇で且つDMA異常が発生していな
いことを確認する。
認する。即ち、主制御部(MPU)20は共通バスDM
A制御部16内のスティタスレジスタ42−2を読取り
、BUSYビット−〇で且つDMA異常が発生していな
いことを確認する。
[ステップ5]
DMAライト要求の終了を確認する。
・次に続くデータが存在する場合にはステップ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ビットも自動的にオンするこ
とができる。
: ・次に続くデータが存在しない場合には起動レジスタ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ビットも自動的にオンするこ
とができる。
また、スティタスレジスタ42−2のBUSYビットの
確認は、もし共通バスDMA制御部16のDMAサイク
ルが主制御部(MPU>20の処理速度より充分早けれ
ば不要である。
確認は、もし共通バスDMA制御部16のDMAサイク
ルが主制御部(MPU>20の処理速度より充分早けれ
ば不要である。
このような本発明のDMA制御方式におけるDMAリー
ド又はDMAライトにあっては従来方式に比べ次の利点
が得られる。
ド又はDMAライトにあっては従来方式に比べ次の利点
が得られる。
第1に、ローカルバスDMA制御部12に対するアドレ
ス設定、レングス設定、転送モードの設定、起動設定か
不要である。
ス設定、レングス設定、転送モードの設定、起動設定か
不要である。
第2に、ローカルバスDMA制御部12における完了状
態のチエツク、即ち異常スティタスチエツク、アドレス
レジスタチエツク、レングスレジスタチエツクが一切不
要となる。
態のチエツク、即ち異常スティタスチエツク、アドレス
レジスタチエツク、レングスレジスタチエツクが一切不
要となる。
第3に、バッファ処理が簡単になり、且つバッファの効
率的使用が可能となる。即ち、先頭アドレスのバウンダ
リ化、ダミーデータの挿入又は削除処理等のバウンダリ
制限が不要となり、更に直接主制御部(MPU)20が
データを処理するためバッファ使用効率が向上する。
率的使用が可能となる。即ち、先頭アドレスのバウンダ
リ化、ダミーデータの挿入又は削除処理等のバウンダリ
制限が不要となり、更に直接主制御部(MPU)20が
データを処理するためバッファ使用効率が向上する。
第4に、直接アダプタ内の主制御部(MPtJ)20が
共通バスDMAサイクルスティタスを毎回監視している
ため、ローカルバスアービタに対する要求及び許可応答
を行なう主制御部(MPU>20に対する割込が不要と
なり、バスアービトレーション時間(要求/許可時間)
を不要にできる。
共通バスDMAサイクルスティタスを毎回監視している
ため、ローカルバスアービタに対する要求及び許可応答
を行なう主制御部(MPU>20に対する割込が不要と
なり、バスアービトレーション時間(要求/許可時間)
を不要にできる。
[発明の効果]
以上説明してきたように本発明によれば、短いデータ艮
であっても転送データ艮に児合ったDMA制御が可能と
なり、最適なレスポンスタイムが得られると共にバッフ
ァ使用効率を向上することができる。
であっても転送データ艮に児合ったDMA制御が可能と
なり、最適なレスポンスタイムが得られると共にバッフ
ァ使用効率を向上することができる。
第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ゲート
説明図; 第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ゲート
Claims (2)
- (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制御方式。 - (2)前記第1メモリ(10)はアダプタ空間に設けら
れたローカルメモリであり、前記第1のDMA制御部(
12)は前記アダプタ内のローカルバスDMA制御部で
あり、前記第2メモリ(14)は前記アダプタに対し共
通バスを介して接続された主記憶であり、更に前記第2
のDMA制御部(16)は前記アダプタ内に設けた共通
バスDMA制御部であることを特徴とする請求項1記載
のDMA制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63213152A JP2537541B2 (ja) | 1988-08-26 | 1988-08-26 | Dma制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63213152A JP2537541B2 (ja) | 1988-08-26 | 1988-08-26 | Dma制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0261746A true JPH0261746A (ja) | 1990-03-01 |
| JP2537541B2 JP2537541B2 (ja) | 1996-09-25 |
Family
ID=16634430
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63213152A Expired - Lifetime JP2537541B2 (ja) | 1988-08-26 | 1988-08-26 | Dma制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2537541B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04230558A (ja) * | 1990-10-01 | 1992-08-19 | Internatl Business Mach Corp <Ibm> | ダイレクト・メモリ・アクセス装置 |
-
1988
- 1988-08-26 JP JP63213152A patent/JP2537541B2/ja not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04230558A (ja) * | 1990-10-01 | 1992-08-19 | Internatl Business Mach Corp <Ibm> | ダイレクト・メモリ・アクセス装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2537541B2 (ja) | 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 | |
| US6324597B2 (en) | Host controller interface descriptor fetching unit | |
| KR101035225B1 (ko) | 개량 데이터 전송을 위한 제어기 장치 및 방법 | |
| KR100295074B1 (ko) | 응용주문형집적회로인에러정정코드메모리제어기 | |
| 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 (ja) | コンピユータシステム内でデータ転送方法 | |
| JPS6122333B2 (ja) | ||
| JPH0330045A (ja) | マイクロプロセツサ用論理回路 | |
| US6496878B1 (en) | Transfer progress alert module | |
| JP3600536B2 (ja) | 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム | |
| JPH0261746A (ja) | Dma制御方式 | |
| US5809534A (en) | Performing a write cycle to memory in a multi-processor system | |
| US20060277326A1 (en) | Data transfer system and method | |
| JP2000105736A (ja) | Pciバスのためのストリ―ミング・メモリ・コントロ―ラ | |
| JP2574821B2 (ja) | ダイレクトメモリアクセス・コントローラ | |
| JP3261665B2 (ja) | データ転送方法及びデータ処理システム | |
| KR950009576B1 (ko) | 버스 인터페이스 장치 | |
| US6505276B1 (en) | Processing-function-provided packet-type memory system and method for controlling the same | |
| JPS6041145A (ja) | デイスクキヤツシユ装置 | |
| JPH076117A (ja) | データ転送方式及びデータ転送装置 | |
| JP2985937B2 (ja) | デバイス制御装置およびバス・ブリッジ制御装置 | |
| JP2732951B2 (ja) | データ転送制御方法 | |
| JP2003345515A (ja) | ディスク制御装置、ストレージシステム、及びその制御方法 | |
| JPS6174045A (ja) | マルチプロセツサシステムにおけるチヤネル制御方式 |
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 |