プロセッサ製造業者のプラットフォームから独立したコードに対応する半導体一体化コードSICを記憶するための不揮発性記憶手段であって、前記SICは、プロセッサ手段及び前記プロセッサ手段をメモリ手段に接続する少なくとも一つのリンクを初期化するために埋込型プロセッサロジックを含む、不揮発性記憶手段と、前記メモリ手段を初期化するための埋込型メモリロジック手段と、を有し、プロセッサリセットに応答し、かつ、オリジナル製品製造者OEMのプリブートコードに制御を提供する前に、前記SICが実行される、装置。前記SICをロードするためのイニシャルプログラムローダIPLを更に有し、前記IPLは、前記プロセッサ手段のマイクロコードからランチされ、前記IPLは、前記SICを認証し、かつ、その後、前記SICをランチする、請求項1記載の装置。前記IPLは、前記SICの位置をポイントするポインタを含むエントリを有するファームウェアインターフェーステーブルFITにアクセスする、請求項2記載の装置。前記SICは、前記不揮発性記憶手段へ組み入れるために、バイナリとして前記OEMに提供され、前記不揮発性記憶手段は、OEM基本入出力システムBIOSを含んでいる、請求項3記載の装置。前記不揮発性記憶手段は、複数のSICレビジョンを含み、前記複数のSICレビジョンの各々は、対応するSICデータモジュールに関連づけられており、前記IPLは、前記FITのエントリに基づいて、ランチするために、前記複数のSICバージョン及びSICデータモジュールのうちの1つを選択する、請求項4記載の装置。前記SICデータモジュールは、プロセッサ製造業者データ、OEMデータ、及びエンドユーザデータを含み、前記OEMデータ、及び前記エンドユーザデータは、プラットフォームに依存する、請求項5記載の装置。前記OEMデータは、前記不揮発性記憶手段に書き込まれる前に、前記プロセッサ製造業者によって署名された信頼されたデータである、請求項6記載の装置。前記不揮発性記憶手段は、複数のコアと、少なくとも一つのマイクロコードストアと、一体化されたメモリコントローラと、を含むプロセッサパッケージの中にある、請求項1記載の装置。前記SICは、前記プロセッサ手段のために、一部の前記メモリ手段を隔離し、前記隔離された部分は、オペレーティングシステムから見えない、請求項1記載の装置。前記プロセッサ手段は、前記隔離された部分に、バイナリトランスレータを記憶する、請求項9記載の装置。システムにおいて少なくとも一つのコンポーネントが前記システムに動的に組み込まれる指示を受け取るステップと;前記指示に応答するオペレーティングシステムパワーマネジメントOSPMコードを介して、パワーマネージメントオペレーションを起動させるステップと;システムマネジメントモードに移行せずに、前記OSPMコードから半導体に一体化されたコードSICを呼び出すステップであって、前記SICは、プロセッサ製造業者のプラットフォームから独立したコードに対応し、かつ、前記SICを用いて、前記少なくとも一つのコンポーネントのイニシャライゼーションを実行する、ステップと;前記SICをアンロードし、かつ、前記OSPMに返すステップであって、前記SICはバイナリのモジュールとして、前記システムのオリジナル製品製造者OEMに、前記プロセッサ製造業者によって提供される、ステップと;を有する方法。前記SICを用いて、ファームウェアインターフェーステーブルFITのエントリに基づいて、SICデータモジュールにアクセスするステップ、を更に有する請求項11記載の方法。前記SICデータモジュールの情報を用いて、前記イニシャライゼーションを実行するステップ;を更に有する請求項12記載の方法。システムスタートアップにおいて、前記システムのプロセッサ及びメモリのイニシャライゼーションを実行するために、SICをランチするステップ;を更に有する請求項11記載の方法。前記イニシャライゼーションの実行の後に、SICによるメモリセットアップの隔離された部分に前記SICを記憶するステップ;を更に有する請求項14記載の方法。前記隔離された部分に記憶された前記SICを呼び出すステップ;を更に有する請求項15記載の方法。チップセットに周辺デバイスアドレスを合成し、前記OSPMコードによって前記周辺デバイスアドレスへのアクセスを介して前記SICを呼び出すステップ;を更に有する請求項11記載の方法。複数のコア及び不揮発性メモリを含むプロセッサ手段であって、半導体に一体化されたコードSICに対する前記不揮発性メモリは、前記プロセッサ手段の製造業者のプラットフォームから独立したコードに対応し、前記SICは、前記プロセッサと、前記プロセッサ手段をシステムメモリに接続する少なくとも一つのリンクと、を初期化するための埋込み型プロセッサロジック及び前記システムメモリを初期化する埋め込みメモリロジックを含み、前記SICは、プロセッサリセットに応答し、かつ、オリジナル製品製造者OEM基本入出力システムBIOSに制御を提供する前に、実行される、プロセッサ手段と;前記OEMのファームウェアを記憶するためのフラッシュメモリ手段であって、前記ファームウェアは前記OEMBIOSを含む、フラッシュメモリ手段と;前記プロセッサ手段に接続された前記システムメモリと;を有するシステム。前記SICを認証し、かつ、その後、ランチするためのイニシャルプログラムローダIPLであって、前記IPLは、前記プロセッサ手段のマイクロコードからランチされる、イニシャルプログラムローダIPL、を更に有する請求項18記載のシステム。前記SICは、システムオペレーションの間、前記プロセッサ手段の独占的使用のために、前記システムメモリの一部を隔離し、前記隔離された部分は、オペレーティングシステムから見えない、請求項19記載のシステム。例えば、システムをイニシャライズする情報は、通常、プロセッサの詳細、内部リンク、メモリ構造その他を含んでいる。そのような詳細は、レジスタの定義及びこのハードウエアとのインターフェースが含まれる。この情報は、OEM業者以外に、独立のBIOSベンダーIBVにも拡散する。x86コンピュータシステムのIBV及びOEMの世界は比較的狭いものであった。この頃は、プロセッサ及びその他の拡張されたシリコンコントローラは、異なるタイプのシステムやデバイスに組み込まれていた。しかしながら、この世界は、今や大きく拡大し、IPの懸念やサポートに対する弊害が発生するようになってきた。一実施例によれば、プロセッサ製造業者のプラットフォームから独立したコードに対応する半導体一体化コードSICを記憶するための不揮発性記憶手段であって、前記SICは、プロセッサ手段及び前記プロセッサ手段をメモリ手段に接続する少なくとも一つのリンクを初期化するために埋込型プロセッサロジックを含む、不揮発性記憶手段と、前記メモリ手段を初期化するための埋込型メモリロジック手段と、を有し、プロセッサリセットに応答し、かつ、オリジナル製品製造者OEMのプリブートコードに制御を提供する前に、前記SICが実行される、装置が提供される。様々な実施例において、初期のイニシャライゼーションは、密接に基本的なプロセッサハードウエアに結びついている。このため、シリコン製造業者が初期のイニシャライゼーションソフトウエアをコントロールし、かつ提供する。これは、OEMBIOSによりインプリメントされない。このシリコン一体化コードは、コードをロードする環境において用いられる。そして、これは、供給元を保証し、このSICの実行後、OEMBIOSに、シームレスな形で制御が引き渡される。このSICは、ローレベルの態様のメモリイニシャライゼーションを実行するために用いられてもよい。例えば、アナログリンクがセットアップされるトレーニング、診断及びフックのテストのデザインが挙げられる。SICの中には、メモリコントローラ及び内部リンクのキーイニシャライゼーション、そして、様々なプロセッサ及びシステム機能の基本的なランタイムサポートが含まれる。なお、本発明の技術的範囲はこの点に限定されない。ある実施例においては、このコードの信用のルートrootoftrustは、プロセッサマイクロコードのフックを介して提供される。このマイクロコードは、SICローダをインプリメントし、認証し、そしてSICをロードする。これは、シリコン製造業者のBIOSに存在し、その後、OEMBIOSに制御が渡される。OEMBIOSのアップグレードの試みがなされるため、例えばフラッシュメモリに組み込まれたファームウェアが脅威となる。したがって、SICローダをランチするプロセッサパッケージ内のコアマイクロコードの信用のルートは、その後に実行されるSICを含むOEMBIOSのブロックが有効であることを保証するために利用される。SICが実行された後、制御がOEMBIOSに渡される。このOEMBIOSは、オープンソースコードの、UEFIUnifiedExtensibleFirmwareInterface例えば、2006年2月26日のUEFI仕様書バージョン2.0に従ってインプリメントされてもよい。あるいは、IEEEオープンファームウエアインスティテュート1275-1994に従ってインプリメントされてもよい。あるいは、従来のBIOSまたは、専用のOEMブートコードによりインプリメントされてもよい。これらは、複数のOSをブートすることができる。ある実施例では、このSICは、パッチを実行するために利用されてもよい。例えば、エラーを回復したり、バイナリ変換を実行したりしてもよい。また、SICは、特定のメモリブロックのプロテクトの設定を行ってもよい。例えば、バイナリ変換のためのメモリブロックを隠したり、エラーのハンドリングを行ったり、OSからは見えず、かつランタイムの際に実行するシリコン製造業者によるその他のコードをハンドリングしてもよい。このようにして、プロセッサが、マイクロコードROMuROMオフロード、コプロセッササポート等のための予備のコードを使用し、マシンがサードパーティOEMコードを実行する前に、SICがこのメモリを提供するようにさせることによって、このメモリのサブセットをプロセッサが利用することを可能とする。様々な実施例において、SICは、例えばフラッシュあるいはその他の不揮発性メモリとして、OEMBIOSに組み込むために、バイナリーコードで提供されてもよい。あるいは、SICは、プロセッサパッケージの不揮発性記憶領域にインプリメントされてもよい。したがって、実施例において、プロセッサまたはその他のシリコン製造業者は、ソースコードではなく、バイナリモジュールを顧客に提供することができる。これによって、より強固なIP保護が提供される。更に、シリコンと共にBIOSビルディングブロックを提供することによって、顧客の数が増加しても、技術的なサポートのコストは軽減できる。図1は、本発明の一実施例に従った、プラットフォームから独立したplatformindependentBIOSのコンポーネントのブロック図を示している。これは、SICに組み込むことができる。プラットフォームから独立させることによって、内在するコンポーネントは、マシンの特徴例えば、メモリのタイプ、リンクスピード、利用できる電圧等に依存せずに、あらゆるプラットフォームにおいても実行できる。後述するように、これに代えて、プラットフォームに従属したものも、プラットフォーム製造業者データファイルによって記述しておくことができる。例としては、例えば、システムボード等の情報をパラメータとして規定することができる。サードパーティのコードに制御を渡す前に、基本的なイニシャライゼーション例えば、信用のルートを確立するリンクイニシャライゼーションを行う特定のコンポーネントをSICによって実行することができる。このSICによる時間的な隔離によって、パワーオンリセットの際に、プロセッサがハードウエアを所有していることの保証を提供する。そして、制御をサードパーティのコードに渡す前まで、SICコードのみが実行される。図1に示すように、SICコンポーネントは、イニシャルプログラムローダIPL20を含んでもよい。これは、サードパーティのコードの前にSICの残部を見つけ、ローディングする役目を果たす。なお、このローダはSICの一部と認識しなくてもよい。SICのコンポーネントは、一時的なものでありtransitory又は、永続的なものpersistentでもある。永続的なものとしては、アクティブなものプラットフォームイニシャライゼーションPIモジュールのように振る舞うもの又はパッシブなもの新しい命令を介するライブラリのように振る舞うものがある。図1の実施例において、SIC10は、埋め込まれた中央処理装置CPUロジックECL30を含む。これは、オンボードの相互接続などのインタープロセッサロジックをイニシャライズする。双方のリンクのトレーニング及びメモリイニシャライゼーションは、リンクの両端の間の通信を含む。リンクについては、プロセッサは、他のプロセッサ又は入出力IOハブに接続されてもよく、そして、データをやりとりするための最適な周波数及びリンク幅を決定することができる。このECLモジュールは、一時的transitoryなものであってもよい。ある実施例において、リンクイニシャライゼーションは、ローパワー状態からのレジュームオペレーションにおいて、メモリの内容にダメージを加えずに再実行されてもよい例えば、ACPIAdvancedConfigurationandPowerInterface仕様バージョン4.02009年6月6日。SIC10は、更に、メモリをイニシャライズするために、埋め込まれたメモリロジックEML20を含んでもよい。このコンポーネントは、ランタイムの間、一部は一時的なものであり、一部は永続的なものである例えば、温度スロットリングの取り扱い、又はエラーの取り扱いが挙げられる。メモリイニシャライゼーションは、アドレッシングを設定することを含む。異なるコンポーネントからは異なるメモリとして見えるviewsofmemory。例えば、CPUは、プロセッサ物理アドレスを持つ。ダイナミックランダムアクセスメモリDRAMは、DRAM物理アドレスを持ってもよい。そして、ある実施例では、プラットフォーム物理アドレスが手当てされてもよい。したがって、どのようにリンクアドレスデコーダがプログラムされているかによって、メモリの見え方は異なる。プロセッサのための隔離メモリsequesteredmemoryを確保するために、アドレスデコーダ及びメモリデコーダのサブセットが、そのプロセッサのためにプログラムされてもよい。この隔離したメモリは、システムオペレーションの際にプロセッサに対して独占的に使われてもよい。そして、マイクロコードオフロード、バイナリトランスレータ、ライセンシング情報、管理情報等を格納してもよい。加えて、予約ロジックreservedlogic50は、プラットフォームに独立のロジックの他の機能をサポートするために用いられてもよい。実施例を図1に示したが、本発明はこの点に限定されるものではない。図2を参照すると、本発明の実施例に従ったブロック図が示されている。図2におけるシステム100は、ハードウエア及びソフトウエアの複数のレイヤを含んでいる。同様に、図に示されたハードウエアは概略であって、所定のシステムにおいては、更に多くのコンポーネントが存在してもよい。更に、ソフトウエア部分は、異なる位置に、複数のコンポーネントが記載されているが、SICの部分は、異なる実施例においては、異なる位置に存在しうる点に留意すべきである。このシステムの基本的なハードウエアに関しては、ハードウエア110は、1つ以上のプロセッサ、メモリ、入出力デバイス等の様々なコンポーネントを含んでもよい。しかしながら、図面を分かりやすくするために、図2の実施例には、幾つかのコンポーネントのみを示している。特に、コアにおける実行のため、プロセッサコア115及び対応するマイクロコード120が示されている。様々な実施例において、コア115は、マルチコアプロセッサの複数のコアを代表するものとして示されている。マルチコアプロセッサの各々は、自身のマイクロコード記憶領域を持っている。加えて、様々なインプリメンテーションにおいて、プロセッサパッケージは、更に、統合メモリコントローラIMC125を含んでもよい。これは、システムメモリ130に接続され、1つの実施例においては、デュアルインラインメモリモジュールDIMM例えば、ダブルデータレートDDR-3DIMMである。更に示されているように、IMC125は、周辺機器コントローラハブPCH135に接続されている。これは、更に他のデバイス、例えばTPMtrustedplatformmodule140及び周辺装置モジュール145に接続されている。様々な装置からPCH135への接続はLPClowpincountバスを介してなされてもよい。なお、本発明の技術的範囲はこれに限定されることはない。限定されたコンポーネントが示されているが、異なる実施例においては、更に多くのコンポーネントが存在してもよいことは言うまでもない。SICモジュール150は、プロセッサハードウエアと密接に接続されている。様々なインプリメンテーションにおいて、SICモジュールは、プロセッサパッケージ内に存在し得るフラッシュメモリのような不揮発性ストレージにインプリメントされてもよい。あるいは、SICモジュールは、バイナリの形式でプロセッサ製造業者からOEMに提供されてもよい。OEMにおいて、これをBIOSに組み込む。したがって、実施例によって、SICの実際の場所は異なる。1つの実施例において、SICは、OEMBIOSの一部であってもよい。例えば、マザーボードに装着されたフラッシュデバイスに統合されてもよい。あるいは、例示としては、SICモジュールは、別個のコードブロックとして示されてもよい。特に、複数のSICコードのレビジョン1521-152nを含んでもよい。すなわち、以下に詳述するように、SICはフィールドにおいてアップデートされてもよい。コードに加えて、SICには、様々なデータブロック1541-154nが存在してもよい。1つの実施例において、シリコン製造業者のポリシが、このSICデータブロックに組み込まれてもよい。これは、在庫管理ユニットSKU:stockkeepingunitに基づいてもよい。このような情報は、パーツの等級partgradingを示す電圧及び温度レーティング、サポートされる機能、及び/又は、温度―物理的シリコン特性が含まれてよい。これらの様々なコード及びデータブロックにアクセスするために、ファームウエアインターフェーステーブルFIT155が提供されてもよい。このコード及びデータブロックは、キーペア構成によってプロテクトされてもよい。様々な実施例において、SIC150は、暗号によってハードウエアに従属しており、かつ、ランチは、コアマイクロコード120によって調整されるmediated。更に、システムソフトウエアは、OEMBIOSの形式をとってもよい。これには、UEFI標準に基づくプリブートコードが含まれる。このコードは、様々なファームエアにボリュームに保存されてもよい。そして、セキュリティイニシャライゼーションコードSEC、プリEFIPEIコード、及び、ドライバ実行環境DXE及びブートデバイスセレクトBDSコードが含まれてもよい。論理的な説明をすると、これらのコードは、第1のコードモジュール160及び第2のコードモジュール170にセグメント化されてもよい。ファームエアボリュームは、不揮発性メモリの論理パーティションであり、これには、BIOS及びその他のローレベルソフトウエアが含まれてもよい。一般的に、モジュール160及びモジュール170の各々は、サードパーティが実行可能なコードを含むファームウエアボリュームであってもよい。第1のコードモジュール160は、OEMプラットフォームのイニシャライゼーションを実行するために利用されてもよい。そして、SICコードブロック162からメモリアパーチャmemoryapertureを取得する。制御は、その後、コードブロック164に渡され、物理的な存在の分析physicalpresenceanalysisを行い、セキュアなハッシュオペレーションを実行する。これによって、メインファームエアボリューム168の測定をする前に、セキュアなファームエアアップデートメカニズム166を実行することが可能となる。もし、全ての認証にパスすると、制御は第2のコードモジュール170に移る。これは、DXEコードを含んでもよい。そして、UEFIセキュアブロックモジュール174を実行してもよい。例えば、ACPIメモリに記憶された計測ログmeasurementlog176を使用する。そして、OSローダ及びドライバ185が実行されてもよい。これは、後にOS180をロードする。OSは、UEFI準拠のOSであってもよい。他の実施例において、1つ以上のオプションROM195を介して、レガシーOS190がインプリメントされてもよい。SICイニシャルプログラムローダのインプリメンテーションは、SICのプラットフォームへバインドするために選択されたアプローチに依存する。これについては、以下に詳述する。一実施例において、パッチアットリセットPRのオペレーションが発生する。この場合、プロセッサがパッチを実行すると、CPUのコアマイクロコード又は他のロジックは、CPUフラッシュ内またはOEMフラッシュ内に、SICセクションを探す。または、SICをランチするイニシャルプログラムロードIPLロジック内のコアパッチを介して、ランチする。CPUの外又はCPU認証されたエレメントに、SICが存在する場合、SICバイナリを正当と認めるために、ローディングの前に認証が実行されるさて、図3Aを参照すると、本発明の実施例に従った、SICをランチlaunchするフローを示している。図3Aに示されるように、オペレーションはプロセッサのリセットブロック210によって開始される。最小限のローレベルオペレーションが、リセットに応答して、プロセッサによって実行される。次に、コアマイクロコードによって、パッチがロードされてもよいブロック215。コアマイクロコードは、コアマイクロコードパッチをポイントしているFITポインタを含むファームウエアインターフェーステーブルにアクセスする。ある実施例において、テーブルは、IPLをポイントしてもよい。1つの実施例において、パッチメモリはFITをも含むOEMフラッシュにストアされてもよい。テーブルの各エントリは、所定のコードの位置をポイントしている。このパッチをロードした後、SICは、コアマイクロコードを介してランチされるlaunchedブロック220。異なるインプリメンテーションにおいて、パッチは、IPLを含んでもよい。IPLは、コアパッチロードの一部として検証される。そして、これは独自のインテグリティメカニズムを実行する。例えば、SICを検証する別個のキーペアである。1つの実施例では、IPLは、マイクロコードの一部であってもよい。したがって、図3Bに示すように、プロセッサのリセットブロック230、そしてパッチローディングブロック235の後、パッチの実行がなされる。これには、IPLブロック240が含まれ、これは、その後SICをランチlaunchするブロック250。他のインプリメンテーションにおいて、プロセッサリセットの時に、認証されたコードモジュールACM:authenticatedcodemoduleがランチされ、適切なシャットダウン、及び/又は、メモリにゼロを書き込むことzeroingmemoryoutを実行し、その後BIOSコードのランチlaunchがなされる。これらのオペレーションは、OEMBIOSにおいてハッシュの実行を含んでもよい。そして、認証されたコードモジュールによって、TPMへのアクセスが行われてもよい。このようなACMは、SIC又はIPLを埋め込むことができ、そして、例えばサードパーティBIOS内例えばマザーボードのフラッシュデバイスにSICを見つけられるようにする。したがって、他のインプリメンテーションにおいて、SICは、認証されたコードモジュールからランチされてもよい。図4Aには、本発明の他の実施例に従った、SICのランチのフローが示されている。ブロック310においてプロセッサがリセットされた後、ACMは、コアマイクロコードによってランチされてもよいブロック315。これに対して、SICは、ACMのクリーンシャットダウンにおいてランチされるブロック320。更に他のインプリメンテーションにおいては、IPLは、ACMのクリーンシャットダウンにおいてランチされてもよい。したがって、図4Bに示されるように、プロセッサのリセット後ブロック350、ACMがランチされブロック360、そして、ACMのクリーンシャットダウンにおいて、IPLがランチされブロック370、そして、SICがランチされるブロック380。SICの実行後、制御はBIOSSICはこの一部であるに移される。例えば、制御は、マシンのリセットベクトルに移される。そして、SICによって、FITエントリがアクセスされ、PIモジュールにおいて、UEFIエントリポイントを介して、OEMBIOSの実行が開始される。あるインプリメンテーションにおいて、利用できるPIコードが、SICの実行のために利用される。例えば、SECモジュールは、何らハードウエアの変更なしに、論理的にSIC_IPLとリネームされる。これは、図5Aに示されている。ここにおいて、プロセッサリセットブロック410で、IPLがランチされブロック415、そして、その後SICがランチされるブロック420。その他の方法としては、SICをイニシャライゼーションROMINITROMに埋め込むことである。すなわち、フラッシュは、結局のところ、サードパーティのBIOS又はOSアドレススペースにマッピングされないことになる。これは、図5Bに示されている。ここで、プロセッサのリセットブロック430において、IPLを含むINITROMが実行され、IPLは、SICをランチするブロック435、440及び450。更に他のインプリメンテーションにおいては、例えばPISEC又はINITROMによりプロセッサベースのコードを用いて、独立したSICのランチが行われる。SECの場合、認証は、SICのランチの後に行われる。すなわち、このアプローチでは、BIOSブートブロックが信用のコアルートCRTM:corerootoftrustを意味する。このモデルのセキュリティの検討は、SICのインテグリティを担保することが含まれる。すなわち、バイナリの出所は、シリコン製造業者である。SICを認証されたコードモジュール又はパッチにバインドすることは、これらのバイナリに既に使われているインテグリティの有効範囲を利用する1つのメカニズムである。あるいは、他のモデルとしては、SIC_IPLを上述のエンティティに統合することである。このSIC_IPLは、SICのインテグリティチェックを確保する責任を担うこととなる。しかし、リセット時にロードされるエラッタパッチerratapatchの残存するロジックextantlogic、BIOSACM、INITROM、又は他のリセットタイムに実行可能なものは、SICから分離decoupledされる。これは、アップグレードのメカニズムを可能とする。この場合、SICは、以前のバイナリエンティティとは異なる終了時期differentcadenceにおいて、変化する。このデカプリングdecouplingは、その場かぎりでadhoc混合された様々なバージョンのSIC_IPLホストモジュール及び連続したSICインスタンスがあることを意味するものではない。むしろ、チューブルtupleSIC_IPLホスト、SICは、一緒に検証される。これによって、SIC_IPLホスト及びSICのサポートされたバージョンが、アップデートを介してサポートされる。そのため、検証されていないコンビネーションを介して、ロールバック及び他のアタックにさらされることはない。シリコン製造業者によって初期のイニシャライゼーションの制御ができるようにするために、様々なデータモジュールが存在してもよい。一実施例において、全てのSICデータモジュールは、SICに関連しており、そして、プロセッサ製造業者、OEM、及びエンドユーザにより提供されたデータを含む。したがって、プロセッサ製造業者のデータに加えて、上述のように、SICプラットフォームデータエンコーディングPDE、すなわちプラットフォーム製造業者PMにより作られ、システムボード結合されたデータ構造にアクセスできてもよい。一実施例において、PDEは、UEFIPIプラットフォーム構成データPCD:PlatformConfigurationDataを含むことができなお、これに限られるものではない、例えば、ファームウエアインターフェーステーブルFITエントリによって参照される。PDEは、パワーマネージメントPMポリシ、及び発見できないnon-discoverable、ボードに特有なboard-specific情報を提供する。プラットフォームデータエンコーディングは、プロセッサがどのようにボードに組み込まれたかに関する詳細を提供する。例えば、ボードがファンレスデザインであるか否かである。この情報には、ベンダによってデザインされた周波数モード設定、特定のシステムマネジメントバスSMBUSのルーティング、メモリDIMM上のSPDserialpresencedetectEEPROMのアドレス等が含まれる。あり得る情報としては、PDEにおける誤った情報によって、SICが安全に失敗するということである。例えば、ベンダによる誤り、又は、ROMに対してアタックするマルウエアによる場合が挙げられる。他のモデルとしては、信頼されたPDEである。例えば、PMファシリティにおいてシリコン製造業者のツールを持つことによって、PMの入力を取り除き、リモートのシリコン製造業者のサーバを使ってPDEにサインし、それをPMに戻し、引き続きプラットフォームの統合を行うことである。PDEのほかに、出荷後post-shipに設定し、SICに移すことが挙げられる。これらは、プラットフォームオーナPOがもたらす典型的な変更である。特定のデータエンコーディング及び格納は、オーナデータエンコーディングODEと呼ばれる。このODEは、異なるシステムにおいて異なる場所で行われる。例えば、信頼されたコンピューティンググループTCGTPM不揮発性NVデータ位置そして、SICに予約されたNVインデックス、又はオーナがオーソライズしたその他の場所が挙げられる。このODEに存在するデータのタイプとしては、オーナの選択が含まれ得る。例えば、メモリインターリーブ、機能のイネーブル/ディスエーブル例えば、同時マルチスレッディングSMTが挙げられる。同様の課題がODEに関する信頼に対しても内在している。すなわち、ODEに対するオーナアップデートが悪意であったり、間違っていたりした場合、SICは、安全に失敗しなければならない。上述の検討は、SICのイニシャライゼーション時に焦点を当てたものである。実施例では、SICはランタイムの間においても利用される。例えば、信頼性、可用性、保守性RAS:reliability-availability-serviceabilityを目的とした利用性の高いサーバが挙げられる。特に、ブート/イニシャライゼーションの際になされる特定のオペレーション、例えば、リンクイニシャライゼーション、及びメモリイニシャライゼーションのコードは、ランタイムにおいても実行される。このランタイムのアクティビティは、全てACPIマシン語AMLフローに開示されてしまう。こんため、OSパワーマネージメントOSPMコードは、ファームウェアの力を借りずにアクションを実行することができる。しかしながら、実際には、これらのフローの多くは、システムマネジメントモードSMMのアシストを利用している。このSMMのインプリメンテーションは、ACPI及びチップセットアクションを補完するハンドラであり、DIMMのホットアッドによるメモリイニシャライゼーションなどのアクションを完了するものである。これは、ランタイムにおいてSICを必要とする。しかしながら、SMMハンドラはOEMの制御下にあるため、メモリイニシャライゼーションにおいて必要なIPは、OEMに共有される。これに対して、本発明の実施例を用いた場合、SICは、ランタイム時においてこのような開示をすることを避けることができる。図6を参照すると、本発明の実施例に従った、ランタイムSIC実行を行うための方法のフローが示されている。図6は、例えばホットアッドオペレーションのように、システムに対して動的な変更を提供する、高度に利用されるシステム上でのランタイムオペレーションの場合を示している。更に、図6の方法500は、ACPIフロー環境において利用される。この場合、制御は通常、SMMコンテキストで流され、ACPIリクエストをハンドリングするための特定のタスクを実行する。図6に示すように、方法500は、ホットプラグインディケーションを受け取るブロック510。このホットプラグインディケーションとは、新しいコンポーネントがシステムに加えられるインディケーションである。このようなコンポーネントは、マルチプロセッサシステムの新しいプロセッサ、追加メモリ等である。更に、図6の実施例では、ホットプラグオペレーションであるが、実施例は、システムへの他の動的な変更にも同様に適用できる。その例としては、例えば、取り除くイベント、フェイルオーバイベント等が挙げられる。ホットプラグインディケーションを受け取ると、パワーマネージメントオペレーションは、パワーマネージメントオペレーションがトリガーされ、ホットプラグイベントがハンドリグされるブロック520。このパワーマネージメントオペレーションは、ACPIインプリメントオペレーションであり、例えば、ACPIAMLフローに従う。従来においては、このようなフローは、SMMイベントをトリガーし、様々なタスクをハンドリングし、これらのタスク例えば、イニシャライゼーション等が、ホットプラグイベントの際に実行されていた。SMMモードは、所定のOEMによってインプリメントされているため、しかしながら、OEMは、基本的な例えばシリコン製造業者のIPにアクセスする必要がある。このため、様々な実施例において、これに代えて、パワーマネージメントオペレーションは、一時的なtransitorySICを呼び出すためのコードを含めるブロック530。この一時的なSICは、SMMが本来実行しなければならないイニシャライゼーション等の様々なタスクを実行する。更に具体的には、ブロック540に示すように、このSICは、例えばホットプラグコンポーネントなどのイニシャライゼーションを実行する。これは、1つ以上のFITエントリ及びパワーマネージメントオペレーションからの入力に基づいて実行される。例えば、ACPIAMLは、様々な入力情報を提供する。一実施例において、ACPIフローにおいて、インタープリタは、FITテーブルをアクセスすることができ、また、ACPIネームスペースにおけるルーチンSICモジュールを含ませる。そして、時間的アイソレーションを提供する。他の実施例において、ACPIは、コールバックのために、CPUドライバを起動することができる。そして、パッチモードを実行するようSICを起動する。あるいは、このSICモデルが認証されたコードモジュールである場合、EnterAccs命令を介して実行する。ACPIAMLを用いて、メモリへのリード又はライト、あるいは、入出力位置の探索IOlocationが実行される。したがって、一実施例においては、モードを示すために、人工的なsynthetic周辺デバイスアドレスが、チップセットに合成される。この状態において、AMLは、チップセットの部分と通信していると信じ、そしてチップセットは、実際にSICを起動する。他のアプローチとしては、初期の一時的なSICコードを実行しているとき、これは隔離したメモリsequesteredmemoryにストアされ、その後、この合成された周辺デバイスを通じて再度起動され、リロードされる必要はない。したがって、異なる実施例においては、このインディケーションに応答して、永続的なpersistentSICコードが実行されるか、あるいは、一時的なSICコードが実行される。イニシャライゼーション及び他のオペレーションの実行の後、一時的なSICは、アンロードされ、制御はパワーマネージメントオペレーションに返還される部録550。このようなパワーマネージメントオペレーション、例えば、ACPIAMLフローの継続的な実行は、システムによる追加的なコンポーネントの追加の準備をするためになされる。図6に、この典型的なインプリメンテーションを示したが、本発明はこれに限定されるものではない。上述のランタイムSICRT_SICオペレーションは、リセットベクトルから実行される上述のSIC本明細書ではブートタイムSICBT_SICと呼ぶと区別される。RT_SICは、SIC_IPLと類似した顕著なIPLプロセスを持つ。このプロセスは、正しいSICモジュールを検証し、これによってSICのコンテンツがシステムボード制作者に対し不可視であることを確保する。この目的のために、一時的なまたは永続的な二つのモジュールのうち少なくとも1つのランタイム起動がインプリメントされる。一時的なモデルにおいては、ACPIAMLフローが例えば、認証されたコードモジュールACMとしてランタイムバイナリモジュールを起動することができる。ACMとして構築されたランタイムSICは、FITからSICデータを参照することができ、かつ、そのイニシャライゼーションのアクションを実行することができる。しかし、実行後、それ自身はアンロードされる。このモードにおいて、ランタイムSICのインテグリティの保護に対して、危険にさらされる範囲windowは、単純にそのアクションの実行の間である。なお、プラットフォームに対する全時間に亘ってのSICの保護について心配することはない。これは、既に説明したブートタイムSICの信用モデルを補うものである。この例の場合、時間的なアイソレーションを採用している。すなわち、これは最初実行され、その後、自身をアンロードする。もう一つのランタイムサポートは、永続的なランタイムSICである。このモデルの場合、ブートタイムSICが付加的なIPLを持つ。すなわち、ランタイムSIC_IPLであり、これは、ランタイムコードの環境及び実行コンテキストを作る。ランタイムSICに対するポリシの入力は、コントロール/ステータスレジスタCSRを持つ人工的な周辺デバイスである例えば、PCIperipheralcomponentinterconnect。このSCRは、ランタイムアクションをパラメータ化する。例えば、ホットプラグ又は他の命令injunctionが挙げられる。これらのSCRは、ランタイム永続性SICruntimepersistentSICによって発行publishされる必要があり、SICは、これらのディレクティブdirectiveに従って動作する。すなわち、これらの機能capabilitiesに対するホストプラットフォームのインターフェースは、SCRを介する。したがって、これはホストに対してハードウエアのように見える。実行の内容は、プラットフォームの存続期間全体に渡って保護しなければならず、ランタイム永続性SICに対しては、トラストモデルは挑戦的なものであるため、CMAcryptographicmemoryapertureが、ランタイム永続性SICの実行環境をカバーするために用いられ得る。実施例は、更に、SICのアップデート及びマイグレーションを規定する。工場及びユーザの構成configurationを維持するため、プラットフォームのオーナ又は製造業者の設定が維持される。例えば、SIC_DATA_rev1からSIC_DATA_rev2の変更は安全なトランスフォーメーションであり、すなわち、SIC_DATA_rev2=TSIC_DATA_rev1である。このトランスフォーメーションTの一実施例としては、SIC_DATA_rev2には定義されていないSIC_DATA_rev1の工場設定のいかなるものも取り除き、そして、インテグリティ又は秘密性メタデータブロック例えば、暗号的な再署名、及び/又は、再暗号化の再生regenerationをSIC_DATA_rev2に適用する。また、セキュリティの目的から、SIC_IPL及びSIC_CODEは、以前のレビジョンへのアップデートの許可を回避するよう構成することができる例えば、SIC_CODE/CODE_revnを持つシステムにSIC_CODE/DATA_revn-1を適用することを回避する。この基本原理は、システムの導入のモデルは、プロセッサ又はチップセット製造業者がレビジョンn-1に存在するセキュリティ上の欠陥をレビジョンnによって製造業者がフィックスをリリースしてこれに対処したということである。アタックは、しばしばフィックスをリバースエンジニアリングして、レビジョンn-1へのアップデートをシステムに適用することを試み、エラーの再発を起こさせることを目論むものである。このような、SIC_CODE及びSIC_IPLにおけるアンチロールバックへの対処は、このようなアタックに対する保護を提供する追加的なポリシである。このようなアップデートは、後に発見された問題に対する検討である。シリコンの誤りerrata、セキュリティのフィクスは、カスタマーから報告された製品の欠陥に対処するため、プロセッサの出荷後の環境で見つかったもの、あるいは、利用上の不満例えば、パワー、パフォーマンス、フィックスによるものである。コアマイクロコード及びファームエアインターフェーステーブルFITの増大によって、SIC_CODE及びSIC_DATAブロックが複数許容されるようになった。このコード及びデータは、レビジョン識別子に加えて、それらの過去の暗号化メタデータモジュールの機密性のためのもの、インテグリティのためのCMA及び署名が用いられる。後者のレビジョンは、後者の過去の設定をマイグレートすることを仕組むために利用される。しかし、レビジョンは、コード及びデータが規定されたアクセス基準を持つようにするために使われる。例えば、過去のバージョンへのロールバック禁止は、アタックを回避することを目的とする。アタッカーは、既知のセキュリティ欠陥を持つ過去のSIC_CODE及びSIC_DATAを意図的にシステムに適用して、その後に指摘された脆弱性を再度導入することができる。図7を参照すると、本発明の実施例に従った、システムのブートタイムの概略ブロック図が示されている。図7に示されるように、このブートタイムフローは、複数のSIC実行の適切な1つを決定することを示している。図示するように、電源オンの最初のフェーズで、コアマイクロコード710の実行が開始される。このコアマイクロコードは、FIT722を探し、そして、1以上のSICモジュール724及び726を認証する。この認証は、異なる実施例において、様々な形態をとってもよい。例えば、あるインプリメンテーションにおいては、この認証は、ハッシュ例えばSHA-256の実行、及び/又は、暗号デジタル署名例えば、RSARivestShamirAdelman、ECCerrorcorrectioncoding、DSAdigitalsignaturealgorithmを含む。そして、プロセッサハードウエアにより、このハッシュ、及び/又は、デジタル署名と、プロセッサ又はチップセットの複合体に格納されたホワイトリスト許可されたもの及び/又はブラックリスト禁止されているものとを比較することにより、プラットフォームのオーナシップを確保する。このフェーズは、SICを利用するかのポリシ決定によるSICのランチによって終了する。図示するように、FIT722の1以上のエントリに基づいて、対応するSICデータ728と共に、複数のSICレビジョン724及び726の1つが選択され得る。上述のように、SICデータは、プラットフォーム製造業者エンコーディング、及び、エンドユーザエンコーディング、これに加えて、プロセッサ製造業者データエンコーディングが含まれてもよい。したがって、制御は、イニシャライゼーションROM720が実行される第2のフェーズに移される。シリコン一体化コードのサードパーティ由来thirdpart-dourcedの従来のアクティビティを実行することによって、シリコン製造者のオーソライズしたアクティビティが行われる。これには、SICをアップグレードすることに係るポリシ例えば、複数のSICコード及びデータブロックがある場合にいずれを使用すべきか及び、SIC自身のアクティビティのコンテンツを隠すことが含まれる。イニシャライゼーションROMはSICを含んでもよい。又は、SICは、プロセッサに対して外部ROM例えばOEMBIOSメモリに含まれてもよい。SICの実行は、プロセッサ、メモリ等に関連するリンクをイネーブルとする。制御は、第3のフェーズに移される。ここでは、一実施例において、UEFIファームエア730に基づいて、更なるプラットフォームのイニシャライゼーションが実行される。UEFIファームエア730は、セキュリティコード、実行前pre-executionイニシャライゼーション、及びDXEこれ735が含まれてもよい。これらのコードを実行するために、様々なデバイス、バス、又はサービスドライバ733b-nが実行されてもよい。このUEFIファームエアは、OEMBIOSにおいてインプリメントされてもよいことに留意すべきである。制御は、その後、UEFIインターフェースを介して、ブートマネジャ744によって実行されるブートデバイスセレクトBDSコード740aに移る。これによって、OSのブートが可能となる。SICは、一時的transitoryであり、第2のフェーズでのみ存在する。これによって、空間的及び時間的な隔離isolationが可能となる。図7には示されていないが、ランタイムの際に、このコード又はランタイムSICは、アクセスされ得ることに留意すべきである。例えば、プラットフォームマネジメントオペレーションのために利用されうる上述の様々な動的なイベントと同様である。図8には、本発明の実施例に従ったSICコードを実行する方法のフローが示されている。図示するように、方法800は、マシンのリスタートブロック810により開始される。特に、マイクロコードは、FITテーブルがアクセス可能か否かを判断するダイヤモンド815。もし、アクセスできない場合には、フラッグをセットし、FITテーブルからのローディングが不可能であることを示すブロック823。制御は、その後ブロック824に移り、ブート失敗によるリカバリ状態に入る。もし、インストールされたFITテーブルにアクセスできる場合、SICコードエントリが、最大のレビジョン番号に対応するか否かが判断されるダイヤモンド820。これがイエスであれば、イニシャルプログラムローダがランチされるlaunchedブロック825。IPLが成功した場合ダイヤモンド830、このSICが実行されるブロック840。不成功の場合には、制御は、ダイヤモンド835に移り、追加的なSICFITエントリが存在するかが判断される。存在する場合には、制御はブロック840に移動し、ここでFITエントリはインクリメントされそして、制御はダイヤモンド820に戻る。図8を更に参照すると、SICコードが実行されているとき、制御はダイヤモンド850に移る。そして、正当なSICデータが存在するかが判断される。例えば、1つ以上の認証手続に基づいてこれがなされるダイヤモンド850。もし、これが否定的であれば、制御は上述のブロック824に戻される。もし正当なデータモジュールが存在する場合には、制御は、ブロック855に移る。ここで、特定のシステムイニシャライゼーション、が実行され得る。これには、メモリイニシャライゼーション及びリンクイニシャライゼーションが含まれる。イニシャライゼーションの後、メモリ及びリンクは、自身の設定をテストするブロック860。次に、テストがパスしたか否かが判断されるダイヤモンド865。もし、そうでない場合には、リカバリに移行する。もし、テストをパスしたら、制御はブロック870に移る。ここで、全ての設定が、安全な変換transformationを介して、最新のSICデータにマイグレートされる。一実施例において、このような安全な変換では、SIC_CODEによって実行されるSIC_CODEは、以前のSIC_DATAの設定をマッピングし、かつ、次のSIC_DATAにマッピングする。これは、SIC_DATAブロックのインテグリティ基準値を再生成することを含む。制御は、その後、例えばOEMBIOSに移るブロック875。図8の実施例におけるこのような特定のインプリメンテーションを示したが、本発明の技術的範囲はこの点に限定されない。実施例は、コードによってインプリメントされ、そして記憶媒体に格納される。媒体に格納された命令は、命令を実行するシステムをプログラムするために使用される。記憶媒体としては、フロッピー登録商標ディスクを含むあらゆるタイプのディスク、光ディスク、個体ドライブSSD、コンパクトディスク読み取り専用メモリCD-ROM、再書き込み可能コンパクトディスクCD-RW、及び磁気光ディスク、半導体デバイス、例えば、読み取り専用メモリROM、ランダムアクセスメモリRAM、例えばダイナミックランダムアクセスメモリDRAM、静的ランダムアクセスメモリSRAM、EPROM、磁気光カード、又は、その他の媒体であって、電気的命令を格納するのに適した媒体が含まれる。限定された数の実施例に基づいて本発明を説明したが、当業者は、様々な変更及びバリエーションをこれらから導くことができることは言うまでもない。添付の請求項はこれらの全ての変更及びバリエーションをカバーし、本発明の技術的範囲に含まれる。