見出し画像

「もっとCPUの気持ちが知りたいですか?」出版プロジェクトで考えていること

CPUと親しくなれる! 「もっとCPUの気持ちが知りたいですか?」出版プロジェクト! クラウドファンディングを実施中です。この文章を書いている時点で、566名の方に支援をいただき、達成まで残り34名となりました。ありがとうございます。

peaksのクラウドファンディングのページでは、伝えきれなかった話などをかいてみたいと思います。

どこまで知ったらCPUの気持ちが理解したって言える?

この本の出発点は「CPU関連の知識ゼロから出発して、どこまでCPUの内部構造を理解したら"CPUの気持ちが理解できた"って言えるのかな?」とふと思った疑問が出発点だったりします。ベースとなる同人誌版を執筆するにあたり「このあたりまで知っておけばよいのではないですかね」と過去の経験からいろいろ考えてみた結果、「パイプライン」「割り込み」など後半の章で解説している機能まで知っておけばよいのでは、となりました。ですので、本書ではそれらの機能について解説する予定です。

根拠としては個人の経験が元となってます。私自身、過去に家庭用ゲーム機向けにソフトウェアを開発していた事があります。その時は搭載されているCPUなどハードウェアを徹底的に理解してコードを書く、コンパイラが出力するコードを逆アセンブルして読んでコンパイラの癖を掴む、みたいな事を調べつつ開発していました。

それらの経験を通してソフトウェア開発する際におさえておくべきCPUの機能が見えるようになりました。その時の経験を元に本書の内容が構成されています。

言うまでもなく、現在のCPUは本書で解説する予定の機能以外にもさまざまな機能が搭載されてます。しかし、OSなど開発しない一般的なソフトウェア開発者にはあまり関係無いと考えて掲載を見送ってます。CPUに搭載される本書では触れない解説した本も数多く出版されているので、知りたい場合はそちらを当たってください、というスタンスです。本書はあくまで「ソフトウェア開発者が知っておくべきCPUの機能を解説している本」という立ち位置ですね。

知らない事を知るのは楽しい。が、限界はある

内容もCPUを解説している文章としては、かなり分かりやすく書いていきます。というのは、CPUについて学ぼうとしたが、とても苦労した人が多いという感覚を持っているためです。

プログラミングの経験もあり、次にCPUについて学ぼうとしたとします。が、CPUはハードウェアですから、プログラミングを学んだ際にはあまり出てこなかった技術、概念、用語が次から次へとポンポンと登場します。そのため理解に苦労したという人も多いのではないでしょうか。もう何度、心折れそうになったかといった具合に。例えていうなら、思い立って海外で一人旅を初めてみたが言葉が全然分からないので何にもできない、そんな感じかと思ってます。

本書のアプローチとしては、「ソフトウェア開発の知識を元にCPUを理解していく」「読んでる途中で心折れたら意味ないだろ」といった考えのもとで進めていく予定です。

そんな感じで、CPUについて完璧に理解することはできないが、ソフトウェア開発を行う際に知っておくべきCPUの機能は理解できる、そんな本となることを目指しています。

成立した暁にやりたいこと

このクラウドファンディングが達成できた暁には個人的に実施したいことがあります。この話、クラウドファンディングが未成立となった時に「実はこんなことを考えてました」なんて話をすると「そんな事を考えていたのなら、もっと早く言えよー」と言われそうな気がしたので。

クラウドファンディングが成立した暁には、本書の教育機関(大学、高等専門学校、専門学校を想定)への寄贈を私費にて行います。

別の言い方をすると収益の一部を社会に還元する、ってことですね。内容的にもプログラミングがある程度できる学生さんであれば理解できる本になると考えています。むしろ、学生さんに読んでもらいたい思いもあります。なので、教育機関に寄贈しよう、ということです。

現時点では、「電子+紙版で寄贈」「年内には発送」あたりを考えてます。数などの詳細は成立した後に詰めていき改めて告知したいと思います。

ということで

CPUと親しくなれる! 「もっとCPUの気持ちが知りたいですか?」出版プロジェクト! への支援を引き続きのご支援をよろしくお願いします。私に締め切りを下さい。

この記事が気に入ったらサポートをしてみませんか?