3,579,545 はマジック ナンバーです。これは、3 で割って元の IBM PC の 8053 タイマー チップに供給する前のヘルツ単位の周波数です。奇数に見える数字は偶然に選ばれたのではなく、米国と日本で使用されている NTSC TV システムのカラー バースト信号の周波数です。IBM のエンジニアは、発振器を実装するための安価な水晶を探していましたが、すべてのテレビ セットで使用されている水晶よりも安価なものはありませんでした。
IBM のクローンが広く利用可能になった後も、設計者が同じ周波数を選択することは依然として重要でした。多くの MS-DOS ソフトウェアは、その速度で時を刻むタイマーに依存していました。チップに直接アドレス指定することはよくある犯罪でした。
Windowsが登場すると、それが変わりました。Windows 2 のバージョンは、タイマー チップを仮想化した最初のバージョンです。つまり、ソフトウェアがタイマー チップを直接アドレス指定することはできなくなりました。プロセッサは保護モードで実行するように構成されており、I/O 命令を使用しようとする試みをインターセプトしました。代わりにカーネルコードを実行して、命令の戻り値を偽造できるようにします。複数のプログラムが互いに足を踏み入れることなく、タイマーを使用して複数のプログラムを実行できるようになりました。ハードウェアが実際にどのように実装されているかへの依存を断ち切るための重要な最初のステップです。
Win32 API (Windows NT 3.1 および Windows 95) は、API、QueryPerformanceCounter() および QueryPerformanceFrequency() を使用してタイマーへのアクセスを形式化しました。カーネル レベルのコンポーネントであるハードウェア アダプテーション レイヤーにより、BIOS はその周波数を渡すことができます。ハードウェア設計者は、正確な周波数への依存を実際に取り除くことが可能になりました。それには長い時間がかかりました.2000年頃には、大多数のマシンがまだレガシーレートを持っていました.
しかし、PC 設計のコストを削減するという果てしない探求は、それを終わらせました。現在、ハードウェア設計者は、たまたまチップセットですぐに利用できる周波数を選択するだけです。3,325,040,000 はそのような数値であり、おそらく CPU クロック レートです。そのような高周波は、安価な設計、特に AMD コアを搭載した設計では一般的です。あなたの数値はかなり異常です。あなたのマシンが安くなかった可能性があります。また、タイマーがはるかに正確であるため、CPU クロックには典型的な電子部品の許容誤差があります。