2021-01-02

anond:20210102185125

算術演算中にレジスターを使うのか?すごくわかりやすく言うと

加算に3クロックかかる場合、真ん中の1クロックがどうして、レジスターが空いていないんだ?

通常はレジスターからロード算術レジスターへのストアだから、真ん中の1クロックにはレジスター命令が通る

逆にレジスター命令中にどうやったら、レジスターが開くんだ?

記事への反応 -
  • どういうときがi++;がよくて どういうときがi=i+1;がよいか? というのがちゃんとおしえられるなら、いいんじゃないのか?

    • コンパイルしたら一緒じゃん

      • i++;はINC i=i+1;はADD CPU上の通る回路が違う。 通る回路が違うというのは、わかりやすく言うと、消費電力が違う。 そういうのも全部計算するのが厳密にはC言語

        • i++;というのはレジスター制御命令という命令を呼び出せということであり i=i+1;というのは算術命令を呼び出せ といういみであり1を加算しろというだけではない。 レジスター制御命令...

          • 算術命令だとレジスタを使わないと思ってるの?

            • 算術演算中にレジスターを使うのか?すごくわかりやすく言うと 加算に3クロックかかる場合、真ん中の1クロックがどうして、レジスターが空いていないんだ? 通常はレジスターから...

              • 今どきのコンパイラだとi++とi+=1は等価だよ つか変数にiを使ってる時点で老害ってわかる

                • 今どきのコンパイラっていうかCPUのISA次第だろ。 INCとADDをもつISAの場合アセンブリコードは変わってくるし。 マルチスレッド環境では後者の場合、排他制御も意識しなくてはいけない。

                  • INCとADDをもつISAの場合アセンブリコードは変わってくるし。 最適化により同じになるって話が理解できないアホ

        • INCとADDで回路が違うとか笑かす CPUが命令ごとにあるとか思ってんの? 最近の最適化が強力なコンパイラだとどっち使っても同じだよ

          • まともなプログラマなら大学で論理回路組んで4bitCPU作ったりコンパイラ自作したりすると思うけど、 テック○○とか数ヶ月で就業して断片的な知識しかないコーダーって将来どうすんの...

            • 60手前の高卒COBOLおじさんとかSES界隈じゃ見かけるしなんとかなんだろ

            • おじいちゃん、今は分業が進んでるからハードウェア(本質的にはソフトウェアだけど)はやらなくてもいいのよ

              • というかできない。だがそれは、レーサーが車のことをしらなくていいのよ。というのと同じ世界だ。 どうやってハードが動いているか?というのを理解して、なるべくハード様のため...

                • あるいみIntelよ汝が望むとおりにじゃじゃ馬を作れ、おれたちが乗りこなす。

                  • あの、アクセラレーションブーストがなぜ通常は遅くなるか?って思わないのか?アクセラレーションブーストは通常は遅くなる技術なんだよ。CPUよ汝が望むとおりに動け。

                • そこまでカリカリにやる必要がある人はプロでもごく一部だろ

                • そこまでカリカリにやる必要がある人はプロでもごく一部だろ

                • そこはミドル屋とかライブラリ屋の領分だな

            • テックの次の稼げる非士業を転々とするんだろうな

        • いや最近のコンパイラは賢いぞ

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん