JP4740851B2 - 仮想プロセッサリソースの動的構成のための機構体 - Google Patents
仮想プロセッサリソースの動的構成のための機構体 Download PDFInfo
- Publication number
- JP4740851B2 JP4740851B2 JP2006524900A JP2006524900A JP4740851B2 JP 4740851 B2 JP4740851 B2 JP 4740851B2 JP 2006524900 A JP2006524900 A JP 2006524900A JP 2006524900 A JP2006524900 A JP 2006524900A JP 4740851 B2 JP4740851 B2 JP 4740851B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- virtual processing
- resource
- context
- multiprocessor
- 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 description 9
- 238000000034 method Methods 0.000 claims description 33
- 239000000872 buffer Substances 0.000 claims description 15
- 238000007667 floating Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 8
- 230000001133 acceleration Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 20
- 238000013519 translation Methods 0.000 description 18
- 230000014616 translation Effects 0.000 description 18
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 101100317152 Oryza sativa subsp. japonica VPE1 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 101000749871 Mus musculus Contactin-associated protein 1 Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
-
- 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
Description
Claims (58)
- 単一のマイクロプロセッサで動作するように構成された仮想マルチプロセッサ内の複数の仮想処理要素に関してリソースを構成するハードウェア装置であって、
リソースを規定しかつ仮想マルチプロセッサの構成状態を制御する、仮想マルチプロセッサコンテキストと、
それぞれが複数の仮想処理要素のうちの1つに対応する、複数の仮想処理要素コンテキストとを含み、前記仮想処理要素コンテキストそれぞれが、
仮想処理要素コンテキストが対応する仮想処理要素が、リソースを構成することを許可されるかどうかを規定する第1の要素と、
仮想処理要素コンテキストが対応する仮想処理要素に割り振られるリソースのサブセットを規定する内容を有する第2の要素とを含み、前記ハードウェア装置がさらに、
構成要素を含み、該構成要素が、前記仮想マルチプロセッサコンテキストおよび前記複数の仮想処理要素コンテキストに結合され、複数の仮想処理要素のうちの特定の1つが、リソースを構成することを許可されるかどうかを検出し、仮想マルチプロセッサが前記構成状態に入ることを指示するために、前記仮想マルチプロセッサコンテキストを更新し、かつ複数の仮想処理要素の1つに対応する仮想処理要素コンテキストの第2の要素の内容を更新することによってリソースを構成する、ハードウェア装置。 - 複数の仮想処理要素が、仮想マルチプロセッサ内で並行して実行され、仮想マルチプロセッサが、対称マルチプロセッシングオペレーティングシステムに対して対称マルチプロセッサとして見える、請求項1に記載のハードウェア装置。
- 前記複数の仮想処理要素それぞれが、複数のスレッドを並行して実行するように構成された複数のスレッドコンテキストを含む、請求項1に記載のハードウェア装置。
- 複数のスレッドコンテキストそれぞれが、構成されたリソースを共用し、前記構成されたリソースが、リソースから複数の仮想処理要素のうちの対応する1つに割り振られている、請求項3に記載のハードウェア装置。
- リソースが、仮想マルチプロセッサの複数の属性を含み、特定の仮想処理要素に関するリソースの構成は、前記特定の仮想処理要素が、仮想マルチプロセッサ内の複数の仮想処理要素のうちの他のすべての仮想処理要素に対して実行する方法を決定する、請求項1に記載のハードウェア装置。
- リソースが、変換ルックアサイドバッファ属性を含む、請求項1に記載のハードウェア装置。
- リソースが、コプロセッシング属性を含む、請求項1に記載のハードウェア装置。
- リソースが、浮動小数点処理属性を含む、請求項1に記載のハードウェア装置。
- リソースが、メディアアクセラレーション属性を含む、請求項1に記載のハードウェア装置。
- リソースが、リソースを構成することの許可を含む、請求項1に記載のハードウェア装置。
- リソースが、スレッドコンテキストを含む、請求項1に記載のハードウェア装置。
- リソースが、仮想マルチプロセッサの帯域幅を含む、請求項1に記載のハードウェア装置。
- リソースが、仮想処理要素をイネーブルすることを含む、請求項1に記載のハードウェア装置。
- 複数の仮想処理要素それぞれが、MIPS32/MIPS64命令および特権リソースアーキテクチャのインスタンス化を含む、請求項1に記載のハードウェア装置。
- 前記仮想処理要素コンテキストが、複数の仮想処理要素のうちの前記1つに対応する、請求項1に記載のハードウェア装置。
- 複数の仮想処理要素のうちの前記1つが、リソースを構成することのそれ自体の許可を取り消すことができる、請求項15に記載のハードウェア装置。
- 前記仮想処理要素コンテキストが、複数の仮想処理要素のうちの異なる1つに対応する、請求項1に記載のハードウェア装置。
- 複数の仮想処理要素のうちの前記1つが、複数の仮想処理要素のうちの前記異なる1つにリソースを構成することの許可を取り消すことができる、請求項17に記載のハードウェア装置。
- 前記仮想マルチプロセッシングコンテキストが、複数のレジスタを含み、前記構成状態が、その中の構成状態フィールドに値を書き込むことによって制御される、請求項1に記載のハードウェア装置。
- 前記第1の要素が、複数の仮想プロセッサコンテキストレジスタ内の1つにマスタ仮想プロセッサフィールドを含み、前記マスタ仮想プロセッサフィールドの特定の値は、複数の仮想処理要素のうちの前記1つが、リソースを構成することを許可されるかどうかを規定する、請求項1に記載のハードウェア装置。
- 前記第2の要素が、複数の仮想プロセッサコンテキストレジスタ内の1つに複数のフィールドを含み、前記複数のフィールドが、リソースを構成することを許可された所与の仮想処理要素によってのみ更新されることができる、請求項1に記載のハードウェア装置。
- 前記所与の仮想処理要素が、リソースを構成することを許可されていない場合に、前記構成要素が例外を引き起こす、請求項21に記載のハードウェア装置。
- 前記構成状態を確立しかつリソースを構成するために、複数のプログラム命令が、複数の仮想処理要素のうちの前記1つによって実行される、請求項1に記載のハードウェア装置。
- 単一のマイクロプロセッサで動作するように構成された仮想マルチプロセッサ内の複数の仮想処理要素にリソースを割り当てるリソース構成ハードウェア装置であって、
リソースを規定しかつ仮想マルチプロセッサの構成状態を制御するための仮想マルチプロセッサレジスタと、
複数の仮想処理要素のそれぞれについて、複数の仮想処理要素のうちの特定の1つがリソースを割り当てることを許可されるかどうかを規定し、かつ前記対応する仮想処理要素に割り振られるリソースのサブセットを規定するための複数の仮想処理要素レジスタと、
前記仮想マルチプロセッサレジスタおよび前記複数の仮想処理要素レジスタに結合され、前記対応する仮想処理要素がリソースを割り当てることを許可されるかどうかを検出し、仮想マルチプロセッサが前記構成状態に入ることを指示するために前記仮想マルチプロセッサレジスタを更新し、かつ複数の仮想処理要素のうちの1つに対応する前記仮想処理要素レジスタの少なくとも1つのフィールドを更新することによってリソースを割り当てるための構成要素とを含む、リソース構成ハードウェア装置。 - リソースが、変換ルックアサイドバッファ属性を含む、請求項24に記載のハードウェア装置。
- リソースが、コプロセッシング属性を含む、請求項24に記載のハードウェア装置。
- リソースが、浮動小数点処理属性を含む、請求項24に記載のハードウェア装置。
- リソースが、メディアアクセラレーション属性を含む、請求項24に記載のハードウェア装置。
- リソースが、リソースを構成することの許可を含む、請求項24に記載のハードウェア装置。
- リソースが、スレッドコンテキストを含む、請求項24に記載のハードウェア装置。
- リソースが、仮想マルチプロセッサの帯域幅を含む、請求項24に記載のハードウェア装置。
- リソースが、仮想処理要素をイネーブルすることを含む、請求項24に記載のハードウェア装置。
- 複数の仮想処理要素のそれぞれが、MIPS32/MIPS64命令および特権リソースアーキテクチャのインスタンス化を含む、請求項24に記載のハードウェア装置。
- 前記対応する仮想処理要素が、リソースを割り当てることのそれ自体の許可を取り消すことができる、請求項24に記載のハードウェア装置。
- 前記複数の仮想処理要素の対応する1つが、複数の仮想処理要素のうちの異なる1つにリソースを構成することの許可を取り消すことができる、請求項24に記載のハードウェア装置。
- コンピュータ使用可能媒体に実施されるプログラムであって、該プログラムは、単一のマイクロプロセッサで動作するように構成された仮想マルチプロセッサ内の仮想処理要素に関してリソースを構成する装置を記述するように構成されており、また該プログラムは、コンピュータに実行させる、
前記リソースを規定する仮想マルチプロセッサコンテキストを記述し、前記仮想マルチプロセッサの構成状態を制御する、第1の処理と、
仮想処理要素コンテキストを記述する第2の処理とを含み、それぞれが、前記仮想処理要素のうちの1つに対応し、前記仮想処理要素のうちの前記1つが前記リソースを構成することを許可されるかどうかを各仮想マルチプロセッサコンテキストの第1の要素を介して規定し、かつ前記仮想処理要素のうちの前記1つに割り振られる前記リソースのサブセットを各仮想マルチプロセッサコンテキストの第2の要素を介して規定する仮想処理要素コンテキストを記述し、前記プログラムがさらに、
コンピュータに実行させる、構成要素を記述する第3の処理を含み、前記構成要素が、前記仮想マルチプロセッサコンテキストおよび前記仮想処理要素コンテキストに結合され、前記仮想処理要素のうちの前記1つが前記リソースを構成することを許可されるかどうかを検出し、前記仮想マルチプロセッサが前記構成状態に入ることを指示するために前記仮想マルチプロセッサコンテキストを更新し、かつ規定された仮想処理要素コンテキストの第2の要素の内容を更新することによって前記リソースを構成する、プログラム。 - 前記リソースが、前記仮想マルチプロセッサの1つまたは複数の属性を含み、前記規定された仮想処理要素に関する前記リソースの構成は、前記規定された仮想処理要素が、前記仮想マルチプロセッサ内の前記仮想処理要素のうちの他のすべての仮想処理要素に対して実行する方法を決定する、請求項36に記載のプログラム。
- 前記リソースが、変換ルックアサイドバッファ属性を含む、請求項36に記載のプログラム。
- 前記リソースが、コプロセッシング属性を含む、請求項36に記載のプログラム。
- 前記リソースが、浮動小数点処理属性を含む、請求項36に記載のプログラム。
- 前記リソースが、メディアアクセラレーション属性を含む、請求項36に記載のプログラム。
- 前記リソースが、前記リソースを構成することの許可を含む、請求項36に記載のプログラム。
- 前記リソースが、スレッドコンテキストを含む、請求項36に記載のプログラム。
- 前記リソースが、前記仮想マルチプロセッサの帯域幅を含む、請求項36に記載のプログラム。
- 前記リソースが、仮想処理要素をイネーブルすることを含む、請求項36に記載のプログラム。
- 前記仮想処理要素それぞれが、MIPS32/MIPS64命令および特権リソースアーキテクチャのインスタンス化を含む、請求項36に記載のプログラム。
- 単一のマイクロプロセッサで動作するように構成された仮想マルチプロセッサ内の複数の仮想処理要素に関してリソースを構成する方法であって、
仮想マルチプロセッサコンテキストを介して、リソースを規定し、仮想マルチプロセッサの構成状態を制御することと、
それぞれが複数の仮想処理要素のうちの1つに対応する複数の仮想処理要素コンテキストを介して、複数の仮想処理要素のうちの1つがリソースを構成することを許可されるかどうかを規定し、複数の仮想処理要素のうちの1つに割り振られるリソースのサブセットを規定する仮想処理要素コンテキストの少なくとも1つのフィールドを規定することと、
仮想マルチプロセッサコンテキストおよび複数の仮想処理要素コンテキストに結合された構成要素を介して、複数の仮想処理要素のうちの1つがリソースを構成することを許可されるかどうかを検出し、仮想マルチプロセッサが前記構成状態に入ることを指示するために仮想マルチプロセッサコンテキストを更新し、複数の仮想処理要素のうちの1つに対応する仮想処理要素コンテキストの少なくとも1つのフィールドを更新することによってリソースを構成することとを含む方法。 - 前記第2に更新することが、仮想マルチプロセッサの1つまたは複数の属性を割り振ることを含む、請求項47に記載の方法。
- 前記割り振ることが、変換ルックアサイドバッファ属性を割り当てることを含む、請求項48に記載の方法。
- 前記割り振ることが、コプロセッシング属性を割り当てることを含む、請求項48に記載の方法。
- 前記割り振ることが、浮動小数点処理属性を割り当てることを含む、請求項48に記載の方法。
- 前記割り振ることが、メディアアクセラレーション属性を割り当てることを含む、請求項48に記載の方法。
- 前記割り振ることが、リソースを構成することの許可を割り当てることを含む、請求項48に記載の方法。
- 前記割り振ることが、スレッドコンテキストを割り当てることを含む、請求項48に記載の方法。
- 前記割り振ることが、仮想マルチプロセッサの帯域幅を割り当てることを含む、請求項48に記載の方法。
- 前記割り振ることが、所与の仮想処理要素をイネーブルすることを含む、請求項48に記載の方法。
- 仮想処理要素それぞれが、MIPS32/MIPS64命令および特権リソースアーキテクチャのインスタンス化を含む、請求項48に記載の方法。
- 仮想マルチプロセッシングシステムであって、
複数のプログラムスレッドに関連するプログラム命令を保管するように構成されたメモリと、
前記メモリに結合され、仮想マルチプロセッサ内で構成された複数の仮想処理要素上で前記プログラム命令を実行するように構成された、単一のマイクロプロセッサ上の仮想マルチプロセッサとを含み、前記仮想マルチプロセッサが、前記複数の仮想処理要素の構成に関してリソースを規定し、かつ前記仮想マルチプロセッサの構成状態を制御する仮想マルチプロセッサコンテキストを有し、
前記複数の仮想処理要素それぞれが、仮想処理要素コンテキストを含み、仮想処理要素コンテキストは、前記複数の仮想処理要素の前記それぞれが、前記リソースを構成することを許可されるかどうかを規定し、仮想処理要素コンテキストが対応する仮想処理要素に割り振られる前記リソースのサブセットを規定する仮想処理要素コンテキストの少なくとも1つのフィールドを規定し、前記複数の仮想処理要素それぞれが、
前記仮想マルチプロセッサコンテキストおよび前記仮想処理要素コンテキストに結合され、前記複数の仮想処理要素の前記それぞれが、前記リソースを構成することを許可されるかどうかを検出し、前記仮想マルチプロセッサが前記構成状態に入ることを指示するために、前記仮想マルチプロセッサコンテキストを更新し、かつ前記複数の仮想処理要素のうちの1つに対応する仮想処理要素コンテキストの少なくとも1つのフィールドを更新することによって前記リソースを構成する構成要素とを含む、仮想マルチプロセッシングシステム。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US49918003P | 2003-08-28 | 2003-08-28 | |
US60/499,180 | 2003-08-28 | ||
US50235803P | 2003-09-12 | 2003-09-12 | |
US50235903P | 2003-09-12 | 2003-09-12 | |
US60/502,358 | 2003-09-12 | ||
US60/502,359 | 2003-09-12 | ||
US10/684,350 | 2003-10-10 | ||
US10/684,348 US20050050305A1 (en) | 2003-08-28 | 2003-10-10 | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
US10/684,348 | 2003-10-10 | ||
US10/684,350 US7376954B2 (en) | 2003-08-28 | 2003-10-10 | Mechanisms for assuring quality of service for programs executing on a multithreaded processor |
PCT/US2004/027976 WO2005022385A1 (en) | 2003-08-28 | 2004-08-27 | Mechanisms for dynamic configuration of virtual processor resources |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007504536A JP2007504536A (ja) | 2007-03-01 |
JP4740851B2 true JP4740851B2 (ja) | 2011-08-03 |
Family
ID=34624066
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006524900A Expired - Fee Related JP4740851B2 (ja) | 2003-08-28 | 2004-08-27 | 仮想プロセッサリソースの動的構成のための機構体 |
JP2006524929A Expired - Fee Related JP4818919B2 (ja) | 2003-08-28 | 2004-08-27 | プロセッサ内での実行の計算スレッドを一時停止して割り当て解除するための統合されたメカニズム |
JP2006524868A Expired - Fee Related JP4818918B2 (ja) | 2003-08-28 | 2004-08-27 | マルチスレッド化されたマイクロプロセッサで並行命令ストリームを開始する命令 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006524929A Expired - Fee Related JP4818919B2 (ja) | 2003-08-28 | 2004-08-27 | プロセッサ内での実行の計算スレッドを一時停止して割り当て解除するための統合されたメカニズム |
JP2006524868A Expired - Fee Related JP4818918B2 (ja) | 2003-08-28 | 2004-08-27 | マルチスレッド化されたマイクロプロセッサで並行命令ストリームを開始する命令 |
Country Status (5)
Country | Link |
---|---|
US (6) | US7610473B2 (ja) |
EP (3) | EP1660993B1 (ja) |
JP (3) | JP4740851B2 (ja) |
DE (1) | DE602004017879D1 (ja) |
WO (1) | WO2005022381A2 (ja) |
Families Citing this family (231)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2836407B1 (fr) * | 2002-02-28 | 2004-05-14 | Thermagen | Procede de fabrication d'emballage metallique |
US7627721B2 (en) * | 2002-10-08 | 2009-12-01 | Rmi Corporation | Advanced processor with cache coherency |
KR100591755B1 (ko) * | 2003-07-22 | 2006-06-22 | 삼성전자주식회사 | 복수의 스레드를 동시에 처리하는 장치 및 방법 |
US7594089B2 (en) | 2003-08-28 | 2009-09-22 | Mips Technologies, Inc. | Smart memory based synchronization controller for a multi-threaded multiprocessor SoC |
US7849297B2 (en) * | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
US7610473B2 (en) | 2003-08-28 | 2009-10-27 | Mips Technologies, Inc. | Apparatus, method, and instruction for initiation of concurrent instruction streams in a multithreading microprocessor |
US9032404B2 (en) | 2003-08-28 | 2015-05-12 | Mips Technologies, Inc. | Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor |
US7418585B2 (en) * | 2003-08-28 | 2008-08-26 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US20050050305A1 (en) * | 2003-08-28 | 2005-03-03 | Kissell Kevin D. | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
US7870553B2 (en) * | 2003-08-28 | 2011-01-11 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7836450B2 (en) | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7376954B2 (en) * | 2003-08-28 | 2008-05-20 | Mips Technologies, Inc. | Mechanisms for assuring quality of service for programs executing on a multithreaded processor |
US7711931B2 (en) | 2003-08-28 | 2010-05-04 | Mips Technologies, Inc. | Synchronized storage providing multiple synchronization semantics |
US8732644B1 (en) | 2003-09-15 | 2014-05-20 | Nvidia Corporation | Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits |
US8775997B2 (en) | 2003-09-15 | 2014-07-08 | Nvidia Corporation | System and method for testing and configuring semiconductor functional circuits |
US8788996B2 (en) | 2003-09-15 | 2014-07-22 | Nvidia Corporation | System and method for configuring semiconductor functional circuits |
US20050094551A1 (en) * | 2003-09-25 | 2005-05-05 | Broadcom Corporation | Processor instruction for DMT encoding |
US7751557B2 (en) * | 2003-09-26 | 2010-07-06 | Broadcom Corporation | Data de-scrambler |
US7903810B2 (en) * | 2003-09-26 | 2011-03-08 | Broadcom Corporation | Single instruction for data scrambling |
US7756273B2 (en) * | 2003-09-26 | 2010-07-13 | Broadcom Corporation | System and method for bit-reversing and scrambling payload bytes in an asynchronous transfer mode cell |
US6897871B1 (en) | 2003-11-20 | 2005-05-24 | Ati Technologies Inc. | Graphics processing architecture employing a unified shader |
US8711161B1 (en) | 2003-12-18 | 2014-04-29 | Nvidia Corporation | Functional component compensation reconfiguration system and method |
US7770169B2 (en) * | 2004-05-17 | 2010-08-03 | Oracle America, Inc. | Thread rendezvous for read-only code in an object-oriented computing environment |
EP1622009A1 (en) * | 2004-07-27 | 2006-02-01 | Texas Instruments Incorporated | JSM architecture and systems |
US7890735B2 (en) * | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
US7320063B1 (en) | 2005-02-04 | 2008-01-15 | Sun Microsystems, Inc. | Synchronization primitives for flexible scheduling of functional unit operations |
US8723231B1 (en) | 2004-09-15 | 2014-05-13 | Nvidia Corporation | Semiconductor die micro electro-mechanical switch management system and method |
US8711156B1 (en) * | 2004-09-30 | 2014-04-29 | Nvidia Corporation | Method and system for remapping processing elements in a pipeline of a graphics processing unit |
US7203100B2 (en) | 2004-11-01 | 2007-04-10 | Sun Mircosystems, Inc. | Efficient implementation of a read scheme for multi-threaded register file |
US7707578B1 (en) | 2004-12-16 | 2010-04-27 | Vmware, Inc. | Mechanism for scheduling execution of threads for fair resource allocation in a multi-threaded and/or multi-core processing system |
US20060136919A1 (en) * | 2004-12-17 | 2006-06-22 | Sun Microsystems, Inc. | System and method for controlling thread suspension in a multithreaded processor |
CN100520714C (zh) * | 2005-01-25 | 2009-07-29 | Nxp股份有限公司 | 多线程处理器 |
US8254411B2 (en) * | 2005-02-10 | 2012-08-28 | International Business Machines Corporation | Data processing system, method and interconnect fabric having a flow governor |
US7483422B2 (en) * | 2005-02-10 | 2009-01-27 | International Business Machines Corporation | Data processing system, method and interconnect fabric for selective link information allocation in a data processing system |
US7743233B2 (en) * | 2005-04-05 | 2010-06-22 | Intel Corporation | Sequencer address management |
US7389403B1 (en) * | 2005-08-10 | 2008-06-17 | Sun Microsystems, Inc. | Adaptive computing ensemble microprocessor architecture |
US7721151B2 (en) * | 2005-08-30 | 2010-05-18 | Cisco Technology, Inc. | Selective error recovery of processing complex using privilege-level error discrimination |
US7844971B2 (en) * | 2005-09-28 | 2010-11-30 | Intel Corporation | Method and apparatus for detecting cross-thread stack access in multithreaded programs |
US8185895B2 (en) * | 2005-11-30 | 2012-05-22 | International Business Machines Corporation | Method, apparatus and program storage device for providing an anchor pointer in an operating system context structure for improving the efficiency of accessing thread specific data |
KR100663709B1 (ko) * | 2005-12-28 | 2007-01-03 | 삼성전자주식회사 | 재구성 아키텍처에서의 예외 처리 방법 및 장치 |
US8108863B2 (en) * | 2005-12-30 | 2012-01-31 | Intel Corporation | Load balancing for multi-threaded applications via asymmetric power throttling |
US20070226795A1 (en) * | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
KR100714710B1 (ko) * | 2006-02-22 | 2007-05-04 | 삼성전자주식회사 | 입출력 작업에 의해 블로킹된 스레드를 강제 종료하는 장치및 방법 |
KR100770034B1 (ko) * | 2006-03-02 | 2007-10-26 | 삼성전자주식회사 | 복수의 레지스터 파일을 이용한 문맥 교환 방법 및 시스템 |
GB0605383D0 (en) * | 2006-03-17 | 2006-04-26 | Williams Paul N | Processing system |
US7802073B1 (en) * | 2006-03-29 | 2010-09-21 | Oracle America, Inc. | Virtual core management |
WO2007115429A1 (en) * | 2006-03-31 | 2007-10-18 | Intel Corporation | Managing and supporting multithreaded resources for native code in a heterogeneous managed runtime environment |
US8327115B2 (en) | 2006-04-12 | 2012-12-04 | Soft Machines, Inc. | Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode |
US7912889B1 (en) * | 2006-06-16 | 2011-03-22 | Nvidia Corporation | Mapping the threads of a CTA to the elements of a tile for efficient matrix multiplication |
US7792895B1 (en) * | 2006-06-16 | 2010-09-07 | Nvidia Corporation | Efficient matrix multiplication on a parallel processing device |
US8046775B2 (en) | 2006-08-14 | 2011-10-25 | Marvell World Trade Ltd. | Event-based bandwidth allocation mode switching method and apparatus |
US7657708B2 (en) * | 2006-08-18 | 2010-02-02 | Mips Technologies, Inc. | Methods for reducing data cache access power in a processor using way selection bits |
US7650465B2 (en) * | 2006-08-18 | 2010-01-19 | Mips Technologies, Inc. | Micro tag array having way selection bits for reducing data cache access power |
US9665970B2 (en) * | 2006-09-19 | 2017-05-30 | Imagination Technologies Limited | Variable-sized concurrent grouping for multiprocessing |
US9946547B2 (en) | 2006-09-29 | 2018-04-17 | Arm Finance Overseas Limited | Load/store unit for a processor, and applications thereof |
US7594079B2 (en) | 2006-09-29 | 2009-09-22 | Mips Technologies, Inc. | Data cache virtual hint way prediction, and applications thereof |
US20080082793A1 (en) * | 2006-09-29 | 2008-04-03 | Mips Technologies, Inc. | Detection and prevention of write-after-write hazards, and applications thereof |
US7493436B2 (en) * | 2006-10-26 | 2009-02-17 | International Business Machines Corporation | Interrupt handling using simultaneous multi-threading |
US8402463B2 (en) * | 2006-10-30 | 2013-03-19 | Hewlett-Packard Development Company, L.P. | Hardware threads processor core utilization |
US7698540B2 (en) * | 2006-10-31 | 2010-04-13 | Hewlett-Packard Development Company, L.P. | Dynamic hardware multithreading and partitioned hardware multithreading |
EP2523101B1 (en) | 2006-11-14 | 2014-06-04 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
US7975272B2 (en) * | 2006-12-30 | 2011-07-05 | Intel Corporation | Thread queuing method and apparatus |
US8321849B2 (en) * | 2007-01-26 | 2012-11-27 | Nvidia Corporation | Virtual architecture and instruction set for parallel thread computing |
JP5595633B2 (ja) * | 2007-02-26 | 2014-09-24 | スパンション エルエルシー | シミュレーション方法及びシミュレーション装置 |
US8219789B2 (en) * | 2007-03-14 | 2012-07-10 | XMOS Ltd. | Interface processor |
US9367321B2 (en) * | 2007-03-14 | 2016-06-14 | Xmos Limited | Processor instruction set for controlling an event source to generate events used to schedule threads |
US7979683B1 (en) * | 2007-04-05 | 2011-07-12 | Nvidia Corporation | Multiple simultaneous context architecture |
US8095782B1 (en) * | 2007-04-05 | 2012-01-10 | Nvidia Corporation | Multiple simultaneous context architecture for rebalancing contexts on multithreaded processing cores upon a context change |
US8521993B2 (en) * | 2007-04-09 | 2013-08-27 | Intel Corporation | Providing thread fairness by biasing selection away from a stalling thread using a stall-cycle counter in a hyper-threaded microprocessor |
US8261049B1 (en) | 2007-04-10 | 2012-09-04 | Marvell International Ltd. | Determinative branch prediction indexing |
US7681020B2 (en) * | 2007-04-18 | 2010-03-16 | International Business Machines Corporation | Context switching and synchronization |
WO2008132761A2 (en) * | 2007-04-26 | 2008-11-06 | Hewlett-Packard Development Company L.P. | Method and system for managing heap across process replication |
US8225315B1 (en) | 2007-07-23 | 2012-07-17 | Oracle America, Inc. | Virtual core management |
US8132170B2 (en) * | 2007-08-07 | 2012-03-06 | International Business Machines Corporation | Call stack sampling in a data processing system |
JP5043560B2 (ja) * | 2007-08-24 | 2012-10-10 | パナソニック株式会社 | プログラム実行制御装置 |
US20090063881A1 (en) * | 2007-08-31 | 2009-03-05 | Mips Technologies, Inc. | Low-overhead/power-saving processor synchronization mechanism, and applications thereof |
US8782779B2 (en) * | 2007-09-26 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | System and method for achieving protected region within computer system |
US20090089031A1 (en) * | 2007-09-28 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Integrated simulation of controllers and devices |
US20090089234A1 (en) * | 2007-09-28 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Automated code generation for simulators |
US8069021B2 (en) * | 2007-09-28 | 2011-11-29 | Rockwell Automation Technologies, Inc. | Distributed simulation and synchronization |
US7801710B2 (en) * | 2007-09-28 | 2010-09-21 | Rockwell Automation Technologies, Inc. | Simulation controls for model variability and randomness |
US8548777B2 (en) * | 2007-09-28 | 2013-10-01 | Rockwell Automation Technologies, Inc. | Automated recommendations from simulation |
US20090089029A1 (en) * | 2007-09-28 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Enhanced execution speed to improve simulation performance |
US20090100249A1 (en) * | 2007-10-10 | 2009-04-16 | Eichenberger Alexandre E | Method and apparatus for allocating architectural register resources among threads in a multi-threaded microprocessor core |
US8724483B2 (en) | 2007-10-22 | 2014-05-13 | Nvidia Corporation | Loopback configuration for bi-directional interfaces |
US8321840B2 (en) * | 2007-12-27 | 2012-11-27 | Intel Corporation | Software flow tracking using multiple threads |
US20090210873A1 (en) * | 2008-02-15 | 2009-08-20 | International Business Machines Corporation | Re-tasking a managed virtual machine image in a virtualization data processing system |
US20110067015A1 (en) * | 2008-02-15 | 2011-03-17 | Masamichi Takagi | Program parallelization apparatus, program parallelization method, and program parallelization program |
JP4996519B2 (ja) * | 2008-03-27 | 2012-08-08 | パナソニック株式会社 | 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法 |
US8751211B2 (en) | 2008-03-27 | 2014-06-10 | Rocketick Technologies Ltd. | Simulation using parallel processors |
US8566830B2 (en) * | 2008-05-16 | 2013-10-22 | Microsoft Corporation | Local collections of tasks in a scheduler |
US8561072B2 (en) * | 2008-05-16 | 2013-10-15 | Microsoft Corporation | Scheduling collections in a scheduler |
US8433884B2 (en) * | 2008-06-19 | 2013-04-30 | Panasonic Corporation | Multiprocessor |
US9032377B2 (en) * | 2008-07-10 | 2015-05-12 | Rocketick Technologies Ltd. | Efficient parallel computation of dependency problems |
US20100011357A1 (en) * | 2008-07-13 | 2010-01-14 | International Business Machines Corporation | System and method for garbage collection in a virtual machine |
US9418005B2 (en) | 2008-07-15 | 2016-08-16 | International Business Machines Corporation | Managing garbage collection in a data processing system |
US20100017583A1 (en) * | 2008-07-15 | 2010-01-21 | International Business Machines Corporation | Call Stack Sampling for a Multi-Processor System |
US8024732B2 (en) * | 2008-07-28 | 2011-09-20 | Microsoft Corporation | State separation for application changes |
US9449314B2 (en) | 2008-10-02 | 2016-09-20 | International Business Machines Corporation | Virtualization of a central processing unit measurement facility |
US7827321B2 (en) | 2008-10-02 | 2010-11-02 | International Business Machines Corporation | Central processing unit measurement facility |
US8209559B2 (en) * | 2008-12-24 | 2012-06-26 | Intel Corporation | Low power polling techniques |
WO2010095182A1 (ja) * | 2009-02-17 | 2010-08-26 | パナソニック株式会社 | マルチスレッドプロセッサ及びデジタルテレビシステム |
JP2010204874A (ja) * | 2009-03-03 | 2010-09-16 | Nec Corp | スレッド制御システム、方法及びプログラム |
US8561040B2 (en) * | 2009-03-10 | 2013-10-15 | Oracle America, Inc. | One-pass compilation of virtual instructions |
US9250973B2 (en) * | 2009-03-12 | 2016-02-02 | Polycore Software, Inc. | Apparatus and associated methodology of generating a multi-core communications topology |
US9461930B2 (en) | 2009-04-27 | 2016-10-04 | Intel Corporation | Modifying data streams without reordering in a multi-thread, multi-flow network processor |
US8910171B2 (en) * | 2009-04-27 | 2014-12-09 | Lsi Corporation | Thread synchronization in a multi-thread network communications processor architecture |
US9444757B2 (en) | 2009-04-27 | 2016-09-13 | Intel Corporation | Dynamic configuration of processing modules in a network communications processor architecture |
US20100333071A1 (en) * | 2009-06-30 | 2010-12-30 | International Business Machines Corporation | Time Based Context Sampling of Trace Data with Support for Multiple Virtual Machines |
US8593472B1 (en) * | 2009-07-31 | 2013-11-26 | Nvidia Corporation | System and method for accessing a frame buffer via a storage driver |
US10169072B2 (en) * | 2009-09-23 | 2019-01-01 | Nvidia Corporation | Hardware for parallel command list generation |
GB2474521B (en) * | 2009-10-19 | 2014-10-15 | Ublox Ag | Program flow control |
US20110173420A1 (en) * | 2010-01-08 | 2011-07-14 | International Business Machines Corporation | Processor resume unit |
US8447960B2 (en) * | 2010-01-08 | 2013-05-21 | International Business Machines Corporation | Pausing and activating thread state upon pin assertion by external logic monitoring polling loop exit time condition |
KR101644800B1 (ko) * | 2010-01-07 | 2016-08-02 | 삼성전자주식회사 | 컴퓨팅 시스템 및 방법 |
US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
US9176783B2 (en) | 2010-05-24 | 2015-11-03 | International Business Machines Corporation | Idle transitions sampling with execution context |
JP5548037B2 (ja) * | 2010-06-11 | 2014-07-16 | パナソニック株式会社 | 命令発行制御装置及び方法 |
US8516492B2 (en) * | 2010-06-11 | 2013-08-20 | International Business Machines Corporation | Soft partitions and load balancing |
US8843684B2 (en) | 2010-06-11 | 2014-09-23 | International Business Machines Corporation | Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration |
US8799872B2 (en) | 2010-06-27 | 2014-08-05 | International Business Machines Corporation | Sampling with sample pacing |
US8667253B2 (en) | 2010-08-04 | 2014-03-04 | International Business Machines Corporation | Initiating assist thread upon asynchronous event for processing simultaneously with controlling thread and updating its running status in status register |
JP5488697B2 (ja) | 2010-08-30 | 2014-05-14 | 富士通株式会社 | マルチコアプロセッサシステム、同期制御方法、および同期制御プログラム |
KR101685247B1 (ko) | 2010-09-17 | 2016-12-09 | 소프트 머신즈, 인크. | 조기 원거리 분기 예측을 위한 섀도우 캐시를 포함하는 단일 사이클 다중 분기 예측 |
US8793474B2 (en) | 2010-09-20 | 2014-07-29 | International Business Machines Corporation | Obtaining and releasing hardware threads without hypervisor involvement |
US8713290B2 (en) | 2010-09-20 | 2014-04-29 | International Business Machines Corporation | Scaleable status tracking of multiple assist hardware threads |
US8572628B2 (en) | 2010-12-02 | 2013-10-29 | International Business Machines Corporation | Inter-thread data communications in a computer processor |
US8561070B2 (en) | 2010-12-02 | 2013-10-15 | International Business Machines Corporation | Creating a thread of execution in a computer processor without operating system intervention |
WO2012093488A1 (ja) * | 2011-01-07 | 2012-07-12 | 富士通株式会社 | スケジューリング方法、およびマルチコアプロセッサシステム |
US8799904B2 (en) | 2011-01-21 | 2014-08-05 | International Business Machines Corporation | Scalable system call stack sampling |
KR101966712B1 (ko) | 2011-03-25 | 2019-04-09 | 인텔 코포레이션 | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 |
CN108376097B (zh) | 2011-03-25 | 2022-04-15 | 英特尔公司 | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 |
EP2689327B1 (en) | 2011-03-25 | 2021-07-28 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
US9128748B2 (en) | 2011-04-12 | 2015-09-08 | Rocketick Technologies Ltd. | Parallel simulation using multiple co-simulators |
US9158592B2 (en) * | 2011-05-02 | 2015-10-13 | Green Hills Software, Inc. | System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor |
CN103649931B (zh) | 2011-05-20 | 2016-10-12 | 索夫特机械公司 | 用于支持由多个引擎执行指令序列的互连结构 |
KR101639853B1 (ko) | 2011-05-20 | 2016-07-14 | 소프트 머신즈, 인크. | 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 자원들 및 상호접속 구조들의 비집중 할당 |
US9026630B2 (en) * | 2011-06-14 | 2015-05-05 | Vmware, Inc. | Managing resources in a distributed system using dynamic clusters |
US8856784B2 (en) | 2011-06-14 | 2014-10-07 | Vmware, Inc. | Decentralized management of virtualized hosts |
US8701107B2 (en) | 2011-06-14 | 2014-04-15 | Vmware, Inc. | Decentralized management of virtualized hosts |
GB2529075A (en) * | 2011-06-16 | 2016-02-10 | Imagination Tech Ltd | Graphics processor with non-blocking concurrent architecture |
CN104750607B (zh) * | 2011-06-17 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 一种选择性恢复测试执行的方法及装置 |
US8695010B2 (en) * | 2011-10-03 | 2014-04-08 | International Business Machines Corporation | Privilege level aware processor hardware resource management facility |
CN102495726B (zh) * | 2011-11-15 | 2015-05-20 | 无锡德思普科技有限公司 | 机会多线程方法及处理器 |
KR101703401B1 (ko) | 2011-11-22 | 2017-02-06 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
WO2013077876A1 (en) | 2011-11-22 | 2013-05-30 | Soft Machines, Inc. | A microprocessor accelerated code optimizer |
FR2984554B1 (fr) * | 2011-12-16 | 2016-08-12 | Sagemcom Broadband Sas | Bus logiciel |
WO2013100959A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Processor accelerator interface virtualization |
WO2013113366A1 (de) * | 2012-01-31 | 2013-08-08 | Siemens Aktiengesellschaft | Verfahren zum betreiben eines prozessors |
JP5894496B2 (ja) * | 2012-05-01 | 2016-03-30 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US9003218B2 (en) | 2012-05-21 | 2015-04-07 | International Business Machines Corporation | Power shifting in multicore platforms by varying SMT levels |
US9223687B2 (en) | 2012-06-15 | 2015-12-29 | International Business Machines Corporation | Determining the logical address of a transaction abort |
US9298631B2 (en) | 2012-06-15 | 2016-03-29 | International Business Machines Corporation | Managing transactional and non-transactional store observability |
US9311101B2 (en) | 2012-06-15 | 2016-04-12 | International Business Machines Corporation | Intra-instructional transaction abort handling |
US9298469B2 (en) | 2012-06-15 | 2016-03-29 | International Business Machines Corporation | Management of multiple nested transactions |
US9262320B2 (en) | 2012-06-15 | 2016-02-16 | International Business Machines Corporation | Tracking transactional execution footprint |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
WO2014151018A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for executing multithreaded instructions grouped onto blocks |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9632825B2 (en) | 2013-03-15 | 2017-04-25 | Intel Corporation | Method and apparatus for efficient scheduling for asymmetrical execution units |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
WO2014151043A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
US10534421B2 (en) | 2013-06-13 | 2020-01-14 | Microsoft Technology Licensing, Llc | Virtual per-processor timers for multiprocessor systems |
US9367325B2 (en) * | 2013-06-29 | 2016-06-14 | Intel Corporation | Common architecture state presentation for processor having processing cores of different types |
US9251071B2 (en) | 2013-08-30 | 2016-02-02 | Apple Inc. | Concurrent inline cache optimization in accessing dynamically typed objects |
US9477628B2 (en) * | 2013-09-28 | 2016-10-25 | Intel Corporation | Collective communications apparatus and method for parallel systems |
GB2519813B (en) * | 2013-10-31 | 2016-03-30 | Silicon Tailor Ltd | Pipelined configurable processor |
US9830206B2 (en) * | 2013-12-18 | 2017-11-28 | Cray Inc. | Cross-thread exception handling |
US9766894B2 (en) | 2014-02-06 | 2017-09-19 | Optimum Semiconductor Technologies, Inc. | Method and apparatus for enabling a processor to generate pipeline control signals |
US9558000B2 (en) | 2014-02-06 | 2017-01-31 | Optimum Semiconductor Technologies, Inc. | Multithreading using an ordered list of hardware contexts |
US9354883B2 (en) | 2014-03-27 | 2016-05-31 | International Business Machines Corporation | Dynamic enablement of multithreading |
US10102004B2 (en) | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
US9195493B2 (en) * | 2014-03-27 | 2015-11-24 | International Business Machines Corporation | Dispatching multiple threads in a computer |
US9223574B2 (en) | 2014-03-27 | 2015-12-29 | International Business Machines Corporation | Start virtual execution instruction for dispatching multiple threads in a computer |
US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
US9772867B2 (en) | 2014-03-27 | 2017-09-26 | International Business Machines Corporation | Control area for managing multiple threads in a computer |
US9417876B2 (en) | 2014-03-27 | 2016-08-16 | International Business Machines Corporation | Thread context restoration in a multithreading computer system |
US9594660B2 (en) | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
US9804846B2 (en) * | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
US9213569B2 (en) | 2014-03-27 | 2015-12-15 | International Business Machines Corporation | Exiting multiple threads in a computer |
GB201406392D0 (en) * | 2014-04-09 | 2014-05-21 | Advanced Risc Mach Ltd | Data processing systems |
US9652262B2 (en) * | 2014-10-09 | 2017-05-16 | The Regents Of The University Of Michigan | Operation parameter control based upon queued instruction characteristics |
US9733987B2 (en) * | 2015-02-20 | 2017-08-15 | Intel Corporation | Techniques to dynamically allocate resources of configurable computing resources |
US9747108B2 (en) * | 2015-03-27 | 2017-08-29 | Intel Corporation | User-level fork and join processors, methods, systems, and instructions |
US20160381050A1 (en) | 2015-06-26 | 2016-12-29 | Intel Corporation | Processors, methods, systems, and instructions to protect shadow stacks |
RU2609744C1 (ru) * | 2015-10-05 | 2017-02-02 | Олег Александрович Козелков | Логический процессор |
US20170139740A1 (en) * | 2015-11-12 | 2017-05-18 | Futurewei Technologies, Inc. | Systems and Methods for Real Time Context Based Isolation and Virtualization |
US10394556B2 (en) | 2015-12-20 | 2019-08-27 | Intel Corporation | Hardware apparatuses and methods to switch shadow stack pointers |
US10459727B2 (en) | 2015-12-31 | 2019-10-29 | Microsoft Technology Licensing, Llc | Loop code processor optimizations |
US10592252B2 (en) | 2015-12-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Efficient instruction processing for sparse data |
US10430580B2 (en) | 2016-02-04 | 2019-10-01 | Intel Corporation | Processor extensions to protect stacks during ring transitions |
US10318356B2 (en) * | 2016-03-31 | 2019-06-11 | International Business Machines Corporation | Operation of a multi-slice processor implementing a hardware level transfer of an execution thread |
US10558463B2 (en) | 2016-06-03 | 2020-02-11 | Synopsys, Inc. | Communication between threads of multi-thread processor |
US10628320B2 (en) | 2016-06-03 | 2020-04-21 | Synopsys, Inc. | Modulization of cache structure utilizing independent tag array and data array in microprocessor |
US10318302B2 (en) * | 2016-06-03 | 2019-06-11 | Synopsys, Inc. | Thread switching in microprocessor without full save and restore of register file |
US10249017B2 (en) * | 2016-08-11 | 2019-04-02 | Intel Corporation | Apparatus and method for shared resource partitioning through credit management |
US10552158B2 (en) | 2016-08-18 | 2020-02-04 | Synopsys, Inc. | Reorder buffer scoreboard having multiple valid bits to indicate a location of data |
US10613859B2 (en) | 2016-08-18 | 2020-04-07 | Synopsys, Inc. | Triple-pass execution using a retire queue having a functional unit to independently execute long latency instructions and dependent instructions |
US10678599B2 (en) * | 2016-09-13 | 2020-06-09 | Rockley Photonics Limited | Hardware efficient system and method for load balancing using a random number |
US10552212B2 (en) * | 2016-11-28 | 2020-02-04 | Arm Limited | Data processing |
US10579499B2 (en) * | 2017-04-04 | 2020-03-03 | International Business Machines Corporation | Task latency debugging in symmetric multiprocessing computer systems |
US10489304B2 (en) | 2017-07-14 | 2019-11-26 | Arm Limited | Memory address translation |
US10592424B2 (en) | 2017-07-14 | 2020-03-17 | Arm Limited | Range-based memory system |
US10534719B2 (en) | 2017-07-14 | 2020-01-14 | Arm Limited | Memory system for a data processing network |
US10353826B2 (en) * | 2017-07-14 | 2019-07-16 | Arm Limited | Method and apparatus for fast context cloning in a data processing system |
US10467159B2 (en) | 2017-07-14 | 2019-11-05 | Arm Limited | Memory node controller |
US10613989B2 (en) | 2017-07-14 | 2020-04-07 | Arm Limited | Fast address translation for virtual machines |
US10565126B2 (en) | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
GB2565338B (en) * | 2017-08-10 | 2020-06-03 | Mips Tech Llc | Fault detecting and fault tolerant multi-threaded processors |
US20190065202A1 (en) | 2017-08-31 | 2019-02-28 | MIPS Tech, LLC | Pointer-size controlled instruction processing |
US11269782B2 (en) * | 2018-03-28 | 2022-03-08 | Intel Corporation | Address space identifier management in complex input/output virtualization environments |
US10884850B2 (en) | 2018-07-24 | 2021-01-05 | Arm Limited | Fault tolerant memory system |
US10740104B2 (en) * | 2018-08-16 | 2020-08-11 | International Business Machines Corporation | Tagging target branch predictors with context with index modification and late stop fetch on tag mismatch |
CN110955503B (zh) * | 2018-09-27 | 2023-06-27 | 深圳市创客工场科技有限公司 | 任务调度方法及装置 |
GB2580327B (en) * | 2018-12-31 | 2021-04-28 | Graphcore Ltd | Register files in a multi-threaded processor |
US11080062B2 (en) | 2019-01-12 | 2021-08-03 | MIPS Tech, LLC | Address manipulation using indices and tags |
GB2581821B (en) * | 2019-02-28 | 2021-06-30 | Advanced Risc Mach Ltd | Conditional yield to hypervisor instruction |
US11474861B1 (en) * | 2019-11-27 | 2022-10-18 | Meta Platforms Technologies, Llc | Methods and systems for managing asynchronous function calls |
US11294709B2 (en) | 2020-02-18 | 2022-04-05 | Nxp Usa, Inc. | System and method of obtaining multiple factor performance gain in processing system |
GB202012418D0 (en) * | 2020-08-10 | 2020-09-23 | Nordic Semiconductor Asa | Processing apparatus |
US11586443B2 (en) * | 2020-10-20 | 2023-02-21 | Micron Technology, Inc. | Thread-based processor halting |
CN115129369A (zh) * | 2021-03-26 | 2022-09-30 | 上海阵量智能科技有限公司 | 命令分发方法、命令分发器、芯片以及电子设备 |
US20230058935A1 (en) * | 2021-08-18 | 2023-02-23 | Micron Technology, Inc. | Managing return parameter allocation |
US20240069984A1 (en) * | 2022-08-30 | 2024-02-29 | Micron Technology, Inc. | Queueing asynchronous events for acceptance by threads executing in a barrel processor |
Family Cites Families (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US578142A (en) * | 1897-03-02 | Jacob fierz | ||
US3665404A (en) * | 1970-04-09 | 1972-05-23 | Burroughs Corp | Multi-processor processing system having interprocessor interrupt apparatus |
EP0256149B1 (en) | 1986-08-13 | 1993-05-26 | Toshiba Kikai Kabushiki Kaisha | Computer system |
JPS6258341A (ja) | 1985-09-03 | 1987-03-14 | Fujitsu Ltd | 入出力割込処理方式 |
US4817051A (en) | 1987-07-02 | 1989-03-28 | Fairchild Semiconductor Corporation | Expandable multi-port random access memory |
US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US5159686A (en) | 1988-02-29 | 1992-10-27 | Convex Computer Corporation | Multi-processor computer system having process-independent communication register addressing |
US5428754A (en) * | 1988-03-23 | 1995-06-27 | 3Dlabs Ltd | Computer system with clock shared between processors executing separate instruction streams |
WO1990014629A2 (en) | 1989-05-26 | 1990-11-29 | Massachusetts Institute Of Technology | Parallel multithreaded data processing system |
US5253308A (en) * | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
US5148538A (en) * | 1989-10-20 | 1992-09-15 | International Business Machines Corporation | Translation look ahead based cache access |
US5247694A (en) * | 1990-06-14 | 1993-09-21 | Thinking Machines Corporation | System and method for generating communications arrangements for routing data in a massively parallel processing system |
US5410710A (en) * | 1990-12-21 | 1995-04-25 | Intel Corporation | Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems |
FR2677474B1 (fr) * | 1991-06-04 | 1993-09-24 | Sextant Avionique | Dispositif permettant d'accroitre les performances d'un noyau d'executif temps reel associe a une structure multiprocesseur pouvant comprendre un nombre eleve de processeurs. |
US5542076A (en) * | 1991-06-14 | 1996-07-30 | Digital Equipment Corporation | Method and apparatus for adaptive interrupt servicing in data processing system |
US5301298A (en) * | 1991-10-11 | 1994-04-05 | Intel Corporation | Processor for multiple cache coherent protocols |
JPH05204656A (ja) | 1991-11-30 | 1993-08-13 | Toshiba Corp | スレッド固有データ保持方法 |
US5515538A (en) | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
CA2100540A1 (en) | 1992-10-19 | 1994-04-20 | Jonel George | System and method for performing resource reconfiguration in a computer system |
US5784589A (en) * | 1993-10-18 | 1998-07-21 | Cyrix Corporation | Distributed free register tracking for register renaming using an availability tracking register associated with each stage of an execution pipeline |
US5758142A (en) | 1994-05-31 | 1998-05-26 | Digital Equipment Corporation | Trainable apparatus for predicting instruction outcomes in pipelined processors |
US5481719A (en) * | 1994-09-09 | 1996-01-02 | International Business Machines Corporation | Exception handling method and apparatus for a microkernel data processing system |
SE9404294D0 (sv) | 1994-12-09 | 1994-12-09 | Ellemtel Utvecklings Ab | sätt och anordning vid telekommunikation |
JP3169779B2 (ja) * | 1994-12-19 | 2001-05-28 | 日本電気株式会社 | マルチスレッドプロセッサ |
US6128720A (en) | 1994-12-29 | 2000-10-03 | International Business Machines Corporation | Distributed processing array with component processors performing customized interpretation of instructions |
US5724565A (en) | 1995-02-03 | 1998-03-03 | International Business Machines Corporation | Method and system for processing first and second sets of instructions by first and second types of processing systems |
US5812811A (en) | 1995-02-03 | 1998-09-22 | International Business Machines Corporation | Executing speculative parallel instructions threads with forking and inter-thread communication |
US5867704A (en) * | 1995-02-24 | 1999-02-02 | Matsushita Electric Industrial Co., Ltd. | Multiprocessor system shaving processor based idle state detection and method of executing tasks in such a multiprocessor system |
US5727203A (en) * | 1995-03-31 | 1998-03-10 | Sun Microsystems, Inc. | Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache |
US5799188A (en) | 1995-12-15 | 1998-08-25 | International Business Machines Corporation | System and method for managing variable weight thread contexts in a multithreaded computer system |
US5835748A (en) * | 1995-12-19 | 1998-11-10 | Intel Corporation | Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file |
US5706514A (en) * | 1996-03-04 | 1998-01-06 | Compaq Computer Corporation | Distributed execution of mode mismatched commands in multiprocessor computer systems |
US5892934A (en) | 1996-04-02 | 1999-04-06 | Advanced Micro Devices, Inc. | Microprocessor configured to detect a branch to a DSP routine and to direct a DSP to execute said routine |
US5944816A (en) | 1996-05-17 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor configured to execute multiple threads including interrupt service routines |
US5790871A (en) * | 1996-05-17 | 1998-08-04 | Advanced Micro Devices | System and method for testing and debugging a multiprocessing interrupt controller |
US5933627A (en) | 1996-07-01 | 1999-08-03 | Sun Microsystems | Thread switch on blocked load or store using instruction thread field |
JP2882475B2 (ja) | 1996-07-12 | 1999-04-12 | 日本電気株式会社 | スレッド実行方法 |
US5812830A (en) * | 1996-11-14 | 1998-09-22 | Hewlett-Packard Company | Debug system with raw mode trigger capability |
US5854922A (en) * | 1997-01-16 | 1998-12-29 | Ford Motor Company | Micro-sequencer apparatus and method of combination state machine and instruction memory |
US5949994A (en) | 1997-02-12 | 1999-09-07 | The Dow Chemical Company | Dedicated context-cycling computer with timed context |
US6314511B2 (en) * | 1997-04-03 | 2001-11-06 | University Of Washington | Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers |
US6067608A (en) * | 1997-04-15 | 2000-05-23 | Bull Hn Information Systems Inc. | High performance mechanism for managing allocation of virtual memory buffers to virtual processes on a least recently used basis |
US6175916B1 (en) | 1997-05-06 | 2001-01-16 | Microsoft Corporation | Common-thread inter-process function calls invoked by jumps to invalid addresses |
US5870597A (en) * | 1997-06-25 | 1999-02-09 | Sun Microsystems, Inc. | Method for speculative calculation of physical register addresses in an out of order processor |
US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6128641A (en) * | 1997-09-12 | 2000-10-03 | Siemens Aktiengesellschaft | Data processing unit with hardware assisted context switching capability |
US5991856A (en) * | 1997-09-30 | 1999-11-23 | Network Associates, Inc. | System and method for computer operating system protection |
US6697935B1 (en) * | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
US5923892A (en) * | 1997-10-27 | 1999-07-13 | Levy; Paul S. | Host processor and coprocessor arrangement for processing platform-independent code |
US6061710A (en) | 1997-10-29 | 2000-05-09 | International Business Machines Corporation | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads |
US6647508B2 (en) | 1997-11-04 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation |
US6014737A (en) * | 1997-11-19 | 2000-01-11 | Sony Corporation Of Japan | Method and system for allowing a processor to perform read bypassing while automatically maintaining input/output data integrity |
US6189083B1 (en) * | 1998-02-26 | 2001-02-13 | Compaq Computer Corporation | Method and apparatus for accessing a cache memory utilization distingushing bit RAMs |
US6088787A (en) | 1998-03-30 | 2000-07-11 | Celestica International Inc. | Enhanced program counter stack for multi-tasking central processing unit |
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US6560626B1 (en) * | 1998-04-02 | 2003-05-06 | Microsoft Corporation | Thread interruption with minimal resource usage using an asynchronous procedure call |
JP3611964B2 (ja) * | 1998-04-16 | 2005-01-19 | 富士通株式会社 | 記憶装置、記憶制御方法及び記憶媒体 |
JP3209205B2 (ja) | 1998-04-28 | 2001-09-17 | 日本電気株式会社 | プロセッサにおけるレジスタ内容の継承装置 |
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6189093B1 (en) | 1998-07-21 | 2001-02-13 | Lsi Logic Corporation | System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register |
US6253306B1 (en) * | 1998-07-29 | 2001-06-26 | Advanced Micro Devices, Inc. | Prefetch instruction mechanism for processor |
US6920634B1 (en) | 1998-08-03 | 2005-07-19 | International Business Machines Corporation | Detecting and causing unsafe latent accesses to a resource in multi-threaded programs |
US6223228B1 (en) | 1998-09-17 | 2001-04-24 | Bull Hn Information Systems Inc. | Apparatus for synchronizing multiple processors in a data processing system |
US6205414B1 (en) * | 1998-10-02 | 2001-03-20 | International Business Machines Corporation | Methodology for emulation of multi-threaded processes in a single-threaded operating system |
EP1145218B1 (en) * | 1998-11-09 | 2004-05-19 | Broadcom Corporation | Display system for blending graphics and video data |
US6952827B1 (en) * | 1998-11-13 | 2005-10-04 | Cray Inc. | User program and operating system interface in a multithreaded environment |
US6286027B1 (en) * | 1998-11-30 | 2001-09-04 | Lucent Technologies Inc. | Two step thread creation with register renaming |
US6205543B1 (en) * | 1998-12-03 | 2001-03-20 | Sun Microsystems, Inc. | Efficient handling of a large register file for context switching |
US7020879B1 (en) | 1998-12-16 | 2006-03-28 | Mips Technologies, Inc. | Interrupt and exception handling for multi-streaming digital processors |
US6401155B1 (en) | 1998-12-22 | 2002-06-04 | Philips Electronics North America Corporation | Interrupt/software-controlled thread processing |
US7111290B1 (en) | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
US7275246B1 (en) * | 1999-01-28 | 2007-09-25 | Ati International Srl | Executing programs for a first computer architecture on a computer of a second architecture |
US6330656B1 (en) * | 1999-03-31 | 2001-12-11 | International Business Machines Corporation | PCI slot control apparatus with dynamic configuration for partitioned systems |
EP1181648A1 (en) | 1999-04-09 | 2002-02-27 | Clearspeed Technology Limited | Parallel data processing apparatus |
JP2000305795A (ja) | 1999-04-20 | 2000-11-02 | Nec Corp | 並列処理装置 |
US6542991B1 (en) | 1999-05-11 | 2003-04-01 | Sun Microsystems, Inc. | Multiple-thread processor with single-thread interface shared among threads |
US6986137B1 (en) | 1999-09-28 | 2006-01-10 | International Business Machines Corporation | Method, system and program products for managing logical processors of a computing environment |
US6493741B1 (en) | 1999-10-01 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit |
US6738796B1 (en) | 1999-10-08 | 2004-05-18 | Globespanvirata, Inc. | Optimization of memory requirements for multi-threaded operating systems |
US6889319B1 (en) | 1999-12-09 | 2005-05-03 | Intel Corporation | Method and apparatus for entering and exiting multiple threads within a multithreaded processor |
US6671795B1 (en) | 2000-01-21 | 2003-12-30 | Intel Corporation | Method and apparatus for pausing execution in a processor or the like |
US20010052053A1 (en) * | 2000-02-08 | 2001-12-13 | Mario Nemirovsky | Stream processing unit for a multi-streaming processor |
US7649901B2 (en) | 2000-02-08 | 2010-01-19 | Mips Technologies, Inc. | Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing |
US6658449B1 (en) * | 2000-02-17 | 2003-12-02 | International Business Machines Corporation | Apparatus and method for periodic load balancing in a multiple run queue system |
US6957432B2 (en) * | 2000-03-21 | 2005-10-18 | Microsoft Corporation | Real-time scheduler |
US20010034751A1 (en) * | 2000-04-21 | 2001-10-25 | Shinichiro Eto | Real-time OS simulator |
US6668308B2 (en) | 2000-06-10 | 2003-12-23 | Hewlett-Packard Development Company, L.P. | Scalable architecture based on single-chip multiprocessing |
US6480845B1 (en) * | 2000-06-14 | 2002-11-12 | Bull Hn Information Systems Inc. | Method and data processing system for emulating virtual memory working spaces |
US20020016869A1 (en) * | 2000-06-22 | 2002-02-07 | Guillaume Comeau | Data path engine |
US6591379B1 (en) | 2000-06-23 | 2003-07-08 | Microsoft Corporation | Method and system for injecting an exception to recover unsaved data |
US6941353B1 (en) | 2000-06-29 | 2005-09-06 | Auran Holdings Pty Ltd | E-commerce system and method relating to program objects |
SE522271C2 (sv) | 2000-07-05 | 2004-01-27 | Ericsson Telefon Ab L M | Förfarande och anordning i kopplingsnod för ett telesystem |
WO2002021323A2 (en) * | 2000-09-08 | 2002-03-14 | Avaz Networks | Hardware function generator support in a dsp |
US6728846B2 (en) | 2000-12-22 | 2004-04-27 | Bull Hn Information Systems Inc. | Method and data processing system for performing atomic multiple word writes |
US6907520B2 (en) * | 2001-01-11 | 2005-06-14 | Sun Microsystems, Inc. | Threshold-based load address prediction and new thread identification in a multithreaded microprocessor |
US20020103847A1 (en) | 2001-02-01 | 2002-08-01 | Hanan Potash | Efficient mechanism for inter-thread communication within a multi-threaded computer system |
US6643759B2 (en) | 2001-03-30 | 2003-11-04 | Mips Technologies, Inc. | Mechanism to extend computer memory protection schemes |
US6671791B1 (en) | 2001-06-15 | 2003-12-30 | Advanced Micro Devices, Inc. | Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms |
JP3702815B2 (ja) * | 2001-07-12 | 2005-10-05 | 日本電気株式会社 | プロセッサ間レジスタ継承方法及びその装置 |
JP3702813B2 (ja) | 2001-07-12 | 2005-10-05 | 日本電気株式会社 | マルチスレッド実行方法及び並列プロセッサシステム |
JP3630118B2 (ja) | 2001-07-12 | 2005-03-16 | 日本電気株式会社 | スレッド終了方法及び装置並びに並列プロセッサシステム |
JP3702814B2 (ja) * | 2001-07-12 | 2005-10-05 | 日本電気株式会社 | マルチスレッド実行方法及び並列プロセッサシステム |
JP3632635B2 (ja) * | 2001-07-18 | 2005-03-23 | 日本電気株式会社 | マルチスレッド実行方法及び並列プロセッサシステム |
US7185183B1 (en) | 2001-08-02 | 2007-02-27 | Mips Technologies, Inc. | Atomic update of CPO state |
US7181600B1 (en) * | 2001-08-02 | 2007-02-20 | Mips Technologies, Inc. | Read-only access to CPO registers |
US7428485B2 (en) * | 2001-08-24 | 2008-09-23 | International Business Machines Corporation | System for yielding to a processor |
US6779065B2 (en) | 2001-08-31 | 2004-08-17 | Intel Corporation | Mechanism for interrupt handling in computer systems that support concurrent execution of multiple threads |
US7487339B2 (en) | 2001-10-12 | 2009-02-03 | Mips Technologies, Inc. | Method and apparatus for binding shadow registers to vectored interrupts |
US6877083B2 (en) | 2001-10-16 | 2005-04-05 | International Business Machines Corporation | Address mapping mechanism for behavioral memory enablement within a data processing system |
US7120762B2 (en) | 2001-10-19 | 2006-10-10 | Wisconsin Alumni Research Foundation | Concurrent execution of critical sections by eliding ownership of locks |
US6957323B2 (en) | 2001-11-14 | 2005-10-18 | Elan Research, Inc. | Operand file using pointers and reference counters and a method of use |
JP2003167748A (ja) * | 2001-11-30 | 2003-06-13 | Fujitsu Ltd | マルチスレッド計算機 |
US7428732B2 (en) * | 2001-12-05 | 2008-09-23 | Intel Corporation | Method and apparatus for controlling access to shared resources in an environment with multiple logical processors |
JP4054572B2 (ja) | 2001-12-17 | 2008-02-27 | キヤノン株式会社 | アプリケーション実行システム |
US20030126416A1 (en) | 2001-12-31 | 2003-07-03 | Marr Deborah T. | Suspending execution of a thread in a multi-threaded processor |
US7127561B2 (en) | 2001-12-31 | 2006-10-24 | Intel Corporation | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
US6925550B2 (en) * | 2002-01-02 | 2005-08-02 | Intel Corporation | Speculative scheduling of instructions with source operand validity bit and rescheduling upon carried over destination operand invalid bit detection |
US7216338B2 (en) | 2002-02-20 | 2007-05-08 | Microsoft Corporation | Conformance execution of non-deterministic specifications for components |
US6922745B2 (en) | 2002-05-02 | 2005-07-26 | Intel Corporation | Method and apparatus for handling locks |
US20040015684A1 (en) | 2002-05-30 | 2004-01-22 | International Business Machines Corporation | Method, apparatus and computer program product for scheduling multiple threads for a processor |
US20030225816A1 (en) | 2002-06-03 | 2003-12-04 | Morrow Michael W. | Architecture to support multiple concurrent threads of execution on an arm-compatible processor |
US20050033889A1 (en) * | 2002-10-08 | 2005-02-10 | Hass David T. | Advanced processor with interrupt delivery mechanism for multi-threaded multi-CPU system on a chip |
US7334086B2 (en) * | 2002-10-08 | 2008-02-19 | Rmi Corporation | Advanced processor with system on a chip interconnect technology |
US6971103B2 (en) | 2002-10-15 | 2005-11-29 | Sandbridge Technologies, Inc. | Inter-thread communications using shared interrupt register |
US7073042B2 (en) * | 2002-12-12 | 2006-07-04 | Intel Corporation | Reclaiming existing fields in address translation data structures to extend control over memory accesses |
US7203823B2 (en) | 2003-01-09 | 2007-04-10 | Sony Corporation | Partial and start-over threads in embedded real-time kernel |
US7152170B2 (en) * | 2003-02-20 | 2006-12-19 | Samsung Electronics Co., Ltd. | Simultaneous multi-threading processor circuits and computer program products configured to operate at different performance levels based on a number of operating threads and methods of operating |
US6977093B2 (en) * | 2003-03-24 | 2005-12-20 | Hung Chien-Lung | Health food processing process using germinated rice to make health food containing natural eatable fibers, GABA, IP6, and probiotic |
EP1467282B1 (en) * | 2003-04-09 | 2008-10-01 | Jaluna SA | Operating systems |
US7093106B2 (en) | 2003-04-23 | 2006-08-15 | International Business Machines Corporation | Register rename array with individual thread bits set upon allocation and cleared upon instruction completion |
US7376954B2 (en) | 2003-08-28 | 2008-05-20 | Mips Technologies, Inc. | Mechanisms for assuring quality of service for programs executing on a multithreaded processor |
US20050050305A1 (en) | 2003-08-28 | 2005-03-03 | Kissell Kevin D. | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
US7711931B2 (en) | 2003-08-28 | 2010-05-04 | Mips Technologies, Inc. | Synchronized storage providing multiple synchronization semantics |
US9032404B2 (en) | 2003-08-28 | 2015-05-12 | Mips Technologies, Inc. | Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor |
US7418585B2 (en) | 2003-08-28 | 2008-08-26 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
WO2005022384A1 (en) | 2003-08-28 | 2005-03-10 | Mips Technologies, Inc. | Apparatus, method, and instruction for initiation of concurrent instruction streams in a multithreading microprocessor |
US7870553B2 (en) | 2003-08-28 | 2011-01-11 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7836450B2 (en) * | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7594089B2 (en) | 2003-08-28 | 2009-09-22 | Mips Technologies, Inc. | Smart memory based synchronization controller for a multi-threaded multiprocessor SoC |
US7849297B2 (en) | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
US7610473B2 (en) | 2003-08-28 | 2009-10-27 | Mips Technologies, Inc. | Apparatus, method, and instruction for initiation of concurrent instruction streams in a multithreading microprocessor |
US6993598B2 (en) | 2003-10-09 | 2006-01-31 | International Business Machines Corporation | Method and apparatus for efficient sharing of DMA resource |
US7558939B2 (en) | 2005-03-08 | 2009-07-07 | Mips Technologies, Inc. | Three-tiered translation lookaside buffer hierarchy in a multithreading microprocessor |
US7600135B2 (en) * | 2005-04-14 | 2009-10-06 | Mips Technologies, Inc. | Apparatus and method for software specified power management performance using low power virtual threads |
US7627770B2 (en) * | 2005-04-14 | 2009-12-01 | Mips Technologies, Inc. | Apparatus and method for automatic low power mode invocation in a multi-threaded processor |
US7689867B2 (en) * | 2005-06-09 | 2010-03-30 | Intel Corporation | Multiprocessor breakpoint |
US7386636B2 (en) * | 2005-08-19 | 2008-06-10 | International Business Machines Corporation | System and method for communicating command parameters between a processor and a memory flow controller |
US7657683B2 (en) * | 2008-02-01 | 2010-02-02 | Redpine Signals, Inc. | Cross-thread interrupt controller for a multi-thread processor |
-
2004
- 2004-08-27 US US10/928,746 patent/US7610473B2/en not_active Expired - Lifetime
- 2004-08-27 JP JP2006524900A patent/JP4740851B2/ja not_active Expired - Fee Related
- 2004-08-27 JP JP2006524929A patent/JP4818919B2/ja not_active Expired - Fee Related
- 2004-08-27 EP EP04786607A patent/EP1660993B1/en not_active Expired - Lifetime
- 2004-08-27 EP EP04782455A patent/EP1660998A1/en not_active Ceased
- 2004-08-27 US US10/929,097 patent/US7424599B2/en active Active
- 2004-08-27 US US10/929,102 patent/US7694304B2/en active Active
- 2004-08-27 US US10/929,342 patent/US7321965B2/en not_active Expired - Lifetime
- 2004-08-27 JP JP2006524868A patent/JP4818918B2/ja not_active Expired - Fee Related
- 2004-08-27 WO PCT/US2004/028108 patent/WO2005022381A2/en active Application Filing
- 2004-08-27 DE DE602004017879T patent/DE602004017879D1/de not_active Expired - Lifetime
- 2004-08-27 EP EP04782325.7A patent/EP1658563B1/en not_active Expired - Lifetime
-
2007
- 2007-12-03 US US11/949,603 patent/US7676660B2/en not_active Expired - Lifetime
-
2009
- 2009-10-23 US US12/605,201 patent/US8145884B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1660993B1 (en) | 2008-11-19 |
US7424599B2 (en) | 2008-09-09 |
JP2007504535A (ja) | 2007-03-01 |
US7321965B2 (en) | 2008-01-22 |
EP1658563B1 (en) | 2013-06-05 |
US7694304B2 (en) | 2010-04-06 |
US7610473B2 (en) | 2009-10-27 |
JP2007504536A (ja) | 2007-03-01 |
US20050125629A1 (en) | 2005-06-09 |
US8145884B2 (en) | 2012-03-27 |
US7676660B2 (en) | 2010-03-09 |
US20080140998A1 (en) | 2008-06-12 |
US20050240936A1 (en) | 2005-10-27 |
WO2005022381A2 (en) | 2005-03-10 |
US20050120194A1 (en) | 2005-06-02 |
EP1660993A2 (en) | 2006-05-31 |
EP1658563A1 (en) | 2006-05-24 |
US20050125795A1 (en) | 2005-06-09 |
DE602004017879D1 (de) | 2009-01-02 |
WO2005022381A3 (en) | 2005-06-16 |
JP2007504539A (ja) | 2007-03-01 |
US20100115243A1 (en) | 2010-05-06 |
EP1660998A1 (en) | 2006-05-31 |
JP4818919B2 (ja) | 2011-11-16 |
JP4818918B2 (ja) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4740851B2 (ja) | 仮想プロセッサリソースの動的構成のための機構体 | |
US7418585B2 (en) | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts | |
US8266620B2 (en) | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts | |
US7870553B2 (en) | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts | |
US7376954B2 (en) | Mechanisms for assuring quality of service for programs executing on a multithreaded processor | |
US20050050305A1 (en) | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor | |
US20060161421A1 (en) | Software emulation of directed exceptions in a multithreading processor | |
US20060161921A1 (en) | Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor | |
WO2005022385A1 (en) | Mechanisms for dynamic configuration of virtual processor resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20061026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090303 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090609 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100622 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101022 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20101207 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110502 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4740851 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
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 |