JPH01228050A - Dma転送制御装置 - Google Patents

Dma転送制御装置

Info

Publication number
JPH01228050A
JPH01228050A JP63054366A JP5436688A JPH01228050A JP H01228050 A JPH01228050 A JP H01228050A JP 63054366 A JP63054366 A JP 63054366A JP 5436688 A JP5436688 A JP 5436688A JP H01228050 A JPH01228050 A JP H01228050A
Authority
JP
Japan
Prior art keywords
transfer
data
dma transfer
information
memory
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
JP63054366A
Other languages
English (en)
Other versions
JP2515367B2 (ja
Inventor
Kokichi Taniai
谷合 高吉
Atsushi Fujihira
藤平 淳
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 JP63054366A priority Critical patent/JP2515367B2/ja
Priority to US07/318,283 priority patent/US5077664A/en
Priority to KR1019890002811A priority patent/KR920007950B1/ko
Priority to DE68925048T priority patent/DE68925048D1/de
Priority to EP89104032A priority patent/EP0332151B1/en
Publication of JPH01228050A publication Critical patent/JPH01228050A/ja
Application granted granted Critical
Publication of JP2515367B2 publication Critical patent/JP2515367B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術      (第2.3図)発明が解決しよ
うとする問題点 問題点を解決するための手段 作用 実施例 本発明の一実施例 (第1図) 発明の効果 〔概 要〕 DMA転送に必要な転送情報を定義するディスクリプタ
フォーマットを複数備えたDMA転送制御装置に関し、 DMA転送の初期設定を有効に行ってメモリ効率の向上
を図、ることのできるDMA転送制御装置を提供するこ
とを目的とし、 メモリと入出力装置あるいはメモリ同志のデータ転送を
行うDMA転送制御装置において、転送に必要な情報を
定義する複数のディスクリプタフォーマットを設け、8
亥ディスクリプタフォーマットを登録する登録手段と、
登録されたディスクリプタフォーマットに基づき、今回
のデータ転送に必要な転送情報を制jIl記憶からの情
報に基づき判断して、外部記憶より取り出し、前記制御
記憶に該転送情報を設定する転送情報設定手段と、を設
けることにより構成する。
〔産業上の利用分野〕
本発明は、DMA転送制御装置に関し、詳細にはDMA
転送に必要な転送情報を定義するディスクリプタフォー
マットを複数備えたDMA転送制御装置に関する。
近時、パーソナルコンピュータやワークステーションで
は扱うことのできるデータ量の増加に伴って非常に高速
なデータ、例えばディスク装置等補助的記憶装置、ある
いは画像データや非常に多量のデータを外部機器との間
で扱う必要があり、これに対応してCPtJを介さずに
データ転送を行ういわゆるDMA転送が行われている。
通常のデータ転送はCPIJを介して行われていること
から、データ転送の速度はCPUの処理速度が支配的で
あるが、C’PtJの処理速度が追いつかないような高
速データを扱う場合にはCPUを介してデータ転送を行
うことは不可能である。また、さほど高速ではないデー
タであってもその量が多い場合には処理に時間がかかる
。そこで、処理速度の遅いcpuを介さずに外部の入出
力機器と内部のメモリあるいはメモリ同志でデータ転送
を直接行うDMA転送制御装置を用いてデータ転送速度
の高速化を図ることにより、高速データや大量のデータ
を効率よく処理することを意図している。
〔従来の技術〕
DMA転送制御装置(以下、DMAコントローラ: D
MACという)は前述のようなマイクロコンピュータや
ワークステーションの一部であり、まずDMA転送の概
念を第2図を参照して説明する。なお、DMA転送によ
るデータの転送は機器内部のメモリ同志で行う場合と外
部機器と機器内のメモリ間で行う場合があるが、ここで
は後者を例にあげて説明する。
同図において、CPU4は制御バス、アドレスバスおよ
びデータバスを専有して処理を行っており、DMA転送
の要求が発生すると、I10ボート1からのリクエスト
信号REQがDMAC5に入力される。この場合、リク
エスト信号REQは外部機器からDMAC5に送出され
る。リクエスト信号REQが発生すると、CPU4によ
りあらかじめ登録されている転送元のアドレス(ソース
アドレス)、あるいは転送先のアドレス(ディストネー
ションアドレス)と転送データの量(バイトカウント)
に基づいてDMA転送を行うために、DMAC5からC
PU4に対してホールド要求信号HALDが送出され、
CPU4に対して各バスの解放を要求する。ホールド要
求信号HALDが発生すると、CPU4からホールド許
可信号HALDACKが返送され、各データバスがCP
U4から解放されてDMAC5に明は渡される。これに
より、DMAC5はCPtJ4に替わって各バスを専有
し、DMA転送を行い、I10ボート1に対してDMA
C5からリクエスト応答信号REQACKが送出される
DMAC5は第3図に示すように、データハンドラ(以
下、Dユニットという)6、リクエストハンドラ(以下
、Rユニットという)7およびマイクロユニット(以下
、Mユニットという)8からなり、Rユニット7にリク
エスト信号REQが入力されると、Rユニット7はリク
エスト応答信号REQACKを返送し、Dユニット6お
よびMユニット8に対して転送リクエスト信号TREQ
を出力する。Mユニット8は転送リクエスト信号TRE
Qを受けて所定のDMA転送を行うために必要な制御情
報CDAをDユニット6に出力するとともに、応答信号
ACKをRユニット7に出力する。また、転送リクエス
ト信号TREQを受けたDユニット6はホールド信号H
ALDをCPU4に出力し、ホールド許可信号HALD
  ACKがDユニット6に入力されるとDユニット6
およびデータバス、アドレスバス等を介して所定のDM
A転送が行われる。
DMA転送の概要は以上の通りであるが、DMA転送の
方法には大別するとレジスタダイレクト(REGDir
)およびディスクリブタチエインの二つがある。
前者はソースおよびディストネーションの各アドレスと
バイトカウントをCPU4がDMAC5のレジスタに直
接書き込んでDMA転送を行うものであり、後者はDM
AC5が内部に格納されたマイクロプログラムに従って
メモリ2あるいはメモリ3にテーブル化されているソー
スおよびディストネーションの各アドレスとバイトカウ
ントの情報をDMAC5内のレジスタに書き込んでDM
A転送を行うものである。この場合、ソースおよびディ
ストネーションの各アドレスとバイトカウントの情報の
テーブルをディスクリプタフォーマット(D F)とい
い、DFは三つの情報からなり、固定されている。
【発明が解決しようとする課題〕
しかしながら、このような従来のDMA転送制御装置に
あっては、ディスクリプタフォーマットが固定されたも
のであったために、ディスクリブタチエインによるDM
A転送時の初期設定、すなわち、ソースアドレス、ディ
ストネーションアドレスおよびバイトカウントの情報設
定に無駄が生じる場合があった。
例えば、メモリ2とメモリ3の間のDMA転送であれば
、ソースおよびディストネーションの各アドレスを設定
するとともに、バイトカウントを設定する必要がある。
この場合、アドレスバスにソースとディストネーション
の各アドレスを乗せるために2度のバスサイクルが必要
であり、これをデュアル転送という、ところが、メモリ
2.3とI10ボートlの間のDMA転送ではI10ボ
ート1がアドレスではなくリクエスト応答信号REQA
CKにより管理されるため、ソースあるいはディストネ
ーションのどちらか一方のアドレスは必要がない、具体
的には、メモリ2.3からI10ポート1へのDMA転
送ではソースアドレスおよびバイトカウントを設定する
ことによりデータバス上のデータがI10ボート1に取
り込まれ、逆に、I10ポート1からメモリ2.3への
DMA転送ではディストネーションアドレスおよびバイ
トカウントを設定することによりデータバス上のデータ
がメモリ2.3に書き込まれる。このような−度のバス
サイクルで転送が行われるものを前述のデュアル転送に
対してシングル転送というが、シングル転送の場合、D
Fが固定された1種類のものであったために設定する必
要のない情報を設定することになる。したがって、ディ
ストネーションあるいはソースのアドレス値をテーブル
化するためにメモリ2.3内に確保しである領域は無駄
となりメモリ効率が低下するという問題点があった。
そこで本発明は、複数のディスクリプタフォーマットを
設けることによりDMA転送の初期設定を有効に行って
メモリ効率の向上を図ることのできるDMA転送制御装
置を提供することを目的としている。
〔課題を解決するための手段〕
本発明によるDMA転送制御装置は上記目的達成のため
、メモリと入出力装置あるいはメモリ同志のデータ転送
を行うDMA転送制御装置において、転送に必要な情報
を定義する複数のディスクリプタフォーマットを設け、
該ディスクリプタフォーマットを登録する登録手段と、
登録されたディスクリプタフォーマットに基づき、今回
のデータ転送に必要な転送情報を制御記憶からの情報に
基づき判断して、前記制御記憶に該転送情報を設定する
転送情報設定手段と、を備えている。
〔作 用〕
本発明では、ディスクリブタチエインによるDMA転送
時の初期設定を定義するディスクリプタフォーマットが
複数段けられ、DMA転送の型式、例えばデュアル転送
やシングル転送等に応して最適なディスクリプタフォー
マットがマイクロプログラムに従って選択される。
したがって、DMA転送時の初期設定に無駄が発生する
ことがなく、外部メモリの領域が有効に利用されてメモ
リ効率が向上する。
〔実施例〕
以下、本発明の実施例を図面に基づいて説明する。
第1図は本発明に係るDMA転送制御装置の一実施例を
示す要部構成図であり、第3図に示した従来例と同一構
成部材には同一符号を付しその説明を省略する。なお、
本実施例ではDMA転送時の初期設定にその特徴があり
、初期設定に直接関係する要部のみを説明してDユニッ
ト6、Rユニット7の細部については省略する。
同図において、10はMユニットであり、Mユニット1
0にはディスクリプタフォーマットレジスタ(DFR:
登録手段)11が設けられる。DFRIIは図示は略さ
れ′Cいるが、転送モードレジスタの一部を形成する。
転送モードレジスタにはシングル転送、デュアル転送の
区別やREC;  Dir、ディスクリブタチエインの
区別等をセットするものであり、DFRIIとともに使
用者が予め設定する。DFRIIには前述のディスクリ
ブタフォーマ7ト(DF)を設定するが、本実施例では
ディスクリプタフォーマットを3種類用意してあり、2
ビツトのコードで表わす。次表1はDFのコードとその
内容を対比させたものである。
表  1 DFRIIのデータはセレクタPLA (SELPLA
)12に入力されており、SEL  PLA12はマト
リックステーブルを形成する。SEL  PLA12に
はジャンプコード(JtJMP  C)が入力されてお
り、SEL  PLA12はジャンプコードが入力され
るとDFRIIのデータ、すなわちDFに基づいて条件
判定を行う、SEL  PLA12の条件判定結果はセ
レクタ(SEL)13に入力され、5EL13の入力に
はインクリメント素子(INC)14およびマツピング
PLA15からの出力とジャンプアドレス(JumpA
)が入力される。
5EL13はSEL  PLA12の条件判定結果に基
づき入力を選択し、マイクロROM (μROM)16
のアドレス情報として出力する。ジャンプアドレスは制
御情報CDAの一つであるが、このジャンプアドレスに
ついては後述する。lNC14は例えば、カウンタから
なり、5EL13の出力を+1だけインクリメントして
出力する。したがって、5EL13の出力が選択された
ときはμROM16に対応するアドレス情報は順次+1
だけインクリメントしたものとなる。μROM16には
DMA転送に必要な初期設定を行うプログラム(以下、
マイクロプログラムという)が格納されており、5EL
13の出力に応じてマイクロプログラムの進行が制御さ
れる。μROM16はマイクロプログラムの進行に従っ
て制御情報を出力し、データランチ(DLACH)17
を経て制御情報CDAが出力される。MAP  PLA
15にはマイクロプログラムのスタートアドレスが設定
されており、Rユニット7からの転送リクエスト信号R
EQが入力されるとMAP  PLA15はこのスター
トアドレスを5EL13に出力する。μROM16はマ
イクロプログラムの進行に従って制御情報ODAを出力
し、データラッチ(DLACH)17を経て制御情報C
DAが出力される。
上記SEL  PLA12.5EL13、lNC14お
よびMAP  PLA15は転送情報設定手段18を構
成する。制j1情l1ICD AはDユニット6に接続
されるとともに、ソースアドレスレジスタ(SAL)1
9、ディストネーションアドレスレジスタ(DAR)2
0およびバイトカウントレジスタ(BCR)21にそれ
ぞれ接続される。5AR19はソースアドレス、DAR
20はディストネーションアドレス、BCR21はバイ
トカウントをそれぞれ設定するレジスタであり、制御情
報ODAに従ってデータバス22上のデータを対応する
レジスタ内に格納する。
次に、作用を説明する。
転送リクエスト信号TREQがMAP  PLA15に
入力されるとマイクロプログラムの起動アドレスが5E
L13を経てμROM16に入力され、μROM16に
格納されているマイクロプログラムが起動される。
いま、DFRIIにDFとして〔0,0〕のコードが設
定されているとすると、SEL  PLA12により条
件判定を行い、5EL13がlNC14の出力を選択す
る。この場合、μROM16のアドレスは順次インクリ
メントされるのでマイクロプログラムの実行は次のよう
に行われる。
まず、Dユニット6に制御情報ODAを出力し、ソース
アドレス情報をDユニット6内に取り込み、データバス
22を介して転送情報設定手段18にその情報を書き込
む0次いで、Dユニット6にディストネーションアドレ
ス情報を取り込み、データバス22を介して5AR19
に書き込む、最後に、Dユニット6にバイトカウント情
報を取り込んでDAR20に書き込む、すなわち、ソー
ス、ディストネーション、バイトの順にそれぞれを該当
するレジスタに書き込む、これは従来と同様であり、シ
ングル転送時には無駄が発生することは前述の通りであ
る。これに対して本実施例ではDFを複数備・えており
、以下、DF (1,0〕および〔1,1〕の場合を説
明する。
DF (L O) このとき外部記憶から取り込まれるデータはソースアド
レスおよびバイトカウントであり、これはシングル転送
モード、すなわち、メモリからI10ポートを介して外
部へデータ転送を行う場合に好適なりFである。
転送リクエスト信号TREQによりμROM16内のマ
イクロプログラムが起動すると、まず、ジャンプコード
JUMP  Cが発生し、SEL  PLA12により
DFRIIの条件判定が行われる。いま、DFは〔1,
0〕が設定されているので、ソースアドレスの書き込み
が必要であると判断して5EL13によりlNC14の
出力を選択し、マイクロプログラムに従って外部記憶か
らソースアドレスを取り込み、5AR19に書き込む、
5AR19の書き込みが完了すると再びジャンプコード
JUMpcがSEL  PLA12に入力され、5EL
PLA12はDFRIIを参照してDAR20の書き込
みは不要であると判断し、5EL13はジャンプアドレ
スJUMP  Aを選択する。ジャンプアドレスJUM
P  Aは5AR19の書き込みが完了するとマイクロ
プログラムに従ってμROM16により出力されており
、この場合、バイトカウントを書き込むマイクロプログ
ラムが格納されているアドレスデータが出力される。し
たがって、5AR19の書き込みが完了するとDAR2
0の書き込みはジャンプしてBCR21の書込みが行わ
れる。
DF (1、l〕 このとき、外部記憶から取り込まれるデータはディスト
ネーションアドレスおよびバイトカウントであり、これ
はシングル転送モード、すなわち、外部機器がI10ボ
ートを介してメモリにデータ転送を行う場合に好適なり
Fである。
マイクロプログラムが起動するとジャンプコードJUM
P  Cが発生し、SEL  PLA12はDFRII
の条件判定を行う、この場合、DFが〔1、l〕である
のでソースアドレスの書き込みは不要であると判断して
5EL13はジャンプアドレスJUMP  Aを選択す
る。このとき、ジャンプアドレスJUMP  Aにはデ
ィストネーションアドレスの書き込みを行うマイクロプ
ログラムが格納されているアドレスデータが出力されて
おり、このアドレスデータがμROM16に入力されて
DAR20の書き込みが行われる。DAR20の書込み
が完了すると、再びジャンプコードが発生し、5ELP
LA12はDFRIIを参照して条件判定を行うが、こ
の場合、DFが〔l、1〕であるのでバイトカウントの
書き込みを行うために5EL13は!NC14の出力を
選択し、バイトカウントの書き込みを行うマイクロプロ
グラムが起動される。これにより、BCR21の書き込
みが行われる。
このように、本実施例ではDFとして(0,0〕の他に
〔1,0]および(1,1)という三つのDFを設ける
ことにより、シングル転送時に必要のないアドレスデー
タ、すなわち、ソースあるいはディストネーションのア
ドレスデータをメモリに登録しておく必要がなくなって
メモリ領域を有効に利用することができ、メモリ効率を
向上させることができる。
なお、本実施例ではディスクリブタチエインを想定した
DMA転送の初期設定について示したが、ディスクリブ
タチエインとREG  Dirを組合わせることも可能
である。例えば、ソースアドレスとバイトカウントはデ
ィスクリブタチエイン(DFが〔1,0〕の態様)によ
り設定し、ディストネーションアドレスはREG  D
irによることも可能である。このようにするとディス
トネーションアドレスが一定であるような場合、初期設
定値として利用することができ、ソースアドレスとバイ
トカウントを書き替えることで初期設定が完了する。
また、本実施例ではDFを3種類用意したが、これに限
らず他のDFを定義して増設することも可能である。
〔効 果〕
本発明によれば、複数のディスクリブタフォーマ、トを
設け、DMA転送の型式、例えばデュアル転送やシング
ル転送等に応じた最適なディスクリプタフォーマットを
マイクロプログラムに従って選択しているので、DMA
転送時の初期設定に無駄が発生することがなく、外部メ
モリの領域を有効に利用でき、メモリ効率の向上を図っ
たDMA転送制御装置を得ることができる。
【図面の簡単な説明】
第1図は本発明に係るDMA転送制御装置の一実施例を
示すその要部構成図、 第2.3図は従来のDMA転送転送制御室装置例を示す
図であり、 第2図はそのDMA転送の概念を説明する図、第3図は
そのDMAコントローラの内部構成を示す概略図、であ
る。 10・・・・・・マイクロユニット(制御手段)、11
・・・・・・ディスクリプタフォーマットレジスタ(登
録手段)、 12・・・・・・セレクタPLA。 13・・・・・・セレクタ、 14・・・・・・インクリメント素子、15・・・・・
・マツプPLA。 18・・・・・・転送情報設定手段。

Claims (2)

    【特許請求の範囲】
  1. (1)メモリと入出力装置あるいはメモリ同志のデータ
    転送を行うDMA転送制御装置において、転送に必要な
    情報を定義する複数のディスクリプタフォーマットを設
    け、 前記ディスクリプタフォーマットを登録する登録手段を
    備えたことを特徴とするDMA転送制御装置。
  2. (2)前記登録されたディスクリプタフォーマットに基
    づき、データ転送に必要な転送情報を制御記憶からの情
    報に基づき判断して、外部記憶より取り出し、前記制御
    記憶に該転送情報を設定する転送情報設定手段と、 を備えたことを特徴とする請求項1記載のDMA転送制
    御装置。
JP63054366A 1988-03-08 1988-03-08 Dma転送制御装置 Expired - Lifetime JP2515367B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63054366A JP2515367B2 (ja) 1988-03-08 1988-03-08 Dma転送制御装置
US07/318,283 US5077664A (en) 1988-03-08 1989-03-03 Direct memory access controller
KR1019890002811A KR920007950B1 (ko) 1988-03-08 1989-03-07 다이렉트 메모리 액세스 제어장치
DE68925048T DE68925048D1 (de) 1988-03-08 1989-03-07 Direktspeicherzugriffssteuerung
EP89104032A EP0332151B1 (en) 1988-03-08 1989-03-07 Direct memory access controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63054366A JP2515367B2 (ja) 1988-03-08 1988-03-08 Dma転送制御装置

Publications (2)

Publication Number Publication Date
JPH01228050A true JPH01228050A (ja) 1989-09-12
JP2515367B2 JP2515367B2 (ja) 1996-07-10

Family

ID=12968656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63054366A Expired - Lifetime JP2515367B2 (ja) 1988-03-08 1988-03-08 Dma転送制御装置

Country Status (1)

Country Link
JP (1) JP2515367B2 (ja)

Also Published As

Publication number Publication date
JP2515367B2 (ja) 1996-07-10

Similar Documents

Publication Publication Date Title
JPH02267634A (ja) 割込み処理装置
JPH03129448A (ja) データ転送制御装置
JP2822782B2 (ja) シングルチップマイクロコンピュータ
JPH05108548A (ja) Dmaコントローラ
JPS63129449A (ja) 制御インターフエース装置
JPH01228050A (ja) Dma転送制御装置
JP2568017B2 (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
US20080209085A1 (en) Semiconductor device and dma transfer method
JP2001188745A (ja) 制御装置及び制御方法
US5201052A (en) System for transferring first and second ring information from program status word register and store buffer
KR100195953B1 (ko) 입출력프로세서의 고성능 디엠에이 구동방법
EP0382529B1 (en) Microprocessor having store buffer
JPS59218569A (ja) マイクロ・コンピユ−タ
JP2594611B2 (ja) Dma転送制御装置
JPS603049A (ja) バスインタ−フエ−ス装置
JPH0736806A (ja) Dma方式
JPH05242009A (ja) 直接メモリアクセス装置
JPS60123954A (ja) スタック処理方式
JP2847863B2 (ja) マイクロプロセッサ割込み制御方式
JPS59177631A (ja) Dma制御方式
JPS60142450A (ja) 記憶システム
Sebbel Input/output microprogramming for the 7.755 central processing unit of siemens system 7.000
JPH0355642A (ja) メモリー制御方式
JP2003186666A (ja) マイクロコンピュータおよびdma制御回路
JPH0322071A (ja) データ転送処理回路