Windows 9x用に開発された古のソフトウェアや、そこまで古いものではないにしても数年前のプログラムを最近のPCで動かしてみて、一見動いているように見えるけれども不特定のタイミングでクラッシュしてしまったり、だんだんと動作がおかしくなったりするといった経験をしたことはないでしょうか。 ここでは、マルチコアプロセッサ環境で生じやすい問題と、その問題を解消できる可能性のある対策について説明します。ただし、プログラムの実装がわからない場合、このページで述べる対策は問題を「解消できる可能性がある」というだけで、確実な解決法であるとは限らないことに注意してください。 タイムスタンプカウンタ(TSC) Intel Pentium以降のx86プロセッサは、タイムスタンプカウンタ(TSC)と呼ばれる高精度カウンタを持っています。このカウンタはプロセッサのハードウェアリセット時*1に0にリセットされ、1