摘要 |
非対称マルチプロセッサシステム2は、ハードウェアを介してはトランザクショナル・メモリをサポートしない1つ又は複数のプロセッサ・コア8のみならず、コントローラ14、16を介してトランザクショナル・メモリをサポートする複数のプロセッサ・コア4、6を含む。コントローラは、関連する処理要素が、ロック・アドレスに記憶されたロック値によって見張られたメモリ・トランザクションを現在実行しているかどうか判定することにより、ロック・アドレスへの排他的なアクセスを求める要求を受け取ったことに応答し、その処理要素が、そのようなトランザクションを実行している場合は、所定の条件が満たされるまで排他的なアクセスのためのロック・アドレスのリリースを遅延させる。処理要素が、そのような見張られたメモリ・トランザクションを実行していない場合は、ロック・アドレスは、排他的なアクセスのために無条件にリリースされ得る。所定の条件は、要求が受け取られてから閾値遅延が超過した、並びに/又は、要求は以前に受け取られており、且つ、閾値回数にわたって拒否されたということとすることができる。要求は、トランザクション開始命令を実行するプロセッサが、待ち状態のメモリ・トランザクションをまだ実行していない場合に、ロック・アドレスを記憶するアーキテクチャ・レジスタ76からロック・アドレスを読み取る役目をするトランザクション開始命令の実行を通して発生してもよい。プロセッサがすでにメモリ・トランザクションを実行している場合は、ロック値はすでにチェックされたと仮定し得るため、トランザクション開始命令は、ロック・アドレス・レジスタ76内に保持されたロック・アドレスに記憶されたロック値にアクセスする必要はない。 |