宇宙誕生の少し前から宇宙終焉の少し先までを数で表す論文

この宇宙を数で表すことは出来るのか。

第1-6節 整数演算とフラグ


















目次

整数演算とフラグ

CPUが最も基本的に行う計算は
整数演算です。
加算・減算・論理演算・シフト演算は、
すべてCPU内部の演算装置で処理されます。

ALU(算術論理演算装置)の役割

整数演算は
ALU(Arithmetic Logic Unit)で行われます。

  • 加算・減算
  • AND / OR / XOR などの論理演算
  • 左シフト・右シフト

演算結果はレジスタに格納されると同時に、
フラグレジスタが更新されます。

フラグレジスタとは何か

フラグレジスタは、
演算結果の「状態」を示すための
特別なレジスタです。

数値そのものではなく、
条件判断に使われる情報を保持します。

代表的なフラグの種類

フラグ 意味
Zero(Z) 演算結果が 0 のときに立つ
Carry(C) 桁あふれ(繰り上がり)が発生したとき
Sign(S) 結果が負の値のとき
Overflow(V) 符号付き演算で範囲外になったとき

フラグと条件分岐

フラグは
条件分岐命令で利用されます。

たとえば、

  • 結果が 0 なら分岐
  • キャリーが立っていれば分岐
  • 負の値なら分岐

といった判断が、
フラグの状態を見るだけで行えます。

2の補数による負数表現

CPUの整数演算では、
2の補数が使われます。

2の補数を使うことで、
加算回路だけで
減算や符号付き演算を
統一的に処理できます。


  5  = 00000101
反転 = 11111010
 +1 = 11111011  (-5)


この仕組みにより、
ALUの構造は
非常にシンプルになります。

符号付きと符号なしの違い

同じビット列でも、

  • 符号なし整数
  • 符号付き整数

として解釈すると、
意味が変わります。

Overflow フラグは、
特に符号付き演算で
重要な役割を持ちます。

第6節のまとめ

  • 整数演算は ALU で行われる
  • 演算結果に応じてフラグが更新される
  • フラグは条件分岐の判断材料になる
  • 2の補数により演算回路が単純化される

次に読むべき節