JP5801372B2 - システム管理モードのためのプロセッサにおける状態記憶の提供 - Google Patents
システム管理モードのためのプロセッサにおける状態記憶の提供 Download PDFInfo
- Publication number
- JP5801372B2 JP5801372B2 JP2013250360A JP2013250360A JP5801372B2 JP 5801372 B2 JP5801372 B2 JP 5801372B2 JP 2013250360 A JP2013250360 A JP 2013250360A JP 2013250360 A JP2013250360 A JP 2013250360A JP 5801372 B2 JP5801372 B2 JP 5801372B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- smm
- state
- core
- thread
- 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.)
- Active
Links
- 241000721047 Danaus plexippus Species 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 229910003460 diamond Inorganic materials 0.000 description 4
- 239000010432 diamond Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- 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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- 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/3017—Runtime instruction translation, e.g. macros
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
OR(LONG_FLOW_INDICATION,SMI_INHIBITED_INDICATION,IN_SMM_INDICATION)
ここで、LONG_FLOW_INDICATIONは、各ビットが対応するスレッドが長いフロー動作中にあるかどうかを示すビット・ベクトルを記憶する状態レジスタから得られる。SMI_INHIBITED_INDICATIONは、各ビットが対応するスレッドがSMI禁止状態にあるかどうかを示すビット・ベクトルを記憶する状態レジスタから得られる。IN_SMM_INDICATIONはSMMインジケータ・マップである。このビットごとのORの結果であるACCOUNTEDは、たとえばSMRAM中のビットマップに記憶されてもよい。この解析後、制御は菱形450に移り、ACCOUNTED状態〔説明が付けられたかどうかの状態〕がすべての存在するスレッドについてアクティブであるかどうかが判定されてもよい(菱形450)。これは、ACCOUNTED演算の結果と存在マップとの間の比較に基づいて決定できる。もしそうでない場合には、制御はもとのブロック440に移る。それ以外の場合には、制御はブロック455に移り、SMIイベントが処理されうる。こうして、モナーク・スレッドは所望されるSMMコードを実行しうる。モナーク・スレッドによって実行されるSMMの終結時に、制御はブロック460に移る。ブロック460では、ACCOUNTED状態およびSMMインジケータ・マップがリセットされてもよい(ブロック460)。すなわち、モナーク・スレッドはこれら両方のビットマップにおける値をリセットしてもよい。次いで、モナーク・スレッドは他の論理プロセッサに、SMIから復帰してもよいことを合図してもよい(ブロック465)。このようにして、他のスレッドは待ちループから解放される。こうして、ブロック475において、すべてのスレッドがSMMから復帰してもよい。図4の実施形態ではこの特定の実装をもって示されているが、本発明の範囲はこの点に関して限定されるものではない。
〔態様1〕
命令を実行し、システム管理モード(SMM)にはいるプロセッサ・コア内の論理プロセッサを有する装置であって、SMMにはいる際、前記論理プロセッサは、前記論理プロセッサについての前記プロセッサ・コアの状態記憶に存在しているアクティブな状態を前記論理プロセッサについての前記プロセッサ・コアの記憶ユニットに記憶し、SMMに関連する値を前記状態記憶中に挿入することによってSMM実行環境をセットアップし、
前記論理プロセッサが、システム管理ランダム・アクセス・メモリ(SMRAM)にではなく、前記記憶ユニットに、前記アクティブな状態を記憶できるようにされていることを示すインジケータを記憶する第一の状態レジスタをさらに有する、
装置。
〔態様2〕
前記第一の状態レジスタが、SMM外では変更可能でない、態様1記載の装置。
〔態様3〕
前記プロセッサ・コアが、前記SMRAMに記憶されているSMMコードを実行する、態様1記載の装置。
〔態様4〕
SMMがメモリ・エラーを解決するものであり、前記プロセッサ・コアが不揮発性メモリから復元SMMコードを取得するのであって、前記SMRAMから前記SMMコードを取得するのではない、態様3記載の装置。
〔態様5〕
前記プロセッサ・コアの前記論理プロセッサが長いフローの動作中であることを示すインジケータを記憶する第二の状態レジスタをさらに有しており、長いフローの動作とは少なくとも103クロックかかる動作である、態様1記載の装置。
〔態様6〕
前記プロセッサ・コアの前記論理プロセッサがシステム管理割り込み(SMI)禁止状態にあることを示すインジケータを記憶する第三の状態レジスタをさらに有する、態様5記載の装置。
〔態様7〕
SMMにはいった前記プロセッサ・コアの各論理プロセッサの指標を記憶するSMMインジケータ・マップをさらに有する、態様6記載の装置。
〔態様8〕
前記第一、第二および第三の状態レジスタがSMM外では書き込み不能である、態様6記載の装置。
〔態様9〕
命令を実行し、システム管理モード(SMM)にはいるプロセッサ・コア内の論理プロセッサを有する装置であって、SMMにはいる際、前記論理プロセッサは、前記論理プロセッサについての前記プロセッサ・コアの状態記憶に存在しているアクティブな状態を前記論理プロセッサについての前記プロセッサ・コアの記憶ユニットに記憶し、SMMに関連する値を前記状態記憶中に挿入することによってSMM実行環境をセットアップし、
前記プロセッサ・コアが複数の論理プロセッサを含み、
当該方法が、前記プロセッサ・コアのすべての論理プロセッサがSMMはいることなく、SMM動作を実行するモナーク・プロセッサをさらに有する、
装置。
〔態様10〕
前記モナーク・プロセッサは、前記プロセッサ・コアの論理プロセッサが長いフローの動作中であることを示す第一の状態レジスタ、前記プロセッサ・コアの論理プロセッサがSMI禁止状態にあることを示す第二の状態レジスタおよびSMMにはいった前記プロセッサ・コアの各論理プロセッサを示すSMMインジケータ・マップにアクセスし、それに基づいて、前記論理プロセッサのすべてが集結を実行することなく、要求されたSMM動作を実行するかどうかを決定し、長いフローの動作とは少なくとも103クロックかかる動作である、態様9記載の装置。
〔態様11〕
前記モナーク・プロセッサは、前記プロセッサ・コアの各論理プロセッサがSMMにはいった、長いフローの動作中であるまたはSMI禁止状態にある場合、前記論理プロセッサのすべてが前記集結を実行したかどうかにかかわりなく、前記要求されたSMM動作を実行する、態様10記載の装置。
〔態様12〕
システム管理割り込み(SMI)イベントに応答して、プロセッサ上で実行中のすべてのスレッドがシステム管理モード(SMM)集結状態にはいったかどうかを判定する段階と;
もしまだである場合、残っているスレッドが、長いフローの動作を実行中であるまたはSMI禁止状態にあるかどうかを判定し、もしそうであれば、前記残っているスレッドが前記長いフローの動作を実行するまたは前記SMI禁止状態にある間に、モナーク・スレッドを使って、前記SMIイベントを処理し、そうでなければ、前記残っているスレッドがSMM集結状態にはいるのを待ってから前記SMIイベントを処理する段階とを含み、長いフローの動作とは少なくとも103クロックかかる動作である、
方法。
〔態様13〕
SMM集結状態にはいる各スレッドについて、SMMインジケータ・マップ内のインジケータをセットする段階をさらに含む、態様12記載の方法。
〔態様14〕
スレッドが長いフローの動作中であることを示すよう、前記プロセッサの第一の状態レジスタのインジケータを設定する段階と;
スレッドがSMI禁止状態にあることを示すよう、前記プロセッサの第二の状態レジスタのインジケータを設定する段階とをさらに含む、
態様13記載の方法。
〔態様15〕
前記判定する処理が、前記SMMインジケータ・マップと、前記第一の状態レジスタと、前記第二の状態レジスタとの間のビットごとのOR演算を実行することを含む、態様14記載の方法。
〔態様16〕
スレッドがSMMにはいる際、前記モナーク・スレッドが、前記プロセッサの状態記憶に存在するアクティブな状態を、前記プロセッサの記憶ユニット中に記憶し、SMM状態を前記状態記憶に記憶する、態様12記載の方法。
〔態様17〕
第一のプロセッサと、第二のプロセッサと、動的ランダム・アクセス・メモリ(DRAM)とを有するシステムであって:
前記第一のプロセッサは、命令を実行しシステム管理モード(SMM)にはいる第一のコアと、前記第一のコアで実行されているスレッドが長いフローの動作中であるかどうかを示す第一のインジケータと、前記スレッドがシステム管理割り込み(SMI)禁止状態にあるかどうかを示す第二のインジケータと、記憶ユニットとを有し、SMMにはいる際、前記第一のコアは前記第一のコアの状態記憶に存在するアクティブな状態を前記記憶ユニット中に記憶し、SMM実行状態を前記状態記憶中に記憶し、前記記憶ユニットはSMMの間前記アクティブな状態を記憶するのに専用であり、
前記第二のプロセッサは、命令を実行しSMMにはいる第二のコアと、前記第二のコアで実行されている第二のスレッドが長いフローの動作中であるかどうかを示す第一のインジケータと、前記第二のスレッドがSMI禁止状態にあるかどうかを示す第二のインジケータと、第二の記憶ユニットとを有し、SMMにはいる際、前記第二のコアは前記第二のコアの状態記憶に存在するアクティブな状態を前記第二の記憶ユニット中に記憶し、SMM実行状態を前記状態記憶中に記憶し、前記第二の記憶ユニットはSMMの間前記アクティブな状態を記憶するのに専用であり、
前記DRAMは前記第一および第二のプロセッサに結合されており、前記DRAMの一部は当該システムのためのシステム管理ランダム・アクセス・メモリ(SMRAM)であり、
長いフローの動作とは少なくとも103クロックかかる動作である、
システム。
〔態様18〕
前記DRAMが非一様メモリ・アーキテクチャ(NUMA)において結合されており、前記第二のプロセッサは前記DRAMと前記第一のプロセッサを通じて通信する、態様17記載のシステム。
〔態様19〕
前記第二のプロセッサが、SMI信号に応答して前記SMRAMに前記アクティブな状態を記憶せず、その代わり、前記アクティブな状態を前記第二の記憶ユニットに記憶する、態様17記載のシステム。
〔態様20〕
前記第一のプロセッサおよび前記第二のプロセッサがそれぞれ少なくとも一つの論理プロセッサを含み、前記第一および第二のプロセッサの複数の論理プロセッサがSMMにはいったが前記第一および第二のプロセッサの少なくとも一つの論理プロセッサがSMMにはいっていない状態後にSMM動作を実行するモナーク・プロセッサを含む、態様17記載のシステム。
〔態様21〕
前記少なくとも一つの論理プロセッサが長いフローの動作中であるまたはSMI禁止状態にある、態様20記載のシステム。
〔態様22〕
態様20記載のシステムであって、前記モナーク・プロセッサが、前記第一のプロセッサのいずれかの論理プロセッサが長いフローの動作中であるかどうかを示す第一のビットマップ、前記第一のプロセッサのいずれかの論理プロセッサがSMI禁止状態にあるかどうかを示す第二のビットマップおよび前記第一のプロセッサの各論理プロセッサがSMM集結状態にはいったかどうかを示す第三のビットマップにアクセスし、それに基づいて、前記少なくとも一つの論理プロセッサがSMM集結状態にはいっていないときにSMM集結状態動作を実行するかどうかを決定する、システム。
Claims (18)
- コアのアクティブな状態を記憶する記憶ユニットと;
命令を実行し、システム管理モード(SMM)にはいる前記コアとを有するプロセッサであって、前記コアは前記記憶ユニットに結合されており、
前記コアが、前記コアの状態記憶に存在しているアクティブな状態を、システム管理ランダム・アクセス・メモリ(SMRAM)にではなく前記記憶ユニットに記憶できるようにされていることを示すインジケータを記憶する第一の状態レジスタを含む複数の状態および構成設定レジスタを前記コアは含み、
SMMにはいる際、前記コアは、前記アクティブな状態を前記記憶ユニットに記憶し、SMMに関連する値を前記状態記憶中に挿入することによってSMM実行環境をセットアップする、
プロセッサ。 - 前記第一の状態レジスタが、SMM外では変更可能でない、請求項1記載のプロセッサ。
- 前記コアが、前記SMRAMに記憶されているSMMコードを実行する、請求項1記載のプロセッサ。
- SMMがメモリ・エラーを解決するとき、前記コアが不揮発性メモリから復元SMMコードを取得するのであって、前記SMRAMから前記SMMコードを取得するのではない、請求項3記載のプロセッサ。
- 前記複数の状態および構成設定レジスタが、前記コアの論理プロセッサが長いフローの動作中であることを示すインジケータを記憶する第二の状態レジスタをさらに有しており、長いフローの動作とは少なくとも103クロックかかる動作である、請求項1記載のプロセッサ。
- 前記複数の状態および構成設定レジスタが、前記コアの前記論理プロセッサがシステム管理割り込み(SMI)禁止状態にあることを示すインジケータを記憶する第三の状態レジスタをさらに有する、請求項5記載のプロセッサ。
- SMMにはいった前記コアの各論理プロセッサの指標を記憶するSMMインジケータ・マップをさらに有する、請求項6記載のプロセッサ。
- 前記第一、第二および第三の状態レジスタがSMM外では書き込み不能である、請求項6記載のプロセッサ。
- プロセッサであって:
フロントエンド・ユニットと;
前記フロントエンド・ユニットに結合された複数のレジスタ・ファイルと;
前記フロントエンド・ユニットに結合された複数のレジスタ・セットであって、各レジスタ・セットは、当該プロセッサが、システム管理モード(SMM)にはいる際、当該プロセッサの記憶ユニット中の前記複数のレジスタ・ファイルの一つに記憶されているアクティブな状態を記憶できるようにされていることを示すインジケータを記憶する第一のレジスタを含む、複数のレジスタ・セットと;
命令を実行する複数の実行ユニットと;
当該プロセッサがSMMにあるときに前記アクティブな状態を記憶する前記記憶ユニットとを有する、
プロセッサ。 - 前記第一のレジスタが、SMM外では変更可能でない、請求項9記載のプロセッサ。
- 当該プロセッサが、当該プロセッサに結合されているシステム管理ランダム・アクセス・メモリ(SMRAM)に記憶されているSMMコードを実行する、請求項9記載のプロセッサ。
- SMMがメモリ・エラーを解決するとき、当該プロセッサが不揮発性メモリから復元SMMコードを取得するのであって、前記SMRAMから前記SMMコードを取得するのではない、請求項11記載のプロセッサ。
- 前記記憶ユニットが静的ランダム・アクセス・メモリである、請求項9記載のプロセッサ。
- 当該プロセッサがさらに、前記複数の実行ユニットにおいて実行される命令をリタイアさせるリタイア・ユニットを有する、請求項9記載のプロセッサ。
- 前記プロセッサが、複数のコアと、統合メモリ・コントローラと、共有されるキャッシュ・メモリとを含むマルチコア・プロセッサである、請求項9記載のプロセッサ。
- システム管理割り込み(SMI)イベントに応答して、プロセッサ上で実行中のすべてのスレッドがシステム管理モード(SMM)集結状態にはいったかどうかを判定する段階と;
もしまだである場合、残っているスレッドが、選択された命令の集合の一つを実行中であるまたは選択されたプロセッサ状態にあるかどうかを判定し、もしそうであれば、前記残っているスレッドが前記選択された命令の前記一つを実行するまたは前記選択されたプロセッサ状態にある間に、モナーク・スレッドを使って、前記SMIイベントを処理し、そうでなければ、前記残っているスレッドがSMM集結状態にはいるのを待ってから前記SMIイベントを処理する段階とを含む方法であって、
当該方法がさらに、
SMM集結状態にはいる各スレッドについて、SMMインジケータ・マップ内のインジケータをセットする段階と;
スレッドが前記選択された命令の前記一つを実行中であることを示すよう、前記プロセッサの第一の状態レジスタのインジケータを設定する段階と;
スレッドが前記選択されたプロセッサ状態にあることを示すよう、前記プロセッサの第二の状態レジスタのインジケータを設定する段階とを含む、
方法。 - 前記判定する処理が、前記SMMインジケータ・マップと、前記第一の状態レジスタと、前記第二の状態レジスタとの間のビットごとのOR演算を実行することを含む、請求項16記載の方法。
- スレッドがSMMにはいる際、前記モナーク・スレッドが、前記プロセッサの状態記憶に存在するアクティブな状態を、前記プロセッサの記憶ユニット中に記憶し、SMM状態を前記状態記憶に記憶する、請求項16記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/550,737 US8578138B2 (en) | 2009-08-31 | 2009-08-31 | Enabling storage of active state in internal storage of processor rather than in SMRAM upon entry to system management mode |
US12/550,737 | 2009-08-31 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012517932A Division JP5430756B2 (ja) | 2009-08-31 | 2010-08-02 | システム管理モードのためのプロセッサにおける状態記憶の提供 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014075147A JP2014075147A (ja) | 2014-04-24 |
JP5801372B2 true JP5801372B2 (ja) | 2015-10-28 |
Family
ID=43525352
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012517932A Expired - Fee Related JP5430756B2 (ja) | 2009-08-31 | 2010-08-02 | システム管理モードのためのプロセッサにおける状態記憶の提供 |
JP2013250360A Active JP5801372B2 (ja) | 2009-08-31 | 2013-12-03 | システム管理モードのためのプロセッサにおける状態記憶の提供 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012517932A Expired - Fee Related JP5430756B2 (ja) | 2009-08-31 | 2010-08-02 | システム管理モードのためのプロセッサにおける状態記憶の提供 |
Country Status (8)
Country | Link |
---|---|
US (4) | US8578138B2 (ja) |
JP (2) | JP5430756B2 (ja) |
KR (3) | KR101635778B1 (ja) |
CN (1) | CN102004668B (ja) |
BR (1) | BRPI1010234A2 (ja) |
DE (1) | DE102010034555A1 (ja) |
GB (1) | GB2510792A (ja) |
WO (1) | WO2011025626A2 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255594B2 (en) * | 2009-10-15 | 2012-08-28 | Intel Corporation | Handling legacy BIOS services for mass storage devices using systems management interrupts with or without waiting for data transferred to mass storage devices |
US8954790B2 (en) | 2010-07-05 | 2015-02-10 | Intel Corporation | Fault tolerance of multi-processor system with distributed cache |
US8819225B2 (en) * | 2010-11-15 | 2014-08-26 | George Mason Research Foundation, Inc. | Hardware-assisted integrity monitor |
US8892924B2 (en) | 2011-05-31 | 2014-11-18 | Intel Corporation | Reducing power consumption of uncore circuitry of a processor |
DE112011106032B4 (de) | 2011-12-22 | 2022-06-15 | Intel Corporation | Energieeinsparung durch Speicherkanal-Abschaltung |
AU2012375309A1 (en) * | 2012-03-30 | 2014-09-25 | Intel Corporation | Reporting malicious activity to an operating system |
JP2013214210A (ja) * | 2012-04-02 | 2013-10-17 | Nec Corp | フォールトトレラントシステム、cpuの動作周波数変更方法、及びプログラム |
US8984313B2 (en) * | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US9383812B2 (en) | 2012-09-28 | 2016-07-05 | Intel Corporation | Method and apparatus for efficient store/restore of state information during a power state |
KR20150112075A (ko) * | 2014-03-26 | 2015-10-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US9396032B2 (en) * | 2014-03-27 | 2016-07-19 | Intel Corporation | Priority based context preemption |
US20160170767A1 (en) * | 2014-12-12 | 2016-06-16 | Intel Corporation | Temporary transfer of a multithreaded ip core to single or reduced thread configuration during thread offload to co-processor |
US9977682B2 (en) * | 2015-12-09 | 2018-05-22 | Intel Corporation | System management mode disabling and verification techniques |
US9898351B2 (en) * | 2015-12-24 | 2018-02-20 | Intel Corporation | Method and apparatus for user-level thread synchronization with a monitor and MWAIT architecture |
US20210026950A1 (en) * | 2016-03-07 | 2021-01-28 | Crowdstrike, Inc. | Hypervisor-based redirection of system calls and interrupt-based task offloading |
US11182315B2 (en) * | 2017-02-10 | 2021-11-23 | Intel Corporation | Apparatuses, methods, and systems for hardware control of processor performance levels |
US10678909B2 (en) * | 2017-04-21 | 2020-06-09 | Vmware, Inc. | Securely supporting a global view of system memory in a multi-processor system |
US10990159B2 (en) * | 2017-04-25 | 2021-04-27 | Apple Inc. | Architected state retention for a frequent operating state switching processor |
US10528398B2 (en) * | 2017-09-29 | 2020-01-07 | Intel Corporation | Operating system visibility into system states that cause delays and technology to achieve deterministic latency |
US10552280B2 (en) | 2017-12-14 | 2020-02-04 | Microsoft Technology Licensing, Llc | In-band monitor in system management mode context for improved cloud platform availability |
KR102623918B1 (ko) * | 2017-12-25 | 2024-01-11 | 인텔 코포레이션 | 프리-메모리 초기화 멀티스레드 병렬 컴퓨팅 플랫폼 |
US11593154B2 (en) * | 2018-12-20 | 2023-02-28 | Intel Corporation | Operating system assisted prioritized thread execution |
KR20200114017A (ko) * | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
US11481206B2 (en) * | 2019-05-16 | 2022-10-25 | Microsoft Technology Licensing, Llc | Code update in system management mode |
US11119770B2 (en) * | 2019-07-26 | 2021-09-14 | Microsoft Technology Licensing, Llc | Performing atomic store-and-invalidate operations in processor-based devices |
US11385903B2 (en) | 2020-02-04 | 2022-07-12 | Microsoft Technology Licensing, Llc | Firmware update patch |
US11520653B2 (en) | 2020-10-15 | 2022-12-06 | Nxp Usa, Inc. | System and method for controlling faults in system-on-chip |
CN117331676B (zh) * | 2023-11-30 | 2024-03-19 | 上海兆芯集成电路股份有限公司 | 系统管理模式进入方法、处理器和计算机系统 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369771A (en) * | 1991-12-23 | 1994-11-29 | Dell U.S.A., L.P. | Computer with transparent power-saving manipulation of CPU clock |
US5357628A (en) * | 1992-03-25 | 1994-10-18 | Intel Corporation | Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt |
US5764999A (en) * | 1995-10-10 | 1998-06-09 | Cyrix Corporation | Enhanced system management mode with nesting |
US5819020A (en) | 1995-10-16 | 1998-10-06 | Network Specialists, Inc. | Real time backup system |
US5689698A (en) | 1995-10-20 | 1997-11-18 | Ncr Corporation | Method and apparatus for managing shared data using a data surrogate and obtaining cost parameters from a data dictionary by evaluating a parse tree object |
US6240414B1 (en) | 1997-09-28 | 2001-05-29 | Eisolutions, Inc. | Method of resolving data conflicts in a shared data environment |
US6571206B1 (en) * | 1998-01-15 | 2003-05-27 | Phoenix Technologies Ltd. | Apparatus and method for emulating an I/O instruction for the correct processor and for servicing software SMI's in a multi-processor environment |
US6766326B1 (en) | 2000-07-24 | 2004-07-20 | Resty M Cena | Universal storage for dynamic databases |
US6848046B2 (en) | 2001-05-11 | 2005-01-25 | Intel Corporation | SMM loader and execution mechanism for component software for multiple architectures |
US8032592B2 (en) | 2002-04-18 | 2011-10-04 | Intuit Inc. | System and method for data collection and update utilizing surrogate e-mail addresses using a server |
EP1550192B1 (en) | 2002-09-09 | 2009-11-11 | Dell Marketing USA L.P. | System and method for application monitoring and automatic disaster recovery for high-availability |
US7152169B2 (en) * | 2002-11-29 | 2006-12-19 | Intel Corporation | Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state |
US7219241B2 (en) | 2002-11-30 | 2007-05-15 | Intel Corporation | Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode |
US7117319B2 (en) | 2002-12-05 | 2006-10-03 | International Business Machines Corporation | Managing processor architected state upon an interrupt |
JP2004220070A (ja) * | 2003-01-09 | 2004-08-05 | Japan Science & Technology Agency | コンテキスト切り替え方法及び装置、中央演算装置、コンテキスト切り替えプログラム及びそれを記憶したコンピュータ読み取り可能な記憶媒体 |
US7380106B1 (en) | 2003-02-28 | 2008-05-27 | Xilinx, Inc. | Method and system for transferring data between a register in a processor and a point-to-point communication link |
US7251745B2 (en) | 2003-06-11 | 2007-07-31 | Availigent, Inc. | Transparent TCP connection failover |
US7363411B2 (en) | 2003-10-06 | 2008-04-22 | Intel Corporation | Efficient system management synchronization and memory allocation |
US7617488B2 (en) | 2003-12-30 | 2009-11-10 | Intel Corporation | Method and apparatus and determining processor utilization |
US7653727B2 (en) | 2004-03-24 | 2010-01-26 | Intel Corporation | Cooperative embedded agents |
US8996455B2 (en) | 2004-04-30 | 2015-03-31 | Netapp, Inc. | System and method for configuring a storage network utilizing a multi-protocol storage appliance |
US7487222B2 (en) | 2005-03-29 | 2009-02-03 | International Business Machines Corporation | System management architecture for multi-node computer system |
US7818388B2 (en) | 2005-10-07 | 2010-10-19 | International Business Machines Corporation | Data processing system, method and interconnect fabric supporting multiple planes of processing nodes |
US7433985B2 (en) * | 2005-12-28 | 2008-10-07 | Intel Corporation | Conditional and vectored system management interrupts |
US20070156960A1 (en) | 2005-12-30 | 2007-07-05 | Anil Vasudevan | Ordered combination of uncacheable writes |
US8973094B2 (en) | 2006-05-26 | 2015-03-03 | Intel Corporation | Execution of a secured environment initialization instruction on a point-to-point interconnect system |
US20080040524A1 (en) | 2006-08-14 | 2008-02-14 | Zimmer Vincent J | System management mode using transactional memory |
US7555671B2 (en) | 2006-08-31 | 2009-06-30 | Intel Corporation | Systems and methods for implementing reliability, availability and serviceability in a computer system |
JP4802123B2 (ja) | 2007-03-07 | 2011-10-26 | 富士通株式会社 | 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体 |
US20090037932A1 (en) * | 2007-08-01 | 2009-02-05 | Clark Michael T | Mechanism for broadcasting system management interrupts to other processors in a computer system |
US7831858B2 (en) | 2007-08-31 | 2010-11-09 | Intel Corporation | Extended fault resilience for a platform |
US7962314B2 (en) | 2007-12-18 | 2011-06-14 | Global Foundries Inc. | Mechanism for profiling program software running on a processor |
US7996663B2 (en) | 2007-12-27 | 2011-08-09 | Intel Corporation | Saving and restoring architectural state for processor cores |
US7913018B2 (en) * | 2007-12-28 | 2011-03-22 | Intel Corporation | Methods and apparatus for halting cores in response to system management interrupts |
US7802042B2 (en) * | 2007-12-28 | 2010-09-21 | Intel Corporation | Method and system for handling a management interrupt event in a multi-processor computing device |
US7991933B2 (en) * | 2008-06-25 | 2011-08-02 | Dell Products L.P. | Synchronizing processors when entering system management mode |
-
2009
- 2009-08-31 US US12/550,737 patent/US8578138B2/en active Active
-
2010
- 2010-08-02 KR KR1020137013562A patent/KR101635778B1/ko active IP Right Grant
- 2010-08-02 KR KR1020127008044A patent/KR101392109B1/ko active IP Right Grant
- 2010-08-02 KR KR1020137013566A patent/KR101572079B1/ko active IP Right Grant
- 2010-08-02 WO PCT/US2010/044089 patent/WO2011025626A2/en active Application Filing
- 2010-08-02 BR BRPI1010234A patent/BRPI1010234A2/pt not_active IP Right Cessation
- 2010-08-02 JP JP2012517932A patent/JP5430756B2/ja not_active Expired - Fee Related
- 2010-08-02 GB GB1122094.4A patent/GB2510792A/en not_active Withdrawn
- 2010-08-17 DE DE102010034555A patent/DE102010034555A1/de not_active Withdrawn
- 2010-08-31 CN CN201010277405.1A patent/CN102004668B/zh active Active
-
2013
- 2013-10-08 US US14/048,451 patent/US9465647B2/en active Active
- 2013-12-03 JP JP2013250360A patent/JP5801372B2/ja active Active
-
2016
- 2016-09-20 US US15/270,151 patent/US10169268B2/en active Active
-
2018
- 2018-01-17 US US15/873,089 patent/US20180143923A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US10169268B2 (en) | 2019-01-01 |
JP2012531680A (ja) | 2012-12-10 |
US9465647B2 (en) | 2016-10-11 |
GB2510792A (en) | 2014-08-20 |
KR101635778B1 (ko) | 2016-07-04 |
KR20120061938A (ko) | 2012-06-13 |
KR20130081302A (ko) | 2013-07-16 |
WO2011025626A3 (en) | 2011-07-14 |
KR101392109B1 (ko) | 2014-05-07 |
WO2011025626A9 (en) | 2011-05-26 |
US20110055469A1 (en) | 2011-03-03 |
US20140040543A1 (en) | 2014-02-06 |
CN102004668A (zh) | 2011-04-06 |
JP5430756B2 (ja) | 2014-03-05 |
CN102004668B (zh) | 2014-08-20 |
KR101572079B1 (ko) | 2015-11-27 |
BRPI1010234A2 (pt) | 2016-03-22 |
JP2014075147A (ja) | 2014-04-24 |
US8578138B2 (en) | 2013-11-05 |
KR20130081301A (ko) | 2013-07-16 |
GB201122094D0 (en) | 2012-02-01 |
DE102010034555A1 (de) | 2011-03-03 |
WO2011025626A2 (en) | 2011-03-03 |
US20180143923A1 (en) | 2018-05-24 |
US20170010991A1 (en) | 2017-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5801372B2 (ja) | システム管理モードのためのプロセッサにおける状態記憶の提供 | |
US10489317B2 (en) | Aggregation of interrupts using event queues | |
US10877766B2 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
TWI512448B (zh) | 用以啟用處理器等待狀態之指令 | |
US9423959B2 (en) | Method and apparatus for store durability and ordering in a persistent memory architecture | |
US11360809B2 (en) | Multithreaded processor core with hardware-assisted task scheduling | |
US20090037932A1 (en) | Mechanism for broadcasting system management interrupts to other processors in a computer system | |
WO2012026877A1 (en) | Context switching | |
US20140129784A1 (en) | Methods and systems for polling memory outside a processor thread | |
US11868306B2 (en) | Processing-in-memory concurrent processing system and method | |
US8490071B2 (en) | Shared prefetching to reduce execution skew in multi-threaded systems | |
US11640305B2 (en) | Wake-up and timer for scheduling of functions with context hints | |
US9396142B2 (en) | Virtualizing input/output interrupts | |
US10564972B1 (en) | Apparatus and method for efficiently reclaiming demoted cache lines | |
US20190377493A1 (en) | Supporting hierarchical ordering points in a microprocessor system | |
US20190205061A1 (en) | Processor, method, and system for reducing latency in accessing remote registers | |
JP3900499B2 (ja) | 再構成可能な、命令レベルのハードウェアによる高速化のためにマイクロプロセッサとともにfpgaテクノロジを使用する方法および装置 | |
US10051087B2 (en) | Dynamic cache-efficient event suppression for network function virtualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150331 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150629 |
|
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: 20150728 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150826 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5801372 Country of ref document: JP 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 |