Yona’s blog

思いついたらなんか書く

技術本レビュー(沖縄高専ICT委員会アドカレ2022)

この記事は沖縄高専ICT委員会アドベントカレンダー2022の2日目の記事です。

1日目はふんどくんさんが担当してくれました。 しっかりプロジェクト管理しているようで、頼もしいですね。ちなみに僕は耳が痛くなりました。

hundo.hatenablog.com

4日目はぱるふぇさんが担当してくれます。
夜中に記事を書いているときに寿司の話をされてお腹が空きました。

// ここにURLを貼る

palufe0521.hatenablog.com

自己紹介

ICT委員会の皆さんこんばんは。沖縄高専9期OBのYona(Twitter@YonaThrone_0000)です。 現ICT委員会のほとんどの人と面識がいないので雑自己紹介しときます。

  • 26歳 社会人独身男性
  • 9期本科情報、9期専攻科電子卒業
  • 研究室はymd研所属してた
  • procon27/28に参加
  • 起業家甲子園2016のプログラムでアメリカへGO
  • 社会人4年目で今は友達の会社で働いてる
  • 学生時代は電子回路が好きだった

なぜ三年ぶりに?

ICTアドカレには3年ぶりの投稿となります。今年は久々にICT委員会と関われたので何か書く気になりました。 (夏頃、沖縄高専に凸したりictLT聴講したり関東でほなふく君に会ってICTの話聞いたり)

去年と一昨年は「何も書くことないなあ」とか「OBだしなあ」とか思っていましたが、 ある日、某Discordで電子回路関連の本についてレビューを投稿したとき気づきました。 「これ後輩に見せたほうが良いのでは」

なに書くの?

社会人になっても電子回路とかが好きなままだったので、いろいろと書籍を読みました。 読んだ技術書の中で、学生時代に読みたかったもののレビューを書きたいと思います。

紹介する本リスト

紹介する本は以下5点です。③以外は沖縄高専の図書館にもあるので、冬休みの長期貸出にいかがでしょうか?

①CPUの創り方

論理回路が分かってて、電子回路としてのCPUの触りを知りたいならこちらの本がおすすめ。
情報科3年はコンピュータアーキテクチャの授業で後期にCPUを作成すると思いますが、前期のうちでこれを読んでおくといくらか授業が楽しくなると思います。 1年生の知識で読めるので、低学年にもおすすめです。
終止おふざけ口調ですが、後半は気がつくとあれよあれよという間に計算機としてのCPUが完成する様は必見です。

https://www.amazon.co.jp/CPU%E3%81%AE%E5%89%B5%E3%82%8A%E3%81%8B%E3%81%9F-%E6%B8%A1%E6%B3%A2-%E9%83%81/dp/4839909865/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=&sr=

②自作エミュレータで学ぶx86アーキテクチャ コンピュータが動く仕組みを徹底理解!

C言語x86エミュレータ(IntelCPUっぽい挙動をするプログラム)を作成します。 ハードウェアを意識せず、C言語で表現するのでより抽象的なCPUの挙動がつかみやすいです。
メモリへのアクセスやCPUの挙動が記述されているので、C言語とCPUがどんなやり取りをしてプログラムを実行してるんだろう?的な疑問が解決できると思います。

https://www.amazon.co.jp/%E8%87%AA%E4%BD%9C%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%81%A7%E5%AD%A6%E3%81%B6x86%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%8C%E5%8B%95%E3%81%8F%E4%BB%95%E7%B5%84%E3%81%BF%E3%82%92%E5%BE%B9%E5%BA%95%E7%90%86%E8%A7%A3-%E5%86%85%E7%94%B0%E5%85%AC%E5%A4%AA/dp/4839954747/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1669895770&sr=8-1

③動かしてわかる CPUの作り方10講

こちらはFPGAというICチップに書き込める、プログラムとしてのCPUを作成します。 HDL(ハードウェア記述言語)を使っているので読みにくいかもしれません。 実際にチップに書き込まなくとも、ソースコードを読めればCPUがイメージできるかもしれません。

https://www.amazon.co.jp/%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%82%8F%E3%81%8B%E3%82%8B-CPU%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B910%E8%AC%9B-%E4%BA%95%E6%BE%A4-%E8%A3%95%E5%8F%B8/dp/4297108216/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=QJ0CFF8JNGGV&keywords=%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%82%8F%E3%81%8B%E3%82%8B+CPU%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B910%E8%AC%9B&qid=1669895778&qu=eyJxc2MiOiIwLjAwIiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%82%8F%E3%81%8B%E3%82%8B+cpu%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B910%E8%AC%9B%2Caps%2C158&sr=8-1

④ディジタル回路設計とコンピュータアーキテクチャ 第2版

こちらは電子回路の教科書に使えるレベルの本で、ハードウェアの面からコンピュータを構築していきます。
コンピュータそのものを支えている電子回路、半導体、物理学などを浅く広く取り扱うので、コンピュータアーキテクチャを俯瞰するには良いかも?
半導体の話・電子回路素子の話・コンピュータアーキテクチャの話で構成されているので、情報学科本科3、4年生向けだと思います。
後半は③と同じく、HDL(ハードウェア記述言語)で書かれているので、雰囲気だけつかむように読むとコケずに済むかもしれません。

https://www.amazon.co.jp/%E3%83%87%E3%82%A3%E3%82%B8%E3%82%BF%E3%83%AB%E5%9B%9E%E8%B7%AF%E8%A8%AD%E8%A8%88%E3%81%A8%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E7%AC%AC2%E7%89%88-Sarah-L-Harris/dp/4798147524/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1669895785&sr=8-1

⑤コンピュータの構成と設計 MIPS Edition 第6版 上・下

コンピュータアーキテクチャの教科書の王道といえばこれです。 コンピュータ技術の基礎であるコンピュータの歴史やプログラミング言語の歴史についても触れてるので、学問を俯瞰するのにもおすすめです。 実際に動作する命令セットを学習しつつ、並列処理などにも進んでいくので、命令セットとしてのコンピュータアーキテクチャの学習に向いてます。
情報本科3年生はこの書籍の上巻を3年生で教科書として(多分?)買うはずなので、興味があれば低学年でも上巻を先読みとか高学年になったら下巻まで読むというのもおすすめです。

https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E6%A7%8B%E6%88%90%E3%81%A8%E8%A8%AD%E8%A8%88-MIPS-%E7%AC%AC6%E7%89%88-David-Patterson/dp/4296070096/ref=tmm_hrd_swatch_0?_encoding=UTF8&qid=1669895791&sr=8-3

レビューが簡素になってしまったので再挑戦したく思います

本当はもっと一冊ごとに内容を濃く書きたかったんですが、読んだのが半年ぐらい前なのと読んだ感想とか残してなかったのが敗因ですね。 (余裕があれば)読み直してまた別日に投稿しようと思うのでよろしくお願いします。

明日の4日はパルフェさんが担当してくれます。

// ここにURLを貼る

palufe0521.hatenablog.com