JPH0640316B2 - 演算レジスタ上でのデータ待ち合せ実現方法 - Google Patents

演算レジスタ上でのデータ待ち合せ実現方法

Info

Publication number
JPH0640316B2
JPH0640316B2 JP1101425A JP10142589A JPH0640316B2 JP H0640316 B2 JPH0640316 B2 JP H0640316B2 JP 1101425 A JP1101425 A JP 1101425A JP 10142589 A JP10142589 A JP 10142589A JP H0640316 B2 JPH0640316 B2 JP H0640316B2
Authority
JP
Japan
Prior art keywords
register
data
instruction
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
Application number
JP1101425A
Other languages
English (en)
Other versions
JPH02278433A (ja
Inventor
賢二 戸田
義信 内堀
俊夫 島田
Original Assignee
工業技術院長
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 工業技術院長 filed Critical 工業技術院長
Priority to JP1101425A priority Critical patent/JPH0640316B2/ja
Publication of JPH02278433A publication Critical patent/JPH02278433A/ja
Priority to US08/173,478 priority patent/US5442761A/en
Publication of JPH0640316B2 publication Critical patent/JPH0640316B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、計算機システムにおいて直列的に実行される
プロセス(命令系列)に必要とされるデータの待ち合せ
を実現するための方法に関し、特に縮小命令セット計算
機(Reduced Instruction Set Computer:略称RIS
C)のアーキテクチャに従うシステムを構成する演算装
置においても適用し得る、演算レジスタ上でのデータ待
ち合せを実現するための方法に関する。
[従来の技術] 従来からも、上記したRISC以外の計算機システムに
適したデータ待ち合せ方法としては、メモリ上でデータ
待ち合せを可能にしたもの、すなわち、メモリの各要素
ごとにデータの状態を表すフラグを設け、データ・アク
セス要求をフラグの条件が成立するまで、保留して置く
ようにしたものがある。
こうした従来法の利点は、プロセス間のデータ待ち合せ
が個々のデータごとに高速に、かつ簡単な記述で行なえ
るという点にある。
[発明が解決しようとする課題] しかし、このようなメモリ上でのデータ待ち合せ方式
は、上記RISCシステムのように、昨今、富に注目を
浴びてきているレジスタ間演算中心のアーキテクチャに
従う演算装置には適用が困難であった。
そもそもこうしたレジスタ間演算中心のアーキテクチャ
では、レジスタが演算装置と密に結合しているため、演
算実行部との調停やアクセス経路に問題があり、外部か
らレジスタへのアクセスが難しいという事情がある。
また、レジスタは高速動作と広いデータ転送幅を実現す
る高価な資源であって、その容量には限りがある。
したがってデータ待ち合せが長期化する場合には、どう
してもメモリへの退避を考えねばならないが、このとき
のデータの待ち合せをどのようにして行なうのかという
課題に対する回答も、これまでの所、報告されていなか
った。
本発明はまさしく、こうした実情に鑑みて成されたもの
で、RISC型計算機システムにおけるように、レジス
タ演算を基本とするシステムにも適用可能であって、ハ
ードウエア的に外部からのデータに関しレジスタへの書
込専用の回路を増やしたり、専用のアクセス・パス(書
込みパス)を追加する必要もなく、既存のハードウエア
のままでも外部から送られてくるデータの待ち合せをレ
ジスタ上で実現できるようにせんとするものである。
[課題を解決するための手段] 上記目的を達成するため、本発明では、まずもってもっ
とも基本的な発明として、次のような構成を提案する。
すなわち、通信網を介し外部から送られてくるパケット
を検出するパケット取扱部と、メモリ・システムの中に
格納されている命令列を取出す命令取出部と、命令取出
部により取出された命令列中の各命令を解釈する命令解
釈部と、命令解釈部により解釈された命令が特定のレジ
スタに対するデータのロード命令であった場合、これを
実行する機能部と、を有して成るコンピュータ・システ
ムにおいて、パケット取扱部が上記の通信網を介して外
部から送られてきたパケットを検出したとき、このパケ
ット内に含まれるデータが上記複数のレジスタの中、現
在実行中のプロセスに割り付けられている特定のレジス
タに書込むべきものであった場合には、当該パケット取
扱部からデータ・ロード命令を自動的に生成させ、か
つ、このようにして自動的に生成されたデータ・ロード
命令を上記の命令取出部により読取らせる。
また、この基本的な構成に加え、現在実行中のプロセス
に割り付けられているレジスタに対するものではなく、
局所メモリ中に退避領域が設定されているレジスタ、す
なわち過去に実行されていたが途中で停止されたプロセ
スに割り付けられていたレジスタに対してのデータが到
着した場合には、この到着データを当該レジスタの対応
する退避領域中に書込むという発明も開示する。
このようにすれば、現在実行中にプロセスに属するレジ
スタに関してのみならず、過去に実行されていたプロセ
スに属するレジスタのデータ待ち合せも当該レジスタ上
で合理的に行なえる。
一方、上記のように、過去において実行されていたプロ
セスに関してのプロセス停止がどのように生じたか、換
言すれば、どのような条件のときに現在実行中のプロセ
スを停止させるかについても、上記の基本構成に対して
何等矛盾がなく、円滑で合理的な手法として、本発明は
次のような手法を開示する。
すなわち、実行されていたプロセスの停止は、そのプロ
セスが現在実行中にあるときに、当該プロセスに割り付
けられているレジスタが参照命令を受けた時点で、この
レジスタに未だデータが書込まれていなかった場合に生
じさせ、同時に、このようにして現在実行中のプロセス
を停止させたときには、実行すべきプロセスを他のプロ
セスに切替える。
そして、このようにした場合には、当該停止させたプロ
セスの復帰手法についても、上記の構成と共存し、円滑
な関係となり得る合理的な手法を提案するのが望ましい
ので、こうした観点から、本発明は、停止されたプロセ
スの復帰に関しても、次のような一手法を開示する。
過去において上記のようにプロセス停止を受けた結果、
現在実行されていないプロセスに割り付けられているも
のとなったレジスタには、先に述べた第二発明に係る構
成中に明らかなように、局所メモリにそのレジスタに対
応する退避領域が設定されているので、この退避領域に
データが到着し、かつ、そのレジスタが当該プロセス停
止の原因となったレジスタであった場合には、その時点
で当該プロセスを再度実行可能なプロセスとして再登録
する。
もちろん、このようにして再登録されたプロセスが少な
くとも再度実行されるまでには(望ましくは当該プロセ
ス復帰のタイミングで)、退避領域中に入っているデー
タを対応するレジスタに復帰させる。
[作用] 本発明の基本構成ないし第一発明に従うと、現在実行中
のプロセスに割り付けられているレジスタに対するプロ
セス上のデータ・ロード命令は、その時点で直ちに値を
要するものではなく、当該レジスタに参照命令が与えら
れて実際に使用されるまで遅延し得る。
すなわち、実際に使用されるまでに当該レジスタに対す
るデータが到着すれば、演算装置の命令取出部にて取出
される命令列中に当該到着データのロード命令(疑似ロ
ード命令と言っても良い)が自動挿入されるので、多段
パイプライン処理で命令列が実行されている場合にも、
任意の段階で副作用なく、当該レジスタへのデータ書込
み命令を実行することができる。
また、このときのレジスタへのデータ書込みについて
も、外部からのデータに専用の書き込み回路やレジスタ
への専用アクセス・パスを別途に設ける必要もなく、メ
モリ・システムに格納されている通常の命令列中のデー
タ・ロード命令に基づいてデータをレジスタに書込むと
きのハードウエアをそのまま利用することができる。何
故なら、パケット取扱部が自動生成した、言わば疑似的
なデータ・ロード命令も、それが命令取出部により読取
られた後には、それが疑似的なものであったのか、ある
いはメモリ・システムに格納されていた所定のシーケン
スに従う通常の命令であったのかの区別はなくなるから
である。換言すれば、このような構成により、疑似的な
データ・ロード命令を通常の命令と何等区別することな
く命令列中に自動挿入できるので、パイプライン・ブレ
イク等を発生させるおそれもなく、かつまた既存のハー
ドウエアやアクセス・パスを合理的に利用して、レジス
タ上でのデータ待ち合せを実現することができる。
一方で、本発明の第二発明にも従った場合には、到着デ
ータが現在実行中のプロセスにではなく、過去に実行さ
れていたが途中で停止されたプロセスに割り付けられて
いたレジスタに対するものであった場合にも、局所メモ
リ中にこのレジスタに対応する退避領域が設定されてい
るので、この中に当該到着データを書込むことができ
る。
そのため、後にこの退避領域に対応するレジスタの割り
付けられているプロセスが再度実行されるときまでに
は、当該退避領域中のデータを対応するレジスタに簡
単、かつ高速に書込むことができる。
さらに、このようなレジスタ側での基本的なデータ待ち
合せ作用に加え、本発明の第三発明にも従い、実行され
ていたプロセスの停止は、そのプロセスが現在実行中に
あるときに、当該プロセスに割り付けられているレジス
タが参照命令を受けた時点で、このレジスタに未だデー
タが書込まれていなかった場合に生じさせるようにし、
かつ、これに伴って、実行すべきプロセスを他のプロセ
スに切替えるようにすると、時間的な損失もほとんどな
く、複数のプロセスを順次、合理的に実行して行くこと
ができる。
これに加え、本発明の第四発明にも従って、過去におい
て上記のようにプロセス停止を受けた結果、現在実行さ
れていないプロセスに割り付けられているものとなった
レジスタに対して対応的に設定されている局所メモリ中
の退避領域にデータが到着し、かつ、そのレジスタが当
該プロセス停止の原因となったものであった場合には、
このプロセスを再度実行可能なプロセスとして再登録す
ると共に、このようにして再登録されたプロセスが少な
くとも再度実行されるまでには、退避領域中に書込まれ
たデータを対応するレジスタに復帰させるべく計ると、
何等特殊な処理を必要とせず、当該プロセスを自動的に
再度、実行可能にすることができる。
結局、この第四発明にも従うと、上記第一、第二、第三
発明の構成ともあいまって、RISC型のアーキテクチ
ャに適用するにも極めて実行効率が高く、もっとも実用
的な演算システムを構築することができる。
なお、プログラミングのスタイルに関しても、本方法
は、レジスタへデータをロードして使用するという現在
のスタイルで自然に記述することができる。
[実施例] 第1図は本発明のデータ待ち合せ方法を実現し得る基本
ないし単位の演算装置を示している。
この実施例では、当該単位演算装置は縮小命令セット計
算機(RISC)のアーキテクチャに基づき、多段パイ
プライン処理、例えば、 命令取出し(IF), 命令解釈及びオペランド取出し(D), 実行(E), レジスタ書込み(W), の四段パイプライン処理を行なうものを想定しており、
一時には一つのプロセスを実行する。
もちろん、実用的な製品としての汎用並列計算機では、
一般に第1図示のような単位演算装置が通信網1を介し
て互いに結合しながら複数個用いられる。
しかるにまず、このような単位の演算装置に関し、簡単
に各々の機能を含みながら、できるだけ静的な構成に即
して説明する所から始める。
回路ブロック3,4,7,9はRISC型計算機の基本
機能に係る部分であり、回路ブロック5,6,10,11は
複数のプロセスをサポートする機能、回路ブロック2,
8,12は他の単位演算装置との通信を行なう機能に関与
する。
個々の回路ブロックにつき説明すると、パケット取扱部
2は、通信網1を介し、外部から送られてきたパケット
(すなわち届け先の書かれたデータ)の仕分けを行なう
もので、当該パケットが到着するたびに現在実行中のプ
ロセス・レジスタ5を参照し、それが現在実行中のプロ
セスに割り付けられているレジスタに入れるべきもので
ある場合にはデータ・ロード命令を自動的に生成する。
送られてきたパケットが現在実行中のプロセスに属する
レジスタに対するものでなかった場合には、後に説明さ
れる所からも明らかなように、当該レジスタにはメモリ
・システム4内の局所メモリ22(第4図)中に対応的に
退避領域が設定されているので、このパケットの処理を
メモリ操作部11に依頼し、メモリ・システム4中の当該
対応する退避領域にこのパケットの運んできたデータを
書込ませる。
命令取出部3は、通常の機能として、現在実行中のプロ
セス・レジスタ5の示すプログラム・カウンタの示す番
地に従ってメモリ・システム4から命令を取出す。これ
に対応して、メモリ・システム4には当然、プログラム
とかデータが格納されている。また、この命令取出部3
は、先に述べたパケット取扱部2がデータ・ロード命令
を自動生成したとき、これを読取る。
プロセス・レジスタ5は、上記のように、通信網1を介
して送られてきたパケットが現在実行中のプロセスに割
り付けられているか否かをパケット取扱部2にて判断す
る判断材料を提供するが、これももちろん、通常のこの
種のプロセス・レジスタに見られる通り、現在実行中の
プロセス(プログラム・カウンタ、レジスタ・ファイル
の指定等を含む)を示す機能を持っている。
レジスタ・ファイル6は多数のレジスタの集合体であっ
て、当該レジスタ・ファイル6中、プロセス・レジスタ
5で指定されたレジスタ群に対しては、命令解釈及びオ
ペランド取出部7からの読出しと、演算実行部9からの
書込みが可能である。
命令解釈及びオペランド取出部7は、命令取出部3から
送られてくる命令の解釈を行ない、レジスタ・ファイル
6からそのオペランド・データを取出す。
また、解釈した命令の種類が通常の命令である場合には
演算実行部9に、プロセス生成命令である場合にはプロ
セス・レディ・キュー10に、メモリ・アクセス命令であ
る場合にはメモリ操作部11に、そして外部メモリ・アク
セス命令である場合にはパケット生成部12に、それら各
命令を仕分けして送るか、あるいは各回路部9,10,11,
12にて選択的に自身に対する命令が読取られる。これら
回路部9,10,11,12は、一般的に言えばこの種既存のコ
ンピュータシステムにおけると同様に、命令解釈部7の
解釈した命令に従ってそれぞれ対応する機能を営む機能
部と言えるが、こうした機能部としては、メモリ・シス
テム4に格納されている通常の命令列中のデータ・ロー
ド命令に応じ、指定のレジスタにデータを書込むための
機能部(データ・ローディング手段)も含まれる。第1
図示構成の場合には、メモリ・システム4に格納されて
いる通常の命令列中のデータ・ロード命令が命令取出部
3により読取られ、命令解釈部7によりその旨解釈され
たときに、メモリ操作部11がこの命令に対応するデータ
・ローディング機能部として働き、演算実行部9を含む
書込みパスを介し、データを指定のレジスタに書込む。
しかるに、本発明では、外部から本演算装置に送られて
きたパケット内に現在実行中のプロセスに割り付けられ
ているレジスタの中の特定のレジスタに対するデータが
入っていた場合、既述したように、パケット取扱部2が
データ・ロード命令を自動生成し、一方で命令取出部3
がこれを読取るように構成しているので、命令解釈部7
がこの自動生成されたデータ・ロード命令を解釈する
と、以降、この命令はメモリ・システム4から順次取出
される通常の命令と何等変わりないものとなり、その結
果、当該通常の命令に基づくデータ・ローディングに使
用するのと同じハードウエアや同じ書込みパスを利用し
て、当該外部からのデータを指定のレジスタに書込むこ
とができる。
命令解釈及びオペランド取出部7に付属のフラグ検査部
8は、当該命令解釈及びオペランド取出部7がレジスタ
・ファイル6からデータを取出すに際し、当該レジスタ
のフラグを調べる。通常の命令については、当該レジス
タにデータが存在すればそれを演算実行部9に送り、存
在しなければ現在実行中のプロセスを停止(中断)す
る。
現在実行中だったプロセスが停止されると、待機してい
た他の実行可能なプロセスを示すプロセス・レディ・キ
ュー10から新たなプロセスが一つ取出され、プロセス・
レジスタ5に送られる。
演算実行部9は命令解釈及びオペランド取出部7から与
えられるデータに関して所定の演算を行ない、その結果
をレジスタ・ファイル6中の指定のレジスタに書込む。
プロセス・レディ・キュー10については上述の通りであ
り、また、メモリ操作部11は命令操作依頼に従ってメモ
リ・システム4との間でデータの読み書きを行なう。な
お、メモリ操作部11にはこのときのフラグを調べるフラ
グ検査部11′も付属しており、存在していないデータに
対する参照は、それが書込まれるまで自動的に待たせ
る。外部へのデータ転送要求に対しては、データをパケ
ット生成部12に送給する。
これに応じ、パケット生成部12は送られてきたデータか
ら所定フォーマットのパケットを生成し、通信網1に送
り出す。
このような静的な説明にあっても、本発明により実現で
きるデータ待ち合せ方法は説明されているが、さらにも
う少し具体的に、本発明の一実施例としての動作例につ
き、簡単なモデルを挙げて説明する。
今、第2図中に示されたプログラム13中にも併示のよう
に、“1d Rn,Mm”なる命令が与えられた場合
には、レジスタ・ファイル6中の当該レジスタRn中の
データ存在フラグPを落とすと同時に、外部のメモリ装
置15中の対応するメモリMmにデータ転送要求を送る。
これは第2図中、共に実線の矢印で示されている。
メモリMmでは、そこにデータが存在し、そのデータ存
在フラグPが立っていれば、当該レジスタRnに対し、
当該データを組込んだ返事パケット16を送出する。
これに対し、メモリMmにデータが存在していなかった
場合には、当該メモリMmにデータ待ちフラグWを立
て、そこにレジスタRnへのデータ転送要求を保存して
置く。
したがって、メモリMmにデータが書込まれると、これ
が自動的に返事パケット16によってレジスタRnの側に
送給される。
一方、第1図示の単位演算装置の方で、当該レジスタR
nの属するプロセスの実行中に、上記の返事パケット16
が送られてくると、第1図示のパケット取扱部2により
データ・ロード命令が自動生成され、これが命令取出部
3にて読取られる結果、第2図に符号17で併示のよう
に、データ・ロード命令の自動挿入が行なわれる。
すなわち、模式的に第3図に示すように、通常の命令実
行20を果たしている実行パイプライン18に対し、返事パ
ケット16に伴うデータ・ロード命令19(“1d Rn,
data”)が、矢印17で示されるように、任意の時点
で挿入され、また、このようにして挿入された当該命令
19は、通常の命令と全く同様に取扱れる。
これにより、レジスタRnにデータが書込まれれば、そ
のレジスタRnでは対応するデータ存在フラグPを立て
る。
その後、第2図中のプログラム13に示されているよう
に、“add Rn,Ra,Rb”なる命令により、第
4図に示されているレジスタ・セット21(RS)中の
レジスタRnが矢印24で示されているように参照された
とき、上記のようにこのレジスタRnにあらかじめデー
タが到着していることがなくて、そのレジスタRnにデ
ータ存在フラグPが立っていなければ(図示の場合、こ
れを当該フラグ・ビットの論理“0”で表している)、
プロセス停止フラグSを立て(論理“1”にして)、併
せて局所メモリ22中のレジスタ・セット用退避領域25中
の対応するレジスタ退避領域にも停止フラグSを立て
る。
また、これに伴い、第1図中に示してあるプロセス・レ
ディ・キュー10から新しいプロセスを一つ取出し、その
実行に入る。
現在実行中のプロセスに属する以外のレジスタに対応す
る退避領域にデータが到着した場合には、当該退避領域
にこれを書込む。すなわち、第4図に示されていて、先
に説明したレジスタRnに返事パケット16が送られてき
た場合には、当該退避領域へのデータ書込みに伴い、第
4図中で模式的に矢印でフラグ・ビットの論理反転ない
し変換を示しているように、データ存在フラグPを立て
(0⇒1)、プロセス停止フラグSを落として(1⇒
0)、このレジスタの属するプロセスをプロセス・レデ
ィ・キュー10に入れる。
また、望ましいことに、この実施例では各レジスタ・セ
ット用に対応するビット・マップ・テーブル23を用意し
ているので、退避領域について書込みのあったレジスタ
に対応するビットを立てて置く。
したがってその後、当該プロセスが再実行されるに先立
って、すなわち、少なくとも当該プロセスが再度、現に
実行されるまでには(望ましくはより一般的に、当該プ
ロセス復帰のタイミングに合せて)、このプロセスに属
し、かつレジスタ・ビット・マップ・テーブル23にて指
示されるレジスタに対し、それに対応する退避領域から
データを復帰させることができる。
以上、本発明に従う実施例につき説明したが、プロセス
の再実行のための情報は、レジスタや退避領域に直接書
込むようにはせず、別途特定の領域に記憶して置くよう
にしても良い。また、ビット・マップ・テーブル23の使
用は望ましいが、限定的ではない。
さらに、プロセスに割り付けられているレジスタ群は、
プロセスの切替えにより、必ずしもその全てが実際にメ
モリに退避される必要もない。メモリに退避させたレジ
スタについては、例えば上記のように望ましくは用いら
れるビット・マップ・テーブル中の対応する部分にビッ
トを立て、その復帰を保証して置けば良い。
[効果] 本発明によれば、従来困難であった演算レジスタ上での
データ待ち合せを、特にコンピュータ・システム内のハ
ードウエアの追加やアクセス・パスの追加なくしても実
現することができる。
これは同時に、汎用高並列計算機としても、特にレジス
タ間演算を中心とする縮小命令セット計算機システムへ
の応用が可能なことを意味し、実際上、これによる波及
効果は、この種の分野の発展に大いに寄与するものであ
る。
【図面の簡単な説明】
第1図は、本発明の適用を受けることでレジスタ上での
データ待ち合せを実現することができる単位ないし基本
的な演算装置の一構成例の概略構成図, 第2図は本発明方法の一実施例における動作の説明図, 第3図は現在実行されているプロセスに割り付けられ、
かつ、データ待ちとなっていたレジスタに対し、本発明
に従って到着データのロード命令を自動挿入した場合の
説明図, 第4図は現在実行されていないプロセスに割り付けら
れ、データ待ちとなっているレジスタに対し、データが
到着した場合の本発明に従う処理の説明図, である。 図中、1は通信網、2はパケット取扱部、3は命令取出
部、4はメモリ・システム、5はプロセス・レジスタ、
6はレジスタ・ファイル、7は命令解釈及びオペランド
取出部、8はフラグ検査部、9は演算実行部、10はプロ
セス・レディ・キュー、11は命令操作部、11′は命令操
作部に付属のフラグ検査部、12はパケット生成部、13は
プログラム、15は外部メモリ装置、16は返事パケット、
18は実行パイプライン、21はレジスタ・セット、22は局
所メモリ、23はレジスタ・ビット・マップ、テーブル、
25はレジスタ・セット用退避領域、である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−267833(JP,A) 特開 平1−224847(JP,A) 特公 昭52−47978(JP,B2)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】通信網を介し外部から送られてくるパケッ
    トを検出するパケット取扱部と、メモリ・システムの中
    に格納されている命令列を取出す命令取出部と、該命令
    取出部により取出された上記命令列中の各命令を解釈す
    る命令解釈部と、該命令解釈部により解釈された命令が
    指定のレジスタに対するデータのロード命令であった場
    合、これを実行する機能部と、を有して成るコンピュー
    タ・システムにおいて、上記外部から送られてくるパケ
    ット内のデータに関し、上記レジスタ上での待ち合せを
    実現するための方法であって; 上記通信網を介して上記外部から送られてきたパケット
    を上記パケット取扱部が検出したとき、該パケット内に
    含まれるデータが現在実行中のプロセスに割り付けられ
    ている特定のレジスタに書込むべきものであった場合に
    は、該パケット取扱部からデータ・ロード命令を自動的
    に生成させ、かつ、該自動的に生成されたデータ・ロー
    ド命令を上記命令取出部により読取らせること; を特徴とするレジスタ上でのデータ待ち合せ実現方法。
  2. 【請求項2】請求項(1)に記載の方法であって; 上記コンピュータシステムは、局所メモリと該メモリの
    操作ユニットとをさらに有し; 上記パケット取扱部により検出されたパケットに含まれ
    るデータが、過去に実行されていたが途中で停止された
    結果、上記現在実行中のプロセスではなくなったプロセ
    スに割り付けられていたレジスタに対するデータであっ
    た場合には、上記メモリ操作ユニットは、該データを上
    記局所メモリ中にあって該レジスタに対して対応的に確
    保されている退避領域中に書込むこと; を特徴とする方法。
  3. 【請求項3】請求項(2)に記載の方法であって; 上記実行されていたプロセスの上記停止は、該プロセス
    が現在実行中にあるときに、該プロセスに割り付けられ
    ているレジスタが参照命令を受けた時点で該レジスタに
    未だデータが存在していなかった場合に生じ; かつ、該現在実行中のプロセスに上記停止が生じたとき
    には、上記コンピュータシステムが実行すべきプロセス
    を他のプロセスに切替えること; を特徴とする方法。
  4. 【請求項4】請求項(3)に記載の方法であって; 過去において上記停止を受けた結果、現在実行されてい
    ないプロセスに割り付けられているものとなったレジス
    タの上記退避領域にデータが到着し、かつ、そのレジス
    タが上記プロセス停止の原因となっていた場合には、該
    レジスタの属する該現在実行されていないプロセスを再
    度実行可能なプロセスとして再登録すると共に; 該再登録されたプロセスが少なくとも上記再実行される
    までには、上記退避領域に到着したデータを上記対応す
    るレジスタに復帰させること; を特徴とする方法。
JP1101425A 1989-04-20 1989-04-20 演算レジスタ上でのデータ待ち合せ実現方法 Expired - Lifetime JPH0640316B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1101425A JPH0640316B2 (ja) 1989-04-20 1989-04-20 演算レジスタ上でのデータ待ち合せ実現方法
US08/173,478 US5442761A (en) 1989-04-20 1993-12-27 Method by which packet handler inserts data load instructions in instruction sequence fetched by instruction fetch unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1101425A JPH0640316B2 (ja) 1989-04-20 1989-04-20 演算レジスタ上でのデータ待ち合せ実現方法

Publications (2)

Publication Number Publication Date
JPH02278433A JPH02278433A (ja) 1990-11-14
JPH0640316B2 true JPH0640316B2 (ja) 1994-05-25

Family

ID=14300352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1101425A Expired - Lifetime JPH0640316B2 (ja) 1989-04-20 1989-04-20 演算レジスタ上でのデータ待ち合せ実現方法

Country Status (2)

Country Link
US (1) US5442761A (ja)
JP (1) JPH0640316B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209085B1 (en) * 1995-05-05 2001-03-27 Intel Corporation Method and apparatus for performing process switching in multiprocessor computer systems
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US5794010A (en) * 1996-06-10 1998-08-11 Lsi Logic Corporation Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor
US5896519A (en) * 1996-06-10 1999-04-20 Lsi Logic Corporation Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions
US6965915B1 (en) * 1999-03-30 2005-11-15 Siemens Aktiengesellschaft Communications system for the control of a communications terminal by a remote computer
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
US6826681B2 (en) * 2001-06-18 2004-11-30 Mips Technologies, Inc. Instruction specified register value saving in allocated caller stack or not yet allocated callee stack
US7415031B2 (en) * 2001-07-30 2008-08-19 Null Networks Llc Data link/physical layer packet diversion and insertion
US7646782B1 (en) * 2001-07-30 2010-01-12 Primrose Donald R Data link/physical layer packet buffering and flushing
US6954848B2 (en) * 2002-01-02 2005-10-11 Intel Corporation Marking in history table instructions slowable/delayable for subsequent executions when result is not used immediately

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2319706A1 (fr) * 1975-07-30 1977-02-25 Inst Francais Du Petrole Procede de transformation continue du methanol en biomasse riche en proteines
US4901274A (en) * 1984-07-11 1990-02-13 Hitachi, Ltd. Method and system for data driven information processing
US4709324A (en) * 1985-11-27 1987-11-24 Motorola, Inc. Data processor control unit having an interrupt service using instruction prefetch redirection
JPS62267833A (ja) * 1986-05-16 1987-11-20 Nippon Telegr & Teleph Corp <Ntt> プロセス間通信方法
US4814978A (en) * 1986-07-15 1989-03-21 Dataflow Computer Corporation Dataflow processing element, multiprocessor, and processes
US5010477A (en) * 1986-10-17 1991-04-23 Hitachi, Ltd. Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
US4916652A (en) * 1987-09-30 1990-04-10 International Business Machines Corporation Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
JPH01224847A (ja) * 1988-03-04 1989-09-07 Nippon Telegr & Teleph Corp <Ntt> 電子計算機処理方式
US5212778A (en) * 1988-05-27 1993-05-18 Massachusetts Institute Of Technology Message-driven processor in a concurrent computer

Also Published As

Publication number Publication date
US5442761A (en) 1995-08-15
JPH02278433A (ja) 1990-11-14

Similar Documents

Publication Publication Date Title
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
KR100777772B1 (ko) 연산 처리 장치, 정보 처리 장치 및 레지스터 파일의 제어방법
JPH0640316B2 (ja) 演算レジスタ上でのデータ待ち合せ実現方法
US4851992A (en) Register/saving/restoring system for saving and restoring data in a register of a slave processor
US6324640B1 (en) System and method for dispatching groups of instructions using pipelined register renaming
US5021991A (en) Coprocessor instruction format
EP0523758B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
JPH06236275A (ja) スーパースカラ・プロセッサ・システムにおける非逐次命令ディスパッチおよび実行のための方法およびシステム
US7376950B2 (en) Signal aggregation
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
EP1393162A2 (en) Method and system for tracking and recycling physical register assignment
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0754467B2 (ja) データ処理装置
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JP3659941B2 (ja) マイクロプロセッサおよびその処理方法
JP2814683B2 (ja) 命令処理装置
EP1104899A2 (en) Data processing apparatus and method of controlling the same
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JP3566841B2 (ja) 情報処理装置
US20020108022A1 (en) System and method for allowing back to back write operations in a processing system utilizing a single port cache
JP2965045B2 (ja) 半導体集積回路装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JP2954006B2 (ja) エミュレーション装置およびエミュレーション方法

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term