名前はまだない

とりあえずの思考や学習のアウトプットの場

脱初心者向けのLinux/セキュリテイ系の本について調べたのでまとめた

0. はじめに

という、プログラミング初学者におすすめされる低レイヤー系の定番の入門書たちを読み進めていたが、案外早く終わりそうなので次に読む本を調べてみた。以下はそのまとめ。

主にこちらの2つのサイトを参考にしつつ、実際に書店で手にとって検討した。

続きを読む

CPUの創り方を読んだ

CPUの創り方を読み終わったので、所感を記しておく。本書の内容に何かオリジナリティのある情報を加えたわけでもないけど、ブログなんてそんなもん。

学んだこと

  • CPUは転送命令を繰り返すだけのロジックで、転送途中に演算回路を経由することで演算を行っている

  • クロックの重要性(クロックがすべての命令の基準)

  • 機械語を学ぶことはCPUの挙動を理解する上で役に立っていた

  • 本書のように簡易なCPUを実際に作ることはプログラム力の向上に直接的に繋がらなかった(作っていはいないけど)

ということで、これを足がかりに他のことを学んだほうが良いと思った。まあデジタル回路の入門書みたいな位置づけなので当たり前なんだろうけど。ただ、これをきっかけに色んなことを学べば、自分で何でも作れそうな気もした。これに比べたらRaspberry PiをいじるとかIoT機器を活用するとか余裕そう。

感想

ホコリや手垢で電気が流れたり、配線の線自体に微小な抵抗があったり、回路というものがあまりにも繊細すぎて自分には向いていないと思った。ソフトウェア上で回路を設計するほうがまだ向いてそう。一方で、論理演算の組み合わせで回路を作っていくのが、ロジックを組み立てて何かを発言するのと似ている気がして、そのあたりは自分に向いてる気がした。

とりあえずx86アーキテクチャを勉強して、FPGAに手を出しつつ自作OSにも取り組んでみようと思う。

以上。

プログラムが動く仕組みをまとめた

はじめに

プログラムが動く仕組みをまとめた。 Z80エミュレータで実際に手を動かす部分までまとめたフルバージョンは、Qiitaに投稿した。

qiita.com

以下では、コードにかかわらない基本的な知識の説明を転載しておく。 Qiitaとの最適な使い分けってどうするのか謎すぎる。

対象読者

  • パソコンそのものの仕組みに少しでも興味がある人
続きを読む

FPGAとは何か〜学習の始め方までを調べたのでまとめた

0. はじめに

FPGAとは何か〜学習の始め方までを調べたのでまとめた。  

調べるに至った背景は以下の通り。

機械学習の勉強をしていたがなんかしっくり来なかった
→とりあえずプログラム自体に疎すぎたのでC言語の勉強を始めた
アーキテクチャの理解が必要だと思い機械語やCPUなどハード寄りの勉強を始めた
→自作CPUについて調べていると回路の書き換え可能なFPGAなるものの存在を知る
FPGAに手を出すか悩んでいる(今ココ)

到達目標

  • FPGAとは何か、その仕組みとメリットを簡単に話せる程度に理解する
  • FPGAを自分が勉強したいかどうか判断できるようにする
  • FPGAを勉強する場合どの教材と開発キットを採用するか決める
続きを読む