1. ホーム
  2. assembly

[解決済み] CPUのParity Flagは何のためにあるのですか?

2022-02-08 08:50:54

質問内容

一部のCPU(特にx86CPU)では、ステータス・レジスタにパリティ・フラグを備えています。このフラグは、演算結果のビット数が奇数か偶数かを示すものです。

パリティ・フラグは、プログラミングの文脈で実際にどのような実用的な役割を果たすのでしょうか。

余談ですが パリティビットと組み合わせて、基本的なエラーチェックを行うためのものだと思われますが、そのようなタスクはCPUフラグ全体を保証するほど珍しいものではありません。

どのように解決するのですか?

パフォーマンスが常に懸念されていたquot;old days"のころは、もっと理にかなっていたのです。また、通信のかなりの部分がシリアル通信であったため、パラレル通信よりもパリティが多く使用されていました。いずれにせよ、CPUが8個のXORゲートを使って計算するのは簡単ですが、それ以外の場合はCPUのサポートなしでは計算するのはかなり困難でした。ハードウェアのサポートがなければ、実際のループ(場合によってはアンロール)やルックアップテーブルが必要で、いずれも非常に時間がかかるため、コストよりもメリットの方が大きかったのです。しかし、今では、その名残があります。