JP2012208662A - マルチスレッド・プロセッサ - Google Patents
マルチスレッド・プロセッサ Download PDFInfo
- Publication number
- JP2012208662A JP2012208662A JP2011072945A JP2011072945A JP2012208662A JP 2012208662 A JP2012208662 A JP 2012208662A JP 2011072945 A JP2011072945 A JP 2011072945A JP 2011072945 A JP2011072945 A JP 2011072945A JP 2012208662 A JP2012208662 A JP 2012208662A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- thread
- issuing
- confirmation
- belongs
- 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.)
- Pending
Links
Images
Landscapes
- Advance Control (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】複数の命令実行手段を備えるマルチスレッド・プロセッサにおいて、命令実行手段の正確な機能チェックを行うこと。
【解決手段】複数のスレッドがハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサであって、前記複数のスレッドによって使用可能な、演算器その他の複数の命令実行手段と、前記複数の命令実行手段に対して前記複数のスレッドのいずれかに属する命令を発行すると共に、所定のタイミングで前記複数の命令実行手段の機能チェック用命令と該機能チェック用命令が正しく実行されたか否かを確認する確認用命令を発行する命令発行手段と、前記命令発行手段が前記機能チェック用命令を発行する際と、前記確認用命令を発行する際とで前記複数の命令実行手段のうち異なる命令実行手段に命令を発行するように前記命令発行手段を制御する制御手段と、を備えるマルチスレッド・プロセッサ。
【選択図】図3
【解決手段】複数のスレッドがハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサであって、前記複数のスレッドによって使用可能な、演算器その他の複数の命令実行手段と、前記複数の命令実行手段に対して前記複数のスレッドのいずれかに属する命令を発行すると共に、所定のタイミングで前記複数の命令実行手段の機能チェック用命令と該機能チェック用命令が正しく実行されたか否かを確認する確認用命令を発行する命令発行手段と、前記命令発行手段が前記機能チェック用命令を発行する際と、前記確認用命令を発行する際とで前記複数の命令実行手段のうち異なる命令実行手段に命令を発行するように前記命令発行手段を制御する制御手段と、を備えるマルチスレッド・プロセッサ。
【選択図】図3
Description
本発明は、複数のスレッドがハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサに関する。
近年、プロセッサの性能向上に伴い、複数の機能を一つのプロセッサにより実現させるための技術が研究・実用化されている。例えば、車両に搭載される車載制御装置の分野では、ある車載機器を制御する制御装置と他の車載機器を制御する制御装置(例えば変速機の制御装置とエンジンの制御装置等)を統合して、コンピュータ・ハードウエアを縮小し、コストや重量の低減を図る動きが見られる。
こうしたハードウエア統合の一手法として、ハードウエア・マルチスレッディング処理と称されるものが知られている。ハードウエア・マルチスレッディング処理とは、例えば専用の命令バッファや演算結果の格納場所(レジスタ)等を有する複数のスレッドが、命令デコーダや演算回路等、ハードウエアの一部を共有して処理を行なうものである。
ところで、こうしたプロセッサが自動車等の移動体に搭載された制御装置、プラント等の制御装置として用いられる場合、処理の正確性を保証するために、定期的に演算器等の機能チェックを行うことが好ましい。
特許文献1には、こうした機能チェックを行う演算処理装置について記載されている。この装置は、二個の演算器を備え、スーパースカラ動作を行うことが可能となっている。そして、演算器のうち一方にのみ命令有効信号が発行されなかったときに、命令を実行していないもう一方の演算器の入力部にある選択回路を切り替えて同一のオペランド入力データおよび演算制御信号を分配し、命令発行がなされた演算器と同一の演算を実行させて演算結果を比較することにより、演算器が故障状態にあるか否かを検出している。
しかしながら、ハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサの場合、仮に、共有される演算器を用いて機能チェックをしようとすると、同一の演算器による演算結果を比較することになり、正確なチェックを行うことができない。
また、演算器等を複数備える場合であっても、従来のマルチスレッド・プロセッサでは、演算器の選択とスレッドの対応付けに関する制御を行っておらず、同一の演算器による演算結果を比較する結果となる場合がある。
本発明はこのような課題を解決するためのものであり、複数の命令実行手段を備えるマルチスレッド・プロセッサにおいて、命令実行手段の正確な機能チェックを行うことを、主たる目的とする。
上記目的を達成するための本発明の第1の態様は、
複数のスレッドがハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサであって、
前記複数のスレッドによって使用可能な、演算器その他の複数の命令実行手段と、
前記複数の命令実行手段に対して前記複数のスレッドのいずれかに属する命令を発行すると共に、所定のタイミングで前記複数の命令実行手段の機能チェック用命令と該機能チェック用命令が正しく実行されたか否かを確認する確認用命令を発行する命令発行手段と、
前記命令発行手段が前記機能チェック用命令を発行する際と、前記確認用命令を発行する際とで前記複数の命令実行手段のうち異なる命令実行手段に命令を発行するように前記命令発行手段を制御する制御手段と、
を備えるマルチスレッド・プロセッサである。
複数のスレッドがハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサであって、
前記複数のスレッドによって使用可能な、演算器その他の複数の命令実行手段と、
前記複数の命令実行手段に対して前記複数のスレッドのいずれかに属する命令を発行すると共に、所定のタイミングで前記複数の命令実行手段の機能チェック用命令と該機能チェック用命令が正しく実行されたか否かを確認する確認用命令を発行する命令発行手段と、
前記命令発行手段が前記機能チェック用命令を発行する際と、前記確認用命令を発行する際とで前記複数の命令実行手段のうち異なる命令実行手段に命令を発行するように前記命令発行手段を制御する制御手段と、
を備えるマルチスレッド・プロセッサである。
この本発明の第1の態様によれば、命令発行手段が機能チェック用命令を発行する際と、確認用命令を発行する際とで複数の命令実行手段のうち異なる命令実行手段に命令を発行するように命令発行手段を制御するため、複数の命令実行手段を備えるマルチスレッド・プロセッサにおいて、命令実行手段の正確な機能チェックを行うことができる。
本発明の第1の態様において、
前記制御手段は、
前記命令発行手段が発行しようとする命令の属するスレッドを特定可能な手段を有し、
前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に、前記機能チェック用命令の属するスレッドと、前記確認用命令の属するスレッドのそれぞれに対応した異なるID信号を前記命令発行手段に出力する手段であり、
前記命令発行手段は、前記制御手段から入力されるID信号に応じて、前記複数の命令実行手段のうち命令を発行する命令実行手段を決定する手段であるものとしてもよい。
前記制御手段は、
前記命令発行手段が発行しようとする命令の属するスレッドを特定可能な手段を有し、
前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に、前記機能チェック用命令の属するスレッドと、前記確認用命令の属するスレッドのそれぞれに対応した異なるID信号を前記命令発行手段に出力する手段であり、
前記命令発行手段は、前記制御手段から入力されるID信号に応じて、前記複数の命令実行手段のうち命令を発行する命令実行手段を決定する手段であるものとしてもよい。
この場合、
前記制御手段は、前記命令発行手段が前記機能チェック用命令の属するスレッド及び前記確認用命令の属するスレッドとは、異なるスレッドに属する命令を発行しようとする際に、前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に出力するID信号とは異なるID信号を前記命令発行手段に出力する手段であるものとしてもよい。
前記制御手段は、前記命令発行手段が前記機能チェック用命令の属するスレッド及び前記確認用命令の属するスレッドとは、異なるスレッドに属する命令を発行しようとする際に、前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に出力するID信号とは異なるID信号を前記命令発行手段に出力する手段であるものとしてもよい。
また、本発明の第1の態様において、
前記制御手段は、
前記命令発行手段が発行しようとする命令の属するスレッドグループを特定可能な手段を有し、
前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に、前記機能チェック用命令の属するスレッドグループと、前記確認用命令の属するスレッドグループのそれぞれに対応した異なるID信号を前記命令発行手段に出力する手段であり、
前記命令発行手段は、前記制御手段から入力されるID信号に応じて、前記複数の命令実行手段のうち命令を発行する命令実行手段を決定する手段であるものとしてもよい。
前記制御手段は、
前記命令発行手段が発行しようとする命令の属するスレッドグループを特定可能な手段を有し、
前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に、前記機能チェック用命令の属するスレッドグループと、前記確認用命令の属するスレッドグループのそれぞれに対応した異なるID信号を前記命令発行手段に出力する手段であり、
前記命令発行手段は、前記制御手段から入力されるID信号に応じて、前記複数の命令実行手段のうち命令を発行する命令実行手段を決定する手段であるものとしてもよい。
この場合、
前記制御手段は、前記命令発行手段が前記機能チェック用命令の属するスレッドグループ及び前記確認用命令の属するスレッドグループとは異なるスレッドグループに属する命令を発行しようとする際には、前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に出力するID信号とは異なるID信号を前記命令発行手段に出力する手段であるものとしてもよい。
前記制御手段は、前記命令発行手段が前記機能チェック用命令の属するスレッドグループ及び前記確認用命令の属するスレッドグループとは異なるスレッドグループに属する命令を発行しようとする際には、前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に出力するID信号とは異なるID信号を前記命令発行手段に出力する手段であるものとしてもよい。
本発明の第2の態様は、
複数のスレッドがハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサであって、
前記複数のスレッドによって使用可能な、演算器その他の複数の命令実行手段と、
前記複数の処理手段のそれぞれに対して命令発行可能な命令発行手段と、
を備え、
前記命令発行手段は、発行する命令の属するスレッド又はスレッドグループを示す入力信号に応じて前記複数の命令実行手段のうち命令を発行する命令実行手段を決定する手段である、
マルチスレッド・プロセッサである。
複数のスレッドがハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサであって、
前記複数のスレッドによって使用可能な、演算器その他の複数の命令実行手段と、
前記複数の処理手段のそれぞれに対して命令発行可能な命令発行手段と、
を備え、
前記命令発行手段は、発行する命令の属するスレッド又はスレッドグループを示す入力信号に応じて前記複数の命令実行手段のうち命令を発行する命令実行手段を決定する手段である、
マルチスレッド・プロセッサである。
この本発明の第2の態様によれば、命令発行手段が、発行する命令の属するスレッド又はスレッドグループを示す入力信号に応じて複数の命令実行手段のうち命令を発行する命令実行手段を決定するため、命令実行手段の正確な機能チェックを行うことができる。
本発明によれば、複数の命令実行手段を備えるマルチスレッド・プロセッサにおいて、命令実行手段の正確な機能チェックを行うことができる。
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
以下、図面を参照し、本発明の一実施例に係るマルチスレッド・プロセッサ1について説明する。
図1は、本発明の一実施例に係るマルチスレッド・プロセッサ1のシステム構成例である。マルチスレッド・プロセッサ1は、主要な構成として、プログラムメモリ10と、命令フェッチユニット20と、命令バッファ22#1〜22#nと、命令デコーダ24と、レジスタフェッチユニット26と、命令発行部28と、汎用レジスタ30#1〜30#nと、システムレジスタ32と、実行ユニット40と、パイプライン制御回路50と、ID信号出力部60と、を備える。
なお、本実施例では、二以上の任意の数であるスレッド数(後述するアクセス専用スレッドを含む)がnであるとし、「#」の後の数字がスレッドナンバーを示すものとする。また、図1に示す構成は、ハードウエア・マルチスレッディング処理を行うための一般的な構成を例示したものであり、ハードウエア・マルチスレッディング処理を行うことが可能な構成であれば、任意の構成要素を置換、削除、追加等してよい。
ハードウエア・マルチスレッディング処理とは、複数のスレッドが、命令デコーダや演算回路等のハードウエアの一部を共有して処理を行なうものである。スレッドとは、ハードウエアを部分的に共有して処理を行なう仮想的な処理主体をいう。本実施例では、命令バッファやレジスタはスレッド毎に用意されているが、その他の構成要素はスレッド間で共用されるものとする。
スレッドの切り替えは、所定の実行順に従って、図示しないOS(オペレーティングシステム)に含まれるスレッドスケジューラによって制御されるものとする。
プログラムメモリ10は、例えばフラッシュROM(Read Only Memory)であり、各スレッドが実行するプログラム(命令列)を格納する。プログラムメモリ10は、命令フェッチユニット20から命令の格納場所を示すアドレスが入力されると、当該アドレスに格納された命令を出力する。なお、フラッシュROMに代えて、EEPROM(Electrically Erasable and Programmable Read Only Memory)や通常のROM等が用いられ得る。
命令フェッチユニット20は、スレッド毎のプログラムカウンタ21#1〜21#nを有し、図示しない命令フェッチバスを介してプログラムメモリ10から命令等をフェッチし、命令バッファ22#1〜22#nのうち、スレッドに対応した命令バッファに格納する。
すなわち、スレッド#1が実行する命令等をフェッチした場合は命令バッファ22#1に命令を格納し、スレッド#2が実行する命令等をフェッチした場合は命令バッファ22#2に命令を格納する。命令バッファ22#1〜22#nは、例えばFIFO(First In, First Out)に従って命令を入出力するように制御される。
命令デコーダ24は、いずれかの命令バッファから供給される命令及びオペランドの格納場所(より具体的には、汎用レジスタ30#1〜30#n又は図示しないRAM等におけるアドレス)を解読(デコード)する。レジスタフェッチユニット26は、解読されたオペランドの格納場所に格納されたオペランドを取得する。
命令発行部28は、命令デコーダ24及びレジスタフェッチユニット26によって用意された命令、オペランド、演算結果の格納場所等からなる命令を、実行ユニット40に発行する。
実行ユニット40は、例えば、四則演算その他の演算処理を行うための複数のALU(Arithmetic Logic Unit)41A、41Bの他、乗算器(MUL)42、除算器(DIV)43、LSU(Load Store Unit)44A、44B等の命令実行手段を備え、スーパースカラ動作を可能にしている。また、この他に、FPGA(Field Programmable Gate Array)やSIMD(Single Instruction Multiple Data)演算器等を備えてもよい。実行ユニット40は、実行した演算等の結果を、スレッドに対応した汎用レジスタ30#1〜30#nに格納する(ライトバック)。
命令発行部28は、命令の属するスレッドに応じて、命令を発行する実行ユニット40に含まれる命令実行手段のうちいずれに命令を実行するかを決定する。
また、命令発行部28は、必要に応じて、実行ユニット40に含まれる命令実行手段のうち複数のものに対して命令の同時発行が可能であるかどうかを判定し、その結果に応じて命令を同時発行して並行処理を行わせる(スーパースカラ動作)。スーパースカラ動作が可能であるかどうかの判定は、オペランドチェック(先の命令の演算結果を後の命令が用いて演算を行うかをチェックする等)その他の手法により行われる。また、スレッド毎にスーパースカラ動作の許可又は不許可が設定されている場合は、これが加味されてよい。
システムレジスタ32は、コンテキストデータ等のデータを格納する。
パイプライン制御回路50は、上記パイプライン動作全体を制御する。具体的には、内部クロックの立ち上がり等に応じて、命令フェッチユニット20、命令デコーダ24、命令発行部28、実行ユニット40が有する命令実行手段等を作動させる。また、OSから入力される信号等を参照し、これらの動作がいずれのスレッドに属するものであるかを把握している。
ID信号出力部60は、例えば、スレッドの実行順を規定したデータが格納されるスレッド実行順格納用レジスタ62を備える。必然的に、スレッド実行順格納用レジスタ62に格納されたスレッドの実行順は、OSに含まれるスレッドスケジューラによって制御される実行順と一致している。
図2は、スレッド実行順格納用レジスタ62に格納されるデータの内容を例示した図である。係るデータは、マルチスレッド・プロセッサの起動時に、プログラムメモリ10又は図示しないROM等からダウンロードされて用いられる。
本実施例では、スレッド#1は、命令実行手段の機能チェック用の命令のみを含み、スレッド#3は、機能チェック用命令が正しく実行されたか否かを確認する確認用命令のみを含む。確認用命令は、機能チェック用の命令と全く同一の命令であってもよいし、異なる命令であっても構わない。
また、図2に示すように、スレッド実行順格納用レジスタ62には、次に命令発行するスレッドを示すポインタ64が附設されている。ポインタ64は、具体的には、スレッド実行順格納用レジスタ62のアドレスのうち所定のアドレスを示す値が格納されるレジスタであってよい。ポインタ64の示すアドレスは、パイプライン制御回路50によってクロック毎に変更される。
ID信号出力部60は、ポインタ64が示すスレッド実行順格納用レジスタ62のアドレスに格納された値に基づいて、ID信号を命令発行部28に出力する。例えば、ポインタ64がスレッド#1を示している場合は「0」、ポインタ64がスレッド#3を示している場合は「1」、ポインタ64がスレッド#1及び#3以外のスレッドを示している場合は「2」をID信号として出力する。
そして、命令発行部28は、以下のように、ID信号が「0」である場合と「1」である場合で異なる命令実行手段に命令を発行する。例えば、ID信号出力部60から入力されたID信号が「0」である場合は、ALU41A(ロード・ストア等が付随する場合は、更にLSU44A又は44B)に命令を発行し、ID信号出力部60から入力されたID信号が「1」である場合は、ALU41B(ロード・ストア等が付随する場合は、更にLSU44A又は44B)に命令を発行し、ID信号出力部60から入力されたID信号が「2」である場合は、ALU41AとALU41Bのうち任意の一方又は双方に命令を発行する。
図3は、命令発行部28がID信号に応じて命令を発行する命令実行手段を決定する様子を示す図である。
図4は、このような命令発行制御の結果として実現されるパイプライン動作を模式的に示す図である。本図では、スレッド数が#0〜#3の4つであるものとしている。図中、「IF」は命令フェッチ(Instruction Fetch)を、「DEC」はデコード及びレジスタフェッチを、ID#*は、ID信号の受信を、それぞれ示している。
図示するように、時点t1でスレッド#1によってALU41Aを用いた機能チェック用命令が実行されると、その後、スレッド#3によってALU41Bを用いた確認用命令が実行される。
また、時点t2では、時点1とは逆に、スレッド#3によってALU41Bを用いた機能チェック用命令が実行され、その後、スレッド#1によってALU41Aを用いた確認用命令が実行される。
これらの命令実行結果を比較することにより、ALU41AとALU41Bのいずれかに異常が発生していないかどうかを正確に検知することができる。
図5は機能チェック用命令の処理フローの一例を示す図であり、図6は、確認用命令の処理フローの一例を示す図である。
機能チェック用命令を実行するALUは、機能チェック用命令及びオペランドを取得し(S100)、演算処理を行う(S102)。ここでは、演算処理として、{x[7:0]}で示されるオペランドと、{0x55}という値とのアンド演算を行うものとする。図7は、係るアンド演算の正しい演算結果(期待値)を示す図である。図示するように、期待値は、{0b01010100}すなわち{0x54}となる。
機能チェック用命令を実行したALUは、演算結果を汎用レジスタの所定領域に格納する(S104)。
一方、確認用命令を実行するALUは、汎用レジスタの他の領域に予め格納されている期待値を取得し(S200)、更にいずれかのLSUが、機能チェック用命令を実行したALUによって格納された演算結果を取得すると(S202)、これらを比較して、一致するかどうかを判定する(S204)。一致判定は、具体的には双方の値を減算して値0となるか否かにより行われる。
S204において、期待値と演算結果が一致しないと判定された場合には、OS等により所定のエラー処理が行われる(S206)。エラー処理は、実行ユニット40のリセット、マルチスレッド・プロセッサ全体のリセット等、段階的に行われる。
以上説明した本実施例のマルチスレッド・プロセッサ1によれば、複数の命令実行手段を備えるマルチスレッド・プロセッサにおいて、命令実行手段の正確な機能チェックを行うことができる。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、ID信号出力部60において、スレッド毎にID信号を決定するものとしたが、機能チェック用命令や確認用命令の属するスレッドを含めて、複数のスレッドを含むスレッドグループ毎にID信号を決定するものとしてもよい。具体的には、ポインタ64がスレッド#0及び#1を示している場合は「0」、ポインタ64がスレッド#2及び#3を示している場合は「1」をID信号として出力するものとしてもよい。このように、機能チェック用命令が実行される際のID信号と、確認用命令が実行される際のID信号が異なっていればよく、この限りにおいて、スレッドのグルーピングは如何なる態様を採用してもよい。
また、スレッド実行順格納用レジスタ62を備え、ポインタ64をパイプライン制御回路50が制御する構成を例示したが、パイプライン制御回路50が直接的に、次に命令発行するスレッドを示す信号を命令発行部28に出力する構成であってもよい。
1 マルチスレッド・プロセッサ
10 プログラムメモリ
20 命令フェッチユニット
22#1〜22#n 命令バッファ
24 命令デコーダ
26 レジスタフェッチユニット
28 命令発行部
30#1〜30#n 汎用レジスタ
32 システムレジスタ
40 実行ユニット
41A、41B ALU
42 乗算器
43 除算器
44A、44B LSU
50 パイプライン制御回路
60 ID信号出力部
62 スレッド実行順格納用レジスタ
64 ポインタ
10 プログラムメモリ
20 命令フェッチユニット
22#1〜22#n 命令バッファ
24 命令デコーダ
26 レジスタフェッチユニット
28 命令発行部
30#1〜30#n 汎用レジスタ
32 システムレジスタ
40 実行ユニット
41A、41B ALU
42 乗算器
43 除算器
44A、44B LSU
50 パイプライン制御回路
60 ID信号出力部
62 スレッド実行順格納用レジスタ
64 ポインタ
Claims (6)
- 複数のスレッドがハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサであって、
前記複数のスレッドによって使用可能な、演算器その他の複数の命令実行手段と、
前記複数の命令実行手段に対して前記複数のスレッドのいずれかに属する命令を発行すると共に、所定のタイミングで前記複数の命令実行手段の機能チェック用命令と該機能チェック用命令が正しく実行されたか否かを確認する確認用命令を発行する命令発行手段と、
前記命令発行手段が前記機能チェック用命令を発行する際と、前記確認用命令を発行する際とで前記複数の命令実行手段のうち異なる命令実行手段に命令を発行するように前記命令発行手段を制御する制御手段と、
を備えるマルチスレッド・プロセッサ。 - 請求項1に記載のマルチスレッド・プロセッサであって、
前記制御手段は、
前記命令発行手段が発行しようとする命令の属するスレッドを特定可能な手段を有し、
前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に、前記機能チェック用命令の属するスレッドと、前記確認用命令の属するスレッドのそれぞれに対応した異なるID信号を前記命令発行手段に出力する手段であり、
前記命令発行手段は、前記制御手段から入力されるID信号に応じて、前記複数の命令実行手段のうち命令を発行する命令実行手段を決定する手段である、
マルチスレッド・プロセッサ。 - 請求項2に記載のマルチスレッド・プロセッサであって、
前記制御手段は、前記命令発行手段が前記機能チェック用命令の属するスレッド及び前記確認用命令の属するスレッドとは、異なるスレッドに属する命令を発行しようとする際に、前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に出力するID信号とは異なるID信号を前記命令発行手段に出力する手段である、
マルチスレッド・プロセッサ。 - 請求項1に記載のマルチスレッド・プロセッサであって、
前記制御手段は、
前記命令発行手段が発行しようとする命令の属するスレッドグループを特定可能な手段を有し、
前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に、前記機能チェック用命令の属するスレッドグループと、前記確認用命令の属するスレッドグループのそれぞれに対応した異なるID信号を前記命令発行手段に出力する手段であり、
前記命令発行手段は、前記制御手段から入力されるID信号に応じて、前記複数の命令実行手段のうち命令を発行する命令実行手段を決定する手段である、
マルチスレッド・プロセッサ。 - 請求項4に記載のマルチスレッド・プロセッサであって、
前記制御手段は、前記命令発行手段が前記機能チェック用命令の属するスレッドグループ及び前記確認用命令の属するスレッドグループとは異なるスレッドグループに属する命令を発行しようとする際には、前記命令発行手段が前記機能チェック用命令及び前記確認用命令を発行しようとする際に出力するID信号とは異なるID信号を前記命令発行手段に出力する手段である、
マルチスレッド・プロセッサ。 - 複数のスレッドがハードウエア・マルチスレッディング処理を行うマルチスレッド・プロセッサであって、
前記複数のスレッドによって使用可能な、演算器その他の複数の命令実行手段と、
前記複数の処理手段のそれぞれに対して命令発行可能な命令発行手段と、
を備え、
前記命令発行手段は、発行する命令の属するスレッド又はスレッドグループを示す入力信号に応じて前記複数の命令実行手段のうち命令を発行する命令実行手段を決定する手段である、
マルチスレッド・プロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011072945A JP2012208662A (ja) | 2011-03-29 | 2011-03-29 | マルチスレッド・プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011072945A JP2012208662A (ja) | 2011-03-29 | 2011-03-29 | マルチスレッド・プロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012208662A true JP2012208662A (ja) | 2012-10-25 |
Family
ID=47188349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011072945A Pending JP2012208662A (ja) | 2011-03-29 | 2011-03-29 | マルチスレッド・プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012208662A (ja) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05324388A (ja) * | 1992-05-20 | 1993-12-07 | Pfu Ltd | パイプライン制御の計算機の診断方式 |
JPH1115661A (ja) * | 1997-06-26 | 1999-01-22 | Toshiba Corp | Cpuの自己診断方法 |
JP2000047887A (ja) * | 1998-07-30 | 2000-02-18 | Toshiba Corp | 投機的マルチスレッド処理方法および投機的マルチスレッド処理装置 |
JP2003316598A (ja) * | 2002-04-22 | 2003-11-07 | Mitsubishi Electric Corp | 高信頼性モード動作併用長命令実行プロセッサ |
JP2004503864A (ja) * | 2000-06-12 | 2004-02-05 | ミップス テクノロジーズ インコーポレイテッド | ダイナミックマルチストリーミングプロセッサでメモリ操作の原子性を実現するための方法と装置 |
US20040154017A1 (en) * | 2003-01-31 | 2004-08-05 | International Business Machines Corporation | A Method and Apparatus For Dynamically Allocating Process Resources |
US20060095821A1 (en) * | 2004-09-29 | 2006-05-04 | Mukherjee Shubhendu S | Executing checker instructions in redundant multithreading environments |
WO2010095182A1 (ja) * | 2009-02-17 | 2010-08-26 | パナソニック株式会社 | マルチスレッドプロセッサ及びデジタルテレビシステム |
-
2011
- 2011-03-29 JP JP2011072945A patent/JP2012208662A/ja active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05324388A (ja) * | 1992-05-20 | 1993-12-07 | Pfu Ltd | パイプライン制御の計算機の診断方式 |
JPH1115661A (ja) * | 1997-06-26 | 1999-01-22 | Toshiba Corp | Cpuの自己診断方法 |
JP2000047887A (ja) * | 1998-07-30 | 2000-02-18 | Toshiba Corp | 投機的マルチスレッド処理方法および投機的マルチスレッド処理装置 |
JP2004503864A (ja) * | 2000-06-12 | 2004-02-05 | ミップス テクノロジーズ インコーポレイテッド | ダイナミックマルチストリーミングプロセッサでメモリ操作の原子性を実現するための方法と装置 |
JP2003316598A (ja) * | 2002-04-22 | 2003-11-07 | Mitsubishi Electric Corp | 高信頼性モード動作併用長命令実行プロセッサ |
US20040154017A1 (en) * | 2003-01-31 | 2004-08-05 | International Business Machines Corporation | A Method and Apparatus For Dynamically Allocating Process Resources |
US20060095821A1 (en) * | 2004-09-29 | 2006-05-04 | Mukherjee Shubhendu S | Executing checker instructions in redundant multithreading environments |
JP2008515064A (ja) * | 2004-09-29 | 2008-05-08 | インテル・コーポレーション | 冗長マルチスレッド環境でのチェッカ命令の実行 |
WO2010095182A1 (ja) * | 2009-02-17 | 2010-08-26 | パナソニック株式会社 | マルチスレッドプロセッサ及びデジタルテレビシステム |
Non-Patent Citations (2)
Title |
---|
CSNG200000127012; 木村浩三,外6名: '画像生成用マルチスレッド・プロセッサのマイクロ・アーキテクチャ' 情報処理学会研究報告 第94巻,第13号,(94-ARC-104), 19941208, Pages:97〜104, 社団法人情報処理学会 * |
JPN6014034494; 木村浩三,外6名: '画像生成用マルチスレッド・プロセッサのマイクロ・アーキテクチャ' 情報処理学会研究報告 第94巻,第13号,(94-ARC-104), 19941208, Pages:97〜104, 社団法人情報処理学会 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6526609B2 (ja) | プロセッサ | |
US10318296B2 (en) | Scheduling execution of instructions on a processor having multiple hardware threads with different execution resources | |
US9569214B2 (en) | Execution pipeline data forwarding | |
US9256433B2 (en) | Systems and methods for move elimination with bypass multiple instantiation table | |
JP6306729B2 (ja) | ストアをソート及びリタイアする命令及びロジック | |
KR20170130383A (ko) | 사용자-레벨 포크 및 조인 프로세서, 방법, 시스템, 및 명령어 | |
CN107003853B (zh) | 用于数据推测执行的***、装置和方法 | |
US20130007425A1 (en) | Processor and data processing method incorporating an instruction pipeline with conditional branch direction prediction for fast access to branch target instructions | |
US20170017490A1 (en) | Execution of micro-operations | |
US9626185B2 (en) | IT instruction pre-decode | |
US11086631B2 (en) | Illegal instruction exception handling | |
JP2017513094A (ja) | 複数のストランドからの命令をディスパッチするためのプロセッサロジックおよび方法 | |
CN114253607A (zh) | 用于由集群化解码流水线对共享微代码定序器的乱序访问的方法、***和装置 | |
US8214574B2 (en) | Event handling for architectural events at high privilege levels | |
JP2024527169A (ja) | マルチストランドアウトオブオーダプロセッサにおいてリタイア可能な複数の命令を特定する命令及びロジック | |
US20200034149A1 (en) | Processor with multiple execution pipelines | |
JP2012208662A (ja) | マルチスレッド・プロセッサ | |
US8966230B2 (en) | Dynamic selection of execution stage | |
US10990403B1 (en) | Predicting an outcome of an instruction following a flush | |
EP2843543B1 (en) | Arithmetic processing device and control method of arithmetic processing device | |
US20170277539A1 (en) | Exception handling in processor using branch delay slot instruction set architecture | |
WB et al. | Last Time: Branch Prediction for Pipelines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140819 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20141216 |