JPH01188949A - メモリアクセス制御装置 - Google Patents

メモリアクセス制御装置

Info

Publication number
JPH01188949A
JPH01188949A JP63013279A JP1327988A JPH01188949A JP H01188949 A JPH01188949 A JP H01188949A JP 63013279 A JP63013279 A JP 63013279A JP 1327988 A JP1327988 A JP 1327988A JP H01188949 A JPH01188949 A JP H01188949A
Authority
JP
Japan
Prior art keywords
data
program
input
memory
given
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
JP63013279A
Other languages
English (en)
Other versions
JPH0740257B2 (ja
Inventor
Soichi Miyata
宗一 宮田
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP63013279A priority Critical patent/JPH0740257B2/ja
Priority to US07/299,772 priority patent/US5117499A/en
Publication of JPH01188949A publication Critical patent/JPH01188949A/ja
Publication of JPH0740257B2 publication Critical patent/JPH0740257B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] この発明はメモリアクセス制御装置に関し、特に、演算
の対象になるデータが揃い次第命令の実行が可能になる
データフロー型の情報処理装置において、データフロー
プログラムを記憶し、入力データパケットに応じて命令
フェッチを行なうキャッシュメモリをアクセスするメモ
リアクセス制御装置に関する。
[従来の技術および発明が解決しようとする課題]従来
のコンピュータは、プログラムとして種々の命令をプロ
グラムメモリに記憶しておき、プログラムカウンタによ
ってプログラムメモリのアドレスを逐次指定して順次命
令を読出し、その命令を実行するというノイマン型計算
機が大部分である。
一方、データフロー型計算機は、プログラムカウンタべ
逐次的な命令の実行という概念を持たない非ノイマン型
計算機の一種である。このようなデータフロー型計算機
は、命令の並列処理を基本にしたアーキテクチャを採用
している。そして、演算の対象になるデータが揃い次第
、命令の実行が可能となり、データによって複数の命令
を同時に駆動するため、データの自然な流れに従って並
列的にプログラムが実行される。その結果、演算の所要
時間が大幅に短縮するとみなされている。
ところで、従来のデータフロー型計算機は、プログラム
メモリを内蔵するのが一般的であり、外部にプログラム
メモリを設けるという概念は存在しなかった。もし、外
部にプログラムメモリを設けた場合には、内蔵されてい
るキャッシュメモリと外部プログラムメモリをいかにし
てアクセスするかが問題となる。
それゆえに、この発明の主たる目的は、大容量のプログ
ラムメモリを外付けしかつ内蔵されたキャッシュメモリ
を高速でアクセスできるようなメモリアクセス制御装置
を提供することである。
〔課題を解決するための手段] この発明はプログラム制御部と対データ検出部と演算処
理部と外部プログラム記憶部とを備えた情報処理装置に
おいて、プログラム制御部は以下のように構成される。
すなわち、外部から実行パケットまたは外部プログラム
記憶部にロードするためのデータフロープログラムが与
えられる入力手段と、入力されたデータフロープログラ
ムを外部プログラム記憶部に出力するかまたは外部プロ
グラム記憶部から読出されたデータフロープログラムを
入力するかるあるいは外部プログラム記憶部によってフ
ェッチされた実行パケットを入力するかを自律的に制御
する入出力制御手段と、データフロープログラムを記憶
し、実行パケットに対応するプログラムデータを出力す
るキャッシュメモリと、入力手段から入力されたパケッ
トに含まれるアドレス情報に従ってキャッシュメモリを
アクセスする第1の制御手段と、入出力制御手段から入
力された実行パケットに含まれるアドレス情報に対して
少なくとも2回続けてキャッシュメモリをアクセスし、
コピー情報とともに出力する第2の制御手段と、キャッ
シュメモリでフェッチされた実行パケットおよび入出力
制御手段から入力された外部プログラム記憶部によって
フェッチされた実行パケットをコピー情報に従って自律
的かつ選択的に出力制御する出力制御手段とから構成さ
れる。
[作用] この発明に係るメモリアクセス制御装置は、外部からデ
ータフロープログラムが与えられたときには、そのプロ
グラムを外部プログラム記憶部にロードし、外部から実
行パケットが与えられたときには、その実行パケットに
含まれるアドレス情報に対して、異なる次の命令を2回
続けてキャッシュメモリをアクセスし、そのフェッチさ
れた命令を出力し、キャッシュメモリでミスヒツトした
ときには外部プログラム記憶部をアクセスして実行パケ
ットをフェッチして、その実行パケットを出力する。
[実施例] 第1図はこの発明が適用される情報処理装置の概略ブロ
ック図である。まず、第1図を参照して、情報処理装置
の構成について説明する。
情報処理装置1には外部プログラムメモリ2が外付けさ
れている。情報処理装置1は入出力制御回路を構成する
分岐結合部3,4,5.10およびバッファ11を含む
。分岐結合部3には入力データパケットが与えられ、こ
の入力データパケットは分岐結合部3によって分岐され
て分岐結合部4または5に与えられる。分岐結合部5は
分岐結合部3から出力された入力データパケットまたは
後述のバッファ11から与えられるデータパケットのい
ずれかをプログラム制御部6に与える。プログラム制御
部6はノードN#とG/C(Generat ton/
Co1or)とを組合わせたキーコードを複数記憶して
いて、該当するキーコードが入力されると、プログラム
上の行先ノードN#とその行先ノードN#でどのような
処理をするかを示すTAGが対データ検出部7に出力さ
れる。
対データ検出部7はプログラム制御部6から読出された
プログラムデータおよび被処理データに対して対となる
プログラムデータおよび被処理データが入力されたか否
かを判別するものである。
1対のプログラムデータおよび被処理データが対データ
検出部7で検出されかつ生成されたとき、接点8が閉じ
られる。なお、プログラムデータがnopの場合にも、
対となるべきプログラムデータが不要であるため、接点
8は閉じられる。また、対データ検出部7の出力は外部
プログラムメモリ2にも与えられている。対データ検出
部7から出力されたプログラムデータおよび被処理デー
タは、接点8を介してALU9に与えられて演算され、
その演算結果は分岐結合部10によってバッファ11ま
たは分岐結合部4に分岐される。バッファ11に記憶さ
れた演算結果は分岐結合部5を介してプログラム制御部
6に与えられる。
外部プログラムメモリ2は対データ検出部7から出力さ
れたプログラムデータに含まれるN#とG/Cとをキー
コードとして、次の命令のプログラムデータを読出して
プログラム制御部6にアップロードする。
前述のバッファ11は外部プログラムメモリ2がプログ
ラムデータを読出してから、ALU9の演算結果をプロ
グラム制御部6に与えるための遅延動作を行なうものと
して設けらでいる。なお、外部プログラムメモリ2は、
プログラム制御部6からプログラムデータの初期書込み
(ダウンロード)が可能なように構成されている。
第2図は第1図に示した情報処理装置によって処理され
るプログラムの一例を示す図であり、第3図ないし第1
0図は第1図に示した情報処理装置1によって、第2図
に示したプログラムを実行するときの各部のプログラム
データの変化を示す図である。
次に、第1図ないし第10図を参照して、情報処理装置
によるプログラム処理の具体的な動作について説明する
。まず、第2図のプログラムから明らかなように、ノー
ドN#Aに続くプログラムデータは、ノード■でデータ
Oのnop命令を実行するとともに、ノードDから与え
られかつノード■でNOP命令が実行されたデータとノ
ード■で加算命令を実行できるようにプログラム制御部
6に配されることが望まれる。
このために、第3図に示すように、情報処理装置1には
、入力データパケットとして、データ09TAGソース
、G/CO,N#Aが与えられる。
ここで、ノードN#AおよびG/C○の各々の一部を併
せたものがプログラム制御部6の物理アドレスを示して
おり、TAGソースはノードN#Aがプログラムデータ
の入力部を指定するものであり、G/CはデータOがど
の時刻でサンプリングされたデータであるのかを識別す
るための識別子として用いられている。
なお、ノードN#AとG/COはプログラム制御部6の
前記物理アドレスを与えるとともに該メモリをアクセス
するためのキーコードとして取扱われている。上述の入
力データパケットは分岐結合部3,5を介してプログラ
ム制御部6に与えられる。プログラム制御部6はノード
N#A、G/COをキーコードとして、対応するプログ
ラムデータをアクセスする。たとえば、対応するプログ
ラムデータとしてノードN#3.TAG+Lがフェッチ
される。
このプログラムデータは、第2図に示すプログラムのノ
ード■における加算の左側入力を与えることを示してい
る。このとき、ノード■におけるnop命令を処理する
ために同じデータ0が与えられるので、N#A、G/C
Oのキーコードに対して、予めコピーフラグがプログラ
ム制御部6内で設定されている。そして、プログラム制
御部6によってN#A、G/Coのキーコードに対して
、nopの命令を示すNH3,TAGnopが続けてフ
ェッチされる。
プログラム制御部6はフェッチされたNa3゜TAG+
Lというプログラムデータに対して、入力データパケッ
トに含まれるG/COとデータOを付加するとともに、
データが正常にフェッチされたことを示すフラグ0を付
加する。なお、ミスヒツトしたときにはフラグ1が付加
される。対データ検出部7はこのプログラムデータに対
して対となるプログラムデータが既にフェッチされてい
るか否かを判別する。すなわち、第2図に示すノード■
における右側のデータがフェッチされている否かを判別
する。今、ノード■における右側のデータは未だフェッ
チされていないので、対データ検出部7はこのプログラ
ムデータを待機させる。
一方、ノード■におけるnop命令のためのプログラム
データは、対となるべきプログラムデータを必要としな
いので、プログラム制御部6はフェッチされたNH3,
TAGnopに対して、入力データパケットに含まれる
G/Co、データ0を付加するとともに正常にフェッチ
されたことを示すフラグ0を付加して出力する。また、
プログラム制御部6からプログラムデータがフェッチさ
れたことにより、接点8が閉じられる。したがって、n
op命令のためのプログラムデータはALU9と外部プ
ログラムメモリ2とに与えられる。
このとき、情報処理装置1には、次の入力データパケッ
トが与えられたものとする。すなわち、次に第2図に示
すノードBにおける処理を次に行なうためのプログラム
データとして、データ1゜TAGソース、G/CO,N
#Bが分岐結合部3゜5を介してプログラム制御部6に
与えられる。このプログラムデータは、前述の第3図で
説明したN#Aとほぼ同じであり、ノード■でデータ1
のnop命令を実行し、ノード■において、データ1を
ノードDから与えられかつノード■でnop命令が実行
されたデータと加算することになる。
このために、前述の第3図の説明と同様にして、プログ
ラム制御部6は第4図に示すようにN#B。
G/COを該メモリの物理アドレスおよびキーコードと
して、対応するプログラムデータN#4゜TAG+Lを
フェッチする。このプログラムデータは、第2図に示す
プログラムのノード■における加算の左側入力を与える
データである。ノード■におけるnop命令を処理する
ために同じプログラムデータ1が与えられるので、プロ
グラム制御部6には、N#B、G/Coのキーコードに
対してコピーフラグが予め設定されている。
したがって、同じN#B、G/COをキーコードとする
次のnopの命令を示すNa9.TAGnopのプログ
ラムデータが続けてフェッチされる。さらに、プログラ
ム制御部6でフェッチされたNa3.TAG+Lという
プログラムデータに対して、入力データパケットに含ま
れるG/COとデータ1と正常にフェッチされたことを
示すフラグ0が付加される。そして、対データ検出部7
は、そのプログラムデータに対して、対となるプログラ
ムデータが既にフェッチされているか否かを判別する。
すなわち、第2図に示すノード■における右側のデータ
がフェッチされているか否かを判別するが、未だフェッ
チされていないので、このプログラムデータを待機させ
る。
一方、前述の入力データパケットがプログラム制御部6
に入力されている間に、外部プログラムメモリ2は第3
図に示すように、対データ検出部7から与えられたno
p命令のためのプログラムデータに含まれるN13.G
/Coの組合わせで決まるキーコードに対応するアドレ
スから次の命令を読出す。すなわち、ノード■でnop
命令の処理が行なわれたデータをノードN#Xに出力す
るために、N13.G/CO,N#x、TAGシンクを
プログラム制御部6に出力する。
また、ALU9にはnop命令のためのデータが与えら
れるが、nOp命令は何ら演算を行なわないことを示す
命令であるため、このプログラムデータをそのまま出力
する。nop命令のプログラムデータは分岐結合部10
.バラフッ115分岐結合部5を介してプログラム制御
部6に与えられる。
プログラム制御部6には、外部プログラムメモリ2から
読出されたプログラムデータが、バッファ11を介して
遅延が加えられたプログラムデータのフェッチよりも先
に入力される。したがって、プログラム制御部6は1、
そのプログラムデータに含まれるN13.G/COのキ
ーコードに対応するブーグラムデータとして、第5図に
示すように、N#x、TAGシンクをフェッチすること
ができ、続いてバッファ11を介して与えられるプログ
ラムデータに含まれるNa3.G/COのキーコードに
対応するプログラムデータであるN#y、TAGシンク
をフェッチすることができる。
次に、情報処理装置1には、ノードDのプログラムデー
タとして、第5図に示すように、データ3、TAGソー
ス、G/CO,N#Dが与えられる。すなわち、ノード
Dのプログラムデータは、第2図に示すように、ノード
■でnop命令を実行し、ノード■でinc (インク
リメント)命令を実行するものである。このために、プ
ログラム制御部6はこのプログラムデータに含まれるN
#D、G/COをキーコードとして、プログラムデータ
N#l、nopをフェッチし、同じキーコードN#D、
G/COに対してコピー処理を行なって、対応するプロ
グラムデータN#2.incをフェッチする。すなわち
、プログラム制御部6は、キーコードN#2.TAGi
ncに、入力データパケットに含まれるG/COとデー
タ0とフラグ0を付加して対データ検出部7に出力する
これらの処理を実行している間において、外部プログラ
ムメモリ2からはキーコードN#9.G/COに対応す
るプログラムデータN#9.G/CO,N#y、TAG
シンクが読出されてプログラム制御部6に与えられる。
このプログラムデータは、第2図に示すノード■でno
p命令が処理されたデータをノードyに出力することを
示している。
また、ALU9は第5図に示すN13.G/CO,TA
Gnop、Lデータ3.フラグ0のプログラムデータが
nop命令であるため、被処理データを素通りさせ、分
岐結合部10.バッファ11、分岐結合部10を介して
プログラム制御部6に与える。プログラム制御部6は、
第6図に示すようにそのプログラムデータのN13.G
/COをキーコードとして、Na3.TAG+Rをフェ
ッチする。そして、プログラム制御部6は、Na3、G
/CO,TAG+R,データ3.フラグ0からなるプロ
グラムデータを対データ検出部7に与える。
このような命令フェッチが可能となるのは外部プログラ
ムメモリ2が第5図に示すN13.G/CO,TAGn
op、Lデータ3.フラグ0からなるプログラムデータ
のキーコードN#1.G/COに基づいて、対応する2
組のプログラムデータ、G/CO,Na3.TAG+R
,Na3.TAG+Rを連続して読出し、これらの命令
がフェッチされるよりも以前にプログラム制御部6に与
えられるからである。それゆえに、プログラム制御部6
はそのプログラムデータのN13. G/COをキーコ
ードとして、Na3.TAG+Rのデータをもフェッチ
し、Na3.G/Co、TAG+R,データ3のプログ
ラムデータを対データ検出部7に与える。
すなわち、対データ検出部7には、第2図に示したノー
ド■の左側の被処理データと、ノード■の右側の被処理
データが与えられたことになる。
前述の第3図で説明したように、ノード■の左側のプロ
グラムデータおよび被処理データは既に対データ検出部
7に与えられており、また、前述の第4図で説明したよ
うに、ノード■の左側のプログラムデータおよび被処理
データが既に対データ検出部7に与えられている。した
がって、対データ検出部7はノード■の2つの被処理デ
ータおよびノード■の2つの被処理データが揃ったこと
を検出し、第7図に示すように、まずNa3.G/Co
、TA(、+、Lデータ0.Rデータ3.フラグ0のプ
ログラムデータをALU9に与える。応じて、ALU9
はノード■における加算のための演算処理を実行する。
さらに、対データ検出部7はNa4.G/CO,TAG
+、Lデータ1. Rデータ3のプログラムデータをA
LU9に与え、ノード■における演算処理を実行させる
前述のごとく、ALU9はノード■、■の演算処理を行
なった後、第2図に示すように、ノード■、■で1se
Q命令を実行する。この1sefL命令は、整数タイプ
の読出命令である。
次に、1sefL命令を実行するときに、プログラム制
御部6でハツシュ衝突が生じた場合の動作について説明
する。この例では、N#とG/Cとを組合わせてプログ
ラムデータをフェッチするためのキーコードとした。こ
の場合、N13とNa3は4ビツトのコードで表わせば
、“0101”。
“0110”となり、それぞれを識別することは可能で
ある。しかしながら、たとえば上位2ビツトをキーコー
ドとし、下位2ビツトを物理アドレスとして見た場合、
ともに“01゛であるため同じになる。すなわち、上位
2ビツトをキーコードとして用いた場合には、N13.
Na3を識別することはできない。このために、第2図
に示すノード■で1seu命令を実行した後、ノード■
の1seQ命令を実行すると、ALU9は次のような処
理を実行する。
すなわち、ALU9はノード■の演算を実行すると、第
8図に示すように、バッファ11にN13、G/CO,
データ3の演算結果を出力する。
プログラム制御部6はN13.G/Goのキーコードに
対応して、Na3.TAG*Rのデータをフェッチする
。一方、ALU9はノード■で1selの演算処理を実
行した後、ノード■で1setの演算処理を実行し、そ
の演算結果であるNa3、G/Co、データ4をバッフ
ァ11に出力する。
ところで、プログラム制御部6は、まず最初の演算結果
のN13.G/COをキーコードとして、対応するプロ
グラムデータをフェッチしようとするが、前述のごとく
、プログラム制御部6ではN13とNa3との識別がで
きないためにもともとN13.G/Coをキーコードと
して外部プログラムメモリ2より与えられたプログラム
データの上にNa3.G/COをキーコードとして外部
プログラムメモリ2より与えられた次のプログラムデー
タが書込まれており、プログラム制御部6はN13.G
/COのキーコードに対応する正常なデータをフェッチ
できず、ミスヒツトを生じる。
このような場合であっても、正常に動作させる必要があ
る。
そこで、この例では、プログラム制御部6はミスヒツト
を生じた場合に、ハツシュ衝突の生じたことを示すため
に、第9図に示すようにプログラムデータにミスヒツト
フラグ3を立てる。対データ検出部7はプログラムデー
タにミスヒツトフラグが立っている場合には、接点8を
閉じない。このため、対データ検出部7から出力された
プログラムデータは外部プログラムメモリ2にのみ与え
られ、ALU9には与えられない。
外部プログラムメモリ2は第9図に示すように、対デー
タ検出部7から与えられたプログラムデータのキーコー
ドN#5.G/COに基づいて、第10図に示すように
、ノード■の命令を実行するためのプログラムデータN
#7.G/CO,TAG*Lを読出すばかりでなく、演
算しようするデータ3.フラグ3も読出す。
すなわち、この例では、プログラム制御部6でミスヒツ
トした場合、外部プログラムメモリ2を直接アクセスし
て、次の命令とともにデータもプログラム制御部6に与
えることを特徴としている。
外部プログラムメモリ2から読出されたノード■のプロ
グラムデータはプログラム制御部6に与えられるが、こ
のプログラムデータにはデータも付加されているので、
ミスヒツトフラグに従ってプログラム制御部6を素通り
し、対データ検出部7に与えられる。対データ検出部7
はそのプログラムデータと対となるべきデータが入力さ
れるまで待機する。外部プログラムメモリ2はノード■
のプログラムデータを直接読出した後、第10図に示す
ようにノード■のプログラムデータN#6゜G/CO,
TAGR,フラグOがプログラム制御部6に入力される
プログラム制御部6はNa3.G/COをキーコードと
して、Na3.TAG*Rのプログラムデータをフェッ
チする。このプログラムデータは対データ検出部7に与
えられる。対データ検出部7はノード■における演算を
実行するのに必要な2つのデータが揃ったことを検出し
、再び接点8を閉じ、その2つのプログラムデータをA
LU9に与え、演算処理を実行する。
以下、同様の動作を行ない、ノード■の演算結果とノー
ドCで入力されるプログラムデータに基づいて、ノード
[相]における加算のための演算処理が行なわれ、ノー
ドUに出力される。
第11A図および第11B図はこの発明の一実施例のプ
ログラム制御部の具体的なブロック図である。
まず、第11A図および第11B図を参照して、外部か
ら入力されたプログラムデータを外部プログラムメモリ
2とメモリアレイ49とにロードする場合におけるプロ
グラム制御部6の構成とともにその動作について説明す
る。なお、プログラムデータは、外部からシリアルに順
次入力されるが、すべてのプログラムデータが外部プロ
グラムメモリ2にロードされ、そのうちの初期の1にワ
ードのプログラムデータはメモリアレイ49にもロード
される。
プログラムデータには、ULD、LDI、LDXのいず
れかの命令が含まれている。ULDはアンロードの意味
であり、通常の実行状態を表わしている。LDIはメモ
リアレイ49に初期の1にワードのプログラムデータを
ロードせよという命令であり、LDXは残りのプログラ
ムを外部プログラムメモリ2にロードせよという命令で
ある。
このような命令を含むプログラムデータは入力ポート1
1に与えられる。入力ポート11は各命令 ゛に応じて
、選択信号を経路選択部13に与える。
また、入力ポート11は入力されるプログラムデータの
アドレスをデコードし、1にワードのアドレスを検出し
たとき、検出信号を入出力ボート32に与える。入力ポ
ート11はプログラムデータを順次データラッチ12に
与える。データラッチ12は前段が空き状態になってい
ることに応じてデータをシフトするいわゆるハンドシェ
イクの手法でデータを出力するように構成されており、
以下に述べる各データラッチ15,18.20・・・も
同様にして構成されている。
データラッチ12から出力されたプログラムデータは経
路選択部13に与えられる。経路選択部13は入力ポー
ト11から与えられた選択信号に応じて、プログラムデ
ータを合流部14またはデータラ、ツチ33に選択的に
出力する。すなわち、プログラムデータに含まれる命令
がULDであれば通常の実行処理を行なうものであるた
め、入力データパケットを合流部14に出力し、命令が
LDIまたはLDXであれば、プログラムデータを外部
プログラムメモリ2にロードするために、プログラムデ
ータをデータラッチ33に出力する。
データラッチ33はプログラムデータをラッチした後、
そのプログラムデータを入出力ボート32に与える。入
出力ボート32はそのプログラムデータを外部に出力し
て、外部プログラムメモリ2に与えるとともに、データ
ラッチ34にも出力する。なお、入出力ボート32は入
力ポート11が1にワードを越えるアドレスを検出した
とき、プログラムデータを外部プログラムメモリ2にの
み出力し、データラッチ34には出力しない。
なお、外部プログラムメモリ2から読出された命令パケ
ットは入出力ボート32に与えられる。
データラッチ34にラッチされたプログラムデータは経
路選択部35に出力される。経路選択部35はプログラ
ムデータを分岐部36または合流部14に選択的に分岐
するものである。すなわち、キャッシュメモリへアップ
ロードすべきプログラムデータまたは外部からの初期ロ
ードデータが与えられたときには、その入力データパケ
ットを分岐部36に出力し、外部プログラムメモリ2で
フェッチされたデータパケットが与えられたときには、
合流部14に分岐させる。
分岐部36はデータパケットが与えられると、そのデー
タパケットに含まれるN#、G/Cの組合せからなるキ
ーデータを書込アドレス情報としてデータラッチ42に
ラッチさせ、データパケットに含まれるN#、TAGか
らなる書込データをデータラッチ37にラッチさせる。
データラッチ42にラッチされた書込アドレス情報は次
段のデータラッチ43にラッチされる。データラッチ4
3にラッチされた書込アドレス情報に基づいて、コピー
アドレス生成部44によってコピーアドレスが生成され
、G/CおよびN#からなるキーデータが書込データの
一部としてデータラッチ45にラッチされ、アドレス情
報としてのキーコードはデータラッチ46にラッチされ
る。
一方、データラッチ37にラッチされた書込データはデ
ータラッチ38にラッチされ、この書込データとデータ
ラッチ45にラッチされている書込データの一部が書込
データラッチ39にラッチされる。書込データラッチ3
9にラッチされた書込データは書込/読出制御部50に
与えられる。
一方、データラッチ46にラッチされた書込アドレス情
報は書込/読出調停制御部47に与えられる。書込/読
出調停制御部47には後で説明するが、データラッチ2
0からも読出アドレス情報が与えられる。そして、書込
/読出調停制御部47は書込アドレス情報と読出アドレ
ス情報のいずれか早く到達した方を選択してデコーダ4
8に与える。書込/読出調停制御部47は、もし書込ア
ドレス情報が与えられた後、続いて読出アドレス情報が
与えられたときには、書込アドレス情報をデコーダ48
に出力した後、続出アドレス情報をデコーダ48に出力
する。デコーダ48は書込アドレス情報および読出アド
レス情報をそれぞれデコードし、コラムアドレス情報と
ロウアドレス情報をメモリアレイ49に与える。そして
、メモリアレイ49には、書込アドレス情報によってア
ドレス指定されたメモリセルに書込データが書込まれる
上述の動作により、1にワードのプログラムデータがメ
モリアレイ49に書込まれ、入力ポート11が1にワー
ドのアドレスを検出したとき、入出力ボート32は以後
プログラムデータを外部プログラムメモリ2にのみ出力
し、データラッチ34には出力しない。それによって、
すべてのプログラムデータが外部プログラムメモリ2に
ロードされる。
次に、実際のプログラム実行手順について説明する。入
力ポート11には入力データパケットが与えられる。こ
の入力データパケットには、通常の実行状態を表わす命
令ULDが含まれている。
入力ポート11は命令ULDによりアンロードであるこ
とを判別し、経路選択部13を合流部14側に切換える
。そして、入力データパケットはデータラッチ12.経
路選択部13を介して合流部14にのみ与えられ、デー
タラッチ33側には出力されない。合流部14は次段の
データラッチ15が空き状態であれば、その入力データ
パケットをデータラッチ15にラッチさせる。データラ
ッチ15にラッチされた入力データパケットは分岐部1
6に与えられ、その入力データパケットに含まれるN#
およびG/Cからなるキーコードとオペランドデータが
分岐され、キーコードはデータラッチ18にラッチされ
るとともに、モード制御部17に与えられる。データラ
ッチ28にラッチされたオペランドデータは、データラ
ッチ29゜30および31に順次伝送される。
モード制御部17はメモリアレイ49にロードされた1
にワードのプログラムを読出して、そのプログラムデー
タが正常であるかどうかを判別するためにダンプを行な
うためのダンプモードと、キーコードに基づいて対応す
る命令をメモリアレイ49から読出す読出モードを設定
するものである。モード制御部17によって読出モード
が設定されていれば、データラッチ18にラッチされて
いるキーコードがコピーアドレス生成部19に与えられ
、そのキーコードに基づく同一のアドレス情報に対して
異なる命令をフェッチするために、コピーアドレスが生
成され、同じアドレス情報が順次データラッチ20にラ
ッチされる。データラッチ20にラッチされたアドレス
情報は書込/読出調停制御部47に与えられるとともに
、データラッチ21にラッチされる。
書込/読出調停制御部47はデータラッチ20から与え
られた読出情報と前述のごとくデータラッチ46から与
えられる書込アドレス情報のいずれが早く到達したかを
判別し、読出アドレス情報が先に到達していれば、その
アドレス情報をデコーダ48に与える。デコーダ48は
その読出アドレス情報をデコードし、メモリアレイ49
の所定のアドレスを指定する。そして、メモリアレイ4
9の指定されたアドレスから入力データパケットに含ま
れるN#、G/Cに対応する命令のプログラムデ7夕が
読出され、読出デークラッチ40にラッチされる。この
続出データは命令フェッチ制御論理部23に与えられる
とともに、データラッチ41にもラッチされる。
一方、データラッチ21にラッチされたキーコードはデ
ータラッチ22にラッチされ、そのラッチ出力が命令フ
ェッチ制御論理部23に与えられるとともに、データラ
ッチ24にラッチされる。
命令フェッチ制御論理部23はデータラッチ22から与
えられたキーコードと読出データラッチ40にラッチさ
れているメモリアレイ49から読出されたキーコードが
一致しているか否かを比較し、一致していることを判別
すれば、そのキーコードに引き続いてメモリアレイ4つ
からプログラムデータを再度読出すかどうかのフラグを
判定し、読出すべきフラグが立っていれば、データラッ
チ41にラッチされている続出データが出力ポート選択
部25によって選択され、出力ポート26に出力される
。また、引き続き読出されたプログラムデータは、出力
ポート選択部25を介して出力ポート27に出力される
もし、メモリアレイ49で所定の命令に対するミスヒツ
トによりハツシュ衝突が生じていた場合には、続出デー
クラッチ40にラッチされている読出キーコードとデー
タラッチ22にラッチされている入力データパケットに
基づくキーコードとが一致しないので、命令フェッチ制
御論理部23は不一致信号を出力ポート選択部25に与
える。
出力ポート選択部25は不一致信号が与えられたことに
応じて、ハツシュ衝突の生じたことを判別し、データラ
ッチ41にラッチされている読出データを出力すること
なく、データラッチ24にラッチされているキーコード
とデータラッチ31にラッチされているオペランドデー
タを選択して出力ポート26に出力する。
次に、外部プログラムメモリ2によってフェッチされた
次の命令の実行パケットが入出力ボート32に与えられ
ると、入出力ボート32はその実行パケットをデータラ
ッチ34にラッチさせる。
データラッチ34にラッチされた実行パケットは経路選
択部35に与えられる。経路選択部35は外部プログラ
ムメモリ2からフェッチされた実行パケットであること
をミスヒツトフラグに従って判別すると、その実行パケ
ットを合流部14に出力し、データラッチ15にラッチ
させる。分岐部16はその実行パケットのキーコードと
オペランドデータを分岐し、キーコードをデータラッチ
18にラッチさせるとともに、オペランドデータをデー
タラッチ28にラッチさせる。この場合、メモリアレイ
49からプログラムデータを読出す必要がないので、キ
ーコードはデータラッチ18゜コピーアドレス生成部1
つ、データラッチ20゜21.22および24を素通り
して出力ポート選択部25に与えられ、オペランドデー
タはデータラッチ28からデータラッチ29,30.3
1を素通りして出力ポート選択部25に与えられる。
そして、出力ポート選択部25はそのキーコードおよび
オペランドデータを出力ポート26に出力する。
[発明の効果] 以上のように、この発明によれば、外部からデータフロ
ープログラムが与えられたときには、そのプログラムを
外部プログラム記憶部にアップロードさせ、外部から実
行パケットが与えられたとキ、ソの実行パケットに含ま
れるアドレス情報に対して、異なる次の命令を2回続け
てキャッシュメモリに対してアクセスし、そのフェッチ
された命令を出力し、もし、キャッシュメモリがミスヒ
ツトした場合には、外部プログラム記憶部に対して次の
命令とともに被処理データをフェッチして出力すること
により、キャッシュプログラムメモリと外部プログラム
メモリとによって命令フェッチを無駄なく効率良く実行
することができる。
【図面の簡単な説明】
第1図はこの発明が適用される情報処理装置の概略ブロ
ック図である。第2図は第1図に示した情報処理装置に
よって処理されるプログラムの一例を示す図である。第
3図ないし第10図は第1図に示した情報処理装置によ
ってプログラム処理されるときの実行手順を説明するた
めの図である。 第11.A図および第11B図はこの発明の一実施例の
具体的なブロック図である。 図において、1は情報処理装置、2は外部プログラムメ
モリ、6はプログラム制御部、7は対データ検出部、8
は接点、9はALU、11は入力ポート、12. 15
. 18,20,21,22゜24.28,29.30
.31.3B、34,37.38,41,42,43,
45.46はデータラッチ、13.35は経路選択部、
14は合流部、16.36は分岐部、19.44はコピ
ーアドレス生成部、23は命令フェッチ制御論理部、2
5は出力ポート選択部、26.27は出力ポート、32
は入出力ボート、39は書込データラッチ、40は読出
デークラッチ、47は書込/読出調停制御部、48はデ
コーダ、49はメモリアレイ、50は書込/読出制御部
を示す。 第2図

Claims (1)

  1. 【特許請求の範囲】 データフロープログラムを記憶し、実行パケットに応じ
    て命令フェッチを行なうプログラム制御部と、前記プロ
    グラム制御部から対となるプログラムデータおよび被処
    理データが入力されたことを判別する対データ検出部と
    、前記対データ検出部によって対となるプログラムデー
    タおよび被処理データが検出されたことに応じて、その
    プログラムデータおよび被処理データに基づく演算を実
    行する演算処理部と、前記プログラム制御部にプログラ
    ムデータを与える外部プログラム記憶部とを備えた情報
    処理装置において、 前記プログラム制御部は、 外部から実行パケットまたは前記外部プログラム部にロ
    ードするためのデータフロープログラムが与えられる入
    力手段、 前記入力手段に入力されたデータフロープログラムを前
    記外部プログラム記憶部に出力するか、または前記外部
    プログラム記憶部から読出されたデータフロープログラ
    ムを入力するか、あるいは前記外部プログラム記憶部に
    よってフェッチされた実行パケットを入力するかを自律
    的に制御する入出力制御手段、 前記データフロープログラムを記憶し、実行パケットに
    応じて該当するプログラムデータを出力するキャッシュ
    メモリ、 前記入力手段または前記入出力制御手段から入力された
    パケットに含まれるアドレス情報に従って、前記キャッ
    シュメモリをアクセスする第1の制御手段、 前記入力手段または前記入出力制御手段から入力された
    パケットに含まれるアドレス情報に対して、少なくとも
    2回続けて前記キャッシュメモリをアクセスし、コピー
    情報とともに出力する第2の制御手段、および 前記キャッシュメモリでフェッチされた実行パケットお
    よび前記入出力制御手段から入力された前記外部プログ
    ラム記憶部によってフェッチされた実行パケットを前記
    コピー情報に従って自律的かつ選択的に出力制御する出
    力制御手段を備え、前記キャッシュメモリから読出され
    たデータおよび外部から入力されたパケットデータとの
    比較、照合、判定に基づいてフェッチすることを特徴と
    する、メモリアクセス制御装置。
JP63013279A 1988-01-22 1988-01-22 メモリアクセス制御装置 Expired - Lifetime JPH0740257B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63013279A JPH0740257B2 (ja) 1988-01-22 1988-01-22 メモリアクセス制御装置
US07/299,772 US5117499A (en) 1988-01-22 1989-01-19 Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63013279A JPH0740257B2 (ja) 1988-01-22 1988-01-22 メモリアクセス制御装置

Publications (2)

Publication Number Publication Date
JPH01188949A true JPH01188949A (ja) 1989-07-28
JPH0740257B2 JPH0740257B2 (ja) 1995-05-01

Family

ID=11828762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63013279A Expired - Lifetime JPH0740257B2 (ja) 1988-01-22 1988-01-22 メモリアクセス制御装置

Country Status (1)

Country Link
JP (1) JPH0740257B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991010967A1 (en) * 1990-01-09 1991-07-25 Hajime Seki Electronic computer system and operation processor used for the system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991010967A1 (en) * 1990-01-09 1991-07-25 Hajime Seki Electronic computer system and operation processor used for the system

Also Published As

Publication number Publication date
JPH0740257B2 (ja) 1995-05-01

Similar Documents

Publication Publication Date Title
US7793075B2 (en) Active memory command engine and method
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
JPH04245540A (ja) 条件付き分岐を有するプログラムの効率的実行をするためのコンピュータシステム
US5117499A (en) Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs
US5125097A (en) Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path
JPH05150979A (ja) 即値オペランド拡張方式
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
JP2916605B2 (ja) コンピュータ用プロセツサ
JPH0628499A (ja) データ駆動型情報処理装置
JPH01188949A (ja) メモリアクセス制御装置
US4935849A (en) Chaining and hazard apparatus and method
JPH0830971B2 (ja) プログラマブルコントローラ
JPH04220722A (ja) パイプライン処理装置
JPS61250754A (ja) 簡易型キヤツシユメモリ
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH01188941A (ja) プログラム実行制御方式
JPH01116702A (ja) シーケンスコントローラ
JPH052485A (ja) パイプライン制御方式
JPS6116334A (ja) デ−タ処理装置
JP2522372B2 (ja) デ―タ駆動形計算機
JPS61194566A (ja) ベクトルデ−タ参照制御方式
JPH06202867A (ja) 並列計算機
JPH01224870A (ja) 情報処理装置における主記憶アクセス命令実行制御方式
JPH03164945A (ja) データ処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080501

Year of fee payment: 13