JP4978914B2 - マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム - Google Patents
マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム Download PDFInfo
- Publication number
- JP4978914B2 JP4978914B2 JP2007273186A JP2007273186A JP4978914B2 JP 4978914 B2 JP4978914 B2 JP 4978914B2 JP 2007273186 A JP2007273186 A JP 2007273186A JP 2007273186 A JP2007273186 A JP 2007273186A JP 4978914 B2 JP4978914 B2 JP 4978914B2
- Authority
- JP
- Japan
- Prior art keywords
- sequencer
- managed
- processor
- application
- operating system
- 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
Images
Landscapes
- Microcomputers (AREA)
Description
102 コンピュータ
103 プロセッサ
104 オペレーティングシステム
105 プラットフォームハードウェア
106 アプリケーション
108 ソフトウェアレイヤ
110 OS管理されるシーケンサ
112 アプリケーション管理されるシーケンサ
Claims (18)
- アプリケーションにより管理されるシーケンサおよびオペレーティングシステムにより管理されるシーケンサのうちの少なくとも1つが、一のマルチプロセッサシステムにおいて実行される前記アプリケーションにより管理されるシーケンサおよびオペレーティングシステムにより管理されるシーケンサの両方に対して特権レベルが移行する状態を、プロセッサアブストラクションレイヤにより実施されたインタフェイスを通じて検出する工程と、
前記マルチプロセッサシステムにより実行されるドライバが、前記オペレーティングシステムにより管理されるシーケンサおよび前記アプリケーションにより管理されるシーケンサにメモリを割り当てる工程と、
前記ドライバが前記プロセッサアブストラクションレイヤを実行して、前記オペレーティングシステムにより管理されるシーケンサにおける一の特権レベルを初期化する工程と、
前記状態が前記アプリケーションにより管理されるシーケンサによりもたらされる場合に、前記アプリケーションにより管理されるシーケンサが、前記検出された状態に応答する複数のイベントハンドラを含む一のプロセッサアブストラクションレイヤハンドラに、前記アプリケーションにより管理されるシーケンサの実行をリダイレクトするプロキシ実行処理を実行する工程と、
前記状態が前記オペレーティングシステムにより管理されるシーケンサによりもたらされ、かつ、前記状態が一のモニタリングされるスレッドにおいて発生していない場合、前記オペレーティングシステムにより管理されるシーケンサが、一の割り込みベクタテーブルにより指し示される一の実行ロケーションにジャンプする工程と、
前記状態が前記オペレーティングシステムにより管理されるシーケンサによりもたらされ、かつ、前記状態が一のモニタリングされるスレッドにおいて発生した場合、前記オペレーティングシステムにより管理されるシーケンサが、前記アプリケーションにより管理されるシーケンサを中断させる行程と、
を含む方法。 - 前記割り当てられるメモリは、プロセッサグローバルメモリ、プロセッサローカルメモリ、スレッドグローバルメモリ、およびスレッドローカルメモリから構成されるグループから選択される請求項1に記載の方法。
- 前記オペレーティングシステムにより管理されるシーケンサは、前記オペレーティングシステムにより管理されるシーケンサにおける一の第1のポインタを、一の第1のシーケンサグループに関連付けられる一の前記プロセッサグローバルメモリの領域を指すように初期化する工程と、
前記オペレーティングシステムにより管理されるシーケンサは、前記オペレーティングシステムにより管理されるシーケンサにおける一の第2のポインタを、一の第1の前記プロセッサローカルメモリの領域を指すように初期化する工程と、
前記アプリケーションにより管理されるシーケンサは、前記アプリケーションにより管理されるシーケンサにおける一の第1のポインタを、一の第2のシーケンサグループに関連付けられる一の前記プロセッサグローバルメモリの領域を指すように初期化する工程と、
前記アプリケーションにより管理されるシーケンサは、前記アプリケーションにより管理されるシーケンサにおける一の第2のポインタを、一の第2の前記プロセッサローカルメモリの領域を指すように初期化する工程と、
をさらに含む請求項2に記載の方法。 - 前記状態は、前記マルチプロセッサシステムにおける一の第1のプロセッサから一のプロセッサ間割り込み信号を受信することを含む請求項1から3のいずれかに記載の方法。
- 前記状態は、一のリング移行イベントを検出することを含む請求項4に記載の方法。
- 前記リング移行イベントは、リング0からリング3への移行を含む請求項5に記載の方法。
- 前記リング移行イベントは、リング3からリング0への移行を含む請求項5または6に記載の方法。
- 前記プロセッサアブストラクションレイヤにより実施された前記インタフェイスは、前記マルチプロセッサシステムの少なくとも1つのプロセッサと前記オペレーティングシステムとの間に機能的に存在する一のファームウェアレイヤを含み、
前記オペレーティングシステムは、前記アプリケーションにより管理されるシーケンサの存在を認識しない請求項4から7のいずれかに記載の方法。 - 前記少なくとも1つのプロセッサは、一のIA−64プロセッサを含み、
前記ファームウェアレイヤは、前記IA−64プロセッサのアーキテクチャにより定義される一のプロセッサアブストラクションレイヤを含む請求項8に記載の方法。 - 一の仮想ハッシュページテーブルウォーカは、前記オペレーティングシステムにより管理されるシーケンサと前記アプリケーションにより管理されるシーケンサの両方により使用される一のトランスレーションルックアサイドバッファをエントリするOSベースのキャッシュを検査し、前記エントリが見つかると、前記トランスレーションルックアサイドバッファ内に前記エントリを自動挿入する工程をさらに含む請求項1から9のいずれかに記載の方法。
- 一のマルチプロセッサプラットフォームにおいて実行される一のオペレーティングシステムの1つ以上のスレッドを処理する一のオペレーティングシステムにより管理されるシーケンサと、
前記マルチプロセッサプラットフォーム上で1つ以上のスレッドのアプリケーションプログラムを処理する一のアプリケーションにより管理されるシーケンサと、
前記オペレーティングシステムおよび前記アプリケーションプログラムのコンテンツを具現化する1つ以上のページを保存するよう前記アプリケーションにより管理されるシーケンサおよび前記オペレーティングシステムにより管理されるシーケンサに割り当てられる一のメモリ空間と、
前記アプリケーションにより管理されるシーケンサによりもたらされる状態を検出した場合に、前記検出された状態のプロキシ実行処理を実行して、複数のハードウェアイベントハンドラを含む一のプロセッサアブストラクションレイヤハンドラに、前記アプリケーションにより管理されるシーケンサの実行をリダイレクトし、
前記状態が前記オペレーティングシステムにより管理されるシーケンサによりもたらされ、かつ、前記状態が一のモニタリングされるスレッドにおいて発生していない場合、一の割り込みベクタテーブルにより指し示される一の実行ロケーションにジャンプし、
前記状態が前記オペレーティングシステムにより管理されるシーケンサによりもたらされ、かつ、前記状態が一のモニタリングされるスレッドにおいて発生した場合、前記アプリケーションにより管理されるシーケンサを中断させる、
一のファームウェアレイヤと、
を含むシステム。 - 前記マルチプロセッサプラットフォームは、一のIA−64プロセッサを含み、
前記ファームウェアレイヤは、前記IA−64プロセッサのアーキテクチャにより定義される一のプロセッサアブストラクションレイヤを含む請求項11に記載のシステム。 - 前記メモリ空間は、プロセッサグローバルメモリ、プロセッサローカルメモリ、スレッドグローバルメモリ、およびスレッドローカルメモリから構成されるグループから選択される請求項12に記載のシステム。
- 前記検出状態は、前記プロセッサが前記マルチプロセッサプラットフォームにおける別のプロセッサからの一のプロセッサ間割り込み信号を受信する状態と、前記プロセッサが一のリング移行イベントを検出する状態とから構成されるグループから選択される請求項11に記載のシステム。
- 前記リング移行イベントは、リング0からリング3への移行と、リング3からリング0への移行とから構成されるグループから選択される請求項14に記載のシステム。
- 前記オペレーティングシステムにより管理されるシーケンサおよび前記アプリケーションにより管理されるシーケンサにより使用される一のトランスレーションルックアサイドバッファをさらに含み、
一の仮想ハッシュページテーブルウォーカは、前記トランスレーションルックアサイドバッファをエントリするOSベースのキャッシュを検査し、前記エントリが見つかると、前記トランスレーションルックアサイドバッファ内に前記エントリを自動挿入する請求項15に記載のシステム。 - 複数の命令が保存され、前記複数の命令が一のシステムにおける一のプロセッサによって実行されることで、一のシステムにおける一のプロセッサに複数のオペレーションを実行させる機械可読媒体であって、
前記オペレーションは、
一のアプリケーションにより管理されるシーケンサが、一のマルチプロセッサシステムにおいて実行される前記アプリケーションにより管理されるシーケンサおよびオペレーティングシステムにより管理されるシーケンサの両方に対して特権レベルが移行する状態を、プロセッサアブストラクションレイヤで実施されるインタフェイスを通じて検出するオペレーションと、
前記マルチプロセッサシステムにおける一のオペレーティングシステムにより管理されるシーケンサおよび前記アプリケーションにより管理されるシーケンサにメモリを割り当てるオペレーションと、
前記オペレーティングシステムにより管理されるシーケンサにおける一の特権レベルを初期化するオペレーションと、
前記状態が前記アプリケーションにより管理されるシーケンサによりもたらされる場合に、前記検出された状態のプロキシ実行処理を実行するオペレーションと、
前記プロキシ実行処理は、前記アプリケーションにより管理されるシーケンサの実行を、前記検出された状態に応答する、複数のハードウェアイベントハンドラを含む一のプロセッサアブストラクションレイヤハンドラにリダイレクトするオペレーションを含み、
前記状態が前記オペレーティングシステムにより管理されるシーケンサによりもたらされ、かつ、前記状態が一のモニタリングされるスレッドにおいて発生していない場合、一の割り込みベクタテーブルにより指し示される一の実行ロケーションにジャンプするオペレーションと、
前記状態が前記オペレーティングシステムにより管理されるシーケンサによりもたらされ、かつ、前記状態が一のモニタリングされるスレッドにおいて発生した場合、前記アプリケーションにより管理されるシーケンサを中断させるオペレーションと、
を含む、機械可読媒体。 - 一の第1のシーケンサグループに関連付けられる一のグローバル領域を指すよう前記オペレーティングシステムにより管理されるシーケンサにおける一の第1のポインタを初期化するオペレーションと、
一の第1のプロセッサローカルメモリ領域を指すよう前記オペレーティングシステムにより管理されるシーケンサにおける一の第2のポインタを初期化するオペレーションと、
一の第2のシーケンサグループに関連付けられる一のグローバル領域を指すよう前記アプリケーションにより管理されるシーケンサにおける一の第1のポインタを初期化するオペレーションと、
一の第2のプロセッサローカルメモリ領域に関連付けられる一のグローバル領域を指すよう前記アプリケーションにより管理されるシーケンサにおける一の第2のポインタを初期化するオペレーションと、
を実行する複数の命令をさらに含む請求項17に記載の機械可読媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007273186A JP4978914B2 (ja) | 2007-10-19 | 2007-10-19 | マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007273186A JP4978914B2 (ja) | 2007-10-19 | 2007-10-19 | マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009104259A JP2009104259A (ja) | 2009-05-14 |
JP4978914B2 true JP4978914B2 (ja) | 2012-07-18 |
Family
ID=40705892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007273186A Expired - Fee Related JP4978914B2 (ja) | 2007-10-19 | 2007-10-19 | マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4978914B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8447962B2 (en) * | 2009-12-22 | 2013-05-21 | Intel Corporation | Gathering and scattering multiple data elements |
CN106716983B (zh) * | 2015-02-10 | 2019-06-18 | 京瓷办公信息系统株式会社 | 通信终端设备以及通信系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112005003343B4 (de) * | 2004-12-30 | 2011-05-19 | Intel Corporation, Santa Clara | Mechanismus für eine befehlssatzbasierte Threadausführung an mehreren Befehlsablaufsteuerungen |
US8028295B2 (en) * | 2005-09-30 | 2011-09-27 | Intel Corporation | Apparatus, system, and method for persistent user-level thread |
-
2007
- 2007-10-19 JP JP2007273186A patent/JP4978914B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009104259A (ja) | 2009-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100940335B1 (ko) | 멀티프로세서에서 복수의 인스트럭션 스트림/복수의 데이터 스트림 확장을 인에이블링하는 방법, 시스템 및 기계-판독 가능한 매체 | |
Hedayati et al. | Hodor:{Intra-Process} isolation for {High-Throughput} data plane libraries | |
US8689215B2 (en) | Structured exception handling for application-managed thread units | |
US9785506B2 (en) | Reducing likelihood of concurrency error in virtualized computing environment | |
US8380907B2 (en) | Method, system and computer program product for providing filtering of GUEST2 quiesce requests | |
US9626187B2 (en) | Transactional memory system supporting unbroken suspended execution | |
US7966615B2 (en) | Transitioning of virtual machine from replay mode to live mode | |
US7356735B2 (en) | Providing support for single stepping a virtual machine in a virtual machine environment | |
US8140834B2 (en) | System, method and computer program product for providing a programmable quiesce filtering register | |
EP1630670A2 (en) | Virtual machine environment in a computer system | |
US20030135719A1 (en) | Method and system using hardware assistance for tracing instruction disposition information | |
US11301283B1 (en) | Virtualization extension modules | |
CN111133418A (zh) | 在例外屏蔽更新指令之后允许未中止的事务处理 | |
JP4978914B2 (ja) | マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム | |
EP4254177A1 (en) | Synchronous microthreading | |
US20230315444A1 (en) | Synchronous microthreading | |
US20230315455A1 (en) | Synchronous microthreading | |
US20230315460A1 (en) | Synchronous microthreading | |
US20230315461A1 (en) | Synchronous microthreading | |
US20230315445A1 (en) | Synchronous microthreading | |
US20230315572A1 (en) | Synchronous microthreading | |
US20230315462A1 (en) | Synchronous microthreading | |
US20230315459A1 (en) | Synchronous microthreading | |
US20060122821A1 (en) | Method for detecting and processing sensitive non-privileged processor instructions in a virtual machine computer system | |
JP2012108938A (ja) | コンピュータのメモリを参照する方法およびコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100615 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110829 |
|
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: 20120321 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120409 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150427 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
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 |
|
LAPS | Cancellation because of no payment of annual fees |