JPH0776919B2 - 計算機 - Google Patents
計算機Info
- Publication number
- JPH0776919B2 JPH0776919B2 JP2209784A JP20978490A JPH0776919B2 JP H0776919 B2 JPH0776919 B2 JP H0776919B2 JP 2209784 A JP2209784 A JP 2209784A JP 20978490 A JP20978490 A JP 20978490A JP H0776919 B2 JPH0776919 B2 JP H0776919B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- context
- pipeline
- instruction
- execution
- 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
- Advance Control (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) この発明は、単数もしくは複数の情報処理装置で構成さ
れる計算機において、上記情報処理装置中で複数の文脈
命令群が混在する非先行制御型パイプラインと単数の文
脈命令群のみが存在できる先行制御型のパイプラインを
融合し、且つ両方のパイプラインを、処理対象に応じて
調停し使い分けるための実行順序制御装置を備えた計算
機に関する。
れる計算機において、上記情報処理装置中で複数の文脈
命令群が混在する非先行制御型パイプラインと単数の文
脈命令群のみが存在できる先行制御型のパイプラインを
融合し、且つ両方のパイプラインを、処理対象に応じて
調停し使い分けるための実行順序制御装置を備えた計算
機に関する。
(従来の技術) 計算機における実行順序制御装置は、従来から種々提案
されているが、単数の情報処理装置で構成される計算機
のみならず、複数の情報処理装置で構成される並列計算
機実現上の中心的課題となってきている。
されているが、単数の情報処理装置で構成される計算機
のみならず、複数の情報処理装置で構成される並列計算
機実現上の中心的課題となってきている。
計算機の実行順序制御装置の役割は、正当性を保証しつ
つ計算を進行させ、情報処理装置の稼動率を高め、全体
として高速の処理を実現することである。ひとつの情報
処理装置の中で、処理のスループットを向上させる手段
として、従来からパイプライン処理方式があり、これを
制御する実行順序制御装置があった。
つ計算を進行させ、情報処理装置の稼動率を高め、全体
として高速の処理を実現することである。ひとつの情報
処理装置の中で、処理のスループットを向上させる手段
として、従来からパイプライン処理方式があり、これを
制御する実行順序制御装置があった。
パイプライン処理とは、1つの処理をn段の独立な処理
段階に分けて1列に並べ、それぞれの処理段階を並列に
実行することによって、全処理段階の1/nの時間ごとに
次々に結果を得る方式である。各段階の処理時間をパイ
プラインピッチという。パイプライン処理として、これ
までに、次に述べる2種類の方式が考案され、実現され
た。
段階に分けて1列に並べ、それぞれの処理段階を並列に
実行することによって、全処理段階の1/nの時間ごとに
次々に結果を得る方式である。各段階の処理時間をパイ
プラインピッチという。パイプライン処理として、これ
までに、次に述べる2種類の方式が考案され、実現され
た。
(1) 同じ文脈内で直列に処理される複数の処理対象
を、複数の処理段階わたって重畳的に処理することによ
って、1パイプラインピッチごとに次々に結果を得る方
式。この処理方式を、単数文脈先行制御型のパイプライ
ン処理方式と呼ぶ。
を、複数の処理段階わたって重畳的に処理することによ
って、1パイプラインピッチごとに次々に結果を得る方
式。この処理方式を、単数文脈先行制御型のパイプライ
ン処理方式と呼ぶ。
(2) 同一もしくは異なる文脈内の並列に実行可能な
複数の処理対象を、複数の処理段階にわたって重畳的に
処理することによって、1パイプラインピッチごとに次
々に結果を得る方式。この処理方式を、複数文脈非先行
制御型のパイプライン処理方式と呼ぶ。
複数の処理対象を、複数の処理段階にわたって重畳的に
処理することによって、1パイプラインピッチごとに次
々に結果を得る方式。この処理方式を、複数文脈非先行
制御型のパイプライン処理方式と呼ぶ。
(1)の単数文脈先行制御型のパイプライン処理方式で
は、順番に並べられた命令列を高いスループットで実行
することができ、また本来逐次的な命令列に対して重畳
効果をもたらす、という利点があった。
は、順番に並べられた命令列を高いスループットで実行
することができ、また本来逐次的な命令列に対して重畳
効果をもたらす、という利点があった。
一方、(2)の複数文脈非先行制御型のパイプライン処
理方式では、パイプラインを充填する処理対象の任意性
から、静的に実行順序が解析可能な処理はいうまでもな
く、動的な挙動を示す処理対象群に対しても、パイプラ
インの空きを生じず、高いスループットが実現される。
また、各時刻ごとにオーバヘッドなく別の文脈の処理へ
移行できるために、文脈スイッチオーバヘッドが解消さ
れる、という利点があった。
理方式では、パイプラインを充填する処理対象の任意性
から、静的に実行順序が解析可能な処理はいうまでもな
く、動的な挙動を示す処理対象群に対しても、パイプラ
インの空きを生じず、高いスループットが実現される。
また、各時刻ごとにオーバヘッドなく別の文脈の処理へ
移行できるために、文脈スイッチオーバヘッドが解消さ
れる、という利点があった。
(発明が解決しようとする問題点) 前記(1)の単数文脈先行制御型のパイプライン処理方
式では、実行の特性が予め決まっている処理に対して
は、高い効率を発揮することが知られている。しかしな
がら、分岐命令や大域データの取り出しなどの動的な挙
動を示す処理に対しては、先行制御の効果が十分にあが
らず、スループットが低下する欠点があった。また、本
来並列に実行可能な処理を直列化しているため、仕事が
続かず、別の文脈の処理に切り替える際に文脈スイッチ
のオーバヘッドを生じる。
式では、実行の特性が予め決まっている処理に対して
は、高い効率を発揮することが知られている。しかしな
がら、分岐命令や大域データの取り出しなどの動的な挙
動を示す処理に対しては、先行制御の効果が十分にあが
らず、スループットが低下する欠点があった。また、本
来並列に実行可能な処理を直列化しているため、仕事が
続かず、別の文脈の処理に切り替える際に文脈スイッチ
のオーバヘッドを生じる。
一方、(2)の複数文脈非先行制御型のパイプライン処
理方式では、実行の特性が予め決まっていない処理に対
しても、高い重畳効果をあげることができる。しかしな
がら、この処理方式では、先行制御を行なわないため
に、逐次的な問題に対して重畳効果がなく、高い効率を
保つためには、常にパイプラインを充填するだけの並列
度が要求される。また、本方式では、多数の文脈の処理
が混在するため、計算の局所化が難しく、高速小容量の
キャッシュやレジスタファイルなどを利用することが困
難であり、パイプラインピッチを十分に短縮できない欠
点がある。
理方式では、実行の特性が予め決まっていない処理に対
しても、高い重畳効果をあげることができる。しかしな
がら、この処理方式では、先行制御を行なわないため
に、逐次的な問題に対して重畳効果がなく、高い効率を
保つためには、常にパイプラインを充填するだけの並列
度が要求される。また、本方式では、多数の文脈の処理
が混在するため、計算の局所化が難しく、高速小容量の
キャッシュやレジスタファイルなどを利用することが困
難であり、パイプラインピッチを十分に短縮できない欠
点がある。
複数文脈の混在を許したまま、先行制御を導入すること
は、現在実行中の複数の処理のうちのいくつかについ
て、次に実行可能となることが予想される処理を、予め
パイプラインに充填していくことを意味する。この方式
は、もし実現されたならば、逐次処理に対して高いスル
ーブットを保証するとともに、実行の特性が予め決まっ
ていない処理に対して高い重畳効果を挙げることが期待
される。しかし、先行実行するべき処理を特定すること
が困難である、先行実行した処理を取り消すことが困難
である、などの理由でこの方式は実現的ではない。
は、現在実行中の複数の処理のうちのいくつかについ
て、次に実行可能となることが予想される処理を、予め
パイプラインに充填していくことを意味する。この方式
は、もし実現されたならば、逐次処理に対して高いスル
ーブットを保証するとともに、実行の特性が予め決まっ
ていない処理に対して高い重畳効果を挙げることが期待
される。しかし、先行実行するべき処理を特定すること
が困難である、先行実行した処理を取り消すことが困難
である、などの理由でこの方式は実現的ではない。
問題は、実現的なハードウェア構成で、逐次処理に対し
ては先行制御型パイプラインによって、動的な挙動を示
す処理に対しては複数文脈のパイプラインによって、高
いスループットを保持しつつ、同時に文脈スイッチのオ
ーバヘッドをなくす、という技術の確立にある。
ては先行制御型パイプラインによって、動的な挙動を示
す処理に対しては複数文脈のパイプラインによって、高
いスループットを保持しつつ、同時に文脈スイッチのオ
ーバヘッドをなくす、という技術の確立にある。
この発明は、これらの事情に鑑みてなされたものであ
り、前記2種類のパイプラインを融合して計算機におけ
る理想的な処理効率を達成することを目的とする。
り、前記2種類のパイプラインを融合して計算機におけ
る理想的な処理効率を達成することを目的とする。
(問題点を解決するための手段) このような問題点を解決するために、この発明では単数
もしくは複数の情報処理装置で構成された計算機におい
て、前記情報処理装置の中で、複数の文脈の命令群が混
在する非先行制御型のパイプライン(複数文脈非先行制
御型のパイプライン)と、単一の文脈の命令に対しての
み先行制御を行う先行制御型のパイプライン(単数文脈
先行制御型のパイプライン)の両方を融合し、且つ前記
2種類のパイプラインを、処理対象に応じて調停し使い
分けるための実行順序制御装置を備えた計算機を提案す
るものである。
もしくは複数の情報処理装置で構成された計算機におい
て、前記情報処理装置の中で、複数の文脈の命令群が混
在する非先行制御型のパイプライン(複数文脈非先行制
御型のパイプライン)と、単一の文脈の命令に対しての
み先行制御を行う先行制御型のパイプライン(単数文脈
先行制御型のパイプライン)の両方を融合し、且つ前記
2種類のパイプラインを、処理対象に応じて調停し使い
分けるための実行順序制御装置を備えた計算機を提案す
るものである。
なお、ここで文脈とは局所的な実行環境を持つ一連の命
令集合を指すものである。
令集合を指すものである。
なお、前記実行順序制御装置は、前記複数文脈のパイプ
ラインを制御するための命令発火・実行を実現する手段
と、前記単数文脈の先行制御型のパイプラインを制御す
るための命令発火・実行を実現する手段と、両者を矛盾
なく調停・融合する手段とを有する。
ラインを制御するための命令発火・実行を実現する手段
と、前記単数文脈の先行制御型のパイプラインを制御す
るための命令発火・実行を実現する手段と、両者を矛盾
なく調停・融合する手段とを有する。
(作用) この発明によれば、計算機を構成する単数もしくは複数
の情報処理装置の中で、前記2種類のパイプラインを融
合させ、且つこれらのパイプラインを調停して使い分け
る実行順序制御装置を構築することで、逐次処理計算
機、並列処理計算機を問わず、(1)並列性のある処理
対象に対しては、複数文脈非先行制御型のパイプライン
を稼動させることで、静的に挙動が判る処理に対して
も、動的な挙動を示す処理に対しても、パイプラインブ
レークを生じず、文脈スイッチオーバヘッドを生じない
計算実行が可能となり、(2)本来逐次的な処理対象に
対しては、単数文脈先行制御型のパイプラインを稼動さ
せることで、高い重畳効果をもたらすことが可能とな
る。
の情報処理装置の中で、前記2種類のパイプラインを融
合させ、且つこれらのパイプラインを調停して使い分け
る実行順序制御装置を構築することで、逐次処理計算
機、並列処理計算機を問わず、(1)並列性のある処理
対象に対しては、複数文脈非先行制御型のパイプライン
を稼動させることで、静的に挙動が判る処理に対して
も、動的な挙動を示す処理に対しても、パイプラインブ
レークを生じず、文脈スイッチオーバヘッドを生じない
計算実行が可能となり、(2)本来逐次的な処理対象に
対しては、単数文脈先行制御型のパイプラインを稼動さ
せることで、高い重畳効果をもたらすことが可能とな
る。
以上のように、どちらの型の計算においても、情報処理
装置内の処理パイプラインを理想的に充填し、演算実行
部の稼動率を最適に高めることが可能となる。
装置内の処理パイプラインを理想的に充填し、演算実行
部の稼動率を最適に高めることが可能となる。
(実施例) 第1図はこの発明の一実施例を示すブロック図である。
同図は、逐次計算機のプロセッシング部全体、或は並列
計算機の各要素プロセッサのプロセッシング部全体を概
念的に記述したものである。
同図は、逐次計算機のプロセッシング部全体、或は並列
計算機の各要素プロセッサのプロセッシング部全体を概
念的に記述したものである。
この実施例では、当該プロセッシング部は縮小命令セッ
ト計算機(RISC)型のアーキテクチャに基づき、多段パ
イプライン処理、例えば、 命令取り出し(IF)、 命令解釈及びオペランド取り出し(D)、 実行(E)、 レジスタ書き込みまたは結果出力(R)、 の四段のパイプライン処理を行なうものを想定してい
る。
ト計算機(RISC)型のアーキテクチャに基づき、多段パ
イプライン処理、例えば、 命令取り出し(IF)、 命令解釈及びオペランド取り出し(D)、 実行(E)、 レジスタ書き込みまたは結果出力(R)、 の四段のパイプライン処理を行なうものを想定してい
る。
ただし、以下の記述から容易に類推されるように、この
発明は、上記のRISCアーキテクチャを対象とするにとど
まらない。即ち、パイプラインの段数及び各段の役割、
データの格納場所がレジスタであるか、メモリである
か、などは、この発明の範囲内で自由に変えることが可
能であり、また、非縮小命令セット計算機(CISC)のア
ーキテクチャにも、この発明は適用できる。
発明は、上記のRISCアーキテクチャを対象とするにとど
まらない。即ち、パイプラインの段数及び各段の役割、
データの格納場所がレジスタであるか、メモリである
か、などは、この発明の範囲内で自由に変えることが可
能であり、また、非縮小命令セット計算機(CISC)のア
ーキテクチャにも、この発明は適用できる。
第1図の回路ブロック構成について以下に説明する。回
路ブロック6、7、8、9、11は融合型パイプラインが
実働する部分である。回路ブロック5は、融合型パイプ
ラインを実現するための実行順序制御回路であり、この
発明の実施例である。
路ブロック6、7、8、9、11は融合型パイプラインが
実働する部分である。回路ブロック5は、融合型パイプ
ラインを実現するための実行順序制御回路であり、この
発明の実施例である。
回路ブロック4は、実行される命令が格納されている記
憶装置である。回路ブロック3は、処理対象が処理を待
つキューであり、回路ブロック2および回路ブロック12
は、並列計算機において、外部と通信を取り合うための
パケット取扱部および生成部である。回路ブロック1
は、外部との通信に用いられる通信網である。逐次計算
機においては、回路ブロック1、2、12は存在しない。
また、通信形態によっては、回路ブロック2および回路
ブロック12は、パケットを形成しないメセージ取扱部お
よびメッセージ生成部となる。
憶装置である。回路ブロック3は、処理対象が処理を待
つキューであり、回路ブロック2および回路ブロック12
は、並列計算機において、外部と通信を取り合うための
パケット取扱部および生成部である。回路ブロック1
は、外部との通信に用いられる通信網である。逐次計算
機においては、回路ブロック1、2、12は存在しない。
また、通信形態によっては、回路ブロック2および回路
ブロック12は、パケットを形成しないメセージ取扱部お
よびメッセージ生成部となる。
外部から通信網1を介して到着した処理対象は、パケッ
ト取扱部2によって適切な形式に整えられ、処理待ちキ
ュー3に入れられる。処理待ちキュー3に入っている処
理対象は、さまざまの文脈番号を持っている。処理待ち
キュー3の先頭の処理対象は、順次制御装置5の調停に
よって実行が許可されると、6の命令取り出し部を起動
し、その結果、命令記憶装置4から処理対象に施される
べき命令が取り出される。これがパイプラインの第一段
階(IF)である。当該命令は、次の段階(D)で、命令
解釈部7によって解釈され、同時にオペランド取り出し
部8によって、レジスタファイル10から処理の施される
データが取り出される。
ト取扱部2によって適切な形式に整えられ、処理待ちキ
ュー3に入れられる。処理待ちキュー3に入っている処
理対象は、さまざまの文脈番号を持っている。処理待ち
キュー3の先頭の処理対象は、順次制御装置5の調停に
よって実行が許可されると、6の命令取り出し部を起動
し、その結果、命令記憶装置4から処理対象に施される
べき命令が取り出される。これがパイプラインの第一段
階(IF)である。当該命令は、次の段階(D)で、命令
解釈部7によって解釈され、同時にオペランド取り出し
部8によって、レジスタファイル10から処理の施される
データが取り出される。
次の段階(E)では、演算実行部9において、当該命令
が当該オペランドデータに対して実行される。さらに次
の段階(R)では、結果格納・出力部11において、演算
結果がレジスタファイル10に格納されるか、または演算
結果はパケット生成部12に送られる。パケット生成部12
では、演算結果をパケットの形にして、通信網1に送り
込む。
が当該オペランドデータに対して実行される。さらに次
の段階(R)では、結果格納・出力部11において、演算
結果がレジスタファイル10に格納されるか、または演算
結果はパケット生成部12に送られる。パケット生成部12
では、演算結果をパケットの形にして、通信網1に送り
込む。
以上の操作は、処理単位ごとに重畳化して実現される。
第1図に示される例においては、処理待ちキュー3に処
理対象が存在する限り、優先的に該キューからの仕事を
実行することにする。
理対象が存在する限り、優先的に該キューからの仕事を
実行することにする。
該処理のIF段階が終了する際に、処理待ちキュー3に処
理対象が存在する場合は、次の段階で、該処理はD段階
を実行し、同時に処理待ちキュー3から新しい処理対象
が取り出され、これにIF段階の処理が施される。以下同
様に重畳化された処理が連続し、一段階の処理時間ごと
に、一つの処理結果が得られる。該処理が終了すると、
該処理によって実行可能となった処理が、再び処理待ち
キュー3に入れられるか、または、パケットの形で通信
網1を介して該処理の結果が他のプロセッサに伝えら
れ、他のプロセッサの処理待ちキューに新しい処理対象
が入れられる。以上一連の処理の流れは、複数文脈非先
行制御型のパイプラインを実現したものである。
理対象が存在する場合は、次の段階で、該処理はD段階
を実行し、同時に処理待ちキュー3から新しい処理対象
が取り出され、これにIF段階の処理が施される。以下同
様に重畳化された処理が連続し、一段階の処理時間ごと
に、一つの処理結果が得られる。該処理が終了すると、
該処理によって実行可能となった処理が、再び処理待ち
キュー3に入れられるか、または、パケットの形で通信
網1を介して該処理の結果が他のプロセッサに伝えら
れ、他のプロセッサの処理待ちキューに新しい処理対象
が入れられる。以上一連の処理の流れは、複数文脈非先
行制御型のパイプラインを実現したものである。
該処理のIF段階が終了する際に、処理待ちキュー3に処
理対象が存在しない場合には、該処理と同じ文脈で次に
実行可能となることが予想される処理対象を、先行的に
発火させ、該処理のD段階と同時に先行発火した処理対
象のIF段階が行なわれる。通常、先行発火させる処理対
象は、該処理の次の番地に可能されている命令の対象だ
が、該処理やそれ以前の特定の処理に分岐命令の処理が
含まれていると、同一文脈内で分岐先として指定された
番地に格納されている命令の実行が、先行発火される処
理となる。先行発火された処理のIF段階の終了時にも処
理待ちキュー3に処理対象が存在しない場合には、さら
に2段階目の先行制御が行なわれる。以下同様に、先行
制御によって重畳化された処理が連続し、一段階の処理
時間ごとに、ひとつの処理結果が得られる。先行制御が
行なわれた場合、該処理が終了しても、該処理によって
実行可能となった処理が先行発火している場合には、後
者の処理は処理待ちキュー3に入れられることはない。
ただし、パケットの形で通信網1を介して該処理の結果
が他のプロセッサに伝えられ、他のプロセッサの処理待
ちキューに新しい処理対象が入れられることはありえ
る。処理の流れは、単数文脈先行制御型のパイプライン
を実現したものである。
理対象が存在しない場合には、該処理と同じ文脈で次に
実行可能となることが予想される処理対象を、先行的に
発火させ、該処理のD段階と同時に先行発火した処理対
象のIF段階が行なわれる。通常、先行発火させる処理対
象は、該処理の次の番地に可能されている命令の対象だ
が、該処理やそれ以前の特定の処理に分岐命令の処理が
含まれていると、同一文脈内で分岐先として指定された
番地に格納されている命令の実行が、先行発火される処
理となる。先行発火された処理のIF段階の終了時にも処
理待ちキュー3に処理対象が存在しない場合には、さら
に2段階目の先行制御が行なわれる。以下同様に、先行
制御によって重畳化された処理が連続し、一段階の処理
時間ごとに、ひとつの処理結果が得られる。先行制御が
行なわれた場合、該処理が終了しても、該処理によって
実行可能となった処理が先行発火している場合には、後
者の処理は処理待ちキュー3に入れられることはない。
ただし、パケットの形で通信網1を介して該処理の結果
が他のプロセッサに伝えられ、他のプロセッサの処理待
ちキューに新しい処理対象が入れられることはありえ
る。処理の流れは、単数文脈先行制御型のパイプライン
を実現したものである。
単数文脈先行制御型のパイプライン処理は、当該文脈に
先行制御される処理対象が存在しなくなると終了する。
また、同パイプラインは、処理待ちキュー3に新たな処
理対象が到着した場合に、複数文脈非先行制御型のパイ
プライン処理に移行する。
先行制御される処理対象が存在しなくなると終了する。
また、同パイプラインは、処理待ちキュー3に新たな処
理対象が到着した場合に、複数文脈非先行制御型のパイ
プライン処理に移行する。
以上のように、第1図において、複数文脈非先行制御型
パイプラインと単数文脈先行制御型パイプラインの融合
が実現される。即ち、並列に処理可能な処理対象が複数
個あり、処理待ちキュー3にたまっている場合には、前
者のパイプラインを用い、処理待ちキュー3に処理対象
がなくなった場合には、先行制御を行い、後者のパイプ
ラインを用いることで、ほぼ理想的な処理効率を得るこ
とが、以上に示した方式によって可能である。
パイプラインと単数文脈先行制御型パイプラインの融合
が実現される。即ち、並列に処理可能な処理対象が複数
個あり、処理待ちキュー3にたまっている場合には、前
者のパイプラインを用い、処理待ちキュー3に処理対象
がなくなった場合には、先行制御を行い、後者のパイプ
ラインを用いることで、ほぼ理想的な処理効率を得るこ
とが、以上に示した方式によって可能である。
第2図に、第1図に示したプロセッシング部における実
際のパイプラインの稼働例を示す。本図は、処理待ちキ
ュー3に、文脈を異にする3つの処理対象がある状態か
ら、12段階の処理の遷移を示したものである。
際のパイプラインの稼働例を示す。本図は、処理待ちキ
ュー3に、文脈を異にする3つの処理対象がある状態か
ら、12段階の処理の遷移を示したものである。
ここでは、各段階は一単位時間で終了すると、時刻0に
は処理待ちキュー3に、文脈1の処理、文脈2の処理、
文脈3の処理がこの順に入っているとする。最初に、時
刻1で、文脈1の処理対象が取り出され、時刻2までに
IFが行われる。次に時刻2から時刻3の間では、文脈1
に対するDが行われると同時に、文脈2に対するIFが行
われる。次に、時刻3から時刻4の間では、文脈1に対
するE、文脈2に対するD、文脈3に対するIFが同時に
行われる。以上、時刻1から時刻4までの処理は、複数
の文脈、即ち文脈1,2,3の非先行制御型パイプライン13
の上で処理される。
は処理待ちキュー3に、文脈1の処理、文脈2の処理、
文脈3の処理がこの順に入っているとする。最初に、時
刻1で、文脈1の処理対象が取り出され、時刻2までに
IFが行われる。次に時刻2から時刻3の間では、文脈1
に対するDが行われると同時に、文脈2に対するIFが行
われる。次に、時刻3から時刻4の間では、文脈1に対
するE、文脈2に対するD、文脈3に対するIFが同時に
行われる。以上、時刻1から時刻4までの処理は、複数
の文脈、即ち文脈1,2,3の非先行制御型パイプライン13
の上で処理される。
時刻4では、キューから取り出される処理対象が存在し
ないために、文脈3に対して先行制御パイプライン14が
稼働する。即ち、時刻4から時刻5にかけては、既に処
理に入っている3つの文脈である文脈1のR、文脈2の
E、文脈3のDと同時に、文脈3内の次の処理が先行的
に始まり、IFがなされる。時刻5で文脈1の最初の処理
が終了するが、文脈1内の次の処理は引き続いて該プロ
セッシング部で実行されるとし、文脈1の次の処理対象
は処理待ちキュー3に入られるとする。
ないために、文脈3に対して先行制御パイプライン14が
稼働する。即ち、時刻4から時刻5にかけては、既に処
理に入っている3つの文脈である文脈1のR、文脈2の
E、文脈3のDと同時に、文脈3内の次の処理が先行的
に始まり、IFがなされる。時刻5で文脈1の最初の処理
が終了するが、文脈1内の次の処理は引き続いて該プロ
セッシング部で実行されるとし、文脈1の次の処理対象
は処理待ちキュー3に入られるとする。
さらに、時刻5で文脈4の処理対象が外部から処理待ち
キュー3に到着したとする。このとき、時刻5では、文
脈1の処理対象と文脈4の処理対象が処理待ちキュー3
に入られる。到着したばかりの処理対象は即座にキュー
から取り出せないとすると、時刻5では、キューから取
り出せる処理対象が存在せず、文脈3に対して再び先行
制御パイプライン14が稼働する。即ち、時刻5から時刻
6の間に、文脈2のR、文脈3のE、先行処理されてい
る文脈3のD、新たに先行処理される文脈3のIFが実行
される。このように、処理待ちキュー3から取り出すこ
とのできる処理対象が存在しない場合は、ひとつの文脈
に対して2段以上の先行制御が行われる。
キュー3に到着したとする。このとき、時刻5では、文
脈1の処理対象と文脈4の処理対象が処理待ちキュー3
に入られる。到着したばかりの処理対象は即座にキュー
から取り出せないとすると、時刻5では、キューから取
り出せる処理対象が存在せず、文脈3に対して再び先行
制御パイプライン14が稼働する。即ち、時刻5から時刻
6の間に、文脈2のR、文脈3のE、先行処理されてい
る文脈3のD、新たに先行処理される文脈3のIFが実行
される。このように、処理待ちキュー3から取り出すこ
とのできる処理対象が存在しない場合は、ひとつの文脈
に対して2段以上の先行制御が行われる。
時刻6では、文脈2の処理パイプラインが一巡するが、
文脈2は当該プロセッサで実行する処理をもたないとす
る。即ち、文脈2は、時刻6で全ての処理を終了する
か、または、他のプロセッサに時刻6移行の処理を委ね
るかするとする。すると、処理待ちキュー3に入る文脈
2の処理対象は、時刻6以降存在しないことになる。
文脈2は当該プロセッサで実行する処理をもたないとす
る。即ち、文脈2は、時刻6で全ての処理を終了する
か、または、他のプロセッサに時刻6移行の処理を委ね
るかするとする。すると、処理待ちキュー3に入る文脈
2の処理対象は、時刻6以降存在しないことになる。
時刻6には、処理待ちキュー3から文脈1の処理対象が
取り出せるため、複数文脈、即ち文脈1,4の非先行制御
型のパイプライン15が起動される。
取り出せるため、複数文脈、即ち文脈1,4の非先行制御
型のパイプライン15が起動される。
以下同様に、処理待ちキュー3に処理対象がない場合に
は、単数文脈4の先行制御型のパイプラインが起動され
(図中の16)、処理待ちキュー3に処理対象がある場合
には、複数文脈3,1の非先行制御型のパイプラインが起
動され(図中の17)、連結的な処理が行なわれる。
は、単数文脈4の先行制御型のパイプラインが起動され
(図中の16)、処理待ちキュー3に処理対象がある場合
には、複数文脈3,1の非先行制御型のパイプラインが起
動され(図中の17)、連結的な処理が行なわれる。
以上、複数文脈からの処理対象が処理待ちキュー3に断
続的に入るような処理においても、この発明の適用によ
って、切れ目のないパイプライン処理が実現され、実行
部の稼動率が100%になっていることがわかる。
続的に入るような処理においても、この発明の適用によ
って、切れ目のないパイプライン処理が実現され、実行
部の稼動率が100%になっていることがわかる。
実行順序制御部5は上述のように複数文脈のパイプライ
ンを制御するための命令発火・実行を実現する手段と、
単数文脈の先行制御型のパイプラインを制御するための
命令発火・実行を実現する手段と、両者を矛盾なく調停
・融合する手段を有するが、具体的にはその内部構造の
一例を第3図に示すように、次に実行する命令の番地を
生成し、融合された前記2種類のパイプラインを適切に
充填することが、主たる作業内容である。
ンを制御するための命令発火・実行を実現する手段と、
単数文脈の先行制御型のパイプラインを制御するための
命令発火・実行を実現する手段と、両者を矛盾なく調停
・融合する手段を有するが、具体的にはその内部構造の
一例を第3図に示すように、次に実行する命令の番地を
生成し、融合された前記2種類のパイプラインを適切に
充填することが、主たる作業内容である。
2種類のパイプラインの調停方法としては(1)処理待
ちキュー3の文脈を優先して実行し、処理待ちキュー3
が空の時のみに単数文脈の起動を行う複数文脈非先行パ
イプライン優先方式、(2)単数文脈の実行を可能な限
り継続し、実行不可能になった時に処理待ちキュー3か
ら新しい文脈を開始する単数文脈先行型パイプライン優
先方式、(3)待ち合わせ中の処理対象そのものに、単
数文脈先行制御パイプラインを起動することを記したフ
ィールド設け、前記実行順序制御装置が該フィールドの
値によってパイプラインの切替を行う両パイプラインの
動的制御方式があり、処理待ちキュー3はこれら各方式
に基づいて制御されるが、以下(1)の複数文脈非先行
パイプライン優先方式について説明する。
ちキュー3の文脈を優先して実行し、処理待ちキュー3
が空の時のみに単数文脈の起動を行う複数文脈非先行パ
イプライン優先方式、(2)単数文脈の実行を可能な限
り継続し、実行不可能になった時に処理待ちキュー3か
ら新しい文脈を開始する単数文脈先行型パイプライン優
先方式、(3)待ち合わせ中の処理対象そのものに、単
数文脈先行制御パイプラインを起動することを記したフ
ィールド設け、前記実行順序制御装置が該フィールドの
値によってパイプラインの切替を行う両パイプラインの
動的制御方式があり、処理待ちキュー3はこれら各方式
に基づいて制御されるが、以下(1)の複数文脈非先行
パイプライン優先方式について説明する。
処理待ちキュー3に処理対象がある場合は、処理待ち対
象存在信号20がオンになる。この場合、実命令番地生成
回路19によって、処理対象識別子18から、実命令番地が
生成される。処理対象識別子は、ここでは文脈番号と相
対命令番地から成るとした。
象存在信号20がオンになる。この場合、実命令番地生成
回路19によって、処理対象識別子18から、実命令番地が
生成される。処理対象識別子は、ここでは文脈番号と相
対命令番地から成るとした。
生成された実命令番地は、命令番地選択回路21によって
選択され、命令番地レジスタ23に格納される。次の段階
で、命令番地レジスタ23から取り出された命令番地24
は、命令記憶装置4に送られ、当該番地の命令が命令取
り出し部6に読み出される。
選択され、命令番地レジスタ23に格納される。次の段階
で、命令番地レジスタ23から取り出された命令番地24
は、命令記憶装置4に送られ、当該番地の命令が命令取
り出し部6に読み出される。
該処理のIF時に、処理待ちキュー3に処理対象が存在す
る場合には、次の段階で後者の処理対象に対して、上記
該処理の命令番地生成と同じ手順の操作がなされる。
る場合には、次の段階で後者の処理対象に対して、上記
該処理の命令番地生成と同じ手順の操作がなされる。
該処理のIF時に、処理待ちキュー3に処理対象がない場
合は、次の段階では、該処理と同じ文脈の、次の処理が
先行発火する。具体的には、命令解釈部7からの分岐命
令指定信号25によって、該命令または該命令以前の特定
の命令が分岐命令であることを知り、さらに、演算実行
部9からの分岐判定信号26を参照し、分岐が行なわれる
かどうかを知る。分岐が行なわれる場合は、命令取り出
し部6から得られる分岐先番地27を、命令番地選択回路
21において選択し、次命令番地とする。分岐が行なわれ
ない場合には、命令番地24から、同一文脈次番地生成回
路22によって生成された該命令の次の番地を、命令番地
選択回路21によって選択し、次命令番地とする。
合は、次の段階では、該処理と同じ文脈の、次の処理が
先行発火する。具体的には、命令解釈部7からの分岐命
令指定信号25によって、該命令または該命令以前の特定
の命令が分岐命令であることを知り、さらに、演算実行
部9からの分岐判定信号26を参照し、分岐が行なわれる
かどうかを知る。分岐が行なわれる場合は、命令取り出
し部6から得られる分岐先番地27を、命令番地選択回路
21において選択し、次命令番地とする。分岐が行なわれ
ない場合には、命令番地24から、同一文脈次番地生成回
路22によって生成された該命令の次の番地を、命令番地
選択回路21によって選択し、次命令番地とする。
以上に述べたように、第3図で示される実行順序制御装
置の構成によって、先述の融合型パイプラインを、矛盾
なく高い効率で実働させることができる。
置の構成によって、先述の融合型パイプラインを、矛盾
なく高い効率で実働させることができる。
なお、以上の実施例では単一文脈先行制御パイプライン
の起動を、待ち合わせキューが空になった場合とした
が、単一文脈の直列実行が可能な限りこれを継続し、不
可能になったところで待ち合わせキューから新しい文脈
の処理対象を取り出す方式、待ち合わせ中の処理対象そ
のものに、単一文脈先行制御パイプラインを起動するこ
とを記したフィールドを設け、該フィールドの値によっ
てパイプラインの切り替えを行なう方式などがあり、こ
れらは全てこの発明の範囲内である。
の起動を、待ち合わせキューが空になった場合とした
が、単一文脈の直列実行が可能な限りこれを継続し、不
可能になったところで待ち合わせキューから新しい文脈
の処理対象を取り出す方式、待ち合わせ中の処理対象そ
のものに、単一文脈先行制御パイプラインを起動するこ
とを記したフィールドを設け、該フィールドの値によっ
てパイプラインの切り替えを行なう方式などがあり、こ
れらは全てこの発明の範囲内である。
また、容易に類推されるように、この発明は、制御駆動
型、データ駆動型、要求駆動型などの駆動方式のうち、
どの方式にも適用が可能である。
型、データ駆動型、要求駆動型などの駆動方式のうち、
どの方式にも適用が可能である。
(発明の効果) 以上詳細に説明したように、この発明においては、上述
のような実行順序制御装置を計算機に備えることによ
り、逐次処理計算機においても、並列処理計算機におい
ても、2種類のパイプラインを融合し、問題に応じてこ
れらを適切に使い分けることができるため、如何なる性
質の応用に対しても、ほぼ理想的な効率の重畳処理が実
現されうるという優れた効果を有するものである。
のような実行順序制御装置を計算機に備えることによ
り、逐次処理計算機においても、並列処理計算機におい
ても、2種類のパイプラインを融合し、問題に応じてこ
れらを適切に使い分けることができるため、如何なる性
質の応用に対しても、ほぼ理想的な効率の重畳処理が実
現されうるという優れた効果を有するものである。
第1図は本発明の一実施例を含むプロセッサのプロセッ
シング部のブロック図、第2図は、本発明によって実現
される融合型パイプラインの実施例を示す図、第3図
は、本発明における実行順序制御装置の一実施例の内部
構成図である。 図中、1は通信網、2はパケット取扱部、3は処理待ち
キュー、4は命令記憶装置、5は実行順序制御装置、6
は命令取り出し部、7は命令解釈部、8はオペランド取
り出し部、9は演算実行部、10はレジスタファイル、11
は結果格納・結果出力部、12はパケット生成部、13は複
数文脈1、2、3の非先行制御型パイプライン実行、14
は文脈3の先行制御型パイプライン実行、15は複数文脈
1、4の非先行制御型パイプライン実行、16は文脈4の
先行制御型パイプライン実行、17は複数文脈3、1の非
先行制御型パイプライン実行、18は処理対象識別子、19
は実命令番地生成回路、20は処理待ち対象存在信号、21
は命令番地選択回路、22は同一文脈次番地生成回路、23
は命令番地レジスタ、24は命令番地、25は分岐命令指定
信号、26は分岐判定信号、27は分岐先番地。
シング部のブロック図、第2図は、本発明によって実現
される融合型パイプラインの実施例を示す図、第3図
は、本発明における実行順序制御装置の一実施例の内部
構成図である。 図中、1は通信網、2はパケット取扱部、3は処理待ち
キュー、4は命令記憶装置、5は実行順序制御装置、6
は命令取り出し部、7は命令解釈部、8はオペランド取
り出し部、9は演算実行部、10はレジスタファイル、11
は結果格納・結果出力部、12はパケット生成部、13は複
数文脈1、2、3の非先行制御型パイプライン実行、14
は文脈3の先行制御型パイプライン実行、15は複数文脈
1、4の非先行制御型パイプライン実行、16は文脈4の
先行制御型パイプライン実行、17は複数文脈3、1の非
先行制御型パイプライン実行、18は処理対象識別子、19
は実命令番地生成回路、20は処理待ち対象存在信号、21
は命令番地選択回路、22は同一文脈次番地生成回路、23
は命令番地レジスタ、24は命令番地、25は分岐命令指定
信号、26は分岐判定信号、27は分岐先番地。
Claims (4)
- 【請求項1】単数もしくは複数の情報処理装置で構成さ
れた計算機において、処理待ちキューに処理対象がある
場合には、複数文脈非先行制御型のパイプラインを起動
し、処理待ちキューに処理対象がない場合には、単数文
脈先行制御型のパイプラインを起動する方式、或は単数
文脈の直列実行を可能な限り継続し、不可能となったと
ころで処理待ちキューから新しい文脈の取り出す方式、
或は待ち合わせ中の処理対象そのものに、単数文脈先行
制御パイプラインを起動することを記したフィールド設
け、前記実行順序制御装置が該フィールドの値によって
パイプラインの切替を行う方式何れかで作動する実行順
序制御装置を備え、該実行順序制御装置で前記情報処理
装置の中で、複数文脈非先行制御型のパイプラインと、
単数文脈先行制御型のパイプラインの両方を融合し、且
つ前記2種類のパイプラインを、処理対象に応じて調停
し使い分けるようにしたことを特徴とする計算機。 - 【請求項2】前記実行順序制御装置は、前記複数文脈非
先行制御型のパイプラインを制御するための命令発火・
実行を実現する手段と、前記単数文脈先行制御型のパイ
プラインを制御するための命令発火・実行を実現する手
段と、両者を矛盾なく調停・融合する手段とを有するこ
とを特徴とする特許請求の範囲第1項記載の計算機。 - 【請求項3】前記実行順序制御装置が次に実行する命令
番地を生成し、前記融合された2種類のパイプラインを
適切に充填する装置である特許請求の範囲第1項記載の
計算機。 - 【請求項4】前記実行順序制御装置が実命令生成番地回
路、命令番地選択回路、命令番地レジスタ、同一文脈次
番地生成回路とからなる特許請求の範囲第1項記載の計
算機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2209784A JPH0776919B2 (ja) | 1990-08-07 | 1990-08-07 | 計算機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2209784A JPH0776919B2 (ja) | 1990-08-07 | 1990-08-07 | 計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0495129A JPH0495129A (ja) | 1992-03-27 |
JPH0776919B2 true JPH0776919B2 (ja) | 1995-08-16 |
Family
ID=16578546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2209784A Expired - Lifetime JPH0776919B2 (ja) | 1990-08-07 | 1990-08-07 | 計算機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0776919B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6346857A (ja) * | 1986-08-14 | 1988-02-27 | Nec Corp | 異種メデイアメ−ル作成方式 |
JPH01145771A (ja) * | 1987-12-01 | 1989-06-07 | Mitsubishi Electric Corp | パイプライン計算機 |
-
1990
- 1990-08-07 JP JP2209784A patent/JPH0776919B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0495129A (ja) | 1992-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR970016979A (ko) | 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법 | |
US10031773B2 (en) | Method to communicate task context information and device therefor | |
JP2560988B2 (ja) | 情報処理装置および処理方法 | |
JPH0776919B2 (ja) | 計算機 | |
US20010054138A1 (en) | Instruction buffer and buffer queue control method | |
JP2000259609A (ja) | データ処理プロセッサおよびシステム | |
JPS6052471B2 (ja) | ベクトル演算処理システム | |
JPS62151940A (ja) | レジスタ退避/復帰方式 | |
US7107478B2 (en) | Data processing system having a Cartesian Controller | |
CN109948785B (zh) | 一种高效的神经网络电路系统和方法 | |
JP2689914B2 (ja) | 情報処理装置 | |
JP2008027344A (ja) | オブジェクト間の非同期メッセージ管理方式および非同期メッセージ管理方法 | |
JP2814683B2 (ja) | 命令処理装置 | |
JPS63141131A (ja) | パイプライン制御方式 | |
JPH09237186A (ja) | ループ制御装置およびプロセッサ | |
JPH01191967A (ja) | データ通信処理方式 | |
US20110093863A1 (en) | Context switching in a data processing apparatus | |
JP2000067008A (ja) | マルチプロセッサシステム | |
JPS60250438A (ja) | 情報処理装置 | |
JPS5899867A (ja) | 並列処理方式 | |
JPH0628187A (ja) | データロード方法及びそれを用いた演算プロセッサ | |
EP0632374A2 (en) | Method of permitting the exchange of information between processes through a communication device | |
JPH04289935A (ja) | コンピュータ装置 | |
JPS5852751A (ja) | 実行命令順序制御方式 | |
JPH0227491A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |