JPS6249537A - デ−タバツフアコントロ−ラ - Google Patents

デ−タバツフアコントロ−ラ

Info

Publication number
JPS6249537A
JPS6249537A JP60190309A JP19030985A JPS6249537A JP S6249537 A JPS6249537 A JP S6249537A JP 60190309 A JP60190309 A JP 60190309A JP 19030985 A JP19030985 A JP 19030985A JP S6249537 A JPS6249537 A JP S6249537A
Authority
JP
Japan
Prior art keywords
data
data buffer
buffer
address
input
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.)
Pending
Application number
JP60190309A
Other languages
English (en)
Inventor
Harumichi Maeda
前田 晴通
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP60190309A priority Critical patent/JPS6249537A/ja
Publication of JPS6249537A publication Critical patent/JPS6249537A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、主記憶装置および入出力装置間のデータ転
送がRAM構成のデータバッファを介して行なわれるシ
ステムに係り、特にデータバッファの転送制御を行なう
データバッファコントローラに関する。
〔発明の技術的背景とその間頴点〕
一般に、CPU、主記憶装置および複数の入出力制御装
置がシステムバスにより相互接続される分散処理システ
ムにおいて、(入出力制御装置に接続される)入出力装
置と主記憶装置との間のデータ転送は、入出力制御装置
の制御によりCPUから独立して行なわれる。通常、こ
の種の入出力制御装置には、入出力装置側とシステムバ
ス側とのデータ転送速度の相違や、システムバスの使用
効率と各入出力装置のバス使用頻度との関係から、入出
力装置、主記憶装置間の転送データを一時格納するデー
タバッファが設けられる。
従来、この種データバッファは複数設けられており、こ
れらバッファを用いた主記憶装置1入出力装置間のデー
タ転送は以下の手順で行なわれる。
■主記憶装置(または入出力装置)から1つのバッファ
にデータを転送する。
■そのバッファが満杯(フル状態)になると同バッファ
から入出力装置(または主記憶装置)へのデータ転送を
開始する。
■主記憶装置(または入出力装置)から次のバッファに
データ転送が行なわれる。
しかし上記の方式では、主記憶装置および入出力装置の
一方側のデータ転送で1つのデータバッファが満杯にな
るまでは、他方側はデータ転送を開始できず、特にバッ
フ7サイズが大きい場合や、バッファの入力側の転送速
度が遅い場合には、データ転送に多大な時間を要する問
題があった。
また、データバッファにF I FO(FirstI 
n  F 1rst  0ut)メモリを用いる方式も
知られている。しかしFIFOの容量は一般に非常に小
さく、しかも突接は時間(はじめにデータを入れてから
、そのデータが出力側で読出せるまでの時間)が長いこ
とから、上記の問題を解決する有効な手段とはなり得な
い。
[発明の目的] この発明は上記事情に鑑みてなされたものでその目的は
、RAM構成のデータバッファにFIFO機能を持たせ
ることができ、少ないデータバッファ容量で効率のよい
データ転送が行なえるデータバッファコントローラを提
供することにある。
[発明の概要] この発明によれば、主記憶装置および入出力装置間のデ
ータ転送においてデータ一時格納用に用いられるRAM
構成のデータバッファを制御するデータバッファコント
ローラが提供される。
データバッファコントローラには、データバッファ、主
記憶装置間のデータ転送における第1のデータ転送量お
よびデータバッファ、入出力装置間のデータ転送におけ
る第2のデータ転送量がデータバッファサイズの整数倍
となることをそれぞれ検出する検出回路と、アドレス指
定回路とが設けられる。このアドレス指定回路は、デー
タバッファ、主記憶装置間のデータ転送におけるデータ
バッファアドレスを指定し1単位のデータ転送毎にカウ
ント動作を行なう第1アドレスカウンタと、データバッ
ファ、入出力装置間のデータ転送におけるデータバッフ
ァアドレスを指定し1単位のデータ転送毎にカウント動
作を行なう第2アドレスカウンタとを有している。第1
.第2アドレスカウンタは、上記検出回路により上記第
1.第2のデータ転送量がデータバッファサイズの整数
倍分となったことが検出される毎に初期化される。
またデータバッファコントローラには、第1および第2
のデータ転送量の少なくとも一方がデータバッファサイ
ズの整数倍分となったことが検出回路により検出される
毎に出力論理状態が反転する第1フリップフロップと、
主記憶装置、入出力装置間のデータ転送方向を指示する
第2フリップフロップと、第1および第2アドレスカウ
ンタの示すデータバッファアドレスの大小を比較する比
較器と、バッファ入出力制御回路とが更に設けられる。
このバッファ入出力制御回路は、比較、器の比較結果お
よび第1および第2フリップフロップの状態に応じてデ
ータバッファ書込み可信号およびデータバッファ読出し
可信号を出力する。
[発明の実施例] 以下、この発明の一実施例を第1図(a)乃至同図(c
)および第2図を参照して説明する。
第1図(a)はこの発明の一実施例に係る分散処理シス
テムの構成を示すもので、11はシステムバスである。
システムバス11には、CPU12、主記憶装置(以下
、MMUと称する)13、および複数の入出力制御装置
(以下、IOCと称する) 14等が接続されている。
各I OC14には、入出力装置(以下、IOと称する
) 15が接続されている。
第1図(b)はl0C14の構成を示すもので、21は
I OC14全体をコントロールするコントローラであ
る。コントローラ21は、たとえばマイクロプロセッサ
を用いて構成されており、DMAコントローラ(以下、
DMACと称する)を2チヤンネル、即ちDMAC22
,23を内蔵している。
DMAC22はM M U 13と後述するデータバッ
ファ28との間のDMA転送に、D M A C23は
データバッファ28と1015との間のDMA転送に、
それぞれ用いられる。24はCPU12およびM M 
U 13とデータ並びに制御の授受を行なうシステムバ
スインタフェース、25は1015を制御する10コン
トローラ/インタフエース、2GはI OC14の内部
バスであるローカルバスである。27はRAM、28は
RA M 27に割当てられたデータバッファ、29は
データバッファ28の転送制御を行なうデータバッフ7
コントローラ(以下、単にバッファコントローラと称す
る)である。
第1図(C)はバッファコントローラ29の構成を示す
もので、30は(第1図(b)のRAM27に割当てら
れた)データバッファ28に対するアドレスを指定する
アドレス指定回路である。アドレス指定回路30は、デ
ータバッファ28の先頭アドレスAsを保持するアドレ
スレジスタ31と、アドレスレジスタ31の内容が初期
設定されるアドレスカウンタ32.33とを有している
。アドレスカウンタ32は、M M U 13側からデ
ータバッファ28をアクセスする場合(即ち、M M 
U 13.データバッファ28間のデータ転送の場合)
のデータバッファアドレスを指定するのに用いられる。
同様にアドレスカウンタ33は、1015側からデータ
バッファ28をアクセスする場合(即ち、I O15,
データバッファ28間のデータ転送の場合)のデータバ
ッファアドレスを指定するのに用いられる。アドレスカ
ウンタ32、33は、対応するワード(バイト)転送毎
にインクリメント(+1)される。
34はデータバッファ28のサイズ(ワード数)を保持
するレングスレジスタ、35.36はレングスレジスタ
34の内容が初期設定されるワードカウンタである。ワ
ードカウンタ35は、MMU13側からデータバッファ
28をアクセスする場合の転送ワード数(バイト数)、
ここではデータバッファ28の最終アドレスAεまでの
残りワード数をカウントするのに用いられる。同様にワ
ードカウンタ3Bは、1015側からデータバッファ2
8をアクセスする場合の転送ワード数(バイト数)、こ
こではデータバッファ28の最終アドレスAEまでの残
りワード数をカウントするのに用いられる。ワードカウ
ンタ35.3Bは、対応するワード(バイト)転送毎に
ディクリメント(−1)される。ワードカウンタ35、
3Bは、そのカウント値が零になった時にアクティブ(
“1”)な信号(ボロー信号)信号37゜38を出力す
る。信号37.38は、アドレスレジスタ31の内容を
アドレスカウンタ32.33にロードし、レングスレジ
スタ34の内容をワードカウンタ35゜3Bにロードす
るロード信号として用いられる。即ち、レングスレジス
タ34およびワードカウンタ35゜3Gは、データバッ
ファ2g、MM013間のデータ転送量、データバッフ
ァ28.1015間のデータ転送量がデータバスサイズ
の整数倍となることを検出して信号37.38を出力す
る検出回路5oを構成する。
39は信号37. 38が供給されるORゲート、40
はORゲート39の出力信号をクロック入力とするTフ
リップフロップ(以下、バッファ制御F/Fと称する)
、41はMMU13.1015間の転送方向を示すフリ
ップフロップ(以下、転送方向F/Fと称する)である
。転送方向F / F 41は、10″でM M U 
13から1015へのデータ転送を、“1”て!O15
からM M U 13へのデータ転送を示す。42はア
ドレスカウンタ32.33の出力をA、B入力とし、そ
の人力値の大小を比較する比較器、43はデータバッフ
ァ28入出力制御用のバッファ入出力制御回路である。
バッファ入出力制御回路43は、比較器42の比較結果
およびバッファ制御F / F 40並びに転送方向F
 / F 41の百出力に応じてインプットレディ信号
IRおよびアウトプットレディ信号ORを出力するもの
である。信号IRはデータバッファ28への書込み側の
レディ信号(即ち書込み可信号)を示し、信号ORはデ
ータバッファ28への読出し側のレディ信号(即ち読出
し可信号)を示す。
バッファ入出力制御回路43の入出力論理を第2図に示
す。
次に、上記した構成の動作を、1015がらM M U
 13ヘデータバツフア28を介してデータ転送を行な
う場合を例にとって説明する。
*fIOC14内(7):l > トo−ラ21i;t
、DMAC22、23更にはシステムバスインタフェー
ス24並びに10コントローラ/インタフエース25の
プログラミングなどを行なう。次にコントローラ21は
、バッファ制御F / F 40に“0”をセットする
と共に、転送方向F/ F411.: (1015力ラ
MMU13へのデータ転送を示す)”1”をセットする
。またコントローラ21は、アドレスレジスタ31にデ
ータバッファ28の先頭アドレスASをセットする。こ
の実施例では、アドレスレジスタ31にコントローラ2
1からデータを書込むと、アドレスカウンタ32゜33
にも同じデータが自動的にセットされる。更にコントロ
ーラ21は、レングスレジスタ34にデータバッファ2
8のサイズをセットする。この実施例では、レングスレ
ジスタ34にコントローラ21がらデータを書込むと、
ワードカウンタ35.36にも同じデータが自動的にセ
ットされる。
コントローラ21は、全てのセットアツプを終了すると
、MMUI3側、1015側両方に転送スタートコマン
ドを与える。これによりDMAC22,23の制御によ
るDMA転送が開始される。この場合、転送方向F /
 F 41の出力が“1″であることから(即ちl01
5からMMU13へのデータ転送が指定されていること
から)、DMAC23がデータバッファ28に対する書
込み(入力)側となり、同じくDMAC22が読出しく
出力)側となる。
さて、川明状態では、アドレスカウンタ32.33のカ
ウント値は等しく、またバッファ制御F/F40の出力
は“0″、転送方向F / F 41の出力は“1″で
あることから、バッファ入出力制御回路43の出力信号
であるインプットレディ信号IRは1“ (真)、アウ
トプットレディ信号ORは“0” (偽)である。D 
M A C23は、転送方向F / F 41の出力が
“1”のとき(即ちデータバッファ28に対する書込み
側のとき)にIR−1の場合、l015からデータバッ
ファ28へのDMA転送(IO15側転送)を行なう。
そしてl015.データバッファ28間のワードの転送
毎にアドレスカウンタ33は+1され、ワードカウンタ
36は−1される。
1015からのデータがデータバッファ28に書込まれ
ると、アドレスカウンタ32のカウント値はアドレスカ
ウンタ33のそれより小さくなる(即ち比較器42のA
、B入力はA<Bとなる)。この結果、バッファ入出力
制御回路43からのアウトプットレディ信号ORは、バ
ッファ制御F / F 40の出力が“θ″、転送方向
F / F 41の出力が“1”であることから、“1
” (真)となる。またインプットレディ信号IRは、
“1“の状態を継続する。
D M A C22は、転送方向F / F 41の出
力が“1”のとき(即ちデータバッファ28に対する読
出し側のとき)に0R−1となると、上記したDMAC
23によるMMU13側データ転送と並行して、データ
バッファ28からM M U 13へのDMA転送(M
MUla側転送)を開始する。そしてデータバッファ2
8. MMU13間のワードの転送毎にアドレスカウン
タ32は+1され、ワードカウンタ35は−1される。
このとき、MMU+3側の転送速度がl015側のそれ
より速くアドレスカウンタ32の値がアドレスカウンタ
33の値と等しく  (A−B)なってしまうと、信号
ORは再び“0”となる。この結果、M M U 13
側のデータ転送は、l015側のデータ転送が再び行な
われてアドレスカウンタ33が+1されA<Bとなるま
で、−特待たされる。
さて、1015からM M U 13に転送すべきデー
タのデータ長(転送ワード数)がデータバッファ28の
サイズ(バッファサイズ)より長い場合、次の動作が行
なわれる。まず1015側の(データバッファ28への
)データ転送ワード数(バイト数)がデータバッファ2
8のサイズに達すると、ワードカウンタ3Gのカウント
値が零となり、信号38が論理“1“となる。この論理
“1°の信号38は、ロード信号としてアドレスカウン
タ33およびワードカウンタ36に供給される。これに
より、アドレスカウンタ33にアドレスレジスタ31の
内容(データバッファ28の先頭アドレスAs)がロー
ドされ、ワードカウンタ3Bにレングスレジスタ34の
内容(データバッファ28のサイズ)がロードされる。
そしてレングスレジスタ34の内容がワードカウンタ3
6にロードされると、信号38は再び“0”となる。
また、上記論理″1mの信号38は、ORゲート39を
介してバッファ制御F / F 40に供給される。こ
の結果、バッファ制御F / F 40は状態反転(こ
こでは“0″から“1”に反転)する。
上記の状態において、M M U 13側の(データバ
ッファ28からの)データ転送ワード数(バイト数)が
未だデータバッファ28のサイズに達していない場合に
は、アドレスカウンタ32の値はアドレスカウンタ33
の値より大きくなる。しかし、バッファ制御F / F
 40が状態反転(“0”から“1′)すると、第2図
に示すように、バッファ入出力制御回路43からのイン
プットレディ信号IRおよびアウトプットレディORの
出力条件の論理が変化することから、インプットレディ
信号IRはアドレスカウンタ33の値がアドレスカウン
タ32の値に等しくなるまでは“1” CA)のままと
なり、l015側からデータバッファ28へのデータ転
送が続けて行なわれる。また、この状態では、アウトプ
ットレディ信号ORも“1° (真)であり、データバ
ッファ28からMMUla側へのデータ転送も並行して
行なわれる。
やがてMMUla側の(データバッファ28からの)デ
ータ転送ワード数(バイト数)がデータバッファ28の
サイズに達すると、ワードカウンタ35のカウント値が
零となり、信号37が論理“1”となる。
この論理“1”の信号37は、ロード信号としてアドレ
スカウンタ32およびワードカウンタ35に供給される
。これにより、アドレスカウンタ32にアドレスレジス
タ31の内容(データバッファ28の先頭アドレスAs
)がロードされ、ワードカウンタ35にレングスレジス
タ34の内容(データバッファ28のサイズ)がロード
される。そしてレングスレジスタ34の内容がワードカ
ウンタ36にロードされると、信号37は再び”0”と
なる。また、上記論理“1”の信号37は、ORゲート
39を介してバッファ制御F / F 4Gに供給され
る。この結果、バッフ子制御F / F 40は再び状
態反転(ここでは1”から”0°に反転)する。これに
より、バッファ制御F / F 40の状態は初期状態
と同じになる。そして上記の動作が、転送データ長に達
するまで繰返される。
なお、前記実施例では、■015からMMU13へのデ
ータ転送の場合について説明したが、MMU13からC
P U 12へのデータ転送も同様に行なわれる。
[発明の効果コ  − 以上詳述したようにこの発明によれば、少量のハードウ
ェアによる簡単な制御により、RAM+M成のデータバ
ッファにFIFO機能を持たせることができるので、少
ないデータバッファ容量で功率のよいデータ転送が行な
える。
【図面の簡単な説明】
第1図(a)はこの発明の一実施例に係る分散処理シス
テムのブロック構成図、第1図(b)は第1図(a)の
l0C14のブロック構成図、第1図(C)は第1図(
b)のデータバッファコントローラ29のブロック構成
図、第2図は第1図(C)のバッファ入出力制御回路4
3の入出力論理を示す図である。 13・・・主記憶装置(MMU) 、14・・・入出力
制御装置(I OC) 、45・・・入出力装置(I 
O) 、22.23・・・DMAコントローラ(DMA
C) 、27・・・RAM。 28・・・データバッファ、29・・・データバッファ
コントローラ、30・・・アドレス指定回路、31・・
・アドレスレジスタ、32.33・・・アドレスカウン
タ、34・・・レングスレジスタ、35.38・・・ワ
ードカウンタ、40・・・バッファ制御F/F、41・
・・転送方向F/F、42・・・比較器、43・・・バ
ッファ入出力制御回路、50・・・検出回路。 出願人代理人 弁理士 鈴江武彦 (a) 第1図 第2図

Claims (4)

    【特許請求の範囲】
  1. (1)主記憶装置および入出力装置間のデータ転送がR
    AM構成のデータバッファを介して行なわれるシステム
    において、 上記データバッファ、主記憶装置間のデータ転送におけ
    る第1のデータ転送量および上記データバッファ、入出
    力装置間のデータ転送における第2のデータ転送量がデ
    ータバッファサイズの整数倍となることをそれぞれ検出
    する検出回路と、上記データバッファ、主記憶装置間の
    データ転送におけるデータバッファアドレスを指定し1
    単位のデータ転送毎にカウント動作を行なうアドレスカ
    ウンタであって、上記検出回路により上記第1のデータ
    転送量が上記データバッファのサイズの整数倍分となっ
    たことが検出される毎に初期化される第1アドレスカウ
    ンタ、および上記データバッファ、入出力装置間のデー
    タ転送におけるデータバッファアドレスを指定し1単位
    のデータ転送毎にカウント動作を行なうアドレスカウン
    タであって、上記検出回路により上記第2のデータ転送
    量が上記データバッファのサイズの整数倍分となったこ
    とが検出される毎に初期化される第2アドレスカウンタ
    を有するアドレス指定回路と、上記検出回路により上記
    第1および第2のデータ転送量の少なくとも一方が上記
    データバッファのサイズの整数倍分となったことが検出
    される毎に出力論理状態が反転する第1フリップフロッ
    プと、 上記主記憶装置、入出力装置間のデータ転送方向を指示
    する第2フリップフロップと、 上記第1および第2アドレスカウンタの示すデータバッ
    ファアドレスの大小を比較する比較器と、この比較器の
    比較結果および上記第1および第2フリップフロップの
    状態に応じてデータバッファ書込み可信号およびデータ
    バッファ読出し可信号を出力するバッファ入出力制御回
    路と、 を具備することを特徴とするデータバッファコントロー
    ラ。
  2. (2)上記アドレス指定回路が、上記第1および第2ア
    ドレスカウンタの初期値に供されるアドレスである上記
    データバッファの先頭アドレスを保持するアドレスレジ
    スタを有していることを特徴とする特許請求の範囲第1
    項記載のデータバッファコントローラ。
  3. (3)上記検出回路が、上記データバッファ、主記憶装
    置間の1単位のデータ転送毎にカウント動作を行なって
    上記第1のデータ転送量をカウントするワードカウンタ
    であって、上記データバッファサイズ分をカウントする
    毎に初期化される第1ワードカウンタと、上記データバ
    ッファ、入出力装置間の1単位のデータ転送毎にカウン
    ト動作を行なって上記第2のデータ転送量をカウントす
    るワードカウンタであって、上記データバッファサイズ
    分をカウントする毎に初期化される第2ワードカウンタ
    とを有していることを特徴とする特許請求の範囲第1項
    記載のデータバッファコントローラ。
  4. (4)上記検出回路が、上記第1および第2ワードカウ
    ンタの初期値に供される上記データバッファサイズを保
    持するレングスレジスタを有していることを特徴とする
    特許請求の範囲第3項記載のデータバッファコントロー
    ラ。
JP60190309A 1985-08-29 1985-08-29 デ−タバツフアコントロ−ラ Pending JPS6249537A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60190309A JPS6249537A (ja) 1985-08-29 1985-08-29 デ−タバツフアコントロ−ラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60190309A JPS6249537A (ja) 1985-08-29 1985-08-29 デ−タバツフアコントロ−ラ

Publications (1)

Publication Number Publication Date
JPS6249537A true JPS6249537A (ja) 1987-03-04

Family

ID=16256015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60190309A Pending JPS6249537A (ja) 1985-08-29 1985-08-29 デ−タバツフアコントロ−ラ

Country Status (1)

Country Link
JP (1) JPS6249537A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581165A (ja) * 1991-09-19 1993-04-02 Fujitsu Ltd データ転送回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581165A (ja) * 1991-09-19 1993-04-02 Fujitsu Ltd データ転送回路

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
JPS5829197A (ja) 動的メモリのリフレツシユ回路
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
EP0217350A2 (en) Data transfer control unit and system
US6691182B2 (en) DMA controller in which bus access ratio can be set
JPS6249537A (ja) デ−タバツフアコントロ−ラ
JPH06250970A (ja) メモリ制御装置
JPH05165761A (ja) Dmaコントローラ
JPS59136833A (ja) デ−タ転送制御装置
JPS62252584A (ja) デイスクユニツト制御装置
JP3096382B2 (ja) Dma回路
JPS607529A (ja) バツフアメモリ装置
JPH03100851A (ja) 先入れ先出し記憶装置
JP2594611B2 (ja) Dma転送制御装置
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
JP3206013B2 (ja) ダイレクト・メモリ・アクセス転送制御装置
JPH01114961A (ja) ダイレクトメモリアクセス制御装置
JPS5932815B2 (ja) デ−タ処理システム
JP2604051B2 (ja) データ転送方法
JP2978626B2 (ja) Dmaコントローラ
JPH06187123A (ja) データ入出力装置
JPH01173245A (ja) 無応答検出回路
JPH02287661A (ja) データアクセス方式
JPH02278347A (ja) デバグ用データ出力回路
JPH0769885B2 (ja) デ−タ転送装置