JPH0822444A - データ転送装置 - Google Patents

データ転送装置

Info

Publication number
JPH0822444A
JPH0822444A JP6153969A JP15396994A JPH0822444A JP H0822444 A JPH0822444 A JP H0822444A JP 6153969 A JP6153969 A JP 6153969A JP 15396994 A JP15396994 A JP 15396994A JP H0822444 A JPH0822444 A JP H0822444A
Authority
JP
Japan
Prior art keywords
data
data transfer
memory
count value
decoding
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
JP6153969A
Other languages
English (en)
Inventor
Ichiro Okabayashi
一郎 岡林
Katsuyuki Kaneko
克幸 金子
Hiroshi Kadota
浩 廉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP6153969A priority Critical patent/JPH0822444A/ja
Priority to US08/497,864 priority patent/US5745709A/en
Publication of JPH0822444A publication Critical patent/JPH0822444A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 本発明は、1対多のデバイス間で効率良くデ
ータ転送を行ない、特に並列計算機に好適したデータ転
送装置を提供することを目的とする。 【構成】 データ転送装置111等は複数のバッファF
11等と接続される。データ転送装置111は転送先を
順次決定するためのカウンタを送信、受信用にそれぞれ
2組有し、バッファとの間で順次データを転送する。制
御部7aは、チップ選択信号102a及びを書き込み信
号101aをアサートしてデータをバッファF11に書
き込む。続いて、チップ選択信号102b及びを書き込
み信号101aをアサートしてデータをバッファF12
に書き込む。これにより、複数のデバイス間でのデータ
転送が連続的に実現され、高速化が達成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
で使用されるデバイス間でデータ転送を行うデータ転送
装置に関する。
【0002】
【従来の技術】近年、コンピュータシステム、特に並列
処理システムの発展とともに装置は複雑化し、複数のデ
バイス間でデータを転送する機会が増大しており、この
高速化が盛んに研究されている。従来、マイクロコンピ
ュータにおいては、外部のマイクロコンピュータ又はデ
バイスとの間でデータ転送を行うシリアルインタフェー
スがよく用いられていた。図10は、特開平04-16
9955に開示されたマイクロコンピュータシステムに
おけるシリアルインタフェースの主要部の構成を示すブ
ロック図である。
【0003】このマイクロコンピュータでは、メモリ5
3のデータはシフトレジスタ54を介して外部にシリア
ルデータとして送信され、あるいは、外部からのシリア
ルデータがシフトレジスタ54を介してメモリ53に受
信される。送信と受信は以下のようにして交互に行われ
る。まず、転送回数が転送回数指定レジスタ51より転
送回数カウンタ50に移される。これにより送信又は受
信が開始され、転送回数カウンタ50がデータの転送回
数をカウントし、カウントが終了すれば転送方向指定フ
ラグ52を反転する。転送方向指定フラグ52の反転に
よりメモリレジスタ変更信号55が変化し、メモリ53
とシフトレジスタ54との間の転送方向を切り替える。
これにより転送方向の高速切り換えを実現している。
【0004】
【発明が解決しようとする課題】しかしながら上記の従
来技術におけるシリアルインタフェース(データ転送装
置)によれば、2つの装置間で1対1でデータをやりと
りする場合は都合よいが、1対多の転送の場合、つま
り、転送先/元となるデバイスが複数存在する場合、デ
バイスを高速に切り替えることができないという問題が
あった。
【0005】また、従来例で示したシリアルインタフェ
ースに限らず汎用的なDMAC(Direct Memory Access)
においても、複数チャネルを有しているものがあるが、
各チャネルともに1対1のデバイス間を前提にしている
ため、各チャネルを順に切り替えることによって1対多
の転送に対応し得るが、チャネルの切り換えを高速に行
うことができないという問題があった。
【0006】本発明は上記問題点に鑑み、1対多のデバ
イス間で効率良くデータ転送を行なうデータ転送装置を
提供することを目的とする。特に、1対多のデバイス間
の通信が極めて重要になる並列計算システムに好適した
データ転送装置を提供することを目的とする。
【0007】
【課題を解決するための手段】上記の課題を解決するた
め、請求項1の発明は、メモリと複数のデバイス間でデ
ータを転送するデータ転送装置であって、メモリと何れ
かのデバイス間でデータを転送する制御手段と、制御手
段がデータを1回転送する毎に1つカウントするカウン
ト手段と、カウント手段のカウント値をデコードして、
カウント値に応じて複数のデバイスのうちの何れか1つ
を選択する解読手段とを備え、前記制御手段は、解読手
段により選択されたデバイスとメモリとの間のデータ転
送を制御することを特徴とする。
【0008】請求項2の発明は、請求項1の発明に対し
て、前記カウント手段がnビットの二進カウンタであ
り、前記複数のデバイスが2のn乗個存在することを特
徴とする。請求項3の発明では、請求項1の発明に対し
て前記カウント手段は、連続転送すべきデータ回数を保
持するレジスタと、制御手段が1回転送する毎に1つカ
ウントし、レジスタに保持された回数カウントする毎に
クロックを出力する第1のカウンタと、前記クロックが
出力される毎にカウントし、カウント値を前記解読手段
に出力する第2のカウンタとを有している。
【0009】請求項4の発明では、請求項3の発明に対
して前記カウント手段は、さらに第2のカウンタの限界
値を保持するリミットレジスタを備え、前記第2のカウ
ント手段は、そのカウント値が限界値に達すると初期値
に戻るように構成されている。請求項5の発明は、請求
項1の発明に対して前記データ転送手段は、さらに、メ
モリと何れかのデバイス間で転送すべきデータを一時的
に保持する一時保持手段を備えている。
【0010】請求項6の発明は、請求項1の発明に対し
て前記解読手段は、前記カウント値をデコードして、複
数のデバイスに対する個々の選択信号の1つを有効にす
るように構成されている。請求項7の発明は、並列計算
機を構成する複数のプロセッサエレメントに用いられ、
プロセッサエレメント内のメモリと、プロセッサエレメ
ント間に接続された複数のデバイスとの間でデータを転
送するデータ転送装置であって、メモリから読み出され
たデータを一時的に保持する第1のバッファ手段と、メ
モリから第1のバッファ手段を介して何れかのデバイス
にデータを転送する第1の制御手段と、第1の制御手段
が1回転送する毎に1つカウントする第1のカウント手
段と、カウント手段のカウント値をデコードして、カウ
ント値に応じて複数のデバイスのうちの何れか1つを選
択する第1の解読手段と、何れかのデバイスから読み出
されたデータを一時的に保持する第2のバッファ手段
と、何れかのデバイスからのデータを第2のバッファ手
段を介してメモリに転送する第2の制御手段と、第2の
制御手段が1回転送する毎に1つカウントする第2のカ
ウント手段と、第2のカウント手段のカウント値をデコ
ードして、カウント値に応じて複数のデバイスのうちの
何れか1つを選択する第2の解読手段とを備え、前記第
1の制御手段は、メモリから第1の解読手段により選択
されたデバイスへのデータ転送を制御し、前記第2の制
御手段は、第2の解読手段により選択されたデバイスか
らメモリへのデータ転送を制御することを特徴とする。
【0011】
【作用】上記の手段により請求項1の発明に係るデータ
転送装置では、カウント手段は、制御手段がデータを1
回転送する毎に1つカウントする。解読手段は、カウン
ト手段のカウント値をデコードして、カウント値に応じ
て複数のデバイスのうちの何れか1つを選択する。制御
手段は、解読手段により選択されたデバイスとメモリと
の間のデータ転送を制御する。これによりデータ転送先
/元となるデバイスの切り換えが高速に行われる。
【0012】請求項2の発明に係るデータ転送装置で
は、請求項1の発明において、前記カウント手段は、n
ビットの二進カウンタであり、前記複数のデバイスは、
2のn乗個存在する。これによりデバイスの個数が2、
4、8・・・等コンピュータ処理に適した構成にするこ
とができる。請求項3の発明に係るデータ転送装置で
は、請求項1の発明において、前記カウント手段内の、
第1のカウンタは、制御手段が1回転送する毎に1つカ
ウントし、レジスタに保持された回数カウントする毎に
クロックを出力する。第2のカウンタは、前記クロック
が出力される毎にカウントし、カウント値を前記解読手
段に出力する。これにより、1つのデバイスに対してデ
ータ転送をレジスタに保持された回数連続して行われる
後に、転送先/元となるデバイスが高速に切り換えられ
ることになる。
【0013】請求項4の発明に係るデータ転送装置で
は、請求項3の発明において、前記カウント手段内のリ
ミットレジスタは第2のカウンタの限界値を保持する。
前記第2のカウント手段は、そのカウント値が限界値に
達すると初期値に戻る。これにより、各デバイスに対し
てデータ転送がレジスタに保持された回数連続して行わ
れる毎に、転送先/元となるデバイスが高速に切り換え
られ、しかも、各デバイスを繰り返し順番に選択するこ
とができる。
【0014】請求項5の発明に係るデータ転送装置で
は、請求項1の発明において、データ転送手段内の一時
保持手段は、メモリと何れかのデバイス間で転送すべき
データを一時的に保持する。これによりデバイスの高速
切り換えに加えて、メモリのアクセス速度とデバイスの
アクセス速度が異なる場合でも、速度差を吸収して効率
のよいデータ転送ができる。
【0015】請求項6の発明に係るデータ転送装置で
は、請求項1の発明において、前記解読手段は、前記カ
ウント値をデコードして、複数のデバイスに対する個々
の選択信号の1つを有効にする。請求項7の発明に係る
データ伝送装置では、第1のバッファ手段は、メモリか
ら読み出されたデータを一時的に保持する。第1の制御
手段は、メモリから第1のバッファ手段を介して何れか
のデバイスにデータを転送する。第1のカウント手段
は、第1の制御手段が1回転送する毎に1つカウントす
る。第1の解読手段は、カウント手段のカウント値をデ
コードして、カウント値に応じて複数のデバイスのうち
の何れか1つを選択する。第1の制御手段は、メモリか
ら第1の解読手段により選択されたデバイスへのデータ
転送を制御する。
【0016】第2のバッファ手段は、何れかのデバイス
から読み出されたデータを一時的に保持する。第2の制
御手段は、何れかのデバイスからのデータを第2のバッ
ファ手段を介してメモリに転送する。第2のカウント手
段は、第2の制御手段が1回転送する毎に1つカウント
する。第2の解読手段は、第2のカウント手段のカウン
ト値をデコードして、カウント値に応じて複数のデバイ
スのうちの何れか1つを選択する。第2の制御手段は、
第2の解読手段により選択されたデバイスからメモリへ
のデータ転送を制御する。これにより、並列計算機に適
したデータ転送装置で、高速にデバイスを切り換えるこ
とができる。
【0017】
【実施例】
(実施例1)以下本発明の第1の実施例におけるデータ
転送装置について、以下図面を参照しながら説明する。
図1は、本発明の実施例におけるデータ転送装置の適用
例の1つとして並列計算機システムの概略構成を示す。
この並列計算機システムは、ネットワーク100に接続
された複数のプロエセッサエレメント110、120、
130・・・1nを有している。プロセッサエレメント
(以下PEと略す)の数は、実際には数台から数百台あ
るいはそれ以上任意に構成し得る。各PEは同等のもの
であるのでPE110のみを説明する。
【0018】PE110は、データ転送部111、メモ
リ112、プロセッサ113を有しており、例えば配列
演算などを他のPEと分担して計算する。そのため、他
のPEの演算結果を必要とするときは、ネットワーク1
00を介してデータを相互に転送する。通常このような
データ転送は頻繁に発生する。ネットワーク100は、
PE間で相互に転送されるデータを伝達する。具体的に
はネットワーク100は、FIFO(First In First Ou
t)メモリにより構成されるバッファF11〜Fnnが格
子状に配置され、PE間を相互に接続する。
【0019】データ転送部111は、メモリ112のデ
ータをネットワーク100を通じて他のPEに送信し、
また、他のPEからネットワーク100を通じてデータ
を受信してメモリ112に格納する。詳しくは、データ
送信時には、メモリ112からバッファF11〜F1n
の任意の何れかにデータを転送し、データ受信時には、
バッファF11〜Fn1の任意の何れかからメモリ11
2にデータを転送する。例えば、PE110がPE12
0に対してデータを送信する場合には、データ転送部1
11はメモリ112のデータを読み出しバッファF12
に書き込む。逆にPE120からのデータを受信する場
合には、データ転送部111は、バッファF21のデー
タを読み出し、メモリ112に書き込む。
【0020】プロセッサ113は、メモリ112中のプ
ログラムに従ってメモリ112のデータに対して演算処
理を実行する。図2は、図1においてPEが2台の場合
におけるデータ転送部111、121、ネットワーク1
00のより詳細な構成を示すブロック図である。同図に
おいてデータ転送部111は、メモリ112からネット
ワーク100へデータを転送する場合には、データ線1
00e、データ線100a、書き込み信号101a、チ
ップ選択信号102a、チップ選択信号102bをアク
ティブにすることによりデータ転送を行い、逆に、ネッ
トワーク100からメモリ112にデータを転送する場
合には、データ線100f、データ線100c、読み出
し信号103a、チップ選択信号102e、チップ選択
信号102fをアクティブにすることによりデータ転送
を行う。
【0021】バッファF11は、チップ選択信号102
aにより選択されたとき、書き込み信号101aがアク
ティブになることによりデータ線100a上のデータが
内部に書き込まれ、チップ選択信号102fにより選択
されたとき、読み出し信号103aがアクティブになる
と内部のデータが読み出されデータ線100c上に出力
される。バッファF12、F21、F22も同様であ
る。
【0022】図3は、データ転送部111内部の詳細な
構成を示すブロック図を示す。同図のようにデータ転送
部111は、ネットワーク100への送信用に格納部5
a、ラッチ6a、制御部7a、カウンタ8a、デコーダ
9a、を備えるとともに、ネットワーク100からの受
信用に格納部5b、ラッチ6b、制御部7b、カウンタ
8b、デコーダ9b、同期ラッチ27bを備えている。
【0023】格納部5aは、FIFOメモリで構成さ
れ、メモリ112からの送信すべきデータが入力される
と先入れ先出し方式で一時的に保持する。ラッチ6a
は、制御部7aの指示に従って、格納部5a内の先頭デ
ータをラッチし、データ線100aに出力する。制御部
7aは、データ送信時に、まずデータ線100eよりデ
ータを格納部5aに格納させ、次に格納部5aからデー
タをラッチ6aに移すと共に、書き込み信号101aを
アクティブにする。同時にカウンタ8aのカウントを指
示する。
【0024】カウンタ8aは、ラッチ6aのデータをネ
ットワーク100上のバッファに送信する毎に1つカウ
ントする。本実施例では図2のように送信先のバッファ
が2つだけなので、カウンタ8aは1ビットのカウンタ
で構成され0と1とを交互に出力する。デコーダ9a
は、カウンタ8aのカウント出力をデコードして、1の
ときバッファF12へのチップ選択信号102b、0の
ときバッファF11へのチップ選択信号102aをアク
ティブにする。
【0025】同期ラッチ27aは、制御部7aからの書
き込み信号をラッチし、タイミングを調整してバッファ
F11及びF12への書き込み信号101aを出力す
る。格納部5b、ラッチ6b、制御部7b、カウンタ8
b、デコーダ9b、同期ラッチ27bは、上記5a〜9
a、27aと同様なので説明を省略する。ただし、デー
タ転送方向が異なるので、制御部7bは、ラッチ6b、
格納部5bがネットワーク100のバッファF11、F
21からのデータを一時的に保持してメモリ112に出
力するよう制御する。
【0026】図4は、バッファF11のより詳細な構成
を示すブロック図である。同図のようにバッファF11
は、格納部20、ゲート21a、ゲート21bとから構
成されている。格納部20は、FIFOメモリであり、
書き込み信号101aとチップ選択信号102aとが共
に有効になったときに書き込み制御端子(WR)がアク
ティブになり、データ線100aのデータを内部に取り
込み、また、読み出し信号103aとチップ選択信号1
02fとが共に有効になったときに読み出し制御端子
(RD)がアクティブになり、内部の先頭データをデー
タ線100cに出力する。バッファF12、F21、F
22についても同様である。
【0027】以上のように構成された本発明の第1の実
施例におけるデータ転送装置について、その動作タイミ
ングを示す図5のタイムチャートを用いて説明する。図
5では、データ転送部111からバッファF11、F1
2に交互にデータを送信する場合を示している。図中の
C0〜C8は、基本的な動作のタイミングを示すサイク
ルの番号を示す。
【0028】まず、データ転送部111は、サイクルC
0で書き込み信号101a、チップ選択信号102aを
出力してバッファF11に書き込む。サイクルC2で書
き込み信号101a、チップ選択信号102bを出力し
てバッファF12に書き込む。ここで、サイクルC0と
サイクルC2ではカウンタ8aの値が反転しているの
で、デコーダ9aによって異なるチップ選択信号が活性
化される。以下同様にチップ選択信号102a,102
bが交互に活性化され、バッファF11、F12に交互
にデータが送信される。
【0029】以上述べた様に、本実施例によれば、転送
対象のバッファの切り替えがカウンタの進段に応じて行
われるので、1対多のデバイス間で通信する場合に、極
めて高速に転送対象の切り替えが可能となる。なお、本
実施例では一つの送受制御手段の片側のポートに2つの
バッファが接続されているが、図1に示したようにこの
数は任意に設定し得る。例えば、送信側に4つのバッフ
ァF11〜F14を接続した場合は、カウンタ8a,8
bを2bitにし、デコーダ9a,9bでその2bitをデ
コードし、チップ選択信号を4本にする構成とすればよ
い。受信側も同様である。
【0030】(実施例2)本発明の第2の実施例におけ
るデータ転送装置及びネットワークの構成、及びバッフ
ァの内部構成は、第1の実施例で示した図2、図4と同
様であるので、説明を省略する。図5は本実施例におけ
るデータ転送装置の詳細な構成を示すブロック図であ
る。同図は、図3に示したデータ転送装置に比べ、制御
部7a,7bの代わりに制御部12a、12bを備え、
新たにカウントリミットレジスタ26a、26bを備え
ている点のみが異なるので、同じ構成要素は説明を省略
して異なる点を中心に説明する。
【0031】制御部12aは、制御部10a、語数カウ
ンタ11a、語数レジスタ25aで構成される。語数レ
ジスタ25aは、一つのバッファに一度に連続して書き
込む語数を保持する。語数カウンタ11aは、語数レジ
スタ25aが保持する語数分をカウントする毎にカウン
タ8aに対してクロックを出力する。例えば、語数レジ
スタ25aが'3'であれば、語数カウンタ11aは0,
1,2,0,1,2と動作する。このとき、2から0に戻る
際にカウンタ8aをカウントさせるクロックを出力す
る。その結果、カウンタ8aは、3回のデータ転送を行
う毎に1つカウントすることになる。本実施例では、語
数カウンタ11aに2を設定しているものとする。
【0032】カウントリミットレジスタ26aは、カウ
ンタ8aのカウントの上限を示す値を保持する。例え
ば、カウントリミットレジスタ26が'4'であれば、カ
ウンタ8aは0,1,2,3,0,1,2,3と動作する。図
2では送信側、受信側ともにバッファが2つ接続される
のでカウントリミットレジスタ26a,26bに'2'を
設定する。
【0033】以上のように構成された本発明の第2の実
施例におけるデータ転送装置について、その動作タイミ
ングを示す図7のタイムチャートを用いて説明する。語
数カウンタ11a,11bには'2'、カウントリミット
レジスタ26a,26bには'2'が設定されているもの
とする。語数カウンタ11aは、サイクルC0で0、サ
イクルC2で1になる。このときカウンタ8aはカウン
ト動作をしないので、データ転送部111は、サイクル
C0、C2では、書き込み信号101a、チップ選択信
号102aを出力してバッファF11に連続的にデータ
を書き込む。
【0034】サイクルC2でのデータ転送終了時点で、
語数カウンタ11aは1から0に戻り、カウンタ8aに
クロックを出力する。これによりカウンタ8aは値が反
転するので、デコーダ9aは、他方のチップ選択信号1
02bがアクティブにする。続いてサイクルC4,サイ
クルC5で書き込み信号101a、チップ選択信号10
2bを出力してバッファF12に連続的にデータ書き込
む。以下同様にバッファF11,F12に2つずつデー
タが送信される。
【0035】以上述べたように、本実施例によれば、転
送対象のバッファを任意の語数毎に高速に切り替えるこ
とが可能となる。 (実施例3)本発明の第3の実施例におけるデータ転送
装置及びネットワークの構成は、第1の実施例で示した
図1、図2とほぼ同様である。ただし、図2においてバ
ッファF11〜Fnn、及び、データ転送部111〜1
n1のネットワーク100に対する入出力が双方向にな
っている点は異なる。
【0036】図8は、本実施例におけるデータ転送装置
の詳細な構成を示すブロック図である。同図のデータ転
送装置は、図3に示したデータ転送装置に比べ、セレク
タ22a、22b、双方向ドライバ23a、23bが追
加された構成となっている。同図においてセレクタ22
は、書き込み信号101a、チップ選択信号102a、
チップ選択信号102bの3本の信号(以下、右側と略
す)と、読み出し信号103a、チップ選択信号102
e、チップ選択信号102fの3本の信号(左側と略
す)とが入力され、いずれかの3本を選択して出力す
る。選択は、格納部5aのデータをネットワーク100
のバッファF11、F12に送信するときは右側3本
が、これに対してネットワーク100のバッファF1
1、F21から格納部5bにデータを受信するときには
左側3本が選択される。選択された3本は、チップ選択
信号105a、105b、読み/書き信号106aとし
て出力される。
【0037】双方向ドライバ23aは、トライステート
のドライバ30a、30bとから構成され、これらのド
ライバ30a、30bを択一的にイネーブルとすること
によりいずれかの方向にデータをドライブする。具体的
には、上記右側が選択されたときは、ドライバ30bが
イネーブルとなり、上記左側が選択されたときは、ドラ
イバ30aがイネーブルとなる。
【0038】ドライバ30aは、イネーブル時には、ラ
ッチ6aからのデータをネットワーク100のバッファ
F11及びF12に出力し、ディスエーブル時には、ハ
イインピーダンスになりネットワーク100からは電気
的に切り離されている。ドライバ30bは、イネーブル
時には、ネットワーク100のバッファF11又はF1
2からのデータをラッチ6aに出力し、ディスエーブル
時には、ハイインピーダンスになりラッチ6bからは電
気的に切り離されている。
【0039】セレクタ22b、双方向ドライバ23bに
ついては上記と同様なので説明を省略する。図9は、バ
ッファF11の詳細な構成を示すブロック図である。こ
のバッファは、図4に示したバッファに比べて、新たに
セレクタ22c、22d、双方向ドライバ23c、23
dが追加された構成となっている。
【0040】セレクタ22cは、読み/書き信号106
aと106bとが入力され、書き込み信号を選択する。
セレクタ22dは、読み/書き信号106aと106b
とが入力され、読み出し信号を選択する。双方向ドライ
バ23c、23dは、上記の双方向ドライバ23aと同
様の構成であり、格納部20のデータ入力端子、データ
出力端子と、ネットワーク100上のデータ線との間
で、データを双方向にドライブする。ドライバ30e、
30hがイネーブルのときは、ドライバ30eが格納部
20のデータをデータ線100aに出力し、ドライバ3
0hがデータ線100cからのデータを格納部20に入
力する。逆に、ドライバ30f、gとがイネーブルのと
きは、ドライバ30gが格納部20のデータをデータ線
100cに出力し、ドライバ30fがデータ線100a
からのデータを格納部20に入力する。
【0041】双方向ドライバ23c、23dの方向及び
セレクタ22c、22dの選択は、対応するデータ転送
装置の転送方向に合わせてデータ転送装置の制御部7
a、7bから制御される。あるいは、予め固定的に設定
していてもよい。以上のように構成された本発明の第3
の実施定におけるデータ転送装置について、その動作を
説明する。
【0042】データ転送方向については、データ転送部
111は、バッファF11、F12に送信し、バッファ
F11、F21から受信する場合(第1の実施例と同
じ)と、バッファF11、F12から受信し、バッファ
F11、F21に送信する場合とがある。この転送方向
は各データ転送装置内の制御部7a、7bによって制御
される。個々のデータの転送動作については、第1の実
施例と同様なので省略する。
【0043】以上のように本実施例のデータ転送装置に
よれば、高速に転送対象のバッファを切り替えることが
でき、しかも、データ転送の方向を任意に指定できるの
で、より多くのバッファに対して読み書きが可能とな
る。
【0044】
【発明の効果】以上説明してきたように、請求項1の発
明に係るデータ転送装置によれば、転送回数を示すカウ
ント値に応じて解読手段がデバイスを選択するので、デ
ータ転送先/元となるデバイスの切り換えが高速に行う
ことができるので、高速なデータ転送を実現できるとい
う効果がある。
【0045】請求項2の発明に係るデータ転送装置によ
れば、請求項1に加えて、デバイスの個数が2、4、8
・・・等コンピュータ処理に適した構成にすることがで
きるという効果がある。請求項3の発明に係るデータ転
送装置によれば、請求項1に加えて、1つのデバイスに
対してデータ転送をレジスタに保持された回数連続して
行われる後に、転送先/元となるデバイスが高速に切り
換えられるという効果がある。
【0046】請求項4の発明に係るデータ転送装置によ
れば、請求項3のに加えて、各デバイスに対してデータ
転送がレジスタに保持された回数連続して行われる毎
に、転送先/元となるデバイスが高速に切り換えられ、
しかも、各デバイスを繰り返し順番に選択することがで
きるという効果がある。請求項5の発明に係るデータ転
送装置によれば、請求項1の発明に加えて、デバイスの
高速切り換えに加えて、メモリのアクセス速度とデバイ
スのアクセス速度が異なる場合でも、速度差を吸収して
効率のよいデータ転送ができるという効果がある。例え
ば、メモリのアクセス速度が高速で、デバイスのアクセ
ス速度が低速であっても、メモリと一時保持手段との間
は高速にデータ転送をなし得るので、データ転送により
メモリを占有する時間を少なくすることができる。
【0047】請求項6の発明に係るデータ転送装置によ
れば、請求項1の発明に加えて、高速なデバイスの切り
換えが、カウント値をデコードして選択信号を出力する
というハードウェアの回路遅延時間のみで瞬時に行われ
るという効果がある。請求項7の発明に係るデータ伝送
装置によれば、上記の効果に加え、特に並列計算機に好
適するという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例におけるデータ転送装置の一適
用例としての並列計算機システムの概略構成を示す。
【図2】本発明の実施例1におけるデータ転送装置及び
ネットワークの構成を示す。
【図3】同実施例で用いられるデータ転送装置の詳細な
構成を示す。
【図4】同実施例で用いられるバッファの詳細な構成を
示す。
【図5】同実施例における動作タイミングチャートを示
す。
【図6】本発明の実施例2におけるデータ転送装置の詳
細な構成を示す。
【図7】同実施例における動作タイミングチャートを示
す。
【図8】本発明の実施例3におけるデータ転送装置の詳
細な構成を示す。
【図9】同実施例におけるバッファの詳細な構成を示
す。
【図10】従来のマイクロコンピュータのシリアルイン
タフェースの構成を示す。
【符号の説明】
5a 格納部 5b 格納部 6a ラッチ 6b ラッチ 7a 制御部 7b 制御部 8a カウンタ 8b カウンタ 9a デコーダ 9b デコーダ 10a 制御部 10b 制御部 11a 語数カウンタ 11b 語数カウンタ 20a 格納部 20b 格納部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 メモリと複数のデバイス間でデータを転
    送するデータ転送装置であって、 メモリと何れかのデバイス間でデータを転送する制御手
    段と、 制御手段がデータを1回転送する毎に1つカウントする
    カウント手段と、 カウント手段のカウント値をデコードして、カウント値
    に応じて複数のデバイスのうちの何れか1つを選択する
    解読手段とを備え、 前記制御手段は、解読手段により選択されたデバイスと
    メモリとの間のデータ転送を制御することを特徴とする
    データ転送装置。
  2. 【請求項2】 前記カウント手段は、n(nは整数)ビ
    ットの二進カウンタであり、 前記複数のデバイスは、2のn乗個存在することを特徴
    とする請求項1記載のデータ転送装置。
  3. 【請求項3】 前記カウント手段は、 連続転送すべきデータ回数を保持するレジスタと、 制御手段が1回転送する毎に1つカウントし、レジスタ
    に保持された回数カウントする毎にクロックを出力する
    第1のカウンタと、 前記クロックが出力される毎にカウントし、カウント値
    を前記解読手段に出力する第2のカウンタとを有するこ
    とを特徴とする請求項1記載のデータ転送装置。
  4. 【請求項4】 前記カウント手段は、さらに第2のカウ
    ンタの限界値を保持するリミットレジスタを備え、 前記第2のカウント手段は、そのカウント値が限界値に
    達すると初期値に戻ることを特徴とする請求項3記載の
    データ転送装置。
  5. 【請求項5】 前記データ転送手段は、さらに、 メモリと何れかのデバイス間で転送すべきデータを一時
    的に保持する一時保持手段を備えることを特徴とする請
    求項1記載のデータ転送装置。
  6. 【請求項6】 前記解読手段は、 前記カウント値をデコードして、複数のデバイスに対す
    る個々の選択信号の1つを有効にすることを特徴とする
    請求項1記載のデータ転送装置。
  7. 【請求項7】 並列計算機を構成する複数のプロセッサ
    エレメントに用いられ、プロセッサエレメント内のメモ
    リと、プロセッサエレメント間に接続された複数のデバ
    イスとの間でデータを転送するデータ転送装置であっ
    て、 メモリから読み出されたデータを一時的に保持する第1
    のバッファ手段と、 メモリから第1のバッファ手段を介して何れかのデバイ
    スにデータを転送する第1の制御手段と、 第1の制御手段が1回転送する毎に1つカウントする第
    1のカウント手段と、 カウント手段のカウント値をデコードして、カウント値
    に応じて複数のデバイスのうちの何れか1つを選択する
    第1の解読手段と、 何れかのデバイスから読み出されたデータを一時的に保
    持する第2のバッファ手段と、 何れかのデバイスからのデータを第2のバッファ手段を
    介してメモリに転送する第2の制御手段と、 第2の制御手段が1回転送する毎に1つカウントする第
    2のカウント手段と、 第2のカウント手段のカウント値をデコードして、カウ
    ント値に応じて複数のデバイスのうちの何れか1つを選
    択する第2の解読手段とを備え、 前記第1の制御手段は、メモリから第1の解読手段によ
    り選択されたデバイスへのデータ転送を制御し、 前記第2の制御手段は、第2の解読手段により選択され
    たデバイスからメモリへのデータ転送を制御することを
    特徴とするデータ転送装置。
JP6153969A 1994-07-05 1994-07-05 データ転送装置 Pending JPH0822444A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6153969A JPH0822444A (ja) 1994-07-05 1994-07-05 データ転送装置
US08/497,864 US5745709A (en) 1994-07-05 1995-07-03 Data transfer apparatus and system providing high speed switching to allow for high speed data transfer between one device and multiple devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6153969A JPH0822444A (ja) 1994-07-05 1994-07-05 データ転送装置

Publications (1)

Publication Number Publication Date
JPH0822444A true JPH0822444A (ja) 1996-01-23

Family

ID=15574039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6153969A Pending JPH0822444A (ja) 1994-07-05 1994-07-05 データ転送装置

Country Status (2)

Country Link
US (1) US5745709A (ja)
JP (1) JPH0822444A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5961627A (en) * 1997-06-18 1999-10-05 Gigalabs, Inc High speed switch for high speed connection between computers and peripheral devices
US6230229B1 (en) * 1997-12-19 2001-05-08 Storage Technology Corporation Method and system for arbitrating path contention in a crossbar interconnect network
US20080059687A1 (en) * 2006-08-31 2008-03-06 Peter Mayer System and method of connecting a processing unit with a memory unit
US9824058B2 (en) * 2014-11-14 2017-11-21 Cavium, Inc. Bypass FIFO for multiple virtual channels

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4044333A (en) * 1972-07-26 1977-08-23 Siemens Aktiengesellschaft Data processing switching system
USRE31153E (en) * 1979-03-01 1983-02-15 Kearney & Trecker Corporation Mass memory access method and apparatus
US4575814A (en) * 1982-05-26 1986-03-11 Westinghouse Electric Corp. Programmable interface memory
US4816993A (en) * 1984-12-24 1989-03-28 Hitachi, Ltd. Parallel processing computer including interconnected operation units
JP2584113B2 (ja) * 1989-07-21 1997-02-19 松下電器産業株式会社 データ転送方法及びデータ転送装置
JPH03248243A (ja) * 1990-02-26 1991-11-06 Nec Corp 情報処理装置
US5185876A (en) * 1990-03-14 1993-02-09 Micro Technology, Inc. Buffering system for dynamically providing data to multiple storage elements
US5269010A (en) * 1990-08-31 1993-12-07 Advanced Micro Devices, Inc. Memory control for use in a memory system incorporating a plurality of memory banks
JPH04169955A (ja) * 1990-11-02 1992-06-17 Nec Corp マイクロコンピュータ
US5325502A (en) * 1991-05-15 1994-06-28 Micron Technology, Inc. Pipelined SAM register serial output
US5513364A (en) * 1993-03-09 1996-04-30 Matsushita Electric Industrial Co., Ltd. Data transfer device and multiprocessor system
JP3237736B2 (ja) * 1993-09-07 2001-12-10 ヒュンダイ エレクトロニクス アメリカ データ記憶装置のマトリックス構造

Also Published As

Publication number Publication date
US5745709A (en) 1998-04-28

Similar Documents

Publication Publication Date Title
KR900006792B1 (ko) 패킷 스위칭 노드용 로드 평형 회로장치
EP0334943B1 (en) Enhanced input/ouput architecture for toroidally-connected distributed-memory parallel computers
EP0198010B1 (en) Packet switched multiport memory nxm switch node and processing method
US6715023B1 (en) PCI bus switch architecture
CA1184311A (en) Peripheral interface adapter circuit for use in i/o controller card having multiple modes of operation
US20020019926A1 (en) Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format
US5446843A (en) Interface unit for dynamically configuring a buffer in different modes to store data transfers based upon different connection details of connected processing units
US4884192A (en) Information processor capable of data transfer among plural digital data processing units by using an active transmission line having locally controlled storage of data
JPH02263260A (ja) メモリアクセススイッチネットワーク
EP0398523A2 (en) A device for data i/o and execution support in digital processors
CA2478570A1 (en) Data processing apparatus and system and method for controlling memory access
US4524428A (en) Modular input-programmable logic circuits for use in a modular array processor
US6487617B1 (en) Source-destination re-timed cooperative communication bus
JPH0822444A (ja) データ転送装置
JP2000029826A (ja) 多重レベルキャッシングを有する3ポ―トfifoデ―タバッファ
US7370127B2 (en) High-speed internal bus architecture for an integrated circuit
EP0269370B1 (en) Memory access controller
US20050050233A1 (en) Parallel processing apparatus
JP2976700B2 (ja) プロセッサ間同期制御方式
JP2842108B2 (ja) データ転送装置と並列処理システム
US20060064553A9 (en) Data processing apparatus and system and method for controlling memory access
US20130097343A1 (en) Arrangement, method, integrated circuit and device for routing requests
US7149827B1 (en) Methods and apparatus for tristate line sharing
JPH0668055A (ja) ディジタル信号処理装置
KR101328944B1 (ko) 제어 정보 처리 장치 및 방법