JP2003167748A - マルチスレッド計算機 - Google Patents

マルチスレッド計算機

Info

Publication number
JP2003167748A
JP2003167748A JP2001366320A JP2001366320A JP2003167748A JP 2003167748 A JP2003167748 A JP 2003167748A JP 2001366320 A JP2001366320 A JP 2001366320A JP 2001366320 A JP2001366320 A JP 2001366320A JP 2003167748 A JP2003167748 A JP 2003167748A
Authority
JP
Japan
Prior art keywords
thread
register
instruction code
computer
control mechanism
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.)
Withdrawn
Application number
JP2001366320A
Other languages
English (en)
Inventor
Akira Yasusato
彰 安里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001366320A priority Critical patent/JP2003167748A/ja
Publication of JP2003167748A publication Critical patent/JP2003167748A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 並列化コンパイラで抽出された並列実行可能
な複数プログラム流を単一のプロセッサでマルチスレッ
ド実行させるマルチスレッド計算機を提供する。 【解決手段】 一定数のプログラム流を同時に処理する
のに必要なプログラムカウンタ及びレジスタと、パイプ
ライン制御を行う制御機構と、を備えるマルチスレッド
計算機であって、該制御機構が、並列に実行可能なタス
クの先頭アドレスをオペランドにて指定する第1の命令
コードに応じて、新たなスレッドを生成して実行させる
手段と、該並列に実行可能なタスクの終了を指定する第
2の命令コードに応じて、該新たなスレッドを消滅させ
る手段と、を具備する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチスレッド計
算機に関し、より詳細には、ハードウェアリソースの稼
働効率の向上を図ったマルチスレッド計算機に関する。
【0002】
【従来の技術】パイプライン計算機の実行スループット
を向上させる手段として、マルチスレッド方式が提案さ
れ、実現されている。これは、パイプライン計算機が提
供する並列の演算リソースを単一プログラム流が十分に
使い切ることが一般に困難である点に注目し、複数のプ
ログラム流をパイプラインに同時に投入することで、い
わゆる空きスロットの割合を大幅に削減することを狙っ
たものである。
【0003】一方、並列化コンパイラによってプログラ
ムに存在する並列性を抽出し、マルチプロセッサで並列
実行するアプローチが従来から行われている。
【0004】
【発明が解決しようとする課題】ところで、一度に並列
に処理することが可能な部分の大きさのことを並列性に
関する粒度(granularity)と呼んでいるが、小さな粒
度で並列処理しようとすると、オーバヘッドが大きくな
り、あまり効率を向上させることができない。従来、マ
ルチスレッド計算機は、小さな粒度での並列処理を目的
とするものであり、プログラムの持つ大きな粒度の並列
性には対応していない。その一方、並列化コンパイラに
よる並列性の抽出は、大きな粒度のレベルで行われ、ハ
ードウェアリソースを必ずしもきめ細かいレベルで充分
に活用しているとはいえない。
【0005】本発明は、上述した問題点に鑑み、上述し
た二つの技術の融合を目指すものであり、その目的は、
並列化コンパイラで抽出された並列実行可能な複数プロ
グラム流を単一のプロセッサでマルチスレッド実行させ
るマルチスレッド計算機を提供することにある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明の第1の面によれば、一定数のプログラム流
を同時に処理するのに必要なプログラムカウンタ及びレ
ジスタと、パイプライン制御を行う制御機構と、を備え
るマルチスレッド計算機であって、該制御機構が、並列
に実行可能なタスクの先頭アドレスをオペランドにて指
定する第1の命令コードに応じて、新たなスレッドを生
成して実行させる手段と、該並列に実行可能なタスクの
終了を指定する第2の命令コードに応じて、該新たなス
レッドを消滅させる手段と、を具備するマルチスレッド
計算機が提供される。
【0007】また、本発明の第2の面によれば、一定数
のプログラム流を同時に処理するのに必要なプログラム
カウンタ及びレジスタと、パイプライン制御を行う制御
機構と、を備えるマルチスレッド計算機であって、該制
御機構が、同一の先頭アドレスを有する並列に実行可能
な複数のタスクの該先頭アドレスと該タスクの数とをオ
ペランドにて指定する所定の命令コードに応じて、複数
の新たなスレッドを生成して実行させる手段、を具備す
るマルチスレッド計算機が提供される。
【0008】また、本発明によれば、その制御機構は、
生成されたスレッドにそれぞれ付加されるユニークなI
D番号を格納するスレッドIDレジスタを有し、該スレ
ッドIDレジスタを指定する命令コードに応じて該命令
コードが属するスレッドに対応するスレッドIDレジス
タに格納された値を読み出す手段を更に具備する。
【0009】また、本発明によれば、その制御機構は、
計算機の状況に応じて、命令コードに応じた新たなスレ
ッドの生成を抑止して、シーケンシャルに命令を実行さ
せるスレッド生成抑止手段を更に具備する。
【0010】また、本発明によれば、その制御機構は、
生成された新たなスレッドのうち同時実行されるべきス
レッドの数を制御するスレッド数制御手段を更に具備す
る。
【0011】
【発明の実施の形態】以下、添付図面を参照して本発明
の実施形態について説明する。
【0012】図1は、一般的なマルチスレッド計算機の
動作を説明するためのブロック図である。同図におい
て、12は命令キャッシュ、14a〜14dはそれぞれ
プログラムカウンタ、16はパイプライン、18a〜1
8dはそれぞれレジスタファイル、20は制御機構であ
る。プログラムカウンタおよびレジスタファイルは複数
存在し、その個数はプロセッサ(計算機)がハードウェ
ア的にサポートする同時実行可能なスレッド数の上限値
である。
【0013】実行中の各スレッドは、14a〜14d中
の該当するプログラムカウンタの示すアドレスを用いて
命令キャッシュ12からフェッチされ、パイプライン1
6に投入される。命令実行中にアクセスされるレジスタ
ファイルは、18a〜18d中のいずれかから選択され
て用いられる。このようなマルチスレッドプロセッサの
構造は公知であり、本発明もそれを前提とするものであ
る。
【0014】図2は、並列化コンパイラによって抽出さ
れたプログラムの構造の例を示す図である。同図の例で
は、当初、タスクAのみが実行されており、その後、並
列実行可能な複数のタスクB1〜B4に制御が移り、最
後は一本に合流してタスクCとなる。
【0015】本発明の一実施形態においては、図2のタ
スクAの最後にthread_fork命令を置くことで、タスク
B1〜B4をマルチスレッド実行する枠組みが提供され
る。かかるthread_fork命令は、図3に示されるよう
に、タスク開始アドレスをオペランドとして持つ。
【0016】このthread_fork命令が実行されると、指
定されたアドレスを先頭とするプログラム流が新たなス
レッドとして定義され、公知の実行方式に従ってマルチ
スレッド実行される。図2に対応する図3の例では、並
列化コンパイラによって、タスクAの最後にタスクB1
〜B4に対応する4個のthread_fork命令が置かれるこ
とになる。
【0017】また、スレッドの終わりを表すthread_ter
minate命令も用意され、この命令が実行されると公知の
方式に従ってスレッドが消滅する。すなわち、並列化コ
ンパイラによって、図4に示されるように、タスクB1
の最後にはthread_terminate命令が置かれることにな
る。タスクB2〜B4に関しても同様である。
【0018】図2の構造の特殊な場合として、図5の例
がある。図5はプログラムの流れとしては図2と同じで
あるが、プログラムがループ構造をとっており、タスク
B1〜B4が命令コード内の同一部分に位置する点が特
殊である。本発明の一実施形態においては、この例に対
応して、multi_thread_fork命令が用意される。
【0019】このmulti_thread_fork命令は、スレッド
開始アドレスと、生成されるべきスレッドの数とをオペ
ランドとして持つ。すなわち、図5の例の場合、並列化
コンパイラによって、図6に示されるように、タスクA
の命令列の最後にmulti_thread_fork命令が置かれ、そ
のオペランドにはタスクB1の開始アドレスとスレッド
数4とが指定される。かくして、図5のタスクB1〜B
4をマルチスレッド実行させることが可能になる。
【0020】なお、図5において、変数Iは、ループの
繰り返し回数を意味するインデクス変数として用いら
れ、例えば、タスクB1で参照された場合には“1”の
値、タスクB2で参照された場合には“2”の値とな
る。すなわち、これらのタスクが並列に実行される場
合、同じ変数であっても異なる値が読み出される必要が
あり、何らかの対処が必要となる。本発明の一実施形態
においては、スレッドIDレジスタによってこの問題が
解決される。
【0021】図7は、かかるスレッドIDレジスタがソ
ースオペランドに指定された場合の動作を示すものであ
る。同図において、22はスレッド制御部、24a〜2
4dはそれぞれスレッドIDレジスタ、26は命令コー
ド、28はデコーダ、30はセレクタであり、これらの
要素は図1の制御機構20に含まれる。
【0022】スレッド制御部22は、マルチスレッドプ
ロセッサが一般的に有しているもので、並列実行中の複
数のスレッドIDを格納するレジスタ群24a〜24d
を内部に備えている。
【0023】図7に示されるように、デコーダ28が出
力する信号40によってスレッドIDレジスタ群24a
〜24dの中から1個のレジスタが選択され、それに格
納された値が読み出されて、常に信号42として出力さ
れている。この仕組みによってデコーダ28がデコード
している命令のスレッドIDを信号42の値として得る
ことが可能になっている。
【0024】セレクタ30は、複数のソースオペランド
候補から、命令コードで指定される適切なものを選択す
るもので、その選択はセレクト信号44の値で決定され
る。選択肢としては、通常のソースオペランド群46に
加えて信号42で与えられるスレッドIDがあり、それ
らの中から選ばれた値が信号48として出力される。
【0025】スレッドIDレジスタをソースオペランド
に持つ命令コード26が与えられると、デコーダ28が
それを解釈し、セレクタ30が信号42を選ぶような値
をセレクト信号44として設定する。これによって、命
令が属するスレッドのIDをソースオペランド値として
読み出すことができる。
【0026】このように、スレッドIDレジスタが命令
のオペランドとして指定されると、各スレッドにユニー
クな番号(スレッドID)が読み出されるので、これを
利用して、例えば、図8に示されるように、変数I(図
5)にアクセスすれば、正しい値を参照することができ
る。なお、図8中、<r0>はベースアドレスを与える
レジスタr0の内容、<ID>はスレッドIDレジスタ
の内容をそれぞれ示す。
【0027】ところで、図2や図5のプログラムではコ
ンパイラによって並列に実行可能なタスクが抽出された
が、本来はシーケンシャルなプログラムであり、並列実
行しなくても正しく動作するものである。一方、マルチ
スレッドプロセッサは、動作状況によって最適な同時実
行スレッド数が変化するのが一般的であり、システム全
体の実効性能を高めるためには、スレッド数を適切に管
理制御することが必須である。
【0028】この点に鑑みて、本発明では、並列実行す
るスレッド数を制限すべく制御する枠組みが提供され
る。その一つは、thread_fork命令が実行されても、ハ
ードウェア(すなわち制御機構20)が自動的にプロセ
ッサ(計算機)の稼動状況から、新たにスレッド生成す
ることの得失を判断し、損失が大きいと判断した場合に
はスレッド生成を行わないようにするものである。上記
のようにプログラム自体は並列実行しなくても正しく動
作するので、このような制御を行っても問題はない。
【0029】また、もう一つは、この判断をハードウェ
アが自動的に行うのではなく、オペレーティングシステ
ム等のソフトウェアが制御する手段を与えるものであ
る。例えば、図9に示されるように、ソフトウェアによ
る設定が可能なスレッド生成抑止レジスタを用意し、オ
ペレーティングシステムがスレッド生成を抑制すべきと
判断した場合にこのレジスタをONにセットすることで
同様の効果を得ることができる。
【0030】本発明によれば一般に複数のスレッドが同
時に生成されることになる。図2や図5の例ではその数
は4個である。しかし、前述のように、同時実行によっ
て最大の効果が得られるスレッド数は、プログラムの性
質やシステム全体の稼動状況に依存して変化する。そこ
で、同時に生成されたスレッド群のうち何個を同時実行
すべきかを決定する手段を用意する。
【0031】図10は、ハードウェアが、状況に応じ
て、同時実行するスレッド数を自動的に決定し制御する
機構を説明する図である。同図において、22はスレッ
ド制御部、12は命令キャッシュ、50は命令実行部、
52はモニタ部、54はスレッド数指定レジスタであ
る。
【0032】命令キャッシュ12の中には実行可能なス
レッドの命令が複数存在し、その中からスレッド数指定
レジスタ54で指定された数のスレッドが選択されて並
列実行される。モニタ部52は、命令実行部50の状況
(演算リソースの使用状況など)を適宜モニタリングし
ながら、適切なスレッド数を決定し、信号56を介して
そのスレッド数をスレッド数指定レジスタ54に設定す
る。
【0033】図11は、図10におけるスレッド数指定
レジスタ54の設定をソフトウェアが実行することがで
きるようにした構成を示す図である。図11に示される
構成は、図10に示されるものに信号58が加えられた
ものとなっている。コンパイラ等の解析により、適切な
並列実行スレッド数が分かる場合には、図10のような
ハードウェア機能によらず、ソフトウェアによって信号
58を介してスレッド数指定レジスタ54を設定する。
【0034】以上、本発明を特にその好ましい実施の形
態を参照して詳細に説明した。本発明の容易な理解のた
め、本発明の具体的な形態を以下に付記する。
【0035】(付記1) 一定数のプログラム流を同時
に処理するのに必要なプログラムカウンタ及びレジスタ
と、パイプライン制御を行う制御機構と、を備えるマル
チスレッド計算機であって、該制御機構が、並列に実行
可能なタスクの先頭アドレスをオペランドにて指定する
第1の命令コードに応じて、新たなスレッドを生成して
実行させる手段と、該並列に実行可能なタスクの終了を
指定する第2の命令コードに応じて、該新たなスレッド
を消滅させる手段と、を具備するマルチスレッド計算
機。
【0036】(付記2) 一定数のプログラム流を同時
に処理するのに必要なプログラムカウンタ及びレジスタ
と、パイプライン制御を行う制御機構と、を備えるマル
チスレッド計算機であって、該制御機構が、同一の先頭
アドレスを有する並列に実行可能な複数のタスクの該先
頭アドレスと該タスクの数とをオペランドにて指定する
所定の命令コードに応じて、複数の新たなスレッドを生
成して実行させる手段、を具備するマルチスレッド計算
機。
【0037】(付記3) 前記制御機構は、生成された
スレッドにそれぞれ付加されるユニークなID番号を格
納するスレッドIDレジスタを有し、該スレッドIDレ
ジスタを指定する命令コードに応じて該命令コードが属
するスレッドに対応するスレッドIDレジスタに格納さ
れた値を読み出す手段を更に具備する、付記1又は付記
2に記載のマルチスレッド計算機。
【0038】(付記4) 前記制御機構は、計算機の状
況に応じて、命令コードに応じた新たなスレッドの生成
を抑止して、シーケンシャルに命令を実行させるスレッ
ド生成抑止手段を更に具備する、付記1又は付記2に記
載のマルチスレッド計算機。
【0039】(付記5) 前記スレッド生成抑止手段
は、自動的に計算機の状況を監視した結果として、シー
ケンシャルに命令を実行させるものである、付記4に記
載のマルチスレッド計算機。
【0040】(付記6) 前記スレッド生成抑止手段
は、計算機の状況を監視するソフトウェアの指示を受け
て、シーケンシャルに命令を実行させるものである、付
記4に記載のマルチスレッド計算機。
【0041】(付記7) 前記制御機構は、生成された
新たなスレッドのうち同時実行されるべきスレッドの数
を制御するスレッド数制御手段を更に具備する、付記1
又は付記2に記載のマルチスレッド計算機。
【0042】(付記8) 前記スレッド数制御手段は、
自動的に計算機の状況を監視した結果として、同時実行
されるべきスレッドの数を制御するものである、付記7
に記載のマルチスレッド計算機。
【0043】(付記9) 前記スレッド数制御手段は、
計算機の状況を監視するソフトウェアの指示を受けて、
同時実行されるべきスレッドの数を制御するものであ
る、付記7に記載のマルチスレッド計算機。
【0044】
【発明の効果】以上説明したように、本発明によれば、
並列化コンパイラで抽出された並列実行可能な複数プロ
グラム流を単一のプロセッサでマルチスレッド実行させ
るマルチスレッド計算機が提供され、パイプライン制御
を行うハードウェアリソースの稼働効率が更に向上せし
められる。
【図面の簡単な説明】
【図1】一般的なマルチスレッド計算機の動作を説明す
るためのブロック図である。
【図2】並列化コンパイラによって抽出されるプログラ
ムの構造の例を示す図である。
【図3】命令列の終わりに配置されたthread_fork命令
を示す図である。
【図4】命令列の終わりに配置されたthread_terminate
命令を示す図である。
【図5】並列化コンパイラによって抽出されるプログラ
ム構造の他の例を示す図である。
【図6】命令列の終わりに配置されたmulti_thread_for
k命令を示す図である。
【図7】スレッドIDレジスタがソースオペランドに指
定された場合の動作を示す図である。
【図8】インデクス変数へのアクセスを示す図である。
【図9】スレッド生成抑止レジスタについて説明するた
めの図である。
【図10】ハードウェアが、状況に応じて、同時実行す
るスレッド数を自動的に決定し制御する機構を説明する
図である。
【図11】ソフトウェアが、状況に応じて、同時実行す
るスレッド数を自動的に決定し制御する機構を説明する
図である。
【符号の説明】
12…命令キャッシュ 14a〜14d…プログラムカウンタ 16…パイプライン 18a〜18d…レジスタファイル 22…スレッド制御部 24a〜24d…スレッドIDレジスタ 26…命令コード 28…デコーダ 30…セレクタ 50…命令実行部 52…モニタ部 54…スレッド数指定レジスタ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 一定数のプログラム流を同時に処理する
    のに必要なプログラムカウンタ及びレジスタと、パイプ
    ライン制御を行う制御機構と、を備えるマルチスレッド
    計算機であって、該制御機構が、 並列に実行可能なタスクの先頭アドレスをオペランドに
    て指定する第1の命令コードに応じて、新たなスレッド
    を生成して実行させる手段と、 該並列に実行可能なタスクの終了を指定する第2の命令
    コードに応じて、該新たなスレッドを消滅させる手段
    と、 を具備するマルチスレッド計算機。
  2. 【請求項2】 一定数のプログラム流を同時に処理する
    のに必要なプログラムカウンタ及びレジスタと、パイプ
    ライン制御を行う制御機構と、を備えるマルチスレッド
    計算機であって、該制御機構が、 同一の先頭アドレスを有する並列に実行可能な複数のタ
    スクの該先頭アドレスと該タスクの数とをオペランドに
    て指定する所定の命令コードに応じて、複数の新たなス
    レッドを生成して実行させる手段、 を具備するマルチスレッド計算機。
  3. 【請求項3】 前記制御機構は、生成されたスレッドに
    それぞれ付加されるユニークなID番号を格納するスレ
    ッドIDレジスタを有し、該スレッドIDレジスタを指
    定する命令コードに応じて該命令コードが属するスレッ
    ドに対応するスレッドIDレジスタに格納された値を読
    み出す手段を更に具備する、請求項1又は請求項2に記
    載のマルチスレッド計算機。
  4. 【請求項4】 前記制御機構は、計算機の状況に応じ
    て、命令コードに応じた新たなスレッドの生成を抑止し
    て、シーケンシャルに命令を実行させるスレッド生成抑
    止手段を更に具備する、請求項1又は請求項2に記載の
    マルチスレッド計算機。
  5. 【請求項5】 前記制御機構は、生成された新たなスレ
    ッドのうち同時実行されるべきスレッドの数を制御する
    スレッド数制御手段を更に具備する、請求項1又は請求
    項2に記載のマルチスレッド計算機。
JP2001366320A 2001-11-30 2001-11-30 マルチスレッド計算機 Withdrawn JP2003167748A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001366320A JP2003167748A (ja) 2001-11-30 2001-11-30 マルチスレッド計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001366320A JP2003167748A (ja) 2001-11-30 2001-11-30 マルチスレッド計算機

Publications (1)

Publication Number Publication Date
JP2003167748A true JP2003167748A (ja) 2003-06-13

Family

ID=19176233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001366320A Withdrawn JP2003167748A (ja) 2001-11-30 2001-11-30 マルチスレッド計算機

Country Status (1)

Country Link
JP (1) JP2003167748A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007504535A (ja) * 2003-08-28 2007-03-01 ミップス テクノロジーズ インコーポレイテッド マルチスレッド化されたマイクロプロセッサで並行命令ストリームを開始する命令
US7526637B2 (en) 2005-12-06 2009-04-28 Electronics And Telecommunications Research Institute Adaptive execution method for multithreaded processor-based parallel system
JP2010521730A (ja) * 2007-03-14 2010-06-24 エックスモス リミテッド インタフェース・プロセッサ
US7954102B2 (en) 2002-11-13 2011-05-31 Fujitsu Limited Scheduling method in multithreading processor, and multithreading processor
US8195922B2 (en) 2005-03-18 2012-06-05 Marvell World Trade, Ltd. System for dynamically allocating processing time to multiple threads
JP2013214331A (ja) * 2013-07-22 2013-10-17 Panasonic Corp コンパイラ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954102B2 (en) 2002-11-13 2011-05-31 Fujitsu Limited Scheduling method in multithreading processor, and multithreading processor
JP2007504535A (ja) * 2003-08-28 2007-03-01 ミップス テクノロジーズ インコーポレイテッド マルチスレッド化されたマイクロプロセッサで並行命令ストリームを開始する命令
JP4818918B2 (ja) * 2003-08-28 2011-11-16 ミップス テクノロジーズ インコーポレイテッド マルチスレッド化されたマイクロプロセッサで並行命令ストリームを開始する命令
US8195922B2 (en) 2005-03-18 2012-06-05 Marvell World Trade, Ltd. System for dynamically allocating processing time to multiple threads
US7526637B2 (en) 2005-12-06 2009-04-28 Electronics And Telecommunications Research Institute Adaptive execution method for multithreaded processor-based parallel system
JP2010521730A (ja) * 2007-03-14 2010-06-24 エックスモス リミテッド インタフェース・プロセッサ
KR101501181B1 (ko) * 2007-03-14 2015-03-18 엑스모스 엘티디 인터페이스 프로세서
JP2013214331A (ja) * 2013-07-22 2013-10-17 Panasonic Corp コンパイラ

Similar Documents

Publication Publication Date Title
US10061588B2 (en) Tracking operand liveness information in a computer system and performing function based on the liveness information
US9311095B2 (en) Using register last use information to perform decode time computer instruction optimization
Nemirovsky et al. Multithreading architecture
US9037837B2 (en) Hardware assist thread for increasing code parallelism
Lickly et al. Predictable programming on a precision timed architecture
JP5666473B2 (ja) マルチスレッド式データ処理システム
McFarlin et al. Discerning the dominant out-of-order performance advantage: Is it speculation or dynamism?
US8560813B2 (en) Multithreaded processor with fast and slow paths pipeline issuing instructions of differing complexity of different instruction set and avoiding collision
Gong et al. HAWS: Accelerating GPU wavefront execution through selective out-of-order execution
JP2004518183A (ja) マルチスレッド・システムにおける命令のフェッチとディスパッチ
JP2003167748A (ja) マルチスレッド計算機
Huang et al. Exploring sub-block value reuse for superscalar processors
Haskins et al. Inexpensive throughput enhancement in small-scale embedded microprocessors with block multithreading: Extensions, characterization, and tradeoffs
Ro et al. SPEAR: A hybrid model for speculative pre-execution
Srinivasan et al. A minimal dual-core speculative multi-threading architecture
JP5573038B2 (ja) マルチスレッドプロセッサ及びプログラム
So et al. Procedure cloning and integration for converting parallelism from coarse to fine grain
JPWO2008155799A1 (ja) 命令実行制御装置及び命令実行制御方法
KR20180126518A (ko) 벡터 명령 처리
Shin et al. Dynamic scheduling issues in SMT architectures
Achutharaman et al. Exploiting Java-ILP on a simultaneous multi-trace instruction issue (SMTI) processor
Mitra Performance Evaluation of Improved Superscalar Issue Mechanisms
Rosier et al. Treegion instruction scheduling in gcc
Theobald et al. A superstrand architecture and its compilation
Studer A Survey on Helper Threads and Their Implementations

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050201