JPH0475143A - タスク切換機能付プロセッサ - Google Patents
タスク切換機能付プロセッサInfo
- Publication number
- JPH0475143A JPH0475143A JP2188883A JP18888390A JPH0475143A JP H0475143 A JPH0475143 A JP H0475143A JP 2188883 A JP2188883 A JP 2188883A JP 18888390 A JP18888390 A JP 18888390A JP H0475143 A JPH0475143 A JP H0475143A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- task
- register
- input
- processor
- 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
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はタスク切換機能付プロセッサに関し、特に高性
能のプロセッサの一種で複数のタスクをパイプライン的
に順次処理するプロセッサに関するものである。
能のプロセッサの一種で複数のタスクをパイプライン的
に順次処理するプロセッサに関するものである。
(従来の技術)
計算機システム中のCPU等のプロセッサを高速化する
手段として従来からパイプライン構成は非常によく使わ
れている。一般にパイプライン構成では、一つの大きな
処理を複数の処理要素に分割し、各処理要素に必要な時
間つまりパイプラインピッチで次々と新しい命令を実行
することによりスループットを非常に大きくすることが
できる。
手段として従来からパイプライン構成は非常によく使わ
れている。一般にパイプライン構成では、一つの大きな
処理を複数の処理要素に分割し、各処理要素に必要な時
間つまりパイプラインピッチで次々と新しい命令を実行
することによりスループットを非常に大きくすることが
できる。
第5図(a)〜(C)は各々パイプラインの処理方法を
示し、(a)は従来の逐次処理、(b)は理想とするパ
イプライン処理、(C)は現実のバイブライン処理であ
って、同図において、AlB、C,Dは各々命令、Ts
は逐次処理の場合の処理時間、Tpは理想的パイプライ
ン処理の場合の時間、Tpoは現実的パイプライン処理
の処理時間、Δはパイプラインピッチである。
示し、(a)は従来の逐次処理、(b)は理想とするパ
イプライン処理、(C)は現実のバイブライン処理であ
って、同図において、AlB、C,Dは各々命令、Ts
は逐次処理の場合の処理時間、Tpは理想的パイプライ
ン処理の場合の時間、Tpoは現実的パイプライン処理
の処理時間、Δはパイプラインピッチである。
第5図から明らかなように、A、B、C,Dという連続
した命令を実行する場合、最も原始的な逐次処理で実行
するときの処理時間Tsに比べて、理想的なバイブライ
ン処理の処理時間Tpはパイプラインの分割段数をNと
すると1/Nに近い値になる。
した命令を実行する場合、最も原始的な逐次処理で実行
するときの処理時間Tsに比べて、理想的なバイブライ
ン処理の処理時間Tpはパイプラインの分割段数をNと
すると1/Nに近い値になる。
(発明が解決しようとする課8)
しかるに、前記のような理想的なパイプライン処理が実
現できるためには、各命令A、 B、 C。
現できるためには、各命令A、 B、 C。
Dが各々独立なものでなければならないが、現実には例
えば命令A、Cの実行結果を使って命令B。
えば命令A、Cの実行結果を使って命令B。
Dが開始できる場合等の事態が頻繁に発生しバイブライ
ンの乱れが発生する。第5図(C)は、このような場合
の命令実行のタイムチャートを示し、この場合の全体の
処理時間: ’rp’は、理想的処理時間:Tpよりも
大きくなり、むしろ逐次の処理時間:Tsに近くなる。
ンの乱れが発生する。第5図(C)は、このような場合
の命令実行のタイムチャートを示し、この場合の全体の
処理時間: ’rp’は、理想的処理時間:Tpよりも
大きくなり、むしろ逐次の処理時間:Tsに近くなる。
一方、近年複数のタスク(一つの命令系列でまとまった
処理をする単位)を高速に処理するため、各タスクごと
にプロセッサを割り当てるマルチプロセッサシステムが
開発され始めている。これらのシステムにおいては、通
常各プロセッサで同時に実行されている命令は相互に独
立である・が、タスク間で従属関係にある命令を実行す
る必要が生じたり、或いはタスク間で同期をかける必要
が生じたりする場合があるが、従来のシステムでは、こ
のような処理は容易に実現できなかった。
処理をする単位)を高速に処理するため、各タスクごと
にプロセッサを割り当てるマルチプロセッサシステムが
開発され始めている。これらのシステムにおいては、通
常各プロセッサで同時に実行されている命令は相互に独
立である・が、タスク間で従属関係にある命令を実行す
る必要が生じたり、或いはタスク間で同期をかける必要
が生じたりする場合があるが、従来のシステムでは、こ
のような処理は容易に実現できなかった。
前記に鑑みて、本発明は、プロセッサシステム中のパイ
プライン処理におけるパイプラインの乱れを極力減らし
、パイプライン処理を高速化する共に複数のタスクを実
行する場合におけるタスク間の同期を容易にかけられる
ようにするプロセッサ構成を提供することを目的とする
。
プライン処理におけるパイプラインの乱れを極力減らし
、パイプライン処理を高速化する共に複数のタスクを実
行する場合におけるタスク間の同期を容易にかけられる
ようにするプロセッサ構成を提供することを目的とする
。
(課題を解決するための手段)
前記の目的を達成するために、請求項(1)の発明は、
複数種類の命令系列であるタスクの各一部分を各々記憶
している複数の命令バッファ手段と、各タスクで次に実
行すべき命令のアドレスを記憶し、実際にその命令が実
行されると値が更新され、更に次の命令アドレスを保持
するプログラムカウンタ手段と、前記各命令バッファ手
段の出力を選択的に取り込み順次解読し、その解読結果
に基づき次に実行する命令が実行可能か不可能かを示す
チェック信号を出力する命令解読手段と、該命令解読手
段からのチェック信号と内部に設定された各タスクの切
り換えアルゴリズム情報とに基づき、次に選択すべきタ
スクの情報であるタスク選択信号を出力するタスク切換
制御手段と、該タスク切換制御手段からのタスク選択信
号と前記命令解読手段から出力される仮りのレジスタ番
号とから合成して実際のレジスタ番号を発生させるアド
レス変換手段と、前記実際のレジスタ番号の入力により
そのレジスタ番号位置の記憶部分をアクセスし、内部バ
スからのデータの書き込み或いは内部バスへのデータの
読み出しが可能なレジスタブロックと、前記内部バスに
接続され、データに対する演算処理を実行する単一また
は複数の演算処理ブロックとを備え、前記命令解読手段
は、現在解読中の命令がそれと同一タスクの連続する命
令を実行できるか否かを判別する判別回路を有し、前記
タスク切換制御手段は、前記命令解読手段からのチェッ
ク信号により同一タスクの次命令が実行不可能である場
合には必ずタスク切換動作が実行されるように設定され
た制御回路を有する構成とするものである。
複数種類の命令系列であるタスクの各一部分を各々記憶
している複数の命令バッファ手段と、各タスクで次に実
行すべき命令のアドレスを記憶し、実際にその命令が実
行されると値が更新され、更に次の命令アドレスを保持
するプログラムカウンタ手段と、前記各命令バッファ手
段の出力を選択的に取り込み順次解読し、その解読結果
に基づき次に実行する命令が実行可能か不可能かを示す
チェック信号を出力する命令解読手段と、該命令解読手
段からのチェック信号と内部に設定された各タスクの切
り換えアルゴリズム情報とに基づき、次に選択すべきタ
スクの情報であるタスク選択信号を出力するタスク切換
制御手段と、該タスク切換制御手段からのタスク選択信
号と前記命令解読手段から出力される仮りのレジスタ番
号とから合成して実際のレジスタ番号を発生させるアド
レス変換手段と、前記実際のレジスタ番号の入力により
そのレジスタ番号位置の記憶部分をアクセスし、内部バ
スからのデータの書き込み或いは内部バスへのデータの
読み出しが可能なレジスタブロックと、前記内部バスに
接続され、データに対する演算処理を実行する単一また
は複数の演算処理ブロックとを備え、前記命令解読手段
は、現在解読中の命令がそれと同一タスクの連続する命
令を実行できるか否かを判別する判別回路を有し、前記
タスク切換制御手段は、前記命令解読手段からのチェッ
ク信号により同一タスクの次命令が実行不可能である場
合には必ずタスク切換動作が実行されるように設定され
た制御回路を有する構成とするものである。
また、請求項(′2Jの発明は、マルチプロセッサシス
テムと同様の機能を1プロセツサで実現するため、請求
項(1)の構成に加えて、複数のデータ系列が並行して
入出力できる複数のデータ入出力ポートと、前記タスク
切換制御手段からのタスク選択信号に応じて前記各デー
タ入出力ポートとレジスタブロックとを接続するデータ
スイッチ手段と、前記複数の命令バッファ手段の各々に
連結された複数の命令入力ポートとを備える構成を付加
するものである。
テムと同様の機能を1プロセツサで実現するため、請求
項(1)の構成に加えて、複数のデータ系列が並行して
入出力できる複数のデータ入出力ポートと、前記タスク
切換制御手段からのタスク選択信号に応じて前記各デー
タ入出力ポートとレジスタブロックとを接続するデータ
スイッチ手段と、前記複数の命令バッファ手段の各々に
連結された複数の命令入力ポートとを備える構成を付加
するものである。
また、請求項(3)の発明は、複数のタスク間の同期や
、タスク間の任意の命令の実行順序を指定するために、
請求項(1)又は(′2Jの構成に加えて、前記命令解
読手段は、命令の強度を記憶又は更新する強度カウンタ
と、命令コードの一部分に含まれるか若しくは独立の非
実行・制御コードとして各命令系列中に存在する強度情
報を抽出・格納する記憶回路、前記強度カウンタの強度
と前記記憶回路の強度情報とを比較する比較回路、該比
較回路で比較した結果、前記強度カウンタの方が強度が
高い場合にロックフラグ信号を出力する出力回路とから
なる強度記憶判別手段と、前記ロックフラグ信号を受け
ると、演算処理ブロックにおける強度情報を伴った命令
の実行をロックし且つ該強度情報を伴った命令を一旦記
憶する機能を有するタスク数と同数個のロック命令バッ
ファメモリとを備え、前記プログラムカウンタは、各タ
スクに対応して設けられており、前記出力回路からのロ
ックフラグ信号を受けて次命令アドレスへの更新を停止
する機能を有している構成を付加するものである。
、タスク間の任意の命令の実行順序を指定するために、
請求項(1)又は(′2Jの構成に加えて、前記命令解
読手段は、命令の強度を記憶又は更新する強度カウンタ
と、命令コードの一部分に含まれるか若しくは独立の非
実行・制御コードとして各命令系列中に存在する強度情
報を抽出・格納する記憶回路、前記強度カウンタの強度
と前記記憶回路の強度情報とを比較する比較回路、該比
較回路で比較した結果、前記強度カウンタの方が強度が
高い場合にロックフラグ信号を出力する出力回路とから
なる強度記憶判別手段と、前記ロックフラグ信号を受け
ると、演算処理ブロックにおける強度情報を伴った命令
の実行をロックし且つ該強度情報を伴った命令を一旦記
憶する機能を有するタスク数と同数個のロック命令バッ
ファメモリとを備え、前記プログラムカウンタは、各タ
スクに対応して設けられており、前記出力回路からのロ
ックフラグ信号を受けて次命令アドレスへの更新を停止
する機能を有している構成を付加するものである。
さらに、請求項(4)の発明は、複数のタスクから、各
種のデータ処理命令が要求され、各々の結果データのレ
ジスタへの格納が錯綜したタイミングで発生するのを簡
便に制御するために、請求項(1)〜(3)の構成に少
なくとも書き込みと読み出しが独立に実行できるマルチ
入出力ポートのレジスタ部を備え、前記演算処理ブロッ
クは複数段のバイブライン構成であり、各バイブライン
構成毎に、レジスタ番号及び演算処理ブロックの種類を
指定するのに充分なビット幅を有するシフトレジスタと
、該シフトレジスタ各段のデータ入力部と同一のビット
幅を有する人力バッファメモリと、シフトレジスタ各段
の状態即ち空・使用中・待機中を示すステータスフラグ
部と、該ステータスフラグ部が示すステータスフラグの
値に応じて前記シフトレジスタ各段の動作の種類を決定
する動作制御手段を各々備え、前記命令解読手段から出
力される各演算処理結果を格納するためのデスティネー
ションのレジスタ番号を、その演算処理に要するバイブ
ライン段数に応じて前記シフトレジスタの適切な段数位
置に入力する入力位置制御手段を備える構成を付加する
ものである。
種のデータ処理命令が要求され、各々の結果データのレ
ジスタへの格納が錯綜したタイミングで発生するのを簡
便に制御するために、請求項(1)〜(3)の構成に少
なくとも書き込みと読み出しが独立に実行できるマルチ
入出力ポートのレジスタ部を備え、前記演算処理ブロッ
クは複数段のバイブライン構成であり、各バイブライン
構成毎に、レジスタ番号及び演算処理ブロックの種類を
指定するのに充分なビット幅を有するシフトレジスタと
、該シフトレジスタ各段のデータ入力部と同一のビット
幅を有する人力バッファメモリと、シフトレジスタ各段
の状態即ち空・使用中・待機中を示すステータスフラグ
部と、該ステータスフラグ部が示すステータスフラグの
値に応じて前記シフトレジスタ各段の動作の種類を決定
する動作制御手段を各々備え、前記命令解読手段から出
力される各演算処理結果を格納するためのデスティネー
ションのレジスタ番号を、その演算処理に要するバイブ
ライン段数に応じて前記シフトレジスタの適切な段数位
置に入力する入力位置制御手段を備える構成を付加する
ものである。
(作用)
請求項(1)の発明の構成により、バイブラインで連続
して実行できない相互に従属関係にある命令を検出した
場合に、タスクを切換えて現在実行が開始されている命
令と独立の命令を別のタスクから持ってくる。
して実行できない相互に従属関係にある命令を検出した
場合に、タスクを切換えて現在実行が開始されている命
令と独立の命令を別のタスクから持ってくる。
また、請求項のの発明の構成により、上述の複数のデー
タ入出力ポート、命令人力ポートを持つ構成で、データ
の同時入出力、命令の同時入出力が可能になり、マルチ
プロセッサシステムと同等の処理を実行する。
タ入出力ポート、命令人力ポートを持つ構成で、データ
の同時入出力、命令の同時入出力が可能になり、マルチ
プロセッサシステムと同等の処理を実行する。
また、請求項(3)の発明の構成により、上述の強度カ
ウンタ、ロック命令バッファメモリ、強度記憶判別手段
からなる構成により各タスクの命令系列中にコード中の
強度を検出しプロセッサの現在の強度と比較し、それよ
り強度が高ければ実行を継続し、低ければ実行を停止す
ることでタスク間の同期を実現する。
ウンタ、ロック命令バッファメモリ、強度記憶判別手段
からなる構成により各タスクの命令系列中にコード中の
強度を検出しプロセッサの現在の強度と比較し、それよ
り強度が高ければ実行を継続し、低ければ実行を停止す
ることでタスク間の同期を実現する。
さらに請求項(4)の発明の構成により、上述の入力バ
ッファメモリ付シフトレジスタ部を持った構成により、
同一命令中に書かれたデスティネーションオペランドの
レジスタへのデータ書き込み動作をシフトレジスタへの
入力位置を適宜選択することによって、そのタイミング
を調整することができる。
ッファメモリ付シフトレジスタ部を持った構成により、
同一命令中に書かれたデスティネーションオペランドの
レジスタへのデータ書き込み動作をシフトレジスタへの
入力位置を適宜選択することによって、そのタイミング
を調整することができる。
(実施例)
第1図は、本発明の第1の実施例を示しており、同図に
おいて、(1)は複数個存在する命令バッファ手段であ
って、複数のタスクの命令の待行列が格納されている。
おいて、(1)は複数個存在する命令バッファ手段であ
って、複数のタスクの命令の待行列が格納されている。
また第1図において、(2)は上記命令バッファ手段(
1)の中の1つの命令を選択的に入力して解読し、プロ
セッサ内部の各ブロックに命令実行のための制御信号を
送り出す命令解読手段である。但し、同一タスクで2つ
の命令を連続して実行した場合にバイブライン動作が乱
れるような命令について、事前にその最初の命令コード
の一部にフラグを立てである。このフラグは、例えば、
C4−A+B・・・・・・■ E←C−D・・・・・・■ というような連続した命令を実行する際に、■での加算
結果であるCの値が確定しないうちには■の命令を開始
できないという(通常、レジスタハザードと呼ばれる)
ものであって、アセンブラやコンパイラ等を少し工夫す
れば、■→■のシーケンスがレジスタハザードを発生す
ることは容易に検出でき、■の命令コードの中にフラグ
を立ててやることは容易である。
1)の中の1つの命令を選択的に入力して解読し、プロ
セッサ内部の各ブロックに命令実行のための制御信号を
送り出す命令解読手段である。但し、同一タスクで2つ
の命令を連続して実行した場合にバイブライン動作が乱
れるような命令について、事前にその最初の命令コード
の一部にフラグを立てである。このフラグは、例えば、
C4−A+B・・・・・・■ E←C−D・・・・・・■ というような連続した命令を実行する際に、■での加算
結果であるCの値が確定しないうちには■の命令を開始
できないという(通常、レジスタハザードと呼ばれる)
ものであって、アセンブラやコンパイラ等を少し工夫す
れば、■→■のシーケンスがレジスタハザードを発生す
ることは容易に検出でき、■の命令コードの中にフラグ
を立ててやることは容易である。
命令解読手段(2)は、前記のフラグを検出し命令連続
実行のチェック信号を発生すると共に、命令のオペラン
ドとして内部のレジスタが使われる場合、このレジスタ
番号も同時に出力する。但し、このレジスタ番号は同一
タスク内では一意的に決められた番号であるか、別のタ
スクでも同じ番号が使われている可能性が高い。従って
このレジスタ番号は仮のものであって、実際のレジスタ
番号はタスク番号と合わせて後述のアドレス変換手段(
4)で決められる。
実行のチェック信号を発生すると共に、命令のオペラン
ドとして内部のレジスタが使われる場合、このレジスタ
番号も同時に出力する。但し、このレジスタ番号は同一
タスク内では一意的に決められた番号であるか、別のタ
スクでも同じ番号が使われている可能性が高い。従って
このレジスタ番号は仮のものであって、実際のレジスタ
番号はタスク番号と合わせて後述のアドレス変換手段(
4)で決められる。
また第1図において、(3)はタスク切換手段であって
、命令解読手段(2)からのチェック信号と内部に有し
ている切換アルゴリズムとを総合してタスク切換を行な
う。この場合、各タスクに優先度を設けて切り換える方
法の具体例として例えば次のような方法がある。
、命令解読手段(2)からのチェック信号と内部に有し
ている切換アルゴリズムとを総合してタスク切換を行な
う。この場合、各タスクに優先度を設けて切り換える方
法の具体例として例えば次のような方法がある。
すなわち、タスクa、b、c、dに対して4゜3、 2
. 1という優先度(数が大きい方が優先度が高い)を
割り当て、まずaから実行を開始する。
. 1という優先度(数が大きい方が優先度が高い)を
割り当て、まずaから実行を開始する。
タスク切換制御手段(3)は、命令解読手段(2)でチ
ェック信号が発生した場合は直ちにタスクをbに切り換
え、またチェック信号が発生しない場合でも連続して実
行されたタスクaの命令数か4ユニツトになった場合も
タスクをbに切り換える。
ェック信号が発生した場合は直ちにタスクをbに切り換
え、またチェック信号が発生しない場合でも連続して実
行されたタスクaの命令数か4ユニツトになった場合も
タスクをbに切り換える。
タスクbの命令実行も同様にチェック信号の発生又は連
続して実行されたタスクbの命令数が3ユニツトになっ
た場合にタスクCに切り換える。以下同様にタスクCか
らタスクd1タスクdから再びタスクaと切り換える。
続して実行されたタスクbの命令数が3ユニツトになっ
た場合にタスクCに切り換える。以下同様にタスクCか
らタスクd1タスクdから再びタスクaと切り換える。
第6図は、前記のような動作を実現するためのタスク切
換制御手段(3)のハードウェア構成を示しており、同
図において、(31−1)〜(31−5)はカウンタ、
(32)はデコーダ、(33)はOR回路、(34)は
AND回路、(35)はシステム基本クロック、(36
)はチェック信号、(37)はタスク選択信号、(38
)はタスク切換パルスである。
換制御手段(3)のハードウェア構成を示しており、同
図において、(31−1)〜(31−5)はカウンタ、
(32)はデコーダ、(33)はOR回路、(34)は
AND回路、(35)はシステム基本クロック、(36
)はチェック信号、(37)はタスク選択信号、(38
)はタスク切換パルスである。
第6図に示すように、プロセッサとして扱う最大のタス
ク数と同数のカウンタ(31−1)〜(31−4)を準
備し、これらを対応するタスクの優先度と同じ値に初期
設定しておく。また各カウンタ(31−1)〜(31−
4)のクロック入力にはバイブラインピッチに対応する
システム基本クロック(35)を入力し、各カウンタ(
311)〜(31−4)は常にカウント状態にしておく
。但し、タスク切換パルス(38)がカウンタ(31−
1)〜(31−4)のS端子に入力されているため、タ
スク切換パルス(38)が発生するごとに全カウンタ(
31−1)〜(31−4)をリセットして、カウントを
0から再開する。
ク数と同数のカウンタ(31−1)〜(31−4)を準
備し、これらを対応するタスクの優先度と同じ値に初期
設定しておく。また各カウンタ(31−1)〜(31−
4)のクロック入力にはバイブラインピッチに対応する
システム基本クロック(35)を入力し、各カウンタ(
311)〜(31−4)は常にカウント状態にしておく
。但し、タスク切換パルス(38)がカウンタ(31−
1)〜(31−4)のS端子に入力されているため、タ
スク切換パルス(38)が発生するごとに全カウンタ(
31−1)〜(31−4)をリセットして、カウントを
0から再開する。
方、現在実行中のタスクは、別のカウンタ(31−5)
の出力Ch 、Q2によって表示されており、タスク切
換信号によってカウントされ次々とタスクが切換えられ
る。そして、別のカウンタ(31−5)の出力Q+ 、
Q2は、通常二進符号化されているので、デコーダ(3
2)によってa、b。
の出力Ch 、Q2によって表示されており、タスク切
換信号によってカウントされ次々とタスクが切換えられ
る。そして、別のカウンタ(31−5)の出力Q+ 、
Q2は、通常二進符号化されているので、デコーダ(3
2)によってa、b。
c、dの各タスクの個別信号にデコードされ出力される
。
。
タスク切換パルス(38)は、前記各タスクに対応した
カウンタ(31−1)〜(31−4)のカウント終了信
号Eと各々対応したタスク選択信号(37)とのAND
をとったもの、及び命令解読手段(2)から送られてく
るチェック信号(36)のORをとって生成される。つ
まり現在実行中のタスクのカウント終了信号Eがくるか
或いはチェック信号(36)がくれば、次のタスクに切
り換えられ、そこでは新たに各タスク用のカウンタ(3
1−1)〜(31−4)は0からそのタスクの優先度に
応じた値までカウントを開始する。
カウンタ(31−1)〜(31−4)のカウント終了信
号Eと各々対応したタスク選択信号(37)とのAND
をとったもの、及び命令解読手段(2)から送られてく
るチェック信号(36)のORをとって生成される。つ
まり現在実行中のタスクのカウント終了信号Eがくるか
或いはチェック信号(36)がくれば、次のタスクに切
り換えられ、そこでは新たに各タスク用のカウンタ(3
1−1)〜(31−4)は0からそのタスクの優先度に
応じた値までカウントを開始する。
第1図において、(4)は、タスク切換制御手段(3)
からのタスク選択信号と命令解読手段(2)から出力さ
れる仮りのレジスタ番号とから合成して実際のレジスタ
番号を発生させるアドレス変換手段であって、該アドレ
ス変換手段は(4)は、例えば仮想記憶システムをサポ
ートしたプロセッサ中にあるTranslation
Lo。
からのタスク選択信号と命令解読手段(2)から出力さ
れる仮りのレジスタ番号とから合成して実際のレジスタ
番号を発生させるアドレス変換手段であって、該アドレ
ス変換手段は(4)は、例えば仮想記憶システムをサポ
ートしたプロセッサ中にあるTranslation
Lo。
kaside Buffer(TLB)と同じ構成で
実現することができる。
実現することができる。
第1図において、(5)はレジスタブロック手段であっ
て、該レジスタブロック手段(5)−は、前記実際のレ
ジスタ番号の入力により、そのレジスタ番号位置の記憶
部分をアクセスし、内部バスからのデータの書き込み或
いは内部バスへのデータの読み出しか可能である。
て、該レジスタブロック手段(5)−は、前記実際のレ
ジスタ番号の入力により、そのレジスタ番号位置の記憶
部分をアクセスし、内部バスからのデータの書き込み或
いは内部バスへのデータの読み出しか可能である。
第1図に示すように、アドレス変換手段(4)によって
実際のレジスタ番号に変換された信号は、レジスタブロ
ック(5)のアドレスデコーダ(5−1)に供給され、
レジスタ記憶部(5−2)をアクセスして、レジスタの
読み出し、書き込み動作が行われる。そして、レジスタ
ブロック(5)から出力されたデータは、内部バス(7
)を経由して演算処理ブロック(6)に供給されて演算
処理され、その結果は通常再び内部バス(7)を経由し
てレジスタブロック(5)に書き込まれる。
実際のレジスタ番号に変換された信号は、レジスタブロ
ック(5)のアドレスデコーダ(5−1)に供給され、
レジスタ記憶部(5−2)をアクセスして、レジスタの
読み出し、書き込み動作が行われる。そして、レジスタ
ブロック(5)から出力されたデータは、内部バス(7
)を経由して演算処理ブロック(6)に供給されて演算
処理され、その結果は通常再び内部バス(7)を経由し
てレジスタブロック(5)に書き込まれる。
第1図の演算処理ブロック(6)の例では、該演算処理
ブロック(6)の内部で2段のパイプライン処理を実行
する構成を示しており、同図において(6−1)は演算
処理器の第1段、(6−2)は中間結果を保持する中間
ラッチ、(6−3)は演算処理器の第2段、(6−4)
は最終結果を保持する田カラッチである。
ブロック(6)の内部で2段のパイプライン処理を実行
する構成を示しており、同図において(6−1)は演算
処理器の第1段、(6−2)は中間結果を保持する中間
ラッチ、(6−3)は演算処理器の第2段、(6−4)
は最終結果を保持する田カラッチである。
第1図において、(8)は各タスクの次に実行すべき命
令のアドレスを示すプログラムカウンタ手段であって、
該プログラムカウンタ手段(8)は、各タスクで実行す
べき命令のアドレスを記憶しており、各タスクの命令が
実行されるにつれて対応するプログラムカウンタの値が
更新され、更新されたアドレスを保持する。またブラン
チ命令等の実行時は、従来同様プログラムカウンタの値
は、とび先番号へと変換される。
令のアドレスを示すプログラムカウンタ手段であって、
該プログラムカウンタ手段(8)は、各タスクで実行す
べき命令のアドレスを記憶しており、各タスクの命令が
実行されるにつれて対応するプログラムカウンタの値が
更新され、更新されたアドレスを保持する。またブラン
チ命令等の実行時は、従来同様プログラムカウンタの値
は、とび先番号へと変換される。
なお、命令解読手段(2)は、通常のプロセッサの命令
解読用デコーダ回路と、入力部のタスク選択のためのセ
レクタ回路、及びデコーダ回路の追加部分としての命令
連続実行可否検出部およびチェック信号発生回路からな
る。
解読用デコーダ回路と、入力部のタスク選択のためのセ
レクタ回路、及びデコーダ回路の追加部分としての命令
連続実行可否検出部およびチェック信号発生回路からな
る。
第2図は、本発明の第2の実施例を示しており、この第
2実施例の構成は、第1実施例の各構成要素に加えて、
前記命令バッファ手段(2)の各々に接続されプロセッ
サ外部から各タスクに対する独立の命令を入力する複数
の命令入力ポート(11〕と、複数のデータ系列が並行
して入出力できる複数の独立のデータ入出力ポート(1
2)と、前記タスク切換制御手段(3)からのタスク選
択信号に応じて前記データ入出力ポート(12)とレジ
スタブロック(5)とを接続するデータスイッチ手段(
13)とが付加されている。この構成により従来のマル
チプロセッサシステムが等価的に1プロセツサで置き換
えられたことになる。
2実施例の構成は、第1実施例の各構成要素に加えて、
前記命令バッファ手段(2)の各々に接続されプロセッ
サ外部から各タスクに対する独立の命令を入力する複数
の命令入力ポート(11〕と、複数のデータ系列が並行
して入出力できる複数の独立のデータ入出力ポート(1
2)と、前記タスク切換制御手段(3)からのタスク選
択信号に応じて前記データ入出力ポート(12)とレジ
スタブロック(5)とを接続するデータスイッチ手段(
13)とが付加されている。この構成により従来のマル
チプロセッサシステムが等価的に1プロセツサで置き換
えられたことになる。
第3図は、本発明の第3の実施例を示している。
この第3実施例は、タスク間の命令実行の順序付け、或
いはタスク間の同期をとる場合に、事前に各命令に強度
情報を割り当てておき、同期をかける必要のない命令は
強度を最強にし、プロセッサ自体の判別強度をそれより
1ランク低いものにして強度カウンタ(2−3)に設定
しておぐちのである。例えば、タスクdの命令Xdを最
初に実行し、次にタスクCの命令Yc、次にタスクbの
命令zb1次にタスクaの命令Waを実行する場合は、
Xdの強度を4、Ycの強度を3、zbの強度を2、W
aの強度を1、プロセッサの初期強度を4に設定する。
いはタスク間の同期をとる場合に、事前に各命令に強度
情報を割り当てておき、同期をかける必要のない命令は
強度を最強にし、プロセッサ自体の判別強度をそれより
1ランク低いものにして強度カウンタ(2−3)に設定
しておぐちのである。例えば、タスクdの命令Xdを最
初に実行し、次にタスクCの命令Yc、次にタスクbの
命令zb1次にタスクaの命令Waを実行する場合は、
Xdの強度を4、Ycの強度を3、zbの強度を2、W
aの強度を1、プロセッサの初期強度を4に設定する。
強度記憶判別手段(2−2)は、各命令の強度情報を含
んだ部分を記憶する記憶回路と、上述の強度カウンタ(
2−3)から出力されたプロセッサの強度フラグ信号(
2−4)と各命令の強度を比較する比較回路及び次強度
生成出力回路からなり、該強度記憶判別手段(2−2)
は、(a)命令強度がプロセッサ強度より大きいか又は
等しい場合、命令強度の値から1を減じた値を次強度生
成回路により計算させ、これを再び強度更新信号(2−
5)として、強度カウンタ(2−3)へ戻し、その値に
設定し、逆に、(b)プロセッサ強度が命令強度より強
い場合は、その命令の強度情報を除いた残りの部分をロ
ック命令バッファメモリ(2−1)に記憶させ、演算処
理ブロック(6)の命令の実行をロックし、対応するタ
スクのプログラムカウンタ(8)も停止し、タスク切換
用のチェック信号を発する。
んだ部分を記憶する記憶回路と、上述の強度カウンタ(
2−3)から出力されたプロセッサの強度フラグ信号(
2−4)と各命令の強度を比較する比較回路及び次強度
生成出力回路からなり、該強度記憶判別手段(2−2)
は、(a)命令強度がプロセッサ強度より大きいか又は
等しい場合、命令強度の値から1を減じた値を次強度生
成回路により計算させ、これを再び強度更新信号(2−
5)として、強度カウンタ(2−3)へ戻し、その値に
設定し、逆に、(b)プロセッサ強度が命令強度より強
い場合は、その命令の強度情報を除いた残りの部分をロ
ック命令バッファメモリ(2−1)に記憶させ、演算処
理ブロック(6)の命令の実行をロックし、対応するタ
スクのプログラムカウンタ(8)も停止し、タスク切換
用のチェック信号を発する。
例えば最初にzbがプロセッサの命令解読手段(2)に
供給されたとすると、プロセッサの強度は4でありzb
の強度は2であって、(b)の場合に相当するので、Z
bはタスクbに対応する強度記憶判別手段(2−3)と
ロック命令バッフ、アメモリ(2−1)に−旦格納され
、対応するプログラムカウンタ(8)は停止されタスク
はCに切り換えられる。次に命令Xdが到着すると今度
は(a)の場合であるため、Xdはそのまま実行され、
しかも強度記憶判別手段(2−2)によりプロセッサ強
度は4から3に更新される。次にWaが到着すると(b
)の場合であるため、Waもロック状態になりタスクは
bに切り換えられるが、タスクbはロックされているの
で更にタスク切換が発生し、タスクCに切り換えられる
。次に命令Ycが到着すると(a)の場合に相当するの
で、そのままYcが実行されプロセッサ強度は2に更新
される。その後タスクがbに切換えられた場合、今度は
(a)の場合となりロックされていたzbが実行される
。そして最後にWaが実行され別のタスク内に存在する
命令でもXd−+Yc−+Zb−+Waの順で実行され
る。
供給されたとすると、プロセッサの強度は4でありzb
の強度は2であって、(b)の場合に相当するので、Z
bはタスクbに対応する強度記憶判別手段(2−3)と
ロック命令バッフ、アメモリ(2−1)に−旦格納され
、対応するプログラムカウンタ(8)は停止されタスク
はCに切り換えられる。次に命令Xdが到着すると今度
は(a)の場合であるため、Xdはそのまま実行され、
しかも強度記憶判別手段(2−2)によりプロセッサ強
度は4から3に更新される。次にWaが到着すると(b
)の場合であるため、Waもロック状態になりタスクは
bに切り換えられるが、タスクbはロックされているの
で更にタスク切換が発生し、タスクCに切り換えられる
。次に命令Ycが到着すると(a)の場合に相当するの
で、そのままYcが実行されプロセッサ強度は2に更新
される。その後タスクがbに切換えられた場合、今度は
(a)の場合となりロックされていたzbが実行される
。そして最後にWaが実行され別のタスク内に存在する
命令でもXd−+Yc−+Zb−+Waの順で実行され
る。
第4図は、本発明の第4の実施例を示しており、この第
4実施例は、第1実施例に比べて、命令解読手段(2)
から出力される仮想的なレジスタ番号が直接アドレス変
換手段(4)に供給される直接の通路である番号指定信
号線(24)の他に、後述の入力バッファメモリ(21
)、ステータスフラグ部及び制御部(23)、シフトレ
ジスタ(22)を順次通過して一定時間の遅延をもって
アドレス変換手段(4)と演算処理ブロック(6)の出
力ラッチ部(6−4)とに供給される通路を備えている
。この場合、直接番号指定信号線(24)は演算処理の
ソースオペランドのレジスタ番号を供給するものであり
、入力バッファメモリ(21)→ステータスフラグ部及
び制御部(23)−アドレス変換手段(4)の通路はデ
スティネーションオペランドのレジスタ番号を遅延させ
て供給するものである。ここでシフトレジスタ(22)
の1段分はレジスタ番号を指定するのに充分なビット数
を有しており、システムの基本クロックによってデータ
を1段ずつアドレス変換手段(4)の方へ転送していく
。入力バッファメモリ(21)は、シフトレジスタ(2
2)の各段に入力するものであって、ステータスフラグ
部及び制御部(23)に格納されているシフトレジスタ
(22)各段の状態に応じて次の動作をするように設定
されている。すなわち、その段のシフトレジスタ(22
)が空の場合は、入力データ(レジスタ番号)は入力バ
ッファメモリ(21)を通過し直接シフトレジスタ(2
3)に格納される。その段のシフトレジスタ(23)が
既にデータ(レジスタ番号)で充されている場合は、入
力データは入力バッファメモリ(21)に格納される。
4実施例は、第1実施例に比べて、命令解読手段(2)
から出力される仮想的なレジスタ番号が直接アドレス変
換手段(4)に供給される直接の通路である番号指定信
号線(24)の他に、後述の入力バッファメモリ(21
)、ステータスフラグ部及び制御部(23)、シフトレ
ジスタ(22)を順次通過して一定時間の遅延をもって
アドレス変換手段(4)と演算処理ブロック(6)の出
力ラッチ部(6−4)とに供給される通路を備えている
。この場合、直接番号指定信号線(24)は演算処理の
ソースオペランドのレジスタ番号を供給するものであり
、入力バッファメモリ(21)→ステータスフラグ部及
び制御部(23)−アドレス変換手段(4)の通路はデ
スティネーションオペランドのレジスタ番号を遅延させ
て供給するものである。ここでシフトレジスタ(22)
の1段分はレジスタ番号を指定するのに充分なビット数
を有しており、システムの基本クロックによってデータ
を1段ずつアドレス変換手段(4)の方へ転送していく
。入力バッファメモリ(21)は、シフトレジスタ(2
2)の各段に入力するものであって、ステータスフラグ
部及び制御部(23)に格納されているシフトレジスタ
(22)各段の状態に応じて次の動作をするように設定
されている。すなわち、その段のシフトレジスタ(22
)が空の場合は、入力データ(レジスタ番号)は入力バ
ッファメモリ(21)を通過し直接シフトレジスタ(2
3)に格納される。その段のシフトレジスタ(23)が
既にデータ(レジスタ番号)で充されている場合は、入
力データは入力バッファメモリ(21)に格納される。
また、シフトレジスタ(23)のシフト動作は、次段の
入力バッファメモリ(21)にデータが格納されている
場合には停止する。
入力バッファメモリ(21)にデータが格納されている
場合には停止する。
第7図(b)は前記のような動作をする制御回路構成を
示し、この第7図(b)は各1段分の構成を示しており
、同図において、IN−DATAは入力データ、IN−
RQはこの段に入力するための入力リクエストパルス信
号、CKはシステム基本クロックである。また、同図に
おいて、(21)は入力バッファメモリであって、具体
的にはE入力がアサートされているときにはD (L)
入力が格納される複数ビットのフリップフロック回路、
(23−1)はステータスフラグ部(23)の1ビツト
であって、E入力、D (L)入力以外にクロックCK
入力のエツジトリガでD入力を格納するフリップフロッ
プ回路、(23−2)はE入力、D (L)入力をもつ
フリップフロップ回路、(22)はシフトレジスタ1段
分であって、E入力、D (L)入力、CK大入力D入
力を持つ複数ビットのフリップフロップ回路である。ま
た、同図において、(23−3)は所望の動作を実現す
るための論理回路網、(2B−4)は入力バッファ又は
前段のシフトレジスタからのデータのいづれかを選択す
るセレクタ回路網であって、ステータスフラグQ+ 、
Q2の定義は第7図(a)中に記述した通りである。
示し、この第7図(b)は各1段分の構成を示しており
、同図において、IN−DATAは入力データ、IN−
RQはこの段に入力するための入力リクエストパルス信
号、CKはシステム基本クロックである。また、同図に
おいて、(21)は入力バッファメモリであって、具体
的にはE入力がアサートされているときにはD (L)
入力が格納される複数ビットのフリップフロック回路、
(23−1)はステータスフラグ部(23)の1ビツト
であって、E入力、D (L)入力以外にクロックCK
入力のエツジトリガでD入力を格納するフリップフロッ
プ回路、(23−2)はE入力、D (L)入力をもつ
フリップフロップ回路、(22)はシフトレジスタ1段
分であって、E入力、D (L)入力、CK大入力D入
力を持つ複数ビットのフリップフロップ回路である。ま
た、同図において、(23−3)は所望の動作を実現す
るための論理回路網、(2B−4)は入力バッファ又は
前段のシフトレジスタからのデータのいづれかを選択す
るセレクタ回路網であって、ステータスフラグQ+ 、
Q2の定義は第7図(a)中に記述した通りである。
また、第4図において、(25)は、命令解読手段(2
)から出力される各命令の実行時に使用する演算処理ブ
ロック(6)のパイプライン段数に応じてシフトレジス
タ(22)の適切な入力段に入力リクエストパルスを出
力し、データを供給する入力(1)制御手段である。
)から出力される各命令の実行時に使用する演算処理ブ
ロック(6)のパイプライン段数に応じてシフトレジス
タ(22)の適切な入力段に入力リクエストパルスを出
力し、データを供給する入力(1)制御手段である。
(発明の効果)
以上説明したように、請求項(1)の発明に係るタスク
切換機能付プロセッサによると、パイプライン化したプ
ロセッサで、連続して実行できない相互に従属関係にあ
る命令を検出した場合にタスクを切換えて現在実行が開
始されている命令に対して独立の命令を別のタスクから
持ってくるため、複数のタスクの命令を順次実行するこ
とができるので、連続した命令間で従属関係がなくなり
レジスタハザードが発生しない。このため、本発明によ
ると、理想に近いパイプライン動作が実現でき、実行性
能として極めて高速のプロセッサを得ることができる。
切換機能付プロセッサによると、パイプライン化したプ
ロセッサで、連続して実行できない相互に従属関係にあ
る命令を検出した場合にタスクを切換えて現在実行が開
始されている命令に対して独立の命令を別のタスクから
持ってくるため、複数のタスクの命令を順次実行するこ
とができるので、連続した命令間で従属関係がなくなり
レジスタハザードが発生しない。このため、本発明によ
ると、理想に近いパイプライン動作が実現でき、実行性
能として極めて高速のプロセッサを得ることができる。
また、請求項(2)の発明に係るタスク切換機能付プロ
セッサによると、プロセッサ外部に対する複数のデータ
人出力ポート及び命令入出力ポートを備えているため、
データの同時入出力、命令の同時入出力が可能になり、
マルチプロセ・ソサシステムが1プロセツサで実現でき
、しかも一般に実行時間がかかりパイプライン動作を乱
す大きな要因となっていたデータの入出力命令に対して
もタスク切換で対応できるので、これらも理想的にノく
イブライン化できる。このため、本発明によると、高速
演算処理が可能になる。
セッサによると、プロセッサ外部に対する複数のデータ
人出力ポート及び命令入出力ポートを備えているため、
データの同時入出力、命令の同時入出力が可能になり、
マルチプロセ・ソサシステムが1プロセツサで実現でき
、しかも一般に実行時間がかかりパイプライン動作を乱
す大きな要因となっていたデータの入出力命令に対して
もタスク切換で対応できるので、これらも理想的にノく
イブライン化できる。このため、本発明によると、高速
演算処理が可能になる。
また、請求項(3)の発明に係るタスク切換機能付プロ
セッサによると、強度カウンタ、強度バッフアメそり、
強度記憶判別手段を備えているため、各タスクの命令系
列中にコード中の強度を検出しプロセッサの現在の強度
と比較し、それより強度が高ければ実行を継続し、低け
れば実行を停止することでタスク間の同期を実現するこ
とができるので、従来マルチプロセッサシステムで問題
となっていたプロセッサ間の処理の同期が、本発明の1
プロセツサによる擬似的なマルチプロセッサ構成により
わずかなハードウェアの追加により容易に実現できる。
セッサによると、強度カウンタ、強度バッフアメそり、
強度記憶判別手段を備えているため、各タスクの命令系
列中にコード中の強度を検出しプロセッサの現在の強度
と比較し、それより強度が高ければ実行を継続し、低け
れば実行を停止することでタスク間の同期を実現するこ
とができるので、従来マルチプロセッサシステムで問題
となっていたプロセッサ間の処理の同期が、本発明の1
プロセツサによる擬似的なマルチプロセッサ構成により
わずかなハードウェアの追加により容易に実現できる。
このため、本発明によると、従来のソフトウェアによる
同期方式に比べ大幅な処理時間の短縮が可能になる。
同期方式に比べ大幅な処理時間の短縮が可能になる。
さらに、請求項14)の発明に係るタスク切換機能付プ
ロセッサによると、複数の演算処理ブロックに次々と命
令を実行させた場合のその結果の生成タイミングは各演
算処理ブロックのパイプライン段数によって異なるが、
上述のように入力バッファメモリ付シフトレジスタ部を
備えているため、同一命令中に書かれたデスティネーシ
ョンオペランドのレジスタへのデータ書き込み動作をシ
フトレジスタへの入力位置を適宜選択することによって
、そのタイミングを調整することができ、生成タイミン
グに合わせて演算処理ブロックの出力ラッチと書込みレ
ジスタのアクセスを行なうことができるので、命令のオ
ペレーションコード、ソースオペランド、デスティネー
ショオペランドを全て同一行に記述することが可能にな
る。このため、本発明によると、プログラム開発の効率
が大幅に向上する。
ロセッサによると、複数の演算処理ブロックに次々と命
令を実行させた場合のその結果の生成タイミングは各演
算処理ブロックのパイプライン段数によって異なるが、
上述のように入力バッファメモリ付シフトレジスタ部を
備えているため、同一命令中に書かれたデスティネーシ
ョンオペランドのレジスタへのデータ書き込み動作をシ
フトレジスタへの入力位置を適宜選択することによって
、そのタイミングを調整することができ、生成タイミン
グに合わせて演算処理ブロックの出力ラッチと書込みレ
ジスタのアクセスを行なうことができるので、命令のオ
ペレーションコード、ソースオペランド、デスティネー
ショオペランドを全て同一行に記述することが可能にな
る。このため、本発明によると、プログラム開発の効率
が大幅に向上する。
以上いづれの発明に係るタスク切換機能付プロセッサに
よっても、高度のパイプライン構成のプロセッサの実行
性能を大幅に改善することができ、しかも使い易さを増
すことができるものである。
よっても、高度のパイプライン構成のプロセッサの実行
性能を大幅に改善することができ、しかも使い易さを増
すことができるものである。
第1図は本発明の第1実施例を示すプロセッサ内部構成
図、第2図は上記第1実施例の構成に入出力ポート等を
加えて、更に大きな効果を発揮させる第2実施例の構成
図、第3図はタスク間の同期や命令の実行順序を指定で
きる本発明の第3実施例の構成図、第4図はデスティネ
ーションオペランド生成タイミングを合わせて自動的に
レジスタや演算処理ブロックの動作を制御できる本発明
の第4実施例の回路構成図、第5図は従来のパイプライ
ン動作一般のタイミング図、第6図はタスク切換回路を
示す図、第7図は第4図で示した入力バッファメモリ、
シフトレジスタ1段分、ステータスフラグ部及び制御部
の詳細な回路を示す図である。 1・・・命令バッファ手段 2・・・命令解読手段 2−1・・・ロック命令バッファメモリ2−2・・・強
度記憶判別手段 2−3・・・強度カウンタ 3・・・タスク切換制御手段 4・・・アドレス変換手段 5・・・レジスタブロック 6・・・演算処理ブロック 7・・・内部バス 8・・・プログラムカウンタ ト・・命令入力ポート 2・・・データ入出力ポート 3・・・データスイッチ手段 1・・・入力バッファメモリ 2・・・シフトレジスタ 3・・・ステータスフラグ部及び制御部5・・・入力位
置制御手段 島3図 b ろ6図
図、第2図は上記第1実施例の構成に入出力ポート等を
加えて、更に大きな効果を発揮させる第2実施例の構成
図、第3図はタスク間の同期や命令の実行順序を指定で
きる本発明の第3実施例の構成図、第4図はデスティネ
ーションオペランド生成タイミングを合わせて自動的に
レジスタや演算処理ブロックの動作を制御できる本発明
の第4実施例の回路構成図、第5図は従来のパイプライ
ン動作一般のタイミング図、第6図はタスク切換回路を
示す図、第7図は第4図で示した入力バッファメモリ、
シフトレジスタ1段分、ステータスフラグ部及び制御部
の詳細な回路を示す図である。 1・・・命令バッファ手段 2・・・命令解読手段 2−1・・・ロック命令バッファメモリ2−2・・・強
度記憶判別手段 2−3・・・強度カウンタ 3・・・タスク切換制御手段 4・・・アドレス変換手段 5・・・レジスタブロック 6・・・演算処理ブロック 7・・・内部バス 8・・・プログラムカウンタ ト・・命令入力ポート 2・・・データ入出力ポート 3・・・データスイッチ手段 1・・・入力バッファメモリ 2・・・シフトレジスタ 3・・・ステータスフラグ部及び制御部5・・・入力位
置制御手段 島3図 b ろ6図
Claims (4)
- (1)複数種類の命令系列であるタスクの各一部分を各
々記憶している複数の命令バッファ手段と、 各タスクで次に実行すべき命令のアドレスを記憶し、実
際にその命令が実行されると値が更新され、更に次の命
令アドレスを保持するプログラムカウンタ手段と、 前記各命令バッファ手段の出力を選択的に取り込み順次
解読し、その解読結果に基づき次に実行する命令が実行
可能か不可能かを示すチェック信号を出力する命令解読
手段と、 該命令解読手段からのチェック信号と内部に設定された
各タスクの切り換えアルゴリズム情報とに基づき、次に
選択すべきタスクの情報であるタスク選択信号を出力す
るタスク切換制御手段と、 該タスク切換制御手段からのタスク選択信号と前記命令
解読手段から出力される仮りのレジスタ番号とから合成
して実際のレジスタ番号を発生させるアドレス変換手段
と、 前記実際のレジスタ番号の入力によりそのレジスタ番号
位置の記憶部分をアクセスし、内部バスからのデータの
書き込み或いは内部バスへのデータの読み出しが可能な
レジスタブロックと、 前記内部バスに接続され、データに対する演算処理を実
行する単一または複数の演算処理ブロックとを備え、 前記命令解読手段は、現在解読中の命令がそれと同一タ
スクの連続する命令を実行できるか否かを判別する判別
回路を有し、 前記タスク切換制御手段は、前記命令解読手段からのチ
ェック信号により同一タスクの次命令が実行不可能であ
る場合には必ずタスク切換動作が実行されるように設定
された制御回路を有することを特徴とするタスク切換機
能付プロセッサ。 - (2)複数のデータ系列が並行して入出力できる複数の
データ入出力ポートと、 前記タスク切換制御手段からのタスク選択信号に応じて
前記各データ入出力ポートとレジスタブロックとを接続
するデータスイッチ手段と、前記複数の命令バッファ手
段の各々に連結された複数の命令入力ポートとを備えた
ことを特徴とする請求項(1)に記載のタスク切換機能
付プロセッサ。 - (3)前記命令解読手段は、命令の強度を記憶又は更新
する強度カウンタと、命令コードの一部分に含まれるか
若しくは独立の非実行・制御コードとして各命令系列中
に存在する強度情報を抽出・格納する記憶回路、前記強
度カウンタの強度と前記記憶回路の強度情報とを比較す
る比較回路、該比較回路で比較した結果、前記強度カウ
ンタの方が強度が高い場合にロックフラグ信号を出力す
る出力回路とからなる強度記憶判別手段と、前記ロック
フラグ信号を受けると、演算処理ブロックにおける強度
情報を伴った命令の実行をロックし且つ該強度情報を伴
った命令を一旦記憶する機能を有するタスク数と同数個
のロック命令バッファメモリとを備え、 前記プログラムカウンタは、各タスクに対応して設けら
れており、前記出力回路からのロックフラグ信号を受け
て次命令アドレスへの更新を停止する機能を有している
ことを特徴とする請求項(1)又は(2)に記載のタス
ク切換機能付プロセッサ。 - (4)少なくとも書き込みと読み出しが独立に実行でき
るマルチ入出力ポートのレジスタ部を備え、 前記演算処理ブロックは複数段のパイプライン構成であ
り、 各パイプライン構成毎に、レジスタ番号及び演算処理ブ
ロックの種類を指定するのに充分なビット幅を有するシ
フトレジスタと、該シフトレジスタ各段のデータ入力部
と同一のビット幅を有する入力バッファメモリと、シフ
トレジスタ各段の状態即ち空・使用中・待機中を示すス
テータスフラグ部と、該ステータスフラグ部が示すステ
ータスフラグの値に応じて前記シフトレジスタ各段の動
作の種類を決定する動作制御手段を各々備え、 前記命令解読手段から出力される各演算処理結果を格納
するためのデスティネーションのレジスタ番号を、その
演算処理に要するパイプライン段数に応じて前記シフト
レジスタの適切な段数位置に入力する入力位置制御手段
を備えたことを特徴とする請求項(1)〜(3)に記載
のタスク切換型プロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18888390A JPH07111683B2 (ja) | 1990-07-17 | 1990-07-17 | タスク切換機能付プロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18888390A JPH07111683B2 (ja) | 1990-07-17 | 1990-07-17 | タスク切換機能付プロセッサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0475143A true JPH0475143A (ja) | 1992-03-10 |
| JPH07111683B2 JPH07111683B2 (ja) | 1995-11-29 |
Family
ID=16231550
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP18888390A Expired - Fee Related JPH07111683B2 (ja) | 1990-07-17 | 1990-07-17 | タスク切換機能付プロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07111683B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1995009390A1 (fr) * | 1993-09-28 | 1995-04-06 | Namco Ltd. | Processeur pipeline, processeur de detourage, simulateur tridimensionnel et procede de traitement pipeline |
| JPH0816392A (ja) * | 1994-06-21 | 1996-01-19 | Sgs Thomson Microelectron Ltd | コンピュータシステム、コンピュータシステム動作方法、及びコンピュータ命令シーケンス実行方法 |
| JP2002244846A (ja) * | 2001-02-15 | 2002-08-30 | Rooran:Kk | プロセッサとその回路ソースを記録したコンピュータ読み取り可能な記録媒体、及びプロセッサ用の処理プログラムを機械語に変換するアセンブラ |
-
1990
- 1990-07-17 JP JP18888390A patent/JPH07111683B2/ja not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1995009390A1 (fr) * | 1993-09-28 | 1995-04-06 | Namco Ltd. | Processeur pipeline, processeur de detourage, simulateur tridimensionnel et procede de traitement pipeline |
| US5734808A (en) * | 1993-09-28 | 1998-03-31 | Namco Ltd. | Pipeline processing device, clipping processing device, three-dimensional simulator device and pipeline processing method |
| GB2288677B (en) * | 1993-09-28 | 1998-05-13 | Namco Ltd | Pipeline processing device, clipping processing device, three-dimensional simulator device and pipeline processing method |
| JPH0816392A (ja) * | 1994-06-21 | 1996-01-19 | Sgs Thomson Microelectron Ltd | コンピュータシステム、コンピュータシステム動作方法、及びコンピュータ命令シーケンス実行方法 |
| JP2002244846A (ja) * | 2001-02-15 | 2002-08-30 | Rooran:Kk | プロセッサとその回路ソースを記録したコンピュータ読み取り可能な記録媒体、及びプロセッサ用の処理プログラムを機械語に変換するアセンブラ |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07111683B2 (ja) | 1995-11-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR0133238B1 (ko) | 컴퓨터 프로세싱 시스템 및 인스트럭션 실행방법 | |
| US5499349A (en) | Pipelined processor with fork, join, and start instructions using tokens to indicate the next instruction for each of multiple threads of execution | |
| US5353418A (en) | System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread | |
| US6216223B1 (en) | Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor | |
| US4507728A (en) | Data processing system for parallel processing of different instructions | |
| US6341343B2 (en) | Parallel processing instructions routed through plural differing capacity units of operand address generators coupled to multi-ported memory and ALUs | |
| US5949996A (en) | Processor having a variable number of stages in a pipeline | |
| JP2810896B2 (ja) | データ処理装置 | |
| US3943494A (en) | Distributed execution processor | |
| US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
| US6266766B1 (en) | Method and apparatus for increasing throughput when accessing registers by using multi-bit scoreboarding with a bypass control unit | |
| US5274777A (en) | Digital data processor executing a conditional instruction within a single machine cycle | |
| US5835746A (en) | Method and apparatus for fetching and issuing dual-word or multiple instructions in a data processing system | |
| US6263424B1 (en) | Execution of data dependent arithmetic instructions in multi-pipeline processors | |
| JPH0475143A (ja) | タスク切換機能付プロセッサ | |
| US20060004980A1 (en) | Address creator and arithmetic circuit | |
| US20070260857A1 (en) | Electronic Circuit | |
| US6981130B2 (en) | Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel | |
| US5812845A (en) | Method for generating an object code for a pipeline computer process to reduce swapping instruction set | |
| JPH0793152A (ja) | マイクロプロセッサ制御装置 | |
| JP2553728B2 (ja) | 演算装置 | |
| US6266764B1 (en) | Program controller for switching between first program and second program | |
| EP1050800A1 (en) | A pipelined execution unit | |
| US5828861A (en) | System and method for reducing the critical path in memory control unit and input/output control unit operations | |
| JPS5844569A (ja) | 命令処理同期制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |