JP2537814B2 - デ−タ転送装置 - Google Patents

デ−タ転送装置

Info

Publication number
JP2537814B2
JP2537814B2 JP24247786A JP24247786A JP2537814B2 JP 2537814 B2 JP2537814 B2 JP 2537814B2 JP 24247786 A JP24247786 A JP 24247786A JP 24247786 A JP24247786 A JP 24247786A JP 2537814 B2 JP2537814 B2 JP 2537814B2
Authority
JP
Japan
Prior art keywords
transfer
data
address
dma
processor
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.)
Expired - Lifetime
Application number
JP24247786A
Other languages
English (en)
Other versions
JPS6395554A (ja
Inventor
克幸 金子
裕二 谷川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP24247786A priority Critical patent/JP2537814B2/ja
Publication of JPS6395554A publication Critical patent/JPS6395554A/ja
Priority to US07/460,267 priority patent/US5109501A/en
Application granted granted Critical
Publication of JP2537814B2 publication Critical patent/JP2537814B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明はデータ転送装置に関し、特にメモリ上に連続
して置かれているデータ群の転送をCPUの直接の操作に
依らないで行なう装置、いわゆるDMA(Direct Memory A
ccess)コントローラの構成に関するものである。
従来の技術 バスを共有しないマルチプロセッサシステムにおける
プロセッサ間データ転送や、非同期的に動作するバス上
の操器へのデータ転送などを行なう場合、通常、DMAコ
ントローラが用いられる。このようなデータ転送におい
ては、プロセッサにおいて転送データの生成にかかわる
タスクが終了した後、DMAコントローラを転送元(通常
プロセッサ)からの命令で起動し、転送先からの要求に
従ってDMA転送を行なう方法がとられる。一方このよう
なデータ転送を特に高速に行ないたい場合、すなわちプ
ロセッサにおいて実行されているタスクが転送データを
生成すると同時に転送可能な状態にしたい場合がある。
マルチプロセッサにおけるプロセッサ間のパイプライン
処理を高速に行ないたい場合や、プロセッサアレイにお
けるプロセッサ間のデータ交換などがこれらの例であ
る。このような例においては、転送すべきデータのアド
レスの範囲のどこまでが新しいデータに置換されている
かを確認するのが難しいという理由から単純にDMAコン
トローラを使用することはできない。
非同期に動作する機器に対してデータを生成すると同
時に転送可能な状態にする方法は2つに大別される。第
1の方法は転送先の機器とバスとの間にFIFO(First−I
n,First−Out)メモリを配置し、これを介してデータ転
送を行うものである。この場合、プロセッサはメモリと
FIFOメモリの両方にストア動作を行う。第2の方法は、
プロセッサとDMAコントローラとの間にレジスタを含む
特殊な制御回路(ハードウェア化したセマフォ)を設け
るものである。制御回路とプロセッサはデータ転送に際
してレジスタの値を書き換え、制御回路はこのレジスタ
の値によってDMAコントローラの起動と停止を行なう。
しかしながら、第1の方法においては転送データ量に相
応する容量のFIFOメモリを用意する必要がある。また第
2の方法においてはDMAコントローラを制御する複雑な
ハードウェアを付加する必要がある。
発明が解決しようとする問題点 上述したように、データの生成に応じてかかるデータ
の転送を行なうためには、FIFOメモリもしくは、DMAコ
ントローラとその制御回路が必要であった。
本発明はこのような不都合に関してなされたもので簡
易なハードウェアをDMAコントローラに付加することに
よってFIFOメモリを不要とし、生成データを即時に転送
可能にすることを目的としている。
問題点を確決するための手段 本発明は上記問題点を解決するために、転送が可能な
状態にあるデータのアドレスの上限を保持する手段と、
保持されたアドレスとDMAコントローラの転送元アドレ
スとを比較する手段を設け、転送可能なデータのアドレ
スの上限を越えないようにDMAコントローラを制御する
ものである。
作用 本発明は上記した構成により、転送可能なデータのア
ドレスの限界が常にDMAコントローラに対して指示され
ているため、プロセッサがこのアドレスを更新すること
によって容易に転送可能なデータ数を更新することがで
き、またDMAコントローラは、このアドレスと現在の転
送アドレスの比較結果を参照して、DMA転送の可否を容
易に知ることができる。
実 施 例 第1図は本発明のデータ転送装置の第1の実施例を示
すブロック図である。第1図において、40はデータ転送
装置、41はプロセッサ、42はメモリ、43はデータの転送
対象となる装置であり、1は生成データアドレスカウン
タ、2は比較器、3はDMA転送装置である。DMA転送装置
3は、転送制御回路4,DMA転送における転送アドレスを
指示するアドレスカウンタ5,DMA転送における転送デー
タ数を指示するワード数カウンタ6,命令レジスタ7等か
ら構成されている。生成データアドレスカウンタ1は、
メモリ42上の転送データ領域の中で既にプロセッサ41に
よって生成された転送データの最新値のアドレスを示す
ものであり、プロセッサ41による転送データの生成開始
に先だってメモリ42上の転送データ領域の先頭アドレス
がセットされ、1個の転送データの生成によって+1加
算が行なわれる。すなわち、このカウンタの内容は転送
データ領域の中で既にプロセッサ41によって生成された
転送データの最新値のアドレスを示している。DMAアド
レスカウンタ5はDMA転送を行なうデータのメモリ42上
のアドレスを示すカウンタで、転送開始に先だって転送
データ領域の先頭アドレスが設定され、1ワード転送を
行なう毎に次のアドレスに更新される。ワード数カウン
タ6はDMA転送を行なうデータ数を計数するカウンタで
あって、転送開始に先だって転送ワード数が設定され、
1データをDMA転送する毎にカウントダウンされる。転
送要求信号線8上の信号は、プロセッサ41から出力さ
れ、バスがデータ転送装置によって使用可能であり、バ
スの使用によってDMA転送を行うことを促す信号であ
る。転送制御回路4は、転送要求信号線8上の要求信号
によってメモリ42から転送対象装置43へのDMA転送動作
を行い、1DMA転送毎にアドレスカウンタ5を+1加算
し、ワード数カウンタ6を−1加算する。DMA転送の終
了は、ワード数カウンタ6がゼロになることによって検
知される。アドレスカウンタ1のDMA転送に先だってDMA
開始アドレスがバス10を経て例えばプロセッサ41によっ
てセットされ外部からの転送レディ信号線9上の信号に
よって+1加算される。転送レディ信号線9は、プロセ
ッサがDMA転送にかかわるデータを新たに生成し、これ
をメモリに格納する毎に出力されるパルス信号であり、
プロセッサ41から供給される。すなわちアドレスカウン
タ1は、DMA転送可能なデータのアドレスの上限を示し
ていることになる。比較器2はアドレスカウンタ1の内
容をDMAアドレスカウンタ5と比較してその結果を転送
制御回路4へ出力する。即ち、この比較器2の出力はメ
モリ42上にプロセッサ41によって生成され転送可能な状
態にあるデータの数を示している。転送制御回路4は、
比較器2の出力がゼロである場合DMA転送動作を禁止し
転送要求があった場合にはこれを保留する。一方、比較
器2の出力がゼロでない場合には転送要求に応じて所定
の転送動作を行なう。
第1図に示したデータ転送装置の動作を第2図と共に
説明する。第2図は、第1図に示したデータ転送装置に
おける入力信号とカウンタの内容を時間の経過と共に示
した図であり、11,12は各々転送レディ信号線9及び転
送要求信号線8上の信号を、13〜15は各々、アドレスカ
ウンタ1,DMAアドレスカウンタ5,ワード数カウンタ6の
内容を示したものである。
プロセッサ41がメモリ42上に転送データを生成し、こ
のデータをデータ転送装置40によって転送先装置43へDM
A転送する場合、プロセッサ41は転送データの生成処理
に先だって生成データアドレスカウンタ1への転送デー
タ領域の先頭アドレスのセット、転送パラメータ(DMA
アドレスカウンタ5、ワード数カウンタ6、命令レジス
タ7等)の設定を行なう。プロセッサ41は転送データを
生成しこれをメモリ42に格納する毎に転送レディ信号線
9にパルスを送出し、生成データアドレスカウンタ1の
加算を行なう。一方、DMA転送装置3はバス10のマスタ
であるプロセッサ41が出力する転送要求信号8によって
バス使用権を確認すると、DMAアドレスカウンタ5の示
すアドレスに対してDMA転送を行ない、この後、DMAアド
レスカウンタ5の更新とワード数カウンタ6の減算を行
なう。
更に具体的に説明すると、時刻T0において、アドレス
カウンタ1,DMAアドレスカウンタ5、ワード数カウンタ
6の値が各々A0,B0(A0>B0),W0(>2)であるとす
る。時刻T1において、プロセッサにおいて転送可能なデ
ータが生成され転送レディ信号が送出されるとアドレス
カウンタ1の値は+1加算されて(A0+1)になる。さ
らに時刻T2において再度転送レディ信号が送出されると
アドレスカウンタ1の値は(A0+2)となる。時刻T3
おいて、転送先機器から転送要求が送出されると、DMA
転送装置3内の転送制御回路4は比較器2の出力(A0
2)−B0>0から転送可能であることを確認して1デー
タのDMA転送を行なうと同時にDMAアドレスカウンタ5を
+1加算し、ワード数カウンタ6を−1加算する。この
結果各々のカウンタの値は(A0+2),(B0+1),
(W0−1)となる。時刻T4に再度転送要求が送出される
と時刻T3と同様な処理を行ない各々のカウンタの値は
(A0+2),(B0+2),(W0−2)となる。
時刻T5,T6はアドレスカウンタ1とDMAアドレスカウン
タ5の内容が共にA1で比較器2の出力が0の場合の動作
を示している。すなわち、時刻T5における各々のカウン
タの値がA1,A1,W1であり、時刻T6において転送要求が入
力されたとすると、転送制御回路4は比較器2の出力が
0であることを検知してDMA動作の起動を行なわず、転
送要求は保留される。
このように、生成データアドレスカウンタ1はプロセ
ッサ41によって生成済みで転送可能なデータ領域のアド
レスを示している。従って新たに転送要求信号8によっ
てバス使用権を得た場合、生成データアドレスカウンタ
1とDMAアドレスカウンタ5の値が等しく比較器2の出
力がゼロの場合(転送可能なデータがない場合)にはDM
Aアドレスカウンタ5によって示されたデータのDMA転送
は行なえないことになる。一方、生成データアドレスカ
ウンタ1の値とDMAアドレスカウンタ5の値が異なる場
合には、この2つのカウンタの差の数だけ転送可能なデ
ータがあることになり、DMAアドレスカウンタ5によっ
て示されたデータのDMA転送が可能になる。
第3図は本発明のデータ転送装置の第2の実施例を示
すブロック図である。第3図において、22〜28,30,50〜
53は第1図の2〜8,10,40〜43に同じく、21は生成デー
タのアドレスラッチ、29はアドレスラッチ21のラッチ入
力信号線である。このラッチ信号がプロセッサ51から送
出されると、アドレスラッチ21はバス30上の信号をラッ
チする。第1図及び第3図に示す実施例の差異は、第1
図の実施例において、プロセッサ41において生成され転
送可能なデータのアドレスの上限が、アドレスカウンタ
1と、このカウンタの加算信号によって管理されている
のに対して、第3図の実施例においては、プロセッサ51
が出力するバス上の信号を転送可能なデータのアドレス
の上限値としてラッチ信号によって直接アドレスラッチ
21に取り込むことである。バス上の信号としては、プロ
セッサ51がメモリ52にストアする時点に同期してアドレ
ス信号をラッチしても良いし、このアドレスをデータと
してラッチ21に転送しても良い。以上の違いを除いて
は、第3図に示す実施例の動作は第1図に示すものと同
じである。
発明の効果 以上述べてきたように、本発明によれば、FIFOメモリ
等を用いずに、比較的簡単な回路を従来のDMAコントロ
ーラに組み合せる構成で、特定のデータ列を転送可能な
状態にすることができる。換言すれば、従来のDMAコン
トローラに若干のハードウェアを付加することによっ
て、データ転送先機器にFIFOメモリを付加したような状
態をエミュレートすることができる。
【図面の簡単な説明】
第1図は本発明の第1の実施例におけるデータ転送装置
のブロック図、第2図は同装置の動作を説明するための
タイミング図、第3図は本発明の第2の実施例における
データ転送装置のブロック図である。 1……アドレスカウンタ、21……アドレスラッチ、2,22
……比較器、3,23……DMA転送装置、4,23……転送制御
回路、9……転送レディ信号線、29…ラッチ信号線。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】転送データを生成するプロセッサとバスを
    介してメモリを共有し該メモリと転送先装置との間のDM
    A転送を行なうデータ転送装置であって、 上記プロセッサにおける転送データの生成に先だって上
    記メモリ上の該転送データ領域の先頭アドレスが設定さ
    れ上記プロセッサによって生成される最新の転送データ
    のアドレスを保持するアドレス保持装置と、比較器と、
    DMA転送装置とを備え、上記DMA転送装置は、転送制御回
    路と、生成された転送データの転送元のアドレスを示す
    転送元アドレスカウンタと、残転送データ数を示すワー
    ド数カウンタを含み、上記比較器は、上記アドレス保持
    装置の出力を上記転送元アドレスカウンタの出力と比較
    し、上記転送制御回路は、上記比較器の出力を監視し、
    該出力が真の時データ転送を停止し、該出力が偽の時上
    記転送元アドレスカウンタの示すデータ転送を行なうと
    同時に上記転送元アドレスカウンタの更新とワード数カ
    ウンタの減算を行なうように構成したデータ転送装置。
  2. 【請求項2】アドレス保持装置は、プロセッサが出力す
    る信号によってバス上の信号を保持する手段を備えてい
    る特許請求の範囲第1項に記載のデータ転送装置。
  3. 【請求項3】アドレス保持装置は、初期値を設定する手
    段と、プロセッサからの信号によって所定の値を加算す
    る手段を備えている特許請求の範囲第1項に記載のデー
    タ転送装置。
JP24247786A 1986-10-13 1986-10-13 デ−タ転送装置 Expired - Lifetime JP2537814B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP24247786A JP2537814B2 (ja) 1986-10-13 1986-10-13 デ−タ転送装置
US07/460,267 US5109501A (en) 1986-10-13 1990-01-02 Data transfer apparatus having a transferable data counter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24247786A JP2537814B2 (ja) 1986-10-13 1986-10-13 デ−タ転送装置

Publications (2)

Publication Number Publication Date
JPS6395554A JPS6395554A (ja) 1988-04-26
JP2537814B2 true JP2537814B2 (ja) 1996-09-25

Family

ID=17089670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24247786A Expired - Lifetime JP2537814B2 (ja) 1986-10-13 1986-10-13 デ−タ転送装置

Country Status (1)

Country Link
JP (1) JP2537814B2 (ja)

Also Published As

Publication number Publication date
JPS6395554A (ja) 1988-04-26

Similar Documents

Publication Publication Date Title
US4674033A (en) Multiprocessor system having a shared memory for enhanced interprocessor communication
EP0458304B1 (en) Direct memory access transfer controller and use
JPH0268632A (ja) 割込み制御装置
US5287471A (en) Data transfer controller using direct memory access method
US4371926A (en) Input/output information indication system
JP2537814B2 (ja) デ−タ転送装置
JP3146276B2 (ja) 共有メモリの更新及び参照管理方式並びに参照タイミング制御方式
EP0291907B1 (en) Interprocessor communication system in information processing system enabling communication between execution processor units during communication between other processor units
JP2537815B2 (ja) デ−タ転送装置
JPS6240751B2 (ja)
EP0410382A2 (en) Data transfer controller using direct memory access method
JPH05282242A (ja) バス制御方式
JPH11238042A (ja) 分散シミュレーション制御装置
JP2595808B2 (ja) 分散処理用メモリ装置
JP3597621B2 (ja) ロック転送制御方式
JP2765267B2 (ja) ダイレクトメモリアクセス転送制御装置
JP2961542B2 (ja) データ処理システム
JPH079469Y2 (ja) 通信制御回路
JPH0991172A (ja) メモリ制御状態監視装置
JPS61290548A (ja) 記憶装置の領域管理方式
JPH04181452A (ja) 計算機システム
JPS55108026A (en) Common use system for input and output unit
JPH04184297A (ja) 情報処理システムの時刻同期化方式
JPS6342547A (ja) 回線制御装置
JPS61128331A (ja) デ−タ転送制御方式