JPS62208153A - 入出力バツフア装置 - Google Patents
入出力バツフア装置Info
- Publication number
- JPS62208153A JPS62208153A JP61050932A JP5093286A JPS62208153A JP S62208153 A JPS62208153 A JP S62208153A JP 61050932 A JP61050932 A JP 61050932A JP 5093286 A JP5093286 A JP 5093286A JP S62208153 A JPS62208153 A JP S62208153A
- Authority
- JP
- Japan
- Prior art keywords
- output
- entry
- input
- data
- read
- 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
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 57
- 238000010586 diagram Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/066—User-programmable number or size of buffers, i.e. number of separate buffers or their size can be allocated freely
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、入出力バッファ記憶装置に関し、特に、バッ
ファエリアの割当て方式に関する。
ファエリアの割当て方式に関する。
従来の技術
従来、入出力バッファを物理チャネル対応に割当てる場
合には、第2図に示すように、各チャネル均等な領域を
割当てる方式が主流となっていた。
合には、第2図に示すように、各チャネル均等な領域を
割当てる方式が主流となっていた。
また、物理チャネルに接続される入出力装置の性能(転
送レート)を考慮してバッファを割当てる(例えば、デ
ィスク装置は多く、ユニットレコード装置は少く)方式
も考えられる。
送レート)を考慮してバッファを割当てる(例えば、デ
ィスク装置は多く、ユニットレコード装置は少く)方式
も考えられる。
発明が解決しようとする問題点
しかしながら、入出力バッファを各物理チャネル毎に均
等に割当てる方式では接続する入出力装置の性能に無関
係となる為にバッファの効果が少ない。また、システム
構成によって、使用しない物理チャネルが存在する場合
には、該チャネルに対応するバッファ領域は全く無駄に
なってしまう。
等に割当てる方式では接続する入出力装置の性能に無関
係となる為にバッファの効果が少ない。また、システム
構成によって、使用しない物理チャネルが存在する場合
には、該チャネルに対応するバッファ領域は全く無駄に
なってしまう。
また、入出力バッファを接続する入出力装置の性能に応
じて割当てる場合であっても物理チャネルの増減には対
応出来ず、無駄な領域が発生する事は避けられない。
じて割当てる場合であっても物理チャネルの増減には対
応出来ず、無駄な領域が発生する事は避けられない。
更にまた、バッファの一部に故障が存在する場合には、
故障箇所に対応する物理チャネルは他に空領域が存在し
ても使用不能となってしまうという欠点があった。
故障箇所に対応する物理チャネルは他に空領域が存在し
ても使用不能となってしまうという欠点があった。
本発明は従来の上記事情に鑑みてなされたものであシ、
従って本発明の目的は、従来の技術に内在する上記諸欠
点を解消することを可能とした新規な入出力バラフッ方
式を提供することにある。
従って本発明の目的は、従来の技術に内在する上記諸欠
点を解消することを可能とした新規な入出力バラフッ方
式を提供することにある。
問題点を解決するための手段
上記目的を達成する為に、本発明による入出力バッファ
装置は、アドレス部とデータ部と物理チャネル対応に割
当てられたバッファの開始エントリとエントリサイズを
保持する手段と開始エントリからの相対エントリ数を示
す読出し相対エントリと書込み相対エントリとを物理チ
ャネル毎に有し、開始エントリと読出しエントリの加算
値をバッファの読出しポインタとして、開始エントリと
書込みエントリの加算値をバッファの書込みポインタと
して使用し、チャネル対応バッファエリアの読出し及び
書込みを行なう毎〈読出し相対エントリ、書込み相対エ
ントリを+lした値で更新し、更新値が割当てエントリ
サイズと一致した場合には@0”にリセットし、不一致
の場合には更新値をそのまま相対エントリとして書込む
ようにし、開始エントリとエントリサイズをシステム構
成に最適化することを特徴としている。
装置は、アドレス部とデータ部と物理チャネル対応に割
当てられたバッファの開始エントリとエントリサイズを
保持する手段と開始エントリからの相対エントリ数を示
す読出し相対エントリと書込み相対エントリとを物理チ
ャネル毎に有し、開始エントリと読出しエントリの加算
値をバッファの読出しポインタとして、開始エントリと
書込みエントリの加算値をバッファの書込みポインタと
して使用し、チャネル対応バッファエリアの読出し及び
書込みを行なう毎〈読出し相対エントリ、書込み相対エ
ントリを+lした値で更新し、更新値が割当てエントリ
サイズと一致した場合には@0”にリセットし、不一致
の場合には更新値をそのまま相対エントリとして書込む
ようにし、開始エントリとエントリサイズをシステム構
成に最適化することを特徴としている。
実施例
次に、本発明をその好ましm−実施例について図面を参
照して具体的に説明する。
照して具体的に説明する。
第1図は本発明に係る入出力バッファ装置の一実施例を
示すブロック構成図である。第1図において、参照番号
Iはデータ部、コはアドレス部、//は書込み相対エン
トリを格納するレジスタファイル、/コは読出し相対エ
ントリを格納するレジスタファイルをそれぞれ示し、レ
ジスタファイル//と/コは物理チャネルθ〜りのtチ
ャネル分に対応して存在する。10は、本発明の特徴で
あるところのレジスタファイルであシ、各物理チャネル
に割当てられたバッファエリアの開始エントリと割当て
エントリサイズを物理チャネル毎に保持する。
示すブロック構成図である。第1図において、参照番号
Iはデータ部、コはアドレス部、//は書込み相対エン
トリを格納するレジスタファイル、/コは読出し相対エ
ントリを格納するレジスタファイルをそれぞれ示し、レ
ジスタファイル//と/コは物理チャネルθ〜りのtチ
ャネル分に対応して存在する。10は、本発明の特徴で
あるところのレジスタファイルであシ、各物理チャネル
に割当てられたバッファエリアの開始エントリと割当て
エントリサイズを物理チャネル毎に保持する。
レジスタファイA/IOの内容は、システムのスタート
アップ時または構成変更時に入出力処理装置によ#)フ
ァームウェアライトパス19によって初期設定される。
アップ時または構成変更時に入出力処理装置によ#)フ
ァームウェアライトパス19によって初期設定される。
入出力処理装置は、初期診断によシ、実在する物理チャ
ネル数及び診断結果を元にバッファの割当てを行なう。
ネル数及び診断結果を元にバッファの割当てを行なう。
−例として、第3図に示すように3本の物理チャネルが
存在した場合を考える。物理チャネル4oには磁気ディ
スク処理装置が物理チャネルナlには磁気テープ処理装
置が、物理チャネル番号には、ラインプリンタ、 CR
Tなどを制御するユニットレコード処理装置が接続され
ているものとする。
存在した場合を考える。物理チャネル4oには磁気ディ
スク処理装置が物理チャネルナlには磁気テープ処理装
置が、物理チャネル番号には、ラインプリンタ、 CR
Tなどを制御するユニットレコード処理装置が接続され
ているものとする。
バッファメモリは、lエントリがコワードであシ、全体
で441工/トリから成る。第3図では、物理チャネル
φ0に3コエントリ、物理チャネルΦlとナコに16エ
ントリずつ割り当てている。
で441工/トリから成る。第3図では、物理チャネル
φ0に3コエントリ、物理チャネルΦlとナコに16エ
ントリずつ割り当てている。
先ず、出力データ転送の場合について説明する。
データ転送開始前に入出力処理装置は物理チャネルに対
応するバッファエントリをクリアする為に、チャネル番
号とイニシャライズ要求コマンドなバッファ装置へ送出
する。バッファ装置は受取った物理チャネルに対応する
レジスタファイルllとlコのエントリをOにクリアす
る。データ転送の準備が完了すると、読出しアドレスを
4−a上に乗せて読出し、コマンドとメモリリクエスト
(コマンド。
応するバッファエントリをクリアする為に、チャネル番
号とイニシャライズ要求コマンドなバッファ装置へ送出
する。バッファ装置は受取った物理チャネルに対応する
レジスタファイルllとlコのエントリをOにクリアす
る。データ転送の準備が完了すると、読出しアドレスを
4−a上に乗せて読出し、コマンドとメモリリクエスト
(コマンド。
リクエストは図示せず)をチャネル番号C本例ではすO
)とともに送出する。バッファ装置ではチャネル番号を
チャネルナンバ1(CNBl)13−lへ、アドレスを
レジスタ6へ取り込む。次に、チャネルナンバlの内容
によシ対応する開始エントリヲペースレジスタ10−.
2へ、エントリサイズをサイズレジスタ10−/へ、読
出し相対エントリを読出しエントリポインタ12−/へ
、書込み相対エントリを書込みエントリポインタ//−
/へ読出す。
)とともに送出する。バッファ装置ではチャネル番号を
チャネルナンバ1(CNBl)13−lへ、アドレスを
レジスタ6へ取り込む。次に、チャネルナンバlの内容
によシ対応する開始エントリヲペースレジスタ10−.
2へ、エントリサイズをサイズレジスタ10−/へ、読
出し相対エントリを読出しエントリポインタ12−/へ
、書込み相対エントリを書込みエントリポインタ//−
/へ読出す。
本例の場合、レジスタ6はFOOOH、レジスタ10−
7は20H、レジスタ10−コはOOH、ポインタ//
−/、/コーlは両方ともにOOHである。次に、レジ
スタ6のアドレスは、メモリアドレスレジスタ3ヘロー
ドされ、バッファ装置からメモリへ読出し要求を送出す
る。また同時に書込みエントリポイン///−/、!:
ベースエントリレジスタlO−一の内容が加算器/j?
で加算され、セレクタ16−3を通って書込みエントリ
を示し、レジスタ6のアドレスがアドレス部−の示され
たエントリC本例では00H)に書込まれる。次のタイ
ミングでチャネルナンバCtJB /はチャネルナンバ
CNB aへと移動し、加算器13の出力はポインタ1
6−/へロードされ、更にポインタ/6−−へと移送さ
れる。書込みエントリポインタ//−/は加算器/クー
lで+l加算され、セレクタ/7−Jを通ってレジスタ
ファイル//のチャネル+Oのエリアへ書込まれる(レ
ジスタファイル//のチャネルはφOエントリは0/H
となる)。
7は20H、レジスタ10−コはOOH、ポインタ//
−/、/コーlは両方ともにOOHである。次に、レジ
スタ6のアドレスは、メモリアドレスレジスタ3ヘロー
ドされ、バッファ装置からメモリへ読出し要求を送出す
る。また同時に書込みエントリポイン///−/、!:
ベースエントリレジスタlO−一の内容が加算器/j?
で加算され、セレクタ16−3を通って書込みエントリ
を示し、レジスタ6のアドレスがアドレス部−の示され
たエントリC本例では00H)に書込まれる。次のタイ
ミングでチャネルナンバCtJB /はチャネルナンバ
CNB aへと移動し、加算器13の出力はポインタ1
6−/へロードされ、更にポインタ/6−−へと移送さ
れる。書込みエントリポインタ//−/は加算器/クー
lで+l加算され、セレクタ/7−Jを通ってレジスタ
ファイル//のチャネル+Oのエリアへ書込まれる(レ
ジスタファイル//のチャネルはφOエントリは0/H
となる)。
同時にレジスタ/クーJにも更新後の書込みエントリポ
インタの内容がロードされる。メモリアドレスレジスタ
3のアドレスは、加算器gによシ+ざ(ユワード分加算
)され、アドレス部−のレジスタlクー3で示されるエ
ントリ(エントリl)へ書込まれる。メモリからの読出
しはλワード単位で行なわれ、メモリリードデータレジ
スタダヘー担格納され、レジスタ14−一で示されるエ
ントリへ書込まれ、入出力処理装置へはリードデータの
偶数ワード側(即ち、Fooo −Foos番地のデー
タ)がセレクタ<<−/、 デーlを介して送り返さ
れる。
インタの内容がロードされる。メモリアドレスレジスタ
3のアドレスは、加算器gによシ+ざ(ユワード分加算
)され、アドレス部−のレジスタlクー3で示されるエ
ントリ(エントリl)へ書込まれる。メモリからの読出
しはλワード単位で行なわれ、メモリリードデータレジ
スタダヘー担格納され、レジスタ14−一で示されるエ
ントリへ書込まれ、入出力処理装置へはリードデータの
偶数ワード側(即ち、Fooo −Foos番地のデー
タ)がセレクタ<<−/、 デーlを介して送り返さ
れる。
しかし、データ部のエントリOには、有効なデータ(F
ooII−Foot番地のデータ)が残っている為に、
読出しエントリポインタを格納するレジスタファイル1
2のチャネル≠Oのエントリは更新されない。即ち、0
0Hのままである。以上で、出力データの第1ワード目
の転送は完了する。このときの各エントリの内容は、ア
ドレス部のエントリOはFooo 、エントリlはFO
Og 、データ部のエンドIJ QはメモリのFooo
−Fooり番地のデータがtバイト格納され、レジス
タファイル//のエントリ0は0/H、レジスタファイ
ルlコのエントリOはOOHのままである。
ooII−Foot番地のデータ)が残っている為に、
読出しエントリポインタを格納するレジスタファイル1
2のチャネル≠Oのエントリは更新されない。即ち、0
0Hのままである。以上で、出力データの第1ワード目
の転送は完了する。このときの各エントリの内容は、ア
ドレス部のエントリOはFooo 、エントリlはFO
Og 、データ部のエンドIJ QはメモリのFooo
−Fooり番地のデータがtバイト格納され、レジス
タファイル//のエントリ0は0/H、レジスタファイ
ルlコのエントリOはOOHのままである。
更に、入出力処理装置から同一チャネルからの読出し要
求があると、前述と同様にしてレジスタ6へアドレスを
格納し、レジスタ//−/、/コーl。
求があると、前述と同様にしてレジスタ6へアドレスを
格納し、レジスタ//−/、/コーl。
10−/、10−コヘ各データ値を読出す。メモリアド
レスレジスタ3へはレジスタ乙のアドレスではなく、書
込みエントリポインタ//−/、!:ペースエントリレ
ジスタlO−コを加算した出力(oiH>をセレクタ/
l−/で選択し、アドレス部から読出してメモリアドレ
スレジスタ3ヘロードし、 Fooざ番地の読出しをメ
モリへ要求する。今回の入出力処理装置からの要求デー
タは既にデータ部のエントリOに存在する為に、読出し
エントリポインタ/コーlとペースエントリレジスタI
O−コの加算結果によりエントリθからデータを読出し
、奇数ワ−ド(Foo4I−Fooり番地)のデータを
選択してリードデータレジスタ7へロードし、セレクタ
?−7を介して入出力処理装置へと送出する。書込みエ
ントリポインタ/l−/は前述と同様のパスで+lされ
、レジスタファイル//の内容が更新される。
レスレジスタ3へはレジスタ乙のアドレスではなく、書
込みエントリポインタ//−/、!:ペースエントリレ
ジスタlO−コを加算した出力(oiH>をセレクタ/
l−/で選択し、アドレス部から読出してメモリアドレ
スレジスタ3ヘロードし、 Fooざ番地の読出しをメ
モリへ要求する。今回の入出力処理装置からの要求デー
タは既にデータ部のエントリOに存在する為に、読出し
エントリポインタ/コーlとペースエントリレジスタI
O−コの加算結果によりエントリθからデータを読出し
、奇数ワ−ド(Foo4I−Fooり番地)のデータを
選択してリードデータレジスタ7へロードし、セレクタ
?−7を介して入出力処理装置へと送出する。書込みエ
ントリポインタ/l−/は前述と同様のパスで+lされ
、レジスタファイル//の内容が更新される。
読出しエントリポインタ/2−/の内容も加算器/g−
7で+lされ、セレクタ/g−,7を通りレジスタファ
イル/コのチャネルナ0に対応するエントリの内容が更
新される( olHとなる)。メモリから読出したFO
Ot −F00F番地のデータはメモリリードデータレ
ジスタダへ格納され、レジスタ/6−コで示されるエン
トリ(0/H)に書込まれる。1以上で、第スワードの
転送が完了し、バッファのデータ部のエントリlには’
Foot −FooF番地のコワード分の先取したデー
タが存在する。
7で+lされ、セレクタ/g−,7を通りレジスタファ
イル/コのチャネルナ0に対応するエントリの内容が更
新される( olHとなる)。メモリから読出したFO
Ot −F00F番地のデータはメモリリードデータレ
ジスタダへ格納され、レジスタ/6−コで示されるエン
トリ(0/H)に書込まれる。1以上で、第スワードの
転送が完了し、バッファのデータ部のエントリlには’
Foot −FooF番地のコワード分の先取したデー
タが存在する。
出力データ転送は、以上の動作の繰返しで連行して行き
、レジスタファイルl/の書込みエントリポインタがエ
ントリサイズと一致することを比較器/7−2が検出す
ると、セレクタlクー3によって固定値0を選択する。
、レジスタファイルl/の書込みエントリポインタがエ
ントリサイズと一致することを比較器/7−2が検出す
ると、セレクタlクー3によって固定値0を選択する。
従って、書込みエンドリボインクの値は/FHからOO
Hに更新される。読出しエントリポインタについても同
様の操作が比較器/1−コ、セレクタ/j−3で行なわ
れる。
Hに更新される。読出しエントリポインタについても同
様の操作が比較器/1−コ、セレクタ/j−3で行なわ
れる。
今までの説明はチャネルナOについてであったが、チャ
ネル÷lについてはエントリ20H−2FHの間で、チ
ャネル番号についてはエントリ30H〜jFHの範囲で
同じことが行なわれる。本バッファ装置はパイプライン
制御方式としているために、複数の物理チャネルの4ル
チプレツクスが可能である。
ネル÷lについてはエントリ20H−2FHの間で、チ
ャネル番号についてはエントリ30H〜jFHの範囲で
同じことが行なわれる。本バッファ装置はパイプライン
制御方式としているために、複数の物理チャネルの4ル
チプレツクスが可能である。
次に、入力データ転送について述べる。入出力処理装置
は、データ転送を開始しようとする物理チャネルに対応
するバッファ装置内のクリアを行うことは出力データ転
送の場合と同じである。入出力処理装置は物理チャネル
番号をバッファ装置へ送シ、次のタイミングで書込みア
ドレスを6−aへ書込みデータをf−bへ乗せる。バッ
ファ装置ではチャネル番号をGNB/へ、アドレスをレ
ジスタ6へ取り込みチャネルナンバCNB lの内容に
対応する各ポインタ、ペースエントリ、エントリサイズ
をポインタ// −/ 、 /2− /、レジスタio
−,2,10−/ヘロードする。書込みエントリポイ
ンタ//−/とペースエントリとの加算値で示されるエ
ントリ(今はO)のアドレス部にレジスタ乙に格納され
ているアドレスをデータ部の偶数ワード側(アドレスが
偶数ワードを指していれば)へlワード書込む。読出し
エントリボイ/り及び書込みエントリポインタの内容は
更新されない。以上で、入出力処理装置側から見た第1
ワードの転送は完了するが、データはバッファ内に存在
するのみで、メモリへはまだ書込まれていない。次に、
入出力処理装置から第ユワード目のデータ(奇数ワード
)が送られて来ると、バッファ装置はデータ部の奇数ワ
ード側へ書込みデータを書込み、書込みエントリボイy
りを+lする。入出力処理装置側から見た第一ワード目
の転送はここまでで完了する。バッファ装置はデータ部
にコワードのデ二夕が揃った事で、メモリへ該データを
書込む操作を行なう。即ち、読出しエントリポインタ/
2−1とペースエントリレジスタlO−一の内容の加算
値によりバッファデータ部からデータを読み出しくエン
トリO)、メモリライトデータレジスタへコワードのデ
ータをロードしてメモリへ書込み要求を出す。さらに、
読出しエンドリボインタ/コーlの出力を十l加算した
値(0/H)でレジスタファイル/コの物理チャネル番
号に対応するエントリを更新する。以上で、第1.コワ
ードのメモリへの書込みは完了し、次の書込みデータは
、バッファデータ部のエントリlへ格納される事になる
。
は、データ転送を開始しようとする物理チャネルに対応
するバッファ装置内のクリアを行うことは出力データ転
送の場合と同じである。入出力処理装置は物理チャネル
番号をバッファ装置へ送シ、次のタイミングで書込みア
ドレスを6−aへ書込みデータをf−bへ乗せる。バッ
ファ装置ではチャネル番号をGNB/へ、アドレスをレ
ジスタ6へ取り込みチャネルナンバCNB lの内容に
対応する各ポインタ、ペースエントリ、エントリサイズ
をポインタ// −/ 、 /2− /、レジスタio
−,2,10−/ヘロードする。書込みエントリポイ
ンタ//−/とペースエントリとの加算値で示されるエ
ントリ(今はO)のアドレス部にレジスタ乙に格納され
ているアドレスをデータ部の偶数ワード側(アドレスが
偶数ワードを指していれば)へlワード書込む。読出し
エントリボイ/り及び書込みエントリポインタの内容は
更新されない。以上で、入出力処理装置側から見た第1
ワードの転送は完了するが、データはバッファ内に存在
するのみで、メモリへはまだ書込まれていない。次に、
入出力処理装置から第ユワード目のデータ(奇数ワード
)が送られて来ると、バッファ装置はデータ部の奇数ワ
ード側へ書込みデータを書込み、書込みエントリボイy
りを+lする。入出力処理装置側から見た第一ワード目
の転送はここまでで完了する。バッファ装置はデータ部
にコワードのデ二夕が揃った事で、メモリへ該データを
書込む操作を行なう。即ち、読出しエントリポインタ/
2−1とペースエントリレジスタlO−一の内容の加算
値によりバッファデータ部からデータを読み出しくエン
トリO)、メモリライトデータレジスタへコワードのデ
ータをロードしてメモリへ書込み要求を出す。さらに、
読出しエンドリボインタ/コーlの出力を十l加算した
値(0/H)でレジスタファイル/コの物理チャネル番
号に対応するエントリを更新する。以上で、第1.コワ
ードのメモリへの書込みは完了し、次の書込みデータは
、バッファデータ部のエントリlへ格納される事になる
。
第1図に出力データ転送の場合のタイムチャートを、第
3図に入力データ転送の場合のタイムチャートをそれぞ
れ示す。 ・ 発明の詳細 な説明したように、本発明によれば、物理チャネル毎に
バッファエリアの開始位置とバッファサイズを格納する
手段を備える事により、各物理チャネルに接続される入
出力装置の性能に応じたバッファ割当てを行なう事が可
能となり、かつ、物理チャネルの増減に対しても無駄な
領域を発生させることなく柔軟に対応することが出来る
とともに、バッファメモリの故障に対しても開始位置と
バッファサイズを適当に変える事によって故障を回避す
ることで信頼性の高いシステムを構築することが可能で
ある。
3図に入力データ転送の場合のタイムチャートをそれぞ
れ示す。 ・ 発明の詳細 な説明したように、本発明によれば、物理チャネル毎に
バッファエリアの開始位置とバッファサイズを格納する
手段を備える事により、各物理チャネルに接続される入
出力装置の性能に応じたバッファ割当てを行なう事が可
能となり、かつ、物理チャネルの増減に対しても無駄な
領域を発生させることなく柔軟に対応することが出来る
とともに、バッファメモリの故障に対しても開始位置と
バッファサイズを適当に変える事によって故障を回避す
ることで信頼性の高いシステムを構築することが可能で
ある。
第1図は本発明の一実施例を示すブロック構成図である
。 l・・・データ部、コ・・・アドレス部、3・・・メモ
リアドレスレジスタ、グ・・・メモリリードデータレジ
スタ、!・・・メモリライトデータレジスタ、6・・・
アドレスバッファレジスタ、り・・・リードデータレジ
スタ、5・・・アドレス加算器、 10・・・ペースエ
ントリ・エントリサイズ格納手段(レジスタファイル)
、/l・・・書込み相対エントリ格納手段(レジスタフ
ァイル)、lユ・・・読出し相対エントリ格納手段(レ
ジスタファイル)、/j−/、/3−2・・・物理チャ
ネル番号格納レジスタ、/4(・・・第1の加算回路、
/!・・・第一の加算回路、/7−/・・・第3の刃口
算回路、/1−/・・・guの加算回路、/7−.7・
・・第1の選択回路、/1−3・・・第一の選択回路、
/9・・・ファームウェアによるデータ設定経路、/
/ −/、/6−/、/A−一・・・書込みエントリポ
インタ、lコート・・読出しエンドリボ・インタ、10
−/・・・エントリサイズレジスタ、10−コ・・・ペ
ースエントリレジスタ第一図は従来技術によるバッファ
エリアの割当て例(チャネル均等割当て)を示す図であ
る。 第3図は本実施例におけるバッファエリアの割当ての一
例(物理チャネルナO〜ナコに全バッファを割当てた例
)を示す図である。 第4図は出力データ転送における動作例を説明するタイ
ムチャートである。 第S図は入力データ転送における動作例を説明するタイ
ムチャートである。
。 l・・・データ部、コ・・・アドレス部、3・・・メモ
リアドレスレジスタ、グ・・・メモリリードデータレジ
スタ、!・・・メモリライトデータレジスタ、6・・・
アドレスバッファレジスタ、り・・・リードデータレジ
スタ、5・・・アドレス加算器、 10・・・ペースエ
ントリ・エントリサイズ格納手段(レジスタファイル)
、/l・・・書込み相対エントリ格納手段(レジスタフ
ァイル)、lユ・・・読出し相対エントリ格納手段(レ
ジスタファイル)、/j−/、/3−2・・・物理チャ
ネル番号格納レジスタ、/4(・・・第1の加算回路、
/!・・・第一の加算回路、/7−/・・・第3の刃口
算回路、/1−/・・・guの加算回路、/7−.7・
・・第1の選択回路、/1−3・・・第一の選択回路、
/9・・・ファームウェアによるデータ設定経路、/
/ −/、/6−/、/A−一・・・書込みエントリポ
インタ、lコート・・読出しエンドリボ・インタ、10
−/・・・エントリサイズレジスタ、10−コ・・・ペ
ースエントリレジスタ第一図は従来技術によるバッファ
エリアの割当て例(チャネル均等割当て)を示す図であ
る。 第3図は本実施例におけるバッファエリアの割当ての一
例(物理チャネルナO〜ナコに全バッファを割当てた例
)を示す図である。 第4図は出力データ転送における動作例を説明するタイ
ムチャートである。 第S図は入力データ転送における動作例を説明するタイ
ムチャートである。
Claims (1)
- 複数の物理チャネルを有する入出力処理装置と主記憶装
置とに接続された入出力バッファ装置であつて、該入出
力バッファ装置は、アドレス部とデータ部とから成るバ
ッファメモリを有し、かつ各物理チャネルに割当てられ
た前記バッファメモリの開始位置と割当てられた容量と
前記バッファメモリの書込み位置及び読出し位置を前記
開始位置からの相対値で示した情報とを物理チャネル毎
に記憶する記憶手段と、前記入出力処理装置から与えら
れる物理チャネル番号に従つて前記記憶手段の内容を読
出す読出し手段と、読出した前記開始位置と前記書込み
位置とを加算する第1の加算回路と、前記開始位置と前
記読出し位置とを加算する第2の加算回路とを有し、さ
らに該入出力バッファ装置は入力データ転送の場合には
前記入出力処理装置から送られるメモリアドレスと書込
みデータを前記バッファメモリの前記第1の加算回路出
力で示される位置へ書込むとともに前記第一の加算回路
出力で示される位置からメモリアドレスと書込みデータ
を読出し該メモリアドレスに基づき該書込みデータを前
記記憶手段へ書込むようにし出力データ転送の場合には
前記入出力処理装置から送られるメモリアドレスに基づ
き前記記憶手段から連続的にデータを読出して前記バッ
ファメモリの前記第1の加算回路出力で示される位置へ
メモリアドレスと前記読出しデータを書込むとともに前
記第2の加算回路出力で示される位置からデータを読出
して前記入出力処理装置へ送出するようにしてデータ転
送を行ない、さらに前記書込み位置を+1する第3の加
算回路と、前記読出し位置を+1する第4の加算回路と
、前記第3の加算回路の出力と前記割当て容量とを比較
し不一致の場合には前記第3の加算回路の出力を一致し
た場合には0を選択する第1の選択手段と、前記第4の
加算回路の出力と前記割当て容量とを比較し不一致の場
合には前記第4の加算回路の出力を一致した場合には0
を選択する第一の選択手段とを具備し、前記バッファメ
モリへの書込みが行なわれる毎に前記第1の選択手段の
出力によつて前記記憶手段の書込み位置の内容を更新し
前記バッファメモリからの読出しが行なわれる毎に前記
第2の選択手段の出力によつて前記記憶手段の読出し位
置の内容を更新するようにした事を特徴とする入出力バ
ッファ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61050932A JPS62208153A (ja) | 1986-03-08 | 1986-03-08 | 入出力バツフア装置 |
US07/023,620 US4839791A (en) | 1986-03-08 | 1987-03-09 | Input/output buffer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61050932A JPS62208153A (ja) | 1986-03-08 | 1986-03-08 | 入出力バツフア装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62208153A true JPS62208153A (ja) | 1987-09-12 |
Family
ID=12872589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61050932A Pending JPS62208153A (ja) | 1986-03-08 | 1986-03-08 | 入出力バツフア装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4839791A (ja) |
JP (1) | JPS62208153A (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68929288T2 (de) * | 1988-12-19 | 2001-11-15 | Nec Corp., Tokio/Tokyo | Datenübertragungsvorrichtung |
US5729708A (en) * | 1989-12-04 | 1998-03-17 | Canon Kabushiki Kaisha | Portable data buffer apparatus with manually controlled reception/transmission |
US5687396A (en) * | 1989-12-04 | 1997-11-11 | Canon Kabushiki Kaisha | Data buffer apparatus with interrupted transmission/reception |
US5224214A (en) * | 1990-04-12 | 1993-06-29 | Digital Equipment Corp. | BuIffet for gathering write requests and resolving read conflicts by matching read and write requests |
US5450564A (en) * | 1990-05-04 | 1995-09-12 | Unisys Corporation | Method and apparatus for cache memory access with separate fetch and store queues |
US5261059A (en) * | 1990-06-29 | 1993-11-09 | Digital Equipment Corporation | Crossbar interface for data communication network |
EP0489504B1 (en) * | 1990-11-30 | 1997-03-05 | International Business Machines Corporation | Bidirectional FIFO buffer for interfacing between two buses |
DE4038328A1 (de) * | 1990-12-01 | 1992-06-11 | Grundig Emv | Adress-steuerung fuer einen first in-/first out-speicher |
JP2703417B2 (ja) * | 1991-04-05 | 1998-01-26 | 富士通株式会社 | 受信バッファ |
GB9111524D0 (en) * | 1991-05-29 | 1991-07-17 | Hewlett Packard Co | Data storage method and apparatus |
US5673396A (en) * | 1994-12-16 | 1997-09-30 | Motorola, Inc. | Adjustable depth/width FIFO buffer for variable width data transfers |
US6038620A (en) * | 1996-09-09 | 2000-03-14 | International Business Machines Corporation | Method and system for optimal high speed match in a high performance controller which ensures an input/output interface stays ahead of a host interface |
US6038621A (en) * | 1996-11-04 | 2000-03-14 | Hewlett-Packard Company | Dynamic peripheral control of I/O buffers in peripherals with modular I/O |
US7054986B2 (en) * | 2001-03-30 | 2006-05-30 | Nokia Corporation | Programmable CPU/interface buffer structure using dual port RAM |
JP4789753B2 (ja) * | 2006-08-28 | 2011-10-12 | 富士通セミコンダクター株式会社 | 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法 |
KR100930520B1 (ko) * | 2007-01-25 | 2009-12-09 | 삼성전자주식회사 | 네트워크 시스템에서 큐 처리 방법 및 장치 |
US8804212B2 (en) * | 2007-05-23 | 2014-08-12 | Kyocera Document Solutions Inc. | Stepping motor control device capable of reducing load on CPU |
US8291136B2 (en) * | 2009-12-02 | 2012-10-16 | International Business Machines Corporation | Ring buffer |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4056843A (en) * | 1976-06-07 | 1977-11-01 | Amdahl Corporation | Data processing system having a plurality of channel processors |
US4126897A (en) * | 1977-07-05 | 1978-11-21 | International Business Machines Corporation | Request forwarding system |
US4258418A (en) * | 1978-12-28 | 1981-03-24 | International Business Machines Corporation | Variable capacity data buffer system |
US4598357A (en) * | 1980-11-14 | 1986-07-01 | Sperry Corporation | Cache/disk subsystem with file number for recovery of cached data |
US4407016A (en) * | 1981-02-18 | 1983-09-27 | Intel Corporation | Microprocessor providing an interface between a peripheral subsystem and an object-oriented data processor |
-
1986
- 1986-03-08 JP JP61050932A patent/JPS62208153A/ja active Pending
-
1987
- 1987-03-09 US US07/023,620 patent/US4839791A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US4839791A (en) | 1989-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62208153A (ja) | 入出力バツフア装置 | |
JP4414087B2 (ja) | 読取り同時書込み操作のためのフラッシュ・メモリ分割 | |
US6490649B2 (en) | Memory device | |
KR102061079B1 (ko) | 파일 액세스 방법 및 관련 기기 | |
US4858108A (en) | Priority control architecture for input/output operation | |
US4155119A (en) | Method for providing virtual addressing for externally specified addressed input/output operations | |
US7647470B2 (en) | Memory device and controlling method for elongating the life of nonvolatile memory | |
US20130219111A1 (en) | System and method for read-while-write with nand memory device | |
JPS58139241A (ja) | 画像メモリアクセス方式 | |
US20090254715A1 (en) | Variable partitioned blocks in shared memory | |
JPH07175698A (ja) | ファイルシステム | |
JPS62237547A (ja) | アドレス変換方式 | |
JPH0341859B2 (ja) | ||
EP0897579B1 (en) | Memory device | |
US4096570A (en) | Subchannel memory access control system | |
US11347637B2 (en) | Memory system and non-transitory computer readable recording medium | |
US20100085810A1 (en) | Method of controlling memory system | |
KR100748191B1 (ko) | 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태정보 제공 방법 | |
JPH11144478A (ja) | 不揮発性半導体メモリの情報記憶方法および電子機器 | |
JP2002324008A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US8195696B2 (en) | File format converting method | |
US5247695A (en) | Vector processor with byte access of memory | |
US20020165869A1 (en) | Process control manager for audio/video file system | |
EP0090137A2 (en) | Access control system for digital data storage device | |
JPS5987567A (ja) | 可変長デ−タ記憶制御方式 |