JP5260962B2 - 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム - Google Patents
複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム Download PDFInfo
- Publication number
- JP5260962B2 JP5260962B2 JP2007549602A JP2007549602A JP5260962B2 JP 5260962 B2 JP5260962 B2 JP 5260962B2 JP 2007549602 A JP2007549602 A JP 2007549602A JP 2007549602 A JP2007549602 A JP 2007549602A JP 5260962 B2 JP5260962 B2 JP 5260962B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- sequencer
- user level
- execution
- control
- 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 - Fee Related
Links
- 230000007246 mechanism Effects 0.000 title claims description 51
- 238000012546 transfer Methods 0.000 claims description 68
- 238000012545 processing Methods 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 32
- 238000012544 monitoring process Methods 0.000 claims description 31
- 238000002955 isolation Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 16
- 238000011084 recovery Methods 0.000 claims description 14
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims 1
- 238000001514 detection method Methods 0.000 claims 1
- 101100064323 Arabidopsis thaliana DTX47 gene Proteins 0.000 description 10
- 101150026676 SID1 gene Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 101100256921 Ajellomyces capsulatus SID3 gene Proteins 0.000 description 2
- 101100366400 Schizosaccharomyces pombe (strain 972 / ATCC 24843) spg1 gene Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 101000840469 Arabidopsis thaliana Isochorismate synthase 1, chloroplastic Proteins 0.000 description 1
- 101100256916 Caenorhabditis elegans sid-1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Description
Claims (36)
- デスティネーション命令シーケンサ上のスレッドを、プロセッサのソース命令シーケンサ上でのユーザレベルモニタリング命令の実行に応答して、オペレーティングシステム(OS)からの直接的な介入なしに、管理することと、
前記ソース命令シーケンサ上の前記ユーザレベルモニタリング命令を含む第1ユーザレベルスレッドを実行することと、
前記デスティネーション命令シーケンサ上のスレッドを、前記ソース命令シーケンサ上でのユーザレベル制御トランスファ命令の実行に応答して、前記OSからの直接的な介入なしに、管理することと、
前記ソース命令シーケンサ上の前記ユーザレベル制御トランスファ命令を含む第2ユーザレベルスレッドを実行することと
を含み、
前記ソース命令シーケンサは、アプリケーションレベルプログラムの制御下にあり、
前記デスティネーション命令シーケンサは、オペレーティングシステムの制御下にあり、
前記ユーザレベルモニタリング命令は、1)前記デスティネーション命令シーケンサを特定するフィールド、2)条件イベントまたは予測イベントを識別する制御メッセージ、および3)前記第1ユーザレベルスレッドのオペレーションを実行するための前記制御メッセージに関連するハンドラコードの位置を含み、
前記ユーザレベル制御トランスファ命令は、1)前記デスティネーション命令シーケンサを参照するフィールド、2)前記制御メッセージ、3)前記ユーザレベル制御トランスファ命令に含まれる前記制御メッセージに関連付けられているハンドラコードの実行時に前記デスティネーション命令シーケンサを特定的にアドレシングする前記ハンドラコードへの参照、および4)前記ユーザレベル制御トランスファ命令の命令実行を条件付ける条件パラメータを含み、
前記ユーザレベルモニタリング命令は、前記デスティネーション命令シーケンサ、前記制御メッセージ、およびユーザレベルスレッドオペレーションを実行するべく前記制御メッセージに関連付けられたハンドラコードの位置を特定し、前記ユーザレベルモニタリング命令の実行に応答して前記デスティネーション命令シーケンサ、前記制御メッセージおよび前記ハンドラコードの位置間のマッピングを生成する、プロセッサによって実行される方法。 - 前記スレッドを管理することは、ユーザレベルスレッド生成オペレーション、ユーザレベルスレッド制御オペレーションおよびユーザレベルスレッド同期オペレーションからなるグループから選択されるユーザレベルスレッドオペレーションに対して、シーケンサ認識および制御トランスファオペレーションを行うことを含む、請求項1に記載の方法。
- 前記ソース命令シーケンサ上でユーザレベル制御トランスファ命令を実行することをさらに含み、前記ユーザレベル制御トランスファ命令は、前記制御メッセージおよび前記デスティネーション命令シーケンサを特定し、前記ソース命令シーケンサは、前記ユーザレベル制御トランスファ命令の実行に応答して、前記制御メッセージを含む信号を前記デスティネーション命令シーケンサへ送信する、請求項1または請求項2に記載の方法。
- 1つ以上の他の命令シーケンサを特定し、かつ、前記1つ以上の他の命令シーケンサの実行コンテキストにユーザレベル保存命令の実行に応答して保存されるようにする、前記デスティネーション命令シーケンサ上でユーザレベル保存命令を実行することをさらに含む、請求項1から請求項3のいずれか1つに記載の方法。
- 1つ以上の他の命令シーケンサを特定する前記デスティネーション命令シーケンサ上でユーザレベル回復命令を実行することをさらに含み、前記1つ以上の他の命令シーケンサの実行コンテキストは、前記ユーザレベル回復命令が実行されるときに回復される、請求項1から請求項4のいずれか1つに記載の方法。
- 前記第1ユーザレベルスレッドの実行中に予め定められた条件に遭遇するときに、前記ソース命令シーケンサからの命令の実行を移動して前記デスティネーション命令シーケンサ上でその命令の一部を実行することをさらに含む、請求項1から請求項5のいずれか1つに記載の方法。
- 前記予め定められた条件は、前記アプリケーションレベルプログラムの制御下にある前記ソース命令シーケンサと前記デスティネーション命令シーケンサとの間の非対称条件の検知である、請求項6に記載の方法。
- 前記非対称条件は、オペレーティングシステム(OS)にフォールトをリゾルブするべくOSオペレーションを実行することを要求するフォールトの遭遇、オペレーティングシステム(OS)にトラップをリゾルブするべくOSオペレーションを実行することを要求するトラップの遭遇、前記アプリケーションレベルプログラムの制御下ではあるが直接OSサービスをアクティベートできない命令シーケンサ上のシステムコール、または、前記アプリケーションレベルプログラムの制御下にある命令シーケンサが、前記第1ユーザレベルスレッドからの第1命令の実行をサポートするビルトインリソースを欠く非推奨オペレーションフォールトからなるグループから選択される、請求項7に記載の方法。
- OS隔離命令シーケンサからOS可視命令シーケンサへ制御および状態情報をトランスファすることと、
前記OS隔離命令シーケンサ上の前記第1ユーザレベルスレッドから前記OS可視命令シーケンサへ少なくとも1つの命令の実行を移動して、前記OS可視命令シーケンサが前記OS隔離命令シーケンサに代わってOSサービスを行うべくオペレーティングシステムをトリガすることと
をさらに含む、請求項1から請求項8のいずれか1つに記載の方法。 - 前記アプリケーションレベルプログラムの制御下にある前記ソース命令シーケンサ中の前記第1ユーザレベルスレッドの実行をサスペンドすることと、
前記ソース命令シーケンサからOS可視命令シーケンサへ、メモリに格納された内容に向けられるアドレスポインタをトランスファすることと、
前記アドレスポインタにおける前記内容を前記OS可視命令シーケンサによってロードすることと、
前記アドレスポインタにおける前記内容がロードされた後に前記ソース命令シーケンサ中の前記第1ユーザレベルスレッドの実行をレジュームすることと
をさらに含む、請求項1から請求項9のいずれか1つに記載の方法。 - ソース命令シーケンサ上でのユーザレベルスレッド管理オペレーションによるデスティネーション命令シーケンサのインターシーケンサ制御を可能にするシーケンサ認識ユーザレベル命令を含むユーザレベルスレッドを実行するソース命令シーケンサを有するプロセッサと、
第1シーケンサ認識ユーザレベル命令をデコードする1つ以上のデコーダと、
前記第1シーケンサ認識ユーザレベル命令を実行する1つ以上の命令実行ユニットと
を有し、
前記ソース命令シーケンサは、アプリケーションレベルプログラムの制御下で動作し、
前記デスティネーション命令シーケンサは、オペレーティングシステムの制御下で動作し、
前記第1シーケンサ認識ユーザレベル命令は、ユーザレベルモニタリング命令を含み、
前記ユーザレベルモニタリング命令は、1)前記デスティネーション命令シーケンサを特定するフィールド、2)条件イベントまたは予測イベントを識別する制御メッセージ、および3)前記ユーザレベルモニタリング命令のオペレーションを実行するための前記制御メッセージに関連するハンドラコードの位置を含み、
前記1つ以上のデコーダは、第2シーケンサ認識ユーザレベル命令をデコードし、
前記1つ以上の命令実行ユニットは、前記第2シーケンサ認識ユーザレベル命令を実行し、
前記第2シーケンサ認識ユーザレベル命令は、ユーザレベル制御トランスファ命令を含み、
前記ユーザレベル制御トランスファ命令は、1)前記デスティネーション命令シーケンサを参照するフィールド、2)前記制御メッセージ、3)前記ユーザレベル制御トランスファ命令に含まれる前記制御メッセージに関連付けられているハンドラコードの実行時に前記デスティネーション命令シーケンサを特定的にアドレシングする前記ハンドラコードへの参照、および4)前記ユーザレベル制御トランスファ命令の命令実行を条件付ける条件パラメータを含み、
前記ユーザレベルモニタリング命令は、前記デスティネーション命令シーケンサ、前記制御メッセージ、およびユーザレベルスレッドオペレーションを実行するべく前記制御メッセージに関連付けられたハンドラコードの位置を特定し、前記ユーザレベルモニタリング命令の実行に応答して前記デスティネーション命令シーケンサ、前記制御メッセージおよび前記ハンドラコードの位置間のマッピングを生成する、装置。 - 前記ソース命令シーケンサを特定する前記第1シーケンサ認識ユーザレベル命令をデコードする第1デコーダを有する前記デスティネーション命令シーケンサをさらに含む、請求項11に記載の装置。
- 実行時に関連コードの実行によって前記ソース命令シーケンサを参照する前記第1シーケンサ認識ユーザレベル命令を実行する命令実行ユニットを有する前記デスティネーション命令シーケンサをさらに含む、請求項11または請求項12に記載の装置。
- 前記第1シーケンサ認識ユーザレベル命令のフィールド内の内容を、デコードされた命令コードに変換する第1デコーダをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、制御メッセージおよび前記デスティネーション命令シーケンサを特定する1つ以上のフィールドを有する制御トランスファ命令を含む、請求項11から請求項13のいずれか1つに記載の装置。
- 前記第1シーケンサ認識ユーザレベル命令を実行する第1命令実行ユニットをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、前記第1命令実行ユニットによる実行時に前記デスティネーション命令シーケンサをセマンティックに参照するデータペイロード部分を含む制御トランスファ命令を有する、請求項11から請求項14のいずれか1つに記載の装置。
- 前記第1シーケンサ認識ユーザレベル命令のフィールド内の内容をデコードされた命令コードに変換する第1デコーダをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、デスティネーション命令シーケンサ、制御メッセージ、および前記ユーザレベルスレッド管理オペレーションを実行するべく制御メッセージに関連付けられたハンドラコードの位置を特定する1つ以上のフィールドを有するモニタリング命令を含む、請求項11から請求項15のいずれか1つに記載の装置。
- 前記第1シーケンサ認識ユーザレベル命令のフィールド内の内容をデコードされた命令コードに変換する第1デコーダをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、前記デスティネーション命令シーケンサの少なくとも1つを特定する1つ以上のフィールドを有する保存命令を含み、前記命令シーケンサの少なくとも1つのコンテキスト状態が前記保存命令の実行に応答して保存される、請求項11から請求項16のいずれか1つに記載の装置。
- 前記第1シーケンサ認識ユーザレベル命令のフィールド内の内容をデコードされた命令コードに変換する第1デコーダをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、前記デスティネーション命令シーケンサの少なくとも1つを特定する1つ以上のフィールドを有する回復命令を含み、前記デスティネーション命令シーケンサの少なくとも1つの実行コンテキストが回復される、請求項11から請求項17のいずれか1つに記載の装置。
- 前記ユーザレベルスレッド管理オペレーションは、ユーザレベルスレッド生成オペレーション、ユーザレベルスレッド制御オペレーション、およびユーザレベルスレッド同期オペレーションからなるグループから選択される、請求項11から請求項18のいずれか1つに記載の装置。
- 命令を処理するためのクライアントリソースのセットを有するクライアント命令シーケンサと、
命令を処理するためのサーバントリソースのセットを有するサーバント命令シーケンサと、
前記クライアント命令シーケンサ上の第1ユーザレベルスレッドの実行中に検知された予め定められた条件に応答して、かつ、オペレーティングシステムによる介入なしに、前記クライアント命令シーケンサに、前記クライアント命令シーケンサに代わっての前記サーバント命令シーケンサ上でのプロキシユーザレベルスレッドの実行をトリガさせることを可能にするプロキシ実行メカニズムと
をさらに含む、請求項11から請求項19のいずれか1つに記載の装置。 - 前記クライアントリソースは、前記サーバントリソースに対して非対称的であり、前記予め定められた条件は、前記第1ユーザレベルスレッドが、前記クライアント命令シーケンサ上で利用不可能であるが前記サーバント命令シーケンサ上では利用可能であるリソースを使用しようとすることを示す、請求項20に記載の装置。
- 前記プロキシ実行メカニズムは、前記クライアントリソースと前記サーバントリソースとの間の非対称性を、ユーザレベルプログラムからマスクする、請求項21に記載の装置。
- 前記プロキシ実行メカニズムは、前記クライアント命令シーケンサに関連する出口シナリオのセットを含み、各出口シナリオは、前記サーバント命令シーケンサ上での前記プロキシ実行を開始するトリガ条件を規定する、請求項20から請求項22のいずれか1つに記載の装置。
- 命令を処理するためのクライアントリソースのセットを有するクライアント命令シーケンサと、
命令を処理するためのサーバントリソースのセットを有するサーバント命令シーケンサと、
前記クライアント命令シーケンサ上の第1ユーザレベルスレッドの実行中に検知された予め定められた条件に応答して、前記クライアント命令シーケンサに、前記クライアント命令シーケンサから前記サーバント命令シーケンサへの制御および状態情報のトランスファをトリガさせることを可能にするプロキシ実行メカニズムと
をさらに含み、
前記クライアント命令シーケンサは、少なくとも1つの命令の実行を前記第1ユーザレベルスレッドから前記サーバント命令シーケンサへ移動し、前記サーバント命令シーケンサは、前記クライアント命令シーケンサに代わってOSオペレーションを実行するオペレーティングシステムをトリガする、請求項11から請求項19のいずれか1つに記載の装置。 - 命令を処理するためのクライアントリソースのセットを有するクライアント命令シーケンサをさらに含む、請求項11から請求項19のいずれか1つに記載の装置。
- 命令を処理するためのサーバントリソースのセットを有するサーバント命令シーケンサをさらに含む、請求項25に記載の装置。
- 第1ユーザレベルスレッドの実行中に検知された非対称条件に応答して、前記クライアント命令シーケンサに、前記クライアント命令シーケンサから前記サーバント命令シーケンサへのアドレスポインタのトランスファをトリガさせることを可能にするプロキシ実行メカニズムを含み、前記サーバント命令シーケンサは、前記アドレスポインタにおける内容をロードし、前記クライアント命令シーケンサは、前記アドレスポインタにおける内容のロード完了後に前記第1ユーザレベルスレッドからの命令を実行する、請求項26に記載の装置。
- 異なるユーザレベルスレッドを実行するためのソース命令シーケンサであって、前記ソース命令シーケンサ上でのユーザレベルスレッド管理オペレーションによるデスティネーション命令シーケンサのインターシーケンサ制御を可能にするシーケンサ認識ユーザレベル命令を含み、前記シーケンサ認識ユーザレベル命令を実行する場合にアプリケーションレベルプログラムの制御下で動作するソース命令シーケンサと、オペレーティングシステムの制御下で動作するデスティネーション命令シーケンサと、を含むプロセッサと、
前記プロセッサに接続されて前記オペレーティングシステムを格納する不揮発性格納デバイスと
を含み、
前記シーケンサ認識ユーザレベル命令は、ユーザレベルモニタリング命令を含み、
前記ユーザレベルモニタリング命令は、1)前記デスティネーション命令シーケンサを特定するフィールド、2)条件イベントまたは予測イベントを識別する制御メッセージ、および3)前記ユーザレベルモニタリング命令のオペレーションを実行するための前記制御メッセージに関連するハンドラコードの位置を含み、
前記ソース命令シーケンサは、ユーザレベル制御トランスファ命令を含むシーケンサ認識ユーザレベル命令を実行し、
前記ユーザレベル制御トランスファ命令は、1)前記デスティネーション命令シーケンサを参照するフィールド、2)前記制御メッセージ、3)前記ユーザレベル制御トランスファ命令に含まれる前記制御メッセージに関連付けられているハンドラコードの実行時に前記デスティネーション命令シーケンサを特定的にアドレシングする前記ハンドラコードへの参照、および4)前記ユーザレベル制御トランスファ命令の命令実行を条件付ける条件パラメータを含み、
前記ユーザレベルモニタリング命令は、前記デスティネーション命令シーケンサ、前記制御メッセージ、およびユーザレベルスレッドオペレーションを実行するべく前記制御メッセージに関連付けられたハンドラコードの位置を特定し、前記ユーザレベルモニタリング命令の実行に応答して前記デスティネーション命令シーケンサ、前記制御メッセージおよび前記ハンドラコードの位置間のマッピングを生成する、システム。 - 第1シーケンサ認識ユーザレベル命令のフィールド内の内容をデコードされた命令コードに変換する第1デコーダをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、制御メッセージおよびデスティネーション命令シーケンサを特定する1つ以上のフィールドを有する制御トランスファ命令と、前記フィールド内の内容をデコードされた命令コードに変換する第1デコーダとを含む、請求項28に記載のシステム。
- 第1シーケンサ認識ユーザレベル命令を実行する第1命令実行ユニットをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、前記第1命令実行ユニットによる実行時にデスティネーション命令シーケンサをセマンティックに参照するデータペイロード部分を含む制御トランスファ命令を含む、請求項28または請求項29に記載のシステム。
- 第1シーケンサ認識ユーザレベル命令のフィールド内の内容をデコードされた命令コードに変換する第1デコーダをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、デスティネーション命令シーケンサ、制御メッセージ、および、前記ユーザレベルスレッド管理オペレーションを実行するべく制御メッセージに関連付けられたハンドラコードの位置を特定する1つ以上のフィールドを有するモニタリング命令を含む、請求項28から請求項30のいずれか1つに記載のシステム。
- 第1シーケンサ認識ユーザレベル命令のフィールド内の内容をデコードされた命令コードに変換する第1デコーダをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、前記命令シーケンサの少なくとも1つを特定する1つ以上のフィールドを有する保存命令を含み、前記命令シーケンサの少なくとも1つのコンテキスト状態が前記保存命令の実行に応答して保存される、請求項28から請求項31のいずれか1つに記載のシステム。
- 第1シーケンサ認識ユーザレベル命令を実行する第1命令実行ユニットをさらに含み、前記第1シーケンサ認識ユーザレベル命令は、前記命令シーケンサの少なくとも1つを特定する1つ以上のフィールドを有する回復命令を含み、前記命令シーケンサの少なくとも1つの実行コンテキストが回復される、請求項28から請求項32のいずれか1つに記載のシステム。
- 第1シーケンサ認識ユーザレベル命令を実行する第1実行ユニットと、
前記第1シーケンサ認識ユーザレベル命令の実行に応答して、前記ソース命令シーケンサに、前記ソース命令シーケンサに代わっての前記デスティネーション命令シーケンサ上での第1ユーザレベルスレッドの実行をトリガさせることを可能にするプロキシ実行メカニズムと
をさらに含む、請求項28から請求項33のいずれか1つに記載のシステム。 - 第1ユーザレベルスレッドの実行中に予め定められた条件が検知されたことに応答して、前記ソース命令シーケンサに、前記ソース命令シーケンサから前記デスティネーション命令シーケンサへの制御および状態情報のトランスファをトリガさせることを可能にするプロキシ実行メカニズムをさらに含み、前記ソース命令シーケンサは、前記第1ユーザレベルスレッドから前記デスティネーション命令シーケンサへ少なくとも1つの命令の実行を移動して、前記デスティネーション命令シーケンサが前記ソース命令シーケンサに代わってオペレーティングシステムのオペレーションを実行するべくオペレーティングシステムをトリガする、請求項28から請求項34のいずれか1つに記載のシステム。
- 第1ユーザレベルスレッドの実行中に予め定められた条件が検知されたことに応答して、前記ソース命令シーケンサに、前記ソース命令シーケンサから前記デスティネーション命令シーケンサへのアドレスポインタのトランスファをトリガさせることを可能にするプロキシ実行メカニズムをさらに含み、前記デスティネーション命令シーケンサは、前記アドレスポインタにおける内容をロードし、前記ソース命令シーケンサは、前記アドレスポインタにおける内容のロード完了後に前記第1ユーザレベルスレッドからの命令を実行する、請求項28から請求項34のいずれか1つに記載のシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US64042504P | 2004-12-30 | 2004-12-30 | |
US60/640,425 | 2004-12-30 | ||
US11/173,326 | 2005-06-30 | ||
US11/173,326 US8719819B2 (en) | 2005-06-30 | 2005-06-30 | Mechanism for instruction set based thread execution on a plurality of instruction sequencers |
PCT/US2005/047328 WO2006074024A2 (en) | 2004-12-30 | 2005-12-28 | A mechanism for instruction set based thread execution on a plurality of instruction sequencers |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010204922A Division JP5244160B2 (ja) | 2004-12-30 | 2010-09-13 | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008527501A JP2008527501A (ja) | 2008-07-24 |
JP5260962B2 true JP5260962B2 (ja) | 2013-08-14 |
Family
ID=36579277
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007549602A Expired - Fee Related JP5260962B2 (ja) | 2004-12-30 | 2005-12-28 | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム |
JP2010204922A Expired - Fee Related JP5244160B2 (ja) | 2004-12-30 | 2010-09-13 | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010204922A Expired - Fee Related JP5244160B2 (ja) | 2004-12-30 | 2010-09-13 | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム |
Country Status (4)
Country | Link |
---|---|
JP (2) | JP5260962B2 (ja) |
CN (1) | CN101116057B (ja) |
DE (1) | DE112005003343B4 (ja) |
WO (1) | WO2006074024A2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0716992D0 (en) | 2007-08-31 | 2007-10-10 | Immune Targeting Systems Its L | Influenza antigen delivery vectors and constructs |
GB0408164D0 (en) | 2004-04-13 | 2004-05-19 | Immune Targeting Systems Ltd | Antigen delivery vectors and constructs |
US20070150895A1 (en) * | 2005-12-06 | 2007-06-28 | Kurland Aaron S | Methods and apparatus for multi-core processing with dedicated thread management |
JP4978914B2 (ja) * | 2007-10-19 | 2012-07-18 | インテル・コーポレーション | マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム |
FR2950714B1 (fr) * | 2009-09-25 | 2011-11-18 | Bull Sas | Systeme et procede de gestion de l'execution entrelacee de fils d'instructions |
US8487909B2 (en) * | 2011-07-27 | 2013-07-16 | Cypress Semiconductor Corporation | Method and apparatus for parallel scanning and data processing for touch sense arrays |
US9569278B2 (en) * | 2011-12-22 | 2017-02-14 | Intel Corporation | Asymmetric performance multicore architecture with same instruction set architecture |
WO2013095630A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Apparatus and method of improved extract instructions background |
US10102028B2 (en) | 2013-03-12 | 2018-10-16 | Sas Institute Inc. | Delivery acknowledgment in event stream processing |
US20150127927A1 (en) * | 2013-11-01 | 2015-05-07 | Qualcomm Incorporated | Efficient hardware dispatching of concurrent functions in multicore processors, and related processor systems, methods, and computer-readable media |
US9122651B1 (en) * | 2014-06-06 | 2015-09-01 | Sas Institute Inc. | Computer system to support failover in an event stream processing system |
CN116097213A (zh) * | 2020-08-24 | 2023-05-09 | 华为技术有限公司 | 一种图指令处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2882475B2 (ja) * | 1996-07-12 | 1999-04-12 | 日本電気株式会社 | スレッド実行方法 |
US6651163B1 (en) * | 2000-03-08 | 2003-11-18 | Advanced Micro Devices, Inc. | Exception handling with reduced overhead in a multithreaded multiprocessing system |
JP4651790B2 (ja) * | 2000-08-29 | 2011-03-16 | 株式会社ガイア・システム・ソリューション | データ処理装置 |
US20020199179A1 (en) * | 2001-06-21 | 2002-12-26 | Lavery Daniel M. | Method and apparatus for compiler-generated triggering of auxiliary codes |
US7487502B2 (en) * | 2003-02-19 | 2009-02-03 | Intel Corporation | Programmable event driven yield mechanism which may activate other threads |
-
2005
- 2005-12-28 WO PCT/US2005/047328 patent/WO2006074024A2/en active Application Filing
- 2005-12-28 CN CN2005800448962A patent/CN101116057B/zh not_active Expired - Fee Related
- 2005-12-28 DE DE112005003343T patent/DE112005003343B4/de not_active Expired - Fee Related
- 2005-12-28 JP JP2007549602A patent/JP5260962B2/ja not_active Expired - Fee Related
-
2010
- 2010-09-13 JP JP2010204922A patent/JP5244160B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008527501A (ja) | 2008-07-24 |
WO2006074024A3 (en) | 2006-10-26 |
WO2006074024A2 (en) | 2006-07-13 |
CN101116057B (zh) | 2011-10-05 |
DE112005003343B4 (de) | 2011-05-19 |
DE112005003343T5 (de) | 2007-11-29 |
JP5244160B2 (ja) | 2013-07-24 |
JP2011023032A (ja) | 2011-02-03 |
CN101116057A (zh) | 2008-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452403B2 (en) | Mechanism for instruction set based thread execution on a plurality of instruction sequencers | |
JP5260962B2 (ja) | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム | |
US8887174B2 (en) | Mechanism for monitoring instruction set based thread execution on a plurality of instruction sequencers | |
US9069605B2 (en) | Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention | |
JP4642305B2 (ja) | マルチスレッド・プロセッサ内の複数のスレッドに入り、出る方法と装置 | |
US7290261B2 (en) | Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor | |
US8423750B2 (en) | Hardware assist thread for increasing code parallelism | |
JP4690988B2 (ja) | 持続的なユーザレベルスレッド用の装置、システムおよび方法 | |
JP6556748B2 (ja) | コンピュータにおいて複数のスレッドをディスパッチするための方法、システム、およびコンピュータ・プログラム | |
JP2018509687A (ja) | ユーザレベルの分岐及び結合を行うプロセッサ、方法、システム、及び命令 | |
CN106170768B (zh) | 在计算机中分派多个线程 | |
JP6556747B2 (ja) | コンピュータ内の複数のスレッドをエグジットするための方法、システム、およびコンピュータ・プログラム | |
JP2017515204A (ja) | コンピュータ内の複数のスレッドを管理する制御エリアを提供するためのシステム、方法、およびコンピュータ・プログラム製品 | |
US8869172B2 (en) | Method and system method and system for exception-less system calls for event driven programs | |
US10771554B2 (en) | Cloud scaling with non-blocking non-spinning cross-domain event synchronization and data communication | |
JP2006139496A (ja) | 演算処理装置 | |
JP2005182791A (ja) | 汎用組込みプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100615 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100913 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101026 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120502 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120509 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120607 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120612 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120704 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120709 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120803 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121217 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121220 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130117 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130123 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130426 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160502 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5260962 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |