タグ

ブックマーク / w0.hatenablog.com (3)

  • FPGA で 8088 (D8088-2) を動かして自作PCをやる - w_o’s diary

    これまでのあらすじ : https://twitter.com/tanakmura/status/1280152564898557952 FPGAでHello World以上のものが書きたいという気持ちは前からあったので、この機会に少し実用的はHDLを書くことにした。 なにをやっているかの解説を書いておこう。 ソースは、 https://github.com/tanakamura/jisaku_pc_8088 ここにある(上のツイートでは、タイミング問題があってLED点灯しないことがあると書いてるが、これは多分改善してあるはず。) こういう昔のCPUは、CPU側の命令実行とバスが直結していて、ポインタ0x80 を読むと、CPUの足に、そのまま0x80が出てくる。それを正しくハンドリングして、有効な命令バイト列を返せば、8088を動かすことが可能だ。 この実装では、この足から出てくる信号をデ

    FPGA で 8088 (D8088-2) を動かして自作PCをやる - w_o’s diary
  • デバッグprintfの仲間達

    printfは複雑な挙動をするので信頼できないことが多い。おいつめられると以下のようなものをprintfがわりに使う。 デバッグwhile(1) コードが止まるかどうかを判定することでフローを確認する。マシン語数命令で完結するのでかなり信頼できる。OS無し環境でも使えるのが嬉しい。Windows環境下ではプログラムを終了させるのが面倒。副作用が無いので時間かかっているだけなのか判定できない。 デバッグ *(int*)0 = 0; (デバッグSEGV) プログラムが終了するかどうかを判定してフローを確認する。さらにcoreを吐かせたり、JITデバッグしたりしやすい。ライブラリを必要としないので、abortよりも信頼できるしバックトレースもきれいに出る。が、Windows GUIはたまに例外を握り潰してることがある気がする(やめてくれ) デバッグexit(1) プログラムが終了するかどうかでフ

    デバッグprintfの仲間達
  • Debunking the 100X GPU vs. CPU Myth (訳:GPUなら100倍速いという神話を覆す) - 2012-12-02 - J

    この記事は GPGPU Advent Calender の二日目の記事です。 二日目の内容がコレかよ!というみなさんのつっこみが編です。以下の内容はオマケとなります。 http://pcl.intel-research.net/publications/isca319-lee.pdf 時は2010年…くーだ使えば100倍とか1000倍とか速くなるんでしょ?なんでCPUそんな遅いの?などと、世界中でボロクソに言われたIntelは、ついにブチ切れて、「お前らは全員間違ってる!俺がその間違いを正してやる!」という内容の論文をISCAに投稿するのだった… という事情だったのかどうかは知らないですが、内容としては、↓このグラフが全てを物語っていて、 「GPUだと100倍速いとか言うけど、あれはCPUのコードを最適化してないからで、CPUも最適化すれば、平均たったの2.5倍しか速くならない」、という

    Debunking the 100X GPU vs. CPU Myth (訳:GPUなら100倍速いという神話を覆す) - 2012-12-02 - J
  • 1