コンピュータはなぜ動くのか。知っておきたかったハードとソフトの基本的な知識ばっかりだった。Part1

f:id:tnychor06:20190303142350j:plain

 

これまでPython, JavaScriptなどを学んでいてわからないことを調べていると、そもそもの前提知識として「Webサイトはどう動いているのか?」とか「配列はどのようにデータを保存しているのか?」など知らないから表面的な理解になっているなと感じることが多々ありました。

そしてその疑問を回収しようとググってみても「さっぱりわからない!」となって諦めることがめちゃくちゃありました。(もっと頑張れよ、と思うかもしれませんが本当にわからないんだもん...w)

たまたまTwitterで、コンピュータはなぜ動くのかという本が面白いというツイートを見つけたので買ってみました。

面白そうなのでゆっくりまとめながら書いてこうと思ってます。

 

 

前提として

筆者の意見としては、どんな難しい技術も基礎・原則がわかっていれば基礎・原則に当てはめて考えると理解できるみたいです。

これから学んでいく人はもちろん、そんなこと知ってるよという人も改めて読んでみると面白そうな本。

 

コンピュータの3大原則とは

3大原則なんてものがあるの?それは知りたい。

  1. コンピュータは、入力、演算、出力を行う装置である
  2. プログラムは、命令とデータの集合体である
  3. コンピュータの都合は、人間の感覚と異なる場合がある 

 当たり前のことだったりしますが、「つまりはどういうこと?」という問いにシンプルに答えるとこの3つになるとのこと。

 

コンピュータを作ってみよう

実際の回路図を使ってマイコン(自作コンピュータ)の擬似作成を行う。どことどこの配線を繋げれば良いのか丁寧に説明してくれる。

 例えば、CPU, メモリー, I/O(LEDやキーボードなど周辺装置と入出力するデータを一時的に記憶する)でのデータと命令のやりとりも、データをどこのアドレスに入出力するのかを明示する必要がある。

配線の数は多いけど部品の構造に合わせて配線を組むので意外とシンプルだったかもと思えてきました。

ここまでハードウェアの組み立てが完了したので、次章からマシン語とかアセンブリ言語などのソフトウェアの話になってきます。

 

Part1はとりあえずここまで。

時間が足りなかったので、以降の章も少しずつ更新して行きたいと思います。

つづく...

 

コンピュータはなぜ動くのか?知っておきたいハードウエア&ソフトウエアの基礎知識?

コンピュータはなぜ動くのか?知っておきたいハードウエア&ソフトウエアの基礎知識?