JPH04270437A - メモリ装置及び転送制御装置 - Google Patents

メモリ装置及び転送制御装置

Info

Publication number
JPH04270437A
JPH04270437A JP11804791A JP11804791A JPH04270437A JP H04270437 A JPH04270437 A JP H04270437A JP 11804791 A JP11804791 A JP 11804791A JP 11804791 A JP11804791 A JP 11804791A JP H04270437 A JPH04270437 A JP H04270437A
Authority
JP
Japan
Prior art keywords
read
memory
address
signal
data
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
JP11804791A
Other languages
English (en)
Inventor
Fumiyasu Asai
浅井 文康
Hidehiro Takada
高田 英裕
Hirono Tsubota
浩乃 坪田
Toshiyuki Tamura
田村 俊之
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP11804791A priority Critical patent/JPH04270437A/ja
Publication of JPH04270437A publication Critical patent/JPH04270437A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置に備えられ
るメモリ装置及び転送制御装置に関し、特にメモリ装置
の連続読み出し時の処理速度の高速化を図る技術及びハ
ンドシェイクによるデータ転送制御技術に関する。
【0002】
【従来の技術】この種のメモリ装置を備えた情報処理装
置として特開平2−165286号公報に開示された本
出願人によるデータ駆動形計算機がある。図22は前記
公報に開示された従来のデータ駆動形計算機の構成を示
すブロック図である。このデータ駆動形計算機は外部と
のインタフェイスであるネットワークインタフェイス1
4、処理対象の各データから行先ノード番号が一致する
二つのデータを検出するマッチングメモリ10、ノード
番号に基づいて演算命令のコードを取出す機能と演算処
理後のデータの次の行先ノード番号を指定するための二
つの機能を有するメモリ装置としてのプログラムメモリ
11、命令コードに従って演算処理を実行する命令実行
部12、行先ノード番号の更新処理のための加算器13
等とこれらを接続するデータ経路とにて構成されている
【0003】このような従来のデータ駆動形計算機によ
り、図23のプログラム (データフローグラフ) を
実行する場合について動作を説明する。このデータフロ
ーグラフは、データAとBとをノード#0において加算
し、この結果のデータGと別のデータCとをノード#2
において乗算してその結果データIを求め、他方ではデ
ータDとEとをノード#1において加算し、この結果の
データHと別のデータFとをノード#5において乗算し
てその結果データJを求め・・・、データWとXとをノ
ード#7096 において乗算し、この結果データYと
先に求められているデータIとをノード#7097 に
おいて加算してその結果データZを求め・・・というよ
うに構成されている。
【0004】外部からネットワークインタフェイス14
を経由して入力されたパケット101 は、行先ノード
番号<0>、データ[A]及び命令コード「+」を含ん
でいる。従来のデータ駆動形計算機においては、2サイ
クルのパイプライン処理が行われる。その初段はマッチ
ングメモリ10におけるデータの待合わせである。外部
から入力されたパケット101 は、マッチングメモリ
10に送られるが、この際、2項演算「+」の相手のデ
ータ[B]を含むパケットが未到着の場合には、入力さ
れたパケット101 はマッチングメモリ10内に一旦
格納され、データ[B]を含むパケットの到着を待つ。 また、既にもう一方のデータ[B]を含むパケットが到
着してマッチングメモリ10内に格納されている場合に
は、これら二つのパケットの行先ノード番号<0>が一
致していることが検出され、入力パケット101 にデ
ータ[B]を付加したパケット102 (これをメイト
したパケットと呼ぶ)がマッチングメモリ10から送出
される。
【0005】パケット102 に含まれている情報の内
、行先ノード番号<0>(103 )はプログラムメモ
リ11及び後述する加算器13に送られ、残りのデータ
[A],[B]及び命令コード「+」は、パケット10
4 として命令実行部12に送られる。命令実行部12
では、命令コード「+」に従ってデータ[A]と[B]
との加算が行われ、加算結果データ[G](107 )
が出力される。一方、命令実行部12における処理と並
列して実行されるプログラムメモリ11での処理につい
て、以下に説明する。 図24は、従来のデータ駆動型計算機のプログラムメモ
リ11のメモリ構成を示している。図24において、各
ワードの最上位ビット”EXT” は後述する拡張アド
レスフラグである。
【0006】その下位側のビット”COPY”は連続読
み出しをするか否かを示すフラグであって、この”CO
PY”ビットが“1”であれば、演算結果の行先ノード
が複数個あり、これらの各行先ノードに関する命令コー
ドと行先ノード番号の情報とが次の番号以降に格納され
ていることを示している。この”COPY”ビットに続
く下位側4ビットには、次のサイクルで実行すべき命令
コード(OPECODE )が格納されており、その更
に下位側の6ビットには、行先ノード番号が現在のノー
ド番号に対する相対番地(RNODE )で格納されて
いる。上述の如き従来のデータ駆動型計算機の具体的な
動作を説明する。
【0007】パケット101 がマッチングメモリ10
において一致検出されてパケット102 が出力される
と、パケット102 のノード番号<0>(103 )
がプログラムメモリ11に入力される。これにより、図
24に示したメモリの第0番地がアクセスされて、命令
コード「*」と、相対行先ノード番号<2>が読み出さ
れて、命令コードレジスタ(OPC−REG )131
 及び行先ノード番号レジスタ(DEST−REG)1
32 にそれぞれ書込まれる。命令コードは命令コード
レジスタ131 からそのまま出力される。一方、相対
行先ノード番号<2>は行先ノード番号レジスタ132
 から加算器13に送られ、加算器13において、先に
入力されている入力ノード番号<0>(103 )と加
算されて行先ノード番号の絶対値<2>(106 )が
得られる。
【0008】このようにして得られた命令コード「*」
,行先ノード番号<2>及び命令実行部12から出力さ
れるデータ[G]にて構成されるパケット108 が再
びネットワークインタフェイス14を経由してマッチン
グメモリ10に供給され、このような処理の反復によっ
て、プログラムの全体が実行される。但しこの従来例で
は、相対行先ノード番号を格納するプログラムメモリ1
1のメモリのビット幅を6ビットに制限しているために
、実際の相対行先ノード番号の値が255 (=26 
−1)を越えた場合に桁溢れが発生する。例えば、図2
3のデータフローグラフにおけるノード#2からノード
#7097 への矢印に対応する相対行先ノード番号が
これに相当する。このような場合には、各ノード番号に
対応するプログラムメモリの最上位ビット”EXT” 
を“1”とすることによって、溢れた桁を格納するため
の拡張アドレスビット領域として次の番地を用いること
が可能なように従来例では構成してある。
【0009】図23のノード#2における処理に必要な
入力データ[G]と[C]とが揃い、マッチングメモリ
10から行先ノード番号<2>,命令コード「*」,デ
ータ[G]及び[C]にて構成されるパケットが出力さ
れた場合について説明する。上述の如く、命令コードと
データは命令実行部12に送られて乗算が実行され、結
果データ[I]が出力される。これと並行して、行先ノ
ード番号<2>がプログラムメモリ11に送出され、行
先ノード番号が読み出される。入力されたノード番号が
<N>であるときのプログラムメモリ11の詳細な論理
動作を、図25及び図26のフローチャートに示す。こ
のフローチャート中において、「READ M」はメモ
リのM番地を読み出す動作、ビット(6:0)等はビッ
ト6からビット0にて構成されているビット列、”EX
T” ,”COPY”はプログラムメモリ内の拡張アド
レスフラグビットとコピーフラグビットとの値をそれぞ
れ表わしている。
【0010】行先ノード番号<2>を有するパケットが
プログラムメモリ11に入力されると、プログラムメモ
リ11の第2番地の内容が読み出される(ステップS4
)。読み出された内容のうち、命令コード「+」が命令
コードレジスタ131 に、また相対行先ノード番号<
4>が行先ノード番号レジスタ132 の下位6ビット
に、即ちビット(6:0)にそれぞれ書込まれる(ステ
ップS5,S6)。 次に図26に移り、読み出されたワードの“EXT ”
ビットは“0”なので(ステップS7)、命令コード及
び行先ノード番号レジスタの値<4>と入力されたノー
ド番号<2>との加算器13による加算結果の<6>が
行先ノード番号として出力される(ステップS8)。こ
の際、読み出されたワードの”COPY”ビットが“1
”なので、読み出しアドレス<2>をインクリメントす
ると共に(ステップ S10)、ループカウント<L>
と行先ノード番号レジタ132 の内容をクリアした後
(ステップS2,S3)、インクリメント後のアドレス
である第3番地を読み出す(ステップS4)。
【0011】初回の読み出しの際と同様に、読み出した
ワード中の命令コード「+」と相対行先ノード番号<5
5>(=”110111”)とを、命令コードレジスタ
131 と行先ノード番号レジスタ132 の下位6ビ
ットにそれぞれ書込む(ステップS5,S6)。読み出
したワードの”EXT” ビットが“1”であるので(
ステップS7)、読み出しアドレスをインクリメントし
て(ステップ S11)、第4番地の内容を読み出し、
読み出したワードの下位10ビットを、行先ノード番号
レジスタ132 のビット15からビット6に書込む(
ステップ S13)。最後に読み出したワードのEXT
 ビットの値が“1”であるので(ステップS15)、
現状の命令コード「+」及び行先ノード番号レジスタ1
32 の内容<7095>(=”0001 1011 
1011 0111” )と入力したノード番号#2と
の加算結果<7097>を出力する(ステップS8)。
【0012】また、最後に読み出したワードのCOPY
ビットの値は“0”なので(ステップS9)、ノード番
号<2>を有する入力パケットに対する一連の処理を終
了する。上述のように、行先ノード番号を相対行先ノー
ド番号で与えた場合において、相対行先ノード番号が所
定のビット幅を越えてオーバーフローしても、プログラ
ムメモリの次の番地を相対行先ノード番号の拡張アドレ
ス領域として用いることによって処理が完結される。
【0013】
【発明が解決しようとする課題】しかしながら従来のメ
モリ装置ではメモリ内容を連続して読み出す場合、読み
出した内容(COPYフラグ)を判定して、その結果、
メモリ装置を連続して読み出すか否かということを決め
ていた。従ってメモリ内容を連続して読み出す際に、読
み出した内容を判定するステップ(図26のS9)が必
要になり、メモリ装置を含む情報処理装置全体の処理速
度を低下させるという問題があった。本発明は斯かる事
情に鑑みなされたものであり、メモリ読み出しをするパ
ケット中に次のアドレスを読み出すか否かを示す第1の
フラグを設け、メモリ読み出しパケットが、第1ワード
を読み出すサイクル中に第1のフラグの判定を行い、第
2ワードを読み出すか否かを決定し、また、メモリにワ
ードを書き込む際に格納アドレスの次の次のアドレスを
連続して読み出すか否かを示す、第2のフラグを同時に
書き込み、第1ワードの読み出しと同時にこの第2のフ
ラグを読み出し、第2ワードが読み出されている間に、
この第2のフラグを判定し、第3ワードを読み出すか否
かを決定することにより、前述した判定ステップを削減
し、連続読み出し時の性能向上をはかり、それを含む全
体性能の向上をはかれるメモリ装置を提供することを目
的とする。また、ハンドシェイク制御によってデータ転
送を行う際に、誤動作がなく、制御も容易な転送制御装
置を提供することを目的とする。
【0014】
【課題を解決するための手段】本発明に係るメモリ装置
は入力データに読み出すべきアドレスの次アドレスを読
み出すか否かを示す第1のフラグを付加するとともに、
メモリの各アドレスに次々アドレスを読み出すか否かを
示す第2のフラグを格納しておき、2つのフラグにより
前記アドレス以降の連続読み出しを判定し、それにより
連続読み出しアドレスを生成するようにしたものである
【0015】また、本発明に係る転送制御装置は、デー
タ転送をクロックによらず各転送制御回路間の転送要求
信号及び応答信号によるハンドシェイク制御によって行
うとともに、所定の連続動作を行う際に転送要求信号を
連続生成する転送制御回路に、他の転送制御回路と同様
の自己同期型転送制御回路を用い、その応答信号出力と
転送要求信号入力を遅延回路を介して接続したものであ
る。
【0016】
【作用】本発明においては、読み出すべきアドレスに続
く次アドレスを読み出す場合、第1のフラグを立ててお
き、前記アドレスの読み出しと同時に次アドレスの読み
出しを判定し、次アドレスを生成する。そして次々アド
レスも読み出す必要があるときは、前記アドレスに格納
された第2のフラグを立てておき、前記アドレスの内容
を読み出し、次アドレスの内容を読み出すときに第2の
フラグを判定して次々アドレスを生成し、これを繰返し
てメモリの読み出しと連続読み出しの判定とを同一サイ
クルで実行し、メモリの連続読み出しをオーバヘッドな
く実行することができる。
【0017】また、メモリ連続読み出し等の際に転送要
求信号を連続生成する転送制御回路にワンショットパル
ス回路を用いた場合には、転送先の線路がつまった時に
誤動作したり、制御が難しくなるが、他の転送制御回路
と同様の自己同期型転送制御回路を用い、その応答信号
出力と転送要求信号入力を遅延回路を介して接続するこ
とにより構成することで、転送制御装置が自己同期型転
送制御回路のみで構成されるので、転送先の線路がつま
っても誤動作を起こすことがなく、制御も容易となる。
【0018】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて説明する。図1は本発明に係るメモリ装置をデータ
駆動形計算機のプログラムメモリに用いた場合のプログ
ラムメモリの構成を示すブロック図である。本実施例で
は1パイプラインステージでメモリ26からの読み出し
または、メモリ26への書き込みを実行する。パケット
は図の左端より入力され右端より出力される。図2はメ
モリ26に入力されるパケットの内部構成を示す図であ
る。図において、DCOPY は入力パケットがメモリ
26を読み出す動作をするパケットであるとき、ノード
番号で示されるメモリ26のアドレスに続く次アドレス
を連続して読み出すか否かを示す第1のフラグである。 DCOPY =“1”のとき、次アドレスの連続読み出
しを行い、DCOPY =“0”のときには次アドレス
の連続読み出しを行わない。また、メモリ26に書き込
む動作をするパケットであるときは、DCOPY =“
0”とする。DCOPYに続いてメモリ26のアドレス
を示すノード番号、命令の内容を示すオペレーションコ
ード(以下オペコードという)、演算データを示す左右
のオペランドがこの順に構成されている。
【0019】図1において、入力されたパケットは転送
制御回路29から出力されたラッチ信号F1の立ち上が
りエッジで一旦ラッチ21にラッチされる。入力パケッ
トのうちオペコードはデコーダ22に出力されてデコー
ドされる。デコーダ22はオペコードに応じてメモリ2
6にリードライト信号R/バーWを出力する。入力パケ
ットのうちオペランドはオペコードがメモリ26への書
き込み命令を示している場合は書き込みデータとしてメ
モリ26に与えられる。また入力パケットのうちノード
番号はメモリ26のアクセスすべきアドレスとして連続
読み出しアドレス生成部23及びセレクタ24の一端に
出力される。連続読み出しアドレス生成部23は、入力
パケットのノード番号を入力として、このアドレスをイ
ンクリメントすることによって連続読み出しアドレスを
生成し、セレクタ24の他端に出力する。セレクタ24
は後述する連続読み出し制御部27からの連続読み出し
制御信号CPに応じてラッチ21から出力されたアドレ
ス又は連続読み出しアドレス生成部23から出力された
アドレスを選択し、アドレスデコーダ25に選択したア
ドレスを与える。アドレスデコーダ25は選択されたア
ドレスをデコードしてメモリ26をアクセスする。
【0020】図3はメモリ26の内部構成を示すエリア
マップである。図中ANN は入力パケットのノード番
号で示されるメモリ26のアドレスの次の次のアドレス
(次々アドレス)を読み出すか否かを示す第2のフラグ
である。 即ちAAN は3ワード以上連続してメモリ26を読み
出すときに使われるフラグであって、AAN =“1”
のときには、3ワード目も読み出し、ANN =“0”
の時には、3ワード目は読み出さない。メモリ26の読
み出し時にはAAN に続くDCOPY 、オペコード
、行き先ノード番号が読み出されて、入力パケットのD
COPY 、オペコード、ノード番号を更新する。なお
、この格納内容は図23に示すデータフローグラフを実
行するプログラムである。
【0021】連続読み出し判定手段である連続読み出し
制御部27は入力パケットの第1のフラグであるDCO
PY の値を、ラッチ制御信号F1の立ち上がりのタイ
ミングでラッチし、この値を転送制御回路29へストッ
プ信号バーSTOPとして出力する。また、連続読み出
し制御部27は上述のDCOPY の値及びメモリ26
から読み出した第2のフラグであるAAN の値に応じ
て転送制御回路30へスタート信号START を、ま
たセレクタ24及び連続読み出しアドレス生成部23へ
連続読み出し中であることを示す連続読み出し制御信号
CPを出力する。
【0022】ラッチ21からラッチ28へのデータ転送
は、クロックによらず、転送制御回路29,30,31
間の転送要求信号及び応答信号によるハンドシェイク制
御によって行われる。このような転送制御回路の実施例
が本出願人らによる特開昭63−204355 号公報
のデータ転送制御回路に開示されている。転送制御回路
29は、メモリ連続読み出し時、新たなパケットがプロ
グラムメモリに入力されるのを禁止するための論理を転
送制御回路31に加えたものである。転送制御回路30
はメモリ連続読み出しの際、転送制御回路31への転送
要求信号S2を作るためのワンショットパルス回路であ
る。ここで図1のプログラムメモリの処理時間は、転送
制御回路29に転送要求信号S0が入力されて、ラッチ
制御信号F1によってラッチ21の出力が確定してから
、転送制御回路29の転送要求信号出力S1がORゲー
ト32、インバータを直列接続した遅延素子33による
遅延の後、転送制御回路31へ転送要求信号S4として
入力され、これを受けてラッチ28へのラッチ制御信号
F2が発生しラッチ28の出力が確定するまでの時間で
ある。
【0023】次に各部の詳細構成をその動作と共に説明
する。図5は連続読み出しアドレス生成部23の構成を
示すブロック図である。連続読み出しアドレス生成部2
3はセレクタ231 、インクリメンタ232 、ラッ
チ233 をこの順に接続した構成となっている。セレ
クタ231 にはラッチ21から出力されたアドレスと
ラッチ233 からフィードバックされたアドレスとが
入力され、連続読み出し制御部27から出力された連続
読み出し制御信号CPの状態に応じ、入力されたアドレ
スを選択する。選択されたアドレスはインクリメント2
32 で1インクリメントされ、ラッチ233 に転送
制御回路31からのラッチ制御信号F2の立ち上がりエ
ッジでラッチされ、セレクタ24に出力される。 図6及び図7は連続読み出し制御部27の構成を示すブ
ロック図であり、図6は主たる部分の構成を、また図7
は連続読み出し制御部27のリセット回路270 部分
の構成を夫々示している。
【0024】図6,図7を用い、連続読み出し制御部2
7の構成及び動作を説明する。図中フリップフロップ 
(以下FFという)271 ,272 はDCOPY 
の値をラッチ制御信号F1の立ち上がりでセットする。 FF 273はフラグAAN の値をラッチ制御信号F
2の立ち上がりでセットする。FF 274はラッチ制
御信号F2の立ち上がりでインバータ279 の出力の
値をセットする。FF 275は上述のFF 274の
出力の値を遅延素子33の中間ノードから出力された転
送要求信号S3の立ち下がりでセットする。またFF 
276はFF 273の出力の値を転送要求信号S2の
立ち上がりでセットする。このF1,F2,S2,S3
の各信号は図1中に示した信号に対応する。各FF 2
71〜276 の出力端のマスターリセット信号RST
Bがかかった直後の値はFF 276のみ“1”となり
、他は全て“0”となる。
【0025】さて、今DCOPY =“1”であり、メ
モリ26を読み出した結果のANN の値が“0”であ
る場合を考える。この場合、2ワードが連続して読み出
される。F1,F2,S2,S3の各タイミング信号の
順序関係は(F1の立ち上がり)→(F2の立ち上がり
)→(S3の立ち下がり)→(S2の立ち上がり)であ
る(図10参照)。DCOPY =“1”がラッチ制御
信号F1の立ち上がりでFF 271,272 にセッ
トされたときを動作の起点とする。この結果、FF 2
71の出力は“0”→“1”となり、遅延回路277 
による遅延の後、ストップ信号バーSTOPが“1”→
“0”となり、転送制御回路29への転送要求信号S0
の入力を禁止し、メモリ連続読み出し動作にはいる。一
方、この動作と並行してメモリの読み出し動作がラッチ
制御信号F1の立ち上がりで開始され、読み出された第
1ワードはラッチ制御信号F2の立ち上がりでラッチ2
8(図1)にラッチされる。この第1ワードの読み出し
と同時にメモリ26により読み出されたAAN の値“
0”が同じくラッチ制御信号F2の立ち上がりでFF 
273にセットされる。
【0026】さて、ラッチ制御信号F2はFF 274
のトリガー信号としても使われている。FF 274は
連続読み出し制御信号CPの元信号をつくるものである
。ここでFF 274の動作を説明する。FF 274
の入力端にはインバータ279 の出力端が接続されて
いる。インバータ279 の入力端には、NOR ゲー
ト278 の出力端が接続されている。このNOR ゲ
ート278 の第1の入力端にはDCOPY の値をラ
ッチ制御信号F1の立ち上がりでセットするFF 27
2の出力端が接続され、第2の入力端にはAAN の値
をラッチ制御信号F2の立ち上がりでセットするFF 
273の出力端が接続されている。ラッチ制御信号F1
の立ち上がりでFF 272にセットされたDCOPY
 の値“1”はラッチ制御信号F2の立ち上がりまでの
時間、NOR ゲート278 の支配入力となる。なぜ
ならFF 273の出力には未だAAN の値がセット
されておらず、その出力の値は“0”のままであるから
である。このためFF 274にラッチ制御信号F2の
立ち上がりでセットされる値は、ラッチ制御信号F1の
立ち上がりでFF 272にセットされたDCOPY 
の値“1”となる。この結果、FF 274の出力は“
0”→“1”に変化する。
【0027】このFF 274の出力の変化は転送要求
信号S3の立ち下がりをトリガーとしてFF 275の
出力に伝わり、連続読み出し制御信号CPの値が“0”
→“1”に変化し、連続読み出し動作であることを連続
読み出しアドレス生成部23とセレクタ24とに知らせ
る。FF 275を設けた理由は、メモリ読み出しデー
タのラッチホールド時間を保証するためである。すなわ
ち(F2の立ち上がり)→(S3の立ち下がり)の順序
関係は必ず保証されている。 このため連続読み出し制御信号CPが“0”→“1”に
変化する時刻がラッチ制御信号F2の立ち上がりの直後
であって、第1ワードがラッチ28(図1)にラッチさ
れる前に、第2ワードのメモリ読み出しが行われ、ラッ
チミスが起こることを防いでいる。ここまで述べてきた
ように、第1ワードのメモリ読み出しが完了し、ラッチ
28にラッチ制御信号F2の立ち上がりでラッチされる
と、直ちに連続読み出し制御信号CPの値が“0”→“
1”に変化し、第2ワードの読み出しが開始される。
【0028】またスタート信号START は連続読み
出し制御信号CPの値が“0”→“1”に変化するのに
合わせて“0”→“1”に変化し、転送制御回路30に
ワンショットパルスの発生開始を知らせる。DCOPY
 の値をセットしたFF 272は第1ワードの読み出
しが完了した時点で、即ちラッチ制御信号F2の立ち上
がりでリセットされその出力は“0”となる。続いて第
2ワードが読み出され、ラッチ制御信号F2が立ち上が
るとFF 274には“0”がセットされる。なぜなら
上述のように第1ワード読み出し完了直後にFF272
 がリセットされ、かつ、読み出されたAAN の値は
“0”であるから、NOR ゲート278 の第1,第
2の入力は第1ワード読み出し後、ともに“0”である
。したがってインバータ279 の出力は“0”となっ
ており、この値が第2ワード読み出し時にFF 274
にセットされる。この結果、連続読み出し制御信号CP
は“0”となり、連続読み出しが終了する。
【0029】また、FF 271はインバータ279 
の出力ノードA1の値が“0”のとき、ラッチ制御信号
F2の立ち上がりでリセットされる(後述)ので、今の
場合、第2ワードの読み出し終了後、リセットがかかり
ストップ信号バーSTOPが“0”→“1”となり、転
送制御回路29への転送要求信号S0の受け付けを許可
する。スタート信号START は連続読み出し制御信
号CPの値が“0”→“1”と変化することで“0”→
“1”と変化し、転送制御回路30のトリガー信号にな
ることは以前に述べた。このスタート信号START 
の“1”→“0”の変化はFF 276の出力の値によ
って決められる。転送要求信号S2は転送制御回路30
の出力であった。即ち第1ワードを読み出したときにF
F 273にセットしたAAN の値“0”が、第2ワ
ードを読み出すためのワンショットパルスの転送要求信
号S2の立ち上がりでFF 276にセットされ、この
結果スタート信号START が“1”→“0”となっ
て、ワンショットパルスの発生を禁止する。
【0030】以上、述べてきたことをラッチ制御信号F
2の変化と連続読み出し制御信号CPの変化とを対応さ
せてまとめると、以下のようになる。(第1ワードの読
み出し終了,F2=“0”→“1”)→(連続読み出し
制御信号CP=“0”→“1”)→(第2ワードの読み
出し終了,F2=“0”→“1”)→(連続読み出し制
御信号CP=“1”→“0”) 次にDCOPY =“1”、AAN =“1”の場合に
ついて述べる。この場合は3ワード以上が連続して読み
出される。 第1ワード,第2ワードの読み出しについてはDCOP
Y =“1”、AAN =“0”の場合と同様である。 DCOPY =“1”、AAN =“0”の場合、第2
ワードを読み出したときにラッチ制御信号F2の立ち上
がりでFF 274にAAN の値“0”がセットされ
た。このことによって連続読み出し制御信号CPの値が
“1”→“0”となって、連続読み出しが2ワード分で
終了する動作となった。
【0031】ところがDCOPY =“1”、AAN 
=“1”の場合には、第2ワード読み出し時にラッチ制
御信号F2の立ち上がりでFF 274にセットされる
AAN の値は“1”である。したがって連続読み出し
制御信号CPの値の変化“1”→“0”は起こらず、連
続読み出しが継続する。 連続読み出しが終了するときの動作はDCOPY =“
1”、ANN =“0”のときと同様である。続いて図
7について説明する。図7は連続読み出し制御回路のう
ちFF 271〜276 のセット又はリセットをする
ためのリセット回路270 部分である。図中FF 2
83,284 ,285 の入力A1,A2,A3は図
6中のA1,A2,A3に対応する。この回路はFF2
83 と遅延素子286 との組み合せ、FF 284
と遅延素子287 との組み合せ、FF 285と遅延
素子288 との組み合せで構成される3つのワンショ
ットパルス回路と、マスターリセット信号RSTBを入
れることによってFF 283,284 ,285 を
セット又はリセットするためのNOR ゲート290 
,291 ,282 及びインバータ293 ,294
 ,295 と、上記マスターリセット信号RSTBを
信号線R1〜R4を介して図6のFF 271〜276
 に伝え、これらのFF 271〜276 をセット又
はリセットするためのNOR ゲート296 〜299
 及びインバータ300 〜303 からなる。
【0032】A1を入力とするワンショットパルス回路
はA1=“0”のとき、信号線R1及びR4に負論理の
ワンショットパルスを発生し、FF 271をリセット
し、FF 276をセットする。A2を入力するとワン
ショットパルス回路はA2=“1”のとき、信号線R2
に負論理のワンショットパルスを発生し、FF 272
をリセットする。A3を入力とするワンショットパルス
回路はA3=“0”のとき、信号線R3に負論理のワン
ショットパルスを発生し、FF 275をリセットする
【0033】図8は転送制御回路29の構成を示すブロ
ック図である。転送制御回路29に入力された前段の転
送制御回路 (図示せず) からの転送要求信号S0は
3入力NANDゲート807 及び2つのNANDゲー
トで構成されたFF 806に与えられる。またストッ
プ信号バーSTOPはNANDゲート811 の一端に
与えられ、その出力はインバータ812 を介してNA
NDゲート807 に与えられる。マスターリセット信
号RSTBはNANDゲート813の一端に与えられ、
その出力はインバータ814 を介して応答信号バーA
CK として前段の転送制御回路 (図示せず)に出力
される。さらに次段の転送制御回路31からの応答信号
AIB はNANDゲート807 及び2つのNAND
ゲートからなるFF 805に与えられる。NANDゲ
ート807 の出力はFF 805,806及びNAN
Dゲート813 の他端に与えられる。
【0034】FF 805のノード801 の出力はイ
ンバータ815 ,816 を介してラッチ制御信号F
1及び転送要求信号S1として出力され、FF 805
のノード802 及びFF 806のノード804 の
出力はNANDゲート809 に与えられる。NAND
ゲート809 の出力はインバータ810 を介してN
ANDゲート811 の他端に与えられ、インバータ8
12 を介してNANDゲート807 に与えられる。 図9は図8に示した転送制御回路29の動作を示すため
のタイミングチャートである。図8においてマスターリ
セット信号RSTBが“0”になることによって転送制
御回路29は初期化される。マスタリセット信号RST
Bが“1”となった直後、FF805 ,806 の出
力ノード801 ,802 ,803 ,804 は夫
々“0”,“1”,“0”,“1”となっている。さて
図9に即して転送制御回路29の動作を説明する。
【0035】今、第1ワードのDCOPY の値が“0
”、第2ワードのDCOPY の値が“1”であったと
する。まず、第1ワードの転送要求信号S0が入力され
ると、NANDゲート807 の入力がすべて“1”と
なり、FF 805,806 がセットされる。この結
果、各出力ノードは801 =“1”、802 =“0
”、803 =“1”、804 =“0”となる。ノー
ド801 が“1”になることによってラッチ制御信号
F1が“0”→“1”となると共に遅延素子33による
遅延時間の後、次段への転送要求信号S4が“0”→“
1”となって第1ワードを次段へ転送する。また、NA
NDゲート807 の入力がすべて“1”となり、その
出力ノード808 が“0”になることによって応答信
号バーACK が“1”→“0”となって前段へ第1ワ
ードの転送が完了したことを知らせる。この結果転送要
求信号S0が“1”→“0”となり第1ワードの転送を
完了する。転送要求信号S0が“1”→“0”となるこ
とによってFF 806はリッセットされる。この応答
信号バーACK はFF 806、NANDゲート80
9 、インバータ810 、NANDゲート811 、
インバータ812 、NANDゲート807 、NAN
Dゲート813 、インバータ814 の遅延の後、再
び“1”となって、第2ワードの転送可能状態となる。 続いて次段へ転送要求信号S4が伝わり、次段からの応
答信号AIB が“1”→“0”に変化すると、FF 
805がリセットされる。
【0036】さて、第1ワードの転送のときにはDCO
PY の値が“0”であるので、連続読み出し制御部2
7より出力されるストップ信号バーSTOPは“1”の
ままである。 したがってNANDゲート811 はインバータ810
 の出力が支配入力となる。続いて第2ワードが転送さ
れるときにはDCOPY の値が“1”である。この値
はラッチ制御信号F1をタイミング信号として、連続読
み出し制御部27のFF 271にラッチされる。この
結果ストップ信号バーSTOPが“1”→“0”となり
、NANDゲート811 の支配入力となる。このため
、インバータ812 の値は“0”のままとなり、第3
ワードの転送要求信号S0がやってきてS0が“0”→
“1”となっても、NANDゲート807の入力条件が
そろわず、第3ワードの転送は禁止された状態となる。
【0037】ここで、話を簡便にするために図4に示し
たデータ駆動形計算機のプログラムメモリ11として本
発明のメモリ装置を用いた場合を例に説明する。図4は
、図22と同等である。ただしネットワークインタフェ
イス14を経由して入出力されるパケットは、図2のフ
ォーマットである。図4において、マッチングメモリ1
0、命令実行部12における動作は図22を使った従来
例に示したとおりである。従って、本発明に直接関わる
プログラムメモリ11の動作についてのみ詳細に述べる
。今、図4に示されるプログラムメモリ11には図23
のデータフローグラフで示すプログラムがロードされて
いるとする。
【0038】さて、図4において左右オペランドがマッ
チングメモリ10でメイトしたパケット1102がプロ
グラムメモリ11に入力されたときを起点とする。この
とき、ノード番号 (プログラムメモリ11のアドレス
) は“0”、DCOPY =“0”である。従って、
1ワード読み出しであり、プログラムメモリ11のアド
レス“0”を読み出して、入力パケットのDCOPY 
、オペコード、ノード番号を更新する。こうして新たに
得られたパケット1108はDCOPY =“1”、ノ
ード番号2、オペコード「*」である。 続いて、このパケット1108が、再びマッチングメモ
リ10で左右オペランドがメイトし、プログラムメモリ
11に入力されたとする。
【0039】前述のパケット1108がメイトしてプロ
グラムメモリ11に入力されると、今度はDCOPY 
=“1”であるので、アドレス3も読み出す。ここでは
、アドレス2を読み出した結果、AAN =“0”であ
るのでアドレス4は連続して読み出さない。次に図1に
戻ってプログラムメモリ11への入力パケットがDCO
PY =“1”であって、1ワード目を読み出した結果
、AAN =“0”であったときの詳細な動作を説明す
る。連続読み出し制御部27から出力された連続読み出
し制御信号CPのリセット直後の値は、“0”であり、
セレクタ24はラッチ21から出力されたアドレスを選
択している。
【0040】パケットがプログラムメモリ11に入力さ
れラッチ21の出力が確定したときを処理の起点とする
。入力パケットのノード番号がセレクタ24を経由して
アドレスデコーダ25に与えられ、メモリ26を読み出
す。このメモリ読み出しと並行して連続読み出しアドレ
ス生成部23では、入力パケットのノード番号をインク
リメントし次のメモリ読み出しアドレスを生成する。D
COPY の値“1”は、ラッチ制御信号F1のタイミ
ングでFF 271(図6)にセットされ、この出力の
反転信号であるストップ信号バーSTOPが転送制御回
路29へ出力され、転送要求信号S0の受付が禁止され
る。
【0041】メモリ26の読み出しが完了し、ラッチ2
8に読み出しデータがラッチ制御信号F2の立ち上がり
タイミングでラッチされる。連続読み出し制御部27は
、DCOPY の値を転送要求信号S3の立ち下がりを
タイミングとしてFF 275(図6)にセットし、こ
の出力を連続読み出し制御信号CPとしてセレクタ24
、連続読み出しアドレス生成部23に出力する。この結
果、セレクタ24は、連続読み出しアドレス生成部23
の出力アドレスを選択し、アドレスデコーダ25に出力
する。このようにしてプログラムメモリ11から1ワー
ドの読み出しが完了すると、続いて2ワード目の読み出
しが直ちに開始される。上述のように入力パケットのD
COPY の値が“1”であって、1ワード目を読み出
した結果AAN の値が“0”のときは、2ワード連続
して読み出される。この様子をタイミングチャートで示
したものが図10である。
【0042】次にメモリを読み出した結果、AAN の
値が“1”であったときの動作を説明する。例として図
11に示すようなデータフローグラフで表されるプログ
ラムを実行することを考える。このプログラムはデータ
aとbとを乗算し、その結果cを3パケットにコピーし
、それぞれデータd,e,fと加算を行って結果g,h
,i,jを得るものである。このプログラムをメモリ2
6にロードした状態を図12に示す。図12を参考にし
ながら図1を使って動作を示す。ここでは入力パケット
のDCOPY によりアドレス1が、またアドレス0の
AAN によりアドレス2が連続読み出しされる。プロ
グラムメモリ11への入力パケットがDCOPY =“
1”であって、1ワード目を読み出した結果、AAN 
=“0”であったときの動作を説明したときと同じくパ
ケットがプログラムメモリ11に入力されラッチ21の
出力が確定した時を処理の起点とする。入力パケットの
ノード番号がセレクタ24を経由してアドレスデコーダ
25に与えられ、メモリ26を読み出す。このメモリ読
み出しと並行して連続読み出しアドレス生成部23では
、入力パケットのノード番号をインクリメントし、次の
メモリ読み出しアドレスを生成する。
【0043】DCOPY の値“1”は、ラッチ制御信
号F1のタイミングでFF 271(図6)にセットさ
れ、この出力の反転信号であるストップ信号バーSTO
Pが転送制御回路29へ出力され、転送要求信号S0の
受付が禁止される。メモリ26の読み出しが完了し、ラ
ッチ28に読み出しデータがラッチ制御信号F2をタイ
ミングとしてラッチされる。このとき、読み出されたA
AN の値“1”は、同様にラッチ制御信号F2をタイ
ミング信号として、連続読み出し制御部27のFF 2
73(図6)にセットされる。また、同じく入力パケッ
トのDCOPY の値をセットしたFF 272はラッ
チ制御信号F2をタイミング信号としてリセットされる
【0044】連続読み出し制御部27は、DCOPY 
の値を転送要求信号S3の立ち下がりをタイミングとし
てFF 275(図6)にセットし、この出力を連続読
み出し制御信号CPとしてセレクタ24、連続読み出し
アドレス生成部23に出力する。この結果、セレクタ2
4は、連続読み出しアドレス生成部23の出力アドレス
を選択し、アドレスデコーダ25に出力する。このよう
にして、プログラムメモリ11から1ワードの読み出し
が完了し、続いて2ワード目の読み出しが直ちに開始さ
れる。2ワード目の読み出しが完了し、ラッチ28に2
ワード目がラッチ制御信号F2のタイミングでラッチさ
れ、読み出されたAAN の値“0”がFF273にセ
ットされると同時に1ワード目の読み出し時にFF 2
73にセットされたAAN の値“1”が、FF274
にセットされる。続いて入力パケットのDCOPY の
値“1”を1ワード目の転送要求信号S3の立ち下がり
をタイミングとしてFF 275(図6)にセットした
のと同様にして今度は、FF 274にセットされたA
AN の“1”を転送要求信号S3の立ち下がりをタイ
ミングとしてFF 275(図6)にセットする。した
がって連続読み出し制御信号CPの値は変化しない。同
様にして3ワード目の読み出しが完了すると、2ワード
目の読み出しが完了したときにFF 273にセットさ
れていたAAN の値“0”が、3ワード目の読み出し
が完了したときにラッチ制御信号F2をタイミング信号
にしてFF 283(図7)にセットされ、FF 27
1がリセット信号R1によってリセットされる。
【0045】何故ならFF 272の出力ノードA2の
値“1”は2ワード目の読み出しが完了したときにラッ
チ制御信号F2をタイミング信号としてFF 284(
図7)にセットされ、この結果FF 272はリセット
信号R2によってリセットされ、その出力ノードA2は
“0”になっている。一方、2ワード目の読み出しが完
了したときにFF 273にセットされたAAN の値
は“0”であった。したがってNOR ゲート278 
の入力は“0”,“0”となり、インバータ279 の
出力ノードA1は“0”となる。つまり、2ワード目の
読み出しが完了したときにFF 273にセットされた
AAN の値“0”がインバータ279の出力ノードA
1に現れていると考えることができるからである。
【0046】その結果、ストップ信号バーSTOPが“
1”に復帰し、転送要求信号S0の受付が許可される。 また、FF 276にセットされていたAAN の値“
0”は、同時にラッチ制御信号F2をタイミング信号に
してFF 285にセットされる。この結果FF 27
5がリセットされ、連続読み出し制御信号CPの値が“
0”となり、連続読み出しを終了する。上述のように入
力パケットのDCOPY の値が“1”であって、1ワ
ード目を読み出した結果AAN の値が“1”のときは
、3ワード連続して読み出される。この様子をタイミン
グチャートで示したものが図13である。
【0047】図14は、メモリの連続読み出し動作を従
来例と本発明とをパイプラインサイクル単位で模式的に
示し比較したものである。以上説明してきたように、本
発明によるとメモリと並行して次のアドレスを読み出す
かどうかの判定を行うので、従来例のメモリ読み出し結
果を使って次のアドレスを読み出すか否かを判定する方
式に比べ、データ判定サイクルを削減できる分だけ情報
処理装置の性能向上が期待できる。図15は、本発明の
他の実施例のメモリ内容を示したものである。本実施例
では先に示した第1の実施例で示したメモリの内容にS
TATUS0 、1と名付けた第3,第4のフラグを加
えたものである。また行き先ノード番号は、相対アドレ
スで表されているとする。これらのフラグの用途は、通
常メモリに格納されている以外のデータの存在を示すも
のである。 (STATUS1 ,STATUS0 )=(1,0)
で拡張アドレスの存在を示し、(STATUS1 ,S
TATUS0 )=(1,1)で定数の存在を示す。
【0048】本実施例では拡張アドレスと記したワード
には、行き先ノード番号が格納されているビット長では
納められないロングジャンプの行き先ノードがあるとき
、行き先ノード番号領域に格納できないビット分が格納
される。このように拡張アドレスが存在する場合には、
2ワード連続読み出しをした後、拡張アドレス部を、先
に読み出した行き先ノード番号に加算する。また、定数
データが存在するときには読み出した定数データを命令
実行部の出力であるオペランド部に格納し、先に読み出
されているDCOPY 、オペコード、行き先ノード番
号の値とバインドする処理を行う。
【0049】以上の実施例では、連続的にメモリを読み
出す要因が拡張アドレスと定数とであったが、これらの
要因に限定されるものではなく、メモリの連続読み出し
が動的に決定されるメモリを備えた情報処理装置に広く
適用できるものである。また、前述した2つの実施例で
は一例としてデータ駆動形計算機について説明したが、
この種の情報処理装置に適用範囲が限定されるものでな
いことは言うまでもない。
【0050】ところで、上記実施例では、メモリ連続読
み出しの際に転送要求信号を生成する転送制御回路,す
なわち図1において転送要求信号S2を生成する転送制
御回路30をワンショットパルス回路で構成したものに
ついて示したが、この場合、転送先の線路がつまった時
に誤動作することがあり、また、他の転送制御回路が“
C素子”と呼ばれる自己同期型転送制御回路で構成され
ているのに比べ制御が難しくなる。
【0051】図16に図1の転送制御回路30の他の実
施例を示し、図17にそのタイミングチャートを示す。 図16の30aは、図1の転送制御回路29,31とほ
ぼ同様な自己同期型転送制御回路(C素子)であり、N
ANDゲート811 の一端には、図8に示した転送制
御回路29がストップ信号バーSTOPであったのに対
し、スタート信号START が与えられる。また、こ
の自己同期型転送制御回路30a の応答信号出力バー
AOUTと転送要求信号入力SIN は遅延回路30b
 を介して接続されている。この遅延回路30b は図
1の33同様,インバータの直列接続により実現するこ
とができる。すなわち、本実施例の転送制御回路30は
、転送要求信号,応答信号を交換することにより、デー
タの転送を制御する自己同期型転送制御回路30a の
転送要求信号入力SIN と応答信号出力バーAOUT
を遅延回路30b で接続したものであり、自己発振型
C素子と呼ぶことができ、スタート信号STARTを“
1”にすることにより、パケットの生成に必要な転送要
求信号の発生(以下、パケットの生成と呼ぶ)が開始さ
れ、適当なタイミングにスタート信号START を“
0”にすることにより停止する。
【0052】以下に、図17に示したタイミングチャー
トに基づいて本回路の動作を説明する。 ■初期状態 リセット信号RSTBが立ち上がった直後の状態であり
、本実施例による自己発振型C素子によるパケットの生
成がまだ開始されていない状態である(タイミングチャ
ートの時刻t1)。 ■パケットの連続生成 スタート信号START が“0”から“1”になると
、NANDゲート811 ,インバータ812 により
信号線Aの論理値“1”がNANDゲート807 の入
力端に伝達される。これにより、NANDゲート807
 の3入力が全て“1”になるため、信号線Cに、FF
805→NANDゲート809 →インバータ810 
→NANDゲート811 →インバータ812 を信号
が伝搬するのに必要な遅延時間に相当する時間の“0”
のパルスが発生する。すなわち、NANDゲート807
 の出力端が“0”となることでFF 805及びFF
 806がセットされ、NANDゲート809 の入力
端に“0”が入力され、この信号が順にインバータ81
0 ,NANDゲート811,インバータ812 と伝
搬され、信号線Bに“0”が伝搬されることにより信号
線Cが“1”に復帰する。また、信号線Cに発生した“
0”パルスがNANDゲート813 ,インバータ81
4 を伝搬して応答信号出力バーAOUTに伝搬される
。さらに、この“0”パルスは遅延回路30b を伝搬
して遅延時間Tb後に転送要求信号SIN に伝搬され
、FF 806をリセットする。一方、FF 805が
セットされることにより転送要求信号S2が“1”とな
り、第1のパケットが生成される。しかる後(すなわち
、転送要求信号の1段当りの伝搬遅延時間の後に)、次
段の転送制御回路31(図1)からの応答信号AIB 
に“0”パルスが入力され、FF 805がリセットさ
れる。応答信号AIB の“0”パルスのアクティブ期
間が終了し“1”に復帰すると、NANDゲート807
の3入力が全て“1”となるため、その信号線Cに“0
”パルスが発生し、前述した過程と同様にして第2のパ
ケットの生成が開始される。以下同様に、スタート信号
START が“1”である限りパケットを連続生成す
る。 ■パケットの生成の停止 転送要求信号S2の立ち上がり時刻から応答信号AIB
 が立ち下がるまでの期間(タイミングチャートでは時
刻t2)にスタート信号START を“0”とすると
、NANDゲート811 により、信号線Aが“1”に
なっても信号線Bに伝搬されないため、本回路の状態は
、再びスタート信号START が“1”になるまで初
期状態のままでとどまる(時刻t3)。すなわち、パケ
ットの生成を停止する。
【0053】以上のように、メモリ連続読み出しの際に
転送要求信号を生成する転送制御回路30を、他の転送
制御回路29,31と同様の自己同期型転送制御回路(
C素子)30a を用い、その応答信号出力バーAOU
Tと転送要求信号入力SIN とを遅延回路30bを介
して接続した自己発振型C素子とすることにより、転送
制御装置が自己同期型転送制御回路のみで構成されるの
で、転送先の線路がつまっても誤動作を起こすことがな
く、制御も容易となる。
【0054】上記のような自己発振型C素子を用いた本
発明の他の実施例を説明する。図18は本発明の他の実
施例を示したパケット生成機構のブロック図である。こ
の図は、外部より連続的,もしくは定期的に入力された
データに、予め設定した内容に従って行き先ノード番号
,世代番号等のタグ情報を付加して、データ駆動形プロ
セッサで用いるパケットデータを生成する機構の一例を
示している。図18に基づいて本実施例を説明する。本
実施例は、自己発振型C素子30cと、カウンタ180
0,1802,NORゲート1801,比較器1803
,入力パケット数レジスタ1808により構成されるタ
グ情報生成部181と、データラッチ1804により構
成されている。
【0055】本ブロックの外部からスタート信号STA
RTをアクティブにすると、自己発振型C素子30cは
スタート信号STARTが非アクティブ状態となるまで
転送要求信号を生成し、次段の自己同期型転送制御回路
(C素子)とハンドシェイクによりデータの転送を自己
同期的に制御することは、前述の通りである。まず、タ
グ情報生成部181について説明する。マスタリセット
信号によりカウンタ1800,1802は初期化され、
その出力値はゼロとなる。スタート信号STARTがア
クティブとなると、自己発振型C素子30cからのラッ
チ制御信号1809は転送要求信号が発生する度に立ち
上がる。ラッチ制御信号1809が立ち上がる度にカウ
ンタ1802の出力は1インクリメントされる。予め入
力パケット数レジスタ1808に設定した数までインク
リメントされると、比較器1803の2つの入力信号が
同一の値となるため一致信号1810が“1”となる。 これにより、一致信号1810が入力されているNOR
ゲート1801の出力信号が“1”となってカウンタ1
802はリセットされ、出力信号は再び“0”となる。 一方、一致信号1810が“1”となるとカウンタ18
00は1インクリメントされる。カウンタ1802の出
力信号はデータラッチ1804のノード番号フィールド
に、カウンタ1800の出力信号は世代番号フィールド
に、また、外部より入力されるデータ1807はデータ
フィールドに各々入力されている。従って、上記の動作
により、データラッチ1804の出力には、外部から連
続的に入力されたデータに予め設定した内容に従ってタ
グ情報が付加されたデータパケットが出力される。
【0056】これを図19,図20を基に例をあげて説
明する。図19は、本パケット生成機構に入力された時
系列データ群,データ0,データ1,・・・にタグ情報
を付加したパケットデータを生成する模様を模式的に説
明した図である。また、図20は、上記時系列データ群
を用いたデータ処理を表わしたデータフローグラフであ
る。図20のデータフローグラフでは、入力データ数が
3個であり、そのノード番号は#0,#1,#2である
。図18の入力パケット数レジスタ1808に値“2”
を設定すると、データラッチ1804のノード番号フィ
ールドにはラッチ制御信号1809が出力された回数(
最初を0回とする)を3で割った剰余が出力される。即
ち、転送要求信号が出力される度に、“0”,“1”,
“2”,“0”,“1”,・・・が出力される。また、
データラッチ1804の世代番号フィールドには、ラッ
チ制御信号1809が3回出力される度に1インクリメ
ントされた値が出力される。即ち、“0”,“0”,“
0”,“1”,“1”,“1”,・・・が出力される。 また、ラッチ制御信号1809が出力された時点におい
て外部から入力されていたデータがデータラッチ180
4にラッチされ、データラッチ1804のデータフィー
ルドに出力される(データ0,データ1,・・・)。従
って、図20のデータフローグラフの入力ノード#0〜
#2には、世代番号0のデータとしてデータ0,データ
1,データ2が各々入力され、世代番号1のデータとし
てデータ3,データ4,データ5が各々入力される。以
下同様にデータの入力順にノード番号,世代番号が付加
されたデータパケットが入力される。
【0057】更に、自己発振型C素子を用いた本発明の
他の実施例を説明する。図21は、自己発振型C素子を
用いて構成したメモリ連続読み出し機構の例を示したブ
ロック図である。本実施例では、制御部(図示せず)か
ら生成されたベクトル演算開始信号2115により、予
め設定された回数分,予め設定されたアドレシングモー
ドにてメモリをアクセスし、メモリに格納されたデータ
を連続的に読み出し、このデータに、予め設定されたタ
グ情報を付加し、パケットデータとして出力する機構を
示している。
【0058】図21に基づき本実施例を説明する。図に
示されているように、本実施例は、自己発振型C素子3
0c,自己同期型転送制御回路(C素子)2113,2
114で構成される転送制御部(転送制御装置)211
と、カウンタ2102,比較器2103,出力数レジス
タ2101,エッジトリガラッチ2104,インバータ
2105で構成される出力パケット数制御部212と、
アドレスステップレジスタ2106,加算器2107,
レジスタ2108で構成されたアドレス生成部213と
、アドレスラッチ2109,メモリ2111,タグレジ
スタ2110,データラッチ2112で構成されるメモ
リ読み出し部214により構成される。
【0059】次に本実施例の動作について説明する。マ
スタリセット信号2116がアクティブ(“0”)にな
ると、エッジトリガラッチ2104がセットされるため
、インバータ2105の入力信号は“1”となり、従っ
て自己発振型C素子30cに入力されているスタート信
号STARTは“0”となる。また、このときカウンタ
2102及びレジスタ2108が初期化される。マスタ
リセット信号2116が非アクティブ状態となると初期
化が完了し、自己発振型C素子30cが初期状態,すな
わち、スタート信号STARTが“1”となるといつで
も転送要求信号を生成可能な状態となる。
【0060】次に、データ転送開始から転送の停止の制
御機構について説明する。この状態でベクトル演算開始
信号2115に“1”のパルスが入力されると、エッジ
トリガラッチ2104がリセットされ、インバータ21
05の入力信号が“0”となるため、スタート信号ST
ARTが“1”となる。これにより、自己発振型C素子
30cは転送要求信号の連続生成を開始し、自己同期型
転送制御回路2113,2114と共にデータの転送を
行う。自己発振型C素子30cから出力されるラッチ制
御信号2118が立ち上がる度にカウンタ2102の出
力値は1インクリメントされる。ラッチ制御信号211
8がアクティブとなった時点で、カウンタ2102の値
が出力数レジスタ2101に予め設定してあった値に等
しくなると、カウンタ2102の値と出力数レジスタ2
101の値が入力されている比較器2103は一致信号
2119に“1”を出力する。ラッチ制御信号2118
が次にアクティブになると、エッジトリガラッチ210
4に一致信号2119に現われている論理値“1”が取
り込まれる。これにより、スタート信号STARTは“
0”となるので、カウンタ2102がリセットされると
共に自己発振型C素子30cの動作が停止する。
【0061】次に、アドレス生成部について説明する。 アドレスステップレジスタ2106に予め設定されてい
た値とレジスタ2108の値(最初にラッチ制御信号2
118がアクティブになった時点では値はゼロ)との加
算結果が加算器2107の出力信号2122に現われ、
ラッチ制御信号2118の立ち上がりをトリガーとして
レジスタ2108に取り込まれ、更に、自己同期型転送
制御回路(C素子)2113から出力されるラッチ制御
信号2120の立ち上がりでアドレスラッチ2109に
ラッチされる。これにより、本実施例では、アドレスと
して予め設定したステップ幅でアドレスが生成される。 アドレス生成部213にて生成されたアドレスを用いて
、自己同期型転送制御回路2113から出力されるラッ
チ制御信号2120の立ち上がりから自己同期型転送制
御回路2114から出力されるラッチ制御信号2121
が立ち上がるまでの時間内に、メモリ2111の読み出
しが行われ、読み出したデータがラッチ制御信号212
1の立ち上がりをトリガーとしてデータラッチ2112
にラッチされる。 この際、タグレジスタ2110に予め設定してあったタ
グの値もデータラッチ2112にラッチされ、パケット
データとして出力される。
【0062】以上説明したように本実施例では、アドレ
ス生成部が提供するアドレッシングモードとして、生成
されるアドレスのステップ幅のみを提供した場合を説明
したが、ベースアドレス加算,モジュロー演算,ビット
リバース等のアドレッシングモードに対しても同様の効
果があることは明らかである。また、本実施例では、メ
モリの読み出しについて説明したが、メモリの書き込み
についても同様の効果がある。
【0063】
【発明の効果】以上説明したように、本発明によれば、
メモリ読み出しパケット中に、次アドレスを読み出すか
否かを示す第1のフラグを設けると共に、メモリの各ア
ドレスに次々アドレスを読み出すか否かを示す第2のフ
ラグを格納し、メモリの読み出しサイクル中にこれら第
1,第2のフラグの判定結果により連続読み出し制御信
号を出力して連続読み出しアドレスを生成し、それによ
りアドレスを連続的に読み出すようにしたので、従来の
ようにメモリから読み出したデータの内容を判定し、そ
の結果メモリを連続に読み出すか否かを決めていた方式
に比べ、読み出しデータ判定サイクルが入らない分だけ
処理の高速化が図られる。また、従来装置の処理の高速
化を図ろうとして、メモリの読み出し、書き込みステー
ジと読み出しデータの判定を行うステージとを別のパイ
プライン段に分けたとすると、読み出しデータの判定結
果をメモリ読み出しステージにフィードバックしなけれ
ばならず、判定結果によっては、パイプラインフラッシ
ュなどの制御が必要となり、非常に複雑になり、かつパ
イプラインフラッシュによるオーバヘッドのため処理の
高速化が思うようにできない。この点本発明では、連続
読み出しのための制御回路は従来の方法で実現するより
も簡単であり、メモリの読み出しと、連続読み出しの判
定とを並列に行うことによって処理の高速化が十分図ら
れるという効果がある。
【0064】また、本願の他の発明によれば、メモリ連
続読み出し等の際に転送要求信号を生成する転送制御回
路にワンショットパルス回路を用いた場合には、転送先
の線路がつまった時に誤動作したり、制御が難しくなる
が、他の転送制御回路と同様の自己同期型転送制御回路
を用い、その応答信号出力と転送要求信号入力を遅延回
路を介して接続することにより構成することで、転送制
御装置が自己同期型転送制御回路のみで構成されるので
、転送先の線路がつまっても誤動作を起こすことがなく
、制御も容易となる効果がある。
【図面の簡単な説明】
【図1】本発明に係るメモリ装置の構成を示すブロック
図である。
【図2】入力パケットの構成図である。
【図3】メモリの格納内容を示す図である。
【図4】本発明のメモリ装置をプログラムメモリに用い
たデータ駆動形計算機のブロック図である。
【図5】連続読み出しアドレス生成部の構成例を示すブ
ロック図である。
【図6】連続読み出し制御部の構成例を示すブロック図
である。
【図7】連続読み出し制御部の構成例を示すブロック図
である。
【図8】転送制御回路の構成例を示すブロック図である
【図9】転送制御回路の転送手順を示すタイミングチャ
ートである。
【図10】メモリ装置の読み出し動作を示すタイミング
チャートである。
【図11】連続読み出しを行うプログラムの一例を示す
データフローグラフである。
【図12】データフローグラフで示されたプログラムの
メモリでの格納内容を示す図である。
【図13】メモリ装置の読み出し動作を示すタイミング
チャートである。
【図14】本発明と従来例とを比較したタイミングチャ
ートである。
【図15】本発明の他の実施例のメモリ装置のメモリの
格納内容を示す図である。
【図16】本発明の他の実施例の転送制御回路の構成を
示すブロック図である。
【図17】図16の回路の動作を示すタイミングチャー
トである。
【図18】本発明における自己発振型C素子を用いた他
の実施例を示したブロック図である。
【図19】図18で示したブロック図の機能を説明する
ための模式図である。
【図20】図18で示したブロック図の機能を説明する
ためのデータフローグラフを示す図である。
【図21】本発明における自己発振型C素子を用いた他
の実施例を示したブロック図である。
【図22】従来のデータ駆動形計算機の構成を示すブロ
ック図である。
【図23】連続読み出しを行うプログラムの一例を示す
データフローグラフである。
【図24】データフローグラフで示されたプログラムの
メモリでの格納内容を示す図である。
【図25】従来のデータ駆動形計算機のプログラムメモ
リにおける処理手順を示すフローチャートである。
【図26】従来のデータ駆動形計算機のプログラムメモ
リにおける処理手順を示すフローチャートである。
【符号の説明】
23  連続読み出しアドレス生成部 26  メモリ 27  連続読み出し制御部 29,30,31  転送制御回路 30a  自己同期型転送制御回路 30b  遅延回路 30c  自己発振型C素子

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  メモリを備え、読み出すべき前記メモ
    リのアドレスを示す情報及び前記アドレスの次のアドレ
    スを連続して読み出すか否かを示す第1のフラグを含む
    データを受けとり、受けとったデータが示すアドレスの
    内容を読み出すメモリ装置であって、次々アドレスを読
    み出すか否かを示す第2のフラグを各アドレスに格納し
    てあるメモリと、入力された第1のフラグ及び読み出さ
    れた第2のフラグにより、前記メモリの連続読み出しを
    行うか否かを前記メモリの読み出しサイクル中に判定す
    る連続読み出し判定手段と、この判定結果に従い、連続
    読み出しアドレスを生成する連続読み出しアドレス生成
    手段とを備えることを特徴とするメモリ装置。
  2. 【請求項2】  データ転送をクロックによらず各転送
    制御回路間の転送要求信号及び応答信号によるハンドシ
    ェイク制御によって行うとともに、所定の連続動作を行
    う際に転送要求信号を連続生成する転送制御回路に、他
    の転送制御回路と同様の自己同期型転送制御回路を用い
    、その応答信号出力と転送要求信号入力を遅延回路を介
    して接続したことを特徴とする転送制御装置。
JP11804791A 1991-01-10 1991-04-22 メモリ装置及び転送制御装置 Pending JPH04270437A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11804791A JPH04270437A (ja) 1991-01-10 1991-04-22 メモリ装置及び転送制御装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP151491 1991-01-10
JP3-1514 1991-01-10
JP11804791A JPH04270437A (ja) 1991-01-10 1991-04-22 メモリ装置及び転送制御装置

Publications (1)

Publication Number Publication Date
JPH04270437A true JPH04270437A (ja) 1992-09-25

Family

ID=26334735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11804791A Pending JPH04270437A (ja) 1991-01-10 1991-04-22 メモリ装置及び転送制御装置

Country Status (1)

Country Link
JP (1) JPH04270437A (ja)

Similar Documents

Publication Publication Date Title
US4841436A (en) Tag Data processing apparatus for a data flow computer
KR100571322B1 (ko) 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템
JP3248992B2 (ja) マルチプロセッサ
JPS6239780B2 (ja)
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JP2008181551A (ja) ベクトルレジスタを備えたコンピュータにおけるベクトルテールゲーティング
JP3756410B2 (ja) 述語データを提供するシステム
JPH0248732A (ja) 命令パイプライン方式のマイクロプロセッサ
JP2010117806A (ja) 半導体装置、および、半導体装置によるデータ処理方法
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JPH04270437A (ja) メモリ装置及び転送制御装置
US8631173B2 (en) Semiconductor device
KR910001708B1 (ko) 중앙처리장치
JPS6236575B2 (ja)
JP2553728B2 (ja) 演算装置
US5784634A (en) Pipelined CPU with instruction fetch, execution and write back stages
JP5414323B2 (ja) 半導体集積回路装置
JP7137058B2 (ja) 演算処理装置、情報処理装置及び情報処理装置の制御方法
JP2000020309A (ja) デジタルシグナルプロセッサ
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JPH0212358A (ja) データ転送方式
JP3708560B2 (ja) データフロー型情報処理装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JP2594091B2 (ja) データ駆動型データ処理装置
KR970007262B1 (ko) 데이타패스 및 명령세트 확장이 용이한 risc 구조