ブックマーク / zenn.dev/tetsu_koba (2)

  • RISC-Vのコードをqemuで実行しgdbで観察する

    RISC-VCPUの実機を持っていなくても、qemuを使えば実行することができるし、gdbでステップ実行することもできます。 RISC-V用のクロスgdbの準備 こちらの記事を見てください。 サンプルのCのソースコード この記事のものを使用しました。 #include <stdio.h> double AandW(int n) { double pi = 0.0; if (n < 32) { for (; n >= 0; --n) { double n4 = n * 4.0; double tmp = (2 / (n4 + 1) + 2 / (n4 + 2) + 1 / (n4 + 3)) / (1LL << 2 * n); pi += n & 1 ? -tmp : tmp; } } return pi; } int main() { printf("PI=%.15f\n", AandW

    RISC-Vのコードをqemuで実行しgdbで観察する
    natsutan
    natsutan 2023/02/01
    あとで
  • 「プログラマーのための CPU 入門」を読みました

    書の構成 第1章。「ふむふむ、このレベルから説明してくれるのか」 第2章の途中からギアアップしてきて、「スーパースカラ+スーパーパイプライン化」で現代のCPUの規模感のようなものを思い知ることになります。順調にCPUの中を流れる命令列はまるでナイアガラの滝のよう。 でもちょっとしたことでその流れは止まってしまい、そのペナルティの大きさを実感することになります。 第3章から第8章で、CPUの処理の流れを止めるさまざまな要因が語られていきます。 第9章は「マルチプロセッサ」。一段と複雑になる要因ですが、現代のCPUでは外せないもの。 第10章から第12章で、共有メモリ型マルチプロセッサでのマルチスレッドをするときの注意点が語られていきます。 第13章がまとめ。それ以降は付録です。 私としては第9章の「マルチプロセッサ」以降が非常に勉強になりました。ぼんやりとしかわかってなかったことがこれでク

    「プログラマーのための CPU 入門」を読みました
    natsutan
    natsutan 2023/01/28
    みんな読もう
  • 1