JPH0399353A - データ転送システム - Google Patents

データ転送システム

Info

Publication number
JPH0399353A
JPH0399353A JP2215114A JP21511490A JPH0399353A JP H0399353 A JPH0399353 A JP H0399353A JP 2215114 A JP2215114 A JP 2215114A JP 21511490 A JP21511490 A JP 21511490A JP H0399353 A JPH0399353 A JP H0399353A
Authority
JP
Japan
Prior art keywords
data
circuit
bus
storage array
port
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
JP2215114A
Other languages
English (en)
Other versions
JPH0650495B2 (ja
Inventor
James N Dieffenderfer
ジエームズ・ノーリス・デイフエンデーフアー
Ronald N Kalla
ロナルド・ニツク・カーラ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0399353A publication Critical patent/JPH0399353A/ja
Publication of JPH0650495B2 publication Critical patent/JPH0650495B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Static Random-Access Memory (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、データをあるデータ・バスから他のデータ・
バスに転送するために、ディジタル・データ処理システ
ムで使用するためのデータ・バッファ機構に関し、より
詳しくは、記憶アレイを使用して転送されるデータを緩
衝記憶する、そのようなデータ・バッファ機構に関する
B、従来の技術及び課題 転送されるデータを第1のデータ・バスから第2のデー
タ・バスに緩衝記憶する必要性は、しばしば発生する。
この必要性は一般的には、複数のバスが異なった動作特
性、異なったタイミング要件、またはこれらに関連する
異なった初期接続手段プロトコルを有する所に発生する
。たとえば、各データ・バスは、2つのバスの間に直接
の同期のない独立非同期バスであってもよい。他の例は
、バスの1つが時々他の事柄によって使用中であったり
、他のバスに、そのバスがデータ転送に予約済である時
に、データ転送に使用できないことがある場合である。
さらに他の例は、あるデータ・バスの幅が他のデータ・
バスの幅と異なっている、すなわち2つのデータ線の数
が同じではない場合である。他の例は、バスに結合され
た装置が異なるデータ転送速度を有する場合である。
記憶アレイすなわちメモリ・アレイを用いて、2つのデ
ータ・バスの間にバッファを準備することは知られてい
る。データは、あるバスから受け取られ、ある方法で記
憶アレイに記憶され、それから読み出されて、いくらか
違う方法で他のバスに供給される。記憶アレイは、2つ
のデータ・バスとこの2つのデータ・バスに結合された
動作装置に関連する相違を準備するために、フレキシブ
ルな媒体すなわちバッファを提供する。
ここに提案したデータ・バッファ機構の1つの形式は、
いわゆる「ピンポン」バッファ機構である。この場合、
記憶アレイの対が用意され、1つのバスから受け取られ
たデータが1つのアレイに書き込まれ、その間、データ
は他のアレイから読み出され、他のバスに供給される。
2つの記憶アレイの読取り及び書込み機能は、時々前後
に相互交換されるので、データは1つのアレイに、次に
交互に他のアレイに書き込まれ、データは他のアレイか
ら、次に書込みに使用された方法とは逆に交互に他のア
レイから読み取られる。この形式のデータ・バッファ機
構は、各種の適用業務に、より効率的でより速い全体的
なデータ転送動作を提供することができる。
C0発明の概要及び解決課題 本発明は、改良されたより効率的な方法で、第1データ
・バスから第2データ・バスへデータを転送するための
データ・バッファ機構を提供する。
ある実施例では、デュアル・ポート記憶機構を利用する
ピンポン・バッファ機構が提供され、このデュアル・ポ
ート記憶機構は、単一記憶アレイと、それぞれがそれ自
体の個別データ、アドレス及び制御線をもつ2つの独立
ポートを有する。この2つのポートは、他とは完全に独
立して動作するので、データは記憶アレイの1つのアド
レスに書き込まれ、同時に記憶アレイの異なるアドレス
からのデータを読み取ることができる。
書込み回路は、1つの第1のデータ・バスから受け取っ
て、それを記憶アレイの第1部分に書き込む、すなわち
記憶するために、デュアル・ポート記憶機構の独立ポー
トの1つに結合される。読取り回路は、デュアル・ポー
ト記憶機構の独立ポートの他の1つに結合され、記憶ア
レイの第2部分からデータを読み取り、それを第2デー
タ・バスに送るが、このような第2部分からのデータ読
取りは、記憶アレイの第1部分へのデータ記憶と同時に
発生する。モード制御論理は、いわゆる「ピンポン」効
果を提供するために、時々前後に相互交換しようとする
記憶アレイの第1及び第2部分の、読取り及び書込み機
能を可能にするために、供給される。
2つの記憶アレイ・ポートの独立した性質によって、記
憶アレイのある部分が非同期に満たされ、その間、記憶
アレイの他の部分が非同期に空にされることが可能であ
る。これは、2つの独立非同期データ・バス間の効果的
なデータ転送を提供し、データ・バスの1つまたは他、
または両方での「待ち状態」の発生を最小にする助けを
する。
本発明の他の実施例では、複数のデュアル・ポート記憶
機構が、非常に効率的かつ速い方法で、より広いデータ
・バスからより狭いデータ・バスへ、またはその逆に、
データを転送するために利用される。複数のデュアル・
ポート記憶機構は、調整されたピンポン・モードで動作
される。より広いデータ・バスから、またはそれへ転送
されるデータは、同時に、記憶アレイの対応する第1部
分へ記憶され、またはそれから読み取られる。より狭い
データ・バスへ、またはそれから転送されるデータは、
交互に1度に1記憶アレイずつ、記憶アレイの対応する
第2部分へ書き込まれ、またはそれから読み取られる。
したがって、最高データ転送速度は、2つの異なるデー
タ・バスの各々に準備される。
本発明を、そのさらに他の利点及び機能をより良く理解
するために、下記のように添付図面と照合して引用説明
し、本発明の範囲を添付された特許請求の範囲に示す。
D、実施例 第1図のデータ処理システムの説明 第1図に、本発明を利用できる代表的なディジタル・デ
ータ処理システムを示す。このシステムでは、本発明が
バス対バス・アダプタ装置1oの中で使用され、このア
ダプタ装置1oは、あルコンピュータから他のコンピュ
ータへ、またはその逆に、データを転送する目的のため
に、第1デイジタル・コンピュータ11を第2デイジタ
ル・コンピュータ12に結合するために使用される。コ
ンピュータAで示す第1デイジタル・コンピュータ11
は、処理装置13、記憶装置14、及び入出力(I 1
0)バス15を含み、後者は「バスA」テ示ス。コンピ
ュータBで示す第2デイジタル・コンピュータ12は、
処理装置16、記憶装置17、及び入出力(I 10)
バス18を含み、後者は「バスB」で示す。I10装置
19は、I10バスBに結合されて示されている。
処理装置13.16は、性質的には同じでも異なってい
てもよく、各々は、その該当コンピュータとして中央演
算処理装置(CPU)を表す。I10バス15.18の
各々は一般には、1組のデータ・バス線、1組のアドレ
ス・バス線、及び1組の制御バス線を含む。ある場合に
は、バス線の同じ組をデータとアドレスの両方のために
使用してもよく、これは時間多重法で行なわれる。
バス対バス・アダプタ1oは、ピンポン・データ・バッ
ファ装置20.制御権移動回路21、及びメツセージ・
バッファ22を含む。ピンポン・データ・バッファ2o
は、本発明に従って作られ、バスAのデータ線からバス
Bのデータ線へ、またはその逆に、データを転送するた
めに使用される。
したがって、開示された実施例のピンポン・データ・バ
ッファは性質的に両方向であるので、データはどの方向
に転送してもよい。制御権移動回路は、バスAとバスB
の制御線に結合され、2つのバスに必要な初期接続手順
を供給するために構築され、各バスはここでは非同期的
性質を有するものと仮定する。メツセージ・バッファ2
2+1tl的に2方向で、コマンド、状況及びアドレス
形式のメツセージをあるプロセッサから他のプロセッサ
に、またはこの逆に、転送するために使用される。制御
権移動回路21はまた、ピンポン・データ・バッファ装
置20及びメツセージ・バッファ220機能を、バスA
1Bに生ずる初期接続手順動作で調整する。
特定の適用例として、バス対バス・アダプタ10と第2
コンピユータ12はI10装置18をホスト・プロセッ
サに結合するためのI10アダプタ23を供給するため
に使用される。この場合、プロセッサ13はホスト・プ
ロセッサになり、記憶装置14はホスト・プロセッサ用
の主記憶装置になる。代表的なI10アダプタの場合に
は、プロセッサ16はマイクロプロセッサの形をとり、
この場合、バスBはマイクロプロセッサI10ノ(スと
なる。また同様な場合に、2つまたはそれ以上のI10
装置をバスBに結合してもよい。
第2図のデータ・バッファ実施例の説明第2図に、I1
0バスAのデータ・バス部分15aからI10バスBの
データ・バス部分18aへ、またはこの逆に、データを
転送するためのピンポン・データ・バッファ機構の、第
1実施例を示す。このデータ・バッファ機構は、データ
が2つのデータ・バス間のいずれかの方向に転送される
ことができる、2方向の特徴を有する。この第2図のデ
ータ・バッファ機構は、単一記憶アレイと、2つの独立
ポートを有して各ポートが固有のデータ、アドレス及び
制御線を持つデュアル・ポート記憶機構25を有する。
第3図に、−船釣なデュアル・ポート記憶機構の詳細を
示す。
第3図で、ここに示すデュアル・ポート記憶機構25は
、単一記憶アレイ26と、2つの独立I10ポートを有
して各ポートが固有のデータ、アドレス及び制御線を持
つ。第1独立ポートは、第3図では「左」ポートと呼び
、左ポートI10バッファ27、左ポート・アドレス復
号器28、及び左ポート読取り/書込み(R/W)論理
29を含む。左ポート用のデータ線30は、左ポートI
10バッファ270片側に接続され、一方、このバッフ
ァ27の他の側は、記憶セル・アレイ26内部の内部デ
ータ線の第1セツトにデータ線31によって接続されて
いる。左ポート用のアドレス線32は、左ポート・アド
レス復号器28に接続され、この出力部は記憶アレイ2
6中の内部アドレス線の第1セツトに接続されている。
左ポート用の制御線33は、左ポート読取り/書込み論
理29に接続されている。このR/W論理28は、書込
み制御信°号または読取り制御信号のいずれかを7くツ
ファ27がデータを転送する方向を決定するために、左
ポートI10バッファ27に送る。バッファ27は2方
向性である。書込み制御線が活動状態の時、バッファ2
7は、記憶アレイ26に記憶するために、データをデー
タ線30からデータ線31に転送する。反対に、読取り
制御線が活動状態の時、バッファ27はデータをデータ
線31からデータ線30に転送する。
デュアル・ポート記憶機構25の第2独立I10ポート
は、ここでは「右」ポートと呼ばれる。
この右ポートは、右ポートI10バッファ34、右ポー
ト・アドレス復号器35、及び右ポート読取り/書込み
(R/W)論理36を含む。右ポート用のデータ線37
は、右ポートI10バッファ34の片側に接続され、一
方、このバッファ34の他の側は、記憶アレイ26内の
内部データ線の第2セツトにデータ線38によって接続
されている。右ポート用のアドレス線39は、右ポート
・アドレス復号器35に接続され、この出力部は記憶ア
レイ26中の内部アドレス線の第2セツトに接続されて
いる。右ポート用の制御線40は、右ポート読取り/書
込み論理36に接続されている。
このR/W論理36は、書込み制御信号または読取り制
御信号のいずれかを、書込みポー)I10バッファ34
に送る。書込みポートI10バッファ84は2万同性で
ある。書込み制御線が活動状態の時、バッファ34は、
記憶アレイ2Bに記憶するために、データをデータ線3
7からデータ線38に供給する。反対に、読取り制御線
が活動状態の時、右ポートI10バップア34はデータ
をデータ線38からデータ線37に転送する。
第3図のダッシュ線ボックス25内に使用された注解と
凡例は、デュアル・ポート記憶機構25内で利用可能な
機能を参照し、これはデュアル・ポート記憶機構25が
使用できる特定の適用とは関係はない。この関係から、
C8はチップ選択を示し、WEは書込み使用可能を示し
、OEは出力使用可能を示し、そしてMSBは最上位ビ
ットを示す。ダッシュ線ボックス25の外側に示される
凡例を識別する線は、第2図に示される特定の適用に関
係する。
第3図の左ポート装置及び右ポート装置は、互いに独立
して動作する。両ポートは、同時に記憶アレイ26にア
クセスしてもよい。したがって、左ポートは記憶アレイ
26にデータを書き込んでいるか、またはそこからデー
タを読み取っており、それと同時に、右ポートは記憶ア
レイ26にデータを書き込んでいるか、そこからデータ
を読み取っている場合もある。
第2図の実施例では、左ポートは記憶アレイ26へのデ
ータ書込みに供され、右ポートは記憶アレイ26からの
データ読取りに供される。書込み専用は、書込みストロ
ーブ信号を、左ポートR/W論理29のチップ選択(C
8)と書込み使用可能(WE)入力部に供給することに
よって達成される。この結果、左ポートI10バッファ
27への書込み制御信号線のみが割込み可能にされるこ
とになる。読込み専用は、読込みストローブ信号を、右
ポートR/W論理36のチップ選択(C8)と出力使用
可能(WE)入力部に供給することによって達成される
。この結果、右ポートI10バッファ34への読込み制
御信号線のみが割込み可能にされることになる。したが
って第2図の実施例では、左ポート・データ線30はデ
ータ入力のみに使用され、一方、右ポート・データ線3
7はデータ出力のみに使用される。
後でわかるように、デュアル・ポート記憶機構25は外
部回路によって操作されるので、記憶アレイ26は第1
部分41と第2部分42を供給する結果となり、この1
つはデータ書込みに使用され、他の1つはデータ読取り
に使用され、そしてその逆の場合もある。これは、2つ
のアドレス復号器28.35の最上位ピッ)(MSB)
入力アドレス行の適切な操作によって引き起こされる。
これは2進法1の値が読取りアドレスMSB線39aに
置かれた時にはいつでも、書込みアドレスMSB線32
aに2進法0の値を置くことによって、達成され、また
その逆の場合もある。MSBアドレス行上の2進法値O
は、関連するアドレス復号器を、記憶アレイ26のため
のアドレス範囲の下半分にアドレス指定させる。2進法
1の値がMSBアドレス行上に現れると、関連するアド
レス復号器は、記憶アレイ26のためのアドレス範囲の
上半分にアドレス指定する。左ポート復号器28につい
ては、残りのアドレス行32bは、MSB線32a上の
2進数値によって選択されるように、記憶アレイ26の
下半分41または上半分42にいずれかに、色々な個別
のアドレス線をアドレス指定するために使用される。同
様な方法で、右アドレス復号器35のための他のアドレ
ス線39bが、MSB線39a上の2進数値によって決
定されるように、下半分41または上半分42にいずれ
かで、色々なアドレス行をアドレス指定するために使用
される。
第3図に示す内部構造を有するデュアル・ポート記憶機
構は、現在市場で入手可能である。1つのこの種のデュ
アル・ポート記憶機構は、米カリフォルニア州すンノゼ
の富士通マイクロエレクトロニクス社の集積回路部門に
よって販売されている。他のこの種のデュアル・ポート
記憶機構は、米カリフォルニア州すンタクララのインチ
グレイテッド・デバイス社によって販売されている。こ
うして市場に出ているように、これらの機構は、デュア
ル・ポートRAMまたはデュアル・ポート・ランダム・
アクセス・メモリとして参照されることがある。
第2図のデータ・バッファ機構も、データをデータ・バ
ス15 all 8 aの1つから受け取ってそれを記
憶アレイ26の第1部分(たとえば下部分41)に記憶
するための、デュアル・ポート記憶機構25の独立ポー
トの第1ポート(左ポート)に結合された、書込み回路
を含む。この書込み回路は、データ・バス15as18
aの1つから、デュアル・ポート記憶機構25の第1ポ
ートのデータ線30にデータを供給するための、データ
入力回路を含む。このデータ入力回路は、バスAデータ
・バス15atたはバスBデータ・バス18aのいずれ
かから、第1ポート・データ線30へのデータ転送を選
択的に割込み可能にするための、データ入力多重回路を
含む。このデータ入力多重回路は、バスAデータ線15
aを第1ポート・データ線30に結合するレシーバ回路
43と、バスBデータ線18aを上記と同じ第1ポート
・データ線30に結合するレシーバ回路44を含む。
レシーバ回路43は、第1方向制御信号ABによるデー
タ転送目的のために割込み可能にされ、一方、レシーバ
回路44は、第2指示制御信号BAによるデータ転送目
的のために割込み可能にされる。AB制御信号は、デー
タがバスAからバスBに転送されようとする時は活動状
態であり、BA制御信号は、逆方向に、すなわちデータ
がバスBからバスAに転送されようとする時は活動状態
である。これらの方向制御信号は、第1図の制御権移動
回路21に位置する方向制御ラッチ(図示せず)によっ
て供給される。この方向制御ラッチは、プロセッサ13
.16の1つによって初期化され、データ転送方法を確
立する。AB倍信号BA倍信号、決して同時に活動状態
にはならない。
したがって、どの瞬間でもデータ・バス15a118a
のただ1つが、デュアル・ポート記憶機構25のデータ
入力線30にデータを供給することができる。レシーバ
回路43かレシーバ回路44のいずれかが割込み可能に
されない時には、それらの出力線はトリステート状態、
すなわち高いインピーダンス条件に置かれている。
第2図の書込み回路はさらに、デュアル・ポート記憶機
構25の第1ポートの複数アドレス線32bへマルチビ
ット・アドレスを供給するための、入力アドレス・カウ
ンタ回路を含む。この入力アドレス・カウンタ回路は、
マルチビット入力アドレス・レジスタ45とマルチビッ
ト2進加算機構回路46を含む。通常は、入力アドレス
・レジスタ45は、ゼロ・カウント条件に初期化される
アドレス・レジスタ45におけるカウント値は、加算機
構46の第1人力部に供給される。数値Nは、加算機構
46の第2人力部に供給され、アドレス・レジスタ・カ
ウント値に加えられる。数値Nは、記憶アレイ26中の
任意の記憶線にデータを書き込む間に、記憶アレイ26
に送られた、データのバイト数を表す。加算機構46の
出力部に現れる新しいまたは次の記憶アドレスは、デー
タが記憶アレイ26中の現在アドレス指定されている線
に書き込まれた後やがて、入力アドレス・レジスタ45
に戻されてロードされる。こうして、レジスタ45中の
入力アドレス値は、データ行が記憶アレイ26に書き込
まれる度に、増分されるか更新される。
第2図の書込み回路はさらに、デュアル・ポート記憶機
構25の第1ポートの制御線33の少なくとも1つにス
トローブ信号を供給して、記憶アレイ26に書き込もう
とする入力データ線30にデータを発生させるためのス
トローブ回路を含む。
この書込みストローブ回路は、Aプロセッサ13によっ
て開始されたストローブA信号、またはBプロセッサ1
6によって開始されたストローブB信号のいずれかを選
択するためのマルチプレクサ回路47を含む。使用すべ
きどのストローブB信号を選択するかは、マルチプレク
サ47に供給されたAB方向制御信号によって決定され
る。AB倍信号活動状態の場合には、ストローブA信号
が選択され、書込みストローブ制御線33に供給される
。一方、AB倍信号活動状態でない場合には、代わりに
ストローブB信号が選択され、書込みストローブ制御線
33に供給される。こうして、書込みストローブ信号が
、記憶アレイ26に書き込まれるデータを供給している
プロセッサから得られる。
使用中のプロセッサの特定の形式に依存して、ストロー
ブA信号がバスA中の制御線の1つから、または交互に
第1図の制御権移動回路21から直接得られる。後者の
場合には、制御権移動回路21は、バスA中の1つまた
は複数の制御線に接続された回路を含み、バスA上の適
切な制御信号に応答し、そして第2図のデータ・バッフ
ァに送られるストローブA信号を発生する。同様な考察
がストローブB信号に適用される。
第2図の書込み回路はさらに、選択された書込みストロ
ーブ信号を入力アドレス・レジスタ45中のカウント値
を更新するための、入力アドレス・レジスタ45のカウ
ント更新線48に供給するための回路を含む。これらの
書込みストローブ信号は、アドレスが変わる前に入力デ
ータ線30上のデータが記憶アレイ26に固有に書き込
まれることを保証するに十分な僅かな量によって、入力
アドレス・レジスタ45の更新を遅らせる、遅延回路4
9を用いて、カウント更新線48に供給される。カウン
ト更新線48上のストローブ信号の出現によって、入力
アドレス・レジスタ45にロードされるべき加算機構4
6の出力部に、次のアドレスが現れることになる。
第2図のデータ・バッファ機構はさらに、データを記憶
アレイ26の第2部分(たとえば上部分42)に送り、
それをデータ・バス15a118aの他に供給するため
の、デュアル・ポート記憶機構25の独立ポート第2に
結合された、読取り回路を含む。この場合の他のデータ
・バスは、データをアレイ26の入力データ線30に供
給するために使用されていないものである。アレイ26
の第2部分からのこのようなデータ読取りは、アレイ2
6の第1部分へのデータ記憶と同時に起こる。
この読取り回路は、データを、デュアル・ポート記憶機
構25の第2ポートのデータ線37から、それをデータ
・バス15a118aの他に供給するための、データ出
力回路を含む。この読取り回路は、データをデータ出力
線37から、バスAデータ・バス15aまたはバス日デ
ータ・バス18aのいずれかに選択的に伝送するための
、データ出力多重回路を含む。この多重回路は、ドライ
バ回路50とドライバ回路51を含み、これらはそれぞ
れ、データ出力線37をデータ・バス15a及び18a
の該当するものに結合する。ドライバ回路50は、方向
制御信号BAによって活動化され、活動化されると、記
憶アレイ出力データをデータ・バス15aに供給する曇
きをする。一方、ドライバ回路51は、方向制御信号A
Bによって活動化され、活動化されると、記憶アレイ出
力データをバス日データ・バス18aに供給する働きを
する。
これらの方向制御信号ABとBAの1つだけが、任意に
与えられた瞬間に活動状態となる。AB倍信号、データ
がバスAからバスBへ転送されている時に活動状態とな
り、逆に、BA倍信号、データがバスBからバスAへ転
送されている時に活動状態となる。
データがバスAからバスBへ転送されている時、レシー
バ回路43とドライバ回路51は活動化される。したが
って、バスA上のデータはレシーバ43を介して記憶ア
レイ28に記憶され、ドライバ51によって第2バス、
バスBに供給される。
逆に、データがバスBからバスAへ転送されている時、
レシーバ回路44とドライバ回路50は活動化される。
この場合、バスBからのデータは記憶アレイ26に記憶
され、データはレシーバ回路44を介して記憶アレイ2
8の外に読み出され、ドライバ回路50によって他のバ
スに、この場合はバスAに供給される。こうして、第2
図のデータ・バッファ機構は2方向的である。
第2図の読取り回路はまた、マルチビット・アドレスを
デュアル・ポート記憶機構25の第2ポートの多重アド
レス線39bへ供給するための、出力アドレス・カウン
タ回路を含む。この出力アドレス・カウンタ回路は、マ
ルチビット出力アドレス・レジスタ52とマルチビット
2進加算機構回路53を含む。まず、出力アドレス・レ
ジスタ52は、たとえば、ゼロの出発アドレス値を含む
ためにリセットされる。この初期出発アドレスは、入力
アドレス・レジスタ45用の初期出発アドレスと同じも
のでなければならない。このアドレス値は、加算機構5
3の第1人力部に供給される。
数値Nは、加算機構53の第2人力部に供給される。こ
の値Nは、記憶アレイ26の任意の単一アクセス中にこ
の記憶アレイ26から読み出されたデータのバイト数を
表す。加算機構53の出力は、出力アドレス・レジスタ
52に戻されて供給され、次のアドレス値をこのような
レジスタ52に供給する。この次のアドレス値は、現ア
ドレス用のデータが記憶アレイ26から読み出されると
すぐに、レジスタ52にロードされる。こうして、レジ
スタ52中のアドレスは、次のデータ行が記憶アレイ2
6から読み出されるので、連続的に更新される。
第2図の読取り回路はさらに、ストローブ信号を、デュ
アル・ポート記憶機構25の第2ポートの制御線40の
少なくとも1つに供給して、記憶アレイ26から読み出
すようにするめための、ストローブ回路を含む。このス
トローブ回路は、ストローブA信号とストローブB信号
との間で選択し、選択された信号を第2ポートの制御線
40に供給するための、マルチプレクサ回路54を含む
マルチプレクサ回路54は、方向制御信号ABによって
制御される。ストローブA線とストローブB線は、書込
みストローブ用のマルチプレクサ47と比較すると、マ
ルチプレクサ54の反対出力部に接続される。したがっ
て、データがバスAからバスBへ転送されている場合に
は、ストローブB信号が選択され、制御線40に供給さ
れ、読取りストローブ信号を提供する。逆に、データが
バスBからバスAへ転送されている場合には、方向制御
信号ABは不活動状態であり、選択され、ストローブA
線がマルチプレクサ54によって選択され、読取りスト
ローブ信号を提供する。こうして、記憶アレイ26に供
給された読取りストローブ信号は、記憶アレイ26から
読み出されるデータを受け取るべきプロセッサによって
提供される。
第2図の読取り回路はまた、選択された読取りストロー
ブ信号を出力アドレス・レジスタ52のカウント更新線
55に供給し、このレジスタ52のカウント値を更新す
るための回路を含む。特に、カウント更新線55上のス
トローブ信号の出現は、加算機構53に出力部に現れる
次のアドレス値が出力アドレス・レジスタ52のロード
される原因となる。読取りストローブ信号は、アドレス
・レジスタ52の更新における僅かな遅延をもたらす遅
延回路56を用いて、カウント更新線65に供給され、
現在アドレス用のデータが正しく記憶アレイ26から読
み出されたことを確証する。
第2図のバッファ機構はさらに、記憶アレイ26の第1
部分と第2部分41.42の機能を相互交換するための
、書込み回路と読取り回路に結合された、モード制御論
理58を含むので、第1データ・バスからのデータは、
アレイ26の対向部分に記憶され、一方、データが他の
対向部分から読み取られており、データ・バス15a1
18aの第2部分に供給される。このモード制御論理は
、対向する複数出力線61.62の対を有する2状態ラ
ッチ回路60を含み、その1つ(線61)は、デュアル
・ポート記憶機構25の読込みポート用の最上位ビット
・アドレス線39aに接続され、他(線62)は、デュ
アル・ポート記憶機構25の書込みポート用の最上位ビ
ット・アドレス線32aに接続される。第4図の表は、
このモード・ラッチ60についての動作状態を示す。そ
こに示すように、出力線6L62は、常に互いに反対極
性にある。出力線61(Q出力)が2進ルベルにあると
、他の出力線62(回出力)は2進Oレベルにある。逆
に、出力線61(Q出力)が0レベルにある場合には、
他の出力線62は2進ルベルにある。
モード・ラッチ出力線61は、本実施例で読取りを行な
うために使用されるポートのための、MSBアドレス線
39aに接続されている。一方、他のモード・ラッチ出
力線62は、本実施例で書込みを行なうために使用され
る記憶ポートのための、MSBアドレス線32aに接続
されている。
最上位ビット(MSB)アドレス線は、記憶アレイ26
の上半分と下半分42.41のどちらがアドレス指定さ
れているかを判定するので、またモード・ラッチ出力線
61.62が常に反対極性にあるので、これは、書込み
機能は、読込み機能のために使用されているのとは異な
った、上部分と下部分42.41の1つについて常に発
生することになる、ということを意味する。この方法で
のモード・ラッチ60の使用は、任意の時間に記憶アレ
イ26の同じ部分に読取りと書込みの両方を行なうこと
を不可能にする。これは、デュアル・ポート記憶機構2
5における競合の問題を、任意の時に記憶アレイ26の
同じ記憶線への読取りと書込みアクセスの両方を防止す
ることによって、除去する。これは、デュアル・ポート
記憶機WI25におけるアクセス調停回路の必要性を除
去する。市販のデュアル・ポート記憶機構が使用されて
おり、そのような機構がアクセス調停回路を含む場合に
は、このような回路は本実施例では使用されない。
記憶アレイ26の下部分と上部分41.42の読取り機
能と書込み機能は、時々前後に交換されるので、データ
・バスの1つからのデータは下部分41に、それから交
互に上部分に書き込まれ、一方、読み出されて他のデー
タ・バスに供給されたデータは、上部分42に、それか
ら交互に下部分から読み取られ、これは記憶アレイ26
にデータを書き込むために使用されたものとは反対であ
る。さらに詳しくは、モード制御論理58は、書込み回
路と読取り回路に結合されたフル/空論理回路を含み、
上及び下記憶アレイ部分の1つがフル・データになり、
上及び下記憶アレイ部分の他の1つが空データになった
時に、2状態モード・ラッチ60を切り替える。
このフル/空論理回路は、ピン・フル・ラッチ63とボ
ン・フル・ラッチ64を含む。ピン・フル・ラッチの6
3セツト(S)入力部は、AND回路65の出力部に接
続され、AND回路65の入力部は、モード・ラッチ出
力線61とAND回路66の出力部に接続される。AN
D回路66の複数の入力部は、入力アドレス・レジスタ
(IAR)45に含まれた多重ビット・アドレス値を受
け取る。AND回路66の出力部は、IAR45のアド
レス・カウントがその最大値に達すると、活動状態(2
進ルベル)になる。これが起こると、アドレス・レジス
タ45のすべての出力線は2進ルベルにあり、これはA
ND回路66を活動化し、その出力部に2進ルベルを生
成する。
したがって、AND回路66の出力部における2進ルベ
ルは、IAR45はその最大(MAX)カウント値にあ
ることを示す。
この入ってくる最大アドレス値のためのデータがアレイ
26に記憶された後、入力アドレス・レジスタ45は、
自動的にその初期開始値に巻上げまたは巻戻しされる。
これは、レジスタ45を、ピン動作モード及びボン動作
モードの次の開始のための、開始アドレス準備のために
リセットされる。
モード・ラッチ60がピン・モード(「ピン」バッファ
部分41が書き込まれている)にある時を想定すると、
このIAR最大値の発生は、ピン・バッファ部分41が
フルであることを示す。これらの2つの条件(ピン・モ
ード及びIAR=MAX)の発生は、AND回路がピン
・フル・ラッチ63をセット条件に切り替える役目をす
る2進ルベル出力信号を生成する原因となる。この条件
は、ピン・バッファ部分41がデータでフルであること
を示す。この条件では、ラッチ63のQ出力部は2進ル
ベルにあり、夏出力部は2進0レベルにある。
ピン・フル・ラッチ63は、ピン・バッファ部分41の
データが空になると、リセットされる。
この目的のために、ラッチ63のリセット(R)入力部
は、AND回路67の出力部に接続され、これは、その
2つの入力部で、モード・ラッチ出力線62とAND回
路68からの出力線を受け取る。AND回路68の複数
の入力線は、出力アドレス・レジスタ(OAR)52に
含まれたマルチビット・アドレス値を受け取る。AND
回路88の出力線は、0AR52内のアドレス・カウン
トがその最大(MAX)カウント値に達すると、2進ル
ベルへ行く。この最大アドレス値は、2進ルベルにある
0AR52内のすべてのビットによって示される。この
最大カウント値の発生は、読み取られている記憶アレイ
部分内のすべてのアドレス線がアクセスされていること
を示し、この記憶アレイ部分が空データであること、さ
らに詳しくは、その部分の中のデータがすべて読み取ら
れたこと、を意味するものである。
データ・バッファがボン・モード(ピン・バッファ部分
41が読み取られている)にある時を想定すると、モー
ド・ラッチ出力線62は2進ルベルにある。0AR52
アドレス・カウントが、ピン・バッフ1部分41の読取
りが完了したことを示す、その最大値に達すると、AN
D88の出力は2進ルベルに行き、AND67の出力も
同様に2進ルベルに行く。後者の事象はピン・フル・ラ
ッチ63をリセットする。ラッチ63におけるこのリセ
ット状態の発生は、ピン・バッファ部分41が空データ
であることを示すものである。
この時点で、ラッチ63のQ出力はルベルに行き、百出
力はOレベルに行く。
ボン・フル・ラッチ64は、記憶アレイ26のボン・バ
ッファ部分42に同じ形式の機能を提供する。ボン・フ
ル・ラッチ64は、ボン・バッファ部分42がフル・デ
ータになると、セラ) (S)状態(Q出力の高さ)に
切り替えられる。これはAND回路69によって達成さ
れ、その入力部は、モード・ラッチ出力線62とAND
回路66の出力線に接続される。ボン・フル・ラッチ6
4は、ボン・バッファ部分42が空データになると、リ
セット(R)状態(百出力の高さ)に切り替えられる。
これはAND回路70によって達成され、その入力部は
、モード・ラッチ出力線61とAND回路68の出力線
に接続される。
第2図のフル/空論理回路はさらに、次の3つの条件の
発生によってモード・ラッチ60をセット(S)状態(
ピン・モード)に切り替えるAND回路71を含む。す
なわち(1)バッファがボン・モードにある、(2)ピ
ン・バッファ部分41が空である、そして(3)ボン・
バッファ部分42がフルである。この3条件の同時発生
は、AND71の出力が2進ルベルに行き、これがモー
ド・ラッチ60をセットすなわちピン・モードに切り替
える原因となる。
一方、AND回路72は、モード・ラッチ60をボン・
モード状態にリセットする。詳しくは、モード・ラッチ
60は、次の3つの条件の発生によってリセット(R)
される。すなわち(1)バッファがピン・モードにある
、(2)ピン・バッファ部分41がデータ・フルである
、そして(3)ボン・バッファ部分42がデータ空であ
る。この3条件の同時発生によって、AND回路72の
出力が2進ルベルに行き、モード・ラッチ60をリセッ
トしで、それをボン・モードにする。
第2図のデータ・バッファ機構はまた、A及びBプロセ
ッサ13.18(第1図)用のデータ要求信号を生成す
るための、要求論理回路73を含む。この要求論理73
は、モード・ラッチ60、ピン・フル・ラッチ63、及
びボン、・フル費ラッチ64から入力信号を受け取る。
それぞれの場合に、両ラッチ出力は要求論理73に送ら
れる。要求論理73についての代表的な実施例の詳細を
第5図に示す。
第5図に、第2図の要求論理73について内部構造の代
表形状をより詳しく示す。第5図の要求論理の実施例は
、示された方法で相互接続されたAND回路75〜78
、OR回路79〜80、AND回路81〜84、及びO
R回路85〜85を含む。AND回路75〜78の入力
部は、第2図のモード・ラッチ60、ピン・フル・ラッ
チ63、及びボン・フル・ラッチ64の出力部に接続さ
れる。OR回路85.8Bの出力部は、それぞれプロセ
ッサA及びプロセッサBのためのデータ転送要求を提供
する。
データがバスAからバスBへ転送されている時、AND
回路81へのAB方向制御信号線の活動化は、回路75
.76.79.81によって生成しようとするプロセッ
サA要求信号を割込み可能にする。この場合、プロセッ
サAへの要求は次の2つの条件のうちの1つが発生する
と、生成される。
すなわち(1)バッファ機構がピン・モードにあり、ピ
ン・バッファ部分41はフルではない、(2)バッファ
機構がボン・モードにあり、ボン・バッファ部分42は
フルではない。
データがバスBからバスAへ転送されている時、方向制
御信号BAは活動状態で、AND回路82の1つの入力
部を割込み可能にする。これによって、A信号線(OR
85の出力部)への要求はAND回路77.78及びO
R回路80によって制御されるようになる。詳しくは、
A信号線への要求は、次の2つの条件のうちの1つが発
生すると、活動化されることになる。すなわち(1)バ
ッファ機構がピン・モードにあり、ボン・バッファ部分
42はフルである(さらに正確には空でない)、(2)
バッファ機構がボン・モードにあり、ピン・バッファ部
分41はフルである(さらに正確には空でない)。
Bデータ転送要求信号については、データがバスBから
バスAへ転送されている場合には、AND回路83の1
つの入力部は、そのような入力部に送られるBA方向制
御信号によって活動化される。これによって、B出力線
への要求はAND回路75.7B及びOR回路79によ
って制御できるようになる。BA活動状態によって、B
信号線への要求は、次の2つの条件のうちの1つが発生
すると、活動化されることになる(2進ルベル)。すな
わち(1)バッファがピン・モードにあり、ピン・バッ
ファ部分41はフルではない、(2)バッファ機構がボ
ン・モードにあり、ピン・バッファ部分42はフルでは
ない。
一方、データがバスAからバスBへ転送されている場合
には、AB倍信号活動状態であり、AND回路84への
1つの入力部を活動化する。これによって、B出力線へ
の要求はAND回路77.78及びOR回路80によっ
て制御できるようになる。この場合、B線への要求は、
次の2つの条件のうちの1つが発生すると活動化される
ことになる。すなわち(1)ピン・モード及びボン・バ
ッファ部分42はフルである(空でない)か、または(
2)ボン・モード及びピン・バッファ部分41はフルで
ある(空でない)。
書き込まれているバッファ部分がさらにデータを有しく
フルではない)、読み取られているバッファ部分が空で
はない時、転送要求信号が生成される。これらのデータ
転送要求信号は、制御権移動回路21(第1図)に送ら
れ、これはバスA1Bのそれぞれの適切な制御線上に対
応する要求信号を生成する。
第2図のデータ・バッファ機構の一般的な動作をこれか
ら考察する。データ転送動作の開始時に、モード・ラッ
チ60はピン・モードにセットされ、ピン・フル・ラッ
チ63及びボン・フル・ラッチ64はそれらのリセット
状態にリセットされ、そして入力アドレス・レジスタ4
5及び出力アドレス・レジスタ52はそれらの初期開始
アドレス値にリセットされる。これらの両アドレス・レ
ジスタ45.52は、同じ初期開始アドレス値にリセッ
トされなければならない。また、制御権移動回路21に
おける方向制御ラッチは、データ転送の所望方向に従っ
てセットされ、方向制御信号AB1BAの適切な1つを
活動化する。さらに−船釣な場合では、色々なラッチ及
びアドレス・レジスタの初期設定は、プロセッサAまた
はプロセッサBのいずれかによって行なわれる。いくつ
かの適用業務では、この初期設定責任はプロセッサの特
定の1つに割り当てられる。
データがバスAからバスBへ転送されると想定して、モ
ード・ラッチ60はピン・モードで開始し、プロセッサ
Aはデータ・バス15aを介してデータを送ることを開
始して、それを記憶アレイ26のピン・バッファ部分4
1にストローブする。
ピン・バッファ部分41がフル・データになると、モー
ド・ラッチ60はボン・モードに切り替えられ、プロセ
ッサAはデータをボン・バッファ部分42にストローブ
し始める。この実行中、プロセッサBはデータをピン・
バッファ部分41にストローブし始め、それをプロセッ
サBデータ・バス18a上に送り出す。データがすべて
ピン・バッファ部分41から読み出され、そしてボン・
バッファ部分42がデータで満たされると、モード・ラ
ッチ60はピン・モードに戻るように切り替えられる。
次に、プロセッサAはデータをピン・バッファ部分41
に書き込み始め、プロセッサBはデータをボン・バッフ
ァ部分42から読み取り始め、この過程は、ピン・バッ
ファ部分41が再びフルになり、ボン・バッファ部分4
2が再び空になるまで続く。この時点で、モード・ラッ
チ60はボン・モードに戻るように切り替えられ、ボン
・モード動作が繰り返される。このピン・モードとボン
・モードの間の前後切替えは、問題にしている特定デー
タ転送動作のためのデータがすべてバスAからバスBへ
転送されるまで続く。
逆方向の、すなわちバスBからバスAへのデータ転送動
作の場合には、バスBによって供給されるデータは、ピ
ン・バッファ部分41がフルになるまで、それに書き込
まれる。次に、バッファ機構はボン・モードに切り替え
られ、バスB上に受け取られたデータはボン・バッファ
部分42に書き込まれ、同時にデータはピン・バッファ
部分41から読み取られ、バスAに送られる。このピン
・モードとボン・モードの間の前後切替えは、上記のよ
うに、転送しようとするデータがすべてバスBからバス
Aへ転送されるまで続く。
第6図のデータ・バッファ実施例の説明第6図に、本発
明によるデータ・バッファ機構の第2の実施例を示す。
この実施例は、バスAデータ・バスとバスBデータ・バ
スが同幅でない、すなわち同じデータ線数を持たない場
合に有用である。例示のために、バスAデータ・バス1
5 a 4116本のデータ線を有し、一方バスBデー
タ・バス18aは32本のデータ線を有する、と想定す
る。したがって、バスAデータ・バス15 a ハ16
ビツト(2バイト)のデータを同時に転送でき、一方バ
スBデータ・バス18aは32ビツト(4バイト)のデ
ータを同時に転送できる。この場合、データ・バス18
aはより広いデータ・バスを有シ、データ・バス15a
はより狭いデータ・バスを有する。
説明を簡単にするために、第6図でも第2図におけると
同じ要素は、第2図と同じ参照番号で識別される。
第6図の実施例のデータ・バッファ機構は、複数のデュ
アル・ポート記憶機構を含み、各デュアル・ポート記憶
機構は、単一の記憶アレイ、及び、個別データ、アドレ
ス及び制御線を有する2つの独立ポートを有する。第6
図の実施例では、2つのデュアル・ポート記憶機構88
.89がある。
これらのデュアル・ポート記憶機構88.89の各々は
、第3図に示すように、同じ内部構造を有する。このよ
うに、第1デユアル・ポート記憶機構88は、下部アド
レス範囲部分91(ピン・バッファ)と上部アドレス範
囲部分92(ボン・バッファ)を含む単一内部記憶アレ
イ90を含む。第2デユアル・ポート記憶機構89は、
下部アドレス範囲部分94(ピン・バッファ)と上部ア
ドレス範囲部分95(ボン・バッファ)を含む単一内部
記憶アレイ93を含む。この例では、各記憶アレイ90
.93は、16ビツトの入出力データを持つと想定する
。言い換えれば、各記憶アレイ90.93の各アドレス
可能記憶線は16ビツトのデータを記憶することができ
る。したがって、任意の所与のアクセス中に、16ビツ
トのデータを記憶アレイ90.93の各々に書き込み、
またはそこから読み取ることができる。
データが16ビツト・データ・バス15a上に受け取ら
れている時、データは記憶アレイ90.93に交互に記
憶される。バス15a上に現れる最初の2バイト(16
ビツト)は第17レイ90に記憶され、第2の2バイト
(16ビツト)は第2アレイ93に記憶され、第3の2
バイト(16ビツト)は第17レイ90に記憶され、第
4の2バイト(16ビツト)は第27レイ93に記憶さ
れ、以下同様である。言い換えれば、バス15a上に入
ってくる16ビツト・データは、2つの記憶アレイ90
.93の異なった1つに交互に記憶される。
データが32ビツト・データ・バス18a上に受け取ら
れている時、データは記憶アレイ90183に同時に記
憶される。さらに詳しくは、任意の所与の時にバス18
a上に現れるデータの高位の16ビツトは、記憶アレイ
9oに記憶され、同時に下位の16ビツトは記憶アレイ
93に記憶される。
この動作を達成するために、データ・バッファ機構は、
32ビツト・バス18aからの同時転送または16ビツ
ト・バス15aからの1アレイ−時転送のいずれかを選
択的に割込み可能にするための、データ入力多重化回路
を含む。この入力多重化回路は、上記のレシーバ・回路
43.44と、さらにマルチプレクサ回路96.97を
含む。16ビツト・バス15a上に受け取られたデータ
を記憶する時、レシーバ回路43は割込み可能にされ、
マルチプレクサ96.97はその左側の入力位置にセッ
トされるので、16ビツト・ データ・バス98は、記
憶アレイ90と第1記憶アレイ93双方の16ビツト・
データ入力部に同時に送られる。バス98上のデータは
、書込みストローブ信号信号(WSI)によって記憶ア
レイ90にストローブされ、書込みストローブ信号信号
(WS2)によって第2記憶アレイ93にストローブさ
れ、両ストローブ信号はストローブ論理99によって供
給される。これらのストローブ信号WS1、WS2は時
間的に隔置されているので、バス15aに現れる第1、
第3、第5などの16ビツト・セグメントは第1記憶ア
レイ90にストローブされ、バス16aに現れる第2、
第4、第6などの16ビツト・セグメントは第2記憶ア
レイ93にストローブされる。これは、入ってくるデー
タ・セグメントを整理するので、データ・セグメントは
第17レイ90と第27レイ93に交互に記憶される。
32ビツト・バス18a上に受け取られたデータを記憶
する時、レシーバ回路44は割込み可能にされ、マルチ
プレクサ回路96.97はその右側の入力位置にセット
される。バス18aの32本のデータ線は、バス18a
に現れる32ビツト・データ・セグメントの、より高位
の16ビツトの組を搬送する16本のデータ線の糾10
1と、より低位の16ビツトを搬送する16本のデータ
線の組102を含む。バス101上のより高位の16ビ
ツトは、マルチプレクサ96によって、第1記憶アレイ
90のデータ入力線に供給され、一方間時に、バス10
2上のより低位の16ビツトは、マルチプレクサ97に
よって、第2記憶アレイ93のデータ入力線に供給され
る。したがって、バス18a上の32ビット全部は、ア
レイ90.93によって供給される記憶アレイ・セット
に、同時に記憶され、書き込まれる。
データを記憶アレイ90.93から読み出し、16ビツ
ト・バス15aに供給する時、これは交互に1度に1つ
のアレイで行なわれる。記憶アレイ90と93との間の
選択は、マルチプレクサ回路103によって達成される
。この場合、ドライバ回路50は割込み可能にされて、
データを16ビツト・バス15aに渡す。最初の16ビ
ツト・セグメントは記憶アレイ90から得られ、16ビ
ツト・バス104とマルチプレクサ回路103によって
16ビツト・バス15aに供給される。第2の16ビツ
ト・セグメントは記憶アレイ93から得られ、16ビツ
ト・バス105とマルチプレクサ回路103によって1
8ビツト・バス15aに供給される。第3の16ビツト
・セグメントは記憶アレイ90から得られ、第4の16
ビツト・セグメントは記憶アレイ93から得られ、以下
同様で、次々に16ビツト・セグメントが交互に記憶ア
レイ90と記憶アレイ93とから得られる。
データを記憶アレイ90.93から読み出し、32ビツ
ト・バス18aに供給する時、このような読取りと供給
は同時に行なわれる。この場合、両アレイ90.93は
同時にアクセスされ、より高位の16ビツトをバス10
4上に、より低位の16ビツトとをバス105上に同時
に供給する。
両バス104.105のデータ・ビットは、この時に割
込み可能にされるドライバ回路51によって、32ビツ
ト・データ・バス18aに同時に送られる。
データのアレイ90.93への記憶(書込み)及びデー
タのアレイ90.93からの読取りは、第2図の実施例
ですでに説明したピン・ボン法で行なわれる。第6図の
実施例では、2つの記憶アレイ90.93が、ピン・ボ
ン動作と同時に動作される。モード論理58の出力線6
1上のピン・モード制御信号は、アレイ90.93の各
々の最上位ビット(MSB)読込みアドレス線に供給さ
れる。一方、モード論理58の出力線62上のボン・モ
ード制御信号は、アレイ90.93の各々のMSB書込
みアドレス線に供給される。第6図のモード論理58は
、第2図のモード論理58と同じ構造を持つ。
記憶アレイ90.93は、ピン・モードとボン・モード
との間で同時に前後に切り替えられる。ピン・モードで
は、入ってくるデータは2つのアレイの下アドレス部9
L94に書き込まれ、そして両アレイの上アドレス部9
2.95から同時に読み取られ、または読み取ることが
できる。逆に、第6図のデータ・バッファがボン・モー
ドにアルと、入ってくるデータは上アドレス部92.9
5に書き込まれ、両アレイ90.93の下アドレス部9
L94から同時に読み取られ、または読み取ることがで
きる。
入力アドレス・レジスタ45と出力アドレス・レジスタ
52の増分と更新は、第2図に説明したものに比べて、
わずかに改造されている。詳しくは、加算機構4B、5
3の各々は、データ転送方向によって、2のカウントま
たは4のカウントのいずれかによってアドレス値を更新
することができる。データがバスAからバスBへ送られ
ている場合には、IAR45中のアドレスは、16ビ。
ト(2バイト)のデータ記憶アレイ90.93の1つの
記憶される度に、2のカウントだけ増加される。同時に
、0AR52中のアドレスは、32ビツト(4バイト)
のデータが記憶アレイ90.93から読み取られ、32
ビツト・バス18aに送られる度に、4のカウントだけ
増加される。これは、加算機構46の+2人力と加算機
構53の+4人力を活動化するAB方向制御信号の活動
状況によって達成される。
データを逆方向に、すなわちバスBからバスAへ送る場
合には、BA方向制御信号は活動状態にあって、加算機
構46の+4人力と加算機構53の+2人力を活動化す
る。したがって、IARアドレスは、32ビツトのデー
タが記憶アレイ90.93に読み込まれる度に、4のカ
ウントだけ増加され、OARアドレスは、16ビツトの
データが記憶アレイ90193から読み取られる度に、
2のカウントだけ増加される。
第7図には、入力アドレス・レジスタ45と出力アドレ
ス・レジスタ52の各々に使用できる、最初の12のア
ドレス値の表を示す。これらのアドレス・レジスタ45
.52の各々は、データ・アドレスのトラックをバイト
に抑えておく。2つの記憶アレイ90、θ3は1度に4
バイトのデータを効果的に準備するので、2つの最下位
アドレス・ビットは、記憶アレイ90.93をアドレス
指定するためには物理的に使用されない。これらの2つ
の最下位ビットは、第7図のLSB (最下位ビット)
列とLSB+1列に現れる。見出し「バッファ・アドレ
ス」の下に現れる残りのより高位のアドレス・ビットの
みは、記憶アレイ90.93の読取り線及び書込み線に
供給される。入力アドレス・レジスタ45中の、これら
のより高位のアドレス・ビットが、たとえばro 00
0Jの値を有する時は、ピン・モードを想定して、最下
行(行0)は、2つのピン・バッフym分91.94の
各々にアクセスされる。一方、バッファ機構がボン・モ
ードである場合には、最下行は2つのボン・バッファ部
分92.95の各々にアクセスされる。
第7図に見るように、LSB+1アドレス・ビットは、
2つの記憶アレイ90.93のどちらが16ビツト・バ
ス15aへの、またはそこからの16ビツト転送のため
に使用されるべきかを、区別するために使用できる。し
たがって、たとえば、出力アドレス・レジスタ(OAR
)52中のLSB+1ビットは、マルチプレクサ103
に供給され、2つの16ビツト入力バス104.105
のどちらがマルチプレクサ103の16ビツト出力バス
に結合されるべきか、を選択する。LSB+1ビットが
Oの2進数値を有する場合には、16ビツトのデータは
左記憶アレイ90から読み取られ、バス104とマルチ
プレクサ103とによって16ビツト・バス15aに供
給される。一方、LSB+1ビットが1の値を有する場
合には、16ビツトのデータは右記憶アレイ93から読
み取られ、バス105とマルチプレクサ103とによっ
て16ビツト・バス15aに供給される。
第8図には、第6図のストローブ論理99のための代表
的内部構造を、より詳しく示す。このストローブ論理9
9は、ストローブA信号とストロープB信号、及び方向
制御信号ABを受け取る。これはまた、入力アドレス・
レジスタ(IAR)45からのLSB+1アドレス・ビ
ット信号を入力線106に受け取る。これはさらに、出
力アドレス・レジスタ(OAR)52からのLSB+1
アドレス・ビット信号を入力線107に受け取る。
マス、バスAからバスBへのデータ転送の場合を考えて
、方向制御信号ABは活動状態である。
これは、マルチプレクサ回路108〜111をそれらの
左手の入力位置にセットする。これは、AND回路11
2.113を介して供給されるストローブA信号を割込
み可能にさせ、書込みストローブ信号WS1、WS2を
生成する。これはさらに、マルチプレクサ110.11
1の左手入力部に供給されるストローブB信号を割込み
可能にさせ、読取りストローブ信号R81、R82を発
生する。
したがって、各ストローブB信号は、R81とR82の
両読取りストローブ信号を同時に生成する。
このため、データは再記憶アレイ90.93から同時に
読み取られ、32ビツト・バス18aに供給される。
一方、書込みストローブWS1、WS2は、2つの記憶
アレイ90.93の間で前後に相互切替えされる必要が
ある。これは、入力アドレス・レジスタ45からのLS
B+1アドレス・ビットを使用することによって達成さ
れる。詳しくは、LSB+1ビットがゼロの2進数値を
有する場合は、このゼロ値はNOT回路11Bによって
逆転され、AND回路112の第2人力部を割込み可能
にする出力1値を生成する。この場合、各ストローブA
信号は、AND112とマルチプレクサ108によって
供給され、データを左記憶アレイ90にストローブする
WS1書込みストローブを生成する。
一方、線ioa上のLSB+1アドレス・ビットが2進
数の1の値を有する場合は、他のAND回路113は割
込み可能にされ、AND回路113とマルチプレクサ1
09によってストローブA信号を渡し、右記憶アレイ9
3に供給されるWS2書込みストローブを生成する。こ
の場合、バス98上(第6図)の16ビツトのデータは
右記憶アレイ93に記憶される。こうして、16ビツト
・バス15aから受け取られたデータの書込みは、入力
アドレス・レジスタ45からのLSB+1アドレス・ビ
ットの制御の下で、左アレイ90と右アレイ93との間
で前後相互に切り替わる。
逆方向、すなわちバスBからバスAへのデータ転送の場
合には、方向制御信号ABは非活動状態で、マルチプレ
クサ回路108〜111はそれらの右手入力位置を想定
する。この場合、各ストローブB信号は、マルチプレク
サ108.109によって供給され、WSlとWS2の
両書込みストローブを同時に生成する。したがって、3
2ビツト・バス18aからのデータは、記憶アレイ90
198の両方に同時に記憶される。
R8I読込みストローブとR82読込みストローブは、
出力アドレス・レジスタ52によって入力線107に供
給されるLSB+1アドレス・ビットの選択制御の下で
、ストローブA信号によって生成される。このLSB+
1アドレス・ビットがゼロである場合は、このようなゼ
ロ値はNOT回路117によって逆転され、AND回路
114を割込み可能にし、ストローブA信号をマルチプ
レクサ110に渡し、その出力部でR81を読取りスト
ローブを生成する。このR3I読取りストローブは、1
6ビツトのデータを左記憶アレイ90がらストローブす
る。
線107上のり、SB+1アドレス・ビットが1である
場合は、AND115は割込み可能にされ、ストローブ
A信号をマルチプレクサ111に渡し、その出力線上に
R82読取りストローブ信号を生成する。このR82読
取りストローブは、16ビツトのデータを右記憶アレイ
93からストローブする。こうして、2つのアレイ90
.93からのストローブすなわち読取りは、1度に1ア
レイがら交互に行なわれる。
第9図に、記憶アレイ90,93からデータを読み出す
ためと、その16ビツト・データ・バス15aへの転送
のためのタイミング図を示す。間隔AO,At、A2な
どは、データ・アクセス間隔の役割を表し、その時点で
データが記憶アレイ90.93からアクセスされる。間
隔TO,Tl、T2などは、データがマルチプレクサ1
03によって16ビツト・データ・バス15aへ転送さ
れるときの間隔を表す。文字Aはアクセスを、文字Tは
転送を示す。番号011.2.3などは、含まれる特定
の16ビツト・データ・セグメントを示す。第9図はま
た、R81ストロ一ブ信号とR32ストロ一ブ信号を示
す。図に見るように、これらはインタリーブされた方式
で発生する。
第9図に見るように、左アレイ90からのデータ・セグ
メント0のアクセスは、読込みストローブ#1の発生中
に発生する。マルチプレクサ103による、このデータ
・セグメントOの転送は、発生読込みストローブ#2の
発生中に発生する。
次のデータ・セグメント01すなわち右アレイ93から
のデータ・セグメント1のアクセスは、読込みストロー
ブ#2の間に発生する。このデータ・セグメント1は、
次の読込みストローブ#1の間にマルチプレクサ103
によって転送される。この過程は、第9図に示した方式
で繰り返される。
第9図で注目すべき重要な特色は、(最初のアクセスA
Oを除いて)左アレイ90からのデータのアクセスは、
第27レイ93から得られるデータの転送によってオー
バラップされ、逆も同じであることである。したがって
、無駄な時間はない。
このため、16ビツト・データ・バス15a上の「待ち
状態」の発生を防ぎ、バスBからバスAへの高いデータ
流量の維持を支援する。
書込みストローブWS1、WS2、及び読取りストロー
ブR8I、R82も、入力アドレス・レジスタ45及び
出力アドレス・レジスタ52をそれぞれ更新するために
使用される。さらに詳しくは、WS1ストローブとWS
2ストローブは、OR回路118と遅延回路49によっ
て、入力アドレス・レジスタ45のカウント更新線に供
給される。WSlとWS2の両方が同時に発生する場合
には、アドレス・レジスタ45のただ1つの更新のみが
発生する。WSIとWS2が異なった時間に発生する場
合には、各々がアドレス・レジスタ45の更新を生成す
る。
このような方式で、R81読取りストローブとR82読
取りストローブは、OR回路119と遅延回路56によ
って、出力アドレス・レジスタ52のカウント更新線に
供給される。R8IとR32の両方が同時に発生する場
合には、アドレス・レジスタ52のただ1つの更新のみ
が発生する。
それらが異なった時間に発生する場合には、各々がアド
レス・レジスタ52の更新を生成する。
第1図のシステムがダッシュ線で示した方法でI10ア
ダプタを供給するために使用される場合については、プ
ロセッサAはホスト・プロセッサとなり、プロセッサB
は、最も確からしくはマイクロプロセッサである。この
場合、第6図のバスAとバスBの役割は、最も確からし
くは、交換される必要がある。換言すれば、この適用の
ために、左から入ってくる16ビツト・データ・バスは
、バスBとして識別されるべきであり、また、右から入
ってくる32ビツト・データ・バスは、バスAとして識
別されるべきである。この理由は、ホスト・プロセッサ
が多くの場合、32ビツト・バスを有するものであり、
マイクロ・プロセッサが16ビツト・バスを有すること
である。方向依存信号の他の対のラベル付け(ストロー
ブAとストローブB1ABとBAl及びAへの要求とB
への要求)も、交換される必要がある。これはもちろん
単にラベルの変更であり、上記の第6図の実施例の動作
を変更するものではない。
第10図のプログラム式バースト長機構の説明第10図
に、データが離散的順次バーストで1つのデータ・バス
から他のデータ・バスへ転送される適用業務において有
利に使用できる、追加の機構を示すが、この場合、各バ
ーストはほとんど最大の所定のデータ量(最大バイト数
)を持っている。第10図は、この機構を第6図の実施
例に適用されたものとして示すが、第2図の実施例にも
同様に適用可能である。第10図は、第6図の入力及び
出力アドレス回路部分を示し、対応する要素は第6図で
使用するものと同じ参照番号によって識別される。
第10図の新しい特徴は、書込みアドレス回路と読取り
アドレス回路に結合されたプログラム式バースト長回路
の準備であり、これは、記憶アレイ90.93の上部分
と下部分に記憶される最大データ量を制限して、この量
を転送中のデータ・バースト用の所定の最大量に等しく
するためである。この回路は、加算機構回路48.53
の各々に接続され、そこへ最大バースト長バイト値を供
給するプログラム式バースト長レジスタ120によって
代表される。
たとえば、転送中のデータ用の最大バースト長を64バ
イトと想定する。この場合、一般のデータ転送動作につ
いては、データは1つのバスから他のバスへ一連の64
バイト・バーストで転送される。
バースト長レジスタ120の目的は、入力アドレス・レ
ジスタ45を操作することで、このためそれは、アレイ
90.93のビン・バッファ部分91.94を、64バ
イトのすべてがこれらの2つのビン・バッファ部分9L
94(各々32バイト)に記憶されてしまうと、データ
・フルであるとして示す。同様に、データがボン・バッ
ファ部分92.95へ書き込まれていると、入力アドレ
ス・レジスタ45は、64バイトのすべてがこれらのボ
ン・バッファ部分に記憶されてしまうと、バッファ・フ
ル条件を生成する。
バースト長レジスタ120はまた、出力アドレス・レジ
スタ52を操作して、64バイトがビン・バッファ部分
91.94またはボン・バッファ部分92.95のいず
れかから読み取られた時、バッファ空の条件(OAR=
MAX)を生成する。こうして、モード論理58(モー
ド・ラッチ60)は、64バイトのデータが受け取られ
、第2データ・バスに転送された度に切り替えられる。
バースト長レジスタはプログラミング可能で、そこにセ
ットされる最大バースト長の値は変更することができ、
データ・バッファ機構が使用されている特定のデータ処
理システムを準備する。データが64バイト・バースト
に転送されている場合には、64のカウント値がバース
ト長レジスタ120にロードされる。一方、データが3
2バイト・バーストに転送されている場合には、32の
カウント値がバースト長レジスタ120にロードサレる
。言い換えれば、バースト長レジスタ120にロードさ
れたカウント値は、転送中のバースト長に対応させられ
る。加算機構46.53の各々について、バースト長レ
ジスタ120中のカウント値は、書き込まれるか読み取
られる多くのデータが転送中のデータ・バーストの最大
数に等しくなると、最大アドレス値(全1)が関連アド
レス・レジスタによって生成されるような方法で、加算
機構によって加算されている他の数に加えられる。
所望のバースト長の値は、制御権移動回路21(第1図
)によって、各データ転送動作の開始時に、バースト長
レジスタ120にロードされる。
ある動的システムでは、このバースト長の値は、プロセ
ッサAまたはプロセッサBの1つまたは他によって、制
御権移動回路21に供給される。
このプログラム式バースト機構は、データが離散的マル
チバイトで転送されるデータ処理システムにおいて、デ
ータ転送動作の効率を最大化するように割込み可能にす
る。
E0発明の効果 以上のように本発明によればデータ・バス間のデータ転
送を効率的に実行することが可能となる。
【図面の簡単な説明】
第1図は、本発明を利用することのできる代表的なディ
ジタル・データ処理システムの概略ブロック図である。 第2図は、本発明によって構成されたビンボン・データ
・バッファ機構の第1実施例を示す、概略ブロック図で
ある。 第3図は、第2図の実施例で使用することのできる典型
的なデュアル・ポート記憶機構の内部構造を、より詳し
く示す図である。 第4図は、第2図で、使用されるモード制御論理の動作
を説明する図である。 第5図は、第2図の要求論理の内部構造をより詳しく示
す図である。 第6図は、本発明によって構成されたピンポン・データ
・バッファ機構の第2実施例の構造を示すもので、この
実施例は色々な幅を有するデータ・バスの場合に特に有
用である、概略ブロック図である。 第7図は、第6図の実施例でのアドレス指定動作を説明
する図である。 第8図は、第6図のストローブ論理の内部構造をより詳
しく示す図である。 第9図は、第6図の実施例の動作の部分を説明するのに
使用されるタイミング図である。 第10図は、第2図または第6図のいずれかの実施例で
使用できる、プログラム可能なバースト長機能の設備を
示す図である。

Claims (20)

    【特許請求の範囲】
  1. (1)1つの記憶アレイ及び個別のデータ線、アドレス
    線、制御線を有する2つの独立ポートを持つデュアル・
    ポート記憶機構と、 第1バスからデータを受け取り、それを記憶アレイの第
    1部分に記憶するための、独立ポートの1つに結合され
    た書込み回路と、 記憶アレイの第2部分からデータを読み取り、それを第
    2データ・バスに供給するための、その第2部分からの
    読取りが記憶アレイの第1部分へのデータ記憶と同時に
    発生する、独立ポートの他の1つに結合された読取り回
    路と、 第1データ・バスからのデータが第2部分に記憶される
    間に、データが第1部分から読み取られて第2データ・
    バスに供給されるように、記憶アレイの第1部分と第2
    部分の機能を交換するための、書込み回路と読取り回路
    に結合されたモード制御論理 を含む、第1データ・バスから第2データ・バスへデー
    タを転送するためのデータ・バッファ機構。
  2. (2)記憶アレイの第1部分と第2部分に機能が時々前
    後に交換され、1回の交換が、1つの記憶アレイ部分が
    データ・フルになり、他の記憶アレイ部分がデータ空に
    なるときに発生する、請求項1に記載のデータ・バッフ
    ァ機構。
  3. (3)次のデータ転送モード、すなわち(1)書込み回
    路に結合された第1データ・バス及び読取り回路に結合
    された第2データ・バス、(2)書込み回路に結合され
    た第2データ・バス及び読取り回路に結合された第1デ
    ータ・バスの1つを選択的に割込み可能にするための多
    重回路をさらに含み、 これによって、データ・バッファ機構が2方向動作を割
    込み可能にして、こうしてデータが、任意のデータ転送
    動作中に、第1データ・バスから第2データ・バスへ、
    またはその逆に転送されることができる、 請求項1に記載のデータ・バッファ機構。
  4. (4)データは第1データ・バスから第2データ・バス
    へ順次バーストで転送され、各バーストは多くて最大所
    定データ量を含み、 そして、データ・バッファ機構はさらに、記憶アレイの
    第1部分と第2部分に記憶される最大データ量を制限し
    て、その量をデータ・バースト用の最大所定量に等しく
    するための、書込み回路に結合されたプログラム式バー
    スト長回路を含む、請求項1に記載のデータ・バッファ
    機構。
  5. (5)モード制御論理が、 互いに反対極性の出力線の対を有し、その1つがデュア
    ル・ポート記憶機構の1つのポート用の最上位ビット・
    アドレス線に結合され、他の1つがデュアル・ポート記
    憶機構の他のポート用の最上位ビット・アドレス線に結
    合され、この場合、任意の時に記憶アレイの同じ部分へ
    の書込みと読取りの両アクセスを防止することによって
    回線争奪を除去する、2状態ラッチ回路と、 書込み回路と読込み回路に結合され、1つの記憶アレイ
    部分がデータ・フルになり、他の記憶アレイ部分がデー
    タ空になるときに、2状態ラッチ回路を切り替えるため
    のフル/空論理回路 を含む、請求項1に記載のデータ・バッファ機構。
  6. (6)書込み回路は、データを第1データ・バスからデ
    ュアル・ポート記憶機構の第1ポートのデータ線に供給
    するためのデータ入力回路、マルチビット・アドレスを
    第1ポートのアドレス線に供給するための入力アドレス
    ・カウンタ回路、及びデータを、記憶アレイに書き込む
    ための第1ポートの制御線と、その中のカウント値を更
    新するための入力アドレス・カウンタ回路のカウント更
    新線に、ストローブ信号を供給するためのストローブ回
    路を含み、 読取り回路は、データをデュアル・ポート記憶機構の第
    2ポートのデータ線から第2データ・バスに供給するた
    めのデータ出力回路、マルチビット・アドレスを第2ポ
    ートのアドレス線に供給するための出力アドレス・カウ
    ンタ回路、及びデータを、記憶アレイから読み取るため
    の第2ポートの制御線と、その中のカウント値を更新す
    るための出力アドレス、カウンタ回路のカウント更新線
    に、ストローブ信号を供給するためのストローブ回路を
    含む、 請求項1に記載のデータ・バッファ機構。
  7. (7)入力アドレス・カウンタ回路が、マルチビット・
    アドレスを、第1ポートの最上位ビット・アドレス線以
    外の、第1ポートのアドレス線に供給し、 出力アドレス・カウンタ回路は、マルチビット・アドレ
    スを、第2ポートの最上位ビット・アドレス線以外の、
    第2ポートのアドレス線に供給し、モード制御論理は、
    互いに反対極性の出力線の対を有する2状態ラッチ回路
    を含み、その1つは第1ポート用の最上位ビット・アド
    レス線に結合され、他の1つは第2ポート用の最上位ビ
    ット・アドレス線に結合され、この場合、任意の時に記
    憶アレイの同じ部分への書込みと読取りの両アクセスを
    防止することによって回線争奪を除去し、モード制御論
    理はさらに、入力アドレス・カウンタ回路と出力アドレ
    ス・カウンタ回路に結合されて、1つの記憶アレイ部分
    がデータ・フルになり、他の記憶アレイ部分がデータ空
    になるときに、2状態ラッチ回路を切り替えるための、
    フル/空論理回路を含む、 請求項6に記載のデータ・バッファ機構。
  8. (8)次のデータ転送モード、すなわち(1)データ入
    力回路に結合された第1データ・バス及びデータ出力回
    路に結合された第2データ・バス、及び(2)データ入
    力回路に結合された第2データ・バス及びデータ出力回
    路に結合された第1データ・バス、の1つを選択的に割
    込み可能にするための多重回路をさらに含み、 これによって、データ・バッファ機構が2方向動作を割
    込み可能にして、こうしてデータが、任意のデータ転送
    動作中に、第1データ・バスから第2データ・バスへ、
    またはその逆に転送されることができる、 請求項7に記載のデータ・バッファ機構。
  9. (9)それぞれが1つの記憶アレイ及び個別のデータ線
    、アドレス線、制御線を有する2つの独立ポートを持つ
    、複数のデュアル・ポート記憶機構と、データ・バスの
    1つからデータを受け取り、それを異なった記憶アレイ
    の第1部分に記憶するための、各デュアル・ポート記憶
    機構の第1独立ポートに結合された書込み回路と、 異なった記憶アレイの第2部分からデータを読み取り、
    それを別のデータ・バスに供給するための、その第2部
    分からの読取りが記憶アレイの第1部分へのデータ記憶
    と同時に発生する、各デュアル・ポート記憶機構の第2
    独立ポートに結合された読取り回路と、 第1データ・バスからのデータが第2部分に記憶される
    間に、データが第1部分から読み取られて別のデータ・
    バスに供給されるように、記憶アレイの第1部分と第2
    部分の機能を交換するための、書込み回路と読取り回路
    に結合されたモード制御論理 を含む、第1データ・バスから第2データ・バスへデー
    タを転送するためのデータ・バッファ機構。
  10. (10)それぞれが1つの記憶アレイ及び個別のデータ
    線、アドレス線、制御線を有する2つの独立ポートを持
    つ、複数のデュアル・ポート記憶機構と、より広いデー
    タ・バスからデータを受け取り、同時にその別の部分を
    別の記憶アレイの第1部分に記憶するための、各デュア
    ル・ポート記憶機構の第1独立ポートに結合された書込
    み回路と、異なった記憶アレイの第2部分からデータを
    読み取り、データを順次に別の第2部分からより狭いデ
    ータ・バスに供給するための、その第2部分からの読取
    りが記憶アレイの第1部分へのデータ記憶と同時に発生
    する、各デュアル・ポート記憶機構の第2独立ポートに
    結合された読取り回路と、より広いデータ・バスからの
    データが第2部分に記憶される間に、データが第1部分
    から読み取られてより狭いデータ・バスに供給されるよ
    うに、記憶アレイの第1部分と第2部分の機能を交換す
    るための、書込み回路と読取り回路に結合されたモード
    制御論理 を含む、より広いデータ・バスからより狭いデータ・バ
    スへデータを転送するためのデータ・バッファ機構。
  11. (11)記憶アレイの第1部分と第2部分の機能が時々
    前後に交換され、第1部分がデータ・フルになり、第2
    部分がデータ空になるとき、及びその逆のときに、1回
    の交換が発生する、請求項10に記載のデータ・バッフ
    ァ機構。
  12. (12)それぞれが1つの記憶アレイ及び個別のデータ
    線、アドレス線、制御線を有する2つの独立ポートを持
    つ、複数のデュアル・ポート記憶機構と、より狭いデー
    タ・バスからデータを受け取り、同時にその別の部分を
    別の記憶アレイの第1部分に記憶するための、そのよう
    なデータのセグメントが第1部分の異なったものに順次
    記憶される、各デュアル・ポート記憶機構の第1独立ポ
    ートに結合された書込み回路と、 異なった記憶アレイの第2部分から同時にデータを読み
    取り、データを同時により広いデータ・バスに供給する
    ための、その第2部分からの読取りが記憶アレイの第1
    部分へのデータ記憶と同時に発生する、各デュアル・ポ
    ート記憶機構の第2独立ポートに結合された読取り回路
    と、 より狭いデータ・バスからのデータが第2部分に記憶さ
    れる間に、データが第1部分から読み取られてより広い
    データ・バスに供給されるように、記憶アレイの第1部
    分と第2部分の機能を交換するための、書込み回路と読
    取り回路に結合されたモード制御論理 を含む、より狭いデータ・バスからより広いデータ・バ
    スへデータを転送するためのデータ・バッファ機構。
  13. (13)記憶アレイの第1部分と第2部分の機能が時々
    前後に交換され、第1部分がデータ・フルになり、第2
    部分がデータ空になるとき、及びその逆のときに、1回
    の交換が発生する、請求項12に記載のデータ・バッフ
    ァ機構。
  14. (14)それぞれが1つの記憶アレイ及び個別のデータ
    線、アドレス線、制御線を有する2つの独立ポートを持
    つ、複数のデュアル・ポート記憶機構と、データ・バス
    の1つからデータを受け取り、別の記憶アレイの第1部
    分に記憶するための、各デュアル・ポート記憶機構の第
    1独立ポートに結合された書込み回路と、 異なった記憶アレイの第2部分から同時にデータを読み
    取り、データ・バスの他の1つに供給するための、その
    第2部分からの読取りが記憶アレイの第1部分へのデー
    タ記憶と同時に発生する、各デュアル・ポート記憶機構
    の第2独立ポートに結合された読取り回路と、 1つのデータ・バスからのデータが第2部分に記憶され
    る間に、データが第1部分から読み取られて他の1つの
    データ・バスに供給されるように、記憶アレイの第1部
    分と第2部分の機能を交換するための、書込み回路と読
    取り回路に結合されたモード制御論理と、 次のデータ転送モード、すなわち(1)より広いデータ
    ・バスからすべてのデュアル・ポート記憶機構の第1ポ
    ート・データ線へのデータ同時転送、及び(2)より狭
    いデータ・バスからデュアル・ポート記憶機構の第1ポ
    ート・データ線の各組への、1度に1組ずつ順次に行な
    うデータ同時転送、の1つを選択的に割込み可能にする
    ための、データ入力多重化回路を含む書込み回路 を含む、より広いデータ・バスからより狭いデータ・バ
    スへ、またはその逆に、データを転送するためのデータ
    ・バッファ機構。
  15. (15)読取り回路が、次のデータ転送モード、すなわ
    ち(1)すべてのデュアル・ポート記憶機構の第2ポー
    ト・データ線からより広いデータ・バスへのデータ同時
    転送、及び(2)デュアル・ポート記憶機構の第2ポー
    ト・データ線の各組から、より狭いデータ・バスへ1度
    に1組ずつ順次に行なうデータ同時転送、の1つを選択
    的に割込み可能にするためのデータ入力多重化回路を含
    む、請求項14に記載のデータ・バッファ機構。
  16. (16)データ入力多重化回路とデータ出力多重化回路
    とのデータ転送モードを調整して、前者にモード(1)
    を、後者にモード(2)を、及びその逆を選択させるた
    めの、制御回路 をさらに含む、請求項15に記載のデータ・バッファ機
    構。
  17. (17)記憶アレイの第1部分と第2部分の機能が時々
    前後に交換され、第1部分がデータ・フルになり、第2
    部分がデータ空になるとき、及びその逆のときに、1回
    の交換が発生する、請求項16に記載のデータ・バッフ
    ァ機構。
  18. (18)データが1つのデータ・バスから他の1つのデ
    ータ・バスへ順次バーストで転送され、各バーストは多
    くて最大所定データ量を含み、 そして、データ・バッファ機構はさらに、記憶アレイの
    第1部分と第2部分に記憶される最大データ量を制限し
    て、その量をデータ・バースト用の最大所定量に等しく
    するための、書込み回路に結合されたプログラム式バー
    スト長回路を含む、請求項16に記載のデータ・バッフ
    ァ機構。
  19. (19)モード制御論理が、 互いに反対極性の出力線の対を有し、その1つがデュア
    ル・ポート記憶機構の1つのポート用の最上位ビット・
    アドレス線に結合され、他の1つがデュアル・ポート記
    憶機構の他のポート用の最上位ビット・アドレス線に結
    合され、この場合、任意の時に記憶アレイの同じ部分へ
    の書込みと読取りの両アクセスを防止することによって
    回線争奪を除去する、2状態ラッチ回路と、 第1記憶アレイ部分がデータ・フルになり、第2記憶ア
    レイ部分がデータ空になるとき、及びその逆になるとき
    、2状態ラッチ回路を切り替えるための、書込み回路と
    読込み回路に結合されたフル/空論理回路 を含む、請求項16に記載のデータ・バッファ機構。
  20. (20)第1記憶アレイ及び第2記憶アレイと、データ
    を第1データ・バスから受け取って、第1記憶アレイ及
    び第2記憶アレイに記憶して、1つの記憶アレイには偶
    数番号のデータ・セグメントが記憶され、他の1つの記
    憶アレイには奇数番号のデータ・セグメントが記憶され
    るようにするための、書込み回路と、 データを第1記憶アレイ及び第2記憶アレイから読み取
    るための読取り回路であって、この読取り回路は、第1
    記憶アレイと第2記憶アレイに交互にアクセスして順次
    に連続したデータ・セグメントを読み出して使用可能に
    するためのアクセス回路を含み、そして第1記憶アレイ
    と第2記憶アレイから第2データ・バスへデータ・セグ
    メントを交互に転送するための出力多重化回路を含み、
    この転送はアクセスに対してオフセットされ、このため
    1つのデータ・セグメントが第2データ・バスに転送さ
    れている間に、次のデータ・セグメントがその記憶アレ
    イからアクセスされる、上記の読取り回路 を含む、第1データ・バスから第2データ・バスへデー
    タを転送するためのデータ・バッファ機構。
JP2215114A 1989-09-05 1990-08-16 データ転送システム Expired - Lifetime JPH0650495B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/402,935 US5224213A (en) 1989-09-05 1989-09-05 Ping-pong data buffer for transferring data from one data bus to another data bus
US402935 1989-09-05

Publications (2)

Publication Number Publication Date
JPH0399353A true JPH0399353A (ja) 1991-04-24
JPH0650495B2 JPH0650495B2 (ja) 1994-06-29

Family

ID=23593871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2215114A Expired - Lifetime JPH0650495B2 (ja) 1989-09-05 1990-08-16 データ転送システム

Country Status (5)

Country Link
US (1) US5224213A (ja)
EP (1) EP0416281B1 (ja)
JP (1) JPH0650495B2 (ja)
BR (1) BR9004386A (ja)
DE (1) DE69032384T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008489A (ja) * 2009-06-25 2011-01-13 Seiko Epson Corp 集積回路システム、データ書き込み方法、データ読み出し方法
CN112352227A (zh) * 2018-07-17 2021-02-09 Wago管理有限责任公司 用于数据的缓冲传输的电路

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2776390B2 (ja) * 1989-11-30 1998-07-16 富士通株式会社 送信系及び受信系バスインタフェース
JP2962787B2 (ja) * 1990-08-10 1999-10-12 富士通株式会社 通信制御方式
GB9019022D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station or similar data processing system including interfacing means to microchannel means
WO1993009504A1 (en) * 1991-10-30 1993-05-13 I-Cube Design Systems Inc. Field programmable circuit board
CA2080210C (en) * 1992-01-02 1998-10-27 Nader Amini Bidirectional data storage facility for bus interface unit
US5450546A (en) * 1992-01-31 1995-09-12 Adaptec, Inc. Intelligent hardware for automatically controlling buffer memory storage space in a disk drive
US5440691A (en) * 1992-02-27 1995-08-08 Digital Equipment Corporation, Pat. Law Group System for minimizing underflowing transmit buffer and overflowing receive buffer by giving highest priority for storage device access
JPH07504773A (ja) * 1992-03-18 1995-05-25 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
US5396597A (en) * 1992-04-03 1995-03-07 International Business Machines Corporation System for transferring data between processors via dual buffers within system memory with first and second processors accessing system memory directly and indirectly
US5768548A (en) * 1992-04-15 1998-06-16 Intel Corporation Bus bridge for responding to received first write command by storing data and for responding to received second write command by transferring the stored data
US5467295A (en) * 1992-04-30 1995-11-14 Intel Corporation Bus arbitration with master unit controlling bus and locking a slave unit that can relinquish bus for other masters while maintaining lock on slave unit
US5341474A (en) * 1992-05-15 1994-08-23 Bell Communications Research, Inc. Communications architecture and buffer for distributing information services
EP0574598A1 (de) * 1992-06-13 1993-12-22 International Business Machines Corporation Datenpufferspeicher
US5646745A (en) * 1992-07-13 1997-07-08 Mita Industrial Co., Ltd. Image data processing apparatus having line memory
US5745791A (en) * 1992-09-16 1998-04-28 Intel Corporation System for interfacing first and second components having different data path width by generating first and second component address to read data into buffer
TW276312B (ja) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
EP0596651A1 (en) * 1992-11-02 1994-05-11 National Semiconductor Corporation Network for data communication with isochronous capability
JP3264465B2 (ja) * 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
US5671445A (en) * 1993-07-19 1997-09-23 Oki America, Inc. Interface for transmitting graphics data to a printer from a host computer system in rasterized form
US5897667A (en) * 1993-11-16 1999-04-27 Intel Corporation Method and apparatus for transferring data received from a first bus in a non-burst manner to a second bus in a burst manner
US5771397A (en) * 1993-12-09 1998-06-23 Quantum Corporation SCSI disk drive disconnection/reconnection timing method for reducing bus utilization
GB2286910B (en) * 1994-02-24 1998-11-25 Intel Corp Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US5706443A (en) * 1994-05-11 1998-01-06 International Business Machines Corporation Method and apparatus for enabling pipelining of buffered data
US5696990A (en) * 1995-05-15 1997-12-09 Nvidia Corporation Method and apparatus for providing improved flow control for input/output operations in a computer system having a FIFO circuit and an overflow storage area
US5768624A (en) * 1996-02-28 1998-06-16 Opti Inc. Method and apparatus for employing ping-pong buffering with one level deep buffers for fast DRAM access
KR100189530B1 (ko) * 1996-05-21 1999-06-01 윤종용 마이크로 프로세서와 메모리간의 데이타 인터페이스 방법
US5805597A (en) * 1996-06-04 1998-09-08 National Semiconductor Corporation Method and apparatus for providing low power basic telephony type service over a twisted pair ethernet physical layer
US5987530A (en) * 1997-07-10 1999-11-16 National Instruments Coporation Method for caching data and generating only one read request to read the requested data and additional data in universal serial bus system
US6073205A (en) * 1997-07-10 2000-06-06 National Instruments Corporation System and method of write posting in a universal serial bus system
US6016522A (en) * 1997-11-13 2000-01-18 Creative Labs, Inc. System for switching between buffers when receiving bursty audio by computing loop jump indicator plus loop start address for read operations in selected buffer
US6363076B1 (en) * 1998-01-27 2002-03-26 International Business Machines Corporation Phantom buffer for interfacing between buses of differing speeds
US6097775A (en) * 1998-02-17 2000-08-01 Lsi Logic Corporation Method and apparatus for synchronously transferring signals between clock domains
US6456399B1 (en) * 1998-02-25 2002-09-24 Telenor Satellite Services, Inc. Buffer overflow and underflow control for facsimile transmission
KR100331330B1 (ko) * 1998-09-05 2002-09-05 삼성전자 주식회사 참조정보를저장하는방법및장치
US7356624B1 (en) * 1999-03-25 2008-04-08 Texas Instruments Incorporated Interface between different clock rate components
US6360290B1 (en) 1999-06-23 2002-03-19 United Technologies Corporation Commercial standard digital bus interface circuit
US6341318B1 (en) * 1999-08-10 2002-01-22 Chameleon Systems, Inc. DMA data streaming
US6507877B1 (en) * 1999-09-03 2003-01-14 Whamtech, Inc. Asynchronous concurrent dual-stream FIFO
US6615308B1 (en) * 1999-12-09 2003-09-02 Intel Corporation Method and apparatus for regulating write burst lengths
US6687803B1 (en) * 2000-03-02 2004-02-03 Agere Systems, Inc. Processor architecture and a method of processing
DE10050980A1 (de) * 2000-10-13 2002-05-02 Systemonic Ag Speicherkonfiguration mit I/O-Unterstützung
US6874043B2 (en) 2000-10-17 2005-03-29 Bridgeworks Ltd. Data buffer
GB0025495D0 (en) * 2000-10-17 2000-11-29 Digital Interfaces Ltd A data buffer
GB2371647B (en) * 2000-10-17 2002-12-31 Digital Interfaces Ltd A Data buffer
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
JP4017177B2 (ja) * 2001-02-28 2007-12-05 スパンション エルエルシー メモリ装置
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
US7065491B2 (en) * 2002-02-15 2006-06-20 National Central University Inverse-modified discrete cosine transform and overlap-add method and hardware structure for MPEG layer3 audio signal decoding
JP4198376B2 (ja) * 2002-04-02 2008-12-17 Necエレクトロニクス株式会社 バスシステム及びバスシステムを含む情報処理システム
US9330060B1 (en) * 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
ATE509459T1 (de) 2003-06-02 2011-05-15 Qualcomm Inc Erzeugung und umsetzung eines signalprotokolls und schnittstelle für höhere datenraten
GB0318384D0 (en) * 2003-08-06 2003-09-10 Ibm A storage controller and a method for recording diagnostic information
US8705571B2 (en) 2003-08-13 2014-04-22 Qualcomm Incorporated Signal interface for higher data rates
CA2538308C (en) 2003-09-10 2013-05-14 Qualcomm Incorporated High data rate interface
JP2007509533A (ja) 2003-10-15 2007-04-12 クゥアルコム・インコーポレイテッド 高速データレートインタフェース
AU2004307162A1 (en) 2003-10-29 2005-05-12 Qualcomm Incorporated High data rate interface
KR20060108709A (ko) 2003-11-12 2006-10-18 콸콤 인코포레이티드 향상된 링크 제어를 제공하는 고속 데이터 레이트인터페이스
EP1690404A1 (en) 2003-11-25 2006-08-16 QUALCOMM Incorporated High data rate interface with improved link synchronization
EP2247068B1 (en) 2003-12-08 2013-09-25 Qualcomm Incorporated High data rate interface with improved link synchronization
US20050144509A1 (en) * 2003-12-24 2005-06-30 Fernando Zayas Cache search accelerator method
EP2309695A1 (en) 2004-03-10 2011-04-13 Qualcomm Incorporated High data rate interface apparatus and method
KR20060130749A (ko) 2004-03-17 2006-12-19 퀄컴 인코포레이티드 고 데이터 레이트 인터페이스 장치 및 방법
US8645566B2 (en) 2004-03-24 2014-02-04 Qualcomm Incorporated High data rate interface apparatus and method
US20080301328A1 (en) * 2004-04-27 2008-12-04 Russ Craig F Method and system for improved communication between central processing units and input/output processors
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
ATE518343T1 (de) 2004-06-04 2011-08-15 Qualcomm Inc Schnittstellenvorrichtung und -verfahren für hohe datenraten
US7620530B2 (en) * 2004-11-16 2009-11-17 Nvidia Corporation System with PPU/GPU architecture
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8723705B2 (en) * 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US8692838B2 (en) * 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US20060161691A1 (en) * 2004-11-24 2006-07-20 Behnam Katibian Methods and systems for synchronous execution of commands across a communication link
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
JP4911027B2 (ja) * 2005-02-09 2012-04-04 日本電気株式会社 トグル型磁気ランダムアクセスメモリ及びトグル型磁気ランダムアクセスメモリの書き込み方法
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US7779174B2 (en) * 2006-11-03 2010-08-17 Samsung Electronics Co., Ltd. Method and apparatus for dynamically changing burst length using direct memory access control
DE102007005866B4 (de) * 2007-02-06 2021-11-04 Intel Deutschland Gmbh Anordnung, Verfahren und Computerprogramm-Produkt zum Anzeigen einer Folge von digitalen Bildern
US7995067B2 (en) * 2007-03-29 2011-08-09 Mobileye Technologies Limited Cyclical image buffer
US7945745B2 (en) * 2007-09-17 2011-05-17 General Electric Company Methods and systems for exchanging data
US7818470B2 (en) * 2007-09-27 2010-10-19 Integrated Device Technology, Inc. Adaptive interrupt on serial rapid input/output (SRIO) endpoint
US7805551B2 (en) * 2007-09-27 2010-09-28 Integrated Device Technology, Inc. Multi-function queue to support data offload, protocol translation and pass-through FIFO
US20090086750A1 (en) * 2007-09-27 2009-04-02 Integrated Device Technology, Inc. Non-Random Access Rapid I/O Endpoint In A Multi-Processor System
US7945716B2 (en) * 2007-09-27 2011-05-17 Integrated Device Technology, Inc. Serial buffer supporting virtual queue to physical memory mapping
US9047236B2 (en) * 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
US8996762B2 (en) * 2012-02-28 2015-03-31 Qualcomm Incorporated Customized buffering at sink device in wireless display system based on application awareness
US8938561B2 (en) * 2013-01-10 2015-01-20 Skymedi Corporation Time-sharing buffer access system
US10191871B2 (en) * 2017-06-20 2019-01-29 Infineon Technologies Ag Safe double buffering using DMA safe linked lists

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52105737A (en) * 1976-03-02 1977-09-05 Satsuporoshi Information repeater
JPS5563423A (en) * 1978-11-08 1980-05-13 Toshiba Corp Data transfer system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1162314A (en) * 1979-12-07 1984-02-14 Hideo Ota Data input/output method and system
US4455606A (en) * 1981-09-14 1984-06-19 Honeywell Information Systems Inc. Logic control system for efficient memory to CPU transfers
US4489381A (en) * 1982-08-06 1984-12-18 International Business Machines Corporation Hierarchical memories having two ports at each subordinate memory level
US4751671A (en) * 1983-02-14 1988-06-14 Prime Computer, Inc. Size configurable data storage system
US4571671A (en) * 1983-05-13 1986-02-18 International Business Machines Corporation Data processor having multiple-buffer adapter between a system channel and an input/output bus
US4716525A (en) * 1985-04-15 1987-12-29 Concurrent Computer Corporation Peripheral controller for coupling data buses having different protocol and transfer rates
US4805094A (en) * 1986-08-27 1989-02-14 American Telephone & Telegraph Company Multi-channel memory access circuit
JP2549642B2 (ja) * 1986-12-26 1996-10-30 株式会社東芝 画像処理装置
JPH01116861A (ja) * 1987-10-30 1989-05-09 Matsushita Graphic Commun Syst Inc データ転送システム
FR2623349A1 (fr) * 1987-11-18 1989-05-19 Alcatel Thomson Faisceaux Dispositif de retard d'au moins un train de donnees binaires a haut debit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52105737A (en) * 1976-03-02 1977-09-05 Satsuporoshi Information repeater
JPS5563423A (en) * 1978-11-08 1980-05-13 Toshiba Corp Data transfer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008489A (ja) * 2009-06-25 2011-01-13 Seiko Epson Corp 集積回路システム、データ書き込み方法、データ読み出し方法
CN112352227A (zh) * 2018-07-17 2021-02-09 Wago管理有限责任公司 用于数据的缓冲传输的电路

Also Published As

Publication number Publication date
EP0416281A3 (en) 1992-08-26
DE69032384D1 (de) 1998-07-16
EP0416281B1 (en) 1998-06-10
JPH0650495B2 (ja) 1994-06-29
EP0416281A2 (en) 1991-03-13
US5224213A (en) 1993-06-29
DE69032384T2 (de) 1999-02-18
BR9004386A (pt) 1991-09-10

Similar Documents

Publication Publication Date Title
JPH0399353A (ja) データ転送システム
US5261064A (en) Burst access memory
EP0714534B1 (en) Multiple-port shared memory interface and associated method
EP0481597B1 (en) Data processing system with memory controller for direct or interleave memory accessing
US6167491A (en) High performance digital electronic system architecture and memory circuit therefor
US5778419A (en) DRAM with high bandwidth interface that uses packets and arbitration
US4507731A (en) Bidirectional data byte aligner
WO1993011496A1 (en) Input/output system for parallel processing arrays
EP1015989B1 (en) Multi-port internally cached drams
JP2000231535A (ja) メモリカップリングユニットを持つデータ処理装置
JPS61500085A (ja) 種々の大きさのメモリをアドレスする多重化アドレスインタ−フエイス
JP2002063791A (ja) 半導体記憶装置およびメモリシステム
JPH0236417A (ja) ファーストインファーストアウト型半導体メモリ
EP0229932B1 (en) High-capacity memory for multiprocessor systems
WO2003007303A2 (en) Memory device having different burst order addressing for read and write operations
US6226292B1 (en) Frame replication in a network switch for multi-port frame forwarding
JPH05298060A (ja) フォーマットを変換する回路
US5150328A (en) Memory organization with arrays having an alternate data port facility
US4126897A (en) Request forwarding system
US5710550A (en) Apparatus for programmable signal switching
EP0421627A2 (en) Memory device
JP3563352B2 (ja) 書き込み読み出しメモリおよび該メモリの作動方法
JP2000029826A (ja) 多重レベルキャッシングを有する3ポ―トfifoデ―タバッファ
US5790048A (en) Crosspoint switch with bank-switched memory
US5551009A (en) Expandable high performance FIFO design which includes memory cells having respective cell multiplexors