2023-12-01から1ヶ月間の記事一覧

世界一簡単な物理レジスタ方式アウトオブオーダーCPUの作り方

この記事は自作CPU Advent Calendar 2023の24日目の記事です。 みなさんが使っているパソコンのCPUは、そのほとんどがアウトオブオーダー実行をしているはずです。 しかし、アウトオブオーダーCPUの作り方が書かれた教科書はあまりないような気がします。 ト…

0.1+0.2≠0.3について

浮動小数点数を扱う時に注意しなければいけない例として、0.1 + 0.2が0.3にならない、というものがあります。 具体的には、0.1 + 0.2が0.30000000000000004になってしまい、0.3にならないプログラミング言語が多数存在します。 この問題について、以下の記事…

gccが呼び出し規約に従わないコードを出力する例

アセンブリプログラムを書いていたら、遭遇したのでメモです。 さすがにプログラム全てをアセンブリ言語で書くのは大変なので、性能上重要ではないところはコンパイラのコード生成に任せて、性能上重要なところだけアセンブリプログラムで書くということはあ…