JP2688245B2 - Dma制御装置 - Google Patents

Dma制御装置

Info

Publication number
JP2688245B2
JP2688245B2 JP1059141A JP5914189A JP2688245B2 JP 2688245 B2 JP2688245 B2 JP 2688245B2 JP 1059141 A JP1059141 A JP 1059141A JP 5914189 A JP5914189 A JP 5914189A JP 2688245 B2 JP2688245 B2 JP 2688245B2
Authority
JP
Japan
Prior art keywords
data
fifo
counter
transfer
processing
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 - Fee Related
Application number
JP1059141A
Other languages
English (en)
Other versions
JPH02236764A (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.)
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 JP1059141A priority Critical patent/JP2688245B2/ja
Publication of JPH02236764A publication Critical patent/JPH02236764A/ja
Application granted granted Critical
Publication of JP2688245B2 publication Critical patent/JP2688245B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】 〔概要〕 DMA制御装置に関し、 分散化されたシステムにおいて、その処理内容のタス
クが変化して必要なデータ量が変動しても該変動に対応
でき、データバスの使用効率を向上させることができる
DMA制御装置を提供することを目的とし、 データをフォーストイン、ファーストアウトで取り出
すことができるFIFOと、該FIFOに書き込まれるデータの
個数を数えるアップカウンタと、前記FIFOから読み出さ
れるデータの個数を数えるダウンカウンタと、前記両カ
ウンタのカウント値に基づいて前記FIFO内の未処理デー
タの個数を計算する加算器と、該加算器で計算された未
処理データの個数をラッチする実効値レジスタと、処理
タスクに応じて外部からダイナミックに書き込まれる該
処理タスクに必要なデータの個数をラッチする基準値ラ
ッチと、及び、前記実効値レジスタからの未処理データ
の個数と前記基準値ラッチからの必要データの個数とを
比較する比較器と、を含み、前記比較器からの比較値に
基づいて、前記FIFOは、そのデータの書き込み及び読み
出しが制御されるように構成する。
〔産業上の利用分野〕
本発明は、DMA制御装置に関するものである。
マイクロプロセッサのバスシステムにおいては、MPU
の処理効率を向上させるために、DMA転送方式が使用さ
れており、このDMA転送方式には、最大速度DMA転送方式
及び限定速度DMA転送方式がある。まず、最大速度DMA転
送方式においては、大量のデータ転送が必要な場合に有
効であるが、データバスを長時間占有するので、システ
ムの処理能力が低下する。これに対し、限定速度DMA転
送方式においては、短時間ずつデータバスを占有するの
で、システムの処理能力の低下を防止できる。しかしな
がら、この限定速度DMA転送方式においては、転送可能
なデータ量が一定であるので、次の処理で必要なデータ
のグループサイズが変動した場合に、この変動に対処す
ることができない。そして、近年のコンピュータシステ
ムにおいては、分散処理が進み、MPUを複数個使用する
場合が多く、該MPUでの各処理は非同期に実行されるの
で、データのグループサイズが処理に応じて変動した場
合に、この変動に対処できるようなDMA制御装置が必要
とされている。
〔従来の技術〕
第5図には、最大速度DMA制御装置のブロック回路が
示され、第6図には、そのタイミングチャートが示され
ている。
第5図において、符号1は、メモリブロックを示し、
該メモリブロック1は、DMAコントローラ2により制御
される。すなわち、メモリブロック1は、DMAコントロ
ーラ2からの転送要求信号3を受けると、該DMAコント
ローラ2に転送応答信号4を供給するとともに、データ
転送を開始し、また、メモリブロック1は、DMAコント
ローラ2からの転送停止信号5を受けると、データ転送
を停止する。前記DMAコントローラ2においては、転送
先頭アドレス設定レジスタ6からの信号により、転送す
べきデータの先頭アドレスが設定され、また、転送数設
定レジスタ7からの信号により、転送すべきデータの数
が設定されている。また、前記メモリブロック1は、デ
ータバス8を介して、スレーブシステム9との間で、デ
ータの転送を行う。
この最大速度DMA転送方式について、第6図を参照し
ながら説明すると、時刻t1において転送が開始し、時刻
t2において転送が停止する。そして、長い時間T12にお
いてタの転送が行われるので、大量のデータを転送する
ことができる。しかしながら、長時間に亘ってデータバ
スを占有することになるので、他の処理(他のシステム
の処理)を行うことができず、このため、全体のシステ
ムの処理能力が低下する。
そこで、次に述べた限定速度DMA転送方式が使用され
る。
第7図には、限定速度DMA制御装置のブロック回路が
示され、第8図には、そのタイミングチャートが示され
ている。
第7図において、データバス8の途中には、FIFO10が
配置され、該FIFO10は、DMAコントローラ2にデータフ
ル信号11及びデータエンプティ信号12を供給し、また、
スレーブシステム9にデータフル信号11及びデータエン
プティ信号12を供給する。
この限定速度DMA転送方式について、第8図を参照し
ながら説明すると、時刻t1において転送が開始し、時刻
t2において転送が停止し、以下、同様にして、時刻t3,t
5,t7は転送開始時刻を示し、時刻t4,t6,t8は転送停止時
刻を示す。そして、短い時間T12,T34,T56,T78において
データの転送が行われる。この限定速度DMA転送方式に
おいては、時間T12,T34,T56,T78は短いので、データバ
スを長時間にわたって占有することがなく、全体のシス
テムの処理能力の低下を防止することができ、これは、
特に分散処理の場合に有効である。
〔発明が解決しようとする課題〕
上記限定速度DMA転送方式においては、データを転送
する時間が一定であり、転送可能なデータ量が一定なの
で、事前に設定された量ずつしかデータを転送すること
ができない。このため、分散処理化されたシステムにお
いて、処理タスクの内容により負荷が変動する場合、す
なわちデータのグループサイズ(データの個数)が処理
タスクに応じて変動した場合には、全体のシステムの処
理能力が低下する。
本発明の目的は、分散化されたシステムにおいて、そ
の処理内容のタスクが変化して必要なデータ量が変動し
ても該変動に対応でき、データバスの使用効率を向上さ
せることができるDMA制御装置を提供することにある。
〔課題を解決するための手段〕
本発明は、データをファーストイン、ファーストアウ
トで取り出すことができるFIFO(10)と、該FIFO(10)
に書き込まれるデータの個数を数えるアップカウンタ
(20)と、前記FIFO(10)から読み出されるデータの個
数を数えるダウンカウンタ(19)と、前記両カウンタ
(19,20)のカウント値に基づいて前記FIFO(10)内の
未処理データの個数を計算する加算器(21)と、該加算
器(21)で計算された未処理データの個数をラッチする
実効値レジスタ(24)と、処理タスクに応じて外部から
ダイナミックに書き込まれる該処理タスクに必要なデー
タの個数をラッチする基準値ラッチ(22)と、及び、前
記実効値レジスタ(24)からの未処理データの個数と前
記基準値ラッチ(22)からの必要データの個数とを比較
する比較器(23)と、を含み、前記比較器(23)からの
比較値に基づいて、前記FIFO(10)は、そのデータの書
き込み及び読み出しが制御されるように構成されている
ことを特徴とする。
〔作用〕
本発明においては、FIFO(10)に書き込まれるデータ
の個数は、アップカウンタ(20)で数えられ、FIFO(1
0)から読み出されるデータの個数は、ダウンカウンタ
(19)で数えられ、該両カンウタ(20,19)のカウント
値に基づき、加算器(21)は、FIFO(10)内の未処理デ
ータの個数を計算し、該未処理データの個数は、実効値
レジスタ(24)にラッチされる。一方、基準値ラッチ
(22)には、処理タスクに必要なデータの個数が処理タ
スクに応じて外部からダイナミックに書き込まれてお
り、この必要データの個数は、比較器(23)において、
前記未処理データの個数と比較される。
そして、比較器(23)からの比較に基づいて、FIFO
(10)は、そのデータの書き込み及び読み出しが制御さ
れる。すなわち、未処理データの個数が必要データの個
数より大きい場合には、FIFO(10)は、その書き込みが
停止されるがその読み出しが実行され、逆に未処理デー
タの個数が必要データの個数より小さい場合には、FIFO
(10)は、その書き込みが実行されるがその読み出しが
停止される。
〔実施例〕
以下、図面に基づいて本発明の好適な実施例を説明す
る。
第1図には、本発明の実施例によるDMA制御装置のブ
ロック回路が示され、第2図には、そのコントローラC
の構成が示されている。
第1図および第2図において、符号10は、FIFOを示
し、該FIFO10に書き込まれるデータの個数は、アップカ
ウンタ20により数えられ、また、FIFO10から読み出され
るデータの個数は、ダウンカウンタ19により数えられ
る。これらの両カウンタ20,19のカウント値は、加算器2
1に供給され、該加算器21において、FIFO10内の未処理
データの個数が計算され、この未処理データの個数は、
実効値レジスタ24にラッチされる。一方、スレーブシス
テム9からデータバス8を介して、基準値ラッチ22に
は、処理タスクに応じて該処理タスクに必要なデータの
個数がダイナミックに書き込まれる。この基準値ラッチ
22からの必要データの個数bは、前記実効値レジスタ24
からの未処理データの個数aとともに、比較器23に供給
されて比較され、該比較器23からの比較値に基づいて、
前記FIFO10は、そのデータの書き込み及び読み込みが制
御されるようになっている。
なお、符号25は、メモリアクセス周辺回路を示す。
以下、DMA制御装置の作用を説明する。
データバス8を介してFIFO10にデータが書き込まれる
ことに、アップカウントパルス信号15は、アップカウン
タ20に供給され、該アップカウンタ20は、そのカウント
値が1つずつ増加する。また、データバス8を介してFI
FO10からデータが読み出されるごとに、ダウンカウント
パルス信号18は、ダウンカウンタ19に供給され、該ダウ
ンカウンタ19は、そのカウント値が1つずつ減少する。
なお、FIFO10でのデータの書き込みと読み出しとは、非
同期である。以上のようにして、FIFO10にデータが書き
込まれたりFIFO10からデータが読み出されると、アップ
カウンタ20及びダウンカウンタ18のカンウト値、すなわ
ち、FIFO10の書き込みデータの個数及び読み込みデータ
の個数が変化する。
前記両カウンタ20,19のカウント値は、加算器21に供
給されて、FIFO10内の未処理データの個数が計算され、
この未処理データの個数は、実効値レジスタ29にラッチ
される。この未処理データの個数aは、基準値ラッチ22
からの必要データの個数bとともに、比較器23に供給さ
れて比較される。この比較結果に基づいて、FIFO10の書
き込み及び読み出しが次のように制御される。
未処理データの個数aが必要データの個数bより大き
い場合(a>b)には、比較器23は、ウエイト信号13を
メモリアクセス周辺回路25に供給する。これにより、FI
FO10では、メモリブロック1からメモリアクセス周辺回
路25を介してのデータの書き込みが停止されるが、スレ
ーブシステム9へのデータの読み出しが実行される。
逆に、未処理データの個数aが必要データの個数bよ
り大きくない場合(a≦b)には、比較器23は、ウエイ
ト信号14をスレーブシステム9に供給するとともに、素
子27,28を介してデータ要求信号17をメモリアクセス周
辺回路25に供給する。これにより、FIFO10では、メモリ
ブロック1からメモリアクセス周辺回路25を介してのデ
ータの書き込みが実行されるが、スレーブシステム9へ
のデータの読み出しが停止される。
そして、前記基準値ラッチ22に書き込まれる必要デー
タの個数は、スレーブシステム9で必要とされる処理タ
スクに応じてダイナミックに変更される。
従って、データの転送において、システムバス8を使
用する時間は、スレーブシステム9で必要とされる処理
タスクに応じて変更されることができ、データバス8の
使用効率を向上させることができる。
なお、前記両カウンタ20,19は、FIFO10の内容量と同
じ内容量で同一の数値まで数えることができる。また、
アップカウンタ20が最大値に達しオーバフローしたとき
及び/又はダウンカウンタ19が最小値に達しアンダフロ
ーしたとき、両カウンタ20,19は、クリアされ、特に、
アップカウンタ20は、クリア直後に、クリア前の実効値
レジスタ24の値がロードされる。なお、このための構成
については後述する。
また、第3図には、上記DMA制御装置のタイミングチ
ャートが示され、時刻t1において転送が開始し、時刻t2
において転送が停止し、以下、同様にして、時刻t3,t5,
t7は転送開始時刻を示し、時刻t4,t6,t8は転送停止時刻
を示す。そして、転送の時間T12,T34,T56,T78は、スレ
ーブシステム側の処理タスクに応じてダイナミックに変
更させられ、データバスの占有時間T12,T34,T56,T78
ダイナミックに変化している。
次に、第4図には、第2図のコントローラの詳細な構
成が示されている。
第4図において、FIFO10は、1KW×16bitの容量を有し
ており、内容量がデーダて満たされると、Full Flagが
“L"レベルになり、また、内容量が空になると、Empty
Flagが“L"レベルになる。アップカウンタ20、ダウン
カウンタ19は、実施例では1KWとしているので、10bitカ
ウンタであり、また、そのデータ範囲は、それぞれ0〜
1024,0〜−1024である。基準値ラッチ22には、スレーブ
システム9からデータバス8を介して、処理タスクに必
要なデータの個数が設定される。なお、実効値レジスタ
24は、10bitである。
動作に限して、初期状態では、両カウンタ20,19は
“0"であるので、比較器23では“a≦b"が選択される。
このため、データ要求信号17が“H"になり、メモリアク
セス周辺回路25にデータの読み込みが指示され、データ
がデータバス8を通ってFIFO10に書き込まれる。このデ
ータの書き込み時に、データ転送の信号からアップカウ
ントパルス信号15がつくられ、これにより、アップカウ
ンタ20は、そのカウント値が増加する。また、比較器23
で“a≦b"であるので、ウエイト信号14がスレーブシス
テム9に供給され、FIFO10からのデータの読み出しが停
止される。
その後、アップカウンタ20のカウント値が増加して、
比較器23で“a>b"が選択されると、処理タスクに必要
なデータの個数がFIFO10に存在していることになる。こ
のためウエイト信号13は、メモリアクセス周辺回路25に
供給され、FIFO10では、データの書き込みが停止され、
スレーブシステム9へのデータの読み出しが実行され
る。このデータの読み出し時に、ダウンカウンタ19は、
ダウンカウントパルス信号18により、そのカウント値が
減少する。
なお、両カウンタ20,19は、素子29を介してロード/
クリア発生器26に接続されている。そして、両カウンタ
20,19で桁があふれた場合、すなわち、アックカウンタ2
0でオーバフローが生じ及び/又はダウンカウンタ19で
アンダフローが生じた場合に、キャリー信号、ボロー信
号により、ロード/クリア発生器26は、両カウンタ20,1
9をクリアし、クリア後に、クリア前の実効値レジスタ2
4の値がアップカウンタ20にロードされるようにする。
実験例 本実施例によるDMA制御装置によれば、パイプライン
処理が進められる。そして、データ転送100ns/WORD、処
理タスク1μs(10WORD)とすれば、処理時間は、従来
では204.8μsであるが、実施例では104.8μsであり、
約50%の速度向上が達成可能である。
応用例 本実施例のDMA制御装置を用いたシステムとしては、
電子ビーム露光装置のデータ処理部がある。データとし
ては、5ワードないし10ワードを基本的単位として、処
理が進められる。このとき、描画とデータ分解とを時分
割で行う場合には、本実施例のように基準値ラッチ22に
対する設定量(処理タスク)をダイナミックに変化させ
ることにより、効率のよい処理が可能である。
〔発明の効果〕
以上説明したように、本発明によれば、基準値ラッチ
にラッチされる必要なデータの個数は、スレーブシステ
ム側の処理タスクに応じで設定されるので、処理タスク
が変化して必要なデータ量が変動しても該変動に対応で
き、データバスの使用効率を向上させることができる。
すなわち、最大速度DMA転送方式においては、データバ
スを長時間にわたって専有し、また、限定速度DMA転送
方式においては、一定周期でデータバスを明け渡すこと
になり、実行中のスレーブシステム側の処理の最大必要
処理数に合わせた設計となり、柔軟性に欠けていたが、
これに対し、本発明においては、処理タスクに応じてデ
ータバスの専有を管理できるので、柔軟性が向上してい
る。
【図面の簡単な説明】
第1図は、本発明の実施例によるDMA制御装置のブロッ
ク回路図、 第2図は、コントローラの構成説明図、 第3図は、本発明の実施例によるDMA制御装置のタイミ
ングチャート、 第4図は、コントローラの詳細な構成説明図、 第5図は、最大速度DMA制御装置のブロック回路図、 第6図は、最大速度DMA制御装置のタイミングチャー
ト、 第7図は、限定速度DMA制御装置のブロック回路図、及
び、 第8図は、限定速度DMA制御装置のタイミングチャート
である。 1……メモリブロック 2……DMAコントローラ 3……転送要求信号 4……転送応答信号 5……転送停止信号 6……転送先頭アドレス設定レジスタ 7……転送数設定レジスタ 8……データバス 9……スレーブシステム 10……FIFO 11……データフル信号 12……データエンプティ信号 13……ウエイト信号 14……ウエイト信号 15……アップカウントパルス信号 16……リセット信号 17……データ要求信号 18……ダウンカウントパルス信号 19……ダウンカウンタ 20……アップカウンタ 21……加算器 22……基準値ラッチ 23……比較器 24……実効値レジスタ 25……メモリアクセス周辺回路 26……ロード/クリア発生器 27,28,29……素子

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】データをファーストイン、ファーストアウ
    トで取り出すことができるFIFO(10)と、 該FIFO(10)に書き込まれるデータの個数を数えるアッ
    プカウンタ(20)と、 前記FIFO(10)から読み出されるデータの個数を数える
    ダウンカウンタ(19)と、 前記両カウンタ(20,19)のカウント値に基づいて前記F
    IFO(10)内の未処理データの個数を計算する加算器(2
    1)と、 該加算器(21)で計算された未処理データの個数をラッ
    チする実効値レジスタ(24)と、 処理タスクに応じて外部からダイナミックに書き込まれ
    る該処理タスクに必要なデータの個数をラッチする基準
    値ラッチ(22)と、及び、 前記実効値レジスタ(24)からの未処理データの個数と
    前記基準値ラッチ(22)からの必要データの個数とを比
    較する比較器(23)と、を含み、 前記比較器(23)からの比較値に基づいて、前記FIFO
    (10)は、そのデータの書き込み及び読み出しが制御さ
    れるように構成されていることを特徴とするDMA制御装
    置。
  2. 【請求項2】請求項1記載のDMA制御装置において、前
    記アップカウンタ(20)及び/又はダウンカウンタ(1
    9)がオーバフロー、アンダフローしたときに、該両カ
    ウンタ(20,19)はクリアされ、アックカウンタ(20)
    には、クリア前の実効値レジスタ(24)の値がロードさ
    れるDMA制御装置。
JP1059141A 1989-03-10 1989-03-10 Dma制御装置 Expired - Fee Related JP2688245B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1059141A JP2688245B2 (ja) 1989-03-10 1989-03-10 Dma制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1059141A JP2688245B2 (ja) 1989-03-10 1989-03-10 Dma制御装置

Publications (2)

Publication Number Publication Date
JPH02236764A JPH02236764A (ja) 1990-09-19
JP2688245B2 true JP2688245B2 (ja) 1997-12-08

Family

ID=13104747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1059141A Expired - Fee Related JP2688245B2 (ja) 1989-03-10 1989-03-10 Dma制御装置

Country Status (1)

Country Link
JP (1) JP2688245B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04142645A (ja) * 1990-10-03 1992-05-15 Nec Corp Dma転送制御方法およびdma転送制御装置
JPH06290581A (ja) * 1993-03-31 1994-10-18 Nec Corp ファースト・イン・ファースト・アウトメモリ書き込み 制御方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS607812B2 (ja) * 1977-07-11 1985-02-27 富士電機株式会社 デ−タバツフアリング装置

Also Published As

Publication number Publication date
JPH02236764A (ja) 1990-09-19

Similar Documents

Publication Publication Date Title
US5287486A (en) DMA controller using a programmable timer, a transfer counter and an or logic gate to control data transfer interrupts
US6782433B2 (en) Data transfer apparatus
EP0454605A2 (en) Bus request device in a direct memory access (DMA) system
US5944788A (en) Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules
US7380027B2 (en) DMA controller and DMA transfer method
JP2688245B2 (ja) Dma制御装置
US5999969A (en) Interrupt handling system for message transfers in network having mixed hardware and software emulated modules
JPS63159961A (ja) ダイレクトメモリアクセス転送制御装置
JP6316593B2 (ja) 半導体装置
US5983266A (en) Control method for message communication in network supporting software emulated modules and hardware implemented modules
US6691182B2 (en) DMA controller in which bus access ratio can be set
JP3008895B2 (ja) マルチプロセッサの負荷の均一化装置
JP2574345B2 (ja) バス調停装置
JP2826244B2 (ja) Dmaユニット
US5842003A (en) Auxiliary message arbitrator for digital message transfer system in network of hardware modules
JPH03147157A (ja) 情報処理装置
JPH03263158A (ja) 共通バス調停制御方式
EP0410382A2 (en) Data transfer controller using direct memory access method
US5581711A (en) Method and apparatus for determining the number of words of transferred data in a digital data transfer system
JP2520160B2 (ja) 図形処理用lsi回路
JP2000003332A (ja) 双方向バスサイズ変換回路
JPH061632B2 (ja) FiFoメモリ制御装置
JP3293838B2 (ja) データ転送方式
JP2002278753A (ja) データ処理システム
JPS6235148B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees