コンテンツを備える記憶媒体であって、前記コンテンツは、アクセス機械によって実行されると、前記アクセス機械に、マルチコアプロセッサの第1コアにおける命令を実行させ、依存関係を有するシンクの一部として、投機的キャッシュ内のデータのアドレスを決定させ、第2コア内の依存関係を有するソースによって、前記データに関連付けられた同期化ビットが設定された場合には、前記データへのアクセスするのを待たせる記憶媒体。アクセス機械によって実行されると、前記アクセス機械に、プロセッサ命令を実行することにより、前記同期化ビットを設定させるコンテンツを更に備える請求項1に記載の記憶媒体。アクセス機械によって実行されると、前記アクセス機械に、プロセッサ命令を実行することにより、前記同期化ビットを消去させるコンテンツを更に備える請求項2に記載の記憶媒体。前記依存関係を有するシンクは、ロード命令を含む請求項3に記載の記憶媒体。前記依存関係を有するソースは、ストア命令を含む請求項3に記載の記憶媒体。前記データと関連付けられた前記同期化ビットは、キャッシュラインビットを含む請求項3に記載の記憶媒体。前記データと関連付けられた前記同期化ビットは、キャッシュワードビットを含む請求項3に記載の記憶媒体。プロセッサ命令を実行することにより前記同期化ビットを設定させる前記コンテンツは、依存関係を有するソースアドレスが生成された場合に前記同期化ビットを設定するコンテンツを含む請求項3に記載の記憶媒体。命令を実行する第1コア及び第2コアを有するプロセッサと、データ及び前記プロセッサの命令を格納する投機的キャッシュと、順次命令を格納し、前記プロセッサに接続されるダイナミックランダムアクセスメモリDRAMと、別個の複数のスレッドを生成することにより前記順次命令を並列化し、依存関係を有するソースの前に同期化ビットを設定するべく、プロセッサ命令を挿入する投機実行エンジンとを備え、前記投機的キャッシュは、関連付けられたデータが依存関係を有するソースの影響を受けるかを示す前記同期化ビットを含み、前記同期化ビットが設定された場合には依存関係を有するシンクオペレーションをストールさせるシステム。依存関係を有するソースの後の前記同期化ビットを消去するべく、対応するプロセッサ命令を挿入する前記投機実行エンジンを更に備える請求項9に記載のシステム。前記依存関係を有するソースは、ストア命令を含む請求項10に記載のシステム。前記依存関係を有するシンクは、ロード命令を含む請求項10に記載のシステム。前記同期化ビットは、キャッシュラインビットを含む請求項9に記載のシステム。前記同期化ビットは、キャッシュラインワードを含む請求項9に記載のシステム。専用投機実行エンジンによって実行される方法であって、順次命令のセットから並列化されたスレッドを生成する段階と、依存関係を有するソースの前に同期化ビットを設定し、前記依存関係を有するソースの後に前記同期化ビットを消去するべく、前記スレッド内にプロセッサ命令を挿入する段階と、マルチコアプロセッサの複数のコアで前記並列化されたスレッドを実行する段階とを備え、前記同期化ビットは、設定されると、依存関係を有するシンクをストールする方法。前記依存関係を有するソースは、ストア命令を含む請求項15に記載の方法。前記依存関係を有するシンクは、ロード命令を含む請求項15に記載の方法。前記同期化ビットは、キャッシュラインビットを含む請求項15に記載の方法。前記同期化ビットは、キャッシュワードビットを含む請求項15に記載の方法。前記依存関係を有するソースの前に同期化ビットを設定するべく前記スレッド内にプロセッサ命令を挿入する段階は、依存関係を有するソースアドレスが生成された場合に前記同期化ビットを設定するべく、プロセッサ命令を挿入する段階を含む請求項15に記載の方法。様々な実施形態において、設定されるとキャッシュライン又はワードの読み出しをストールする同期化ビットを伴う投機的キャッシュspeculativecacheと共に、プロセッサについての説明がなされる。当業者であれば、このような構成により、投機の失敗及びそれに付随するスレッド破棄による非効率を防ぐことができることを理解できる。また、同期化ビットsynchronizationbitを設定及び消去するプロセッサ命令についても記載する。コンパイラは、データ依存関係を同期させるべく、これらの命令を利用してもよい。本発明は、更なる並列化及び/又はスレッド投機speculation機能を含んでもよいプロセッサ及びシステムで実施されることを意図している。図1は、本発明の一実施形態に係るシステムの一例を示したブロック図である。図1に示すように、システム100は、プロセッサ102、及び、ダイナミックランダムアクセスメモリDRAMのようなメモリ104を備えてもよい。プロセッサ102は、コア106~110、投機的キャッシュ112及び投機実行エンジン118を有してもよい。コア106~110は、互いに独立して命令を実行可能であってもよく、任意の種類のアーキテクチャを有してもよい。図では、3つのコアを含むように示されているが、プロセッサ102は、任意の数のコアを有してもよく、図示しないその他の構成要素又はコントローラを含んでもよい。一実施形態において、プロセッサ102は、システムオンチップSOCである。投機的キャッシュ112は、任意の数の独立したキャッシュを含んでもよく、また任意の数のエントリを含んでもよい。レイテンシの低いレベル1キャッシュとして、投機的キャッシュ112を、任意の階層レベルに任意のメモリ技術で実装してもよい。投機的キャッシュ112は、キャッシュライン又はキャッシュワード116と関連付けられる同期化ビット114を含む。同期化ビット114が設定されると、以下に詳細に説明するように、コアは、ライン又はワード116をロード読み込み不可能となる。これは、例えば、ロードが関連している格納を別のコアが実行していることから、不可能とされる。一実施形態において、同期化ビット114が設定されている場合にコアがキャッシュライン又はワード116からロードを行おうとすると、同期化ビット114が消去されるまでストールとなる。投機実行エンジン118は、例えば、以下に図4を参照して説明するように、スレッドレベル投機における動的データ同期のための方法を実装し、図2を参照して説明するようなアーキテクチャを有してもよい。投機エンジン118は、プロセッサ102とは別個に設けられてもよく、ハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組み合わせに実装されてもよい。図2は、本発明の一実施形態に係る投機実行エンジンの一例を示したブロック図である。図2に示すように、投機実行エンジン118は、並列化サービス202、並列化出力コード204及びシリアル入力コード206を含んでもよい。並列化サービス202は、シリアル命令を並列化しスレッドレベル投機における動的データ同期を付加する能力を有する投機実行エンジン118を提供してもよい。並列化サービス202は、スレッドレベルサービス208、同期化設定サービス210及び同期化消去サービス212を含んでもよく、これらはそれぞれ、順次命令から並列スレッドを生成し、依存するソースの前に同期化ビットを設定するべくプロセッサ命令を挿入し、依存するソースの後に同期化ビットを消去するべくプロセッサ命令を挿入する。並列化サービス202は、例えば、図3Aに示すようなシリアル入力コード206から、例えば、図3Bに示すような並列化出力コード204を生成してもよい。図3A及び図3Bには、本発明の一実施形態に係るソフトウェアコードの一例を示したブロック図が示されている。図3Aに示すように、順次命令300は、順次進行する様々なロード及びストアを含み、プロセッサの1つのコアにより実行されることを意図している。順次命令300は、投機実行エンジン118の順次入力コード206として機能してもよい。図3Bに示すように、並行化命令302は、投機実行エンジン118の並行出力コード204を表していてもよい。スレッド304~308は、コア106~110によって別個に実行可能であってもよい。スレッド304~308はそれぞれ、実行されると、ストア命令のような依存関係のあるソースの前に、特定のキャッシュライン又はワード116に対して同期化ビット114を設定するプロセッサ命令例えば、markcommaddrを含んでもよい。スレッド304~308はそれぞれ、実行されると、依存関係を有するソースの後の同期化ビット114を消去する対応プロセッサ命令例えば、clearcommaddrを含んでもよい。データ依存関係の一例がスレッド304及びスレッド308に示されており、依存関係にあるシンクは、依存関係にあるソースが同期化ビットを完了及び消去するのを待つ必要がある。この場合、ロード310は、ストア312が完了するまでスレッド308の進行をストール一時的に停止し、スレッド304が関連付けられた同期化ビットを消去する。図4には、本発明の一実施形態に係るスレッドレベル投機における動的データ同期のフローチャートが示されている。図4に示すように、方法は、順次命令から並列スレッドを生成する段階402から開始する。一実施形態において、順次命令300から並列命令302を生成するべく、スレッドサービス208が呼び出される。別の実施形態では、生成されるスレッド304~308の数は、少なくとも部分的に、プロセッサ内のコア106~110の数に依存する。方法は、同期化ビットを設定及び消去するプロセッサ命令を挿入する段階404へと続く。一実施形態において、同期化設定サービス210は、依存関係を有するソース、又は、アドレスが生成された時点の、依存関係の可能性があるソースの前の早い時点で、命令をmarkcommaddrスレッド304~308に挿入する。別の実施形態では、同期化消去サービス212は、依存関係を有するソース又は依存関係を有する可能性のあるソースの後に、命令clearcommaddrをスレッド304~308に挿入する。マルチコアプロセッサのコアで並列スレッドを実行する段階406で、方法が終了する。一実施形態において、スレッド304~308はそれぞれ、コア106~110で実行される。一実施形態において、コア106で実行されているスレッド304によって同期化ビット114が消去されるまで、コア110の実行がロード310で一時停止されてもよい。実施形態は、数多くの異なるシステムタイプに実装されてもよい。図5には、本発明の一実施形態に係るシステムのブロック図が示されている。図5に示すように、マルチプロセッサシステム500は、ポイントツーポイント接続システムであり、ポイントツーポイント接続550を介して互いに結合される第1プロセッサ570及び第2プロセッサ580を備える。図5に示すように、プロセッサ570及びプロセッサ580は各々が、第1及び第2プロセッサコアすなわち、プロセッサコア574a及び574b、並びに、プロセッサコア584a及び584bを含むマルチコアプロセッサであってもよい。プロセッサはそれぞれ、本発明の一実施形態に係る、動的データ同期化スレッドレベル投機ハードウェア、ソフトウェア及びファームウェを含んでもよい。図5に示すように、第1プロセッサ570は更に、メモリコントローラハブMCH572並びにポイントツーポイントP-Pインターフェース576及び578を有する。同様に、第2プロセッサ580は、MCH582並びにP-Pインターフェース586及び588を有する。図5に示すように、MCH572及び582は、プロセッサをそれぞれのメモリに、すなわち、それぞれのプロセッサに局所的に取り付けられているメインメモリ例えば、ダイナミックランダムアクセスメモリDRAMの一部分であってもよい、メモリ532及びメモリ534と接続されており、それぞれが本発明の一実施形態に係る拡張ページテーブルを含んでもよい。第1プロセッサ570及び第2プロセッサ580は、P-P接続552及び554をそれぞれ介して、チップセット590と接続されてもよい。図5に示すように、チップセット590は、P-Pインターフェース594及び598を含む。更に、チップセット590は、チップセット590と高性能グラフィックスエンジンと538とを接続するインターフェース592を含む。そして、チップセット590は、インターフェース596を介して第1バス516と接続されてもよい。図5に示すように、第1バス516には、第1バス516を第2バス520へと接続するバスブリッジ518と共に、様々なI/Oデバイス514が接続されてもよい。様々なデバイスが、第2バス520に接続されてもよく、一実施形態において、例えば、キーボード/マウス522、通信デバイス526、及び、コード530を含んでもよいディスクドライブ又はその他のマスストレージデバイスのようなデータ格納ユニット528が含まれる。更に、オーディオI/O524を第2バス520に接続してもよい。実施形態は、コードに実装されてもよく、また、命令を実行するようにシステムをプログラムするのに使用可能な命令を格納する記憶媒体に格納されてもよい。記憶媒体としては、特にこれに限定されないが、フロッピー登録商標ディスク、光ディスク、コンパクトディスクリードオンリーメモリCD-ROM、再書き込み可能コンパクトディスクCD-RW及び磁気光学ディスクを含むあらゆるディスク、並びに、リードオンリーメモリROM、ダイナミックランダムアクセスメモリDRAM及びスタティックランダムアクセスメモリSRAMのようなランダムアクセスメモリRAM、消去可能-プログラム可能リードオンリーメモリEPROM、フラッシュメモリ、電気的消去可能-プログラム可能リードオンリーメモリEEPROM、磁気又は光学カードのような半導体デバイス、又は、電気的命令を格納するのに適したその他の種類の媒体が含まれる。本発明が、限られた数の実施形態を参照して説明されたが、数多くの改良及び変更が可能であることは、当業者にとって明らかである。添付の特許請求の範囲は、本発明の精神及び範囲におけるこのような改良及び変更も含むことを意図している。