JPH0740257B2 - メモリアクセス制御装置 - Google Patents
メモリアクセス制御装置Info
- Publication number
- JPH0740257B2 JPH0740257B2 JP63013279A JP1327988A JPH0740257B2 JP H0740257 B2 JPH0740257 B2 JP H0740257B2 JP 63013279 A JP63013279 A JP 63013279A JP 1327988 A JP1327988 A JP 1327988A JP H0740257 B2 JPH0740257 B2 JP H0740257B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- input
- unit
- packet
- 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.)
- Expired - Lifetime
Links
Landscapes
- Multi Processors (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] この発明はメモリアクセス制御装置に関し、特に、演算
の対象になるデータが揃い次第命令の実行から可能にな
るデータフロー型の情報処理装置において、データフロ
ープログラムを記憶し、入力データパケットに応じて命
令フェッチを行なうキャッシュメモリをアクセスするメ
モリアクセス制御装置に関する。
の対象になるデータが揃い次第命令の実行から可能にな
るデータフロー型の情報処理装置において、データフロ
ープログラムを記憶し、入力データパケットに応じて命
令フェッチを行なうキャッシュメモリをアクセスするメ
モリアクセス制御装置に関する。
[従来の技術および発明が解決しようとする課題] 従来のコンピュータは、プログラムとして種々の命令を
プログラムメモリに記憶しておき、プログラムカウンタ
によってプログラムメモリのアドレスを逐次指定して順
次命令を読出し、その命令を実行するというノイマン型
計算機が大部分である。
プログラムメモリに記憶しておき、プログラムカウンタ
によってプログラムメモリのアドレスを逐次指定して順
次命令を読出し、その命令を実行するというノイマン型
計算機が大部分である。
一方、データフロー型計算機は、プログラムカウンタへ
逐次的な命令の実行という概念を持たない非ノイマン型
計算機の一種である。このようなデータフロー型計算機
は、命令の並列処理を基本にしたアーキテクチャを採用
している。そして、演算の対象になるデータが揃い次
第、命令の実行が可能となり、データによって複数の命
令を同時に駆動するため、データの自然な流れに従って
並列的にプログラムが実行される。その結果、演算の所
要時間が大幅に短縮するとみなされている。
逐次的な命令の実行という概念を持たない非ノイマン型
計算機の一種である。このようなデータフロー型計算機
は、命令の並列処理を基本にしたアーキテクチャを採用
している。そして、演算の対象になるデータが揃い次
第、命令の実行が可能となり、データによって複数の命
令を同時に駆動するため、データの自然な流れに従って
並列的にプログラムが実行される。その結果、演算の所
要時間が大幅に短縮するとみなされている。
ところで、従来のデータフロー型計算機は、プログラム
メモリを内蔵するのが一般的であり、外部にプログラム
メモリを設けるという概念は存在しなかった。もし、外
部にプログラムメモリを設けた場合には、内蔵されてい
るキャッシュメモリと外部プログラムメモリをいかにし
てアクセスするかが問題となる。
メモリを内蔵するのが一般的であり、外部にプログラム
メモリを設けるという概念は存在しなかった。もし、外
部にプログラムメモリを設けた場合には、内蔵されてい
るキャッシュメモリと外部プログラムメモリをいかにし
てアクセスするかが問題となる。
それゆえに、この発明の主たる目的は、大容量のプログ
ラムメモリを外付けしかつ内蔵されたキャッシュメモリ
を高速でアクセスできるようなメモリアクセス制御装置
を提供することである。
ラムメモリを外付けしかつ内蔵されたキャッシュメモリ
を高速でアクセスできるようなメモリアクセス制御装置
を提供することである。
[課題を解決するための手段] この発明はプログラム制御部と対データ検出部と演算処
理部と外部プログラム記憶部とを備えた情報処理装置に
おいて、プログラム制御部は以下のように構成される。
すなわち、外部から実行パケットまたは外部プログラム
記憶部にロードするためのデータフロープログラムが与
えられる入力手段と、入力されたデータフロープログラ
ムを外部プログラム記憶部に出力するかまたは外部プロ
グラム記憶部から読出されたデータフロープログラムを
入力するかるあるいは外部プログラム記憶部によってフ
ェッチされた実行パケットを入力するかをデータフロー
プログラムまたは実行パケットが非同期で入力されるご
とに、それぞれに含まれる情報に基づいて出力先を制御
する入出力制御手段と、データフロープログラムを記憶
し、実行パケットに対応するプログラムデータを出力す
るキャッシュメモリと、入力手段から入力されたパケッ
トに含まれるアドレス情報に従ってキャッシュメモリを
アクセスする第1の制御手段と、入出力制御手段から入
力された実行パケットに含まれるアドレス情報に対して
少なくとも2回続けてキャッシュメモリをアクセスし、
コピー情報とともに出力する第2の制御手段と、キャッ
シュメモリでフェッチされた実行パケットおよび入出力
制御手段から入力された外部プログラム記憶部によって
フェッチされた実行パケットをコピー情報に従ってデー
タが非同期で入力されるごとに出力制御する出力制御手
段とから構成される。
理部と外部プログラム記憶部とを備えた情報処理装置に
おいて、プログラム制御部は以下のように構成される。
すなわち、外部から実行パケットまたは外部プログラム
記憶部にロードするためのデータフロープログラムが与
えられる入力手段と、入力されたデータフロープログラ
ムを外部プログラム記憶部に出力するかまたは外部プロ
グラム記憶部から読出されたデータフロープログラムを
入力するかるあるいは外部プログラム記憶部によってフ
ェッチされた実行パケットを入力するかをデータフロー
プログラムまたは実行パケットが非同期で入力されるご
とに、それぞれに含まれる情報に基づいて出力先を制御
する入出力制御手段と、データフロープログラムを記憶
し、実行パケットに対応するプログラムデータを出力す
るキャッシュメモリと、入力手段から入力されたパケッ
トに含まれるアドレス情報に従ってキャッシュメモリを
アクセスする第1の制御手段と、入出力制御手段から入
力された実行パケットに含まれるアドレス情報に対して
少なくとも2回続けてキャッシュメモリをアクセスし、
コピー情報とともに出力する第2の制御手段と、キャッ
シュメモリでフェッチされた実行パケットおよび入出力
制御手段から入力された外部プログラム記憶部によって
フェッチされた実行パケットをコピー情報に従ってデー
タが非同期で入力されるごとに出力制御する出力制御手
段とから構成される。
[作用] この発明に係るメモリアクセス制御装置は、外部からデ
ータフロープログラムが与えられたときには、そのプロ
グラムを外部プログラム記憶部にロードし、外部から実
行パケットが与えられたときには、その実行パケットに
含まれるアドレス情報に対して、異なる次の命令を2回
続けてキャッシュメモリをアクセスし、そのフェッチさ
れた命令を出力し、キャッシュメモリでミスヒットした
ときには外部プログラム記憶部をアクセスして実行パケ
ットをフェッチして、その実行パケットを出力する。
ータフロープログラムが与えられたときには、そのプロ
グラムを外部プログラム記憶部にロードし、外部から実
行パケットが与えられたときには、その実行パケットに
含まれるアドレス情報に対して、異なる次の命令を2回
続けてキャッシュメモリをアクセスし、そのフェッチさ
れた命令を出力し、キャッシュメモリでミスヒットした
ときには外部プログラム記憶部をアクセスして実行パケ
ットをフェッチして、その実行パケットを出力する。
[実施例] 第1図はこの発明が適用される情報処理装置の概略ブロ
ック図である。まず、第1図を参照して、情報処理装置
の構成について説明する。
ック図である。まず、第1図を参照して、情報処理装置
の構成について説明する。
情報処理装置1には外部プログラムメモリ2が外付けさ
れている。情報処理装置1は入出力制御回路を構成する
分岐結合部3,4,5,10およびバッファ11を含む。分岐結合
部3には入力データパケットが与えられ、この入力デー
タパケットは分岐結合部3によって分岐されて分岐結合
部4または5に与えられる。分岐結合部5は分岐結合部
3から出力された入力データパケットまたは後述のバッ
ファ11から与えられるデータパケットのいずれかをプロ
グラム制御部6に与える。プログラム制御部6はノード
N♯とG/C(Generation/Color)とを組合わせたキーコ
ードを複数記憶していて、該当するキーコードが入力さ
れると、プログラム上の行先ノードN♯とその行先ノー
ドN♯でどのような処理をするかを示すTAGが対データ
検出部7に出力される。
れている。情報処理装置1は入出力制御回路を構成する
分岐結合部3,4,5,10およびバッファ11を含む。分岐結合
部3には入力データパケットが与えられ、この入力デー
タパケットは分岐結合部3によって分岐されて分岐結合
部4または5に与えられる。分岐結合部5は分岐結合部
3から出力された入力データパケットまたは後述のバッ
ファ11から与えられるデータパケットのいずれかをプロ
グラム制御部6に与える。プログラム制御部6はノード
N♯とG/C(Generation/Color)とを組合わせたキーコ
ードを複数記憶していて、該当するキーコードが入力さ
れると、プログラム上の行先ノードN♯とその行先ノー
ドN♯でどのような処理をするかを示すTAGが対データ
検出部7に出力される。
対データ検出部7はプログラム制御部6から読出された
プログラムデータおよび被処理データに対して対となる
プログラムデータおよび被処理データが入力されたか否
かを判別するものである。1対のプログラムデータおよ
び被処理データが対データ検出部7で検出されかつ生成
されたとき、接点8が閉じられる。なお、プログラムデ
ータがnopの場合にも、対となるべきプログラムデータ
が不要であるため、接点8は閉じられる。また、対デー
タ検出部7の出力は外部プログラムメモリ2にも与えら
れている。対データ検出部7から出力されたプログラム
データおよび被処理データは、接点8を介してALU9に与
えられて演算され、その演算結果は分岐結合部10によっ
てバッファ11または分岐結合部4に分岐される。バッフ
ァ11に記憶された演算結果は分岐結合部5を介してプロ
グラム制御部6に与えられる。
プログラムデータおよび被処理データに対して対となる
プログラムデータおよび被処理データが入力されたか否
かを判別するものである。1対のプログラムデータおよ
び被処理データが対データ検出部7で検出されかつ生成
されたとき、接点8が閉じられる。なお、プログラムデ
ータがnopの場合にも、対となるべきプログラムデータ
が不要であるため、接点8は閉じられる。また、対デー
タ検出部7の出力は外部プログラムメモリ2にも与えら
れている。対データ検出部7から出力されたプログラム
データおよび被処理データは、接点8を介してALU9に与
えられて演算され、その演算結果は分岐結合部10によっ
てバッファ11または分岐結合部4に分岐される。バッフ
ァ11に記憶された演算結果は分岐結合部5を介してプロ
グラム制御部6に与えられる。
外部プログラムメモリ2は対データ検出部7から出力さ
れたプログラムデータに含まれるN♯とG/Cとをキーコ
ードとして、次の命令のプログラムデータを読出してプ
ログラム制御部6にアップロードする。
れたプログラムデータに含まれるN♯とG/Cとをキーコ
ードとして、次の命令のプログラムデータを読出してプ
ログラム制御部6にアップロードする。
前述のバッファ11は外部プログラムメモリ2がプログラ
ムデータを読出してから、ALU9の演算結果をプログラム
制御部6に与えるための遅延動作を行なうものとして設
けらている。なお、外部プログラムメモリ2は、プログ
ラム制御部6からプログラムデータの初期書込み(ダウ
ンロード)が可能なように構成されている。
ムデータを読出してから、ALU9の演算結果をプログラム
制御部6に与えるための遅延動作を行なうものとして設
けらている。なお、外部プログラムメモリ2は、プログ
ラム制御部6からプログラムデータの初期書込み(ダウ
ンロード)が可能なように構成されている。
第2図は第1図に示した情報処理装置によって処理され
るプログラムの一例を示す図であり、第3図ないし第10
図は第1図に示した情報処理装置1によって、第2図に
示したプログラムを実行するときの各部のプログラムデ
ータの変化を示す図である。
るプログラムの一例を示す図であり、第3図ないし第10
図は第1図に示した情報処理装置1によって、第2図に
示したプログラムを実行するときの各部のプログラムデ
ータの変化を示す図である。
次に、第1図ないし第10図を参照して、情報処理装置に
よるプログラム処理の具体的な動作について説明する。
まず、第2図のプログラムから明らかなように、ノード
N♯Aに続くプログラムデータは、ノードでデータ0
のnop命令を実行するとともに、ノードDから与えられ
かつノードでNOP命令が実行されたデータとノード
で加算命令を実行できるようにプログラム制御部6に配
されることが望まれる。
よるプログラム処理の具体的な動作について説明する。
まず、第2図のプログラムから明らかなように、ノード
N♯Aに続くプログラムデータは、ノードでデータ0
のnop命令を実行するとともに、ノードDから与えられ
かつノードでNOP命令が実行されたデータとノード
で加算命令を実行できるようにプログラム制御部6に配
されることが望まれる。
このために、第3図に示すように、情報処理装置1に
は、入力データパケットとして、データ0,TAGソース,G/
C0,N♯Aが与えられる。ここで、ノードN♯AおよびG/
C0の各々の一部を併せたものがプログラム制御部6の物
理アドレスを示しており、TAGソースはノードN♯Aが
プログラムデータの入力部を指定するものであり、G/C
はデータ0がどの時刻でサンプリングされたデータであ
るのかを識別するための識別子として用いられている。
は、入力データパケットとして、データ0,TAGソース,G/
C0,N♯Aが与えられる。ここで、ノードN♯AおよびG/
C0の各々の一部を併せたものがプログラム制御部6の物
理アドレスを示しており、TAGソースはノードN♯Aが
プログラムデータの入力部を指定するものであり、G/C
はデータ0がどの時刻でサンプリングされたデータであ
るのかを識別するための識別子として用いられている。
なお、ノードN♯AとG/C0はプログラム制御部6の前記
物理アドレスを与えるとともに該メモリをアクセスする
ためのキーコードとして取扱われている。上述の入力デ
ータパケットは分岐結合部3,5を介してプログラム制御
部6に与えられる。プログラム制御部6はノードN♯A,
G/C0をキーコードとして、対応するプログラムデータを
アクセスする。たとえば、対応するプログラムデータと
してノードN♯3,TAG+Lがフェッチされる。
物理アドレスを与えるとともに該メモリをアクセスする
ためのキーコードとして取扱われている。上述の入力デ
ータパケットは分岐結合部3,5を介してプログラム制御
部6に与えられる。プログラム制御部6はノードN♯A,
G/C0をキーコードとして、対応するプログラムデータを
アクセスする。たとえば、対応するプログラムデータと
してノードN♯3,TAG+Lがフェッチされる。
このプログラムデータは、第2図に示すプログラムのノ
ードにおける加算の左側入力を与えることを示してい
る。このとき、ノードにおけるnop命令を処理するた
めに同じデータ0が与えられるので、N♯A,G/C0のキー
コードに対して、予めコピーフラグがプログラム制御部
6内で設定されている。そして、プログラム制御部6に
よってN♯A,G/C0のキーコードに対して、nopの命令を
示すN♯8,TAGnopが続けてフェッチされる。
ードにおける加算の左側入力を与えることを示してい
る。このとき、ノードにおけるnop命令を処理するた
めに同じデータ0が与えられるので、N♯A,G/C0のキー
コードに対して、予めコピーフラグがプログラム制御部
6内で設定されている。そして、プログラム制御部6に
よってN♯A,G/C0のキーコードに対して、nopの命令を
示すN♯8,TAGnopが続けてフェッチされる。
プログラム制御部6はフェッチされたN♯3,TAG+Lと
いうプログラムデータに対して、入力データパケットに
含まれるG/C0とデータ0を付加するとともに、データが
正常にフェッチされたことを示すフラグ0を付加する。
なお、ミスヒットしたときにはフラグ1が付加される。
対データ検出部7はこのプログラムデータに対して対と
なるプログラムデータが既にフェッチされているか否か
を判別する。すなわち、第2図に示すノードにおける
右側のデータがフェッチされている否かを判別する。
今、ノードにおける右側のデータは未だフェッチされ
ていないので、対データ検出部7はこのプログラムデー
タを待機させる。
いうプログラムデータに対して、入力データパケットに
含まれるG/C0とデータ0を付加するとともに、データが
正常にフェッチされたことを示すフラグ0を付加する。
なお、ミスヒットしたときにはフラグ1が付加される。
対データ検出部7はこのプログラムデータに対して対と
なるプログラムデータが既にフェッチされているか否か
を判別する。すなわち、第2図に示すノードにおける
右側のデータがフェッチされている否かを判別する。
今、ノードにおける右側のデータは未だフェッチされ
ていないので、対データ検出部7はこのプログラムデー
タを待機させる。
一方、ノードにおけるnop命令のためのプログラムデ
ータは、対となるべきプログラムデータを必要としない
ので、プログラム制御部6はフェッチされたN♯8,TAGn
opに対して、入力データパケットに含まれるG/C0,デー
タ0を付加するとともに正常にフェッチされたことを示
すフラグ0を付加して出力する。また、プログラム制御
部6からプログラムデータがフェッチされたことによ
り、接点8が閉じられる。したがって、nop命令のため
のプログラムデータはALU9と外部プログラムメモリ2と
に与えられる。
ータは、対となるべきプログラムデータを必要としない
ので、プログラム制御部6はフェッチされたN♯8,TAGn
opに対して、入力データパケットに含まれるG/C0,デー
タ0を付加するとともに正常にフェッチされたことを示
すフラグ0を付加して出力する。また、プログラム制御
部6からプログラムデータがフェッチされたことによ
り、接点8が閉じられる。したがって、nop命令のため
のプログラムデータはALU9と外部プログラムメモリ2と
に与えられる。
このとき、情報処理装置1には、次の入力データパケッ
トが与えられたものとする。すなわち、次に第2図に示
すノードBにおける処理を次に行なうためのプログラム
データとして、データ1,TAGソース,G/C0,N♯Bが分岐結
合部3,5を介してプログラム制御部6に与えられる。こ
のプログラムデータは、前述の第3図で説明したN♯A
とほぼ同じであり、ノードでデータ1のnop命令を実
行し、ノードにおいて、データ1をノードDから与え
られかつノードでnop命令が実行されたデータと加算
することになる。
トが与えられたものとする。すなわち、次に第2図に示
すノードBにおける処理を次に行なうためのプログラム
データとして、データ1,TAGソース,G/C0,N♯Bが分岐結
合部3,5を介してプログラム制御部6に与えられる。こ
のプログラムデータは、前述の第3図で説明したN♯A
とほぼ同じであり、ノードでデータ1のnop命令を実
行し、ノードにおいて、データ1をノードDから与え
られかつノードでnop命令が実行されたデータと加算
することになる。
このために、前述の第3図の説明と同様にして、プログ
ラム制御部6は第4図に示すようにN♯B,G/C0を該メモ
リの物理アドレスおよびキーコードとして、対応するプ
ログラムデータN♯4,TAG+Lをフェッチする。このプ
ログラムデータは、第2図に示すプログラムのノード
における加算の左側入力を与えるデータである。ノード
におけるnop命令を処理するために同じプログラムデ
ータ1が与えられるので、プログラム制御部6には、N
♯B,G/C0のキーコードに対してコピーフラグが予め設定
されている。
ラム制御部6は第4図に示すようにN♯B,G/C0を該メモ
リの物理アドレスおよびキーコードとして、対応するプ
ログラムデータN♯4,TAG+Lをフェッチする。このプ
ログラムデータは、第2図に示すプログラムのノード
における加算の左側入力を与えるデータである。ノード
におけるnop命令を処理するために同じプログラムデ
ータ1が与えられるので、プログラム制御部6には、N
♯B,G/C0のキーコードに対してコピーフラグが予め設定
されている。
したがって、同じN♯B,G/C0をキーコードとする次のno
pの命令を示すN♯9,TAGnopのプログラムデータが続け
てフェッチされる。さらに、プログラム制御部6でフェ
ッチされたN♯4,TAG+Lというプログラムデータに対
して、入力データパケットに含まれるG/C0とデータ1と
正常にフェッチされたことを示すフラグ0が付加され
る。そして、対データ検出部7は、そのプログラムデー
タに対して、対となるプログラムデータが既にフェッチ
されているか否かを判別する。すなわち、第2図に示す
ノードにおける右側のデータがフェッチされているか
否かを判別するが、未だフェッチされていないので、こ
のプログラムデータを待機させる。
pの命令を示すN♯9,TAGnopのプログラムデータが続け
てフェッチされる。さらに、プログラム制御部6でフェ
ッチされたN♯4,TAG+Lというプログラムデータに対
して、入力データパケットに含まれるG/C0とデータ1と
正常にフェッチされたことを示すフラグ0が付加され
る。そして、対データ検出部7は、そのプログラムデー
タに対して、対となるプログラムデータが既にフェッチ
されているか否かを判別する。すなわち、第2図に示す
ノードにおける右側のデータがフェッチされているか
否かを判別するが、未だフェッチされていないので、こ
のプログラムデータを待機させる。
一方、前述の入力データパケットがプログラム制御部6
に入力されている間に、外部プログラムメモリ2は第3
図に示すように、対データ検出部7から与えられたnop
命令のためのプログラムデータに含まれるN♯8,G/C0の
組合わせで決まるキーコードに対応するアドレスから次
の命令を読出す。すなわち、ノードでnop命令の処理
が行なわれたデータをノードN♯xに出力するために、
N♯8,G/C0,N♯x,TAGシンクをプログラム制御部6に出
力する。
に入力されている間に、外部プログラムメモリ2は第3
図に示すように、対データ検出部7から与えられたnop
命令のためのプログラムデータに含まれるN♯8,G/C0の
組合わせで決まるキーコードに対応するアドレスから次
の命令を読出す。すなわち、ノードでnop命令の処理
が行なわれたデータをノードN♯xに出力するために、
N♯8,G/C0,N♯x,TAGシンクをプログラム制御部6に出
力する。
また、ALU9にはnop命令のためのデータが与えられる
が、nop命令は何ら演算を行なわないことを示す命令で
あるため、このプログラムデータをそのまま出力する。
nop命令のプログラムデータは分岐結合部10,バッファ1
1,分岐結合部5を介してプログラム制御部6に与えられ
る。
が、nop命令は何ら演算を行なわないことを示す命令で
あるため、このプログラムデータをそのまま出力する。
nop命令のプログラムデータは分岐結合部10,バッファ1
1,分岐結合部5を介してプログラム制御部6に与えられ
る。
プログラム制御部6には、外部プログラムメモリ2から
読出されたプログラムデータが、バッファ11を介して遅
延が加えられたプログラムデータのフェッチよりも先に
入力される。したがって、プログラム制御部6は、、そ
のプログラムデータに含まれるN♯8,G/C0のキーコード
に対応するプログラムデータとして、第5図に示すよう
に、N♯x,TAGシンクをフェッチすることができ、続い
てバッファ11を介して与えられるプログラムデータに含
まれるN♯9,G/C0のキーコードに対応するプログラムデ
ータであるN♯y,TAGシンクをフェッチすることができ
る。
読出されたプログラムデータが、バッファ11を介して遅
延が加えられたプログラムデータのフェッチよりも先に
入力される。したがって、プログラム制御部6は、、そ
のプログラムデータに含まれるN♯8,G/C0のキーコード
に対応するプログラムデータとして、第5図に示すよう
に、N♯x,TAGシンクをフェッチすることができ、続い
てバッファ11を介して与えられるプログラムデータに含
まれるN♯9,G/C0のキーコードに対応するプログラムデ
ータであるN♯y,TAGシンクをフェッチすることができ
る。
次に、情報処理装置1には、ノードDのプログラムデー
タとして、第5図に示すように、データ3,TAGソース,G/
C0,N♯Dが与えられる。すなわち、ノードDのプログラ
ムデータは、第2図に示すように、ノードでnop命令
を実行し、ノードでinc(インクリメント)命令を実
行するものである。このために、プログラム制御部6は
このプログラムデータに含まれるN♯D,G/C0をキーコー
ドとして、プログラムデータN♯1,nopをフェッチし、
同じキーコードN♯D,G/C0に対してコピー処理を行なっ
て、対応するプログラムデータN♯2,incをフェッチす
る。すなわち、プログラム制御部6は、キーコードN♯
2,TAGincに、入力データパケットに含まれるG/C0とデー
タ0とフラグ0を付加して対データ検出部7に出力す
る。
タとして、第5図に示すように、データ3,TAGソース,G/
C0,N♯Dが与えられる。すなわち、ノードDのプログラ
ムデータは、第2図に示すように、ノードでnop命令
を実行し、ノードでinc(インクリメント)命令を実
行するものである。このために、プログラム制御部6は
このプログラムデータに含まれるN♯D,G/C0をキーコー
ドとして、プログラムデータN♯1,nopをフェッチし、
同じキーコードN♯D,G/C0に対してコピー処理を行なっ
て、対応するプログラムデータN♯2,incをフェッチす
る。すなわち、プログラム制御部6は、キーコードN♯
2,TAGincに、入力データパケットに含まれるG/C0とデー
タ0とフラグ0を付加して対データ検出部7に出力す
る。
これらの処理を実行している間において、外部プログラ
ムメモリ2からはキーコードN♯9,G/C0に対応するプロ
グラムデータN♯9,G/C0,N♯y,TAGシンクが読出されて
プログラム制御部6に与えられる。このプログラムデー
タは、第2図に示すノードでnop命令が処理されたデ
ータをノードyに出力することを示している。
ムメモリ2からはキーコードN♯9,G/C0に対応するプロ
グラムデータN♯9,G/C0,N♯y,TAGシンクが読出されて
プログラム制御部6に与えられる。このプログラムデー
タは、第2図に示すノードでnop命令が処理されたデ
ータをノードyに出力することを示している。
また、ALU9は第5図に示すN♯1,G/C0,TAGnop,Lデータ
3,フラグ0のプログラムデータがnop命令であるため、
被処理データを素通りさせ、分岐結合部10,バッファ11,
分岐結合部10を介してプログラム制御部6に与える。プ
ログラム制御部6は、第6図に示すようにそのプログラ
ムデータのN♯1,G/C0をキーコードとして、N♯3,TAG
+Rをフェッチする。そして、プログラム制御部6は、
N♯3,G/C0,TAG+R,データ3,フラグ0からなるプログラ
ムデータを対データ検出部7に与える。
3,フラグ0のプログラムデータがnop命令であるため、
被処理データを素通りさせ、分岐結合部10,バッファ11,
分岐結合部10を介してプログラム制御部6に与える。プ
ログラム制御部6は、第6図に示すようにそのプログラ
ムデータのN♯1,G/C0をキーコードとして、N♯3,TAG
+Rをフェッチする。そして、プログラム制御部6は、
N♯3,G/C0,TAG+R,データ3,フラグ0からなるプログラ
ムデータを対データ検出部7に与える。
このような命令フェッチが可能となるのは外部プログラ
ムメモリ2が第5図に示すN♯1,G/C0,TAGnop,Lデータ
3,フラグ0からなるプログラムデータのキーコードN♯
1,G/C0に基づいて、対応する2組のプログラムデータ,G
/C0,N♯3,TAG+R,N♯4,TAG+Rを連続して読出し、これ
らの命令がフェッチされるよりも以前にプログラム制御
部6に与えられるからである。それゆえに、プログラム
制御部6はそのプログラムデータのN♯1,G/C0をキーコ
ードとして、N♯4,TAG+Rのデータをもフェッチし、
N♯4,G/C0,TAG+R,データ3のプログラムデータを対デ
ータ検出部7に与える。
ムメモリ2が第5図に示すN♯1,G/C0,TAGnop,Lデータ
3,フラグ0からなるプログラムデータのキーコードN♯
1,G/C0に基づいて、対応する2組のプログラムデータ,G
/C0,N♯3,TAG+R,N♯4,TAG+Rを連続して読出し、これ
らの命令がフェッチされるよりも以前にプログラム制御
部6に与えられるからである。それゆえに、プログラム
制御部6はそのプログラムデータのN♯1,G/C0をキーコ
ードとして、N♯4,TAG+Rのデータをもフェッチし、
N♯4,G/C0,TAG+R,データ3のプログラムデータを対デ
ータ検出部7に与える。
すなわち、対データ検出部7には、第2図に示したノー
ドの左側の被処理データと、ノードの右側の被処理
データが与えられたことになる。前述の第3図で説明し
たように、ノードの左側のプログラムデータおよび被
処理データは既に対データ検出部7に与えられており、
また、前述の第4図で説明したように、ノードの左側
のプログラムデータおよび被処理データが既に対データ
検出部7に与えられている。したがって、対データ検出
部7はノードの2つの被処理データおよびノードの
2つの被処理データが揃ったことを検出し、第7図に示
すように、まずN♯3,G/C0,TAG+,Lデータ0,Rデータ3,
フラグ0のプログラムデータをALU9に与える。応じて、
ALU9はノードにおける加算のための演算処理を実行す
る。さらに、対データ検出部7はN♯4,G/C0,TAG+,Lデ
ータ1,Rデータ3のプログラムデータをALU9に与え、ノ
ードにおける演算処理を実行させる。
ドの左側の被処理データと、ノードの右側の被処理
データが与えられたことになる。前述の第3図で説明し
たように、ノードの左側のプログラムデータおよび被
処理データは既に対データ検出部7に与えられており、
また、前述の第4図で説明したように、ノードの左側
のプログラムデータおよび被処理データが既に対データ
検出部7に与えられている。したがって、対データ検出
部7はノードの2つの被処理データおよびノードの
2つの被処理データが揃ったことを検出し、第7図に示
すように、まずN♯3,G/C0,TAG+,Lデータ0,Rデータ3,
フラグ0のプログラムデータをALU9に与える。応じて、
ALU9はノードにおける加算のための演算処理を実行す
る。さらに、対データ検出部7はN♯4,G/C0,TAG+,Lデ
ータ1,Rデータ3のプログラムデータをALU9に与え、ノ
ードにおける演算処理を実行させる。
前述のごとく、ALU9はノード,の演算処理を行なっ
た後、第2図に示すように、ノード,でisel命令を
実行する。このisel命令は、整数タイプの読出命令であ
る。
た後、第2図に示すように、ノード,でisel命令を
実行する。このisel命令は、整数タイプの読出命令であ
る。
次に、isel命令を実行するときに、プログラム制御部6
でハッシュ衝突が生じた場合の動作について説明する。
この例では、N♯とG/Cとを組合わせてプログラムデー
タをフェッチするためのキーコードとした。この場合、
N♯5とN♯6は4ビットのコードで表わせば、“010
1",“0110"となり、それぞれを識別することは可能であ
る。しかしながら、たとえば上位2ビットをキーコード
とし、下位2ビットを物理アドレスとして見た場合、と
もに“01"であるため同じになる。すなわち、上位2ビ
ットをキーコードとして用いた場合には、N♯5,N♯6
を識別することはできない。このために、第2図に示す
ノードでisel命令を実行した後、ノードのisel命令
を実行すると、ALU9は次のような処理を実行する。
でハッシュ衝突が生じた場合の動作について説明する。
この例では、N♯とG/Cとを組合わせてプログラムデー
タをフェッチするためのキーコードとした。この場合、
N♯5とN♯6は4ビットのコードで表わせば、“010
1",“0110"となり、それぞれを識別することは可能であ
る。しかしながら、たとえば上位2ビットをキーコード
とし、下位2ビットを物理アドレスとして見た場合、と
もに“01"であるため同じになる。すなわち、上位2ビ
ットをキーコードとして用いた場合には、N♯5,N♯6
を識別することはできない。このために、第2図に示す
ノードでisel命令を実行した後、ノードのisel命令
を実行すると、ALU9は次のような処理を実行する。
すなわち、ALU9はノードの演算を実行すると、第8図
に示すように、バッファ11にN♯5,G/C0,データ3の演
算結果を出力する。プログラム制御部6はN♯5,G/C0の
キーコードに対応して、N♯7,TAG*Rのデータをフェ
ッチする。一方、ALU9はノードでiselの演算処理を実
行した後、ノードでiselの演算処理を実行し、その演
算結果であるN♯6,G/C0,データ4をバッファ11に出力
する。
に示すように、バッファ11にN♯5,G/C0,データ3の演
算結果を出力する。プログラム制御部6はN♯5,G/C0の
キーコードに対応して、N♯7,TAG*Rのデータをフェ
ッチする。一方、ALU9はノードでiselの演算処理を実
行した後、ノードでiselの演算処理を実行し、その演
算結果であるN♯6,G/C0,データ4をバッファ11に出力
する。
ところで、プログラム制御部6は、まず最初の演算結果
のN♯5,G/C0をキーコードとして、対応するプログラム
データをフェッチしようとするが、前述のごとく、プロ
グラム制御部6ではN♯5とN♯6との識別ができない
ためにもともとN♯5,G/C0をキーコードとして外部プロ
グラムメモリ2より与えられたプログラムデータの上に
N♯6,G/C0をキーコードとして外部プログラムメモリ2
より与えられた次のプログラムデータが書込まれてお
り、プログラム制御部6はN♯5,G/C0のキーコードに対
応する正常なデータをフェッチできず、ミスヒットを生
じる。このような場合であっても、正常に動作させる必
要がある。
のN♯5,G/C0をキーコードとして、対応するプログラム
データをフェッチしようとするが、前述のごとく、プロ
グラム制御部6ではN♯5とN♯6との識別ができない
ためにもともとN♯5,G/C0をキーコードとして外部プロ
グラムメモリ2より与えられたプログラムデータの上に
N♯6,G/C0をキーコードとして外部プログラムメモリ2
より与えられた次のプログラムデータが書込まれてお
り、プログラム制御部6はN♯5,G/C0のキーコードに対
応する正常なデータをフェッチできず、ミスヒットを生
じる。このような場合であっても、正常に動作させる必
要がある。
そこで、この例では、プログラム制御部6はミスヒット
を生じた場合に、ハッシュ衝突の生じたことを示すため
に、第9図に示すようにプログラムデータにミスヒット
フラグ3を立てる。対データ検出部7はプログラムデー
タにミスヒットフラグが立っている場合には、接点8を
閉じない。このため、対データ検出部7から出力された
プログラムデータは外部プログラムメモリ2にのみ与え
られ、ALU9には与えられない。
を生じた場合に、ハッシュ衝突の生じたことを示すため
に、第9図に示すようにプログラムデータにミスヒット
フラグ3を立てる。対データ検出部7はプログラムデー
タにミスヒットフラグが立っている場合には、接点8を
閉じない。このため、対データ検出部7から出力された
プログラムデータは外部プログラムメモリ2にのみ与え
られ、ALU9には与えられない。
外部プログラムメモリ2は第9図に示すように、対デー
タ検出部7から与えられたプログラムデータのキーコー
ドN♯5,G/C0に基づいて、第10図に示すように、ノード
の命令を実行するためのプログラムデータN♯7,G/C
0,TAG*Lを読出すばかりでなく、演算しようするデー
タ3,フラグ3も読出す。
タ検出部7から与えられたプログラムデータのキーコー
ドN♯5,G/C0に基づいて、第10図に示すように、ノード
の命令を実行するためのプログラムデータN♯7,G/C
0,TAG*Lを読出すばかりでなく、演算しようするデー
タ3,フラグ3も読出す。
すなわち、この例では、プログラム制御部6でミスヒッ
トした場合、外部プログラムメモリ2を直接アクセスし
て、次の命令とともにデータもプログラム制御部6に与
えることを特徴としている。
トした場合、外部プログラムメモリ2を直接アクセスし
て、次の命令とともにデータもプログラム制御部6に与
えることを特徴としている。
外部プログラムメモリ2から読出されたノードのプロ
グラムデータはプログラム制御部6に与えられるが、こ
のプログラムデータにはデータも付加されているので、
ミスヒットフラグに従ってプログラム制御部6を素通り
し、対データ検出部7に与えられる。対データ検出部7
はそのプログラムデータと対となるべきデータが入力さ
れるまで待機する。外部プログラムメモリ2はノード
のプログラムデータを直接読出した後、第10図に示すよ
うにノードのプログラムデータN♯6,G/C0,TAGR,フラ
グ0がプログラム制御部6に入力される。
グラムデータはプログラム制御部6に与えられるが、こ
のプログラムデータにはデータも付加されているので、
ミスヒットフラグに従ってプログラム制御部6を素通り
し、対データ検出部7に与えられる。対データ検出部7
はそのプログラムデータと対となるべきデータが入力さ
れるまで待機する。外部プログラムメモリ2はノード
のプログラムデータを直接読出した後、第10図に示すよ
うにノードのプログラムデータN♯6,G/C0,TAGR,フラ
グ0がプログラム制御部6に入力される。
プログラム制御部6はN♯6,G/C0をキーコードとして、
N♯7,TAG*Rのプログラムデータをフェッチする。こ
のプログラムデータは対データ検出部7に与えられる。
対データ検出部7はノードにおける演算を実行するの
に必要な2つのデータが揃ったことを検出し、再び接点
8を閉じ、その2つのプログラムデータをALU9に与え、
演算処理を実行する。
N♯7,TAG*Rのプログラムデータをフェッチする。こ
のプログラムデータは対データ検出部7に与えられる。
対データ検出部7はノードにおける演算を実行するの
に必要な2つのデータが揃ったことを検出し、再び接点
8を閉じ、その2つのプログラムデータをALU9に与え、
演算処理を実行する。
以下、同様の動作を行ない、ノードの演算結果とノー
ドCで入力されるプログラムデータに基づいて、ノード
における加算のための演算処理が行なわれ、ノードu
に出力される。
ドCで入力されるプログラムデータに基づいて、ノード
における加算のための演算処理が行なわれ、ノードu
に出力される。
第11A図および第11B図はこの発明の一実施例のプログラ
ム制御部の具体的なブロック図である。
ム制御部の具体的なブロック図である。
まず、第11A図および第11B図を参照して、外部から入力
されたプログラムデータを外部プログラムメモリ2とメ
モリアレイ49とにロードする場合におけるプログラム制
御部6の構成とともにその動作について説明する。な
お、プログラムデータは、外部からシリアルに順次入力
されるが、全てのプログラムデータが外部プログラムメ
モリ2にロードされ、そのうちの初期の1kワードのプロ
グラムデータはメモリアレイ49にもロードされる。
されたプログラムデータを外部プログラムメモリ2とメ
モリアレイ49とにロードする場合におけるプログラム制
御部6の構成とともにその動作について説明する。な
お、プログラムデータは、外部からシリアルに順次入力
されるが、全てのプログラムデータが外部プログラムメ
モリ2にロードされ、そのうちの初期の1kワードのプロ
グラムデータはメモリアレイ49にもロードされる。
プログラムデータには、ULD,LDI,LDXのいずれかの命令
が含まれている。ULDはアンロードの意味であり、通常
の実行状態を表わしている。LDIはメモリアレイ49に初
期の1kワードのプログラムデータをロードせよという命
令であり、LDXは残りのプログラムを外部プログラムメ
モリ2にロードせよという命令である。このような命令
を含むプログラムデータは入力ポート11に与えられる。
入力ポート11は各命令に応じて、選択信号を経路選択部
13に与える。また、入力ポート11は入力されるプログラ
ムデータのアドレスをデコードし、1kワードのアドレス
を検出したとき、検出信号を入出力ポート32に与える。
入力ポート11はプログラムデータを順次データラッチ12
に与える。データラッチ12は前段が空き状態になってい
ることに応じてデータをシフトするいわゆるハンドシェ
イクの手法でデータを出力するように構成されており、
以下に述べる各データラッチ15,18,20…も同様にして構
成されている。
が含まれている。ULDはアンロードの意味であり、通常
の実行状態を表わしている。LDIはメモリアレイ49に初
期の1kワードのプログラムデータをロードせよという命
令であり、LDXは残りのプログラムを外部プログラムメ
モリ2にロードせよという命令である。このような命令
を含むプログラムデータは入力ポート11に与えられる。
入力ポート11は各命令に応じて、選択信号を経路選択部
13に与える。また、入力ポート11は入力されるプログラ
ムデータのアドレスをデコードし、1kワードのアドレス
を検出したとき、検出信号を入出力ポート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が1kワードを越えるアドレスを検出したと
き、プログラムデータを外部プログラムメモリ2にのみ
出力し、データラッチ34には出力しない。
選択部13に与えられる。経路選択部13は入力ポート11か
ら与えられた選択信号に応じて、プログラムデータを合
流部14またはデータラッチ33に選択的に出力する。すな
わち、プログラムデータに含まれる命令がULDであれば
通常の実行処理を行なうものであるため、入力データパ
ケットを合流部14に出力し、命令がLDIまたはLDXであれ
ば、プログラムデータを外部プログラムメモリ2にロー
ドするために、プログラムデータをデータラッチ33に出
力する。データラッチ33はプログラムデータをラッチし
た後、そのプログラムデータを入出力ポート32に与え
る。入出力ポート32はそのプログラムデータを外部に出
力して、外部プログラムメモリ2に与えるとともに、デ
ータラッチ34にも出力する。なお、入出力ポート32は入
力ポート11が1kワードを越えるアドレスを検出したと
き、プログラムデータを外部プログラムメモリ2にのみ
出力し、データラッチ34には出力しない。
なお、外部プログラムメモリ2から読出された命令パケ
ットは入出力ポート32に与えられる。データラッチ34に
ラッチされたプログラムデータは経路選択部35に出力さ
れる。経路選択部35はプログラムデータを分岐部36また
は合流部14に選択的に分岐するものである。すなわち、
キャッシュメモリへアップロードすべきプログラムデー
タまたは外部からの初期ロードデータが与えられたとき
には、その入力データパケットを分岐部36に出力し、外
部プログラムメモリ2でフェッチされたデータパケット
が与えられたときには、合流部14に分岐させる。
ットは入出力ポート32に与えられる。データラッチ34に
ラッチされたプログラムデータは経路選択部35に出力さ
れる。経路選択部35はプログラムデータを分岐部36また
は合流部14に選択的に分岐するものである。すなわち、
キャッシュメモリへアップロードすべきプログラムデー
タまたは外部からの初期ロードデータが与えられたとき
には、その入力データパケットを分岐部36に出力し、外
部プログラムメモリ2でフェッチされたデータパケット
が与えられたときには、合流部14に分岐させる。
分岐部36はデータパケットが与えられると、そのデータ
パケットに含まれるN♯,G/Cの組合せからなるキーデー
タを書込アドレス情報としてデータラッチ42にラッチさ
せ、データパケットに含まれるN♯,TAGからなる書込デ
ータをデータラッチ37にラッチさせる。データラッチ42
のラッチされた書込アドレス情報は次段のデータラッチ
43にラッチされる。データラッチ43にラッチされた書込
アドレス情報に基づいて、コピーアドレス生成部44によ
ってコピーアドレスが生成され、G/CおよびN♯からな
るキーデータが書込データの一部としてデータラッチ45
にラッチされ、アドレス情報としてのキーコードはデー
タラッチ46にラッチされる。
パケットに含まれるN♯,G/Cの組合せからなるキーデー
タを書込アドレス情報としてデータラッチ42にラッチさ
せ、データパケットに含まれるN♯,TAGからなる書込デ
ータをデータラッチ37にラッチさせる。データラッチ42
のラッチされた書込アドレス情報は次段のデータラッチ
43にラッチされる。データラッチ43にラッチされた書込
アドレス情報に基づいて、コピーアドレス生成部44によ
ってコピーアドレスが生成され、G/CおよびN♯からな
るキーデータが書込データの一部としてデータラッチ45
にラッチされ、アドレス情報としてのキーコードはデー
タラッチ46にラッチされる。
一方、データラッチ37にラッチされた書込データはデー
タラッチ38にラッチされ、この書込データとデータラッ
チ45にラッチされている書込データの一部が書込データ
ラッチ39にラッチされる。書込データラッチ39にラッチ
された書込データは書込/読出制御部50に与えられる。
タラッチ38にラッチされ、この書込データとデータラッ
チ45にラッチされている書込データの一部が書込データ
ラッチ39にラッチされる。書込データラッチ39にラッチ
された書込データは書込/読出制御部50に与えられる。
一方、データラッチ46にラッチされた書込アドレス情報
は書込/読出調停制御部47に与えられる。書込/読出調
停制御部47には後で説明するが、データラッチ20からも
読出アドレス情報が与えられる。そして、書込/読出調
停制御部47は書込アドレス情報と読出アドレス情報のい
ずれか早く到達した方を選択してデコーダ48に与える。
書込/読出調停制御部47は、もし書込アドレス情報が与
えられた後、続いて読出アドレス情報が与えられたとき
には、書込アドレス情報をデコーダ48に出力した後、読
出アドレス情報をデコーダ48に出力する。デコーダ48は
書込アドレス情報および読出アドレス情報をそれぞれデ
コードし、コラムアドレス情報とロウアドレス情報をメ
モリアレイ49に与える。そして、メモリアレイ49には、
書込アドレス情報によってアドレス指定されたメモリセ
ルに書込データが書込まれる。
は書込/読出調停制御部47に与えられる。書込/読出調
停制御部47には後で説明するが、データラッチ20からも
読出アドレス情報が与えられる。そして、書込/読出調
停制御部47は書込アドレス情報と読出アドレス情報のい
ずれか早く到達した方を選択してデコーダ48に与える。
書込/読出調停制御部47は、もし書込アドレス情報が与
えられた後、続いて読出アドレス情報が与えられたとき
には、書込アドレス情報をデコーダ48に出力した後、読
出アドレス情報をデコーダ48に出力する。デコーダ48は
書込アドレス情報および読出アドレス情報をそれぞれデ
コードし、コラムアドレス情報とロウアドレス情報をメ
モリアレイ49に与える。そして、メモリアレイ49には、
書込アドレス情報によってアドレス指定されたメモリセ
ルに書込データが書込まれる。
上述の動作により、1kワードのプログラムデータがメモ
リアレイ49に書込まれ、入力ポート11が1kワードのアド
レスを検出したとき、入出力ポート32は以後プログラム
データを外部プログラムメモリ2にのみ出力し、データ
ラッチ34には出力しない。それによって、すべてのプロ
グラムデータが外部プログラムメモリ2にロードされ
る。
リアレイ49に書込まれ、入力ポート11が1kワードのアド
レスを検出したとき、入出力ポート32は以後プログラム
データを外部プログラムメモリ2にのみ出力し、データ
ラッチ34には出力しない。それによって、すべてのプロ
グラムデータが外部プログラムメモリ2にロードされ
る。
次に、実際のプログラム実行手順について説明する。入
力ポート11には入力データパケットが与えられる。この
入力データパケットには、通常の実行状態を表わす命令
ULDが含まれている。入力ポート11は命令ULDによりアン
ロードであることを判別し、経路選択部13を合流部14側
に切換える。そして、入力データパケットはデータラッ
チ12,経路選択部13を介して合流部14にのみ与えられ、
データラッチ33側には出力されない。合流部14は次段の
データラッチ15が空き状態であれば、その入力データパ
ケットをデータラッチ15にラッチさせる。データラッチ
15にラッチされた入力データパケットは分岐部16に与え
られ、その入力データパケットに含まれるN♯およびG/
Cからなるキーコードとオペランドデータが分岐され、
キーコードはデータラッチ18にラッチされるとともに、
モード制御部17に与えられる。データラッチ28にラッチ
されたオペランドデータは、データラッチ29,30および3
1に順次伝送される。
力ポート11には入力データパケットが与えられる。この
入力データパケットには、通常の実行状態を表わす命令
ULDが含まれている。入力ポート11は命令ULDによりアン
ロードであることを判別し、経路選択部13を合流部14側
に切換える。そして、入力データパケットはデータラッ
チ12,経路選択部13を介して合流部14にのみ与えられ、
データラッチ33側には出力されない。合流部14は次段の
データラッチ15が空き状態であれば、その入力データパ
ケットをデータラッチ15にラッチさせる。データラッチ
15にラッチされた入力データパケットは分岐部16に与え
られ、その入力データパケットに含まれるN♯およびG/
Cからなるキーコードとオペランドデータが分岐され、
キーコードはデータラッチ18にラッチされるとともに、
モード制御部17に与えられる。データラッチ28にラッチ
されたオペランドデータは、データラッチ29,30および3
1に順次伝送される。
モード制御部17はメモリアレイ49にロードされた1kワー
ドのプログラムを読出して、そのプログラムデータが正
常であるかどうかを判別するためにダンプを行なうため
のダンプモードと、キーコードに基づいて対応する命令
をメモリアレイ49から読出す読出モードを設定するもの
である。モード制御部17によって読出モードが設定され
ていれば、データラッチ18にラッチされているキーコー
ドがコピーアドレス生成部19に与えられ、そのキーコー
ドに基づく同一のアドレス情報に対して異なる命令をフ
ェッチするために、コピーアドレスが生成され、同じア
ドレス情報が順次データラッチ20にラッチされる。デー
タラッチ20にラッチされたアドレス情報は書込/読出調
停制御部47に与えられるとともに、データラッチ21にラ
ッチされる。
ドのプログラムを読出して、そのプログラムデータが正
常であるかどうかを判別するためにダンプを行なうため
のダンプモードと、キーコードに基づいて対応する命令
をメモリアレイ49から読出す読出モードを設定するもの
である。モード制御部17によって読出モードが設定され
ていれば、データラッチ18にラッチされているキーコー
ドがコピーアドレス生成部19に与えられ、そのキーコー
ドに基づく同一のアドレス情報に対して異なる命令をフ
ェッチするために、コピーアドレスが生成され、同じア
ドレス情報が順次データラッチ20にラッチされる。デー
タラッチ20にラッチされたアドレス情報は書込/読出調
停制御部47に与えられるとともに、データラッチ21にラ
ッチされる。
書込/読出調停制御部47はデータラッチ20から与えられ
た読出情報と前述のごとくデータラッチ46から与えられ
る書込アドレス情報のいずれが早く到達したかを判別
し、読出アドレス情報が先に到達していれば、そのアド
レス情報をデコーダ48に与える。デコーダ48はその読出
アドレス情報をデコードし、メモリアレイ49の所定のア
ドレスを指定する。そして、メモリアレイ49の指定され
たアドレスから入力データパケットに含まれるN♯,G/C
に対応する命令のプログラムデータが読出され、読出デ
ータラッチ40にラッチされる。この読出データは命令フ
ェッチ制御論理部23に与えられるとともに、データラッ
チ41にもラッチされる。
た読出情報と前述のごとくデータラッチ46から与えられ
る書込アドレス情報のいずれが早く到達したかを判別
し、読出アドレス情報が先に到達していれば、そのアド
レス情報をデコーダ48に与える。デコーダ48はその読出
アドレス情報をデコードし、メモリアレイ49の所定のア
ドレスを指定する。そして、メモリアレイ49の指定され
たアドレスから入力データパケットに含まれるN♯,G/C
に対応する命令のプログラムデータが読出され、読出デ
ータラッチ40にラッチされる。この読出データは命令フ
ェッチ制御論理部23に与えられるとともに、データラッ
チ41にもラッチされる。
一方、データラッチ21にラッチされたキーコードはデー
タラッチ22にラッチされ、そのラッチ出力が命令フェッ
チ制御論理部23に与えられるとともに、データラッチ24
にラッチされる。命令フェッチ制御論理部23はデータラ
ッチ22から与えられたキーコードと読出データラッチ40
にラッチされているメモリアレイ49から読出されたキー
コードが一致しているか否かを比較し、一致しているこ
とを判別すれば、そのキーコードに引き続いてメモリア
レイ49からプログラムデータを再度読出すかどうかのフ
ラグを判定し、読出すべきフラグが立っていれば、デー
タラッチ41にラッチされている読出データが出力ポート
選択部25によって選択され、出力ポート26に出力され
る。また、引き続き読出されたプログラムデータは、出
力ポート選択部25を介して出力ポート27に出力される。
タラッチ22にラッチされ、そのラッチ出力が命令フェッ
チ制御論理部23に与えられるとともに、データラッチ24
にラッチされる。命令フェッチ制御論理部23はデータラ
ッチ22から与えられたキーコードと読出データラッチ40
にラッチされているメモリアレイ49から読出されたキー
コードが一致しているか否かを比較し、一致しているこ
とを判別すれば、そのキーコードに引き続いてメモリア
レイ49からプログラムデータを再度読出すかどうかのフ
ラグを判定し、読出すべきフラグが立っていれば、デー
タラッチ41にラッチされている読出データが出力ポート
選択部25によって選択され、出力ポート26に出力され
る。また、引き続き読出されたプログラムデータは、出
力ポート選択部25を介して出力ポート27に出力される。
もし、メモリアレイ49で所定の命令に対するミスヒット
によりハッシュ衝突が生じていた場合には、読出データ
ラッチ40にラッチされている読出キーコードとデータラ
ッチ22にラッチされている入力データパケットに基づく
キーコードとが一致しないので、命令フェッチ制御論理
部23は不一致信号を出力ポート選択部25に与える。出力
ポート選択部25は不一致信号が与えられたことに応じ
て、ハッシュ衝突の生じたことを判別し、データラッチ
41にラッチされている読出データを出力することなく、
データラッチ24にラッチされているキーコードとデータ
ラッチ31にラッチされているオペランドデータを選択し
て出力ポート26に出力する。
によりハッシュ衝突が生じていた場合には、読出データ
ラッチ40にラッチされている読出キーコードとデータラ
ッチ22にラッチされている入力データパケットに基づく
キーコードとが一致しないので、命令フェッチ制御論理
部23は不一致信号を出力ポート選択部25に与える。出力
ポート選択部25は不一致信号が与えられたことに応じ
て、ハッシュ衝突の生じたことを判別し、データラッチ
41にラッチされている読出データを出力することなく、
データラッチ24にラッチされているキーコードとデータ
ラッチ31にラッチされているオペランドデータを選択し
て出力ポート26に出力する。
次に、外部プログラムメモリ2によってフェッチされた
次の命令の実行パケットが入出力ポート32に与えられる
と、入出力ポート32はその実行パケットをデータラッチ
34にラッチさせる。
次の命令の実行パケットが入出力ポート32に与えられる
と、入出力ポート32はその実行パケットをデータラッチ
34にラッチさせる。
データラッチ34にラッチされた実行パケットは経路選択
部35に与えられる。経路選択部35は外部プログラムメモ
リ2からフェッチされた実行パケットであることをミス
ヒットフラグに従って判別すると、その実行パケットを
合流部14に出力し、データラッチ15にラッチさせる。分
岐部16はその実行パケットのキーコードとオペランドデ
ータを分岐し、キーコードをデータラッチ18にラッチさ
せるとともに、オペランドデータをデータラッチ28にラ
ッチさせる。この場合、メモリアレイ49からプログラム
データを読出す必要がないので、キーコードはデータラ
ッチ18,コピーアドレス生成部19,データラッチ20,21,22
および24を素通りして出力ポート選択部25に与えられ、
オペランドデータはデータラッチ28からデータラッチ2
9,30,31を素通りして出力ポート選択部25に与えられ
る。そして、出力ポート選択部25はそのキーコードおよ
びオペランドデータを出力ポート26に出力する。
部35に与えられる。経路選択部35は外部プログラムメモ
リ2からフェッチされた実行パケットであることをミス
ヒットフラグに従って判別すると、その実行パケットを
合流部14に出力し、データラッチ15にラッチさせる。分
岐部16はその実行パケットのキーコードとオペランドデ
ータを分岐し、キーコードをデータラッチ18にラッチさ
せるとともに、オペランドデータをデータラッチ28にラ
ッチさせる。この場合、メモリアレイ49からプログラム
データを読出す必要がないので、キーコードはデータラ
ッチ18,コピーアドレス生成部19,データラッチ20,21,22
および24を素通りして出力ポート選択部25に与えられ、
オペランドデータはデータラッチ28からデータラッチ2
9,30,31を素通りして出力ポート選択部25に与えられ
る。そして、出力ポート選択部25はそのキーコードおよ
びオペランドデータを出力ポート26に出力する。
[発明の効果] 以上のように、この発明によれば、外部からデータフロ
ープログラムが与えられたときには、そのプログラムを
外部プログラム記憶部にアップロードさせ、外部から実
行パケットが与えられたとき、その実行パケットに含ま
れるアドレス情報に対して、異なる次の命令を2回続け
てキャッシュメモリに対してアクセスし、そのフェッチ
された命令を出力し、もし、キャッシュメモリがミスヒ
ットした場合には、外部プログラム記憶部に対して次の
命令とともに被処理データをフェッチして出力すること
により、キャッシュプログラムメモリと外部プログラム
メモリとによって命令フェッチを無駄なく効率良く実行
することができる。
ープログラムが与えられたときには、そのプログラムを
外部プログラム記憶部にアップロードさせ、外部から実
行パケットが与えられたとき、その実行パケットに含ま
れるアドレス情報に対して、異なる次の命令を2回続け
てキャッシュメモリに対してアクセスし、そのフェッチ
された命令を出力し、もし、キャッシュメモリがミスヒ
ットした場合には、外部プログラム記憶部に対して次の
命令とともに被処理データをフェッチして出力すること
により、キャッシュプログラムメモリと外部プログラム
メモリとによって命令フェッチを無駄なく効率良く実行
することができる。
第1図はこの発明が適用される情報処理装置の概略ブロ
ック図である。第2図は第1図に示した情報処理装置に
よって処理されたプログラムの一例を示す図である。第
3図ないし第10図は第1図に示した情報処理装置によっ
てプログラム処理されるときの実行手順を説明するため
の図である。第11A図および第11B図はこの発明の一実施
例の具体的なブロック図である。 図において、1は情報処理装置、2は外部プログラムメ
モリ、6はプログラム制御部、7は対データ検出部、8
は接点、9はALU、11は入力ポート、12,15,18,20,21,2
2,24,28,29,30,31,33,34,37,38,41,42,43,45,46はデー
タラッチ、13,35は経路選択部、14は合流部、16,36は分
岐部、19,44はコピーアドレス生成部、23は命令フェッ
チ制御論理部、25は出力ポート選択部、26,27は出力ポ
ート、32は入出力ポート、39は書込データラッチ、40は
読出データラッチ、47は書込/読出調停制御部、48はデ
コーダ、49はメモリアレイ、50は書込/読出制御部を示
す。
ック図である。第2図は第1図に示した情報処理装置に
よって処理されたプログラムの一例を示す図である。第
3図ないし第10図は第1図に示した情報処理装置によっ
てプログラム処理されるときの実行手順を説明するため
の図である。第11A図および第11B図はこの発明の一実施
例の具体的なブロック図である。 図において、1は情報処理装置、2は外部プログラムメ
モリ、6はプログラム制御部、7は対データ検出部、8
は接点、9はALU、11は入力ポート、12,15,18,20,21,2
2,24,28,29,30,31,33,34,37,38,41,42,43,45,46はデー
タラッチ、13,35は経路選択部、14は合流部、16,36は分
岐部、19,44はコピーアドレス生成部、23は命令フェッ
チ制御論理部、25は出力ポート選択部、26,27は出力ポ
ート、32は入出力ポート、39は書込データラッチ、40は
読出データラッチ、47は書込/読出調停制御部、48はデ
コーダ、49はメモリアレイ、50は書込/読出制御部を示
す。
Claims (1)
- 【請求項1】データフロープログラムを記憶し、実行パ
ケットに応じて命令フェッチを行なうプログラム制御部
と、前記プログラム制御部から対となるプログラムデー
タおよび被処理データが入力されたことを判別する対デ
ータ検出部と、前記対データ検出部によって対となるプ
ログラムデータおよび被処理データが検出されたことに
応じて、そのプログラムデータおよび被処理データに基
づく演算を実行する演算処理部と、前記プログラム制御
部にプログラムデータを与える外部プログラム記憶部と
を備えた情報処理装置において、 前記プログラム制御部は、 外部から実行パケットまたは前記外部プログラム記憶部
の経路にロードするためのデータフロープログラムが与
えられる入力手段、 前記入力手段に入力されたデータフロープログラムを前
記外部プログラム記憶部に出力するか、または前記外部
プログラム記憶部から読出されたデータフロープログラ
ムを入力するか、あるいは前記外部プログラム記憶部に
よってフェッチされた実行パケットを入力するかをデー
タフロープログラムまたは実行パケットが非同期で入力
されるごとに、それぞれに含まれる情報に基づいて出力
先を制御する入出力制御手段、 前記データフロープログラムを記憶し、実行パケットに
応じて該当するプログラムデータを出力するキャッシュ
メモリ、 前記入力手段または前記入出力制御手段から入力された
パケットに含まれるアドレス情報に従って、前記キャッ
シュメモリをアクセスする第1の制御手段、 前記入力手段または前記入出力制御手段から入力された
パケットに含まれるアドレス情報に対して、少なくとも
2回続けて前記キャッシュメモリをアクセスし、コピー
情報とともに出力する第2の制御手段、および 前記キャッシュメモリでフェッチされた実行パケットお
よび前記入出力制御手段から入力された前記外部プログ
ラム記憶部によってフェッチされた実行パケットを前記
コピー情報に従ってデータが入力されるごとに非同期で
選択的に出力制御する出力制御手段を備え、 前記キャッシュメモリから読出されたデータおよび外部
から入力されたパケットデータとの比較,照合,判定に
基づいて次に実行すべき命令をフェッチすることを特徴
とする、メモリアクセス制御装置。
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 JPH01188949A (ja) | 1989-07-28 |
| JPH0740257B2 true 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) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5333320A (en) * | 1990-01-09 | 1994-07-26 | Hajime Seki | Electronic computer system and processor element used with the computer system |
-
1988
- 1988-01-22 JP JP63013279A patent/JPH0740257B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01188949A (ja) | 1989-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2750311B2 (ja) | データ処理装置内のデータ・オペレーションの実行を制御する装置及び方法 | |
| US5680631A (en) | Data processor with on-chip cache memory and purge controller responsive to external signal for controlling access to the cache memory | |
| KR100346515B1 (ko) | 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일 | |
| US5511215A (en) | Debugging system for the loading and execution of data flow programs | |
| JP3593346B2 (ja) | マルチポートメモリ及びそれをアクセスするデータ処理装置 | |
| JPH0814801B2 (ja) | プログラマブルアクセスメモリ | |
| JPS635777B2 (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 | |
| JPS6250856B2 (ja) | ||
| JP3738128B2 (ja) | データ駆動型情報処理装置 | |
| US4969117A (en) | Chaining and hazard apparatus and method | |
| JP4180115B2 (ja) | 処理システムおよびプログラム作成方法および処理ユニット | |
| US6161171A (en) | Apparatus for pipelining sequential instructions in synchronism with an operation clock | |
| JPS6049340B2 (ja) | 分岐命令先取り方式 | |
| JPH0740257B2 (ja) | メモリアクセス制御装置 | |
| US20230153110A1 (en) | Pre-staged instruction registers for variable length instruction set machine | |
| JP3145545B2 (ja) | メモリアクセス装置 | |
| JP2001297074A (ja) | データ駆動型情報処理装置の実行制御装置 | |
| JPS62501940A (ja) | マイクロプログラム・コントロ−ラの改良 | |
| JPH07200406A (ja) | キャッシュシステム | |
| JPH046983B2 (ja) | ||
| JPH0695349B2 (ja) | プログラム実行制御方式 | |
| JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
| JPH0644389A (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 |